Prolog Programming Tutorial

Prolog er et programmeringsspråk som vanligvis brukes i kunstig intelligens og lingvistikk forskning. Det er en kraftig språk, men mye av sin makt kommer fra dens valg å bruke det deklarative paradigme for programmeringsspråk i stedet for prosessuelle eller objektorientert paradigme som brukes av de fleste mainstream språk. Dette gjør Prolog syntaks vises mystisk, selv for erfarne programmerere. Det velkjente "hvis så" statement og den obligatoriske "mens" loop mangler fra Prolog, erstattes i stedet av syntaks utformet for å oppmuntre og gjøre rekursiv programmering så enkelt som mulig.

Bruksanvisning

1 Åpne en teksteditor og lagre arbeidet som "facts.pl." På sitt mest grunnleggende, fungerer Prolog ved å laste en liste over fakta (også kjent som predikater) og deretter utføre operasjoner på disse fakta. Den fullstendige samling av fakta er, beleilig nok, kjent som en database.

2 Lim inn følgende å erklære noen fakta i Prolog:

% stillinger (navn, stillingsbeskrivelse)

jobber (kevinWalker, "Writer").

jobber (Bill Bailey, "Student").

Den første linjen er en kommentar designet for å holdepunkt i andre Prolog utviklere til forholdet av fakta. Den første delen av det faktum er navnet på det forhold, i dette tilfellet "jobber." Det første argumentet er så nøkkelen til det faktum. Det må begynne med en liten bokstav og være bare ett ord. Den siste del er den verdi, i dette tilfellet, en streng som beskriver en jobb. Til slutt må alle faktisk ende i en periode.

3 Lim inn følgende i samme dokument å legge noen relaterte fakta til databasen:

% Lønn (navn, lønn)

lønn (kevinWalker, 30000).

lønn (Bill Bailey, 12000).

Siden både lønn og arbeidsplasser bruker samme nøkkel, kan forholdet mellom de data skal utføres.

Lagre filen.

4 Åpne Prolog terminal og skriv inn følgende for å laste databasen:

kontakt ( "fakta").

Hvis det var vellykket, skal du se et "ja" eller "true" vises.

5 Skriv inn følgende for å utføre en enkel spørring:

jobber (kevinWalker, "Writer").

Selv om dette ser det samme som definisjonen av det faktum, er det i stedet en spørring for å se om anmodningen er sant. I dette tilfellet, vil svaret være "ja" eller "true", avhengig av hvilken versjon av Prolog. Men hvis du skriver:

jobber (kevinWalker, "Student").

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

6 Skriv en mer sofistikert spørring:

jobber (kevinWalker, jobb).

Resultatet vil være:

Job = "Writer"

7 Åpne din "facts.pl" filen på nytt i en teksteditor og legge til følgende funksjon:

makes_more_money (Person1, Person2): -

salary(Person1, FirstSalary),

lønn (Person2, SecondSalary),

FirstSalary> SecondSalary.

Denne funksjonen bør leses, "Does Person1 tjene mer penger enn Person2?" For å gjøre dette, ser det opp lønnen til både Person1 og Person2 og deretter sammenligner dem, returnerer resultatet.

Lagre filen.

8 Skriv følgende inn tolken å laste databasen og bruke den nye funksjonen:

reconsult ( "fakta").

makes_more_money (kevinWalker, Bill Bailey).

Dette har fått i gang i Prolog programmering. Det er mye mer å lære, så det kan være lurt å rådføre seg med introduksjon til Prolog i referanser.

Hint

  • Versjoner av Prolog avvike noe fra hverandre. Denne opplæringen bruker GNU open-source implementering av Prolog, så noen kommandoer kan variere noe avhengig av hvilken versjon.