Thiết kế chương trình: % Luat dan 1: xac dinh gio

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC VÀ MỘT SỐ ỨNG DỤNG CỦA PROLOG TRONG BIỂU DIỄN TRI THỨC (Trang 41)

a) True, false và là Wff b) Mệnh đề hoặc biến mệnh đề là Wff.

3.4.3.Thiết kế chương trình: % Luat dan 1: xac dinh gio

% Luat dan 1: xac dinh gio

hour(H,H1):- H>=23.5,H<=24,H1="Ty'"; H>=0, H<1.5,H1="Ty'";

H>=1.5, H<3.5, H1="Suu"; H>=3.5, H<5.5, H1="Dan"; H>=5.5, H<7.5,H1="Meo"; H>=7.5, H<9.5, H1="Thin"; H>=9.5, H<11.5, H1="Ty."; H>=11.5, H<13.5, H1="Ngo"; H>=13.5, H<15.5, H1="Mui"; H>=15.5, H<17.5, H1="Than"; H>=17.5, H<19.5, H1="Dau"; H>=19.5, H<21.5, H1="Tuat";

% Luat dan 2: xac dinh thang

month(M,M1):- M=11,M1="Ty'"; M=12,M1="Suu"; M=1,M1="Dan"; M=2,M1="Meo"; M=3,M1="Thin"; M=4,M1="Ty."; M=5,M1="Ngo"; M=6,M1="Mui"; M=7,M1="Than"; M=8,M1="Dau"; M=9,M1="Tuat"; M=10,M1="Hoi".

% Luat dan 3: xac dinh can

can(Y,Y1):- (Y-4) mod 10=0,Y1="Giap"; (Y-4) mod 10=1,Y1="At";

(Y-4) mod 10=2,Y1="Binh"; (Y-4) mod 10=3,Y1="Dinh"; (Y-4) mod 10=4,Y1="Mau"; (Y-4) mod 10=5,Y1="Ky";

(Y-4) mod 10=6,Y1="Canh"; (Y-4) mod 10=7,Y1="Tan"; (Y-4) mod 10=8,Y1="Nham"; (Y-4) mod 10=9,Y1="Quy".

% Luat dan 4: xac dinh chi

chi(Y,Y1):- (Y-4) mod 12=0,Y1="Ty'"; (Y-4) mod 12=1,Y1="Suu"; (Y-4) mod 12=2,Y1="Dan"; (Y-4) mod 12=3,Y1="Meo"; (Y-4) mod 12=4,Y1="Thin"; (Y-4) mod 12=5,Y1="Ty."; (Y-4) mod 12=6,Y1="Ngo"; (Y-4) mod 12=7,Y1="Mui"; (Y-4) mod 12=8,Y1="Than"; (Y-4) mod 12=9,Y1="Dau"; (Y-4) mod 12=10,Y1="Tuat"; (Y-4) mod 12=11,Y1="Hoi".

% Luat dan 5: xac dinh cung

cung(Y,S,P,C):- Y>0, S1=S+Y mod 10,Y1=Y div 10,cung(Y1,S1,P,C). cung(Y,S,P,C):- Y=0,S mod 9 =1,P="nam",C="Kham";

Y=0,S mod 9 =6,P="nu",C="Kham"; Y=0,S mod 9 =2,P="nam",C="Ly"; Y=0,S mod 9 =5,P="nu",C="Ly";

Y=0,S mod 9 =3,P="nam",C="Ca'n"; Y=0,S mod 9 =1,P="nu",C="Ca'n"; Y=0,S mod 9 =4,P="nu",C="Ca'n";

Y=0,S mod 9 =4,P="nam",C="Doai"; Y=0,S mod 9 =3,P="nu",C="Doai";

Y=0,S mod 9 =5,P="nam",C="Ca`n"; Y=0,S mod 9 =2,P="nu",C="Ca`n";

Y=0,S mod 9 =6,P="nam",C="Khon"; Y=0,S mod 9 =9,P="nam",C="Khon"; Y=0,S mod 9 =0,P="nam",C="Khon"; Y=0,S mod 9 =7,P="nu",C="Khon";

Y=0,S mod 9 =7,P="nam",C="Ton"; Y=0,S mod 9 =9,P="nu",C="Ton"; Y=0,S mod 9 =0,P="nu",C="Ton";

Y=0,S mod 9 =8,P="nam",C="Chan"; Y=0,S mod 9 =8,P="nu",C="Chan".

% Luat dan 6: xac dinh mang

mang(Y,Y1):- (Y-3) mod 30 = 1, Y1="Duong Kim";(Y-3) mod 30 = 9, Y1="Duong Kim";(Y-3) mod 30 = 7, Y1="Duong Kim";

(Y-3) mod 30 = 2, Y1="Am Kim";(Y-3) mod 30 = 10, Y1="Am Kim";(Y-3) mod 30 = 18, Y1="Am Kim";

(Y-3) mod 30 = 3, Y1="Duong Hoa";(Y-3) mod 30 = 11, Y1="Duong Hoa";(Y-3) mod 30 = 25, Y1="Duong Hoa";

(Y-3) mod 30 = 4, Y1="Am Hoa";(Y-3) mod 30 = 12, Y1="Am Hoa";(Y-3) mod 30 = 26, Y1="Am Hoa";

(Y-3) mod 30 = 5, Y1="Duong Moc";(Y-3) mod 30 = 19, Y1="Duong Moc";(Y-3) mod 30 = 27, Y1="Duong Moc";

(Y-3) mod 30 = 6, Y1="Am Moc";(Y-3) mod 30 = 20, Y1="Am Moc";(Y-3) mod 30 = 28, Y1="Am Moc";

(Y-3) mod 30 = 7, Y1="Duong Tho";(Y-3) mod 30 = 15, Y1="Duong Tho";(Y-3) mod 30 = 23, Y1="Duong Tho";

(Y-3) mod 30 = 8, Y1="Am Tho";(Y-3) mod 30 = 16, Y1="Am Tho";(Y-3) mod 30 = 24, Y1="Am Tho";

(Y-3) mod 30 = 13, Y1="Duong Thuy";(Y-3) mod 30 = 21, Y1="Duong Thuy";(Y-3) mod 30 = 29, Y1="Duong Thuy";

(Y-3) mod 30 = 14, Y1="Am Thuy";(Y-3) mod 30 = 22, Y1="Am Thuy";(Y-3) mod 30 = 0, Y1="Am Thuy". (adsbygoogle = window.adsbygoogle || []).push({});

% Luat dan 7: xac dinh mang tuong khac

mangts(A,A1):- A="Thuy",A1="Thuy sinh Moc, Kim sinh Thuy"; A="Moc",A1="Moc sinh Hoa, Thuy sinh Moc";

A="Hoa",A1="Hoa sinh Tho, Moc sinh Hoa"; A="Tho",A1="Tho sinh Kim, Hoa sinh Tho"; A="Kim",A1="Kim sinh Thuy, Tho sinh Kim".

% Luat dan 8: xac dinh mang tuong sinh

mangtk(A,A1):- A="Thuy",A1="Thuy khac Hoa, Tho khac Thuy"; A="Moc",A1="Moc khac Tho, Kim khac Moc"; A="Hoa",A1="Hoa khac Kim, Thuy khac Hoa";

A="Tho",A1="Tho khac Thuy, Moc khac Tho"; A="Kim",A1="Kim khac Moc, Hoa khac Kim".

% Luat dan 9: xac dinh mau sac hop

color_hop(A,A1):- A="Kim",A1="yellow, brown, White, grey"; A="Moc",A1="Black, blue, Green";

A="Thuy",A1="White, grey, Black, blue"; A="Hoa",A1="Green, Red, pink, purple";

A="Tho",A1="Red, pink, purple, Yellow, brown, orgrane".

% Luat dan 10: xac dinh mau sac khong hop

color_k_hop(A,A1):- A="Kim",A1="Red, pink, purple"; A="Moc",A1="White, grey";

A="Thuy",A1="Yellow, brown, orgrane"; A="Hoa",A1="Black, blue";

A="Tho",A1="Green".

% Luat dan 11: xac dinh huong theo cung

huong(C,C1):- C="Kham",C1="Dong tu mang"; C="Chan",C1="Dong tu mang"; C="Ton",C1="Dong tu mang"; C="Ly",C1="Dong tu mang"; C="Khon",C1="Tay tu mang"; C="Doai",C1="Tay tu mang"; C="Ca`n",C1="Tay tu mang"; C="Ca'n",C1="Tay tu mang".

huongtot(C,C1):-C="Dong tu mang",C1="Dong Nam, Chanh Nam, Chanh Dong, Chanh Bac";

C="Tay tu mang",C1="Chanh Tay, Tay Nam, Dong Bac, Tay Bac".

% Luat dan 13: xac dinh huong xau

huongxau(C,C1):-C="Dong tu mang",C1="Chanh Tay, Tay Nam, Dong Bac, Tay Bac"; C="Tay tu mang",C1="Chanh Nam, Chanh Dong, Dong Nam, Chanh Bac".

% Luat dan 14: xac dinh nam hop ky theo can

hopcan(Y1,Y2,KQ):- Y1="Giap",Y2="Ky",KQ="hop";Y2="Giap",Y1="Ky",KQ="hop"; Y1="At",Y2="Canh",KQ="hop";Y2="At",Y1="Canh",KQ="hop"; Y1="Binh",Y2="Tan",KQ="hop";Y2="Binh",Y1="Tan",KQ="hop"; Y1="Dinh",Y2="Nham",KQ="hop";Y2="Dinh",Y1="Nham",KQ="hop"; Y1="Mau",Y2="Quy",KQ="hop";Y2="Mau",Y1="Quy",KQ="hop"; Y1="Giap",Y2="Mau",KQ="ky";Y2="Giap",Y1="Mau",KQ="ky"; Y1="At",Y2="Ky",KQ="ky";Y2="At",Y1="Ky",KQ="ky"; Y1="Binh",Y2="Canh",KQ="ky";Y2="Binh",Y1="Canh",KQ="ky"; Y1="Dinh",Y2="Tan",KQ="ky";Y2="Dinh",Y1="Tan",KQ="ky"; Y1="Mau",Y2="Nham",KQ="ky";Y2="Mau",Y1="Nham",KQ="ky"; Y1="Ky",Y2="Quy",KQ="ky";Y2="Ky",Y1="Quy",KQ="ky"; Y1="Canh",Y2="Giap",KQ="ky";Y2="Canh",Y1="Giap",KQ="ky"; Y1="Tan",Y2="At",KQ="ky";Y2="Tan",Y1="At",KQ="ky"; Y1="Nham",Y2="Binh",KQ="ky";Y2="Nham",Y1="Binh",KQ="ky"; Y1="Quy",Y2="Dinh",KQ="ky";Y2="Quy",Y1="Dinh",KQ="ky"; KQ="va".

% in ket qua cho luat dan nam hop theo can

kt(KQ,KQ1):-KQ="hop",KQ1="tot"; KQ="ky",KQ1="khong tot"; KQ="va",KQ1="khong hop, khong ky".

% Luat dan 15: xac dinh nam hop ky theo chi

hopchi(Y1,Y2,KQ):- Y1="Dan",Y2="Ngo",KQ="hop voi Tuat"; Y2="Dan",Y1="Ngo",KQ="hop voi Tuat";

Y1="Dan",Y2="Tuat",KQ="hop voi Ngo"; Y2="Dan",Y1="Tuat",KQ="hop voi Tuat"; Y1="Ngo",Y2="Tuat",KQ="hop voi Dan"; Y2="Ngo",Y1="Tuat",KQ="hop voi Dan"; Y1="Than",Y2="Ty'",KQ="hop voi Thin"; Y2="Than",Y1="Ty'",KQ="hop voi Thin"; Y1="Than",Y2="Thin",KQ="hop voi Ty'"; Y2="Than",Y1="Thin",KQ="hop voi Ty'"; Y1="Ty'",Y2="Thin",KQ="hop voi Than"; Y2="Ty'",Y1="Thin",KQ="hop voi Than"; Y1="Ty.",Y2="Dau",KQ="hop voi Suu"; Y2="Ty.",Y1="Dau",KQ="hop voi Suu"; Y1="Ty.",Y2="Suu",KQ="hop voi Dau"; Y2="Ty.",Y1="Suu",KQ="hop voi Dau"; Y1="Dau",Y2="Suu",KQ="hop voi Ty."; Y2="Dau",Y1="Suu",KQ="hop voi Ty."; Y1="Hoi",Y2="Mao",KQ="hop voi Mui";

Y1="Hoi",Y2="Mui",KQ="hop voi Mao"; Y1="Hoi",Y2="Mui",KQ="hop voi Mao"; Y1="Mao",Y2="Mui",KQ="hop voi Hoi"; Y1="Mao",Y2="Mui",KQ="hop voi Hoi"; Y1="Ty",Y2="Suu",KQ="hop nhau"; Y2="Ty",Y1="Suu",KQ="hop nhau"; Y1="Thin",Y2="Dau",KQ="hop nhau"; Y2="Thin",Y1="Dau",KQ="hop nhau"; Y1="Dan",Y2="Hoi",KQ="hop nhau"; Y2="Dan",Y1="Hoi",KQ="hop nhau"; Y1="Ty.",Y2="Than",KQ="hop nhau"; Y2="Ty.",Y1="Than",KQ="hop nhau"; Y1="Mao",Y2="Tuat",KQ="hop nhau"; Y2="Mao",Y1="Tuat",KQ="hop nhau"; Y1="Ngo",Y2="Mui",KQ="hop nhau"; Y2="Ngo",Y1="Mui",KQ="hop nhau"; Y1="Ty'",Y2="Ngo",KQ="khac nhau"; Y2="Ty'",Y1="Ngo",KQ="khac nhau"; Y1="Ty.",Y2="Hoi",KQ="khac nhau"; Y2="Ty.",Y1="Hoi",KQ="khac nhau"; Y1="Mao",Y2="Dau",KQ="khac nhau"; Y2="Mao",Y1="Dau",KQ="khac nhau"; Y1="Thin",Y2="Tuat",KQ="khac nhau"; Y2="Thin",Y1="Tuat",KQ="khac nhau";

Y1="Dan",Y2="Than",KQ="khac nhau"; Y2="Dan",Y1="Than",KQ="khac nhau"; Y1="Suu",Y2="Mui",KQ="khac nhau"; Y2="Suu",Y1="Mui",KQ="khac nhau"; KQ="khong hop khong ky".

% Luat dan 16: xac dinh hanh theo cung (adsbygoogle = window.adsbygoogle || []).push({});

hanhcung(C,H):- C="Ca`n",H="Kim"; C="Doai",H="Kim"; C="Chan",H="Moc"; C="Ton",H="Moc"; C="Kham",H="Thuy";

C="Ly",H="Hoa";

C="Ca'n",H="Tho";C="Khon",H="Tho".

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC VÀ MỘT SỐ ỨNG DỤNG CỦA PROLOG TRONG BIỂU DIỄN TRI THỨC (Trang 41)