Wat is Prolog-taal?

Prolog is een computerprogrammeertaal die is gebaseerd op logica. De meeste computertalen zijn gebaseerd op de stappen die nodig zijn om een ​​probleem op te lossen. De Prolog-taal is daarentegen een "declaratieve" taal die de logische relaties tussen entiteiten aangeeft. De manier om het probleem op te lossen wordt aan de computer overgelaten. De naam Prolog komt van het Franse PROGRAMMA en LOGique, dat wil zeggen PROGRAMMERING LOGIC.

Het volgende is een eenvoudig Prolog-programma:

voorouder (F, C): - vader (F, C)
voorouder (P, Q): - vader (P, R), voorouder (R, Q)
vader (john, jim).
vader (jim, jerry).
vader (jerry, jason).
vader (jerry, jeff).
vader (jason, joshua).

Bovenstaand programma geeft truismen aan. Als F de vader is van C, dan is F een voorouder van C. Als P de vader is van een persoon R die een voorouder is van Q, dan is P een voorouder van Q. Vervolgens worden een aantal echte feiten gegeven, zoals John is de vader van Jim. Als er dan een probleemvraag wordt gesteld over de vraag of john een voorouder is van jeff, krijgen we het antwoord "Ja" zoals hieronder:

? - voorouder (john, jeff).
Ja

Als de voorouders van Joshua van belang zijn, geeft het programma alle voorouders als volgt weer:

? - voorouder (A, joshua)
A = jason
A = jerry
A = jim
A = john

Merk op dat in beide bovengenoemde gevallen het programma niet vertelde hoe de evaluatie moest worden uitgevoerd. Het gaf bijvoorbeeld niet aan of bij de oudere persoon moest worden begonnen en zich naar de jongere moest werken of omgekeerd. Ook het uitwisselen van de onderdelen zoals hieronder:

voorouder (P, Q): - voorouder (R, Q), vader (P, R)

Het zou geen verschil maken voor het programma, omdat beide delen aan de rechterkant waar moeten zijn om de linkerkant waar te laten zijn.

De Prolog-taal richt zich dus op de relaties, en niet op hoe het probleem moet worden opgelost. Tijdens de uitvoering van het programma bouwt Prolog een aantal echte uitspraken op, waardoor een kennisbank ontstaat. In het bovenstaande voorbeeld heeft de kennisbank, in willekeurige volgorde, voorouder (john, jim), voorouder (jim, jerry), voorouder (john, jerry), voorouder (jim, jason), voorouder (john, jason), enzovoort. Deze kennisbank kan verder worden opgebouwd terwijl het programma wordt uitgevoerd en kan efficiënt worden doorzocht om oplossingen te vinden. De uitvoering kan gebruik maken van parallelle verwerking, gelijktijdige uitvoering door meerdere computers.

De Prolog-taal wordt op een aantal gebieden gebruikt. Het begon in systemen gericht op natuurlijke talen zoals Engels; natuurlijke taal is een van de gebieden van kunstmatige intelligentie. De Prolog-taal wordt ook gebruikt in symbolische wiskunde, inclusief algebra. Het wordt gebruikt bij het bewijzen van stellingen, in expertsystemen en in besturingssystemen, naast vele andere toepassingen.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?