zastosowanie metody logiczno- algebraicznej i technik
Transkrypt
zastosowanie metody logiczno- algebraicznej i technik
Grzegorz BOCEWICZ Politechnika KoszaliĔska ZASTOSOWANIE METODY LOGICZNOALGEBRAICZNEJ I TECHNIK PROGRAMOWANIA Z OGRANICZENIAMI DO BADANIA POPRAWNOĝCI BAZY WIEDZY 1. WstĊp Badając bazĊ wiedzy dowolnego systemu ekspertowego naleĪy zwróciü uwagĊ, Īe jej jakoĞü w istotnym stopniu decyduje o wáaĞciwym dziaáaniu systemu. JakoĞü ta zaleĪy od wielu czynników, przy czym istnieje kilka elementów, które w sposób bezpoĞredni wpáywają na pojawienie siĊ róĪnych problemów w realizacji wnioskowania, dlatego badanie poprawnoĞci bazy wiedzy jest istotną czynnoĞcią podczas testowania systemu ekspertowego. W pracy przedstawiono metody weryfikacji bazy wiedzy pod kątem sprzecznoĞci, nadmiarowoĞci i spójnoĞci wykorzystujące techniki programowania z ograniczeniami i metodĊ logiczno-algebraiczną. 2. Metoda logiczno-algebraiczna 2.1. Reprezentacja wiedzy Metoda logiczno-algebraiczna, jest stosowana do rozwiązywania zadaĔ w systemach z reprezentacją wiedzy w formie faktów. Wiedza dotycząca okreĞlonego obiektu opisywana jest w postaci nastĊpującej reprezentacji wiedzy [3, 4]: RW = <X,W,Y; R> (1) gdzie: – x∈X, y∈Y, w∈W, X,Y,W – zbiory okreĞlające dziedziny zmiennych x, y, w. – R = {(x,w,y): F[a(x,w,y)] = 1} relacja bĊdąca zbiorem wszystkich trójek (x,w,y), dla których fakty F opisujące system są prawdziwe, – F[a(x,w,y)] = (F1[a(x,w,y)], F2[a(x,w,y)], ... , FK[a(x,w,y)) jest zestawem wartoĞci logicznych faktów bĊdących funkcjami zmiennych x, w, y. W dalszej czĊĞci, w celu uproszczenia zapisu, fakty bĊdą przedstawiane w postaci: F(x,w,y). 22 Grzegorz Bocewicz WyróĪnia siĊ wáaĞciwoĞü wejĞciową i wyjĞciową, które przedstawiane w postaci odpowiednich relacji Rx i Ry: Rx = {x: Fx[ax(x)] = 1}, Ry = {y: Fy[ay(y)] = 1} (2) gdzie: – Fx[ax(x)] = (Fx1[ax(x)], Fx2[ax(x)], ... , FxP[ax(x))]) jest zestawem wartoĞci logicznych faktów wejĞciowych bĊdących funkcjami zmiennych x. – Fy[ay(y)] = (Fy1[ay(y)], Fy2[ay(y)], ... , FyR[ay(y))]) jest zestawem wartoĞci logicznych faktów wejĞciowych bĊdących funkcjami zmiennych y. W dalszej czĊĞci, w celu uproszczenia zapisu, fakty bĊdą przedstawiane w postaci: Fx(x), Fy(y). 2.1. Badanie sprzecznoĞci Przez informacje sprzeczne rozumie siĊ takie wyraĪenia odnoszące siĊ do wspólnej cechy opisywanego obiektu, które przypisują jednoczeĞnie danej cesze róĪne wzajemnie wykluczające siĊ wáaĞciwoĞci. Bardzo czĊsto wymagane jest uzupeánianie reprezentacji wiedzy o dodatkowe informacje formuáowane w postaci pewnego faktu dodatkowego Fd(x,w,y). Konieczne jest w takim przypadku sprawdzenie nowego faktu Fd(x,w,y) pod kątem niesprzecznoĞü ze zbiorem faktów F(x,w,y) wchodzących w skáad reprezentacji wiedzy. Zakáada siĊ, Īe wszystkie fakty F(x,w,y) są prawdziwe. W przypadku metody logiczno-algebraicznej proces wykrycia sprzecznoĞci faktów realizuje siĊ poprzez rozwiązania tzw. uproszczonego problemu analizy. W tym kontekĞcie sprawdzanie, czy fakt Fd(x,w,y) nie jest sprzeczny z faktami F(x,w,y) polega na sprawdzeniu, czy nastĊpująca implikacja jest prawdziwa [3]: F(x,w,y) Fd(x,w,y) (3) gdzie: – Fd(x,w,y) jest faktem, o który uzupeániana jest reprezentacja wiedzy, fakt odpowiada relacji Rd = {(x,w,y): Fd(x,w,y) = 1} Implikacje naleĪy rozumieü jako nastĊpujące zdanie: „JeĞli prawdziwe są wszystkie fakty ze zbioru F(x,w,y), to prawdziwy jest fakt Fd(x,w,y)”. W tak rozumianym problemie wyróĪniü moĪna odpowiedzi: TAK, NIE, NIE WIEM, ich interpretacja jest nastĊpująca: – TAK – fakt Fd(x,w,y) jest niepotrzebny, gdyĪ wprowadza nadmiarowoĞü informacji. – NIE – fakt Fd(x,w,y) jest sprzeczny. – NIE WIEM – fakt Fd(x,w,y) jest niesprzeczny i nie jest nadmiarowy, wiĊc moĪe byü dodany do reprezentacji wiedzy. Zastosowanie metody logiczno-algebraicznej i technik… 23 Aby otrzymaü odpowiedĨ na pytanie: czy prawdziwa jest implikacja Fx(αx) Fy(αy), naleĪy wykazaü, Īe okreĞlony zbiór R ∩ Rd’ lub R ∩ Rd jest pusty. Relacja Rd’ = {(x,w,y): Fd(x,w,y) = 0}. W sytuacji, gdy R ∩ Rd’ = ∅ i R ∩ Rd ≠ ∅, wówczas odpowiedĨ brzmi: TAK. JeĞli R ∩ Rd’ ≠ ∅ i R ∩ Rd = ∅ odpowiedĨ – NIE. R ∩ Rd’ ≠∅ i R ∩ Rd ≠ ∅ odpowiedĨ brzmi: NIE WIEM [2]. Sprawdzenie sprzecznoĞci faktów w przedstawionym kontekĞcie wynikającym z metody logiczno-algebraicznej charakteryzuje siĊ równieĪ záoĪonoĞcią NP-trudną. Przedstawiona koncepcja pozwala jednak na zastosowanie technik programowania z ograniczeniami, które w znacznym stopniu pozwolą na ograniczenie liczy kroków niezbĊdnych do uzyskania rozwiązania. 2.3. Badanie nadmiarowoĞci Zebrane informacje w bazie wiedzy mogą siĊ wielokrotnie powtarzaü, te same informacje mogą teĪ byü przedstawiane w postaci róĪnych wyraĪeĔ, moĪe teĪ wystąpiü sytuacja, kiedy to pewne wyraĪenia ĞciĞlej okreĞlają pewną wáaĞciwoĞü niĪ inne. W takim przypadku ma siĊ do czynienia z tak zwaną nadmiarowoĞcią informacji. Wprowadzony dodatkowy fakt Fd(x,w,y), który okazuje siĊ niesprzeczny ze zbiorem F(x,w,y), moĪe zawieraü bardziej Ğcisáą wiedzĊ dotyczącą pewnej wáaĞciwoĞci obiektu niĪ fakty zawarte w zbiorze F(x,w,y). START i =1 Czy zdanie F’(x,w,y) Fi(x,w,y) jest prawdziwe TAK i = i+1 Fi jest faktem nadmiarowym usuĔ Fi ze zbioru F(x,w,y) TAK i<K NIE STOP Rys. 1. Procedura poszukiwania zdaĔ nadmiarowych w reprezentacji wiedzy 24 Grzegorz Bocewicz W celu sprawdzenia, czy wystĊpuje w reprezentacji wiedzy tego typu nadmiarowoĞü naleĪy, dla kaĪdego faktu Fi(x,w,y) ze zbioru F(x,w,y) sprawdziü prawdziwoĞü implikacji: F’(x,w,y) Fi(x,w,y) (4) gdzie: – F’(x,w,y) jest zbiorem faktów F(x,w,y) bez sprawdzanego faktu Fi(x,w,y). F’(x,w,y) = F(x,w,y)\Fi(x,w,y). Sprawdzanie nadmiarowoĞci dla obiektu opisanego pewną reprezentacją wiedzy RW, której zbiór faktów opisujących system skáada siĊ z K faktów, odbywa siĊ zgodnie z procedurą przedstawioną na rysunku 1. Wykorzystanie procedury z rysunku 1 pozwala na wyznaczenie reprezentacji wiedzy, która jest niesprzeczna i nienadmiarowa. 2.4. Badanie spójnoĞci bazy wiedzy Dana baza wiedzy jest spójna pod kątem pewnego pytania, jeĞli moĪliwe jest wykorzystując bazĊ wiedzy uzyskaü odpowiedĨ na zadane pytanie. Inaczej mówiąc, istnieją warunki wystarczające gwarantujące istnienie odpowiedzi na zadane pytanie. Zatem sprawdzenie spójnoĞci bazy wiedzy wiąĪe siĊ wiĊc z wyznaczeniem dla danego obiektu warunków wystarczających gwarantujących speánienie okreĞlonej wáaĞciwoĞci. Poszukiwanie warunków wystarczających sprowadza siĊ do rozwiązania odpowiedniego problemu decyzyjnego [1, 3]. Dla reprezentacji RW opisującej wiedzĊ pewnego obiektu poszukuje siĊ takiej postaci relacji wejĞciowej Rx, dla której istnieje pewna znana relacja wyjĞciowa Ry. Dla poszukiwanej relacji Rx, fakty wejĞciowe Fx(x) speániają nastĊpującą implikacje: Fx(x) Fy(y) (5) Warunki wystarczające w postaci relacji Rx wyznacza siĊ na podstawie uprzednio wyznaczonych zbiorów Sx1 i Sx2. Relacje Rx wyznacza siĊ z nastĊpującej zaleĪnoĞci: Rx = Sx1\Sx2 (6) gdzie: – Sx1= {(x): F(x,w,y) = 1, Fy(y) = 1} – Sx2= {(x): F(x,w,y) = 1, Fy(y) = 0} JeĞli dla zadanej relacji Ry istnieje niepusta relacja Rx dla której speániona jest implikacja Fx(x) Fy(y), to dana reprezentacja wiedzy jest spójna pod kątem istnienia warunków wystarczających gwarantujących speánienie wáaĞciwoĞci Ry. Zastosowanie metody logiczno-algebraicznej i technik… 25 3. Programowanie z ograniczeniami Badanie sprzecznoĞci, nadmiarowoĞci oraz spójnoĞci bazy wiedzy niesie za sobą koniecznoĞü rozwiązywania szeregu problemów o charakterze NP-trudnym. PoniĪej przedstawiono wykorzystanie weryfikacji bazy wiedzy pod kątem sprzecznoĞci nadmiarowoĞci oraz spójnoĞci. Istotą metod programowania w logice z ograniczeniami jest rozwiązywanie problemów zdefiniowanych jako problemy speánienia ograniczeĔ (PSO). Problem PSO = ((Q, D), C) definiuje siĊ nastĊpująco [2, 5]: Dany jest skoĔczony zbiór dyskretnych zmiennych decyzyjnych Q = {q1, q2,...,qn}, rodzina skoĔczonych dziedzin zmiennych D = {Di | Di = {di1, di2, ..., dij, ..., dim}, i = 1..n} oraz skoĔczony zbiór ograniczeĔ C = {Ci | i = 1..L} limitujących wartoĞci zmiennych decyzyjnych. Poszukiwane jest rozwiązanie bądĨ to dopuszczalne, tzn. rozwiązanie, w którym wartoĞci wszystkich zmiennych speániają wszystkie ograniczenia C. 3.1. Wykorzystanie PSO do sprawdzania sprzecznoĞci i nadmiarowoĞci Sprawdzanie sprzecznoĞci i nadmiarowoĞci bazy wiedzy wymaga umiejĊtnoĞci rozwiązanie uproszczonego problemu analizy. Co sprowadza siĊ wykazania Īe okreĞlony zbiór R ∩ Rd’ lub R ∩ Rd jest pusty. Wykorzystuje siĊ w tym celu odpowiednio zdefiniowane problemy PSO: PSOUA1 = (((x,w,y), D), {F(x,y,w) = 1, Fd(x,w,y) = 0}) (7) PSOUA2 = (((x,w,y), D), {F(x,y,w) = 1, Fd(x,w,y) = 1}) Rozwiązaniem problemów PSOUA1, PSOUA2 są zbiory wartoĞci zmiennych x, w, y, odpowiadające kolejno zbiorom R ∩ Rd’ i R ∩ Rd. Dla rozwaĪanych problemów PSO poszukiwane jest tylko jedno rozwiązanie dopuszczalne, wyznaczenie jednego rozwiązania jest gwarantem, Īe okreĞlony zbiór (R ∩ Rd’ lub R ∩ Rd) jest niepusty. Przedstawione problemy PSOUA1 i PSOUA2 moĪna wykorzystywaü do badania nadmiarowoĞci reprezentacji wiedzy. Procedura z rysunku 1 wymaga wielokrotnego sprawdzania prawdziwoĞci implikacji F’(x,w,y) Fi(x,w,y) dla zestawu faktów pozbawionego pewnego faktu Fi. Podobnie jak w przypadku sprawdzania sprzecznoĞci, moĪna w tym celu wykorzystaü PSOUA1 i PSOUA2. Wykorzystanie programowania z ograniczeniami do badania nadmiarowoĞci i sprzecznoĞci faktów, pozwoliáo na znaczne zwiĊkszenie efektywnoĞci procedur poszukiwaĔ. Zgodnie z przedstawioną metodą przeprowadzono próbĊ rozwiązania uproszczonego problemu analizy (badanie sprzecznoĞci faktu dodatkowego z faktami bazy wiedzy) dla trzech oddzielnych reprezentacji wiedzy skáadających siĊ z 55 faktów i 84 formuáy elementarnych. Sprawdzenie sprzecznoĞci bazy wiedzy w klasycznym podejĞciu wymagaáoby analizy tablicy prawdy o liczbie wierszy 284. Zastosowanie metod programowania z ograniczeniami i opisu wiedzy za pomo- 26 Grzegorz Bocewicz cą metody logiczno-algebraicznej pozwoliáo na sprawdzenie sprzecznoĞci juĪ po kilkudziesiĊciu iteracjach. 3.2. Badanie spójnoĞci bazy wiedzy przy wykorzystaniu PSO Formuáując odpowiednią postaü PSO moĪliwe jest poszukiwanie warunków wystarczających gwarantujących speánienie pewnych wáaĞciwoĞci obiektu. Pozwala to na sprawdzanie spójnoĞci bazy wiedzy. Problemy sformuáowane w postaci wzoru (8) pozwalają na wyznaczanie zbiorów Sx1 i Sx2, z których otrzymywane jest postaü relacji Rx. PSOSx1 = ((x,w,y), D), {F(x,w,y) = 1, Fy(y) = 1}) PSOSx2 = ((x,w,y), D), {F(x,w,y) = 1, Fy(y) = 0}) (8) Najbardziej istotnym etapem sprawdzania spójnoĞci jest etap wyznaczania zbiorów Sx1 i Sx2. Podobnie jak w przypadku sprawdzania sprzecznoĞci i nadmiarowoĞci przeprowadzono próbĊ wyznaczenia zbioru Sx1 dla trzech oddzielnych reprezentacji wiedzy skáadających siĊ z 55 faktów i 84 formuá elementarnych. Wyznaczenie zbioru Sx1 poprzez analizĊ tablicy prawdy wymagaáoby w kaĪdym przypadku realizacji 284 iteracji. Rozwiązanie problemu poprzez zastosowanie metod programowania z ograniczeniami pozwoliáo na uzyskanie zbioru Sx1 juĪ poniĪej 218 iteracji. 4. ZakoĔczenie W pracy przedstawiono metody weryfikacji bazy wiedzy pod kątem sprzecznoĞci, nadmiarowoĞci i spójnoĞci w oparciu o techniki programowania z ograniczeniami i metodĊ logiczno-algebraiczną. Zaprezentowane metody charakteryzują siĊ znaczenie mniejszą liczbą iteracji koniecznych do uzyskania rozwiązania niĪ klasyczne metody oparte na analizie tablicy prawdy. Bibliografia 1. Bocewicz G., Banaszak Z., Bzdyra K.: Zastosowanie metody logicznoalgebraicznej do badania wáasnoĞci systemów wspóábieĪnych procesów cyklicznych. Zarządzanie i InĪynieria Produkcji 2005, Bielsko Biaáa. 2. Bocewicz G.: Zastosowanie metod programowania z ograniczeniami dobudowy systemu wspomagania decyzji w maáych i Ğrednich przedsiĊbiorstwach, praca magisterska, Koszalin 2006. 3. Bubnicki Z.: WstĊp do systemów ekspertowych, Warszawa, PWN 1990. 4. Bubnicki Z., Procesy uczenia i metoda logiczno-algebraiczna w systemach z reprezentacją wiedzy, Analiza systemowa i zarządzanie, wyd. I, Inst. BadaĔ Sys. PAN, 1999. 5. Schulte CH., Smolka G., Wurtz J.: Finite Domain Constraint Programming in Oz. DFKI OZ documentation series, German Research Center for Artificial Intelligence, Stuhlsaltzenhausweg 3, D-66123 Saarbrucken, Germany,1998.