De datorspråk Prolog och Lisp både rankas högt inom området artificiell intelligens ( AI ) forskning . Lisp är en äldre allmänt ändamål språk som används för att bygga program som imiterar mänskligt beteende medan Prolog kom senare och fokuserar på kunskapsbaser och expertsystem . Varför Lisp ?
Lisp är en av de äldsta högnivåspråk datorprogrammering . Som ett allmänt ändamål språk , har en rik uppsättning datatyper samt inbyggda datastrukturer som listor, träd och kartor . Det ger också en rik uppsättning funktioner som arbetar på dessa datatyper och strukturer . På många sätt språket är en räckvidd liknande Java eller Python , och med tiden har utvecklats till att erbjuda många av samma funktioner, inklusive objekt och dynamiska datatyper . Addera Varför Prolog ?
Prolog är en deklarativ programmering språk som specialiserat sig på slutledning - baserade resonemang . Den använder specialiserade logik att härleda ny kunskap från en lista med regler som kallas en kunskapsbas . Språket fungerar bra för uppgifter som att bevisa matematiska teorem och bygga expertsystem .
Olika tillvägagångssätt
Den största skillnaden mellan de två språken är hur problemen beskrivits. I Lisp , måste programmeraren beskriver hur datorn kommer att lösa problemet . I ett schackprogram, skulle utvecklaren instruera datorn att analysera alla möjliga drag , vilket skapar ett beslutsträd i minnet , då har datorn bestämma vilken av de val som är bäst . I Prolog , behöver utvecklaren inte att beskriva hur , men i stället listar reglerna sedan pekar programmet mot de önskade resultaten . Till exempel kan programmet innehålla en förteckning över medicinska symptom och möjliga diagnoser då , givet en lista över symptom , skulle programmet rangordna de mest sannolika diagnoserna .
Gemensamt mål
En av de likheter som gör dessa språk unikt är deras förmåga att skriva sig som programmet körs . Detta är hur artificiell intelligens sker. I Lisp , kan själva programmet behandlas som data som programmet kan manipulera . Genetiska algoritmer , program som slumpmässigt mutera och utvecklas , kan ställa sig över tiden , hitta snabbare sätt att nå en lösning . I Prolog , kan ny kunskap hämtas från befintliga regler samt användarens input läggas till kunskapsbasen så det lär som det körs . Välja ett språk
Både
språk har sina styrkor och svagheter . Prolog passar bra för sitt problem domän men kan inte flytta långt utanför den . Lisp kan lösa fler problem , men det krävs mer kod för att göra det . Välj Prolog för kunskapsbaserade problem , Lisp för andra områden .
För dem som vill ansluta sig till forskningsområdet eller bara plaska i ett nytt språk , det är bra att arbeta med . Fri öppen källkod versioner av båda språken är tillgängliga från Internet och någon genomsnittlig stationär dator har mer än tillräckligt med kraft för att hantera arbetsbördan .