Hva er prologspråk?

Prolog er et dataprogrammeringsspråk som er basert på logikk. De fleste dataspråk er basert på trinnene som trengs for å løse et problem. Prolog -språket er derimot et "deklarativt" språk som indikerer de logiske sammenhengene mellom enheter. Måten å løse problemet overlates til datamaskinen. Navnet Prolog kommer fra den franske programmeringen en Logique, det vil si programmeringslogikk.

Følgende er et enkelt prolog-program:

Ancestor (F, C):- Far (F, C)
Ancestor (P, Q):- Far (p, r), stamfar (r, q)
Far (John, Jim).
Far (Jim, Jerry).
Far (Jerry, Jason).
Far (Jerry, Jeff).
Far (Jason, Joshua).

Programmet ovenfor indikerer truismer. Hvis F er far til C, er F en stamfar til C. Hvis P er far til en person R som er en stamfar til Q, så er P en stamfar til Q. En rekke sanne fakta blir deretter gitt, for eksempel at John er far til Jim. Hvis det stilles et problem spørsmål om John erEn stamfar til Jeff, vi får svaret "Ja" som nedenfor:

?- Ancestor (John, Jeff).
Ja

Hvis forfedrene til Joshua er av interesse, viser programmet alle forfedrene som følger:

?- Ancestor (A, Joshua)
A = jason
A = jerry
A = jim
A = John

Merk at i begge de ovennevnte tilfellene fortalte programmet ikke hvordan de skulle gjøre evalueringen. For eksempel indikerte det ikke om de skulle starte på den eldre personen og jobbe seg til den yngre personen eller omvendt. Også veksle delene som nedenfor:

stamfar (p, q):- stamfar (r, q), far (p, r)

Det ville ikke utgjøre noen forskjell for programmet, ettersom begge disse delene på høyre side må være sant for at venstre side skal være sant.

Prolog -språket fokuserer dermed på forholdene, og ikke på hvordan man løser problemet. Under utførelsen av programmet bygger Prolog opp en rekke sann tilstandments, skaper en kunnskapsbase. I eksemplet over ville kunnskapsbasen, i ingen spesiell rekkefølge, ha Ancestor (John, Jim), Ancestor (Jim, Jerry), Ancestor (John, Jerry), Ancestor (Jim, Jason), Ancestor (John, Jason), og så videre. Denne kunnskapsbasen kan fortsette å bygge opp når programmet utfører, og kan søkes effektivt for å få løsninger. Utførelsen kan bruke parallell prosessering, samtidig utførelse av flere datamaskiner.

Prolog -språket brukes på en rekke områder. Det startet i systemer rettet mot naturlige språk som engelsk; Naturlig språk er et av områdene med kunstig intelligens. Prolog -språket brukes også i symbolsk matematikk, inkludert algebra. Det brukes til å bevise teoremer, i ekspertsystemer og i kontrollsystemer, blant mange andre applikasjoner.

ANDRE SPRÅK