Skip to main content

Vad är prologspråk?

Prolog är ett datorprogrammeringsspråk som är baserat på logik.De flesta datorspråk är baserade på de steg som behövs för att lösa ett problem.Prologspråket är å andra sidan ett deklarativt språk som indikerar de logiska förhållandena mellan enheter.Sättet att lösa problemet lämnas till datorn.Namnet Prolog kommer från den franska programmeringen en logique, det vill säga programmeringslogik.

Följande är ett enkelt prologprogram:

Ancestor (f, c):- Fader (f, c)
Ancestor (p, q):- Fader (P, R), Ancestor (R, Q)
Fader (John, Jim).
Fader (Jim, Jerry).
Fader (Jerry, Jason).
Fader (Jerry, Jeff).Jason, Joshua).

Ovanstående program indikerar truismer.Om F är far till C, är F en förfader till C. Om P är far till någon person R som är en förfader till Q, är P en förfader till Q. Ett antal riktiga fakta ges sedan, till exempelJohn är far till Jim.Om en problemfråga då ställs om John är en förfader till Jeff, får vi svaret ja som nedan:

?- förfader (John, Jeff).

Ja

Om förfäderna till Joshua är av intresse, dåProgrammet visar alla förfäder enligt följande:

?- Ancestor (A, Joshua)

A ' Jason
A ' Jerry
A ' Jim
A ' John

Observera att programmet i båda ovan berättade inte programmetHur man gör utvärderingen.Till exempel indikerade det inte om man skulle börja på den äldre personen och arbeta sig till den yngre personen eller vice versa.Utbyter också delarna enligt nedan:

Ancestor (p, q):- förfader (r, q), far (p, r)

Det skulle inte göra någon skillnad i programmet, eftersom båda dessa delar på höger sida behöveratt vara sant för att vänster sida ska vara sant.

Prologspråket fokuserar således på relationerna och inte på hur man löser problemet.Under programutförandet bygger Prolog upp ett antal riktiga uttalanden och skapar en kunskapsbas.I exemplet ovan skulle kunskapsbasen, i ingen särskild ordning, ha förfader (John, Jim), förfader (Jim, Jerry), förfader (John, Jerry), förfader (Jim, Jason), förfader (John, Jason),och så vidare.Denna kunskapsbas kan fortsätta bygga upp när programmet körs och kan sökas effektivt för att få lösningar.Exekveringen kan använda parallellbehandling, samtidig exekvering av flera datorer.

Prologspråket används inom ett antal områden.Det började i system inriktade på naturliga språk som engelska;Naturligt språk är ett av områdena med konstgjord intelligens.Prologspråket används också i symbolisk matematik, inklusive algebra.Det används för att bevisa teorem, i expertsystem och i kontrollsystem, bland många andra applikationer.