Prolog-programmering: geef uw AI-bot het beste leven.

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Prolog is een logische programmeertaal. Als zodanig kan het ronduit bizar lijken voor mensen die ervaring hebben met zaken als C ++ of Perl. Het idee is heel simpel. In een programma definieer je feiten en regels (de relaties tussen de feiten). En op basis hiervan kunt u zoekopdrachten uitvoeren. Maar met deze eenvoudige functies kan er veel worden gedaan

Om u een idee te geven van de kracht van Prolog, is het ontworpen om natuurlijke taalverwerking uit te voeren. Je hebt vast wel eens gehoord van ELIZA – een van de eerste chatbots ooit geschreven. Dat is het soort dingen waarvoor Prolog is ontworpen.

In feite zijn er Prolog-versies van ELIZA online. Maar dit is nog maar het begin. Het wordt veel gebruikt op een aantal gebieden die we in grote lijnen beschouwen als ‘kunstmatige intelligentie’, vooral in expertsystemen.

Hoe Prolog werkt

Prolog kan verwarrend zijn voor mensen die ervaring hebben met procedurele talen. Hoewel het zeker procedurele aspecten heeft, is het vooral een kwestie van een systeem van feiten creëren en hoe ze zich verhouden. Vervolgens laat u Prolog de details beheren van hoe het wordt gedaan. Procedureel programmeren omvat meestal het stellen van veel ‘als’-vragen. Prolog heeft dat aspect in het datasysteem ingebouwd.

Om een ​​basisidee over Prolog te krijgen, moeten we het hebben over de drie fundamentele aspecten: feiten, regels en vragen.

  • Feiten: dit is precies wat je zou denken. Het vertelt het systeem wat informatie. In het volgende voorbeeld verklaren we dat Heather Thomas leuk vindt:
    • likes (heather, thomas).
  • Reglement: deze creëren logische uitdrukkingen. Ze gebruiken dingen als de: – operator, wat in feite betekent “als:
    • likes (thomas, heather): – likes (heather, thomas).

    Hierin staat dat Thomas Heather leuk vindt als “Heather Thomas leuk vindt”. Merk op dat het oorspronkelijke feit een impliciete regel is die had kunnen worden geschreven als:

    • likes (heather, thomas): = waar.
  • Vragen: hiermee kunnen we de systeemvragen stellen. Bijvoorbeeld:
    • ? likes (thomas, heather).

    Dit stelt de vraag: ‘Houdt Thomas van Heather?’ En Prolog antwoordde terug met “ja”. Dit komt omdat we voor het eerst hebben vastgesteld dat Heather Thomas leuk vond met een feit. Vervolgens hebben we een regel opgesteld waarin stond dat Thomas Heather leuk vond als ze hem leuk vond.

Een ander belangrijk aspect van Prolog is het gebruik van variabelen. Het is u misschien opgevallen dat alle tot nu toe verstrekte voorbeelden in kleine letters zijn. In Prolog is een element (een “atoom” genoemd) dat begint met een hoofdletter een variabele. Stel je voor dat we wilden weten welke vrienden Heather had, dat we hiervoor een variabele Vrienden konden maken:

? likes (heather, vrienden).

Dit stelt de vraag: “Van wie houdt heather?” En Prolog laadt vrienden met alles wat is gedefinieerd. In ons geval is het Thomas. Maar het kan een lijst met mensen zijn.

Middelen

Nu u een basisidee hebt van waar Prolog over gaat, laten we eens kijken naar enkele bronnen waarmee u aan de slag kunt als logische programmeur.

Tutorials

  • Introductie tot Prolog: dit is een zeer eenvoudige tutorial, maar een die een aantal basisproblemen behandelt die andere tutorials vaak over het hoofd zien.
  • Probeer Logic Programming! A Gentle Introduction to Prolog: dit is gericht op logisch programmeren als een ander programmeerparadigma.
  • Prolog: – Tutorial: dit is een gedetailleerde, voorbeeldgerichte introductie tot de taal.
  • Leer nu Prolog: dit is een grondige tutorial die begint bij het begin en zich verdiept in geavanceerde onderwerpen.

Video uitleg

Naast de standaard tutorials zijn er een aantal goede video-tutorials op Prolog. Ze zijn een verrassend gemakkelijke manier om de grondbeginselen te leren.

  • De Prolog-zelfstudie van Derek Banas: dit is een uitstekende video-zelfstudie van een uur die u vanaf het begin op weg helpt: Prolog op uw computer installeren.
  • Programmeren in Prolog: dit is de vierdelige video-introductie van The Simple Engineer met SWI-Prolog, die op vrijwel alles draait.
  • Logic Programming: dit maakt deel uit van een lezingenreeks van Pallab Dasgupta over kunstmatige intelligentie. Deze is over alles logisch programmeren. Er is ook specifiek een vervolgcollege over Prolog.

Prolog Books

Als je echt geïnteresseerd bent, wil je misschien een boek lezen, dat je grondiger door het onderwerp kan leiden.

  • Prolog Programming Success in a Day door Sam Key: een klein boekje dat Prolog op een dag (of avond) introduceert.
  • Programmeren in Prolog door Clocksin Mellish: dit is een grondige maar beknopte inleiding tot Prolog.
  • Prolog Programming for Artificial Intelligence door Ivan Bratko: ondanks hoe het klinkt, is dit een inleiding tot Prolog – en een die heel diep op het onderwerp ingaat.
  • The Art of Prolog: Advanced Programming Techniques by Sterling and Shapiro: dit is een klassieker, maar geen introductie. Het is iets dat u moet bekijken nadat u vertrouwd bent met de taal.

Prolog Implementaties

Er zijn verschillende gratis Prolog-compilers en -tolken beschikbaar.

  • Toy Prolog Interpreter: dit is een online tolk van Monash University die een geweldig hulpmiddel is om kleine stukjes code te controleren. Het is vooral goed om te gebruiken met tutorials voordat je de moeite neemt om een ​​compiler op je computer te installeren.
  • SWI-Prolog: dit is een veelgebruikte Prolog-implementatie die voor vrijwel elk platform beschikbaar is.
  • GNU Prolog: dit is de gratis compiler van Daniel Diaz.
  • Gratis Prolog-compilers en implementaties: de lijst met andere Prolog-implementaties in het vrije land.

Andere bronnen

Er zijn tal van andere bronnen beschikbaar. Een deel ervan gaat ver terug, dus houd er rekening mee dat sommige informatie verouderd kan zijn.

  • Prolog Resource Guide: dit is een vrij oude bron, maar het bevat een enorme hoeveelheid nuttige informatie.
  • Real World Programming in SWI-Prolog: dit heeft veel informatie voor SWI-Prolog-coders, maar veel ervan zal nuttig zijn voor mensen die andere omgevingen gebruiken. Van bijzonder belang zijn de veelgestelde vragen voor ## Prolog.
  • Prolog WikiBook: dit is een uitstekend overzicht van de taal met veel geavanceerd materiaal.
  • Stack Overflow Prolog: dit is het online forum voor programmeurs met een enorme hoeveelheid informatie. Bekijk ook de Prolog Tagged Questions-pagina.
  • SWI-Prolog Google Group: dit is geen erg actieve groep, maar er zijn nog steeds veel deskundige mensen op aanwezig. Bekijk ook de comp.lang.prolog-groep.

Overzicht

Of je er nu op wilt focussen of het gewoon wilt gebruiken als aanvulling op je andere programmeertools, Prolog is een geweldige taal om te studeren. Als logische programmeertaal laat het je op minder procedurele manieren nadenken over problemen. Met de bronnen hier kunt u leren en vooruitgaan in uw Prolog-programmering.

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