Algorytmy Sztucznej Inteligencji wykład nr 2 wnioskowanie i SE Agnieszka Nowak - Brzezińska Słowem wstępu… • Większość programów komputerowych nie zachowuje sie szczególnie inteligentnie. • Wszędzie tam, gdzie znamy dokładny algorytm rozwiązania zadania, inteligencja nie jest konieczna. • Wszędzie tam, gdzie rozwiązanie nie daje się ująć w ścisłe reguły lub wymaga tak wielkiej liczby obliczeń, że jest niewykonalne, wymaga się pewnej dozy inteligencji z naszej strony, a jeśli ma wykazywać ją program komputerowy, mówimy o inteligencji sztucznej. Sztuczna Inteligencja (Artificial Intelligence, AI) …to dziedzina nauki zajmująca się rozwiązywaniem zagadnień efektywnie niealgorytmizowalnych w oparciu o modelowanie wiedzy. Soft Computing Logika rozmyta Sieci neuronowe Optymalizacja badania operacyjne Algorytmy ewolucyjne Wizualizacja Data mining Systemy ekspertowe Metody statystyczne CI - numeryczne Dane + Wiedza AI - symboliczne Rachunek prawdop. Uczenie maszynowe Rozpoznawanie Wzorców Rys historyczny • Sztuczna inteligencja to termin zaproponowany przez John’a McCarthy’ego w 1956 roku, na konferencji w Dartmouth College poświęconej inteligentnym maszynom. Rys historyczny • Okres ciemności: 1965-1970, w którym niewiele się działo, powoli opadał entuzjazm i pojawiły się głosy bardzo krytyczne. • Renesans: 1970-1975, gdy zaczęto budować pierwsze systemy doradcze, użyteczne w praktyce. • Okres partnerstwa: 1975-1980, gdy do badań nad AI wprowadzono metody kognitywistyki. • Okres komercjalizacji: 1980-1990, gdy programy AI, a szczególnie systemy doradcze zaczęto sprzedawać komercyjnie Co to inteligencja ? • Inteligencja jest umiejętnością przystosowywania się do nowych zadań i warunków życia albo sposobem, w jaki człowiek przetwarza informacje i rozwiązuje problemy. • Inteligencja to także umiejętność kojarzenia oraz rozumienia. Wpływ na nią mają zarówno cechy dziedziczne jak i wychowawcze. Definicje AI w literaturze: • Jest nauką o maszynach realizujących zadania, które wymagają inteligencji, gdy są wykonywane przez człowieka (M.Minsky) • AI stanowi dziedzinę informatyki dotyczącą metod i technik wnioskowania symbolicznego przez komputer oraz symbolicznej reprezentacji wiedzy stosowanej podczas takiego wnioskowania (E. Feigenbaum) • AI obejmuje rozwiązywanie problemów sposobami wzorowanymi na naturalnych działaniach i procesach poznawczych człowieka za pomocą symulujących je programów komputerowych (R.J. schalkoff). • Sztuczna inteligencja to automatyzacja zdolności przypisanych ludzkiemu myśleniu, zdolności taki jak podejmowanie decyzji ,,rozwiązywanie problemów,, uczenie się... [Bellman, 1978] • Sztuczna inteligencja to badania prowadzone w kierunku stworzenia komputerów, które myślą ... maszyn posiadających umysł.. [Haugelland,, 1985] • Sztuczna inteligencja to sztuka tworzenia maszyn zdolnych do wykonywania działań,, wymagających od człowieka zaangażowania inteligencji.. [Kurzweil,, 1990] • Sztuczna inteligencja to badania mające na celu stworzenie komputerów posiadających umiejętności,, w których człowiek jest obecnie lepszy.. [Rich i Knight,, 1991] • Sztuczna inteligencja to badanie zdolności umysłowych za pomocą modeli obliczeniowych.. [Charniak i McDermott, 1985] • Sztuczna inteligencja to studia nad modelami obliczeniowymi, które umożliwiają percepcjję, wnioskowanie i działanie.. [Winstton, 1992] • Sztuczna inteligencja to badania mające na celu opis i symulację inteligentnego zachowania w kategoriach procesów obliczeniowych..[Schallkoff, 1990] • Sztuczna inteligencja jest gałęzią informatyki, zajmującą się automatyzacją inteligentnego zachowania..[Luger i Stublefield, 1993] Inne definicje AI: • „AI to nauka mająca za zadanie nauczyć maszyny zachowań podobnych do ludzkich”. • „AI to nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie ludzie robią lepiej”. • „AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie”. Definicja Nie ma efektywnego algorytmu? Drobna zmiana może wymagać całkiem innego programu! Nie można przewidzieć wszystkich zmian. Rozwiązanie wymaga inteligencji. Sztuczna Inteligencja (Artificial Intelligence, AI) to dziedzina nauki zajmująca się rozwiązywaniem zagadnień efektywnie niealgorytmizowalnych w oparciu o modelowanie wiedzy. Inne definicje: * AI to nauka mająca za zadanie nauczyć maszyny zachowań podobnych do ludzkich. * AI to nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie ludzie robią lepiej. * AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. Dwa rodzaje Sztucznej Inteligencji • Słaba (Weak AI) - potrafi rozwiązywać trudne zadania w sposób umożliwiający praktyczne zastosowanie, • Mocna (Strong AI) - oznacza myślenie przybliżające myślenie ludzkie. Wersja słaba AI • Filozofowie (J. Searl) sformułowali następujące rozróżnienie: • Wersja słaba AI: Komputer pozwala formułować i sprawdzać hipotezy dotyczące mózgu. Program = symulacja, ale nie „prawdziwe” myślenie. W tej wersji AI nie ma wielu oponentów gdyż jest wiele dowodów na jej oczywistą przydatność. Możliwa jest komputerowa symulacja inteligentnego działania niebiologicznymi metodami. Wersja silna AI • Wersja silna AI: komputer odpowiednio zaprogramowany jest w istotny sposób równoważny mózgowi i może mieć stany poznawcze. Wersja często atakowana, ciągłe spory filozoficzne, czy jest to możliwe, ale eksperci się tym martwią. Symulacja inteligencji to nie „prawdziwa inteligencja”, umysł nie jest programem a mózg nie jest komputerem. Stąd następująca definicja: • Sztuczna inteligencja to tylko to, czego jeszcze nie potrafią zrobić sztuczne systemy. Najważniejsze procesy i funkcje składające się na ludzką inteligencję: • Uczenie się i wykorzystywanie wiedzy, zdolność uogólniania, percepcja i zdolności poznawcze, np. zdolność rozpoznawania danego obiektu w dowolnym kontekście. • Zapamiętywanie, stawianie i realizacja celów, umiejętność współpracy, formułowanie wniosków, zdolność analizy, tworzenie oraz myślenie koncepcyjne i abstrakcyjne. Uczenie się Zdolność do uczenia się jest powszechnie uważana za jeden z najważniejszych przejawów inteligencji. Przez uczenie się rozumiemy, w najprostszym ujęciu, zdobywanie wiedzy lub umiejętności (a także doskonalenie dotychczas posiadanej wiedzy lub umiejętności), na podstawie wspomagających informacji, takich jak doświadczenia czy przykłady. Rozważając sztuczne systemy uczące się będziemy przez uczenie się rozumieć proces zmiany zachodzącej w systemie na podstawie doświadczeń, która prowadzi do poprawy jego jakości działania rozumianej jako sprawność rozwiązywania stojących przed systemem zadań. Systemy Ekspertowe System ekspertowy to inteligentny program komputerowy stosujący wiedzę i procedury rozumowania (wnioskowania) w celu rozwiązywania problemów, które wymagają doświadczenia ludzkiego (eksperta), nabytego przez wieloletnią działalność w danej dziedzinie. Ogólna idea SE polega na przeniesieniu wiedzy eksperta z danej dziedziny do bazy wiedzy, zaprojektowaniu maszyny wnioskującej na podstawie posiadanych informacji oraz dodaniu interfejsu użytkownika, służącego do komunikacji. Kiedy nasz program lub maszyna jest inteligentna ? • Na to pytanie w 1950 roku próbował odpowiedzieć Alan Turing. • Idea „Testu Turinga” polegała na tym, że człowiek za pomocą klawiatury i monitora zadaje te same pytania komputerowi i innej osobie. Jeśli zadający pytania nie potrafi rozróżnić odpowiedzi komputera i człowieka, tzn. że program (maszyna) jest inteligentny. • Spory o to, czy test Turinga we właściwy sposób definiuje inteligencję maszynową (lub "myślenie maszynowe"), dotyczyły głównie trzech punktów: • Maszyna, która przejdzie test Turinga, może być w stanie symulować ludzkie zachowanie konwersacyjne, lecz może to być znacznie mniej niż prawdziwa inteligencja. Maszyna może zwyczajnie używać sprytnie wymyślonych reguł. Częstą ripostą w społeczności zajmującej się badaniami nad sztuczną inteligencją jest zadanie pytania "A skąd wiemy, czy ludzie sami po prostu nie posługują się jakimiś sprytnie wymyślonymi regułami?". • Maszyna może być inteligentna nie posiadając ludzkiej umiejętności prowadzenia rozmowy. • Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Z drugiej strony, inteligencję innych ludzi oceniamy zazwyczaj wyłącznie na podstawie tego co i jak mówią. Test Turinga • Test ten został zaproponowany w 1950 roku przez Alana Turinga. • Turing zaproponował ten test w celu zamiany pełnego emocji i w jego pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej zdefiniowane, w ramach badań nad stworzeniem sztucznej inteligencji. • Test wygląda następująco: • sędzia - człowiek - prowadzi rozmowę w języku naturalnym z pozostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test. Zakłada się, że zarówno człowiek jak i maszyna próbują przejść test zachowując się w sposób możliwie zbliżony do ludzkiego Zastosowania Systemów Ekspertowych • • • • • • • • • • Obszary zastosowań systemów ekspertowych obejmują w głównej mierze następujące dziedziny: Interpretacja -- formowanie wniosków następuje na podstawie danych Prognozowanie -- przewidywanie możliwych konsekwencji wystąpienia określonych sytuacji Diagnostyka -- wykrywanie przyczyn niesprawności w oparciu o zaobserwowane symptomy Projektowanie -- określenie konfiguracji składowych systemu, spełniającej określone kryteria działania przy określonych ograniczeniach Planowanie -- określanie sekwencji działań prowadzących do celu przy zadanych warunkach startowych Monitoring -- porównywanie zaobserwowanego funkcjonowania z oczekiwanymi działaniami Serwis -- wykrywanie i usuwanie usterek Szkolenie i instruktaż -- wykrywanie i korygowanie błędów w rozumieniu przedmiotu danej dziedziny Sterowanie automatyczne -- nadzór nad funkcjonowaniem złożonych systemów Zalety i ograniczenia • • • • • • • • • Tak szeroki wachlarz zastosowań wynika niewątpliwie z pewnych cech, które jednocześnie są zaletami systemów ekspertowych. Należą do nich: - większa dostępność ekspertyzy - mniejszy koszt ekspertyzy - mniejsze ryzyko w warunkach szkodliwych dla zdrowia ciągłość pracy - wyjaśnianie decyzji - szybkość uzyskania ekspertyzy stała, niewrażliwa na emocje i pełna ekspertyza - uczenie metodą prób i błędów - inteligentny interfejs człowiek-komputer Architektura SE Etapy tworzenia systemu ekspertowego: • analiza problemu, pod kątem, czy kwalifikuje się on do budowy systemu ekspertowego, • opracowanie specyfikacji systemu, zdefiniowanie jego zadań i oczekiwanych wyników; • przejęcie wiedzy od ekspertów i jej opracowanie; • wybór metody reprezentacji wiedzy oraz „narzędzi” do budowy systemu; • organizacja i kodowanie wiedzy (prototyp, pełna wersja); • weryfikacja i testowanie systemu. Właściwości systemów ekspertowych: • Są narzędziem kodyfikacji wiedzy; • Mają zdolność rozwiązywania problemów specjalistycznych, w których dużą rolę odgrywa doświadczenie a wiedza ekspercka jest dobrem rzadkim i kosztownym; • Zwiększają dostępność ekspertyzy; • Zapewniają możliwość prowadzenia jednolitej polityki przez centralę firm mających wiele oddziałów; • Poziom ekspertyzy jest stabilny – jej jakość nie zależy od warunków zewnętrznych i czasu pracy systemu; • Jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika końcowego; • Zdolność do objaśniania znalezionych przez system rozwiązań; • Możliwość przyrostowej budowy i pielęgnacji bazy wiedzy. System ekspertowy służy do rozwiązywania problemów, które charakteryzują się jedną lub wieloma z następujących cech: • problem nie da się sformalizować w postaci liczbowej; • cele nie dadzą się opisać za pomocą matematycznych funkcji celu; • nie istnieją formalne algorytmy rozwiązywania problemu; • dane i wiedza systemu są obarczone nieznanym błędem lub są one niepełne, niepewne. Przyczyny tworzenia systemu ekspertowego (uogólnione): • tylko jeden (lub bardzo niewielu) specjalista posiada niezbędną wiedzę, co grozi jej utratą; • ekspertyza jest wymagana często lub jest niezbędna w wielu miejscach; • ekspertyza jest niezbędna w miejscach niedostępnych dla człowieka lub szkodliwych dla zdrowia. Wnioskowanie Typy wnioskowania • Wnioskowanie w przód (data driven) • Wnioskowanie wstecz (goal driven) • Wnioskowanie mieszane Sterowanie wnioskowaniem Mechanizm wnioskowanie w przód Mechanizm wnioskowanie w przód Idea wnioskowania wstecz Algorytm wnioskowania wstecz Mechanizm wnioskowania wstecz dla hipotezy „v” Idea wnioskowania mieszanego Dodatkowo… • WnioskowanieR.pdf Metody realizacji systemów ekspertowych w środowisku systemu PC-Shell Właściwości: • są narzędziem kodyfikacji wiedzy eksperckiej, • mają zdolność rozwiązywania problemów specjalistycznych, w których duża rolę odgrywa doświadczenie a wiedza ekspercka jest dobrem rzadkim i kosztownym. • zwiększają dostępność ekspertyzy, • zapewniają możliwość prowadzenia jednolitej polityki przez centralę firm mających wiele oddziałów, • poziom ekspertyzy jest stabilny - jej jakość nie zależy od warunków zewnętrznych i czasu pracy systemu, • jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika końcowego, • zdolność do objaśniania znalezionych przez system rozwiązań, • możliwość przyrostowej budowy i pielęgnacji bazy wiedzy. Zastosowania • analiza ryzyka, • ocena wniosków kredytowych, uczestników przetargów, • monitorowanie, diagnostyka, predykcja, • wspomaganie procesów diagnostycznych, • analiza i interpretacja danych, • instruktaż, dydaktyka, szkolenia. Tworzenie systemu ekspertowego Ogólna charakterystyka szkieletowego systemu ekspertowego PC-Shell PC–Shell jest podstawowym elementem pakietu sztucznej inteligencji Sphinx® • PC–Shell jest dziedzinowo niezależnym narzędziem do budowy systemów ekspertowych, posiada właściwości hybrydowe, wykorzystuje elementy architektury tablicowej; • wykorzystuje różne metody reprezentacji wiedzy: 1. 2. 3. 4. deklaratywna w postaci reguł i faktów, wiedza rozproszona w sieci neuronowej, imperatywna w formie programu algorytmicznego, faktograficzna w formie tekstów, grafiki, dźwięku, sekwencji wideo; • system zapewnia wyjaśnienia: 1. 2. 3. 4. 5. jak (ang. how), dlaczego (ang. why), co to jest (ang. what is), metafory (ang. metaphor), opisu faktów; • wykorzystywane jest wnioskowanie wstecz (z nawrotami), • bazy wiedzy mogą być parametryzowane, • system ma możliwość bezpośredniego pozyskiwania informacji z baz danych (ODBC), wykorzystuje mechanizm DDE, • system PC–Shell współpracuje z innymi elementami pakietu – systemem Neuronix przeznaczonym do tworzenia sieci neuronowych, systemem CAKE przeznaczonym do wspomagania pracy inżyniera wiedzy oraz realizującym funkcje systemu dbMaker, zarządzającego bazami wyjaśnień. Architektura SE Wykłady z PC-Shella • http://zsi.tech.us.edu.pl/~nowak/zaocznese/tworzenieBW.pdf • http://zsi.tech.us.edu.pl/~nowak/zaocznese/Sphinx.pdf Z menu wybieram „Wnioskowanie” do przodu Struktura BW Blok deklaracji źródeł wiedzy Zawartość folderu Sphinx 4.0 Prezentacja algorytmy RETE Przykład dla regułowej bazy wiedzy z 9 regułami: Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2 R7: d4 -> f1 R8: d4 & g1 -> f1 R9: a1 -> d4 Przykład dla regułowej bazy wiedzy z 9 regułami: Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2 R7: d4 -> f1 R8: d4 & g1 -> f1 R9: a1 -> d4 Czyli teoretycznie dla takich faktów jak a1, b1 i d4 można uaktywnić reguły: r1,r7 i r9. Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2 R7: d4 -> f1 R8: d4 & g1 -> f1 R9: a1 -> d4 Algorytm RETE (1974 r.) 1. Graf budujemy tak, że od korzenia (root) prowadzimy tyle węzłów ile mamy atrybutów w częściach warunkowych reguł: „a”,”b”,”d”,”g” 2. Następnie od każdego węzła „atrybut” prowadzimy węzły z wartościami atrybutów z przesłanek reguł…np. od „a” prowadzimy węzeł „1” (czy „a1”) ale od b już prowadzimy „1”,”2” i „3” bo w regułach mamy przesłanki typu b1,b2,b3 3. Gdy jakaś reguła ma więcej niż jedną przesłankę prowadzimy węzeł łączący wartości atrybutów tworzące przesłanki np. a1 & b1 4. Węzły końcowe (terminalne) stanowi numer porządkowy (ID) reguły. root b 1 a 2 1 r2 r1 4 3 a1 and b2 a1 and b1 g d 1 r7 3 b3 and d3 r9 2 a1 and b3 r4 r3 b3 and d2 r6 r5 d4 and g1 r8 Końcowy Graf RETE root b 1 a 2 1 r2 r1 4 3 a1 and b2 a1 and b1 g d r7 3 b3 and d3 r9 2 a1 and b3 korzeń atrybut r4 r3 b3 and d2 r6 Wartość atrybutu (przesłanka reguły, jedna lub więcej. To tzw. Węzły typu alfa, beta) Węzeł terminalny – ID reguły 1 r5 d4 and g1 r8 Pojawia się fakt: a1 …więc zapalamy węzły z a1 root b 1 a 2 1 r2 r1 4 3 a1 and b2 a1 and b1 b3 and d3 2 a1 and b3 r4 r3 b3 and d2 r6 r9 1 r7 3 r9 Conflict set g d r5 Reguła r9 zostaje dodana do „conflict set” i bierzemy kolejne fakty… d4 and g1 r8 Pojawia się fakt: b1 …więc zapalamy węzły z b1 root b 1 a 2 1 r2 r1 4 3 a1 and b2 a1 and b1 b3 and d3 2 a1 and b3 r1 r9 1 r7 3 r9 Conflict set g d r4 r3 b3 and d2 r6 r5 Reguła r1 zostaje dodana do „conflict set” i bierzemy kolejne fakty… d4 and g1 r8 Pojawia się fakt: d4 …więc zapalamy węzły z d4 root b 1 a 2 1 r2 r1 4 3 a1 and b2 a1 and b1 r7 r1 r9 1 r7 3 b3 and d3 r9 Conflict set g d 2 a1 and b3 r4 r3 d4 and g1 r8 b3 and d2 r6 r5 Reguła r7 zostaje dodana do „conflict set” i kończymy bo nie ma więcej faktów…Inne reguły nie były niepotrzebnie analizowane Algorytm RETE krok po kroku 1. Tworzymy graf skierowany (acykliczny) gdzie węzłami są elementy tworzące części przesłankowe reguł a liśćmi są numery porządkowe reguł. 2. Następnie dopasowujemy fakty do węzłów w grafie i te reguły, które mogą być uaktywnione zapisujemy w tzw. CONFLICT SET w formie stosu. 3. W zależności od wybranej strategii LIFO/FIFO uaktywniamy reguły. Wnioskowanie…dla strategii LIFO r7 r1 r9 NOWE FAKTY… r7 r1 r9 f1 c1 d4 Kierunek generowania faktów a1 b1 d4 f1 c1 d4 Wnioskowanie…dla strategii FIFO r7 r1 r9 NOWE FAKTY… r9 r1 r7 d4 c1 f1 Kierunek generowania faktów a1 b1 d4 d4 c1 f1 Wnioskowanie…dla strategii FIFO Wnioskowanie…dla strategii LIFO r7 r7 r1 r1 r9 r9 NOWE FAKTY… r9 r1 r7 d4 c1 f1 Kierunek generowania faktów NOWE FAKTY… r7 r1 r9 f1 c1 d4 Kierunek generowania faktów Pseudokod algorytmu RETE Procedure RETE() { R- reguły K- fakty Graph := CreateGraphRETE(R); ConflictSet:= MatchingRules(K,Graph); newFacts:=ActiveAgenda(ConflictSet,strategy); return newFacts; } CreateGraphRETE – generuje graf z warunkowych części reguł. MatchingRules(K,Graph) – dopasuje fakty do węzłów w grafie i zapisuje do ConflictSet te reguły które można uaktywnić! ActiveAgenda – zgodnie z wybraną strategią Lifo albo Fifo uaktywnia reguły z ConflictSet i wyprowadza nowe fakty. Drools Przykłady SE Kategoria Zastosowanie Przykład Wnioskowanie opisów zdarzeń/sytuacji z czujników Hearsay (Speech Recognition), PROSPECTOR Predykcja Wnioskowanie prawdopodobnych konsekwencji danej sytuacji Pretirm Birth Risk Assessment Diagnostyka Wnioskowanie na temat awarii w systemie na bazie obserwacji CADUCEUS, MYCIN, PUFF, Mistral Konfigurowanie/Projektowanie przy określonych ograniczeniach Dendral, Mortgage Loan Advisor, R1 (Dec Vax Configuration) Projektowanie Zdarzeń Mission Planning for Autonomous Underwater Vehicle Porównywanie obserwacji by wykluczać luki systemowe REACTOR Debugging Zapewnienie przyrostowych rozwiązań złożonych problemów SAINT, MATHLAB, MACSYMA Instrukcja Diagnostyka, ocena i poprawa zachować studentów SMH.PAL, Intelligent Clinical Training,STEAMER Kontrola Interpretacja, przewidywanie, naprawa i monitorowanie zachowań systemowych Real Time Process Control, Space Shuttle Mission Control Interpretacja Projektowanie Planowanie Monitorowanie Jess Wnioskowanie w Jess/Drools Wnioskowanie c.d. Tworzenie BW Przykładowa BW BW w Jess WinJess – przykładowe narzędzie JESS BW w PC-Shell PC-Shell Podsumowanie Laboratorium nr 1 • Wnioskowanie w regułowych bazach wiedzy. Wykonanie ćwiczeń 1-6. Przykład1 Dana jest baza wiedzy : • R1: Jeżeli„a” i „b” i „c” to „d” • R2: Jeżeli„a” i „b” to „g” • R3: Jeżeli„b” i „c” to „e” • R4: Jeżeli„a” i „c” to „f” • R5: Jeżeli„e” i „b” i „c” to „f” Dane sa fakty : „a”, „b”, „c”. Wyprowadź całą możliwą wiedzę z systemu. Przykład2 Dana jest baza wiedzy : • R1: Jeżeli „a” i „b” i „c” to „d” • R2: Jeżeli „a” i „d” to „g” • R3: Jeżeli „a” i „f” to „b” • R4: Jeżeli „b” i „g” to „f” • R5: Jeżeli„a” i „e” to „f” • R6: Jeżeli„e” i „f” to „a” • R7: Jeżeli „a” i „b” to „c” Dane są fakty : „a” i „e”. Udowodnić hipotezę „g”. Ćwiczenie 3 • • • • • • Dana jest baza wiedzy: R1: Jeżeli „b” i „d” to „f” R2: Jeżeli „a” to „b” R3: Jeżeli„e” i „f” to „g” R4: Jeżeli „b” i „c” to „e” Fakty: „a”, „c” i „d”. Szukane „b” Ćwiczenie 4 • • • • • • Dana jest baza wiedzy: R1: Jeżeli „j” i „k” to „l” R2: Jeżeli „j” to „n” R3: Jeżeli „n” i „m” to „o” R4: Jeżeli „n” i „l” to „m” Fakty: „j”, „k”, „l”, „p”. Szukane „p”. Ćwiczenie 5 • • • • • • Dana jest baza wiedzy: R1: Jeżeli „j” i „k” to „l” R2: Jeżeli „j” to „n” R3: Jeżeli „n” i „m” to „o” R4: Jeżeli „n” i „l” to „m” Fakty: „j”, „k”, „l”, „p”. Szukane „p”. Ćwiczenie 6 • • • • • • Dana jest baza wiedzy: R1: Jeżeli „l” i „m” to „n” R2: Jeżeli „j” to „o” R3: Jeżeli „j” i „k” to „m” R4: Jeżeli „n” i „o” to „p” Fakty: „j”, „k”, „l”. Szukane „p”. • W ramach sprawozdania z regułowych baz wiedzy…