Sztuczna inteligencja i systemy ekspertowe
Książki
- Artificial Intelligence: A Modern Approach
- Mulawka - Systemy Ekspertowe
- Chromiec/Strzemieczna - „Sztuczna Inteligencji, …”
- Ben-Ari - „Logika matematyczna w informatyce”
- Krishnamoorthy - „Artificial Intelligence and Expret Systems for Engineers”
- Kłopotek (chyba o wyszukiwarkach internetowych)
Prolog
Uruchomienie programu w gprologu:
gprolog --query-goal "['plik.pl']"
Dobre są implementacje Prologa:
- gprolog
- swi prolog
komenda | opis |
---|---|
help(help). | |
listing(cos). | |
halt. | zakończenie sesji z interpreterem |
/* komentarze */ | |
Zmienna | |
_zmienna | |
stala | |
write('aa'). | |
read(X). | wczytanie z klawiatury |
nl. | nowa linia |
tab(15). | wcięcie |
['plik.pl']. | (to samo co construct()) |
trace. | debug |
notrace. | |
true/fail | true/false |
call() |
Fakty, predykaty:
www_server(apache). www_server(lighttpd).
Zapytania:
www_server(X).
Obydwa muszą być spełnione:
www_server(X) , usluga(X).
Zapytania szczegółowe:
www_server(lighttpd). /* yes */ www_server(apache). /* no */
Reguły:
wniosek(X) :- przeslanka1(X), przeslanka2(X). /* obowiązuje short-circuit */
_ to don't care variable
Wykład
- kierunek pragmatyczny (naśladowanie mózg) SE
- kierunek bioniczny SN
Systemy eksperckie:
- wykorzystują zdobyte doświadczenia
- analogia
- zdrowy rozsądek
- intuicja
- uczenie się
- modyfikowanie zbioru pojęć
- gromadzenie doświadczenia
- propozycja alternatywnych decyzji
- profesjonalny język komunikacji
- objaśnianie (uzasadnianie) rozwiązań
- proponowanie rozw. przy niepełnej wiedzy
Reprezentacja wiedzy:
- reguły
- sieci semantyczne
- trójki
- ramy
- metody hybrydowe
Wnioskowanie:
- wstępujące (forward)
szuka faktów, które można wywnioskować z aktualnych - zstępujące (backward)
przydatne do próby dowodzenia danego faktu
Elementy SE:
- Interfejs użytkownika
- Baza wiedzy
- Mechanizm wnioskujący, objaśniający
- Wnioskowanie zstępujące i wstępujące
- Czynnik niepewności
Ćwiczenia
- Wnioskowanie w rachunku zdań.
- Systemy ekspertowe.
- Wnioskowanie w logice pierwszego rzędu.
- Wyszukiwanie uwzględniające wiedzę.
- Szachy i inne gry.
- Planowanie i realizacja planów.
- Sposoby reprezentacji wiedzy.
- Uczenie na podstawie obserwacji.
- Sieci bayesowskie.
- Uczenie ze wzmocnieniem (reinforcement learning).
- Case-Based Reasoning (CBR).
- Logiki modalne i temporalne.
- Constraint Logic Programming (CLP)
- Data mining.
- Sieci semantyczne.
- Przetwarzanie języka naturalnego.
- Systemy wieloagentowe.
- Komunikacja i współpraca w systemach wieloagentowych.
- Systemy immunologiczne.
Na kolokwium?
Nauczyć sie o jednej z metod organizacji informacji (może dac na kolokwium)?
Coś spośród: Metoda list prostych, Saltona, list inwersyjnych, Ghosa, Chowa, …
Na kolokwium może też być coś o algorytmach drzew decyzyjnych: np. opisanie wyższości M5/M5' nad C4.5