Prolog (forritunarmál)
Úr Wikipediu, frjálsa alfræðiritinu
Þessi grein þarfnast hreingerningar svo hún hæfi betur sem grein hér á Wikipedia. Skoðaðu sýnigreinar og grein um nafnavenjur til að bæta hana. |
Prolog (PROgramation et LOGique) á rætur að rekja til háskólans í Marseille-Aix og kom fram árið 1972. Þróun þess er nátengd rannsóknum í gervigreind.
Prolog tilheyrir flokki rökforritunarmála. Það eru einungis þrjár „byggingareiningar“ í Prolog: Staðreyndir, reglur og fyrirspurnir. Safn af staðreyndum og reglum er kallað þekkingargrunnur (knowledge base) og lýsir venslum í því viðfangsefni sem þekkingargrunnurinn er um. Forritun í Prolog snýst um það að skrifa slíka þekkingargrunna. Notkun Prolog-forrita felst í því að spyrja þekkingargrunninn um þær upplýsingar sem í honum eru, þ.e. skrifaðar fyrirspurnir á þekkingargrunninn.
[breyta] Staðreyndir
Staðreyndir eru notaðar til þess að setja fram fullyrðingar sem við göngum út frá að séu sannar, t.d.:
nemandi(Helga).
kennirNamskeid(Guðrún,TÖL203).
tekurNamskeid(Helga,TÖL203).
Hér erum við komin með lítinn þekkingargrunn sem segir okkur að Helga sé nemi, Guðrún kenni námskeiðið TÖL203 og Helga sé nemandi í námskeiðinu TÖL203. Nú er hægt að skrifa fyrirspurn og spyrja þekkingargrunninn, t.d.:
nemandi(Helga).
og Prolog svarar: yes
Ef við sendum fyrirspurnina nemandi(Sigga). á þekkingargrunninn, myndi Prolog svara no, vegna þess að Sigga er ekki skilgreind sem nemandi í þekkingargrunninum okkar.
[breyta] Reglur
Reglur lýsa upplýsingum sem eru sannar að gefnum ákveðnum skilyrðum. Reglur eru skilgreindar á forminu haus :- stofn og hausinn er ekki sannur nema stofninn sé sannur, t.d.:
kennirNemanda(X,Y) :- kennirNamskeid(X,M), tekurNamskeid(Y,M).
Þessi regla tilgreinir að X sé kennari Y, en aðeins ef þær staðreyndir eru líka sannar að annars vegar X kenni námskeið M og hins vegar að Y taki námskeið M.
Ef við sendum nú fyrirspurn á þekkingargrunninn um það hvort Guðrún sé kennari Helgu:
kennirNemanda(Guðrún,Helga).
svarar Prolog yes, þar sem stofninn er þegar skilgreindur í þekkingargrunninum sem sannar fullyrðingar, þ.e. að Guðrún kennir TÖL203 og Helga tekur námskeiðið TÖL203.