mgr Adam Marszałek Zakład Inteligencji Obliczeniowej Instytut Informatyki PK Inżynieria wiedzy Wnioskowanie oparte na wiedzy niepewnej Opracowane na podstawie materiałów dra Michała Berety Wstępnie na temat wnioskowania: Wnioskowanie oparte o reguły Jeżeli - to (Production Rules) Jeżeli warunek to konkluzja, Jeżeli warunek1 i warunek2 to konkluzja, Jeżeli warunek1 lub warunek2 to konkluzja. Tradycyjne wnioskowanie oparte jest na klasycznej logice dwuwartościowej, wnioskowanie przeprowadzamy korzystając z tzw. reguły modus ponens (reguła odrywania) postaci: A B, A. B Oznacza to, że jeżeli z A wynika B oraz wiemy, że zaszło zdarzenie A (A jest prawdziwe), to wnioskujemy, że również B jest prawdziwe. Wnioskowanie w przód: Idea wnioskowania w przód jest niezwykle prosta. Na podstawie dostępnych reguł i faktów należy generować nowe fakty tak długo, aż wśród wygenerowanych faktów znajdzie się postawiony cel (hipoteza). Podstawową cechą tego sposobu wnioskowania, która w pewnych sytuacjach może być jego wadą, jest możliwość zwiększania się bazy faktów. Postępowanie takie umożliwia, szczególnie w przypadku baz wiedzy o niewielkiej liczbie faktów, zwiększenie ich liczby, a co za tym idzie, przyspieszenie procesu sprawdzania postawionej hipotezy. Jednocześnie, z innego punktu widzenia, tworzenie nowych faktów, w pewnych szczególnych sytuacjach może być zjawiskiem niepożądanym, gdyż zajmują one niepotrzebnie pamięć operacyjną komputera, co może doprowadzić do jej całkowitego zapełnienia. Wnioskowanie w tył: Wnioskowanie wstecz przebiega w odwrotną stronę niż wnioskowanie w przód. Ogólnie polega ono na wykazaniu prawdziwości hipotezy głównej na postawie prawdziwości przesłanek. Jeśli nie wiemy, czy jakaś przesłanka jest prawdziwa, to traktujemy tę przesłankę jako nową hipotezę i próbujemy ją wykazać. Jeżeli w wyniku takiego postępowania zostanie wreszcie znaleziona reguła, której wszystkie przesłanki są prawdziwe, to konkluzja tej reguły jest prawdziwa. Na podstawie tej konkluzji 1
dowodzi się następną regułę, której przesłanka nie była poprzednio znana itd. Postawiona hipoteza jest prawdziwa, jeśli wszystkie rozważane przesłanki dadzą się wykazać. Zasadniczą cechą, która odróżnia wnioskowanie wstecz od wnioskowania w przód jest mniejsza liczba generowanych nowych faktów oraz niemożność równoczesnego dowodzenia kilku hipotez. Ogólnie w typowych zastosowaniach wnioskowanie wstecz jest efektywniejsze i bardziej rozpowszechnione. Należy również podkreślić, że przy wnioskowaniu wstecz czas oczekiwania na osiągnięcie rozwiązania postawionej hipotezy jest w wielu przypadkach dużo krótszy niż przy wnioskowaniu w przód. Więcej na ten temat oraz przykłady implementacji w języku PROLOG dostępne w materiałach do Wstępu do sztucznej inteligencji. Wnioskowanie w przód można zastąpić wnioskowaniem w tył poprzez wyprowadzanie każdej z hipotez po kolei. Przykład prognozy pogody - Wnioskowanie.rar. Wnioskowanie w przypadku wiedzy niepewnej. Wiedza niepewna: Wiedza pochodząca od człowieka może być niedoskonała. Stosując do takiej wiedzy metody zakładające doskonałą wiedzę jesteśmy narażeni na uzyskiwanie wniosków, które nie muszą być prawdziwe i o których prawdziwości nie potrafimy nic powiedzieć (np. przykład prognozy pogody). Celowe jest w związku z tym wyposażanie systemów wnioskujących na podstawie niedoskonałej wiedzy w specjalne mechanizmy jej przetwarzania, dzięki którym będzie możliwe charakteryzowanie rodzaju i stopnia niedoskonałości wiedzy pochodzącej od człowieka, a także nowej wiedzy wyprowadzonej na jej podstawie przez system wnioskujący. Wnikając głębiej w naturę niedoskonałości ludzkiej wiedzy można wskazać przynajmniej jej trzy podstawowe rodzaje: niepewność: prawdziwość niektórych stwierdzeń nie jest pewna, niepełność: niektóre prawdziwe stwierdzenia nie są znane, lecz nie można z tego powodu zakładać ich nieprawdziwości, niedokładność: przynależność do niektórych relacji, odpowiadających predykatom występującym w stwierdzeniach, nie jest znana dokładnie. W przypadku wiedzy niepewnej mamy do czynienia ze stwierdzeniami, o których w ogólnym przypadku nie można powiedzieć z pewnością, że są prawdziwe albo fałszywe. Potrzebne są w tym celu jakieś metody charakteryzowania stopnia przekonania o prawdziwości stwierdzeń - zarówno należących do początkowej bazy wiedzy, jak i uzyskiwanych w wyniku głosowania. Niepełność wiedzy oznacza, że status prawdziwości pewnych stwierdzeń potrzebnych do wnioskowania nie jest znany. Może to wymagać założenia ich prawdziwości w celu przeprowadzenia wnioskowania, lecz z pozostawieniem możliwości rewizji tego wnioskowania, gdyby następnie pojawiła się wiedza zaprzeczająca temu założeniu. Niedokładność polega na niemożliwości precyzyjnego odróżnienia w dziedzinie, na temat której zapisujemy wiedzę, obiektów należących do pewnej relacji od obiektów do niej nienależących. Istnieje wiele technik przetwarzania wiedzy obarczonej różnymi rodzajami niedoskonałości w taki sposób, aby prowadzone na jej podstawie wnioskowanie prowadziło do wniosków, któ- 2
rych jakość można w pewien sposób scharakteryzować, czyli odpowiedzieć na pytanie, jak bardzo doskonałe bądź niedoskonałe wnioski można wyciągnąć na podstawie niedoskonałej wiedzy. Do najbardziej znanych metod należą: Wnioskowanie probabilistyczne: Wnioskowanie probabilistyczne nazywamy także wnioskowaniem bayesowskim, ze względu na kluczową rolę, jaką w nim pełni wzór Bayesa. Jest to metoda przetwarzania wiedzy niepewnej oparta na bezpośrednim wykorzystaniu rachunku prawdopodobieństwa, w której poszczególnym stwierdzeniom przypisuje się prawdopodobieństwo ich prawdziwości. Wzór na prawdopodobieństwo warunkowe: P (A B) = P (A B) P (B) z = P (A)P (B), P (B) gdzie równość z = zachodzi przy założeniu niezależności zdarzeń A i B. Wzór Bayesa opisuje następującą zależność prawdopodobieństw warunkowych: P (A B) = P (B A)P (A). P (B) Zastosowanie we wnioskowaniu: Załóżmy, że bierzemy pod uwagę skończoną liczbę hipotez H 1,..., H n parami niezależnych i wyczerpujących wszystkie możliwości. Oraz dysponujemy skończoną liczbą przesłanek E 1,..., E m, o których wiemy, że zaszły. Wówczas z wzoru Bayesa przez zastosowanie wzoru na prawdopodobieństwo całkowite można wyprowadzić następujący wzór ogólny: P (H i E 1,..., E m ) = P (E 1,..., E m H i )P (H i ) n. P (E 1,..., E m H j )P (H j ) j=1 Oznacza to, że znając prawdopodobieństwa a priori hipotez P (H i ) oraz prawdopodobieństwa warunkowe P (E j H i ) możemy wyznaczyć prawdopodobieństwa a posteriori hipotez P (H i E j ). Hipotezy: H 1 pogoda jutro będzie deszczowa, H 2 pogoda jutro będzie słoneczna. Zaobserwowane przesłanki: E 1 pogoda dziś słoneczna, E 2 opady dziś niskie, E 3 temperatura dziś wysoka, E 4 niebo dziś bezchmurne. Przykład prognozy pogody - Wnioskowanie Bayes.rar. 3
Prawdopodobieństwa a priori: P (H 1 ) = P (H 2 ) = 0.5, P (E 1 H 1 ) = 0.2, P (E 1 H 2 ) = 0.33, P (E 2 H 1 ) = 0.032, P (E 2 H 2 ) = 0.8, P (E 3 H 1 ) = 0.75, P (E 3 H 2 ) = 0.225, P (E 4 H 1 ) = 0.765, P (E 4 H 2 ) = 0.85, Prawdopodobieństwa a posteriori: P (H 1 E 1, E 2, E 3, E 4 ) = 0.2 0.032 0.75 0.765 0.5 0.2 0.032 0.75 0.765 0.5 + 0.33 0.8 0.225 0.85 0.5 = 0.068 P (H 2 E 1, E 2, E 3, E 4 ) = 0.33 0.8 0.225 0.85 0.5 0.2 0.032 0.75 0.765 0.5 + 0.33 0.8 0.225 0.85 0.5 = 0.932 Współczynniki wystarczalności i konieczności: Omówimy teraz pewną metodę przetwarzania wiedzy niepewnej, w której poszczególnym regułą przypisuje się mary przekonania, że jeżeli wystąpiła przesłanka reguły, to również wystąpi jej wniosek. Współczynnik wystarczalności (likelihood of sufficiency - LS), jest to miara przekonania eksperta, że hipoteza H wystąpi, jeśli wystąpi przesłanka E. Współczynnik konieczności (likelihood of necessity - LN), jest to miara przekonania eksperta na ile przesłanka E jest konieczna do wystąpienia hipotezy H. Miary te mogą zostać podane przez eksperta lub otrzymane z prawdopodobieństw warunkowych według wzorów: LS = P (E H) P (E H), P ( E H) LN = P ( E H), gdzie oznacza negację. Wysokie wartości LS (LS >> 1) wskazują na to, że reguła mocno wspiera hipotezę H jeśli zaobserwowano E. Małe wartości LN (0 < LN < 1) wskazują na to, że reguła mocno zaprzecza hipotezie H w przypadku braku E. Uwaga: LS nie może być otrzymany z LN ani LN z LS. 4
Przebieg rozumowania z wykorzystaniem współczynników LS i LN: W pierwszym kroku prawdopodobieństwa a priori P (H) są przekształcane w szanse a priori (ang. prior odds). O(H) = P (H) 1 P (H) Prawdopodobieństwa a priori są używane jedynie za pierwszym razem. W celu uzyskania szans a posteriori (ang. posterior odds) szanse a priori są uaktualniane za pomocą LS jeśli przesłanka reguły jest spełniona, lub za pomocą LN jeśli przesłanka nie jest spełniona. O(H E) = LS O(H), O(H E) = LN O(H). Prawdopodobieństwa a posteriori są uzyskiwane z szans a posteriori. P (H E) = O(H E) O(H E), P (H E) = 1 + O(H E) 1 + O(H E). Przykład prognozy pogody - Wnioskowanie LNLS.rar Baza reguł: R1: Jeżeli dziś deszcz, to jutro deszcz (a priori 0.5, LS=2.5, LN=0.6), R2: Jeżeli dziś słońce, to jutro słońce (a priori 0.5, LS=1.6, LN=0.4), R3: Jeżeli dziś deszcz i opady niskie, to jutro słońce (a priori 0.5, LS=10, LN=1), R4: Jeżeli dziś deszcz i opady niskie i temp. niska, to jutro słońce (a priori 0.5, LS=1.5, LN=1), R5: Jeżeli dziś słońce i temp. wysoka, to jutro deszcz (a priori 0.5, LS=2, LN=0.9), R6: Jeżeli dziś słońce i temp. wysoka i niebo zachmurzone, to jutro deszcz (a priori 0.5, LS=5, LN=1). Hipotezy: H 1 pogoda jutro będzie deszczowa, H 2 pogoda jutro będzie słoneczna. Zaobserwowane przesłanki: E 1 pogoda dziś deszczowa, E 2 opady dziś niskie, E 3 temperatura dziś niska, E 4 niebo dziś bezchmurne. Przebieg rozumowania: Reguła 1: (wnioskuje hipotezę H 1 ) O(H 1 ) = P (H 1) 1 P (H 1 ) = 0.5 1 0.5 = 1, O(H 1 E 1 ) = LS O(H 1 ) = 2.5 1 = 2.5, P (H 1 E 1 ) = O(H 1 E 1 ) 1 + O(H 1 E 1 ) = 2.5 1 + 2.5 = 0.7143, 5
Reguła 2: (wnioskuje hipotezę H 2 ) O(H 2 ) = P (H 2) 1 P (H 2 ) = 0.5 1 0.5 = 1, O(H 2 E 1 ) = LN O(H 2 ) = 0.4 1 = 0.4, P (H 2 E 1 ) = O(H 2 E 1 ) 1 + O(H 2 E 1 ) = 0.4 1 + 0.4 = 0.2857, Reguła 3: (wnioskuje hipotezę H 2 - jako prawd. a priori przyjmujemy P (H 2 E 1 )) O(H 2 ) = P (H 2 E 1 ) 1 P (H 2 E 1 ) = 0.2857 1 0.2857 = 0.4, O(H 2 E 1, E 2 ) = LS O(H 2 ) = 10 0.4 = 4, P (H 2 E 1, E 2 ) = O(H 2 E 1, E 2 ) 1 + O(H 2 E 1, E 2 ) = 4 1 + 4 = 0.8, Reguła 4: (wnioskuje hipotezę H 2 - jako prawd. a priori przyjmujemy P (H 2 E 1, E 2 )) O(H 2 ) = P (H 2 E 1, E 2 ) 1 P (H 2 E 1, E 2 ) = 0.8 1 0.8 = 4, O(H 2 E 1, E 2, E 3 ) = LS O(H 2 ) = 1.5 4 = 6, P (H 2 E 1, E 2, E 3 ) = O(H 2 E 1, E 2, E 3 ) 1 + O(H 2 E 1, E 2, E 3 ) = 6 1 + 6 = 0.8571, Reguła 5: (wnioskuje hipotezę H 1 - jako prawd. a priori przyjmujemy P (H 1 E 1 )) O(H 1 ) = P (H 1 E 1 ) 1 P (H 1 E 1 ) = 0.7143 1 0.7143 = 2.5, O(H 1 E 1, E 2 ) = LN O(H 2 ) = 0.9 2.5 = 2.25, P (H 1 E 1, E 2 ) = O(H 1 E 1, E 2 ) 1 + O(H 1 E 1, E 2 ) = 2.25 1 + 2.25 = 0.6923, Reguła 6: nie zmienia prognozy, bo LN = 1. Ostatecznie otrzymaliśmy prawdopodobieństwa a posteriori: P (H 1 E 1, E 2, E 2, E 4 ) = 0.6923, P (H 2 E 1, E 2, E 3, E 4 ) = 0.8571. Współczynniki pewności: Współczynniki pewności(certainty Factors CF) są metodą przetwarzania wiedzy niepewnej, w której poszczególnym stwierdzeniom przypisuje się liczbowe stopnie pewności wyrażające subiektywne przekonanie człowieka o ich prawdziwości. Wartość CF należąca do zbioru [ 1, 1] określa wiarę, że jeśli zaszła przesłanka, to zaszedł również wniosek. CF = 1.0 : całkowita wiara w daną regułę. CF = -1.0 : całkowita niewiara w daną regułę. Wartość CF jest oparta na dwóch funkcjach: 6
MB(H, E) miara wiary (Measure of Belief) stopień wiary w H, za którym przemawia wystąpienie E. MD(H, E) miara niewiary (Measure of Disbelief) stopień niewiary w H, za którym przemawia wystąpienie E. Funkcje M B(H, E) oraz M D(H, E) mogą być zdefiniowane za pomocą prawdopodobieństw a priori oraz warunkowych: 1, gdy P (H) = 1, MB(H, E) = max[p (H E), P (H)] P (H), max[1, 0] P (H) w p.p. MD(H, E) = 1, gdy P (H) = 0, min[p (H E), P (H)] P (H), min[1, 0] P (H) w p.p. Funkcje MB oraz MD przyjmują wartości z przedziału [0, 1] Wartość CF wówczas można obliczyć jako: CF = MB(H E) MD(H E) 1 min[mb(h E), MD(H E)]. Współczynnik CF nie wyraża wartości procentowych, nie jest również wartością statystyczną. Jest on natomiast odzwierciedleniem wiary eksperta w daną regułę. Użycie współczynników CF w procesie wnioskowania: Należy określić CF dla wniosku danej reguły, znając CF samej reguły oraz stopień pewności przesłanki. CF (H, E) = CF (E) CF. W przypadku wielu przesłanek, mamy: CF (H, E 1... E n ) = min[cf (E 1 ),..., CF (E n )] CF, CF (H, E 1... E n ) = max[cf (E 1 ),..., CF (E n )] CF. W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie, obliczamy ich wspólny CF korzystając ze wzoru: CF 1 + CF 2 (1 CF 1 ), gdy CF 1 > 0 oraz CF 2 > 0, CF CF (CF 1, CF 2 ) = 1 +CF 2 1 min[ CF, gdy CF 1, CF 2 ] 1 CF 2 < 0, CF 1 + CF 2 (1 + CF 1 ), gdy CF 1 < 0 oraz CF 2 < 0. 7
Przykład prognozy pogody - Wnioskowanie CF.rar Baza reguł: R1: Jeżeli dziś deszcz, to jutro deszcz (CF R1 = 0.5), R2: Jeżeli dziś słońce, to jutro słońce (CF R2 = 0.5), R3: Jeżeli dziś deszcz i opady niskie, to jutro słońce (CF R3 = 0.6) R4: Jeżeli dziś deszcz i opady niskie i temp. niska, to jutro słońce (CF R4 = 0.7), R5: Jeżeli dziś słońce i temp. wysoka, to jutro deszcz (CF R5 = 0.65), R6: Jeżeli dziś słońce i temp. wysoka i niebo zachmurzone, to jutro deszcz (CF R6 = 0.55). Hipotezy: H 1 pogoda jutro będzie deszczowa, H 2 pogoda jutro będzie słoneczna. Zaobserwowane przesłanki: E 1 pogoda dziś deszczowa w stopniu CF (E 1 ) = 1, E 2 opady dziś niskie w stopniu CF (E 2 ) = 0.8, E 3 temperatura dziś niska w stopniu CF (E 3 ) = 0.9, E 4 niebo dziś bezchmurne w stopniu CF (E 4 ) = 1. Przebieg rozumowania: Reguła 1: (wnioskuje hipotezę H 1 ) CF (H 1, E 1 ) = CF (E 1 ) CF R1 = 1 0.5 = 0.5. Reguła 2: nie jest odpalana, bo nie zaszła jej przesłanka. Reguła 3: (wnioskuje hipotezę H 2 ) CF (H 2, E 1 E 2 ) = min[cf (E 1 ), CF (E 2 )] CF R3 = min[1, 0.8] 0.6 = 0.48. Reguła 4: (wnioskuje hipotezę H 2 ) CF (H 2, E 1 E 2 E 3 ) = min[cf (E 1 ), CF (E 2 ), CF (E 3 ] CF R4 = min[1, 0.8, 0.9] 0.7 = 0.56. Reguła 5: nie jest odpalana, bo nie zaszły jej przesłanki. Reguła 6: nie jest odpalana, bo nie zaszły jej przesłanki. Reguły 3 i 4 wnioskują tą samą hipotezę, zatem: CF (CF (H 2, E 1 E 2 ), CF (H 2, E 1 E 2 E 3 )) = 0.48 + 0.56(1 0.48) = 0.7712. Ostatecznie otrzymaliśmy prognozy: CF (H 1, E 1 E 2 E 2 E 4 ) = 0.5, CF (H 2, E 1 E 2 E 3 E 4 ) = 0.7712. 8