Problemy z wnioskowaniem opartym na logice Mamy rachunek predykatów pierwszego rzedu do reprezentacji wiedzy. Mamy automatyczne dowodzenie twierdzeń przy użyciu regu ly rezolucji. Mamy również mechanizmy do wnioskowania o zmianach (rachunek sytuacji). Czy to wystarczy do budowy inteligentnych agentów? 1. Problemy z sama logika predykatów: niepe lność jezyka predykatów pierwszego rzedu, nieroztrzygalność procedury dowodowej, bariera kombinatoryczna dowodzenia 2. Problem: wnioskowanie w warunkach niepewności informacji certainty factors systemy ad-hoc logika probabilistyczna logika rozmyta 3. Problem: wnioskowanie przy niepe lnej informacji fakty typowe fakty możliwe fakty prawdopodobne wyjatki od faktów ogólnie s lusznych Systemy logiki niemonotonicznej motywacja 1
Frame problem Problem t la (problem 4, frame problem): gdy wnioskujemy o zmianach zachodzacych w świecie, jak efektywnie reprezentować fakty, które sie NIE zmieniaja? Na przyk lad: Stan s0: ma(s0, jas, 23000PLN). ma(s0, jas, przyjaciolke). Akcja: kupno samochodu: s0 s1 ma(s1, jas, 500PLN). ma(s1, jas, daewoo_matiz). Ale czy w stanie s1 Jaś nadal ma przyjació lke? Podobnie jak to widzieliśmy w przyk ladzie z ma lp a i bananami, aby poprawnie rozwiazać ten przyk lad, należa loby zapisać, oprócz aksjomatów dzia lań, również aksjomaty braku dzia lań, oraz aksjomaty niezmienniczości. Systemy logiki niemonotonicznej motywacja 2
Frame problem Problem t la (frame problem) w rzeczywistości objawia sie na kilka sposobów, z których wszystkie wp lywaj a na efektywność obliczeniowa wnioskujacego logicznie agenta. Reprezentacyjny frame problem: konieczność zapisania, w jezyku logiki pierwszego rzedu, aksjomatów niezmienności dla wszystkich używanych symboli predykatów. Inferencyjny frame problem: konieczność dowiedzenia, po każdej akcji agenta, prawdziwości wszystkich faktów, nawet tych, które z ta akcja nie mia ly nic wspólnego. Problem kwalifikacji: w świecie rzeczywistym trudno jest efektywnie określić wszystkie warunki poprawności danej operacji. Problem ramifikacji: równie trudno jest efektywnie określić wszystkie pośrednie konsekwencje danej akcji, np. gdy agent sie porusza to wraz z nim porusza sie jego ubranie. Systemy logiki niemonotonicznej motywacja 3
Logika zdrowego rozsadku Wniosek: wnioskujacy logicznie agent musi zostać sparaliżowany stuprocentowa poprawnościa swego mechanizmu wnioskowania. W świecie rzeczywistym nigdy nie bedzie w stanie odważyć sie na jakiekolwiek dzia lanie, bo nie bedzie mia l pe lnej informacji o otaczajacym go świecie. Jednak ludzie potrafia sprawnie poruszać sie w świecie pe lnym informacji niepewnej i niepe lnej, faktów domyślnych i wyjatków. Jak to robia? Musimy uznać, że w swoim wnioskowaniu ludzie pos luguja sie nieco inna logika, niż rygorystyczna logika matematyczna. Możnaby ogólnie nazwać ten hipotetyczny mechanizm wnioskowania logika zdrowego rozsadku (common sense reasoning). Systemy logiki niemonotonicznej motywacja 4
Systemy logiki niemonotonicznej Cześć winy za problemy z wnioskowaniem przy użyciu logiki klasycznej ponosi jej w lasność określana jako monotoniczność. W logice klasycznej, im wiecej wiemy, tym wiecej możemy wywieść stosujac wnioskowanie. Cz lowiek stosuje inny model wnioskowania, o wiele bardziej elastyczny, wykorzystujacy informacje typowa, domyślna, możliwa, a nawet brak informacji. Ten rodzaj wnioskowania wydaje sie nie mieć w lasności monotoniczności. Na przyk lad, o ile w braku dobrej informacji o sytuacji cz lowiek by lby gotów wyciagn ać pewne wnioski i podejmować decyzje (pochopne), to po zdobyciu pe lniejszej informacji może już nie być w stanie wymyśleć dobrego rozwiazania problemu. 1 Stad różne modele wnioskowania, zmierzajace do pokonania tych problemów, i bardziej zbliżone do elastycznego modelu wnioskowania cz lowieka, określa sie wspólnym mianem logik niemonotonicznych. 1 Rozwi azanie, które wypracowa l wcześniej, w braku informacji, by lo b ledne, ale może by lo lepsze niż brak jakiegokolwiek dzia lania. Chociaż niekoniecznie. Systemy logiki niemonotonicznej wprowadzenie 5
Wyzwanie Minsky-ego: opracowanie systemu, który pozwoli lby prawid lowo opisać ogólnie znany fakt, że ptaki potrafia fruwać. x[bird(x) canfly(x)] Aby uwzglednić wyjatki, np. strusie, trzeba każdorazowo modyfikować poprzednia formu le. x[bird(x) ostrich(x) canfly(x)] Wyjatków jest wiecej: ptaki skapane w rozlanej ropie naftowej, ptaki bez skrzyde l, chore ptaki, martwe ptaki, namalowane ptaki, abstrakcyjne ptaki,... Pomys l: wprowadzamy operator modalny M: x[bird(x) M canfly(x) canfly(x)] Teraz wyjatki możemy wprowadzać modularnie: x[ostrich(x) canfly(x)] Systemy logiki niemonotonicznej wprowadzenie 6
Dla nastepuj acego zbioru faktów: = {bird(tweety), bird(sam), ostrich(sam)} możemy wywieść: canfly(sam) zatem nie powinno nam sie udać wyprowadzić: M canfly(sam) ani canfly(sam) Jednak przy użyciu normalnych procedur nie możemy udowodnić zdolności do latania Tweety: M canfly(tweety), canfly(tweety) W tym celu niezbedna jest procedura dowodowa zdolna do efektywnego (i automatycznego) dowodzenia twierdzeń w jezyku predykatów rozszerzonym o operator modalny M, zgodna z nastepuj ac a regu l a wnioskowania: Not( p) M p Systemy logiki niemonotonicznej wprowadzenie 7
Pomijajac ograniczenia wynikajace z odwo lania do procedury dowodowej w powyższej definicji, taka procedura nie bedzie jednak ani efektywna obliczeniowo, ani rozstrzygalna, ani nawet pó lrozstrzygalna, jak procedury dowodowe dla rachunku predykatów. W przes lance powyższej regu ly wnioskowania mamy bowiem stwierdzenie, że pewnej formu ly nie da sie udowodnić. To po pierwsze może być w ogóle niemożliwe do stwierdzenia. Zaś aby znaleźć pozytywne potwierdzenie tego faktu bedzie na pewno konieczne przeprowadzenie globalnego wnioskowania na ca lej bazie danych, bo jak inaczej moglibyśmy stwierdzić, że czegoś nie da sie udowodnić. Dla odróżnienia, dowody w rachunku predykatów pierwszego rzedu maja charakter lokalny. Jeśli np. szcześliwie wybierzemy od razu w laściwe przes lanki to możemy uzyskać dowód w kilku krokach, nawet jeśli baza danych liczy tysiace faktów. Systemy logiki niemonotonicznej wprowadzenie 8
Za lożenie świata zamknietego CWA Zak ladamy że każdy fakt prosty (atomowy), który nie wystepuje w postaci pozytywnej ani negatywnej w zbiorze aksjomatów ( ), ani z tego zbioru nie daje sie wywieść (th( )), jest nieprawdziwy. th( ) : Φ RPPR[Φ th( ) = Φ] zal : P zal P th( ) gdzie P atom podstawiony CWA( ) : Φ[Φ CWA( ) zal = Φ] Typowy przyk lad: systemy baz danych, które posiadaja dla każdej relacji zbiór n-ek spe lniajacych te relacje. Przyjmuje sie tam, że dla wszystkich pozosta lych n-ek relacja nie jest spe lniona. Systemy logiki niemonotonicznej za lożenie CWA 9
CWA przyk lad Przyk lad: graniczy(polska,zsrr) graniczy(polska,nrd) graniczy(polska,csfr) Zapytanie: graniczy(polska,usa)? NIE. W przypadku posiadania niepe lnych danych wynik użycia CWA jest b ledny, i zależy np. od doboru konkretnych symboli predykatów. Na przyk lad, przy pos lugiwaniem sie predykatem odlegle (w przybliżeniu zaprzeczenie predykatu graniczy), możemy mieć: odlegle(polska,francja) odlegle(polska,wlochy) odlegle(polska,hiszpania) Zapytanie: odlegle(polska,usa)? NIE. Systemy logiki niemonotonicznej za lożenie CWA 10
CWA w lasności CWA nie gwarantuje również otrzymania wyników spójnych z sama zawartościa zbioru, np.: = {P(A) P(B)} a zatem P(A),P(B) th( ) wiec P(A), P(B) CWA( ) ale to w sumie razem daje sprzeczność. W lasność: Jeśli zbiór klauzul jest hornowski i spójny to CWA( ) jest spójny. (Klauzula jest hornowska jeśli zawiera co najwyżej jeden litera l pozytywny.) Systemy logiki niemonotonicznej za lożenie CWA 11
CWA modyfikacje W wielu przypadkach CWA jest zbyt silnym za lożeniem. Możemy go os labić przez za lożenie CWA tylko dla określonego zbioru predykatów. Wtedy zbiór zal jest z lożony wy lacznie z różnych instancji predykatów z tego zbioru. Na przyk lad: = { x[q(x) P(x)],Q(A),R(B) P(B)} Zak ladajac CWA ze wzgledu na P możemy wywnioskować P(B) ponieważ = P(B). Możemy zatem wywnioskować R(B). Zauważmy że pe lne CWA zawiera loby R(B) i P(B) co w sumie z stanowi sprzeczność. Systemy logiki niemonotonicznej za lożenie CWA 12
Inne za lożenia upraszczajace Nieco podobnymi do CWA za lożeniami upraszczajacymi sa: Za lożenie zamknietości dziedziny (DCA): jedynymi obiektami wystepujacymi w dziedzinie problemowej sa te, które wystepuja z nazwy. Przy braku symboli funkcyjnych moglibyśmy to za lożenie zapisać tak: x x = t 1 x = t 2... x = t n Jeśli wystepuj a symbole funkcyjne to takich formu l możnaby zapisać nieskończenie wiele i nie da sie tego wyrazić formu l a pierwszego rzedu. Za lożenie jednoznaczności nazw (UNA): jeśli dla dwóch podstawionych termów nie można udowodnić, że sa równe, to sa różne. UNA jest równoważne zastosowaniu CWA do predykatu równości. Systemy logiki niemonotonicznej za lożenie CWA 13
Przyk ladem zastosowania CWA i UNA jest mechanizm wnioskowania zaimplementowany w Prologu:?- consult(user).?- p(b). p(a). no ^D?- p(f(b)). yes no Systemy logiki niemonotonicznej za lożenie CWA 14
Dope lnienie predykatów PC Zak ladamy że jedynymi obiektami, które spe lniaja predykaty sa te, o których można to udowodnić. Rozpatrzmy kilka przypadków: Przyk lad 1. Za lóżmy = {P(A)} P(A) możemy zapisać jako: x[x = A P(x)] wtedy dope lnienie mog loby mieć postać: x[p(x) x = A] Oznaczymy: COMP(,P) def dope lnienie zatem: COMP(,P) = x [P(x) (x = A)] Jak widać w tym przypadku dope lnienie predykatu daje taki sam efekt jak CWA P. Przyk lad 2. W przypadku = {P(A),P(B)} dope lnienie ma postać: x[p(x) (x = A x = B)] Systemy logiki niemonotonicznej dope lnienie predykatów 15
Zbiór klauzul nazwiemy solitarnym w P, jeśli w każdej klauzuli zawierajacej pozytywny litera l P, P wystepuje co najwyżej raz (klauzule solitarne w P sa hornowskie w P, ale nie na odwrót). Zdefiniujemy dope lnienie P tylko dla klauzul solitarnych w P. Za lożmy że jest zbiorem klauzul solitarnych w P, wtedy każda klauzula zawierajaca pozytywny litera l P ma postać: y[q 1 Q 2... Q m P(t)] y x[(x = t) Q 1 Q 2...Q m P(x)] x[ y (x = t) Q 1 Q 2...Q m ] P(x) gdzie t =< t 1,...t n >, y inne zmienne, a (x = t) oznacza x 1 = t 1,... W skrócie zapisujemy wszystkie te formu ly jako: czyli: x E 1 P(x) x E 2 P(x)... x E k P(x) x[e 1 E 2...E k P(x)] Systemy logiki niemonotonicznej dope lnienie predykatów 16
a wiec przyjmujemy: COMP(,P) def ( xp(x) E 1 E 2...E k ) Przyk lad: teraz dope lniamy bird: x [ostrich(x) bird(x)] bird(tweety) ostrich(sam) x [ostrich(x) (x = Tweety) bird(x)] COMP(,bird) = x[bird(x) ostrich(x) (x = Tweety)] Za lożenie, że musi być solitarnym zbiorem klauzul gwarantuje, że klauzule zawierajace P stanowia poprawne (niecykliczne) definicje P. W niektórych przypadkach dope lnienie można poprawnie obliczyć również dla niesolitarnych klauzul, np. (x = 0) Silnia(x,1) (x 0) Silnia(x 1,y) Silnia(x,x y) Systemy logiki niemonotonicznej dope lnienie predykatów 17
Przeprowadzenie tutaj dope lnienia predykatu Silnia daje normalna formu le rekurencyjnej definicji silni: Silnia(x, z) [(x = 0) (z = 1)] y[(x 0) (z = x y) Silnia(x 1,y)] Zatem solitarność klauzul jest wystarczajacym, ale niekoniecznym warunkiem dla sensownego obliczenia dope lnienia predykatu. W lasność: Jeśli jest spójnym (spe lnialnym) zbiorem klauzul solitarnych ze wzgledu na P, to dope lnienie P w jest spójne. Systemy logiki niemonotonicznej dope lnienie predykatów 18
Specjalne przypadki dope lnienia predykatów: 1. = { x P(x)}, co możemy zapisać jako: x[true P(x)] W tym przypadku dope lnienie COMP(,P) ma postać x[p(x) TRUE] i jest tautologia, zatem nie wnosi nic nowego. 2. Za lóżmy, że nie ma w ani jednego pozytywnego przypadku P, wtedy możemy zapisać: x[false P(x)], wiec dope lnienie ma postać x[p(x) FALSE], tzn. x P(x) Dope lnienie predykatów dzia la troche podobnie jak CWA, ale w ogólności sa to różne koncepcje. Na przyk lad, jeśli = {P(A)} i istnieje obiekt B, wtedy P(B) CWA P ( ) natomiast dopelnieniem predykatu P jest formu la: x [P(x) (x = A)] Jak widać uzyskujemy różne formu ly, chociaż istnieja pewne zwiazki. Z P(B) oraz za lożenia DCA wynika x[p(x) (x = A)], natomiast formu la x[p(x) (x = A)] oraz za lożenie UNA daje P(B). Systemy logiki niemonotonicznej dope lnienie predykatów 19
Systemy logiki niemonotonicznej dope lnienie predykatów 20
NML Doyle i McDermott pierwsi opracowali matematyczny system logiki niemonotonicznej, zwany po prostu NML. th( ) def {Φ RPPR Φ} As (S) def {M Φ Φ S}\th( ) NM (S) def th( As (S)) Przekszta lcenie NM wyznacza dla danej teorii zbiór tych formu l, które powinny być niemonotonicznie wywodliwe z teorii. Punkt sta ly przekszta lcenia NM nazywany jest rozszerzeniem teorii. Rozszerzenie wyznacza zbiór tych formu l, które sa niemonotonicznie, lecz konsekwentnie i kompletnie wywodliwe z danej teorii. S = NM (S) Systemy logiki niemonotonicznej NML 21
Przyk lady. Teoria = {M p p} ma jedno rozszerzenie, które zawiera M p i p Teoria = {M p p} nie ma w ogóle rozszerzeń (operator NM nie ma punktu sta lego) Istnieja teorie z wieloma (nawet ) rozszerzeniami. Jako zbiór wniosków niemonotonicznych z danej teorii Doyle i McDermott określili przeciecie wszystkich rozszerzeń danej teorii (zamiast dopuścić rozszerzeń jako alternatyw). Doyle i McDermott opracowali procedure dowodowa dla takiego jezyka opartego na rachunku zdań, jak również teorie modeli dla tej logiki i udowodnili, że niemonotoniczna wywodliwość jest równoważna byciu prawdziwym w tej teorii modeli, tzn. teoria modeli jest kompletna i spójna z procedura dowodowa. Systemy logiki niemonotonicznej NML 22
Logika domys lów Logika domys lów (domniemań) opracowana przez Reitera prezentuje inne podejście do logiki niemonotonicznej. Pozwala tworzyć specjalne regu ly domys lowe o nastepuj acej postaci (jest to schemat regu ly ukonkretniany zmiennymi x): α(x) : M β(x) γ(x) Sens powyższej regu ly jest taki, że jeśli zachodzi α a β jest spójne (niesprzeczne) z bieżacym stanem bazy danych, to możemy wywnioskować γ. Teoria domys lów nazywamy pare (,D), gdzie jest klasyczna teoria rachunku predykatów, natomiast D jest zbiorem regu l domys lowych. Ponadto wprowadzamy operator Γ dzia lajacy na zbiorach formu l, spe lniajacy nastepuj ace warunki: (1) Γ(S) (2) Γ(S) = th(γ(s)) (3) [ p:mq r D,p Γ(S), q S] r Γ(S) Zbiór S nazywamy rozszerzeniem teorii domys lów (, D) jeśli jest punktem Systemy logiki niemonotonicznej logika domys lów 23
sta lym operatora Γ S = Γ(S) Przyk lady. Teoria (,D), gdzie = {},D = { :Mp p }, ma jedno rozszerzenie: S = th({p}) Teoria (,D), gdzie = {},D = { :Mp p, :M p p }, ma dwa rozszerzenia: S 1 = th({p}) oraz S 2 = th({ p}), i te dwa rozszerzenia stanowia alternatywne punkty widzenia na niemonotoniczne wnioskowanie z (albo zwiazane z p albo z p). Istnieja również teorie bez rozszerzeń, np. (,D), gdzie = {},D = { :Mp p } Systemy logiki niemonotonicznej logika domys lów 24
Obecnie można poprawnie zapisać przyk lad z fruwaniem ptaków. bird(x):m canfly(x) D = { } canfly(x) = { x[ostrich(x) canfly(x)], bird(tweety), bird(sam), ostrich(sam)} Ta teoria posiada jedno rozszerzenie S = th( { canfly(sam),canfly(tweety)}) Reiter sformu lowa l pojecie dowodu domys lowego, udowodni l, że domys lowa dowodliwość formu ly jest równoważna z należeniem do jakiegoś rozszerzenia teorii, a także przedstawi l procedure, oparta na klasycznej rezolucji, pozwalajacej stwierdzić należenie do rozszerzenia. Należy jednak pamietać, że ogólnie kwestia ta jest nierozstrzygalna. Systemy logiki niemonotonicznej logika domys lów 25
Systemy logiki niemonotonicznej logika domys lów 26
Circumscription Metoda circumscription Johna McCarthy ego jest przyk ladem logiki drugiego rzedu zdefiniowanej na potrzeby wnioskowania niemonotonicznego. Można ja rozumieć jako formalna i kompletna wersje za lożenia CWA. Pozwala ona wyznaczyć pewne predykaty jako minimalnie prawdziwe, albo fa lszywe wszedzie tam gdzie nie sa prawdziwe. Na przyk lad, chcac wyrazić fakt, że ptaki normalnie fruwaja, moglibyśmy wprowadzić predykat Abnormal 1 (x) i zapisać: Bird(x) Abnormal 1 (x) CanFly(x) Wykonanie circumscription predykatu Abnormal 1 upoważnia maszyne wnioskujac a do przyjecia Abnormal 1 (x) zawsze wtedy, gdy nie da sie udowodnić, że prawda jest Abnormal 1 (x). Systemy logiki niemonotonicznej circumscription 27
Systemy logiki niemonotonicznej circumscription 28
Systemy zachowania spójności logicznej (TMS) Co ma zrobić system wnioskowania logicznego gdy chcia lby wycofać jakiś fakt P posiadany w swojej bazie danych? Na przyk lad: system rejestruje bieżacy stan rzeczy (nie uwzgledniaj ac up lywu czasu ani historii) i ten stan uleg l zmianie fakt by l wynikiem za lożenia dokonanego ad hoc (być może w wyniku rozumowania niemonotonicznego) i obecnie sa powody przypuszczać, że w istocie jest nieprawdziwy Usuniecie b lednie dokonanego za lożenia lub nieaktualnego faktu nie może polegać na dodaniu faktu P, ponieważ to nie wycofa loby b lednego faktu P, a tylko wprowadzi lo niespójność bazy danych, zawierajacej obecnie zarówno P jak i P. Zamiast tego, należy usunać z bazy danych fakt P, oraz wszystkie inne fakty być może z niego wywiedzione. Na przyk lad, jeśli istnia la implikacja P Q, to system móg l, wierzac w pewnym okresie w prawdziwość P, poprawnie wywnioskować Q. Jednak fakty takie jak Q niekoniecznie musza być nieprawdziwe tylko dlatego, że nieprawdziwe okaza lo sie P. Po jego pierwotnym wywiedzeniu z P system móg l znaleźć inne, niezależne, potwierdzenia Q. Systemy logiki niemonotonicznej systemy TMS 29
Systemy zachowania spójności logicznej (truth maintenance systems), wspomagaja proces wnioskowania przez rejestracje takich zależności logicznych. Agent rozwiazuj acy problem aksjomaty za lożenia wnioski zależności zapytania odpowiedzi System TMS Funkcje systemu TMS: 1. przechowywanie faktów i wniosków 2. usuwanie faktów z obs lug a konsekwencji 3. ponowne przywracanie faktów i konsekwencji 4. dostarczanie agentowi uzasadnień faktów 5. wykrywanie niespójności w za lożeniach 6. prowadzenie wnioskowania niemonotonicznego Systemy logiki niemonotonicznej systemy TMS 30
W najprostszym przypadku system TMS może realizować swe funkcje przez usuwanie z bazy danych w momencie wycofywania dokonanego wcześniej za lożenia wszystkich wniosków otrzymanych przez system. Jest to metoda prosta i skuteczna, wymaga jednak każdorazowego powtórzenia dowodów wszystkich twierdzeń. Nieco lepsza metoda jest usuwanie tylko wniosków wywiedzionych po wprowadzeniu do bazy danych wycofywanego aktualnie za lożenia. Wymaga to utrzymywania informacji o chronologii wprowadzania i wyprowadzania faktów, i nadal powtórzenia wielu dowodów, z których wiekszość mog la nie mieć nic wspólnego z wycofywanym za lożeniem. Jeszcze lepsza metoda jest rejestrowanie, dla wszystkich wniosków, za lożeń, na których by ly oparte ich wywody, a nastepnie, przy wycofywaniu jakiegoś za lożenia, usuwanie uzasadnień, których niezbedn a cześci a by lo wycofywane za lożenie, a także eliminacja faktów, które straci ly wszystkie swoje uzasadnienia. Systemy logiki niemonotonicznej systemy TMS 31
Przyk lad Agent posiada nastepuj ace fakty pewne, oraz, uzyskane w wyniku swojej pracy, za lożenia niemonotoniczne i wnioski na nich oparte: P R { fakt } Q S { fakt } R S { fakt } P { za lożenie } Q { za lożenie } R { wniosek(p) } S { wniosek(p), wniosek(q) } Gdyby nastepnie, w trakcie pracy, agent postanowi l wycofać sie z za lożenia P, i poinformowa l o tym system TMS, to ten skreśli lby fakt R z listy faktów uznawanych za s luszne, oraz skreśli lby jedno z uzasadnień faktu S. Gdyby w dalszym ciagu agent wycofa lby również za lożenie Q, to system TMS musia lby już ostatecznie usunać fakt S. Zauważmy, że gdyby agent nastepnie postanowi l jednak przywrócić za lożenie P, to system TMS nie mia lby sposobu odzyskania usunietych wniosków R i S. Systemy logiki niemonotonicznej systemy TMS 32
System JTMS Historycznie najwcześniejszy system TMS Doyle a jest w laśnie oparty na uzasadnieniach (pierwotnie nazwany po prostu TMS, ale później dla odróżnienia od innych systemów nazywany również JTMS). System ten pamieta dla każdego faktu jego uzasadnienie, lub uzasadnienia. System JMS nie usuwa raz utworzonych struktur danych, tylko określa status faktu jako in (fakt, w który wierzymy, bo ma uzasadnienia) albo out (fakt, w który nie wierzymy, bo nie ma uzasadnień). Gdy status jakiegoś faktu zmienia sie na out, wtedy uzasadnienia niektórych innych faktów moga również zmienić status, powodujac propagacje konsekwencji takiej zmiany w strukturach systemu JTMS. Podobnie, gdy pojawia sie jakiś fakt, który mia l już poprzednio status in, i jest cześci a uzasadnień innych faktów, wtedy wystarczy zmienić status wszystkich takich uzasadnień i faktów na in, i udowodnione wcześniej wnioski automatycznie pojawiaja sie znowu (tzw. unouting ). Zatem system JTMS utrzymuje stan swojej bazy danych w postaci jednego spójnego zestawu wierzeń, i o każdym stwierdzeniu możemy powiedzieć, czy aktualnie w nie wierzymy czy nie. Systemy logiki niemonotonicznej systemy TMS 33
System ATMS Innego rodzaju system TMS, oparty na za lożeniach i nazwany ATMS, zaproponowa l Johan de Kleer. ATMS nie etykietuje żadnych faktów jako in albo out, a tylko rejestruje wszystkie fakty i za lożenia w postaci wez lów na jednym grafie zależności. System zaznacza, na podstawie informacji od użytkownika, które fakty sa prawdziwe przy których za lożeniach, i nie ma pojecia w co wierzy w danej chwili. Użytkownik zg lasza systemowi wszystkie za lożenia, które go interesuja, niezależnie czy sa one wzajemnie spójne. ATMS aktualizuje graf zależności, gdzie etykiety wez lów zawieraja za lożenia je uzasadniajace, i w każdej chwili jest w stanie odpowiedzieć, przy jakim zestawie za lożeń dany fakt jest prawdziwy. Metoda de Kleer a pokonuje wiekszość problemów zwiazanych z systemami TMS (np. unouting), i nadaje sie szczególnie do implementacji systemów rozważajacych alternatywne warianty, gdzie konieczne jest czeste prze laczanie sie miedzy wzajemnie wykluczajacymi sie punktami widzenia. Jest to jednak metoda typowo dyskretna, dzia lajac a na niezbyt dużej liczbie za lożeń, ponieważ musi uwzgledniać wszystkie możliwe ich kombinacje. Systemy logiki niemonotonicznej systemy TMS 34
Generacja wyjaśnień Systemy TMS moga być również postrzegane jako generatory wyjaśnień. Jeśli dla danego faktu, który jest obserwowany, istnieje szereg możliwych uzasadnień, z których żadne nie jest obserwowane ani znane, to agent może analizować te uzasadnienia, i wybierać te, które np. sa minimalne, a przez to najbardziej prawdopodobne, i skoncentrować sie na znalezieniu przyczyny obserwowanej sytuacji. Na przyk lad, jako uzasadnienie faktu, że nie da sie uruchomić silnika samochodu, możemy mieć zapisana niesprawność akumulatora, oraz jeszcze szereg innych możliwych przyczyn. Gdyby agent mia l problemy z samochodem, i chcia l określić jego przyczyny, móg lby zaczać analizować zbiory uzasadnienień takiej awarii, i na tej podstawie próbować wybrnać z sytuacji. Na przyk lad, móg lby uporzadkować te zbiory uzasadnień wed lug liczności, i zaczać od najmniejszych, wychodzac z za lożenia, że najmniejszy zbiór uzasadnień zwiazany jest z najprostsza okolicznościa i przyczyna awarii. Zatem próby wybrniecia z opresji móg lby nasz agent zaczać od sprawdzenia akumulatora, gdyby to on w laśnie stanowi l najprostsze w tym sensie wyjaśnienie awarii. Systemy logiki niemonotonicznej systemy TMS 35