Sztuczna inteligencja/SI Moduł 5 - Wnioskowanie jako metoda przeszukiwania

Z Studia Informatyczne
Wersja z dnia 20:54, 5 lip 2006 autorstwa Jarabas (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Wprowadzenie

Jak mieliśmy okazję przekonać się w lekcji trzeciej, PROLOG jest językiem deklaratywnym, opisującym sposób sterowania algorytmem wnioskowania. Sama zasada wnioskowania polega na zastępowaniu stwierdzeń, których prawdziwość jest poddawana weryfikacji, przez inne stwierdzenia, zgodnie z zapisanymi definicjami predykatów. Proces ten kończy się wtedy, gdy algorytm wnioskowania dojdzie do stwierdzenia prawdziwego (gdyż zapisanego jako prawdziwe), bądź wtedy, gdy nie da się dopasować żadnej reguły wnioskowania.

Spróbujmy sobie wyobrazić graficznie schemat zależności między stwierdzeniami, poddawanymi weryfikacji, regułami i faktami. Dla przykładu rozważmy najpierw predykaty kr_ko, m_ko, m_kr, m_s, opisujące relacje: kraj położony na kontynencie, miasto położone na kontynencie, miasto położone w kraju oraz miasto będące stolicą kraju.

m_ko(Berlin, Europa).
m_ko(Warszawa, Europa).
m_ko(Kraków, Europa)
m_ko(Irkuck, Azja)
m_ko(Moskwa, Europa)
m_kr(„Kraków”, „Polska”).
m_kr(Irkuck, Rosja).
m_s(Warszawa, Polska).
m_s(Moskwa, Rosja).
m_kr(Miasto, Kraj):-
  m_s(Miasto, Kraj).
kr_ko(Kraj, Kont):-
  m_kr(Miasto, Kraj),
m_ko(Miasto, Kont).