Sabtu, 08 Februari 2014

membuat silsilah kerajaan Inggris dengan bahasa pemrograman SWI-prolog Kecerdasan Buatan (Actificial Inteligent) Informatika universitas Syiah Kuala

male(jamesI).
male(charlesI).
male(phillip).
male(charlesII).
male(jamesII).
male(charles).
male(mark).
male(andrew).
male(edward).
male(william).
male(hendry).
male(peter).

female(X) :- not(male(X)).

anak(charlesI,jamesI).
anak(elizabeth,jamesI).
anak(charlesI,margareth).
anak(elizabeth,margareth).
anak(catherine,charlesI).
anak(charlesII,charlesI).
anak(jamesII,charlesI).
anak(catherine,sophia).
anak(charlesII,sophia).
anak(jamesII,sophia).
anak(charles,elizabeth).
anak(anne,elizabeth).
anak(andrew,elizabeth).
anak(edward,elizabeth).
anak(charles,phillip).
anak(anne,phillip).
anak(andrew,phillip).
anak(edward,phillip).
anak(william,charles).
anak(hendry,charles).
anak(william,diana).
anak(hendry,diana).
anak(peter,anne).
anak(zara,anne).
anak(peter,mark).
anak(zara,mark).
anak(beatrice,andrew).
anak(eugenie,andrew).
anak(beatrice,sarah).
anak(eugenie,sarah).
anak(lady,edward).
anak(lady,sophie).

ibu(margareth,charlesI).
ibu(margareth,elizabeth).
ibu(sophia,catherineI).
ibu(sophia,charlesII).
ibu(sophia,jamesII).
ibu(elizabeth,charles).
ibu(elizabeth,anne).
ibu(elizabeth,andrew).
ibu(elizabeth,edward).
ibu(diana,william).
ibu(diana,hendry).
ibu(anne,peter).
ibu(anne,zara).
ibu(sarah,beatrice).
ibu(sarah,eugenie).
ibu(sophie,lady).

ayah(jamesI,charlesI).
ayah(jamesI,elizabeth).
ayah(charlesI,catherineI).
ayah(charlesI,charlesII).
ayah(charlesI,jamesII).
ayah(phillip,charles).
ayah(phillip,anne).
ayah(phillip,andrew).
ayah(phillip,edward).
ayah(charles,william).
ayah(charles,hendry).
ayah(mark,peter).
ayah(mark,zara).
ayah(andrew,beatrice).
ayah(andrew,eugenie).
ayah(edward,lady).

menikah(margareth,james1).
menikah(sophia,charles1).
menikah(elizabeth,phillip).
menikah(camila,charles).
menikah(diana,charles).
menikah(anne,mark).
menikah(sarah,andrew).
menikah(sophie,edward).
menikah(catherina,william).

ibutiri(X,Y)        :-  female(X), menikah(X,Z), anak(Z,Y), not(ibu(X,Y)).
saudarakandung(X,Y) :-  ayah(Z,X), ayah(Z,Y), ibu(W,X), ibu(W,Y), not(X=Y).
abang(X,Y)          :-  male(X), saudarakandung(X,Y), anak(X,Z), anak(Y,Z).
kakak(X,Y)          :-  female(X), saudarakandung(X,Y), anak(X,Z), anak(Y,Z).
sepupu(X,Y)         :-  anak(X,Z), anak(Y,W), saudarakandung(Z,W).

tantesepupu(X,Y)    :-  female(X), sepupu(X,Z), anak(Z,Y).
paman(X,Y)          :-  male(X), saudarakandung(X,Z), anak(Y,Z).
pamankandung(X,Y)   :-  male(X), saudarakandung(X,Z), anak(Z,Y).
tante(X,Y)          :-  female(X), saudarakandung(X,Z), anak(Y,Z).

nenek(X,Y)          :-  female(X), ibu(X,Z), anak(Z,Y).
kakek(X,Y)          :-  male(X), ayah(X,Z), anak(Y,Z).
nenekbuyut(X,Y)     :-  female(X), nenek(X,W), anak(Y,W).
kakekbuyut(X,Y)     :-  male(X), kakek(X,W), anak(W,Y).

cucu(X,Y)           :- anak(Z,X), anak(Y,Z).
cucupr(X,Y)         :- female(X), anak(Z,X), anak(Y,Z).
cuculk(X,Y)         :- male(X), anak(Z,X), anak(Y,Z).

cicit(X,Y)                :- anak(W,X), cucu(W,Y).
cicitperempuan(X,Y)      :- female(X), anak(X,W), cucu(W,Y).
cicitlk(X,Y)             :- male(X), anak(X,W), cucu(W,Y).


Tidak ada komentar:

Posting Komentar