Skip to main content
Back to KTH start page

Ekvationsgenerare i Prolog

Till kursen Logikprogrammering (ID2213) deltog jag i ett projekt med två kurskamrater att göra ett program i programmeringsspråket Prolog som visar upp språkets möjligheter.

Syftet med projektet var att visa upp programmeringsspråket Prologs möjligheter. Prolog har möjligheten att ge flera lösningar vilket ledde till idén att utveckla en genererare av ekvationssystem.

I projektet var min största uppgift att skriva koden, därför är större delen av koden skriven av mig.

Vad programmet gör
Programmet tar emot en lista med variabler tillsammans med deras värden och genererar en ekvation som använder dessa variabler. Det listiga som visar upp språket Prolog är att flera olika lösningar kan genereras tills att man hittar en man tycker om. Prolog har även möjligheten att under exekvering om en väg inte kommer ge en lösning så backtrackar programmet till en tidigare fas i koden där flera lösningar kunde genereras för att prova en annan lösning. För att visa upp detta så kan man som input ge tidigare kända ekvationer (genererade eller sådana man själv kommit på) så blir outputten en linjärt oberoende ekvation för att hela ekvationssystemet ska vara lösligt. Detta fungerar genom att programmet kollar om ekvationssystemet är lösligt för en till variabel och om inte hoppar den tillbaka till fasen som slumpade en ekvation för att slumpa en ny.


Nedan är källkoden till ekvationsgeneratorn
generatorprologsc.pdf


Profile picture of Albin Johansson

Portfolio

  • CV
  • Ekvationsgenerare i Prolog