Logiikkapohjainen ohjelmointi

Tämä artikkeli käsittelee ohjelmointiparadigmaa. Artikkeli ohjelmoitava logiikka käsittelee automaatioprosessien ohjausta.
Ohjelmointiparadigmat
Deklaratiivinen ohjelmointi
Epärakenteellinen ohjelmointi
Funktionaalinen ohjelmointi
Geneerinen ohjelmointi
Imperatiivinen ohjelmointi
Logiikkapohjainen ohjelmointi
Olio-ohjelmointi
Proseduraalinen ohjelmointi
Rakenteinen ohjelmointi
Reaktiivinen ohjelmointi
Rinnakkaisohjelmointi

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.


Developed by StudentB