Hvad er prologsprog?

Prolog er et computerprogrammeringssprog, der er baseret på logik. De fleste computersprog er baseret på de trin, der er nødvendige for at løse et problem. Prologsproget er på den anden side et "deklarativt" sprog, der angiver de logiske forhold mellem enheder. Vejen til at løse problemet overlades til computeren. Navnet Prolog kommer fra den franske programmering og logique, det vil sige programmeringslogik.

Følgende er et simpelt Prolog-program:

Ancestor (F, C):- Far (F, C)
Ancestor (P, Q):- Far (P, R), Ancestor (R, Q)
Far (John, Jim).
Far (Jim, Jerry).
Far (Jerry, Jason).
Far (Jerry, Jeff).
Far (Jason, Joshua).

Ovenstående program indikerer truismer. Hvis F er far til C, er F en forfader til C. Hvis P er far til en person R, der er en forfader til Q, er P en forfader til Q. Der gives en række sande kendsgerninger, såsom John er far til Jim. Hvis der derefter stilles et problemspørgsmål om, hvorvidt John erEn forfader til Jeff, vi får svaret "ja" som nedenfor:

?- Ancestor (John, Jeff).
Ja

Hvis forfædrene til Joshua er af interesse, viser programmet alle forfædre som følger:

?- Ancestor (A, Joshua)
A = Jason
A = Jerry
A = jim
A = John

Bemærk, at programmet i begge ovenstående tilfælde ikke fortalte, hvordan man udfører evalueringen. For eksempel indikerede det ikke, om man skulle starte hos den ældre person og arbejde sin vej til den yngre person eller omvendt. Også udveksling af delene som nedenfor:

Ancestor (P, Q):- Ancestor (R, Q), far (P, R)

Det ville ikke gøre nogen forskel for programmet, da begge disse dele på højre side skal være sandt for at venstre side skal være sand.

Prologsproget fokuserer således på forholdet og ikke på, hvordan man løser problemet. Under programudførelse opbygger Prolog et antal ægte tilstandMenter, der skaber en videnbase. I eksemplet ovenfor ville videnbasen i ingen særlig rækkefølge have stamfar (John, Jim), Ancestor (Jim, Jerry), Ancestor (John, Jerry), Ancestor (Jim, Jason), Ancestor (John, Jason) og så videre. Denne videnbase kan fortsætte med at opbygge, når programmet udføres, og kan søges effektivt for at få løsninger. Udførelsen kan bruge parallel behandling, samtidig udførelse af flere computere.

Prologsproget bruges på en række områder. Det startede i systemer, der er beregnet til naturlige sprog som engelsk; Naturligt sprog er et af områderne med kunstig intelligens. Prologsproget bruges også i symbolsk matematik, herunder algebra. Det bruges til at bevise sætninger, i ekspertsystemer og i kontrolsystemer blandt mange andre applikationer.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?