Sztuczna inteligencja/SI Moduł 5 - Wnioskowanie jako metoda przeszukiwania
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).