(Luận văn) nghiên cứu lập trình logic tập trả lời và ứng dụng

73 0 0
(Luận văn) nghiên cứu lập trình logic tập trả lời và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC HUẾ TRƢỜNG ĐẠI HỌC KHOA HỌC VÕ THỊ NHỎ NGHIÊN CỨU LẬP TRÌNH LOGIC TẬP TRẢ LỜI lu an n va VÀ ỨNG DỤNG tn to p ie gh CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH oa nl w MÃ SỐ: 60 48 01 01 d LUẬN VĂN THẠC SĨ KHOA HỌC va an lu ll u nf CÔNG NGHỆ THÔNG TIN oi m z at nh NGƢỜI HƢỚNG DẪN KHOA HỌC z PGS.TS TRƢƠNG CÔNG TUẤN m co l gm @ an Lu Huế, 2014 n va ac th si LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng dƣới hƣớng dẫn khoa học thầy giáo PGS.TS Trƣơng Công Tuấn Các kết nêu luận văn trung thực, có nguồn gốc rõ ràng, đƣợc trích dẫn đầy đủ chƣa cơng bố cơng trình khoa học lu Tác giả luận văn an n va to p ie gh tn Võ Thị Nhỏ d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si LỜI CẢM ƠN Luận văn đƣợc hoàn thành dƣới hƣớng dẫn khoa học thầy PGS.TS Trƣơng Công Tuấn, trƣờng Đại học Khoa học Huế Tơi xin bày tỏ lịng biết ơn chân thành, sâu sắc đến thầy hƣớng dẫn khoa học, tận tình, chi tiết ln tạo điều kiện tốt để tơi hồn thành luận văn Tơi xin kính gửi lời cảm ơn đến quý thầy cô giáo Khoa Công nghệ thông tin trƣờng Đại học Khoa học Huế, quý thầy cô giáo đơn vị trực lu an thuộc Đại học Huế, thầy cán phịng Sau Đại học thầy n va cô thỉnh giảng trực tiếp giảng dạy, truyền đạt kiến thức cung cấp Bên cạnh đó, tơi xin đƣợc dành tình cảm tốt đẹp lời cảm ơn ie gh tn to nguồn tƣ liệu quý báu cho suốt trình học tập nghiên cứu p đến trƣờng Đại học Tiền Giang - Khoa Công nghệ thơng tin, Phịng, nl w Ban, Trung tâm Trƣờng Đại học Tiền Giang tạo điều kiện thuận d oa lợi để tơi có điều kiện sở vật chất học tập hoàn thành tốt luận văn an lu Tơi xin bày tỏ lịng biết ơn đến ngƣời thân gia đình bạn oi m Tôi chân thành tri ân ll thành luận văn u nf va bè, đồng nghiệp động viên, giúp đỡ, tạo điều kiện tơi hồn z at nh Huế, tháng 09 năm 2014 z Học viên l gm @ m co Võ Thị Nhỏ an Lu n va ac th si i MỤC LỤC Trang TRANG PHỤ BÌA LỜI CAM DOAN LỜI CẢM ƠN DANH MỤC CÁC THUẬT NGỮ iii lu DANH MỤC CÁC KÝ HIỆU v an n va CÁC CHỮ VIẾT TẮT vi tn to DANH MỤC CÁC HÌNH VẼ vii ie gh MỞ ĐẦU p Chƣơng TỔNG QUAN VỀ CHƢƠNG TRÌNH LOGIC oa nl w 1.1 Một số định nghĩa d 1.2 Chƣơng trình logic dƣơng lu va an 1.3 Phủ định chƣơng trình logic u nf 1.4 Các tính chất mơ hình bền vững 13 ll 1.5 Lập luận từ mơ hình bền vững 15 m oi 1.6 Tiểu kết chƣơng 16 z at nh Chƣơng NGỮ NGHĨA TẬP TRẢ LỜI CỦA CHƢƠNG TRÌNH z LOGIC 17 @ l gm 2.1 Ràng buộc 17 m co 2.2 Phủ định mặc định phủ định mạnh 18 2.3 Cú pháp ngữ nghĩa tập trả lời chƣơng trình logic mở rộng 19 an Lu 2.4 Các tính chất tập trả lời 22 n va ac th si ii 2.5 Ví dụ biểu diễn tri thức chƣơng trình logic mở rộng 23 2.6 Tiểu kết chƣơng 31 Chƣơng NGỮ NGHĨA TẬP TRẢ LỜI CỦA CHƢƠNG TRÌNH LOGIC DẠNG TUYỂN MỞ RỘNG VÀ ỨNG DỤNG BIỂU DIỄN TRI THỨC 32 3.1 Cú pháp ngữ nghĩa chƣơng trình logic dạng tuyển mở rộng 33 Trong phần trình bày khái niệm liên quan đến chƣơng trình logic dạng tuyển mở rộng ngữ nghĩa lớp chƣơng [10] 33 lu an 3.2 Ví dụ biểu diễn tri thức sử dụng chƣơng trình logic EDLP 36 va n 3.3 Cài đặt số toán với hệ thống SMODELS DLV mở rộng 37 to 3.3.2 Cài đặt chạy demo ứng dụng 39 p ie gh tn 3.3.1 Giới thiệu hệ thống SMODELS DLV mở rộng 38 3.4 Tiểu kết chƣơng 54 oa nl w KẾT LUẬN 55 d TÀI LIỆU THAM KHẢO 56 an lu ll u nf va PHỤ LỤC 58 oi m z at nh z m co l gm @ an Lu n va ac th si iii DANH MỤC CÁC THUẬT NGỮ Chƣơng trình logic Logic program Chƣơng trình logic Ground program Chƣơng trình tập trả lời Answer Set Program Chƣơng trình logic mở rộng Extended Logic Program Chƣơng trình logic dạng tuyển mở rộng Extended Disjunctive Logic Program lu an n va Herbrand base Điểm bất động nhỏ Least fixpoint Lập trình logic Logic programming gh tn to Cơ sở Herbrand Lập trình logic tập trả lời p ie Answer Set Logic programming Literal âm Negative literal nl w Mơ hình bền vững d oa Stable model Minimal model va Mơ hình nhỏ an lu Mơ hình cực tiểu Least model u nf Ngữ nghĩa mơ hình bền vững ll Stable model semantics Atom z at nh Phủ định mạnh oi m Nguyên tố Strong negation z Default negation Quy tắc Rule Hiện hành Ground instance Toán tử hệ trực tiếp The m co l gm @ Phủ định mặc định an Lu immediate consequence n va ac th si iv operator Vị từ Predicate Vũ trụ Herbrand Herbrand universe Giả thiết giới đóng Closed world assumption lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si v DANH MỤC CÁC KÝ HIỆU ∩ Giao ∨ Hoặc (phép toán logic) ∪ Hợp ¬ Phủ định ∧ Và (phép hội logic) lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si vi CÁC CHỮ VIẾT TẮT ASP Answer Set Program CWA Closed world assumption MM Minimal model ELP Extended Logic Program EDLP Extended Disjunctive Logic Program lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si vii DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ 3.1 Tên hình vẽ Trang Hệ thống trình biên dịch tích hợp 39 Giao diện hệ thống trình biên dịch Lập trình logic 3.2 40 tập trả lời Câu đố Sudoku 41 3.4 Kết thực thi tốn 3.1 hệ thống tích hợp SMODELS DLV mở rộng 44 3.5 Kết thực thi tốn 3.2 hệ thống tích hợp SMODELS DLV mở rộng 48 3.6 Kết thực thi toán 3.3 hệ thống tích hợp SMODELS DLV mở rộng 52 Kết thực thi toán 3.4 hệ thống tích hợp SMODELS DLV mở rộng 54 lu 3.3 an n va p ie gh tn to d oa nl w 3.7 ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 49 Chƣơng trình logic mở rộng mơ tả tốn nhƣ ví dụ 2.9 Chƣơng trình logic đƣợc cài đặt hệ thống tích hợp Smodels DLV mở rộng (đƣợc lƣu với tập tin có tên chedohotro.lp) nhƣ sau: Vào - Có trẻ mồ cơi trẻ khơng mồ cơi Vị từ tremocoi(X), có nghĩa X trẻ mồ cơi - Chƣơng trình hỗ trợ cho trẻ mồ cơi Vị từ chuongtrinh(N), có nghĩa N chƣơng trình hỗ trợ cho trẻ lu an Ra va - Xác định trẻ mồ cơi hƣởng hỗ trợ theo chƣơng trình nào, trẻ khơng mồ n cơi đƣợc chƣơng trình hỗ trợ tn to chuongtrinh(0) p ie gh Chƣơng trình chuongtrinh(1) oa trình nl w %% Mặc định d1: Một đứa trẻ mồ côi hưởng theo chương d hotro(X,1) :- ghi(X), va an lu tremocoi(X), not ab(d1(X)), u nf not -hotro(X,1) ll z at nh hotro(X,0) :- ghi(X), oi m %% Mặc định d2: Một đứa trẻ hưởng chương trình treem(X), z not ab(d2(X)), gm @ not -hotro(X,0) %% Một trẻ không hưởng nhiều chương trình l -hotro(X,N2) :- chuongtrinh(N1), chuongtrinh(N2), N1!= N2 an Lu hotro(X,N1), m co ghi(X), n va ac th si 50 %% Một đứa trẻ mồ côi không hưởng chương trình 0: -hotro(X,0) :- ghi(X), tremocoi(X) %% Mặc định d2 áp dụng đứa trẻ trẻ mồ côi: ab(d2(X)) :- ghi(X), not -tremocoi(X) %% X khơng hưởng chương trình X không xác định -hotro(X,N) :- ghi(X), lu an khongxacdinh(X), n va chuongtrinh(N) đứa trẻ -hotro(X,N) :- ghi(X), ie gh tn to %% X không hỗ trợ chương trình X khơng p -treem(X), nl w chuongtrinh(N) oa %% Nếu bạn biết X trẻ mồ côi, d %% Kiểm tra trạng thái lu an kiemtra(X) :- ghi(X), u nf va not -tremocoi(X), not tremocoi(X) ll me(Lanh,Hoa) an Lu cho(Lanh) m co khongxacdinh(Phuc) l me(Thanh,Phuc) gm cha(Thien,Phuc) @ ghi(Phuc) z treem(Hoa) z at nh cha(Phuc,Hoa) oi ghi(Hoa) m %% Dữ liệu: n va ac th si 51 khongxacdinh(Lanh) ghi(Dung) treem(Dung) me(Lanh,Dung) %% Mở rộng sở tri thức %% Dung có người cha Hạnh %% cha(Hanh,Dung) %% ghi(Hanh) %% Chúng tơi có đầy đủ thơng tin người, khongxacdinh (CWA) lu an -khongxacdinh(P) :- dhi(P), n va not khongxacdinh(P) (CWA): -treem(X) :- ghi(X), ie gh tn to %% Chúng tơi có đầy đủ thơng tin đứa trẻ,treem p not treem(X) nl w %% P coi đứa trẻ mồ côi cha mẹ đứa trẻ oa không xác định d tremocoi(P) :- treem(P), an lu chakhongxacdinh(P) u nf va %% Chúng ta biết P đứa trẻ mồ côi cha mẹ chúng không xác định ll oi m -tremocoi(P) :- ghi(P), not cothetremocoi(P) z at nh cothetremocoi(P) :- ghi(P), treem(P), z chame(X,P) :- cha(X,P) chame(X,P) :- me(X,P) me(Y,P), an Lu khongxacdinh(X), m co chamekhongxacdinh(P) :- cha(X,P), l gm @ not -chamekhongxacdinh(P) n va ac th si 52 khongxacdinh(Y) -chamekhongxacdinh(P) :- chame(X,P), -khongxacdinh(X) Tiến hành thực thi chƣơng trình hệ thống tích hợp Smodels DLV mở rộng ta nhận đƣợc tập trả lời đƣợc cho hình sau: lu an n va p ie gh tn to d oa nl w an lu u nf va Hình 3.6 Kết thực thi toán 3.3 hệ thống tích hợp Smodels DLV mở rộng ll oi m Bài tốn 3.4: Cài đặt tốn ví dụ 2.8 xác định “sinhviennhutnhat” z at nh Chƣơng trình logic mở rộng mơ tả tốn nhƣ ví dụ 2.8 Chƣơng trình logic đƣợc cài đặt hệ thống tích hợp Smodels DLV mở rộng (đƣợc z Vào l gm @ lƣu với tập tin có tên sinhviennhutnhat.lp) nhƣ sau: m co - Có sinh viên, vị từ sinhvien(S) có nghĩa S sinh viên - Có mơn học, vị từ monhoc(D) có nghĩa D môn học an Lu Ra n va ac th si 53 - Xác định sinh viên sinh viên sợ học mơn Tốn Chƣơng trình %% Thơng thường sinh viên sợ học mơn tốn %% Mai khơng sợ điều %% Sinh viên chun tốn khơng sợ %% Sinh viên chun tin sợ không sợ sinhvien(duy) sinhvien(mai) sinhvien(duyen) lu sinhvien(dung) an monhoc(ngoaingu) va n monhoc(tin) thuoc(duy,ngoaingu) thuoc(mai,tin) p ie gh tn to monhoc(toan) thuoc(Duy,tin) nl w thuoc(dung,toan) :- monhoc(D1), d oa -thuoc(S,D1) lu thuoc(S,D2), va an D1!= D2 u nf so(S,toan) :- sinhvien(S), ll not ab(d(S)), m ab(d(mai)) z at nh -so(mai,toan) oi not -so(S,toan) not -thuoc(S,tin) m co ab(d(S)) :- sinhvien(S), l not -thuoc(S,toan) gm @ ab(d(S)) :- sinhvien(S), z -so(S,toan) :- thuoc(S,toan) an Lu n va ac th si 54 tiến hành thực thi chƣơng trình hệ thống Smodels DLV mở rộng ta nhận đƣợc tập trả lời đƣợc cho hình sau: lu an n va p ie gh tn to nl w oa Hình 3.7 Kết thực thi tốn 2.8 hệ thống tích hợp d Smodels DLV mở rộng an lu u nf va 3.4 Tiểu kết chƣơng Chƣơng trình bày cú pháp ngữ nghĩa chƣơng trình logic ll oi m dạng tuyển mở rộng theo tiếp cận ngữ nghĩa tập trả lời ứng dụng lớp z at nh chƣơng trình việc biểu diễn tri thức thơng qua số toán minh họa Các toán đƣợc trình bày chi tiết từ việc biểu diễn tốn z chƣơng trình logic dạng tuyển mở rộng đến việc cài đặt thực thi hệ gm @ thống lập trình logic tích hợp Smodels DLV mở rộng Ngoài phần l phụ lục, số ví dụ minh họa chƣơng đƣợc cài đặt thực m co thi hệ thống tích hợp Smodel DLV mở rộng an Lu n va ac th si 55 KẾT LUẬN Luận văn tập trung nghiên cứu lập trình logic tập trả lời ứng dụng việc biểu diễn tri thức Các kết mà luận văn đạt đƣợc là:  Tìm hiểu khái niệm sở chƣơng trình logic ngữ nghĩa lớp chƣơng trình  Nghiên cứu cú pháp ngữ nghĩa tập trả lời chƣơng trình logic mở rộng (ELP) Cách tiếp cận ngữ nghĩa lớp chƣơng trình lu mở rộng ngữ nghĩa mơ hình bền vững chƣơng trình logic thơng thƣờng an  Nghiên cứu cú pháp ngữ nghĩa tập trả lời lớp chƣơng va n trình logic dạng tuyển mở rộng (EDLP) tn to  Ứng dụng chƣơng trình ELP EDLP để biểu diễn tri thức thơng ie gh qua số tốn p  Tìm hiểu hệ thống lập trình logic SMODELS DLV mở rộng , ngôn nl w ngữ Lparse Tiến hành mã hóa, thực thi số ví dụ tốn hệ d oa thống tích hợp SMODELS DLV mở rộng an lu Hƣớng phát triển luận văn: ll u nf rộng va  Nghiên cứu tiếp cận ngữ nghĩa khác chƣơng trình logic mở z at nh logic mở rộng oi m  Nghiên cứu phƣơng pháp định giá truy vấn chƣơng trình z m co l gm @ an Lu n va ac th si 56 TÀI LIỆU THAM KHẢO Tiếng Việt Lê Mạnh Thạnh, Trƣơng Công Tuấn (2011), Giáo trình chương trình Datalog, Nxb Đại học Huế, Thừa Thiên Huế Tiếng Anh Apt K R (1990), Logic Programming, Elsevier Science Publishers Chitta Baral (2001), “Knowledge representation, reasoning and declarative prolem solving with Answer set”, Department of Computer Scienceand lu Engineering, Arizona, StateUniversity, Tempe AZ 85287 an stable model and well-founded semantics for normal logic programs”, In n va Ilkka Niemelä, Patrik Simons (1997), “Smodels - An implementation of the gh tn to Proceedings of the 4th International Conference on Logic Programming p ie and Non-Monotonic Reasoning, Dagstuhl, Germany, Springer-Verlag, pp w 420-429 oa nl Jos´e J´ulio Alferes, Lu´ıs Moniz Pereira (2006), Reasoning with Logic d Programming, Springer-Verlag, Berlin Heidelberg NewYork, London Paris lu an Tokyo, Hong Kong Barcelona, Budapest u nf va Michael Gelfond and Vladimir Lifschitz (2013), “Classical Negation in ll Logic Programs and Disjunctive Database”, University of Texas at EI Paso, m oi Texas 7998, University of Texas at Austin, Texas 78712, , pp 25-49 z at nh Michael Gelfond and Nicola Leone (2001), “Logic Programming and Knowledge Representation the - A Prolog perspective”, Department of z gm @ Computer Science Texas Tech University Lubbock, Texas 79409-3104, l Department of Mathematics University Calabria, 87030 Rende (CS), Italy m co Michael Gelfond (2000), “Representing Knowledge in A-Prolog” 79409, USA, pp 39-49 an Lu Department of Computer Science, Texas Tech University Lubbock, TX n va ac th si 57 M Gelfond, V Lifschitz (1988), “The stable model semantics for logic programming”, In Proceedings of the 5th International Conference on Logic Programming, Seattle, USA, The MIT Press, pp 1070-1080 10 Tho Thomas Eiter, Giovambattista Ianni and Thomas Krennwallner, “Answer (2013), Set Programming: A Primer”, Institut fur Informationssysteme, Technische Universit at Wien Favoritenstraße 9-11, A-1040 Vienna, Austria, Dipartimento di Matematica, Universit´ a della Calabria, I-87036 Rende (CS), Italy Ilkka Niemelä (2001),“The smodels system”, In lu 11 Tommi Syrjänen, an n va Proceedings of the 6th International Conference on Logic Programming 438 gh tn to and Nonmonotonic Reasoning, Vienna, Austria, Springer-Verlag, pp 434- p ie 12 Francesco Ricca (2004), “Java Wrapper for DLV”, Department of d oa nl w Mathematics, University of Calabria, Italy ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 58 PHỤ LỤC A - Mã hóa ví dụ 1.9 chƣơng trình logic thơng thƣờng chƣơng hệ thống SMODELS man(dung) single(X) :- man(X) , not husband(X) husband(X) :- man(X), not single(X) lu an n va p ie gh tn to d oa nl w an lu u nf va Hình Kết thực thi ví dụ 1.9 hệ thống SMODELS B - Mã hóa ví dụ 1.10 chƣơng trình logic có nhiều mơ hình cực tiểu nhƣng ll oi m khơng có mơ hình nhỏ chƣơng hệ thống SMODELS r(X), not q(X) q(X) :- r(X), not p(X) m co l gm @ r(1) z p(X) :- z at nh khơng có mơ hình nhỏ chƣơng hệ an Lu n va ac th si 59 lu an n va to gh tn Hình Kết thực thi ví dụ 1.10 hệ thống SMODELS p ie C - Mã hóa ví dụ 1.11 chƣơng trình logic có mơ hình nhỏ chƣơng not b nl w a :- hệ thống SMODELS not a c :- a, not b d oa b :- ll u nf va an lu oi m z at nh z m co l gm @ an Lu Hình Kết thực thi ví dụ 1.11 hệ thống SMODELS n va ac th si 60 D - Mã hóa ví dụ 1.12 để kiểm tra mơ hình bền vững chƣơng hệ thống SMODELS s :- not q q :- not s p :- q, not s f :- s, not p lu an n va p ie gh tn to d oa nl w u nf va an lu ll Hình Kết thực thi ví dụ 1.12 hệ thống SMODELS m oi E - Mã hóa ví dụ 1.13 tìm mơ hình bền vững chƣơng hệ thống man(Dung) z at nh SMODELS z husband(X) :- man(X), not single(X) m co l gm @ single(X) :- man(X), not husband(X) an Lu n va ac th si 61 lu an n va to tn Hình Kết thực thi ví dụ 1.13 hệ thống SMODELS ie gh F - Mã hóa ví dụ 2.3 tìm tập trả lời P chƣơng hệ thống p SMODELS not q(a) p(b) :- not q(b) d oa q(a) nl w p(a) :- ll u nf va an lu oi m z at nh z m co l gm @ an Lu Hình Kết thực thi ví dụ 2.3 hệ thống SMODELS n va ac th si 62 G - Mã hóa ví dụ 2.6 tìm tập trả lời chƣơng trình xác định trẻ mồ cơi chƣơng hệ thống SMODELS nguoi(dung) nguoi(hoa) nguoi(hanh) nguoi(phuc) nguoi(an) nguoi(lanh) trem(Dung) lu treem(hoa) an cha(hanh,dung) va n cha(phuc,hoa) tn to me(an,dung) gh me(lanh,hoa) p ie khongxacdinh(phuc) hongxacdinh(lanh) not treem(X) d oa nl w -treem(X) :- nguoi(X), lu -cha(F,C) :- nguoi(F), va an treem(C), -me(M,C) :- nguoi(M), ll u nf not cha(F,C) oi m treem(C), z at nh not me(M,C) -khongxacdinh(X) :- nguoi(X), khongxacdinh(M) an Lu tremocoi(P) :- treem(P), m co khongxacdinh(F), l me(M,P), gm @ chamekhongxacdinh(P) :- cha(F,P), z not khongxacdinh(X) n va ac th si 63 chamekhongxacdinh(P) -tremocoi(X) :- nguoi(X), not tremocoi(X) lu an n va p ie gh tn to Hình Kết thực thi ví dụ 2.6 hệ thống tích hợp d oa nl w Smodels DLV mở rộng ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si

Ngày đăng: 12/07/2023, 17:28

Tài liệu cùng người dùng

Tài liệu liên quan