SZTUCZNA INTELIGENCJA LITERATURA J. Chromiec,E. Strzemieczna „Sztuczna inteligencja metody konstrukcji i analizy systemów eksperckich”, W-wa 1994r. L. Rutkowski, “Metody i techniki sztucznej inteligencji”, PWN 2005 S. Osowski „Sieci neuronowe w ujęciu algorytmicznym”, WNT W-wa 1996 N. Jankowski „Ontogeniczne sieci neuronowe”, W-wa 2003 M. Pawlak „Algorytmy ewolucyjne”, PWN 1999r. J. Mulawka „Sztuczna inteligencja”, 1995r.
INTELIGENCJA Inteligencja jest właściwością psychiczną, która przejawia się we względnie stałej, charakterystycznej dla jednostki efektywności wykonywania zadań. Specjaliści są skłonni traktować inteligencję jako zdolności uczenia się oraz rozwiązywania zadań, jej miarą zaś jest stopień trudności przyswajanego materiału. Zdolności rozwiązywania zadań z kolei są wyrazem szeregu zdolności elementarnych, jak rozumienie, wnioskowanie, myślenie abstrakcyjne, kojarzenie, wykrywanie i odkrywanie. Umożliwia to rozpatrywanie inteligencji jako zespołu określonych procesów.
SZTUCZNA INTELIGENCJA 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. AI uważana jest za część informatyki.
WYKŁAD 1 SYSTEMY EKSPERTOWE cz.1 Istota systemu ekspertowego Ekspert Człowiek posiadający specjalistyczną wiedzę z pewnej dziedziny (wiedzę dziedzinową) i umiejętność stosowania jej dla podejmowania decyzji związanych z tą dziedziną (umiejętność wnioskowania w oparciu o posiadaną wiedzę, nabytą w wyniku studiów i praktyki). System ekspertowy System ekspertowy jest programem komputerowym, przeznaczonym do rozwiązywania specjalistycznych problemów, które wymagają profesjonalnej ekspertyzy.
Dlaczego budujemy SE 1. Koszty: w dłuższym okresie czasu są znacznie tańsze, pomagają w rozwiązywaniu problemów wymagających najbardziej specjalistycznej (najdroższej) wiedzy. 2. Brak ekspertów w wielu dziedzinach. 3. SE pracują szybciej, nie męczą się, są bardziej niezawodne niż ludzie. 4. Konsekwentne, obiektywne, dokładne. 5. Zawsze do dyspozycji (nie strajkują!). 6. Analiza dużych ilości danych wymaga komputera. SE: systemy oparte na wszystkich sposobach reprezentacji wiedzy, najczęściej w postaci reguł produkcji.
Etapy tworzenia SE Analizy problemu - oceny, czy budowa SE dla danego problem ma sens. Specyfikacji systemu - szczegółowego określenia funkcji i oczekiwań. Akwizycji wiedzy - zgromadzenia, wydobycia z ekspertów i organizacji wiedzy. Wyboru metody reprezentacji wiedzy i narzędzi do budowy systemu. Konstrukcji systemu - utworzenia bazy wiedzy, reguł wnioskowania, systemu wyjaśniającego rozumowanie i prowadzenia dialogu z użytkownikiem. Weryfikacji i testowania systemu. Akwizycja wiedzy wymaga transferu ekspertyzy + reprezentacji wiedzy.
Postać wiedzy Fakty z danej dziedziny wiedzy, np: „W starych silnikach Diesla przy przegrzaniu dochodzi do gwałtownego podwyższenia obrotów na skutek chwilowego spalania oleju.” Reguły typu: „Przed zdjęciem obudowy wyciągnąć wtyczkę.” Heurystyki, czyli co by tu zrobić, np.: „Jak nie zaskakuje, a jest iskra, to warto sprawdzić przewód paliwa”. Ogólne strategie postępowania. Teoria danej dziedziny, np. teoria działania silników samochodowych.
Akwizycja wiedzy prowadzenie wywiadów z ekspertami analiza kwestionariuszy wypełnianych przez ekspertów analiza raportów pisanych przez ekspertów analiza komentarzy ekspertów wykonywanych w czasie pracy obserwacja ekspertów przy pracy
SE - podział Systemy ekspertowe możemy podzielić na trzy kategorie: doradcze podejmujące decyzję bez kontroli człowieka krytykujące
Budowa systemu ekspertowego SE jest programem komputerowym wspomagającym podejmowanie decyzji, którego elementami są: baza wiedzy, zawierająca wiedzę dziedzinową, istotną dla podejmowanych decyzji, system wnioskujący, korzystający z bazy wiedzy dla wypracowania tych decyzji.
Pozostałe elementy systemu ekspertowego: edytor bazy wiedzy, do tworzenia, modyfikowanie i kasowanie bazy wiedzy interfejs użytkownika, do korzystania z systemu ekspertowego dynamiczna baza danych - relacyjna baza danych do przechowywania odpowiedzi użytkownika i wyników wnioskowania
STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO DYNAMICZNA BAZA DANYCH
STRUKTURA INFORMATYCZNA SYSTEMU EKSPERTOWEGO INTERFEJS UŻYTKOWNIKA EDYTOR BAZY WIEDZY DYNAMICZNA BAZA DANYCH SYSTEM WNIOSKUJĄCY BAZA WIEDZY Plik wykonywalny (Skorupowy system ekspertowy) Plik tekstowy
Cechy bazy wiedzy Baza wiedzy jest plikiem tekstowym, który może być tworzony, czytany i modyfikowany za pomocą edytora bazy wiedzy bez naruszania integralności systemu wnioskującego. Umożliwia to szybkie odczytanie, zrozumienie i modyfikowanie wiedzy dziedzinowej, z której korzysta system ekspertowy
STRUKTURA BAZY WIEDZY Baza wiedzy Baza reguł Baza rad Baza ograniczeń Pliki rad Baza modeli
STRUKTURA BAZY WIEDZY Baza reguł - wiedza dziedzinowa logiczna Baza ograniczeń - wiedza dziedzinowa logiczna Baza modeli - wiedza dziedzinowa matematyczna wiedza dziedzinowa uzupełniająca i wyjaśniająca Baza rad Pliki rad Baza reguł Baza ograniczeń Baza modeli Baza rad mają postać faktów
BAZA REGUŁ REGUŁY FAKTY Reguły = wiedza dziedzinowa o charakterze ogólnym Fakty = wiedza dziedzinowa o charakterze szczegółowym
BAZA REGUŁ - przykład Przykład reguły: Jeżeli student_x_otrzymał_wszystkie_zaliczenia_w_terminie i student_ x_zdał_wszystkie_egzaminy_ w_terminie, to student_x_uzyska_wpis_na_kolejny_semestr Przykład faktu: student_J.Kowalski_ zdał_wszystkie_egzaminy_ w_terminie
BAZA REGUŁ cd. w logice: B i C i D A lub w Pascalu: Reguły są to zdania warunkowe, np. w logice: B i C i D A lub w Pascalu: If B and C and D then A B, C, D – warunki reguły A – wniosek reguły - symbol implikacji w logice Then - symbol implikacji regułowej w Pascalu
Baza reguł cd. Klauzule dokładnej bazy reguł: regula(Numer_reguły, Wniosek, Lista_warunków) Wniosek: Zmienna łańcuchowa typu logicznego, przedstawiająca nazwę wniosku. Np. wysoka temperatura Lista warunków: [Warunek_1,..., Warunek _i,..., Warunek _n] Warunek/i: Dowolna zmienna łańcuchowa logiczna
Zagnieżdżanie reguł regula(N, Wniosek, [...,ABCD,....]) Reguły mogą się zagnieżdżać: Zagnieżdżanie reguł: wniosek jednej reguły może być warunkiem innej reguły: regula(N, Wniosek, [...,ABCD,....]) regula(M, ABCD, Lista_warunków)
Zagnieżdżanie reguł wniosek jednej reguły może być warunkiem innej reguły: Baza Reguł: 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Np. : wniosek F reguły 5 jest warunkiem reguły 2 wniosek J reguły 6 jest warunkiem reguły 4 wniosek D reguły 1 jest warunkiem reguły 4
Zagnieżdżanie reguł Zagnieżdżające się reguły mogą mieć warunki dwojakiego rodzaju: Warunki dopytywalne: nie są wnioskami reguł. Wartość logiczna tych warunków jest określana przez użytkownika systemu ekspertowego. Warunki niedopytywalne: są wnioskami reguł. Wartość logiczna tych warunków jest określana przez system ekspertowy
Warunki dopytywalne i niedopytywalne Podział warunków: Warunki dopytywalne: A, B, C, E i H. System ekspertowy pyta użytkownika o wartość logiczną tych warunków Warunki niedopytywalne: F, D i J. System ekspertowy nie pyta o te warunki, bo ich wartości logiczne wynikają z bazy reguł i warunków dopytywalnychc Baza Reguł: 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Spotykane synonimy wniosek = konkluzja, rezultat warunek = przesłanka, założenie
Klasyfikacja baz reguł Ze względu na sposób występowania warunków niedopytywalnych rozróżniam: bazy reguł elementarne: warunki niedopytywalne nie występują w postaci zanegowanej bazy reguł rozwinięte: warunki niedopytywalne mogą występować w postaci zanegowanej
Przykład elementarnej bazy reguł 1. A , B , C W 2. W, D , E V 3. V , H , I , J U Warunki niedopytywalne W i V reguł 2 i 3 występują w tej bazie w postaci niezanegowanej, tzn. w takiej samej jak wnioski reguł 1 i 2. Niedogodność W bazach reguł elementarnych dokładnych często trzeba formułować zarówno reguły dla wniosków (W) i dla negacji wniosków (nieprawda_W)
Przykład bazy elementarnej: pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_dostanę_urlopu nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_będę_miał_pieniędzy kłopot_ z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli nie_pojadę_na_wycieczkę_zagraniczną
Przykład rozwiniętej bazy reguł 1. A , B , C W 2. nW , D , E V 3. nV , H , I , J U nX = nieprawda_X Warunki niedopytywalne nW i nV reguł 2 i 3 są zanegowanymi wnioskami reguł 1i 2. Zalety baz rozwiniętych: Brak potrzeby formułowania reguł dla wniosków (W) i ich negacji (nW).
Przykład bazy rozwiniętej: pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze kłopot_z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli niepojadę_na_wycieczkę_zagraniczną
Klasyfikacja baz reguł Ze względu na pewność reguł, warunków i wniosków rozróżnia się: bazy reguł dokładne, których reguły są prawdą, których warunki i wnioski mogą być albo prawdą, albo nieprawdą bazy reguł przybliżone, których reguły, warunki i wnioski mogą mieć różne stopnie pewności
Klasyfikacja baz reguł Bazy reguł dokładne przybliżone elementarne rozwinięte przybliżone (BRP) dokładne (BRD) przybliżone (BEP) dokładne (BED)
Klasyfikacja systemów wnioskujących Bazy reguł rozwinięte dokładne (BRD) Wnioskowanie elementarne dokładne dokładne (BED) Wnioskowanie dokładne