0

lập trình logic trong prolog pgs ts phan huy khánh phần 1

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 1 doc

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 1 doc

Kỹ thuật lập trình

... 10 9 S p x p ph n t c a danh sách 10 9 Tính dài c a m t danh sách 10 9 T o sinh s t nhiên 11 1 CHƯƠNG I I .1 I.2 I.2 .1 I.2.2 I.2.3 I.3 I.3 .1 I.3.2 II II .1 II.2 II.3 II.3 .1 II.3.2 ... 11 7 K thu t s d ng nhát c t 11 8 T o ích gi b ng nhát c t 11 8 Dùng nhát c t lo i b hoàn toàn quay lui 11 9 Ví d s d ng k thu t nhát c t 12 2 Phép ph nh 12 6 Ph ... CHƯƠNG I II III III .1 III .1. 1 III .1. 2 III .1. 3 III .1. 4 III .1. 5 III .1. 6 III.2 C U TRÚC DANH SÁCH 95 BI U DI N C U TRÚC DANH SÁCH 95 M T S V T X LÝ DANH SÁCH C A PROLOG 98 CÁC THAO...
  • 19
  • 969
  • 14
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 2 pot

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 2 pot

Kỹ thuật lập trình

... date(D, M, 18 90) date(D1, May, Y1) có th v i nh ràng bu c sau : • D c ràng bu c v i D1 • M c ràng bu c v i May • Y1 c ràng bu c v i 18 90 Trong Prolog, ta có th vi t : D = D1 M = May Y1 = 18 90 22 ... point(X, Y1))) horizontal(seg(point(X, Y), point(X1, Y))) Ta có : ?- vertical(seg(point (1, 1) , point (1, 2))) Yes ?- vertical(seg(point (1, 1) , point(2, Y))) No ?- horizontal(seg(point (1, 1) , point(2, ... lôgic Prolog i tư ng hình h c ơn gi n  IV.2 M t s Hình T ó, (6, i  Hình IV.2 c bi u di 4) b i h ng sau : tư ng n P1 = point (1, 1) P2 = (2, 3)  P2 = point(2, 3) S = seg(P1,2 P2) = seg(point (1, 1) ,...
  • 19
  • 501
  • 7
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 3 doc

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 3 doc

Kỹ thuật lập trình

... trình lôgic Prolog Quá trình th c hi n th t c execute c mô t sau : Chương trình Prolog hay s d li u G1, G2, , Gm C' : H’ :- D 1, , D’n C H : , D1, Dn S = (G1| H’) D1’, , Dn’, G2, , G D "1, , D"n, ... displacement( state(P1, onthefloor, P1, H), pushing(P1, P2), % y h p t P1 n P2 state(P2, onthefloor, P2, H)) displacement( state(P1, onthefloor, G, H), walking(P1, P2), % di chuy n t P1 n P2 state(P2, ... chung v i danh sách G1, G2, , Gm M nh C’ sau : H’ :- D 1, , D’n Ng nghĩa c a chương trình Prolog 39 Gi s S ràng bu c c a bi n t vi c so kh p gi a G1 H’, Prolog thay th G1 b i D 1, , D’n danh sách...
  • 19
  • 362
  • 2
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 4 pptx

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 4 pptx

Kỹ thuật lập trình

... : a (1, 2) = a(X, X) a(X, 3) = a(4, Y) a(a(3, X)) = a(Y) 59 Ng nghĩa c a chương trình Prolog 1+ 2 = X = 1+ 2 a(X, Y) = a (1, X) a(X, 2) = a (1, X) Cho trư c chương trình dư i ây : f( f( f( f( 1, one ... sinh gi a năm 19 50 năm 19 60 (k c hai năm này) b ng cách t câu h i : ?- birth( Name, Year ), Year >= 19 50, Year
  • 19
  • 512
  • 2
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 5 pps

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 5 pps

Kỹ thuật lập trình

... c, d, e] T = t(a, b, c, d, e) Yes ?- arg (1, father(jean, isa), X) X = jean ?- name(toto, L) L = [11 6, 11 1, 11 6, 11 1] Yes ?- name(A, [11 6, 11 1, 11 6, 11 1]) A = toto Yes Ví d II.5 : Cho s d li u ... = Ack(m -1, 1) M > 0, M is M - 1, ack(M, 1, A) ack(M1, N1, A) :% Ack(m, n) = Ack(m -1, Ack(m, n -1) ) M1 > 0, N1 > 0, M is M - 1, N is N - 1, ack(M1, N, A1), ack(M, A1, A) Ví d III.7 : Hàm tính t ... fib1 (1, F, _, F) fib1(N, F2, F1, FN) :- 84 L p trình lôgic Prolog N > 1, N1 is N - 1, F3 is F1 + F2, fib1(N1, F3, F2, FN) ?- fibo( 21, F) F = 10 946 Yes ?- fibo(200, F) F = 2.80571e+0 41 Yes III.3 M t...
  • 19
  • 853
  • 7
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 6 docx

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 6 docx

Kỹ thuật lập trình

... sách [ 1, 2, ], ch c n t câu h i : Cho bi t danh sách L n u sau xoá a, ta nh n c danh sách [ 1, 2, ] ? ?- remove( a, L, L = [ a, 1, 2, L = [ 1, a, 2, L = [ 1, 2, a, L = [ 1, 2, 3, a No [ 1, 2, ... a L1 L2 Ta vi t Prolog sau : append( [ X | L1 ], L2, [ X | L3 ] ) :- append( L1, L2, L3 ) Hình 4.2 minh ho phép ghép hai danh sách [ X | L1 ] L2 Ta có ví d sau : ?- append( [ a, b, c ], [ 1, ... lôgic Prolog delete(List1, Elem, List2) select(Elem, List, Rest) nth0(Index, List, Elem) nth1(Index, List, Elem) last(List, Elem) reverse(List1, List2) permutation(List1, List2) flatten(List1, List2)...
  • 19
  • 1,390
  • 10
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 7 pot

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 7 pot

Kỹ thuật lập trình

... bi t k t qu Prolog tr l i câu h i sau : ?- [1, 2,3] = [1| X] ?- [1, 2,3] = [1, 2|X] 11 2 L p trình lôgic Prolog ??????- [1 | [2,3]] = [1, 2,X] [1 | [2,3,4]] = [1, 2,X] [1 | [2,3,4]] = [1, 2|X] b(o,n,j,o,u,r) ... sau : ?- takeout(3, [1, 2,3], [1, 2]) Yes ?- takeout(X, [1, 2,3],L) X = L = [2, 3] ; X = L = [1, 3] ; X = L = [1, 2] ; No ?- takeout(4,L, [1, 2,3]) L = L = L = L = No [4, [1, [1, [1, 1, 4, 2, 2, 2, 2, ... forall(member(Result = Formula, [2 = + 1, = * 2]), Result =:= Formula) Result = _G 615 Formula = _G 616 Yes L p trình lôgic Prolog 11 4 14 S d ng v t forall vi t chương trình Prolog ki m tra m t danh sách...
  • 19
  • 623
  • 11
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 8 pot

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 8 pot

Kỹ thuật lập trình

... zurich V3 = ljubljana FN1 = ba 510 Dep1 = 8:30 Arr1 = 11 :20 FN2 = sr6 21 Dep2 = 9:25 Arr2 = 10 :15 FN3 = yu323 Dep3 = 13 :30 Arr3 = 14 :40 FN4 = yu200 Dep4 = 11 :10 Arr4 = 12 :20 II.5 Bài toán tám quân ... all , 11 :00 / 13 :50 / az459 / all ] ) timetable( ljubljana , zurich , [ 11 :30 / 12 :40 / ju322 / [ tu , fr ] ] ) timetable( ljubljana , paris , [ 11 :10 / 12 :20 / yu200 / [ fr ] , 11 :25 / 12 :20 ... 12 :20 / yu 212 / [ su ] ] ) timetable( milan , paris , [ 9 :10 / 10 :00 / az458 / all , 12 :20 / 13 :10 / ba 511 / all ] ) timetable( milan , zurich , [ 9:25 / 10 :15 / sr6 21 / all , 12 :45 / 13 :35 / sr623...
  • 19
  • 467
  • 7
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 9 pps

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 9 pps

Kỹ thuật lập trình

... 5/Y5, 6/Y6, 7/Y7, 8/Y8 S ) 5 /1, 5 /1, 5 /1, 5 /1, 5 /1, 5 /1, 6 /1, 6 /1, 6 /1, 6 /1, 6 /1, 6 /1, 7 /1, 7 /1, 7 /1, 7 /1, 7 /1, 7 /1, 8 /1] 8 /1] 8 /1] 8 /1] 8 /1] 8 /1] ; ; ; ; ; theo c t Trong chương trình th nh t, ... model( S ), solution( S = [1/ 1, 2 /1, 3 /1, 4 /1, S = [1/ 1, 2/8, 3 /1, 4 /1, S = [1/ 2, 2/8, 3 /1, 4 /1, S = [1/ 1, 2 /1, 3/7, 4 /1, S = [1/ 3, 2 /1, 3/7, 4 /1, S = [1/ 1, 2/2, 3/7, 4 /1, Yes II.5.2 S d ng danh sách ... ListY) :sol( ListY ), [ 1, 2, 3, 4, 5, 6, 7, ], [ 1, 2, 3, 4, 5, 6, 7, ], [ -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, ], [ 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11 , 12 , 13 , 14 , 15 , 16 ] ) sol( [ ], [...
  • 19
  • 404
  • 5
Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 10 potx

Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 10 potx

Kỹ thuật lập trình

... name(mic29, [10 9, 10 5, 99, 50, 57 ]) Yes ?- name( aikieutuido, L) L = [ 97, 10 5, 10 7, 10 5, 10 1, 11 7, 11 6, 11 7, 10 5 | ] Yes ?- name(X, [ 97, 10 5, 10 7, 10 5, 10 1, 11 7, 11 6, 11 7, 10 5, 10 0, 11 1 ]) X = ... writefamily(X) parents tom smith, birth day may , 19 60, work microsoft, salaire 30000 ann smith, birth day avril , 19 62, out of work children roza smith, birth day june 16 , 19 91, out of work eric ... may, 19 60), work(microsoft, 30000) ),individual( ann, smith, date(9, avril, 19 62), inactive),[individual( roza, smith, date (16 , june, 19 91) , inactive),individual( eric, smith, date(23, march, 19 93),...
  • 14
  • 518
  • 6

Xem thêm