200 likes | 519 Views
Języki sztucznej inteligencji, a relacyjne bazy danych. Zastosowania. Franciszek Korta Przemysław Koprowski. Języki SI Fakty Reguły Cele. Bazy danych Krotki (rekordy) Relacje Zapytania. Podobieństwa języków sztucznej inteligencji do baz danych. Prolog jako baza danych.
E N D
Języki sztucznej inteligencji, a relacyjne bazy danych. Zastosowania. Franciszek Korta Przemysław Koprowski
Języki SI Fakty Reguły Cele Bazy danych Krotki (rekordy) Relacje Zapytania Podobieństwa języków sztucznej inteligencji do baz danych
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).
Webowe bazy danych MySQL i PHP: Function insert_auction ($Owner,$CatID,$Nazwa,$Opis,$CenaMin,$Ilosc,$DTZak) { $q='INSERT INTO aukcja VALUES (0,'.$Owner.','.$CatID.',"'.$Nazwa.'","'.$Opis.'",'.$CenaMin.','.$Ilosc.',NOW(),NOW() + INTERVAL '; $q.=$DTZak.' MINUTE)'; $r=mysql_query($q); } Przykład implementacji CLIPS’a w PHP: clips_clear(); clips_set_strategy(LEX_STRATEGY); clips_load("rules.clp"); clips_reset(); 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 Moduł pozyskiwania wiedzy Moduł wnioskowania wiedza Sterowanie dane Interfejsy we/wy Moduł wyjaśnień zapytania
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.
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 ekonomiczno-finansowych 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