4 PRIKAZIVANJE I POHRANA ZNANJA
?- pokreni
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(1,3),s(4,0),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(4,3),s(4,0),s(0,0)]
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(4,2),s(3,3),s(3,0),s(0,3),s(0,0)]
[s(2,0),s(0,2),s(4,2),s(3,3),s(3,0),s(0,3),s(0,0)]
[s(2,3),s(4,1),s(0,1),s(1,0),s(1,3),s(4,0),s(4,3),s(0,3),s(0,0)]
false
Algoritam traženja je povratni (engl. Backtracking) pa je zato početno stanje krajnje desno, a završno na
početku. Drugi programski jezik posebno razvijen za izgradnju produkcijskih sustava je Jess
. Jess je
pisan u Javi, a kod procesiranja pravila koristi Rete algoritam
, vrlo efikasan algoritam za rješavanje
složenijih poklapanja.
Produkcijskim sustavima još ćemo se vraćati u poglavlju 4.4.6 gdje govorimo o ontologijama i
zaključivanju korištenjem ontologija, te posebno u poglavlju 5 u kojem detaljno obrađujemo problematiku
zaključivanja i rasuđivanja.
4.4.2 Semantičke mreže
Mrežne strukture za prikaz znanja imaju dugu povijest. Grčki neoplatonski filozof Porphyry iz
Thyre (234. – 305.) predložio je hijerarhijski prikaz oblika stabla s korijenom na vrhu za prikaz
Aristotelovih kategorija. Sličnu strukturu imaju i semantičke mreže koje se u umjetnoj inteligenciji
koriste za prikaz statičkog, deklarativnog znanja, inspirirane prije svega pretpostavkom vezanom uz to
kako funkcioniraju ljudske dugotrajne asocijativne memorije (engl. Long-Term Associative
Memories). Pretpostavlja se da se ljudsko dugotrajno pamćenje temelji na relacijski povezanim različitim
činjenicama, na primjer kada osjetimo miris jela koji je u djetinjstvu kuhala baka, miris povezujemo i s
bakom i s jelom koje je ona kuhala.
U računarstvu se ideja semantičkih mreža prvi put pojavila ranih 1960-ih godina i bila je vezana
uz problematiku strojnog prevođenja prirodnog jezika. Semantičke mreže prvi je spomenuo Richard
Hook Richens (1919. – 1984.) 1956. godine kao međujezik za strojno prevođenje prirodnih jezika.
Osnovna je ideja semantičkih mreža pohraniti znanje u obliku semantičkih relacijskih veza između
koncepata. Margarete Masterman (1910. – 1986.) je 1961. godine definirala skup od 100 primitivnih
tipova koncepata za definiranje 15.000 koncepata. U konačnom obliku definirala ih je grupa znanstvenika
ranih 1960-ih godina radeći na projektu SYNTHEX, a M. Ross Quillian ih je u konačnoj formi uobličio
u svojoj doktorskoj disertaciji „Semantic Memory” 1966. godine (Quilian, 1966., 1967.).
Postoje različiti tipova semantičkih mreža, a možda su najzanimljivije hibridne koje uključuju
različite tipove, npr. definicijske mreže (engl. Definitional Networks)
koje naglašavaju podtipove
koncepata i koriste poveznice klasa i sub-klasa (relacija „isa” – detalji u nastavku) i izjavne mreže (engl.
Assertional Networs)
kod kojih se izjavljuju propozicije npr. svojstva koncepata (relacija „has” – detalji u
nastavku).
Grafički prikaz semantičke mreže je usmjereni graf gdje su čvorovi koncepti, a usmjerene grane
relacijska veza između njih. Kod semantičkih mreža i ljudskih asocijativnih mreža imamo koncepte u
čvorovima i relacijske veze između njih, s tim da su kod semantičkih mreža relacijske veze formalizirane
standardnim relacijama.
Slika 4-11 prikazuje primjer semantičke mreže kojom opisujemo otok Brač.
i zamijeniti je naredbom:
moves([s(X0,Y0)|T], [s(2,Y1),s(X0,Y0)|T] :- move(s(X0,Y0),s(2,Y1)).
https://www.jessrules.com/jess/
https://www.jessrules.com/doc/71/rete.html