Prolog-programmering: Gi din AI bot Det er det beste livet.

Formidling: Din støtte hjelper med å holde nettstedet i gang! Vi tjener et henvisningsgebyr for noen av tjenestene vi anbefaler på denne siden.


Prolog er et logisk programmeringsspråk. Som sådan kan det virke rett og slett bisarr for mennesker som er erfarne med ting som C ++ eller Perl. Ideen er veldig enkel. I et program definerer du fakta og regler (forholdene mellom fakta). Og basert på dette kan du utføre spørsmål. Men med disse enkle funksjonene kan mye gjøres

For å gi deg en ide om kraften til Prolog, ble den designet for å gjøre naturlig språkbehandling. Du har sikkert hørt om ELIZA – en av de første chatbotene som noen gang er skrevet. Det er den slags ting Prolog ble designet for å gjøre.

Det er faktisk Prolog-versjoner av ELIZA online. Men dette er bare starten. Det er mye brukt på en rekke områder som vi i det store og hele tenker på som “kunstig intelligens”, spesielt i ekspertsystemer.

Hvordan Prolog fungerer

Prolog kan være forvirrende for folk som har erfaring med prosedyrespråk. Selv om det absolutt har prosessuelle aspekter ved det, handler det mest om å lage et system med fakta og hvordan de forholder seg. Så lar du Prolog administrere detaljene om hvordan det gjøres. Prosedyreprogrammering innebærer vanligvis å stille mange “hvis” spørsmål. Prolog har det aspektet innebygd i datasystemet.

For å få en grunnleggende ide om Prolog, må vi snakke om de tre grunnleggende aspektene: fakta, regler og spørsmål.

  • fakta: dette er akkurat det du skulle tro. Den forteller systemet litt informasjon. I det følgende eksemplet erklærer vi at Heather liker Thomas:
    • liker (lyng, thomas).
  • regler: disse skaper logiske uttrykk. De bruker ting som: – operatøren, som i utgangspunktet betyr “hvis:
    • likes (thomas, lyng): – likes (lyng, thomas).

    Dette sier at Thomas liker Heather hvis “Heather liker Thomas” er sant. Legg merke til at det opprinnelige faktum er en implisitt regel som kunne blitt skrevet som:

    • liker (lyng, thomas): = sant.
  • spørringer: disse lar oss stille spørsmål om systemet. For eksempel:
    • ? liker (thomas, lyng).

    Dette stiller spørsmålet: “Liker Thomas Heather?” Og Prolog ville svare tilbake, “ja.” Dette fordi vi først slo fast at Heather likte Thomas med et faktum. Så opprettet vi en regel som uttalte at Thomas likte Heather hvis hun likte ham.

Et annet viktig aspekt ved Prolog er bruken av variabler. Du har kanskje lagt merke til hvordan alle eksemplene som er gitt hittil er små bokstaver. I Prolog er et element (kalt et “atom”) som begynner med en stor bokstav, en variabel. Så tenk at vi ønsket å finne ut hva vennene Heather hadde, vi kunne lage en variabel Friends for å gjøre dette:

? liker (lyng, Venner).

Dette stiller spørsmålet: “Hvem liker lyng?” Og Prolog laster venner med hva som er definert. I vårt tilfelle er det Thomas. Men det kan være en liste over mennesker.

ressurser

Nå som du har en grunnleggende ide om hva Prolog handler om, la oss se på noen ressurser for deg å komme i gang som en logisk programmerer.

Guider

  • Introduksjon til Prolog: dette er en veldig enkel opplæring, men en som tar for seg noen grunnleggende problemer som andre opplæringsprogrammer har en tendens til å glans over.
  • Prøv logikkprogrammering! En mild introduksjon til Prolog: dette er fokusert på logikkprogrammering som et annet programmeringsparadigme.
  • Prolog: – Opplæring: dette er en detaljert, eksempelorientert innføring i språket.
  • Lær Prolog nå: dette er en grundig tutorial som starter i begynnelsen og kommer inn i avanserte fag.

Videoopplæringer

I tillegg til standardopplæringen, er det mange gode videoopplæringsprogrammer på Prolog. De er en overraskende enkel måte å lære grunnleggende.

  • Derek Banas’s Prolog Tutorial: dette er en utmerket timelang videoopplæring som får deg til å gå helt fra starten: installere Prolog på datamaskinen din.
  • Programmering i Prolog: dette er The Simple Engineers firedelte videoinnføring ved bruk av SWI-Prolog, som kjører på omtrent alt.
  • Logisk programmering: dette er en del av en forelesningsserie av Pallab Dasgupta om kunstig intelligens. Denne er på logisk programmering over alt. Det er også et oppfølgingsforedrag om Prolog spesielt.

Prolog Books

Hvis du virkelig er interessert, kan det være lurt å sjekke ut en bok, som kan føre deg gjennom emnet grundigere.

  • Prolog Programming Success in a Day av Sam Key: en liten bok som introduserer Prolog på en dag (eller kveld).
  • Programmering i Prolog av Clocksin Mellish: dette er en grundig, men kortfattet introduksjon til Prolog.
  • Prolog-programmering for kunstig intelligens av Ivan Bratko: til tross for hvordan det høres ut ut, er dette en introduksjon til Prolog – og en som går veldig dypt inn i emnet.
  • The Art of Prolog: Advanced Programming Techniques av Sterling og Shapiro: dette er en klassiker, men ikke en introduksjon. Det er noe du bør sjekke ut når du er fornøyd med språket.

Implementeringer av Prolog

Det er forskjellige gratis Prolog-kompilatorer og tolker tilgjengelig.

  • Toy Prolog-tolk: dette er en online tolk fra Monash University som er et flott verktøy for å sjekke ut små kodebiter. Det er spesielt bra å bruke tutorials før du gidder å installere en kompilator på datamaskinen.
  • SWI-Prolog: dette er en mye brukt Prolog-implementering tilgjengelig for stort sett alle plattformer.
  • GNU Prolog: dette er Daniel Diazs gratis kompilator.
  • Gratis Prolog-kompilatorer og implementeringer: Det frie lands liste over andre Prolog-implementeringer.

Andre ressurser

Det er mange andre ressurser tilgjengelig. Noe av det dateres langt tilbake, så vær oppmerksom på at noe av informasjonen kan være utdatert.

  • Prolog ressursveiledning: dette er en ganske gammel ressurs, men den har en enorm mengde nyttig informasjon i seg.
  • Real World Programming in SWI-Prolog: dette har mye informasjon for SWI-Prolog-kodere, men mye av det vil være nyttig for folk som bruker andre miljøer. Av spesiell interesse er ofte stilte spørsmål til ## Prolog.
  • Prolog WikiBook: dette er en utmerket oversikt over språket med mye avansert materiale.
  • Stack Overflow Prolog: dette er det elektroniske forumet for programmerere med en enorm mengde informasjon. Ta også en titt på siden Prolog-merkede spørsmål.
  • SWI-Prolog Google Group: dette er ikke en veldig aktiv gruppe, men det er fortsatt mange kunnskapsrike mennesker på det. Sjekk også ut gruppen comp.lang.prolog.

Sammendrag

Enten du vil fokusere på det eller bare bruke det for å utfylle andre programmeringsverktøy, er Prolog et flott språk å studere. Som et logisk programmeringsspråk får det deg til å tenke på problemer på mindre prosessuelle måter. Med ressursene her kan du lære og gå videre i Prolog-programmeringen.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me