Vad är Prolog?

Uttänkt i början av 1970-talet, Prolog, troligen en kombination av orden program och logik, är ett av de tidigaste datorprogrammeringsspråken. Delvis eftersom det är mycket enkel kod, med hjälp av första ordningens logik och lite beräkning, är den fortfarande i populär användning. Den ursprungliga instruktionsuppsättningen har förstorats avsevärt och utvecklats till många varianter eftersom den är särskilt väl lämpad för att bearbeta språk. Dessa två primära attribut i programmet tillhandahåller bearbetning av applikationer som artificiell intelligens och automatiserad telekommunikation.

Prolog använder formell första ordningens logik. Instruktionerna som laddas upp till en dator är fasta; de har ingen suddig, beräkningsmässig viktning. I uttryck är språkets syntax en ändlig uppsättning regler och semantiken definieras, vanligtvis av uppsättningar som enstaka deskriptorer, flera listor och strängar, eller av ett intervall som numeriska sekvenser.

Tillsammans med lite mer känd kodning som hypertext markup language (HTML), är Prolog i en klass av programvara som vanligtvis kallas deklarativa programmeringsspråk, som karakteristiskt använder det enkla påståendet ”X är lika med Y”, definierat som en ”term”. En dator får veta vad den ska göra; det är inte instruerat att på egen hand beräkna hur man tar sig dit. Datorn ges en uppsättning fakta med ett ”predikat” och relationer, definierade som en ”klausul”, från vilka en ingångsfråga ska ge en sann kontra falsk slutsats. Den exekverar inte en algoritm, utan får snarare ett enkelt svar genom att addera och subtrahera, eller negera, från dess kända uppsättning definitioner. Computing i Prolog används för att testa och bevisa teorier och deras underliggande antaganden, från avancerad matematik till biologi till filosofi.

En av de kognitiva teorierna om intelligens är att det finns ett stort men ändligt lexikalt lager av information i hjärnan som hämtas, bearbetas och återkopplas, vilket resulterar i större komplexitet eller enkelhet i informationen. Med ökande minneskapacitet och snabb åtkomst är detta det dominerande paradigmet som har drivit fram datavetenskapens heliga gral – artificiell intelligens. Det som är nyckeln enligt många inom området är gränssnitt och språk. Prolog-programmering kan användas för att skapa GUI, det grafiska användargränssnittet som är banbrytande av Apple®, genom att helt enkelt definiera visuella symboler. Den kan också användas för att läsa, översätta och skapa ansiktsuttryck.

Beräkningslingvistik är avsevärt svårare, och medan Prolog har avancerat under åren för att införliva, till exempel, de unika grammatiska principerna för vissa främmande språk, ifrågasätter många forskare om det effektivt representerar språket. För begränsade expertsystem, såsom datoriserade telefonlinjer för teknisk support för röstigenkänning, används Prolog-programmering till en viss grad av effektivitet. Den kan också integreras i logikmjukvara av högre ordning – kvantifierande språk som C+ eller java – men komprimering och portabilitet förblir problem som kvarstår för detta dataintensiva programmeringsspråk.