McDermott
Transkrypt
McDermott
2016 © Adam Meissner Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner [email protected] 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 2016 © 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 2016 © Adam Meissner 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 2016 © Adam Meissner 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 • bazę wiedzy o zależnościach czasowych przedstawia się w postaci grafu: − wierzchołki grafu odpowiadają punktom czasowym − 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) c2 (2, 5) p2 c3 (3, 7) c4 (5, 8) p3 Elt(p3, p2) = (5, 7) Elt(p1, p2) = (7, 9) 4 2016 © Adam Meissner REPREZENTACJA WIEDZY PRZEDMIOTOWEJ • pojęcia podstawowe: − interwał czasowy (p1, p2) − token, zachodzenie tokenu P podczas interwału (p1, p2) • struktura bazy wiedzy: − fakty i domniemania (ang. beliefs) − reguły • metody wnioskowania: − wnioskowanie progresywne P1 ∧ ... ∧ Pn => Q (t1,1, t1,2) (tn,1, tn,2) (t1,1, t1,2) ∩ ... ∩ (tn,1, tn,2) wada: generowanie wielu bezużytecznych wniosków − automatyczna projekcja Z ∧ P1 ∧ ... ∧ Pn => Q (q1, q2) (z1, z2) 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 2016 © Adam Meissner 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 2016 © Adam Meissner 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 X before Y X meets Y X overlaps Y < m o symbol relacji odwrotnej > mi oi X during Y d di X starts Y s si X finishes Y f fi X equals Y = = ilustracja graficzna |----| |----| |-----||----| |--------| |--------| |-----| |----------| |-------| |-------------| |-------| |-------------| |-------------| |-------------| 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 sprzecznych 7 2016 © Adam Meissner 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 s d 8 2016 © Adam Meissner 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(i, k) = N(i, k) ∩ Constraints(R(i, j), N(j, k)); if R(i, k) ⊆ N(i, k) then Put((i, k), ToDo); } 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); } } zastosowanie interwałów referencyjnych Przykład 3 życie d przedszkole (życie) < m d nauka (życie) s szkoła podstawowa (nauka) d m m praca (życie) d f szkoła średnia (nauka) < < 9 studia (nauka) 2016 © Adam Meissner 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 F1 ∧ / ∧ Fm ∧ unless(D1) ∧ / ∧ unless(Dn) → W wyrażenie unless(D) jest prawdziwe o ile formuła D jest fałszywa albo jej wartość logiczna nie jest znana. 10 2016 © Adam Meissner Systemy utrzymywania wiarygodności • system utrzymywania wiarygodności (ang. Truth Maintenance Systems) służy do wyznaczania konsekwencji modyfikowania 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 2016 © Adam Meissner 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 2016 © Adam Meissner ZADANIE SYSTEMU JTMS 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 2016 © Adam Meissner 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 = {A1, …, Ai, …, An} 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 Ai i dla każdego uzasadnienia słusznego węzła Ai wybrać pewien element Dj z listy L-OUT tego uzasadnienia, postaci D1, …, Dj, …, Dk. Następnie, dodać węzłowi Dj nowe, słuszne uzasadnienie, którego lista L-IN ma postać A1, …, Ai-1, Ai+1, …, An a lista L-OUT jest postaci D1, …, Dj-1, Dj+1, …, Dk. 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 2016 © Adam Meissner 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}}, G), (b, {{B}, {C, D}, {A, C}}, G), (c, {{}}, G) 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}}, G) (e. trafna i pełna) − (c, {{A, G, B}, {A, G, C}}, G) (e. trafna, pełna i minimalna) − (c, {{A, G, B}}, { a ∧ b → c }) (e. trafna, pełna, minimalna i niesprzeczna) 15 !∀ # ∃ %&∃∋())&∗+&,&+− !%%. ! ∀# ∃%&∋ (!) ∗++, ∗ ∃!%−. / !&−−!0!1 !0 1!!−23 ∗++, 4 5(67. 0 8. ∃ ∀ & 0 (4 ,9:;4 ;9, < 5−0!= >) /??0 0 &0 & )&≅Α5&! ≅)5) (; < 4<4Β<< ∗++; Χ >0− !!∀ ! >8∀∀ )− ≅0 0∆<Ε< ;9; / /0 &−−!0!1 01 & −30 Α5 Φ% Φ−−!0 Φ−Γ!3? !0 :!Η5ΒΙ∆/ 8.0 .=>0 ;9Χ 01?0 !0!& !%&−Β &Γ 01!ϑ%−131# # Β −31−1Γ# Κ ! −1ΓΒ &2! − ! % − ! ! Λ!0Λ &−0 −!0!1 !0 1% %011Γϑ Μ!−!2Μ Ν0%Β 0 1)≅∀/ &−−!0!1 1ΦΝ− ! &0Β 1 !− 0 1 1Γ!−ΙΟ5!−!! ! Β !−− 30ΟΟΟ 1!20 ∀34 ! 0// ! !3: −!011Γϑ : !3Μ −!011Γϑ:≅ −!013: 2Μ −!011Γϑ3 !−Γ1Γ!−3Α51Γ 01 Φ 011%3!−0 !3 01Φ−!011Γ01%3 %11Φ0!!−Β − ! −3Φ!−2&1Γ0≅ 01Φ −!01 1 %3 − −1Π−& %11Φ0!!−−! !3 −3Φ!−21 −!011Γ0%12 01 1!20 ∀34 50 167! Α−!01 > !− )!−2 !∀# !∀# !∀# ∃ !∀# ∃ !∀# # ! # ∀ % # # !∀# % # ∃ ## # # #&∋( % % &∋( 1!20 ∀384 167!01 //9∀1∀0! 1Γ!− 1Γ!− 1Γ!− Α−!01 % % % 9/034 9/0 −1!0ΓΝ0≅Θ −1 3 Μ Ν0 ? 01 −1!0ΓΝ0Θ 01!0Φ01Γϑ 01!0Φ03 0ΓΝϑ 8Θ %11 −1! 1Φ0 2 Ν0 3 Β ) 0 0 Μ10 1 !2 %3? 01 1Φ0!Μ !030 30 0ΓΝ01ΜΓ!2Φ0 &0!−0 9/034 50/!2!:; 9/0384 /132<= 4 50/!2!:; 09/034 0//0 # ! !0Φ00ΓΝϑ≅Θ 2 Νϑ1Γ0 Ρ %01Γ1Γϑ Ρ 3 Μ Νϑ1Γϑ Ρ 2Φ0 Νϑ1Γϑ Ρ ! !0Φ00ΓΝ0Θ%021%!! ! Μ Νϑ !1Γ0 &Ρ − 1Γ−!011Γ0 &− ϑ%3 09/034 /0 /0 !! −!0 &!%01− 1 0 −% !0 !0 !!∃≅ ) 80 7≅ − 0!1 !!Α5& ΗΙ∆∗ Α5Β5 − &2 ΙΟ5∗. >Ο85∗. >8 ! !0 −&?0 Ο− ∗++Χ:!Η> 2 Νϑ1Γ01−%∃>)∃( ;;ΕΚ∃ ∗++<Κ7( ∗++:!80)Ρ 2 Νϑ1Γ01−%>≅>% ∗++; ∗+Κ ∗+ ! !Π0ΓΝ0≅Θ%1ΦΓ!!Β Φ0Γ0 −% !0 !0Κ!−!Π021 %!! Φ0ΓΝ0ΦΘ1Γ − Β 0!1 / #01>69=34 /0 /0314 −Μ! %!! Φ0ΓΝ0Φ≅ΘΜ Β −20ϑ3 Μ ! %!! −310ΓΝϑ≅Θ 1:!0 Μ!− ϑ Γ0!−0−!Β 011Γϑ %!! ! 0ΓΝ0≅Θ 1%!!Μ −20ϑ 3 Μ ! 2 Νϑ &1Γ0 1Γ012 &! 1 2 &!1Γ01 2 &!1Γ01 2 1Γ0Φ2Φ0 &!1Γ01 2 2 Νϑ &1Γ0Μ !−ϑ − 0 Β −% !0 !0:− − − 1Γ%Γ−3Β &02−1Φ!−!0%32Μ !001 3 Ν0 / #01>69=34 /0 /0314 −Π%!−Γ !02− ! %Μ !−ϑ02−Β 0−& 02−1 1&21 Β1Μ#∃#∃)#∃ Β1Μ#∃#∃ )# )∃ Β1Μ 1−Μ ) Β1Μ ) Β1Μ∃ 1−0Φ&#− Μ# #∗ )##∗ Β1Μ∃#+# & ),− / #01>69=384 /0 /0314 1 &2Γ−Π0!Γ &!02−Φ0& Μ Β ϑΜ 1&2!1 %&!!02−!Γ10 Νϑ & −3Φ!−!Γ0Φ1 1 Μ!0&2 Β1Μ%≅ 0!ϑ02−1−1Φ0!0 Νϑ Β1Μ 0!ϑ02−1−1Φ0!0 Νϑ Β 1Μ∃# +# #∗ +# 0!ϑ02−1−1Φ0!0 Νϑ &2ΦΣ−Π0 02−1Φ0!0 Νϑ1%&#∋#& ∋Κ#&!−&2Γ− Γ 1Γ01 2 &! 1%− Γ&1Γ0 / #01>69=3?4 9!10! %#%∃%#∃ / #059/034 50/#0!! / #059/034 !/ 50!7/34 !−2%!1Γ!− ?2Β4Μ ! −ϑ Μ / #059/0384 !!/ 69/0 − − 01 %!!11 Γ1Φ0Φϑ −2%!! ϑ−Φ / #059/03?4 9/0 2/1 !2 6 # 81Γ! − −0!1 2ΓΓ Μ!ϑ%!! Γ ! / #059/03≅4 /Α0!2:?; Α ! − −0!1 Μ !−!ϑ! Α5& ! !)≅≅)Χ /2#/ 5/!2/5>9!/ &! −−Γ− −! Ν0&− 1Γ!−−1 !0− −3 !& Νϑ: 1Γ!−−!01 1Γ!−ΙΟ5 !Γ 1−Λ−?%0 &Λ4 Λ−!0 !0Λ &− −!0!1 !0 2Μ Νϑ %0 Φ 1Φ Μ)>)∃/ %2 Ν0−!011Γ0&0 1Γ!− Μ!−!)>)∃/Β0 2Μ Νϑ%0 Φ&−−!0!1 !0Μ & 0ϑΒ ! Λ%3 −0Λ!0&−