Logiikkapohjainen ohjelmointi
Siirry navigaatioon
Siirry hakuun
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
[muokkaa | muokkaa wikitekstiä]Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Logiikkapohjainen ohjelmointi.
- The Early Years of Logic Programming (PDF) (englanniksi)