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&−

Podobne dokumenty