2015 Adam Meissner Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Reprezentowanie i przetwarzanie wiedzy o czasie literatura [1] Allen J.F., Maintaining Knowledge about Temporal Intervals; Comm. ACM 26 (1983) 832-943. [2] Kamiński J., Przegląd algorytmów utrzymywania wiarygodności, raport IPI PAN nr 639, sierpień 1988, Warszawa. [3] McDermott D.V., A Temporal Logic for Reasoning about processes and plans, Cognitive Sci. 6 (1982) 101-155. [4] Puppe F., Systematic Introduction to Expert Systems, Springer-Verlag, 1993.
Plan wykładu 2015 Adam Meissner 1. Zagadnienia dotyczące czasu w systemach z wiedzą zależności czasowe miedzy zdarzeniami zmienność wiedzy w czasie 2. Reprezentowanie zależności czasowych między zdarzeniami [4] reprezentacja bezwzględna reprezentacje względne 3. Przetwarzanie wiedzy zmiennej w czasie wnioskowanie niemonotoniczne systemy utrzymywania wiarygodności (ang. Truth Maintenance Systems). 2
Zależności czasowe między zdarzeniami reprezentacja bezwzględna (czas jako oś liczbowa) zalety: prostota technik reprezentowania i przetwarzania wiedzy wady: wymóg precyzyjnego określania czasu zachodzenia zdarzeń reprezentacje względne rachunek punktów [McDermott D.V. 1982] rachunek interwałów [Allen J.F. 1983]. Reprezentacja bezwzględna zastosowania: nauki techniczne, medycyna system VM [Fagan L. 1984] sterowanie pracą respiratora na podstawie pomiarów ciśnienia krwi pacjenta, tętna i tempa oddychania reprezentacja wiedzy wzorowana na syst. MYCIN dokonywanie pomiarów 30 razy na dobę o ściśle określonych porach system MED2 [Puppe F. 1987] udoskonalenie systemu VM rejestrowanie wyników pomiarów w różnych odstępach, możliwość odnoszenia momentu pomiaru do wskazanego punktu czasowego funkcje mechanizmu wnioskującego: (1) wyznaczanie czasu, jaki upłynął między dwoma pomiarami, (2) wyznaczanie zmian wartości oraz dynamiki zmian danego parametru w okresie między pomiarami. 3
Rachunek punktów [McDermott D.V. 1982] REPREZENTACJA WIEDZY O ZALEŻNOŚCIACH CZASOWYCH zdarzenia są reprezentowane za pomocą punktów czasowych w przestrzeni punktów czasowych definiuje się funkcję odległości przyporządkowującą parze punktów liczbę całkowitą Dist baza wiedzy o zależnościach czasowych jest grafem: wierzchołkami grafu są punkty krawędzie oznaczają zależności między punktami; zależności te mają postać ograniczeń Elt, reprezentowanych przez wyrażenia (MinDist, MaxDist) z dowolną parą punktów połączonych ścieżką związane jest ograniczenie będące złożeniem ograniczeń przypisanych poszczególnym krawędziom ścieżki podstawowym warunkiem niesprzeczności bazy wiedzy jest wymóg, aby dla każdego ograniczenia MinDist MaxDist. Przykład 1 (baza wiedzy o zal. czasowych) p1 c1 (6, 9) p2 c2 (2, 5) c3 (3, 7) c4 (5, 8) p3 Elt(p 3, p 2 ) = (5, 7) Elt(p 1, p 2 ) = (7, 9) 4
REPREZENTACJA WIEDZY PRZEDMIOTOWEJ pojęcia podstawowe interwał czasowy (p 1, p 2 ) token, zachodzenie tokenu P podczas interwału (p 1, p 2 ) struktura bazy wiedzy fakty i domniemania (ang. beliefs) reguły metody wnioskowania wnioskowanie progresywne P 1... Pn => Q (t 1,1, t 1,2 ) (t n,1, t n,2 ) (t 1,1, t 1,2 )... (t n,1, t n,2 ) wada: generowanie wielu bezużytecznych wniosków automatyczna projekcja Z P 1... Pn => Q (z 1, z 2 ) (q 1, q 2 ) zalety: możliwość posługiwania się demonami systemowymi, ustalanie priorytetów zdarzeń wnioskowanie o domniemaniach posługiwanie się domyślnymi założeniami o zdarzeniach, np. że każde zdarzenie trwa począwszy do pojawienia się informacji o jego zajściu, aż do nadejścia wiadomości o jego zakończeniu wykorzystanie systemu TMS, działającemu na zabezpieczeniach (ang. protection). 5
Przykład 2 (weryfikacja domniemań) Dana jest baza wiedzy 14:00 - Malinowski otrzymuje wiadomość dla Kowalskiego, 18:00 - Kowalski przychodzi do Iksińśkich, 21:00 - Malinowski przychodzi do Iksińskich. Na podstawie ww. bazy wiedzy można domniemywać, że Malinowski przekazał wiadomość Kowalskiemu. Jednakże po wprowadzeniu nowego faktu 20:00 Kowalski wrócił do domu powyższe domniemanie przestaje obowiązywać. Podsumowanie: rachunek punktów dobrze nadaje się do reprezentowania zdarzeń z zależnościami opisanymi za pomocą wielkości liczbowych trudności sprawia wyrażanie relacji typowo względnych, jak np. przed czy po. 6
rachunek interwałów [Allen J.F. 1983] pojęcia podstawowe interwał czasowy relacja względna między parą interwałów,typy relacji względnych między interwałami relacja symbol relacji symbol relacji ilustracja graficzna odwrotnej X before Y < > ---- ---- X meets Y m mi ----- ---- X overlaps Y o oi -------- -------- X during Y d di ----- ---------- X starts Y s si ------- ------------- X finishes Y f fi ------- ------------- X equals Y = = ------------- ------------- REPREZENTACJA WIEDZY PRZEDMIOTOWEJ baza wiedzy o zależnościach czasowych ma postać grafu: wierzchołki grafu reprezentują interwały krawędzie są etykietowane przez zbiory relacji, jakie mogą zachodzić między interwałami podstawową operacją wykonywaną na bazie wiedzy jest wprowadzenie nowej relacji między wskazanymi interwałami; w procesie tym uaktualnia się całą bazę wiedzy poprzez propagowanie ograniczeń i usuwanie relacji o charakterze przypuszczeń sprzecznych 7
Algorytm wprowadzania nowej relacji do bazy wiedzy Dane: baza wiedzy B w postaci grafu, nowa relacja między parą wierzchołków R(i, j). Wynik: baza wiedzy B rozszerzona o relację R(i, j). Metoda: Constraints(R1, R2) { C = ; for_each r1 in R1 do for_each r2 in R2 do C = C T(r1, r2); return(c) } Fragment tablicy T B r2 C A r1 B o d o d s 8
Add( R(i, j) ) { Put((i,j), ToDo); while NotEmpty(ToDo) { Get((i,j), ToDo); N(i, j) = R(i, j); for_each k do { R(k, j) = N(k, j) Constraints(N(k, i), R(i, j)); if R(k, j) N(k, j) then Put((k, j), ToDo); } for_each k do { R(i, k) = N(i, k) Constraints(R(i, j), N(j, k)); if R(i, k) N(i, k) then Put((i, k), ToDo); } } zastosowanie interwałów referencyjnych Przykład 3 życie d d d < przedszkole m nauka m praca (życie) (życie) (życie) s d f szkoła podstawowa m szkoła średnia < studia (nauka) (nauka) (nauka) < 9
Przetwarzanie wiedzy zmiennej w czasie zmienność wiedzy w czasie jest zjawiskiem dotyczącym większości praktycznie wykorzystywanych systemów przetwarzających wiedzę przyjmuje się, że wprowadzenie nowej wiedzy do systemu może pociągać za sobą dwojakie skutki (1) rozszerzenie zbioru konsekwencji, jakie można wywnioskować na podstawie wcześniej zgromadzonej wiedzy (2) zawężenie tego zbioru w wypadku (2) mówi się o wnioskowaniu niemonotonicznym, tzn. A A Cn(A) Cn(A ) przykładem niemonotonicznej reguły wnioskowania jest negacja przez porażkę (ang. negation as failure) stosowana w Prologu. Przykład 4 P = {}, not(q) Cn(P), P' = { q. }, not(q) Cn(P'). Do opisu wnioskowania niemonotonicznego można wykorzystać operator unless F 1 F m unless(d 1 ) unless(d n ) W wyrażenie unless(d) jest prawdziwe o ile formuła D jest fałszywa albo jej wartość logiczna nie jest znana. 10
Systemy utrzymywania wiarygodności system utrzymywania wiarygodności (ang. Truth Maintenance Systems) służy do wyznaczania konsekwencji rozszerzania bazy wiedzy w pewnym systemie przetwarzającym wiedzę system utrzymywania wiarygodności oraz mechanizm wnioskujący stanowią odrębne lecz współpracujące ze sobą moduły systemu przetwarzania wiedzy posługiwanie się systemem TMS z reguły wymaga reprezentowania wiedzy w postaci sieci zależności niektóre rodzaje systemów TMS: JTMS oparty na uzasadnieniach (ang. Justificationbased TMS) ATMS oparty na założeniach (ang. Assumptionbased TMS) LTMS logiczny TMS (ang. Logic-based TMS). 11
System JTMS [John Doyle, 1979] POJĘCIA PODSTAWOWE sieć zależności w systemie składa się z węzłów (ang. nodes) i uzasadnień (ang. justifications) węzeł ma postać pary (F, E), gdzie F jest formułą z bazy wiedzy a E jest etykietą, E {IN, OUT} uzasadnienie ma postać pary (R, L), gdzie R jest regułą a L = (L-IN, L-OUT) jest parą list złożonych z węzłów węzeł bezpośrednio wspiera uzasadnienie, o ile jest elementem listy L-IN lub listy L-OUT tego uzasadnienia uzasadnienie bezpośrednio wspiera węzeł jeżeli formuła zawarta w węźle należy do wniosków płynących z reguły reprezentowanej przez to uzasadnienie uzasadnienie jest słuszne, jeżeli każdy element listy L-IN tego uzasadnienia ma etykietę IN a każdy element listy L-OUT ma etykietę OUT węzeł nazywany jest założeniem o ile jest bezpośrednio wspierany przez co najmniej jedno uzasadnienie słuszne, a każde ze słusznych uzasadnień wspierających ma niepustą listę L-OUT sieć zależności jest poprawnie etykietowana o ile każdy węzeł wspierany przez co najmniej jedno słuszne uzasadnienie ma etykietę IN - w przeciwnym wypadku węzeł ten ma etykietę OUT każdy węzeł oznaczający sprzeczność ma etykietę OUT. 12
ZADANIE SYSTEMU JTMS 2015 Adam Meissner Dla danej sieci zależności skonstruować jej poprawne etykietowanie. DZIAŁANIA WYKONYWANE PRZEZ SYSTEM JTMS dodawanie węzłowi nowego uzasadnienia dodawanie nowego węzła do sieci zależności usuwanie sprzeczności. Przykład 5 (sieć zależności) ZARYS METODY DODAWANIA WĘZŁOWI NOWEGO UZASADNIENIA 1. Jeżeli nowe uzasadnienie jest słuszne a rozpatrywany węzeł ma etykietę OUT, to wykonać krok 2, w przeciwnym wypadku zakończyć działanie. 2. Zmienić węzłowi etykietę na IN a następnie wyznaczyć konsekwencje tej zmiany w całej sieci zależności. 13
ZARYS METODY USUWANIA SPRZECZNOŚCI (WG [2]) Wejście: węzeł N oznaczający sprzeczność z etykietą IN Wyjście: węzeł N z etykietą OUT albo sygnał fail 1. Dla każdego słusznego uzasadnienia U węzła N wykonać kroki 2-3. 2. Skonstruować zbiór S = {A 1,, A i,, A n } zawierający wszystkie bezpośrednie założenia wspierające uzasadnienie U. Jeżeli zbiór S jest pusty to zakończyć z sygnałem fail (sprzeczności nie można usunąć na poziomie TMS-u). 3. Ze zbioru S wybrać dowolne założenie A i i dla każdego uzasadnienia słusznego węzła A i wybrać pewien element D j z listy L-OUT tego uzasadnienia, postaci D 1,, D j,, D k. Następnie, dodać węzłowi D j nowe, słuszne uzasadnienie, którego lista L-IN ma postać A 1,, A i-1, A i+1,, A n a lista L-OUT jest postaci D 1,, D j-1, D j+1,, D k. Metodę usuwania sprzeczności ilustruje poniższy rysunek; nowo dodane uzasadnienie ma kolor czerwony, etykiety wierzchołków dotyczą stanu sprzed dodania tego uzasadnienia. 14
System ATMS [Johan de Kleer, 1986] system ATMS nie posiada takich wad systemu JTMS jak: wyznaczanie pojedynczego rozwiązania, migotanie etykiet, nadrestrykcyjne traktowanie sprzeczności, wiedzę w systemie ATMS reprezentuje zbiór węzłów postaci (F, E, U) gdzie F jest formułą z bazy wiedzy, U jest zbiorem uzasadnień, tj. formuł (implikacji) opisujących zależność formuły F od formuł zawartych w innych węzłach, zaś E jest etykietą, tj. zbiorem kontekstów, czyli zbiorów K formuł, takich że ( K E) (K U F). ZADANIE SYSTEMU ATMS Dla każdego węzła w sieci zależności skonstruować etykietę, która jest niesprzeczna, trafna, pełna i minimalna, DZIAŁANIA WYKONYWANE PRZEZ SYSTEM ATMS dodawanie uzasadnienia węzłowi i wyznaczenie etykiety oznaczanie kontekstu K jako sprzecznego (nogood(k)) generowanie nowego węzła konstruowanie nowego uzasadnienia. Przykład 6 Dany jest zbiór następujących węzłów: (a, {{A, G}}, ), (b, {{B}, {C, D}, {A, C}}, ), (c, {{}}, ) oraz wyrażenie nogood({g, C }). Po dodaniu uzasadnienia a b c system wylicza etykietę węzła z formułą c: (c, {{A, G, B}, {A, G, C, D}, {A, G, C}}, ) (e. trafna i pełna) (c, {{A, G, B}, {A, G, C}}, ) (e. trafna, pełna i minimalna) (c, {{A, G, B}}, { a b c }) (e. trafna, pełna, minimalna i niesprzeczna) 15