Wat is Prolog?
Prolog, bedacht in de vroege jaren zeventig, is waarschijnlijk een combinatie van de woorden programma en logica, een van de vroegste computerprogrammeertalen. Mede omdat het een zeer eenvoudige code is, met behulp van eerste-orde-logica en weinig berekeningen, is het nog steeds populair. De originele instructieset is aanzienlijk uitgebreid en ontwikkeld tot vele varianten omdat deze bijzonder goed geschikt is voor het verwerken van taal. Deze twee primaire kenmerken van het programma zorgen voor de verwerking van toepassingen zoals kunstmatige intelligentie en geautomatiseerde telecommunicatie.
Prolog gebruikt formele logica van de eerste orde. De instructies die naar een computer zijn geüpload, zijn vast; ze hebben geen fuzzy, computationele weging. In de uitdrukking is de syntaxis van de taal een eindige set regels en de semantiek wordt gedefinieerd, meestal door sets zoals enkele descriptoren, meerdere lijsten en strings, of door een bereik zoals numerieke reeksen.
Samen met een aantal beter bekende codering, zoals hypertext markup language (HTML), bevindt Prolog zich in een klasse software die gewoonlijk declaratieve programmeertalen wordt genoemd, die kenmerkend de eenvoudige bewering "X is gelijk aan Y" gebruikt, gedefinieerd als een "term". Een computer is verteld wat te doen; het krijgt niet de opdracht om zelf te berekenen hoe er te komen. De computer krijgt een reeks feiten met een 'predicaat' en relaties, gedefinieerd als een 'clausule', waaruit een invoerquery een conclusie moet opleveren voor een echte versus een valse uitvoer. Het voert geen algoritme uit, maar leidt eerder een eenvoudig antwoord af door de bekende set definities toe te voegen en af te trekken of te ontkennen. Computing in Prolog wordt gebruikt om theorieën en hun onderliggende aannames te testen en te bewijzen, van geavanceerde wiskunde tot biologie tot filosofie.
Een van de cognitieve theorieën van intelligentie is dat er een grote maar eindige lexicale opslag van informatie in de hersenen is die wordt opgehaald, verwerkt en teruggekoppeld, wat resulteert in een grotere complexiteit of eenvoud van de informatie. Met toenemende geheugencapaciteit en snelle toegang is dit het dominante paradigma dat de heilige graal van de computerwetenschap heeft aangedreven - kunstmatige intelligentie. Wat volgens velen op dit gebied belangrijk is, zijn interface en taal. Prolog-programmering kan worden gebruikt om GUI's te maken, de grafische gebruikersinterface ontwikkeld door Apple®, door eenvoudig visuele symbolen te definiëren. Het kan ook worden gebruikt om gezichtsuitdrukkingen te lezen, vertalen en te creëren.
Computationele taalkunde is aanzienlijk moeilijker, en hoewel Prolog in de loop der jaren is gevorderd om bijvoorbeeld de unieke grammaticale principes van sommige vreemde talen op te nemen, vragen veel onderzoekers zich af of het effectief taal vertegenwoordigt. Voor beperkte expertsystemen, zoals geautomatiseerde telefonische spraakherkenning, telefoonlijnen, wordt Prolog-programmering tot op zekere hoogte gebruikt. Het kan ook worden geïntegreerd in logica-software van een hogere orde - kwantificering van talen zoals C + of Java - maar compressie en draagbaarheid blijven problemen die blijven bestaan voor deze gegevensintensieve programmeertaal.