|
Bài gửi sau cùng |
---|
Bài gửi | Người gửi | Thời gian | Happy new year 2013 | | Sat Dec 29, 2012 3:45 pm
| Lâu rùi anh không thấy chú nào vào diễn đàn nữa | | Mon May 07, 2012 9:26 am
| Happy new year 2012. | | Mon Jan 30, 2012 5:05 am
| [color=red]Tin "Cực Hot" cho tất cả các bạn và người thân[/color] | | Wed Oct 05, 2011 4:44 am
| Cách đổi lịch âm dương | | Mon Oct 03, 2011 2:24 am
| lâu lâu rùi không lên diễn đàn lớp mình chém gió | | Fri Sep 30, 2011 9:44 am
| TRIỂN LÃM DU HỌC NHẬT BẢN 2010 Vừa học vừa làm thu nhập 1700USD/1 tháng | | Wed Sep 28, 2011 8:00 am
| Vừa đi làm, vừa làm cộng tác viên kiếm tiền... | | Sun Aug 07, 2011 11:37 am
| :(((((((((((((((((((((((((((((((((((((((((((((((((((((((( | | Sat Aug 06, 2011 5:05 am
| Khánh thành website học tiếng anh của Chiến | | Fri Aug 05, 2011 10:30 am
| Funy : Counter strike =)) | | Mon Jul 25, 2011 10:43 am
| Lịch học hè | | Fri Jul 08, 2011 4:11 pm
| Tổng hợp ảnh 24/06/2011 - Lễ tốt nghiệp | | Wed Jul 06, 2011 9:17 am
| Câu lạc bộ tiếng anh của Chiến - cơ hội giao lưu người bản xứ | | Tue Jun 28, 2011 9:41 pm
| [K52A3] CÔNG BỐ TÀI CHÍNH QUỸ LỚP (10/03/2011) | | Thu Jun 23, 2011 5:35 pm
| [VPK] DANH SÁCH TỐT NGHIỆP CHÍNH THỨC | | Thu Jun 23, 2011 5:31 pm
| [VPK] LỄ TRAO BẰNG TỐT NGHIỆP | | Wed Jun 22, 2011 11:59 am
| Pic 21/06 (new and hot) | | Wed Jun 22, 2011 10:28 am
| Gameloft Hà Nội tuyển dụng | | Mon Jun 20, 2011 8:18 pm
| [ CTCTSV ] 21 THÁNG 6 ĐI LẤY HỒ SƠ TỐT NGHIỆP | | Sat Jun 18, 2011 9:38 am
| | | Ngôn ngữ Prolog | |
| | Tác giả | Thông điệp |
---|
Che..vankhe Đại Tổng Quản
Tổng số bài gửi : 129 Sinh nhật : 09/07/1989
| Tiêu đề: Ngôn ngữ Prolog Wed May 05, 2010 10:51 am | |
| Trong nội dung của môn AI có nội dung về "ngôn ngữ Prolog". Đây là một ngôn ngữ đặc trưng cho AI, xử lí tri thức. NÓ ra đời từ những năm 70, và phát triển rất mạnh,được hi vọng sẽ là ngôn ngữ nền tảng cho thế hệ máy tính tiếp theo. Chắc là cả kì thi giữa kì và cuối kì sẽ đều có phần liên quan tới Prolog .Mọi người nên xem qua để biết thêm và làm tốt bài thi của môn AI. Cấu trúc chương trình, cách viết một chương trình thì mọi người có thể tham khảo thêm giáo trình "Turbo Prolog 2.0" của tác giả Phan Trương Dần, hoặc chương 4 của cuốn "Logic Toán" -Trần Thọ Châu.Đọc mấy ngày là biết hết, đọc một tối thì cũng làm dc vài bài,A E cố gắng lên. Dưới đây mình trình bày cách làm bài: Viết chương trình Prolog tính trung bình cộng của 3 số nhập từ bàn phím . - Code:
-
domains a,b,c = real. predicates nhap. TBC(a,b,c). clauses nhap :- write("\n Chuong trinh tim Trung binh cong cua 3 so nhap tu ban phim"), write("Nhap A = "),readReal(A), write("Nhap B = "),readReal(B), write("Nhap C = "),readReal(C), TBC(A,B,C). TBC(A,B,C) :- D=A+B+C, Result=D/3, write("\n Trung binh cong = ",Result). goal nhap.
Ở trên, chương trinh được viết đầy đủ 4 phần chính (in đậm ) Quan trọng nhất là phần clauses ,sử dụng định nghĩa 2 vị từ - nhap :là vị từ không đối - TBC(A,B,C) : vị từ có 3 tham số là 3 số nguyên .A,B,C,D,Result là các biến nên bắt buộc phải viết bắt đầu bằng chữ in hoa. Chương trình trên được viết theo kiểu gằn như viết hàm,thủ tục,cho các bạn dễ hiểu hơn,cũng có thể viết tất cả trong phần goal cũng ko vấn đề j. Chú ý: bạn không thể viết D =D/3. ->ERORR mà phải gán giá trị qua 1 biến khác. Result=D/3, Chúc mọi người thi tốt
Được sửa bởi Che..vankhe ngày Wed May 05, 2010 7:32 pm; sửa lần 5. (Reason for editing : Prolog 1001) | |
| | | Che..vankhe Đại Tổng Quản
Tổng số bài gửi : 129 Sinh nhật : 09/07/1989
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 11:05 am | |
| /* Bai 2: Ongchau.pro*/ [b] - Code:
-
domains bo,con,ong,chau = symbol. predicates sinh(symbol,symbol). ongChau(ong,chau). clauses sinh(toto,mo). sinh(toto,man). sinh(mo,am). sinh(mo,bat). sinh(man,dia). sinh(man,chen). ongChau(X,Y) :- sinh(X,Z),sinh(Z,Y). goal ongChau(X,Y),write(X," la ong cua ",Y),nl,fail.
Ở trên, tân từ nl : xuống dòng , tân từ fail : quay lại tìm hết các phương an có thể
Được sửa bởi Che..vankhe ngày Wed May 05, 2010 7:35 pm; sửa lần 2. | |
| | | chien2311 Enterprise Admin
Tổng số bài gửi : 1224 Sinh nhật : 23/11/1988
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 3:18 pm | |
| tiếp đi, còn bài nào không ?? | |
| | | chien2311 Enterprise Admin
Tổng số bài gửi : 1224 Sinh nhật : 23/11/1988
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 3:19 pm | |
| First, we express the property of being a man or woman by following PROLOG facts:
man(adam). man(peter). man(paul). woman(marry). woman(eve).
Then, we can add relation "parent" which associates parent and child.
parent(adam,peter). % means adam is parent of peter parent(eve,peter). parent(adam,paul). parent(marry,paul).
Till now, we added only facts to our program but the real power of Prolog is in rules. While facts state the relation explicitely, rules define the relation in a more general way. Each rule has its head - name of the defined relation, and its body - a real definition of the relation. The following rules define the relations being a father and being a mother using previously defined relations of being a man or woman and being a parent.
father(F,C):-man(F),parent(F,C). mother(M,C):-woman(M),parent(M,C).
Note that we use variables (start with capital letter) to express the feature that every man which is a parent of any child is also her or his father. If some parameter of the relation is not important we can use anonymous variable (denoted _ ) like in these definitions:
is_father(F):-father(F,_). is_mother(M):-mother(M,_).
Before proceeding further one should know how to run the Prolog programs. You run the program by asking questions like this one:
?-father(X,paul).
which expresses: who is father of paul? The answer is X=adam, naturally. Now extend your facts database and try to define other family relations like being a son, aunt or grandparent. Also, try to ask Prolog system various questions and see what happens. You can compare your program with following rules:
son(S,P):-man(S),parent(P,S). daughter(D,P):-woman(D),parent(P,D). siblings(A,B):-parent(P,A),parent(P,B),A\=B. % siblings have at least one common parent % the test A\=B preserves that siblings are different persons full_siblings(A,B):- parent(F,A),parent(F,B), parent(M,A),parent(M,B), A\=B, F\=M. % full siblings have common parents (both) % the test F\=M preserves that full siblings have two different parents (father and mother, naturally) full_siblings2(A,B):- father(F,A),father(F,B), mother(M,A),mother(M,B), A\=B. % another solution to "full siblings problem" that uses relations father and mother uncle(U,N):-man(U),siblings(U,P),parent(P,N). aunt(A,N):-woman(A),siblings(A,P),parent(P,N). grand_parent(G,N):-parent(G,X),parent(X,N).
Till now, we use only one rule to express the newly defined relation but we can also define the relation using two and more rules. If we want to express that being a human means being a man or being a woman, we can do it by these two rules:
human(H):-man(H). human(H):-woman(H).
The body of rule can also use the relation that is just being defined. This features is called recursion and the following rules show its typical usage:
descendent(D,A):-parent(A,D). descendent(D,A):-parent(P,D),descendent(P,A).
One can use the feature of PROLOG of non-determing the input and output variables and easily define the relation ancestor:
ancestor(A,D):-descendent(D,A).
| |
| | | Spammer Quan Nhị Phẩm
Tổng số bài gửi : 103 Sinh nhật : 12/10/1989
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 5:59 pm | |
| Amen!! khong biet bac Chien viet cai gi nua. | |
| | | bongda Quan Chi Huyện
Tổng số bài gửi : 34 Sinh nhật : 23/02/1988
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 6:42 pm | |
| | |
| | | Che..vankhe Đại Tổng Quản
Tổng số bài gửi : 129 Sinh nhật : 09/07/1989
| Tiêu đề: Re: Ngôn ngữ Prolog Wed May 05, 2010 7:39 pm | |
| | |
| | | chien2311 Enterprise Admin
Tổng số bài gửi : 1224 Sinh nhật : 23/11/1988
| Tiêu đề: Re: Ngôn ngữ Prolog Thu May 06, 2010 9:21 am | |
| :D là một đống hướng dẫn thiết lập bai toán quan hệ gia phả đó, chịu khó đọc tiếng anh tí :D | |
| | | Sponsored content
| Tiêu đề: Re: Ngôn ngữ Prolog | |
| |
| | | | Ngôn ngữ Prolog | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |
|