Prolog Programmering Tutorial

October 8

Prolog er et programmeringssprog, der almindeligvis anvendes i kunstig intelligens og lingvistik forskning. Det er en kraftig sprog, men meget af sin magt kommer fra dens valg at bruge deklarativ paradigme for programmeringssprog snarere end den formelle eller objektorienterede paradigme anvendes af de fleste mainstream sprog. Dette gør Prolog syntaks synes mystisk, selv til erfarne programmører. Den velkendte "hvis derefter" redegørelse og den obligatoriske ", mens" loop mangler i Prolog, erstattet i stedet med syntaks til formål at fremme og gøre rekursive programmering så nemt som muligt.

Instruktioner

1 Åbn en teksteditor og gemme dit arbejde som "facts.pl." I sin mest grundlæggende, Prolog fungerer ved at indlæse en liste af fakta (også kendt som prædikater) og derefter udføre operationer på disse faktiske omstændigheder. Den fulde samling af fakta er, bekvemt nok, kendt som en database.

2 Indsæt følgende for at erklære et par kendsgerninger i Prolog:

% job (navn, jobbeskrivelse)

arbejdspladser (kevinWalker, "Writer").

arbejdspladser (billBailey, "Student").

Den første linje er en kommentar designet til at fingerpeg i andre Prolog udviklere til forholdet af de faktiske omstændigheder. Den første del af det faktum, er navnet på forholdet, i dette tilfælde "job". Det første argument er så nøglen til den kendsgerning. Det skal begynde med et lille bogstav og være kun ét ord. Den sidste del er værdien i dette tilfælde, en streng, der beskriver et job. Endelig skal enhver faktisk ende i en periode.

3 Indsæt følgende i samme dokument at tilføje nogle relaterede fakta til databasen:

% Løn (navn, løn)

løn (kevinWalker, 30000).

løn (billBailey, 12000).

Da både løn og beskæftigelse bruge den samme nøgle, kan udføres relationer mellem dataene.

Gem din fil.

4 Åbn din Prolog terminal og skrive følgende for at indlæse din database:

konsultere ( 'fakta').

Hvis det var en succes, bør du se en "ja" eller "ægte" vises.

5 Skriv følgende for at udføre en simpel query:

arbejdspladser (kevinWalker, "Writer").

Selvom dette ser det samme som definitionen af ​​den kendsgerning, er det i stedet en forespørgsel for at se, hvis anmodningen er sandt. I dette tilfælde vil svaret være "ja" eller "sande", afhængigt af din version af Prolog. Men hvis du skriver:

arbejdspladser (kevinWalker, "Student").

Svaret vil være "falsk" eller "nej".

6 Skriv et mere sofistikeret forespørgsel:

arbejdspladser (kevinWalker, Job).

Resultatet vil være:

Job = "Writer"

7 Åbn din "facts.pl" filen igen i din tekst editor og tilføj følgende funktion:

makes_more_money (PERSON1, PERSON2): -

salary(Person1, FirstSalary),

løn (PERSON2, SecondSalary),

FirstSalary> SecondSalary.

Denne funktion skal læses, "Har PERSON1 tjene flere penge end PERSON2?" For at gøre dette, det ser op løn både PERSON1 og PERSON2 og derefter sammenligner dem, vender tilbage resultatet.

Gem din fil.

8 Skriv følgende i tolken at genindlæse din database og bruge den nye funktion:

fornyet høring ( 'fakta').

makes_more_money (kevinWalker, billBailey).

Dette har fået dig i gang i Prolog programmering. Der er en hel del mere at lære, så du måske ønsker at konsultere indledningen til Prolog i Referencer.

TIPS

  • Versioner af Prolog afvige lidt fra hinanden. Denne tutorial bruger GNU open source implementering af Prolog, så nogle kommandoer kan variere en smule afhængigt af din version.