Programowanie logiczne

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Programowanie logiczne (nazywane także programowaniem w logice lub programowaniem w języku logiki) to będąca odmianą programowania deklaratywnego metoda programowania, 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:

connected(X, Y) :- X = Y.
connected(X, Y) :- edge(X,Z), connected(Z, Y).

Co czytamy następująco:

  • istnieje ścieżka z X do Y, jeśli X = Y
  • 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.