Reprezentowanie i przetwarzanie wiedzy o czasie

Transkrypt

Reprezentowanie i przetwarzanie wiedzy o czasie
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.
2016 © Adam Meissner
Plan wykładu
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
(z1, z2)
(q1, q2)
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
d
o
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
d
d
<
przedszkole
(życie)
m
nauka
(życie)
s
szkoła podstawowa
(nauka)
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}}, …), (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