Języki sztucznej inteligencji, a relacyjne bazy danych

advertisement
Języki sztucznej inteligencji,
a relacyjne bazy danych.
Zastosowania.
Franciszek Korta
Przemysław Koprowski
Podobieństwa języków sztucznej
inteligencji do baz danych
Języki SI
Bazy danych
• Fakty
• Krotki (rekordy)
• Reguły
• Relacje
• Cele
• Zapytania
Prolog jako baza danych
Zbiór klauzul można przedstawić jako
następujące tabele w bazie danych:
Ojciec(Adam, Stefan).
Ojciec(Adam, Beata).
Matka(Anna, Stefan).
Matka(Anna, Beata).
Ojciec
Potomek
Adam
Stefan
Adam
Beata
Matka
Potomek
Anna
Stefan
Anna
Beata
Webowe bazy danych
MySQL i PHP:
Function insert_auction
($Owner,$CatID,$Nazwa,$Opis,$CenaMin,$Il
osc,$DTZak)
{
$q='INSERT INTO aukcja VALUES
(0,'.$Owner.','.$CatID.',"'.$Nazwa.'","'.$Opis.'
",'.$CenaMin.','.$Ilosc.',NOW(),NOW() +
INTERVAL ';
$q.=$DTZak.' MINUTE)';
Przykład implementacji CLIPS’a
$r=mysql_query($q);
clips_clear();
}
clips_set_strategy(LEX_STRATEGY);
clips_load("rules.clp");
clips_reset();
w PHP:
clips_assert(array("hunter", "brian", "dick"));
clips_run();
$facts = clips_get_fact_list();
print_r($facts);
Łącząc relacyjne bazy danych (bazy wiedzy) oraz
programy w językach sztucznej inteligencji (tzw. motory
wnioskujące) otrzymujemy dedukcyjne bazy danych
wykorzystywane w systemach ekspertowych.
Motor wnioskujący pozwala na wydedukowanie nowych
faktów z dostarczonych wcześniej informacji.
Pytanie użytkownika:
Ilu stroicieli fortepianów jest w Nowym Yorku?
Odpowiedź systemu:
Ponieważ w New Haven liczącym około 300 000
mieszkańców jest 3 lub 4 stroicieli fortepianów, co w
stosunku do liczby mieszkańców wynosi 1 na 100 000 a
Nowy York liczy 7 milionów mieszkańców, stąd
szacunkowo można określić liczbę stroicieli fortepianów
na około 70, no powiedzmy 50 lub 60.
Systemy ekspertowe
• Są to programy, których
podstawowym zadaniem
jest symulowanie ludzkiej
ekspertyzy w określonej,
na ogół wąskiej dziedzinie
(np. ekonomii, medycynie
itp.)
Interfejs inżyniera wiedzy
Moduł główny (motor
wnioskowania i baza wiedzy)
Interfejs użytkownika
Cechy systemów ekspertowych
odróżniające je od konwencjonalnych
programów:
• Jawna interpretacja wiedzy i oddzielenie jej od
procedur sterowania
• Zdolność wyjaśniania znalezionych przez
system rozwiązań programów
• Przetwarzanie wiedzy wykorzystujące głównie
przetwarzanie symboli
• Do rozwiązywania problemów wykorzystywane
są głównie różne metody rozumowania
(wnioskowania), w mniejszym zaś stopniu
algorytmy
Struktura typowego systemu
ekspertowego
Baza wiedzy
wiedza
Moduł
pozyskiwania
wiedzy
Moduł
wnioskowania
Sterowanie
dane
zapytania
Interfejsy
we/wy
Moduł
wyjaśnień
Charakterystyka szkieletowych
systemów ekspertowych
Ponieważ systemy eksperckie mają budowę modułową,
można łatwo odseparować maszynę wnioskującą i
interfejs użytkownika od bazy wiedzy. Pozwala to na
tworzenie szkieletowych systemów eksperckich, czyli
gotowych programów komputerowych z maszyną
wnioskującą i pustą bazą wiedzy. Specjalne edytory
znajdujące się w tych programach umożliwiają
wpisywanie odpowiednich reguł dotyczących danego
problemu, po wprowadzeniu których system rozwiąże
postawione zadanie. Użytkownicy tych systemów nie
muszą zajmować się programowaniem, do nich należy
jedynie przekazywanie wiedzy o danym problemie.
Niezwykle ważną i wręcz unikatową cechą systemów
ekspertowych są tzw. wyjaśnienia.
• Jak (ang. how to explanations)
mają charakter retrospektywny i informują o sposobie rozwiązania danego
problemu
• Dlaczego (why explanations)
uzasadniają celowość pytań stawianych przez system ekspertowy
• Co to jest (what is explanations)
tekstowe objaśnienia wybranych pojęć w bazie wiedzy
• Opisy faktów
pokazują źródło i metodę pozyskania faktów oraz dostępność wyjaśnień
PC Shell
Jest to pierwszy polski - w pełni komercyjny szkieletowy system ekspertowy
System PC-Shell jest systemem o architekturze
hybrydowej, tj. łączącej w sobie różne metody
rozwiązywania problemów i reprezentacji wiedzy.
Interesującą właściwością systemu PC-Shell jest
między innymi wbudowany, w pełni zintegrowany,
symulator sieci neuronowej. Inną istotną cechą
systemu PC-Shell jest jego struktura tablicowa, co
umożliwia podzielenie dużej bazy wiedzy na
mniejsze moduły - zorientowane tematycznie, tzw.
źródła wiedzy.
Consus
•Shell regułowych systemów ekspertowych oparty na teorii pewności.
Teoria pewności opiera się na tzw. stopniach pewności (Certainty Factor –
CF) Stopień pewności to liczba od [-1,1] gdzie -1 oznacza fałsz, 1 prawdę.
Stopień pewności przypisany jest każdemu faktowi, stwierdzeniu lub regule.
Wartość 1 (PRAWDA)
Współczynnik CF
Wartość 0 (przesłanka niewiarygodna)
Wartość -1 (FAŁSZ)
Stosuje się następujące zasady wyznaczania
współczynnika pewności
-
stopień pewności przesłanki jest obliczany jako maksimum z CF części przesłanki
połączonych spójnikiem OR, oraz jako minimum części połączonych spójnikiem AND
Wnioski reguły są przyjmowane z CF obliczonym jako iloczyn CF przesłanki i CF reguły,
Jeżeli o pewnym fakcie wnioskowano z różnych reguł, to jego CF był obliczany
następująco:
Niech CF1 oznacza CF z jakim został przyjęty wniosek z z reguły 1, CF2 odpowiednio – z
reguły 2, a newCF – ostateczny stopień pewności faktu, którego dotyczyły wnioski
reguły 1 i reguły 2.
Przykładowy system ekspertowy w
programie Consus
CLIPS
C Language Integrated Production System
Jest środowiskiem do tworzenia
obiektowych systemów ekspertowych
• Posiada wiele rozszerzeń oraz interfejsów do różnych języków
programowania (C++ ADA, PHP, Python, Java, Perl)
• Jest przenośny, przez co dostępny na wielu różnych platformach
• Posiada moduł do logiki rozmytej (FuzzyCLIPS)
• Powstał w 1985 roku w NASA, obecnie rozwijany jako public
domain
Przykłady systemów ekspertowych
• DENDRAL
Ustalanie struktury molekularnej nieznanych związków
chemicznych
• MYCIN, INTERNIST/CADUCEUS, CASNET
Duże systemy ekspertowe opracowane na potrzeby medycyny
• PROSPECTOR
Poszukiwanie złóż minerałów
• R1/XCON
Konfigurowanie komputerów VAX w firmie DELL
Przykłady systemów ekspertowych
• INVEST
Doradztwo w zakresie inwestycji
• LENDING ADVISOR
Pomoc w podejmowaniu decyzji kredytowych
• UNDERWRITING ADVISOR
Ocena ryzyka na podstawie podań o ubezpieczenie
• AUDITOR
Szacowanie funduszy asygnowanych z tytułu nieściągalnych
długów
• ISAF
Polski system służący do diagnostyki zjawisk ekonomicznofinansowych w przedsiębiorstwach
Typowe obszary zastosowań systemów
ekspertowych:
• systemy doradcze i wspomagania decyzji
• dydaktyka (wyższe uczelnie i szkoły
średnie)
• analizy finansowe (ekonomiczne)
• analizy wniosków kredytowych w bankach
• doradztwo podatkowe
• technika, Np. do analizy danych
pomiarowych
• medycyna
Download