Logikprogrammering

Från Wikipedia
Hoppa till: navigering, sök

Logikprogrammering är ett programmeringsparadigm baserat på att bevis av predikatlogiska satser på vissa former kan automatiseras, vilket upptäcktes av Alan Robinson1960-talet. Logikprogrammering är deklarativ, programmeraren anger vad som ska göras inte hur (som i imperativ programmering). Ett logikprogram består av en formulering av problemet man vill ha löst på en predikatlogisk form. Sen är det upp till en interpretator att bevisa satsen/programmet. Deklarativiteten är en av fördelarna med logikprogrammering, en annan (som blir mer och mer aktuell) är att bevis av predikatlogiska satser kan parallelliseras automatiskt. Det är av stort intresse för att på ett enkelt sätt kunna skriva effektiva program för datorer med flera processorer eller processorkärnor, vilket har visat sig svårt med imperativ programmering. Bland nackdelarna märks att logikprogram är ineffektiva på enprocessorsmaskiner, samt att logikprogrammering är svårt att lära sig för den som saknar kunskap om predikatlogik. Det första praktiskt användbara logikprogrammeringsspråket, och fortfarande det mest spridda, är Prolog. Logikprogrammering var som mest uppmärksammad på 1980-talet, ofta i samband med artificiell intelligens. Bland svenska forskare som gjort insatser inom logikprogrammering kan nämnas Sten-Åke Tärnlund, Jonas Barklund, Sverker Janson, Seif Haridi och Håkan Millroth.