Hoppa till huvudinnehållet
Institutionen för informationsteknologi

Logikprogrammering

Logik är användbart - som programmeringsspråk!

Att programmera är att tänka logiskt, oavsett i vilket språk man programmerar. Men i logikprogrammering används själva logiken som grunden i språket. Idén är att ett datorprogram säger två saker: vad är uppgiften (uppgiftens logik), och hur ska datorn lösa den (styrning). De flesta programmeringsspråk betonar styrningen: programmet är en rad kommandon. Men ett logiskt program är istället en beskrivning av uppgiften. Det är till exempel mycket enklare att beskriva vad en lösning till ett pussel är, än att beskriva hur den hittas. I stället får datorn själv söka efter en lösning. Att lösa ett pussel är som att hitta din väg i ett labyrint: du måste gissa en väg utan att veta att den är rätt. Ibland kör du fast, och då går du tillbaka till det senaste valet, och börjar om där.Denna strategi (backtracking) är inbyggd i logikprogrammeringen, vilket gör det lätt att skriva program med ett sådant beteende.
Logikprogrammering används ofta för att hantera språk. Även i språkhantering behövs backtracking: många ord har flera betydelser, så val uppstår. Översätt "the old man". Lätt, det blir "den gamla mannen". Men om hela meningen är: "The old man the boat", då stämmer inte ditt första val, och du måste välja om: "Gamlingarna bemannar båten."Kursen har flera infallsvinklar: programmering, teorin (logiken) bakom, hur datorn hanterar programmet, och inte minst användningar som språkhantering, lösa pussel, och att programmera datorn att spela strategispel. Förkunskaper: 120 hp, inklusive programmering, datastrukturer, logik. Kursmål: En bredare syn på programmering. En utökning av ditt urval av programmeringsmetoder.

Uppdaterad  2012-04-24 17:08:49 av Roland Bol.