Logiikkapohjainen ohjelmointi
Logiikkapohjainen ohjelmointikieli kuvaa maailman faktoina ja faktojen välisinä suhteina. Esimerkiksi "Ville on Kallen isä, Matti on Villen isä, X on Y:n poika, jos Y on X:n isä ja jälkeläinen on poika tai pojan jälkeläinen" kuvataan Prolog-kielellä näin:
isa (ville, kalle).
isa (matti, ville).
poika (X, Y) :- isa (Y, X).
jalkelainen (X, Y) :- poika (X, Y).
jalkelainen (X, Y) :- poika (X, Z), jalkelainen (Z, Y).
Nyt kyselyssä "kuka on Matin jälkeläinen" todetaan ensin, että säännön 4 mukaan X on Matin jälkeläinen, jos X on Matin poika, ja säännön 3 mukaan X on Matin poika, jos Matti on X:n isä, ja säännön 2 mukaan Matti on Villen isä. Samalla tavoin Kalle todetaan Matin jälkeläiseksi käyttäen kaikkia viittä sääntöä.
Ehdottomasti tunnetuin logiikkapohjainen ohjelmointikieli on edellä kuvattu Prolog.
Katso myös
muokkaaAiheesta muualla
muokkaaWikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Logiikkapohjainen ohjelmointi.
- The Early Years of Logic Programming (PDF) (englanniksi)