Programowanie logiczne
Programowanie logiczne (nazywane także programowaniem w logice lub programowaniem w języku logiki) – metoda programowania, będąca odmianą programowania deklaratywnego, w której program podawany jest jako pewien zestaw zależności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zależności.
Na przykład chcemy stwierdzić, czy w danym grafie skierowanym istnieje ścieżka z pewnego punktu do pewnego innego punktu. Krawędzie zapisane są relacją edge(Skąd, Dokąd)
. Nasz program wyglądałby w Prologu tak:
path(A,B) :- walk(A,B,[]). walk(A,B,V) :- edge(A,X), not(member(X,V)), (B = X; walk(X,B,[A|V])).
Co czytamy następująco:
- istnieje ścieżka z X do Y, jeśli można przejść z A do B
- istnieje ścieżka z X do Y, jeśli dla jakiegoś Z istnieje krawędź z X do Z, oraz ścieżka z Z do Y
Programowanie logiczne umożliwia łatwy zapis wielu algorytmów, a programy logiczne w przeciwieństwie do imperatywnych łatwo też wykonywać równolegle.