Wnioskowanie logiczne i systemy eksperckie Systemy eksperckie
Podstawy Sztucznej Inteligencji (PSZT)
Paweł Wawrzyński
Dzisiaj
• Systemy eksperckie vs. systemy wnioskujące w oparciu o logikę
• Szkieletowe systemy eksperckie
– Exsys CORVID – Jess
– PROLOG – język programowania w logice
PSZT, zima 2013, wykład 7 3
Cechy użytecznego systemu wnioskującego
• Klauzulowy dowód jest nieprzekonujący;
przekonujący jest dowód oparty na regułach if … and … then … else …
• Radzenie sobie z elementami niepewności
• Ignorowanie sprzeczności w danych
Cykl życia system eksperckiego
• Szkielet systemu z interfejsem i mechanizmami wnioskowania
• Zbudowanie bazy reguł postaci
if … and … then … else …
• Właściwe działanie:
– Zebranie obserwowanych faktów – pytania, – Wnioskowanie o faktach nieobserwowanych.
PSZT, zima 2013, wykład 7 5
Tryby wnioskowania
• Wnioskowanie w przód
• Wnioskowanie w tył
• Wnioskowanie dwukierunkowe
Wnioskowanie w przód
• Kierunek: od danych do konkluzji
• Koniec: kiedy wszystkie cele zostają
udowodnione lub kiedy wszystkie fakty zostały wywnioskowane
• Problem: mnóstwo faktów pośrednich, zadane są wszystkie pytania
Tryby wnioskowania
PSZT, zima 2013, wykład 7 7
Wnioskowanie w tył
• Kierunek: od konkluzji do pytań
• Koniec: kiedy wszystkie hipotezy zostają zweryfikowane
• Zaleta: jeśli system zadaje pytania, to tylko te, które są mu do czegoś potrzebne
• Problem: weryfikacja wielkiej ilości hipotez pośrednich
Tryby wnioskowania
Wnioskowanie dwukierunkowe
• Kierunek: od konkluzji do faktów
pośrednich i od znanych faktów do faktów pośrednich
• Jeśli inteligentnie zaimplementowane, łączy zalety wnioskowania w przód
i wnioskowania w tył
Tryby wnioskowania
PSZT, zima 2013, wykład 7 9
Szkieletowe systemy eksperckie
• Sse ≈ kreator do tworzenia systemu eksperckiego
• Oferuje:
– silnik wnioskujący
– możliwość definiowania reguł i faktów
• Przykłady
– Exsys CORVID – JESS
EXSYS Corvid
• Dustin Huntington
– Atomic Energy Comission (AEC)
– Energy Research and Development Auth. (ERDA) – Departament of Energy (DOE)
• Firma EXSYS Inc. (od 1983)
– www.exsys.com
PSZT, zima 2013, wykład 7 11
EXSYS – składniki reprezentacji
• Zmienne: listy statyczne, dynamiczne, wartości numeryczne, napisy, zbiory napisów, poziomy ufności
• Reguły
• Bloki logiczne
• Metabloki
• Bloki zarządzające
• Bloki akcji – inteligentne kwestionariusze
Jess
• Napisany w Javie
• Integrujący się z aplikacją w Javie
• Składniki
– język skryptowy: formuły, fakty – silnik interpretujący i wnioskujący
– kreator do Eclipse’a do tworzenia aplikacji
• Do zastosowań niekomercyjnych: freeware
PSZT, zima 2013, wykład 7 13
PROLOG
• Początki: rok 1971
• Pierwotny interfejs: taki jak Matlab
• Język deklaratywny
• Obecnie: język ogólnego przeznaczenia
• Obsługuje klauzule Horna, czyli:
co najwyżej jeden predykat niezanegowany
• Przykład
wniosek(X) :- fakt(X), innyfakt(X)
Wprawka do kolokwium
Według prawa przestępstwo popełnia
Amerykanin, który sprzedaje broń wrogim
narodom. Kraj Nano, wróg Ameryki, posiada rakiety, które sprzedał mu pułkownik West, będący Amerykaninem.
Udowodnić wszelkimi sposobami, że pułkownik West jest przestępcą.