Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLRBan đầu, đồ án tìm hiểu lý thuyết suy diễn tự động nói chung, sau đó đi sâu vào haiphương pháp suy diễn tự động phổ
Trang 1PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Nguyễn Thị Thúy Mai
Điện thoại liên lạc: 01682 957 498 Email: nguyenttmai248@gmail.com
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Hệ thống thông tin - Khoa Công nghệ thôngtin – Đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 23/02/2009 đến 29/05/2009
2 Mục đích nội dung của ĐATN: Nghiên cứu hai phương pháp suy diễn tự động phổ biếnlà: phương pháp SAT Solving với thủ tục DPLL và phương pháp Theorem Proving với thủtục hợp giải Resolution Kết hợp hai phương pháp đó trong một phương pháp đúng đắn,đầy đủ và hiệu quả hơn là SLR-Satisfiability with Lazy Resolution Cuối cùng là phần càiđặt phương pháp đó
3 Các nhiệm vụ cụ thể của ĐATN
Nghiên cứu hai phương pháp suy diễn tự động: phương pháp SAT Solving với thủtục DPLL và phương pháp Theorem Proving với thủ tục hợp giải Resolution
Đọc code và chạy thử ví dụ của hệ thống DPLL
Kết hợp MiniSat + Spass
Tìm ví dụ và kiểm thử
So sánh với các hệ thống đã có (iProver, Darwin, Spass,…)
4 Lời cam đoan của sinh viên:
Tôi – Nguyễn Thị Thúy Mai - cam kết ĐATN là công trình nghiên cứu của bản thân tôi
dưới sự hướng dẫn của TS Trần Đức Khánh
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác
Hà Nội, ngày 27 tháng 5 năm 2009
Tác giả ĐATN
Nguyễn Thị Thúy Mai
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày tháng năm 2009
Giáo viên hướng dẫn
TS Trần Đức Khánh
Trang 2Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Lời cảm ơn
Để có ngày hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin chân thành cảm
ơn các thầy, cô và cán bộ giảng dạy tại trường Đại học Bách khoa Hà Nội, các thầy
cô trong khoa Công nghệ thông tin và bộ môn Hệ thống thông tin đã tận tâm dạy dỗchúng em trong suốt những năm học vừa qua
Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo, TS Trần Đức Khánh, người
đã tận tình chỉ bảo, giúp đỡ, tạo điều kiện cho em trong suốt quá trình thực tập cũngnhư giai đoạn làm đồ án tốt nghiệp, đồng thời cho em những lời khuyên quý báu đểhoàn thành đồ án này
Em xin chân thành cảm ơn anh Tạ Quang Trung đã cùng em nghiên cứu và thựchiện phần chương trình của đồ án
Đồng thời, tôi cũng xin cảm ơn những người bạn đã luôn ở bên tôi, động viên,giúp đỡ tôi rất nhiều trong thời gian qua
Cuối cùng, con muốn gửi lời biết ơn tới gia đình Con xin cảm ơn bố mẹ đã tạođiều kiện cho con ăn học Bố mẹ luôn là điểm tựa vững chắc cho con trong mọicông việc
Hà Nội, tháng 5 năm 2010 Sinh viên: Nguyễn Thị Thúy Mai
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ án tốt nghiệp này nghiên cứu phương pháp suy diễn tự động trên tập các mệnh đềlogic Đây là phương pháp được ứng dụng rộng rãi trong thực tế, cụ thể để: kiểm tra độ tincậy và an toàn của phần cứng, phần mềm cũng như các giao thức mã hóa,…
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B i
Trang 3Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Ban đầu, đồ án tìm hiểu lý thuyết suy diễn tự động nói chung, sau đó đi sâu vào haiphương pháp suy diễn tự động phổ biến nhất hiện nay là: phương pháp SAT Solving vớithủ tục DPLL và phương pháp Theorem Proving với thủ tục hợp giải Resolution Haiphương pháp này có những ưu và nhược điểm của nó như : DPLL chỉ thực hiện trên cáctập mệnh đề không chứa biến, trong khi hợp giải Resolution làm việc hiệu quả trên tậpmệnh đề chứa biến Từ đó, nảy sinh ý tưởng kết hợp hai phương pháp trên trong hệ thốngmới một cách hiệu quả Đó chính là hệ thống SLR, Satisfiability with Lazy Resolution.Trong đồ án sẽ miêu tả chi tiết về phương pháp này Phần cài đặt cụ thể cho SLR sử dụngchương trình MiniSat cho bên SAT Solving và chương trình SPASS bên Theorem Proving.Cuối cùng, là phần chạy thử trên một số ví dụ và so sánh với kết quả của các phương pháptrước đó
Trong phạm vi đồ án, việc cài đặt mới chỉ dừng lại ở phiên bản đầu, dù có những thửnghiệm khả quan nhưng cũng chưa thật sự rõ rệt như chúng tôi mong muốn Hi vọng tronglai, chúng tôi hướng tới nâng cấp phiên bản SLR đầu và vận dụng nó cho việc phát triểnlên hệ thống SMELS-Satisfiability Modulo Equality with Lazy Sperposition- hệ thống suydiễn tự động trên logic vị từ loại I chứa dấu bằng
ABSTRACT OF THESIS
The thesis studies on the method of “automated Resoning on set of first-order logicclauses” It is one of wide application in reality, namely : to check the realibility and safety
of hardware, software as well as encryption protocols,…
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B ii
Trang 4Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
In general, the thesis studies on automated resoning theory then goes in more detail intwo most popular automated resoning : the SAT Solving method with DPLL procedure andthe Theorem Proving with Resolution procedure Two methods have their own advantagesand disadvantages such as: DPLL only implements on set of ground clauses, whileResolution works effectively on set of nonground clauses Accordingly, it inspires the idea
of combining two above methods on a new system It is SLR system, Satisfiability withLazy Resolution system And the thesis shall describe this method in detail The detailinstallation of SLR using the program of Minisat for SAT solving and SPASS of TheoremProving Finally, the thesis ends with the trial run on some samples and comparison withprevious methods
In the scope of the thesis, the new installation is only installed with new version.Despite positive result, it is not clear as we has expected In the future, we look forward toupgrading first version of SLR and applying it in development of the system of SMELS-Satisfiability Modulo Equality with Lazy Sperposition
Trang 5Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
1.1 Suy diễn tự động trên tập các mệnh đề 3
1.2 Những phương pháp suy diễn tự động phổ biến hiện nay 3
1.3 Mục tiêu nghiên cứu của đề tài 4
Chương 2: Hai phương pháp suy diễn tự động phổ biến 5
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability-tính thỏa mãn) 6
2.1.1 Tổng quan về SAT Solving 6
2.1.2 Thủ tục DPLL 6
2.2 Hợp giải Robinson với logic vị từ loại I 18
2.2.1 Logic vị từ loại I (FOL) 18
2.2.2 Phép hội hợp, hợp giải và hợp giải Robinson 21
2.3 Tổng kết chương 2 29
Chương 3: SLR 30
3.1 Tổng quan 31
3.2 Một số khái niệm sử dụng để miêu tả hệ thống SLR 33
3.3 Hệ thống suy diễn SLR 33
3.4 Tính đầy đủ của SLR 36
3.5 Tổng kết chương 3 36
Chương 4: Xây dựng chương trình SLR 37
4.1 Tổng quan 38
4.2 Kết hợp MiniSat và Spass trong SLR 38
4.2.1 MiniSat 38
4.2.2 Spass 43
4.3 Kết hợp MiniSat và Spass sau khi đã cải tiến 47
4.3.1 Sơ đồ 47
4.3.2 Các bước thực hiện chương trình 48
4.3.3 Fomat dữ liệu 49
4.4 Kết quả thử nghiệm 50
4.5 Tổng kết chương 4 54
Chương 5: Kết luận 55
5.1 Kết quả đạt được 56
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B iv
Trang 6Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
5.2 Những mặt hạn chế 565.3 Hướng phát triển tiếp của đề tài 56TÀI LIỆU THAM KHẢO: 57
DANH MỤC CÁC BẢNGBảng 4.1: Bảng những cấu trúc dữ liệu chinh trong MiniSat 39Bảng 4.2: Bảng cấu trúc dữ liệu của term sau khi điều chỉnh 45Bảng 4.3: Bảng điều chỉnh luật suy diễn của Spass 47Bảng 4.4: Bảng kết quả thử nghiệm của SLR và một số phương pháp suy diễn tự động trên các ví dụ EPR của ATP 53
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B v
Trang 7Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
DANH MỤC CÁC HÌNH
Hình 2- 1: Đồ thị xung đột để tìm backjump clause 16
Hình 3- 1: Sơ đồ thực hiện SLR 32
Hình 3- 2: Tập các luật suy diễn của SLR 35
Hình 4- 1: Tập các luật suy diễn của SLR 39
Hình 4- 2: Sơ đồ thực hiện của chương trình SLR 48
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B vi
Trang 8Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
THUẬT NGỮ, CÁC TỪ VIẾT TẮT VÀ CÁC KÍ HIỆU
SMT viết tắt của Satisfiablity Modulo Theories – là tên gọi chung của
các phương pháp suy diễn tự động trên tập mệnh đề không chứa biến Hướng suy diễn đi tìm mô hình của tập mệnh đề
SMELS viết tắt của Satisfiability Modulo Equality with Lazy
Sperposition, là phương pháp suy diễn tự động trên một công
thức logic vị từ loại I chứa thuyết dấu bằng, có được từ sự kết hợp hai phương pháp là SAT Solving và Theorem Proving
SLR viết tắt của Satisfiability with Lazy Resolution – là trường hợp
riêng của SMELS SLR suy diễn trên công thức logic vị từ loại I không chứa thuyết dấu bằng
ATPs viết tắt của Automated Theorem Provers, là tên gọi chung của
các phương pháp suy diễn tự động trên tập mệnh đề chứa biến Hướng suy diễn là đi chứng minh tập mệnh đề có thỏa mãn hay không
DPLL viết tắt của Davis-Putnam-Logemann-Loveland, là phương pháp
suy diễn tự động điển hình bên SMT
SAT viết tắt của Satisfiability – Tính thỏa mãn của một công thức.UNSAT viết tắt của UnSatisfiability – Tính không thỏa mãn của một
công thức
3 là kí hiệu phủ định của 3
bt viết tắt của bài toán, nghĩa là bài toán logic
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B vii
Trang 9Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Lời nói đầu
Ngày nay, logic hình thức và suy diễn tự động được ứng dụng rộng rãi trongthực tế, cụ thể như: để kiểm tra độ tin cậy và an toàn của phần cứng, phần mềmcũng như của các giao thức mã hóa,…
Việc chứng minh tính thỏa mãn của một công thức đi cùng với một miền lýthuyết đã trở thành một công cụ chủ yếu trong kiểm định Chúng đều được gọi làSatisfiablity Modulo Theories (SMT) solver SMT chỉ thực hiện trên các công thứclogic vị từ loại I không chứa biến ví dụ như [6,7,5] hay phương pháp chứng minhđịnh lý Simplify [8] và là những phương pháp không đầy đủ Mặt khác có nhữngphương pháp không phải luôn luôn cho kết luận về tính thỏa mãn nhưng lại đầy đủđược gọi chung là Automated Theorem Provers (ATPs) như : Spass [10], Vampire[9] hay E [6] Tuy nhiên, các phương pháp ATPs không thể nhanh được bằng cácphương pháp SAT Solving Chính những đó đã dẫn đến hướng nghiên cứu kết hợphai phương pháp trên trong một hệ thống hiệu quả như : SLR, smels,… Trongphạm vi đồ án, em xin trình bày những nghiên cứu về SLR, cũng như phần cài đặt
và chạy thử của nó so với một số phương pháp khác
Nội dung chủ yếu của đồ án được tóm tắt trong năm chương:
Chương 1 : Đặt vấn đề Trình bày tổng quan về phương pháp suy diễn tự
động trên tập các mệnh đề cùng những hiện trạng của nó ngày nay Từ đó
đề xuất ra mục tiêu nghiên cứu của đề tài
Chương 2 : Hai phương pháp suy diễn tự động phổ biến Trình bày về
hai phương pháp suy diễn tự động là: thủ tục DPLL trên logic mệnh đềkhông chứa biến và hợp giải Robinson trên logic vị từ loại I
Chương 3 : SLR, giới thiệu hệ thống suy diễn tự động dựa trên sự kết
hợp của hai phương phương truyền thống: phương pháp SAT Solving vớithủ tục DPLL và phương pháp Theorem Proving với thủ tục hợp giảiResolution
Chương 4 : Xây dựng chương trình SLR, trình bày việc xây dựng
chương trình SLR từ việc kết hợp đọc hiểu code MiniSat và Spass vớinhững nghiên cứu về SLR ở chương 3
Chương 5 : Kết luận Đưa ra kết quả đã đạt được trong quá trình thực
hiện đồ án, các khó khăn hạn chế gặp phải và định hướng phát triển trongtương lai
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 1
Trang 10Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Chương 1 Đặt vấn đề
Chương này trình bày tổng quan về phương pháp suy diễn tự động trên tập cácmệnh đề cùng những hiện trạng của nó ngày nay Từ đó đề xuất ra mục tiêu nghiêncứu của đề tài
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 2
1 Suy diễn tự động trên tập các mệnh đề
2 Những phương pháp suy diễn tự động phổ biến hiện nay
1.3 Mục tiêu nghiên cứu của đề tài
Trang 11Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
1 Suy diễn tự động trên tập các mệnh đề
Thông thường để giải quyết một bài toán thực tế ta tiến hành lần lượt các bướcsau :
Trong rất nhiều ứng dụng, chứng minh một vấn đề nào đó có thể qui về bài toán
chứng minh định lý trên một miền tính toán Miền tính toán còn được gọi theo thuật
ngữ chuyên ngành là lý thuyết (theory) như : lý thuyết về chuỗi, mảng, về bản ghi,
hay lý thuyết về số học tuyến tính, Vấn đề đặt ra là làm thế nào để xây dựng cácgiải thuật để giải quyết bài toán nêu trên cho một lý thuyết nào đó Đây là bài toánkhông thể giải quyết trong trường hợp tổng quát (undecidable problem), tuy nhiênđối với một số lý thuyết và một số loại công thức, bài toán này có thể được giảiquyết bằng giải thuật Các giải thuật này có thể cài đặt được cho máy để góp phần
hỗ trợ quyết định, để đánh giá,… Đây chính là nhiệm vụ của bài toán suy diễn tựđộng
Ngày nay, thế giới vẫn liên tục bị ấn tượng bởi những ứng dụng của suy diễn tựđộng trong thực tiễn, đi đầu là Mirosoft Họ tập hợp những chuyên gia hàng đầu vềsuy diễn tự động, đầu tư rất nhiều vào việc nghiên cứu,… từ đó mà tạo ra những sảnphẩm tuyệt vời góp phần to lớn vào công đoạn kiểm định phần mềm, phần cứng
2 Những phương pháp suy diễn tự động phổ biến hiện nay
Các biểu thức logic của một bài toán sau khi được mô hình hóa thuộc một trong
Theorem Proving (Resolution - hợp giải):
+ Đầy đủ, hiệu quả với các mệnh đề dạng non-ground clause
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 3
Trang 12Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
– Không được hiệu quả khi phải xử lý nhiều mệnh đề dạng ground clauseThực tế cho thấy, rất nhiều bài toán sau khi được mô hình hóa thì chứa đa số cácbiểu thức ở dạng ground, hơn nữa chủ yếu là chứa thuyết về dấu bằng Từ đó, nảysinh ý tưởng kết hợp 2 phương pháp trên trong một hệ thống mới một cách hiệu quả
Hệ thống này sẽ giải quyết tốt lớp bài toán trên Có rất nhiều nhóm đã nghiên cứu vàthành công theo hướng này tạo ra những hệ thống như: iProver, Darwin,…và hệSatisfiability Modulo Equality with Lazy Superposition – SMELS, sản phẩm kết
hợp tốt nhất giữa phương pháp ATPs với phương pháp SMT: một hệ thống đầy đủ
trên tập mệnh đề chứa biến và hiệu quả với những vấn đề chứa nhiều ground Mộttrường hợp riêng của SMELS là phương pháp Satisfiability with Lazy Resolution-SLR, có cách thực hiện tương tự như SMELS, chỉ khác ở chỗ đối tượng của nó làlớp bài toán không chứa thuyết về dấu bằng Chính vì vậy SLR là một khởi đầu tốt
để hiểu về hệ thống tổng quát SMELS
Tuy khái niệm suy diễn tự động cũng như việc nghiên cứu và áp dụng nó đã xuấthiện từ khá lâu, nhưng phải làm sao để nó làm việc hiệu quả trên nhiều miền tínhtoán vẫn là một bài toán dang dở Nằm trong xu hướng đó, hướng nghiên cứu kếthợp hai phương pháp trên [4] mới dừng lại trên lý thuyết, cũng có một số bản cài đặtcủa Microsoft tuy nhiên không được cung cấp mã nguồn,… Vì lý do đó trong đồ áncủa mình, em mạnh dạn giới thiệu hướng tiếp cận này
3 Mục tiêu nghiên cứu của đề tài
Đồ án sẽ tập trung nghiên cứu hai phương pháp suy diễn tự động phổ biến hiệnnay đó là : thủ tục DPLL và thủ tục hợp giải Resolution Những nội dung được trìnhbày trong đồ án được em đọc, hiểu và tóm tắt lại từ [1], [2], [3] và [11] Đây lànhững kiến thức cơ sở về suy diễn tự động, từ đó có thể rút ra những điểm yếu cũngnhư những điểm mạnh của chúng
Để tiếp cận với hướng kết hợp hai phương pháp đó trong một hệ thống hiệu quảcho lớp bài toán nhiều mệnh đề ground, trong phạm vi đồ án, em sẽ trình bày về hệthống SLR Cuối cùng là phần phân tích cài đặt và chạy thử của phương pháp SLR
Do thời gian nghiên cứu có hạn nên việc cài đặt mới chỉ dừng lại ở phiên bảnđầu Việc cải tiến chương trình sẽ là nhiệm vụ trong tương lai
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 4
Trang 13Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Chương 2: Hai phương pháp suy diễn tự
động phổ biến
Nội dung của chương này trình bày về hai phương pháp suy diễn tự động phổ biến
là thủ tục DPLL trên logic mệnh đề không chứa biến và hợp giải Robinson trênlogic vị từ loại I Đây là những lý thuyết nền tảng cho suy diễn tự động và cũng làhai nửa của hệ SLR
4 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability-tính thỏa mãn)
Bài toán SAT (tính thỏa mãn), tạm hiểu là bài toán đi tìm miền thỏa mãn(model) của 1 công thức (fomula) Thủ tục DPLL là một trong các phương pháp giảiquyết bài toán SAT
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 5
2.1 Thủ tục DPLL để giải quyết vấn đề SAT
2.2 Hợp giải Robinson với logic vị từ loại I
2.3 Tổng kết chương 2
Trang 14Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Để bắt đầu, chúng ta sẽ đi tìm hiểu thủ tục DPLL – 1 thủ tục dựa trên luật :DPLL có những đặc điểm là đúng đắn (soundness), đầy đủ (completeness) và kếtthúc (termination) Các DPLL cải tiến sau này có khả năng backjumping và họcmệnh đề (clause learning) rất hiệu quả
4.1 Tổng quan về SAT Solving
Việc quyết định tính thỏa mãn của 1 mệnh đề (SAT) không chỉ là rất quan trọngtrong lý thuyết (giải quyết bài toán P & NP) mà còn là cơ sở để giải quyết rất nhiềuvấn đề trong thực tế như việc thiết kế tự động hóa thiết bị điện tử, kiểm định, tríthông minh nhân tạo (AI) và các hoạt động nghiên cứu
Ngày nay có rất nhiều phương án SAT (như Moskewicz – 2001; Goldberg andNovikov – 2002; Eén và Soensson – 2003; Ryan – 2004) phân biệt dựa trên sự khácnhau của các thủ tục DPLL (Davis and Putnam – 1960 ; Davis – 1962) Thuật toánđược chính thức đưa vào làm việc trong GRASP, SATO và hệ thống Relsat, nhữngcải tiến kinh ngạc về hiệu năng của SAT dựa trên DPLL là :
Kỹ thuật thực hiện được cải tiến ngày một tốt hơn, ví dụ như duyệt literal 2lần trong luật unit propagation
Thủ tục DPLL cơ bản hướng đến việc giảm không gian tìm kiếm như kỹthuật backjumping (1 dạng quay lui không theo thứ tự), hay học bổ đề tránhxung đột, restarts giảm thời gian tìm kiếm vô ích
Những thành tựu này rất quan trọng trong việc quyết đinh tính thỏa mãn củanhững vấn đề thực tế với hàng ngàn biến và hàng triệu mệnh đề
Sau đây, chúng ta giới thiệu rất gắn gọn về lý thuyết DPLL, miêu tả cách giảiquyết vấn đề nhờ các tập luật của DPLL, những đặc điểm nổi bật của các luật đơngiản và các luật chiến lược Bằng cách giới thiệu về cách tiến hành cũng nhưheuristics của nó, chúng ta sẽ dễ dàng hiểu được khái niệm về DPLL cũng như tínhđúng đắn, đầy đủ và kết thúc của nó Đây cũng là cơ sở cho những nghiên cứu SATtrong lý thuyết (SAT Modulo Theories – SMT)
4.2 Thủ tục DPLL
Trong phần này chúng ta sẽ giới thiệu chính thức lý thuyết DPLL qua các và các
hệ thống biến đổi Sau đó là một số điểm nổi trổi thú vị về DPLL, chứng minh tínhchính xác của nó, đồng thời cho thấy nhiều cách DPLL tiến hành ứng với từng loạitham số
4.2.1 Khái niệm công thức, ngữ cảnh, và tính thỏa mãn
P là tập hữu hạn các biểu tượng Nếu p
P, thì p là 1 phần tử (atom), và p hay p sẽ là các literal của P
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 6
Trang 15Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Trong đó p sẽ là thể phủ định (negation) của p và (p ) là p
Mệnh đề là 1 chuỗi có phân cách các literal l1 l2 … ln 1 mệnh đề đơn vị
là 1 mệnh đề chỉ gồm 1 literal
Công thức dạng chuẩn CNF có dạng C1 C2 … Cn với n 1 Đôi khi nếukhông gây hiểu nhầm chúng ta có thể ký hiệu công thức trên như sau { C1, …, Cn}Một ngữ cảnh M là 1 tập các literal có dạng {p , p } M Một literal l là truetrong M nếu l M, là false trong M nếu l M, và là undefined (không xác định) trong các trường hợp khác Nghĩa là một literal là defined (xác định) trong M nếu nó
nhận được giá trị hoặc true hoặc false trong M
Ngữ cảnh M gọi là phủ (total) tập P nếu mọi literal trong P đều xác định trongM
Một mệnh đề C là true trong M nếu ít nhất 1 literal của nó ở trong M, là falsenếu tất cả các literal của nó đều false trong M, và là không xác định (undefined)trong các trường hợp còn lại
Một công thức (fomula) F là true trong M hay còn gọi là satisfied (được thỏa
mãn) bởi M, ký hiệu là M |= F nếu mọi mệnh đề của nó đều true trong M Trong
trường hợp đó M gọi là một model của F Nếu F không có model nào thì F là
unsatisfiable (không thể thỏa mãn).
Nếu F và F’ đều là các công thức, nếu F’ đúng trong tất cả các model của F thì ta
có thể viết là F |= F’ Khi đó ta có thể gọi là F’ kế thừa F, hay là một hệ quả logiccủa F
Nếu ta có F |= F’ và F’|= F thì ta nói rằng F và F’ bằng logic với nhau
Từ đây chúng ta sẽ thống nhất các ký hiệu như sau : l là ký hiệu của literal C và
D là các ký hiệu của mệnh đề, F và G là ký hiệu của công thức M và N là ký hiệucủa ngữ cảnh
Dễ dàng có thể thấy rằng, nếu C là 1 mệnh đề dạng l1 … ln thì C sẽ có dạng
là l1 … ln Cách biến đổi này rất hữu dụng trong nhiều trường hợp đểhiểu các bổ đề cùng các định lý
4.2.2 Khái niệm trạng thái và hệ thống biến đổi trong lý thuyết DPLL
DPLL có thể được miêu tả đầy đủ bằng cách thừa nhận trạng thái của thủ tục códạng là FailState (trạng thái sai) hoặc dạng M║F Trong đó F là một công thức códạng chuẩn CNF, có tập các mệnh đề là hữu hạn và M là 1 ngữ cảnh
Chính xác hơn, M là một chuỗi các literal, không bao gồm đồng thời cả nó vàthể phủ định của nó Và mỗi literal có một chú thích, một bit dùng để đánh dấu nó là
1 literal decision (được quyết định) hay chưa Có thể coi M là một tập hay một sự
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 7
Trang 16Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
kết hợp giữa các các literal cũng giống như 1 công thức không quan tâm literal có làliteral quyết định hay không, cũng như thứ tự của nó
Sự liên kết giữa các literal trong chuỗi chỉ đơn giản là được đặt cạnh nhau Nếumuốn nhấn mạnh 1 literal là 1 literal được quyết định chúng ta sẽ ký hiệu nó là l d
Ký hiệu cho 1 chuỗi không có literal là Ta nói rằng mệnh đề C là xung đột trongtrạng thái M║F, nếu M |= C
Chúng ta sẽ mô hình thủ tục DPLL bởi 1 tập các trạng thái liên tiếp liên kết vớinhau bởi lý hiệu , gọi là quan hệ biến đổi Nếu S S’thì ta nói rằng có một phépbiến đổi từ S sang S’ Ký hiệu * để chỉ phép biến đổi phản thân, nghĩa là trạngthái S không thay đổi qua phép biến đổi đó Nếu ta cso 1 loạt những biến đổi códạng S0 S1, S1 S2 , … gọi là derivation (chuỗi dẫn xuất) , ta có thể ký hiệu nó
thành S0 S1 S2 …và gọi một chuỗi con là subdervation (một chuỗi dẫn xuấtcon)
Các quan hệ biến đổi từ nay được đặt tên là transition-rule (luật biến đổi) Từ
trạng thái S , 1 luật biến đổi được áp dụng từ S sang trạng thái mới S’ Một phépbiến đổi này gọi là một bước áp dụng
Một hệ thống biến đổi là một tập các phép biến đổi được đưa vào cùng tập cáctrạng thái Nếu ta có một hệ thống biến đổi R, phép biến đổi của hệt hống này sẽđược ký hiệu R Nếu từ một trạng thái S, không có một phép biến đổi nào của hệ
thống R có thể áp dụng được cho nó thì ta nói rằng S là trạng thái final (kết thúc)
với hệ thông biến đổi là R
4.2.3 Thủ tục DPLL truyền thống
Một hệ thống DPLL đơn giản là một hệ thống chỉ tuân theo luật DPLL truyềnthống, bao gồm 5 luật sau Chúng ta giới thiệu luật này ở đây vì lý do giải thích vàcũng vì lý do lịch sử
Định nghĩa 2.1 : Classical DPLL system - Hệ thống DPLL truyền thống là hệ
thống Cl bao gồm 5 luật sau Trong hệ thống các literal được liên tục thêm vào M không có chú thích gì ngoại trừ literal được thêm vào nhờ luật Decide.
Trang 17Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
l xuất hiện trong một vài mệnh đề của F
l không có trong các mệnh đề của F
l hoặc l xuất hiện trong
1 mệnh đề của F
l chưa được xác định trong M
M├ C
M không còn chứa 1 literal decision nào
M l N ├ C
N không còn chứa 1 literal decision nào
Trang 18Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
F là không thể thỏa mãn nếu và chỉ nếu Sn là trạng thái FailStase
Nếu Sn có dạng M║F thì M là một model của F
Có một điều đặc biệt của hệ thống DPLL truyền thống khác với các hệ thốngbiến đổi khác là thành phần thức 2 của mỗi trạng thái luôn luôn không đổi
Sau đây chúng ta sẽ đi lý giải cách các luật trên hoạt động.Với những chú ý sau :
M là một chuỗi có dạng M0l1M1…lkMk , khi đó li là tất cả các decision literal trong
M, chúng ta cũng nói rằng M║F là trạng thái quyết định ở mức k, và tất cả cácliteral của mỗi liMi thuộc về mức quyết định i
UnitPropagate : Để một công thức dạng chuẩn CNF thỏa mãn, thì tất cả các mệnh đềcủa nó phải true Do đó nếu một mệnh đề của F có một literal chưa được xác địnhtrong ngữ cảnh M trong khi tất cả các literal còn lại của mệnh đề là false, thì chắcchắn ngữ cảnh M phải được thêm vào l
PureLiteral : Nếu một literal l là pure trong F Có nghĩa chỉ có nó xuất hiệntrong các mệnh đề của F, còn thể phủ định của nó thì không, thì F có thể thảomãn được chỉ nếu có một model làm l true Do đó, nếu M chưa xác định l thì
ta có thể thêm l vào M
Decide : Luật này được giới thiệu trong trường hợp phân tách Một literalchưa xác định được chọn từ F, và thêm vào M Literal ấy sẽ được chú thích làdecision literal, để đánh dấu rằng Ml có thể không phát triển được để trởthành một model của F, thì ta có thể cân nhắc cách mở rộng M là M l.Việc này được đề cập đến trong luật Backtrack (quay lui)
Fail : Luật này áp dụng khi phát hiện ra một mệnh đề C xung đột và sinh ratrạng thái FailState khi mà M không có một decision literal nào
Backtrack : Nếu một mệnh đề xung đột được phát hiện, nhưng chưa đạt đếntrạng thái FailState (nghĩa là vẫn còn các decision literal trong M), thì luậtBacktrack chỉ ra rằng có thể quay lại 1 mức quyết định, bằng cách thaydecision literal hiện tại bằng l và xóa đi các chuỗi con được tạo ra sau
nó Chú ý rằng khi đó l là một non-decision literal, đó là cách ta thử các
Ví dụ 2.1 : Cho hệ thống dẫn xuất sau sử dụng hệ thống biến đổi Cl, với mỗi bước
biến đổi có chú thích luật áp dụng tương ứng Để dễ theo dõi ta cho các atom là các
số tự nhiên, và thể phủ định của nó là số tự nhiên có gạch trên
Trang 19Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Trạng thái cuối cùng của chuỗi dẫn xuất này là trạng thái kết thúc Ngữ cảnh của
nó là một model của công thức ban đầu
Thủ tục Davis-Putnam (Davis và Putnam – 1960) được giới thiệu đầu tiên với 2pha trong quá trình chứng minh của mệnh đề logic loại I Trong pha đầu, tính khôngthỏa mãn của một công thức được chứng minh bằng cách tạo ra một vài tập hợp lý.Pha thứ 2, chứng minh tính không thỏa mãn của nó
Sự cải tiến sau đó, như thủ tục Davis-Logemann-Loveland (Davis-1962) hầu nhưchỉ tập trung vào pha chứng minh tính không thể thỏa mãn được của công thức Hầuhết các tác giả bây giờ đều gọi thủ tục DPLL là thủ tục chứng minh tính thỏa mãncủa một mệnh đề logic dựa trên pha chứng minh này Ban đầu, thủ tục này bao gồm
cả kỹ thuật tìm kiếm sâu thứ nhất với mô hình quay lui giống như thủ tục DPLLtruyền thống mà chúng ta giới thiệu ở trên
4.2.4 Thủ tục DPLL hiện đại
Những cách giải quết vấn đề SAT dựa trên DPLL hiện đại hầu như không thựchiện hoàn toàn giống DPLL truyền thống Lấy ví dụ, vì lý do hiệu quả nên luậtPureliteral thường chỉ sử dụng cho bước tiền sử lý, do đó về sau chúng ta sẽ không
đề cập đến luật này nữa Bên cạnh đó luật Backjump mới đưa vào hiệu quả hơnnhiều so với luật Backtrack trước, nên thường được sử dụng thay cho Backtrack.Sau đây ta sẽ lấy một ví dụ khác cho hệ thống Cl nhưng lại làm nổi bật tính hiệuquả của luật Backjump mới
Ví dụ 2.2:
║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1d ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1 B (UnitPropagate)
1d 2 ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1d 2 3d ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1 B (UnitPropagate)
1d 2 3d 4 ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1d 2 3d 4 5d ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1 B (UnitPropagate)
1d 2 3d 4 5d _
6 ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
1d 2 3d 4 _
5 ║ _ _ _ _ _ _ _
2 5 6 , 6 5 , 4 3 , 2
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 11
Trang 20Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Trước bước Backtrack, mệnh đề _ _
2 5
6 là mệnh đề xung đột: nó sai trong ngữcảnh 1d 2 3d 4 5d _
6 Đây là một chuỗi thu được nhờ unitpropagate 2 củadecision 1d , cùng với 5d và unitpropagate của nó là _
6
Do đó, ta có thể thấy rằng 1d không phù hợp đi cùng 5d cũng như ta có mệnh
đề kéo theo là _ _
5 1 Hoàn toàn tương tự, ta cũng có mệnh đề _ _
5 2
Những mệnh đề kéo theo đó gọi là backjump clause (mệnh đề nhảy) nếu sự xuấthiện của chúng sẽ cho phép áp dụng 1 bước unitpropagate ở mức quyết định sớmhơn Tóm lại, luật backjump làm việc như sau : tìm một mệnh đề backjump, quaytrở lại 1 mức quyết định sơm hơn và thêm unitpropagate literal (literal có được nhờ
áp dụng luật unitpropagate) vào ngữ cảnh Lấy ví dụ, sử dụng mệnh đề _ _
5 2 nhưmột mệnh đề backjump, bước backtrack cuối cùng ở trên có thể thay bởi backjump
để đạt được trạng thái mới với thành phần đầu tiên là _
5 2
Chúng ta sẽ mô hình những điều trên trong hệ thống tiếp theo với luật mới làbackjump, mà backtrack là trường hợp đặc biệt Trong luật này, mệnh đề C’ l’ làmệnh đề backjump, với l’ là literal có thể áp dụng luật unitpropagate ( _
5 trong ví dụcủa chúng ta) Sau đó, chúng ta chỉ ra sự hoạt động hiệu quả của luật này : mộtmệnh đề backjump luôn luôn có thể được tìm thấy
Định nghĩa 2.2: Basic DPLL system - Hệ thống Basic DPLL (DPLL cơ bản) là
một hệ thống gồm bốn luật có thể gọi tắt là hệ thông B B bao gồm các luật là : Unitpropagate, Decide, Fail từ hệ thống Cl (Classical DPLL – DPLL truyền thống) cùng với luật backjump sau :
Backjump :
M ld N║F, C M l’ ║ F, C nếu
Chúng ta gọi C trong luật Backjump trên là conflicting clause (mệnh đề xung
đột) và mệnh đề C’ l’ là backjump clause (mệnh đề để nhảy).
Như chúng ta biết rằng, mô hình Backtrack luôn luôn quay lại mức quyết địnhtrước : quay trở lại mức quyết định ngay đó và thêm l vào ngữ cảnh Conflict-
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 12
M l N ├ C
l’ chưa được xác định trong M
Tìm được một vài mệnh đề C’ l’ và M├C’
l’ hoặc l’ xuất hiện trong F hoặc trong M l N
Trang 21Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
driven backjump ( nhảy trách xung đột) được mô hình bởi luật Backjump, có thểquay lui đến mọi mức quyết định sớm hơn, nhờ vào việc phân tích nguyên nhân sinh
ra mệnh đề xung đột Backjump có thể quay lui đến vài mức quyết định cùng mộtlúc, đến mức quyết đinh thấp hơn mức quyết định ngay trước nó và thêm một vàoliteral vào mức quyết định đó Điều đó có nghĩa là, nó nhảy đến mức quyết địnhkhông còn liên quan đến xung đột Trong ví dụ trước, nó bỏ qua mức quyết đinh 3 d
với chuỗi con 4, mức quyết định mà hầu như không liên quan gì đến mệnh đề xungđột xảy ra lúc đó Tuy nhiên, bằng trực giác, ta thấy rằng trạng thái 1d 2 5_ đạt đượcnhờ sử dụng luật Backjump có vẻ tốt hơn rất nhiều so với trạng thái _
5 4 3 2
thu được nhờ luật Backtrack Điều này đã được chứng minh bằng lý thuyết
Sau này bằng lý thuyết, người ta còn chứng minh được rằng các literal của mệnh
đề backjump luôn luôn được chọn trong số các phủ định của các decision literal,mặc dù vẫn tồn tại những lựa chọn tốt hơn Khi mà thể phủ định của tất cả cácdecision literal đã được thêm vào backjump clause, thì luật Backjump sẽ làm việctương tự luật Backtrack của Cl Chúng ta cũng chú ý rằng, trong thực tế đã đượcchứng minh, khi đã có trạng thái M║F bao gồm một mệnh đề xung đột thì hoặc làluật Fail khi mà không có decision literal nào trong M, hoặc là luật Backjump được
và 5 trong M Nếu nhìn nhận là những xung đột tương tự thường xuyên xảy ra trongthực tiễn thì việc học bổ đề này có hiệu quả vô cùng lớn để tăng hiệu năng thụchiện
Khi một bổ đề được sinh ra nhằm hướng tới tránh những xung đột trong tươnglai, nhưng bổ đề đó lại gần như ko được thấy nữa thì nó có thể được xóa đi Trongthực tế, một bổ đề được xóa đi khi mà hoạt động của nó rơi xuống dưới một ngưỡngcho phép nào đó (Bayardo và Schrag – 1997) Hoạt động ở đây có thể coi là số lần
nó là một unit hay là một conflicting clause (Goldberg và Novikov – 2002)
Việc học thêm hay xóa đi một mệnh đề sẽ được giới thiệu trong hệ thống mới là
hệ thống mở rộng của hệ thống Basic DPLL
Định nghĩa 2.3: Hệ thống DPLL với việc học, ký hiệu là L, bao gồm bốn luật
trong hệ thống Basic DPLL và 2 luật mới :
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 13
Trang 22Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Learn :
M║F M ║ F, C nếu
Forget :
M║F M ║ F, C nếu
Trong bất kỳ bước áp dụng nào của luật Learn, mệnh đề C cũng được gọi là
learned (được học) nếu nó không thuộc về F Tương tự, ta gọi là được forgotten
(được quên) bởi luật Forget
Quan sát, thấy rằng luật Learn cho phép chúng ta thêm vào F những mệnh đềkéo theo C tùy ý, với điều kiện các atom trong C phải có trong F hoặc M Mô hìnhnày không chỉ là học bổ đề để tránh xung đột mà còn xuất hiện trong rất nhiều kỹthuật khác nữa để sinh ra những chuỗi con kéo theo bởi F, ví dụ như limited form(dạng giới hạn) của cách giải quyết vấn đề (sẽ được giới thiệu trong ví dụ sau).Tương tự, luật Forget được sử dụng trong nguyên tắc xóa bớt từ F bất kỳ mệnh
đề nào có thể kéo theo từ các phần còn lại của F, không chỉ là các mệnh đề đượcthêm từ luật Learn Tuy nhiên, việc áp dụng triệt để hai luật này lại có hạn chế trongthực tế bởi giá phải trả để tìm ra những mệnh đề kéo theo
Sáu luật trên của hệ thống DPLL với việc học là mô hình khái niệm ở mức caocủa quá trình thực hiện DPLL Những luật này sẽ cho ta lý giải được những đặc tínhnhư là đúng đắn và kết thúc của thủ tục DPLL
Ví dụ 2.3 : Sau đây chúng ta sẽ lấy ví dụ để chỉ ra cách dùng đồ thị xung đột để
áp dụng luật Backjump tìm mệnh đề backjump clause Trong ví dụ này chúng ta sẽ
sử dụng một chiến lược có trong hầu hết các cách giải quyết vần đề của SAT
i Luật Decide chỉ được áp dụng khi mà không còn luật nào khác trong BasicDPLL có thể áp dụng được nữa
ii Sau mỗi bước áp dụng luật Backjump thì mệnh đề backjump được học
Giả sử ta đã có một trạng thái như sau M ║ F, trong các mệnh đề của F bao gồm:
3 2 1 3 7 5 2 5 4 1 4 4 8 6 5 7 8 8
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 14
Mỗi atom của C đều xuất hiện trong F hoặc trong M
F├ C
F├ C
Trang 23Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Dễ dàng thấy rằng trạng thái này đạt được sau decision cuối cùng 9d cùng sáulần áp dụng luật UnitPropagate Lấy ví dụ, _
8 có được là từ 9, 6, và _
7 cùng mệnh
đề _ _ _
8 7
6
9 DPLL sẽ lưu giữ lại chuỗi các literal được sinh ra và những mệnh
đề nguyên nhân Nhận thấy rằng trạng thái M ║ F ở trên mệnh đề 1 2_ 3
đề xung đột, khi mà M bao gồm 1_, 2 và _
3 Sử dụng những thông tin đã được lưugiữ, DPLL sẽ lần được theo nguyên nhân gây ra mệnh đề xung đột này Ví dụ, lưuthông tin có được _
3 là từ _
5 và _
7, do mệnh đề _
3 7
Hình 2- : Đồ thị xung đột để tìm backjump clause
Trong đồ thị trên thì node của decision literal hiện tại và các literal của các mứctrước (6, _
7và 9d ) không có mũi tên đến, còn thể phủ định của các literal trongmệnh đề xung đột không có mũi tên ra ( _
1, 2 và _
3)
Để tìm backjump clause, ta chia đồ thị trên thành hai phần Phần đầu bao gồm ítnhất là tất cả các literal không có mũi tên đến Phần thứ hai bao gồm ít nhất cácliteral không có mũi tên ra, đó là các thể phủ định của các literal trong mệnh đềxung đột Dễ dàng nhận thấy là không một model nào của F có thể thỏa mãn tất cảcác literal có mũi tên ra bị cắt ở trên
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 15
6
9d
_7
_8
4
_5
_
1
_32
Trang 24Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Trong ví dụ này, đường cắt được ký hiệu bằng nét đứt, các literal có mũi tên ra
bị cắt là _
8, _
7 và 6 Từ các literal này, sử dụng luật UnitPropagate cùng năm mệnh
đề trên của F có thể tạo ra thể phủ định của các literal trong mệnh đề xung đột Do
8 Trong trường hợp đó, nó có thể là một backjumpclause, là mệnh đề C’ l’ trong định nghĩa luật Backjump, khi đó 8 đóng vai trò làl’ Mệnh đề mới này cho phép nhảy đến mức quyết định của _
7và thêm 8 vào Sau
6 7
8 được học để lý giải lý do xung đột khi xuất hiện 8 mà đã có 6
và _
7
Cách chia ở trên tạo ra một backjump clause có duy nhất một literal thuộcdecision literal hiện tại Thể phủ định của literal này đóng vai trò là l’ trong luậtBackjump Trong lý thuyết SAT, literal này được gọi là Unique Implication Point(UIP) của đồ thị xung đột Chính thức, thì các UIP được xác định như sau : Đặt D
là tập tất cả các literal của mệnh đề xung đột C Nó luôn không rỗng khi mà luật Fail
và luật Backjump chưa được áp dụng Khi đó UIP là bất kể literal nào thuộc đường
từ decision literal hiện tại đến thể phủ định của một literal thuộc D Chú rằng đồ thịxung đột luôn chứa ít nhất một UIP, tính cả chính bản thân decision literal hiện tại,nhưng thông thường thì nhiều hơn (trong ví dụ của chúng ta thì cả 9d và _
8 đều làcác UIP)
Trong thực tế, thì việc xây dựng các biểu đồ xung đột là không cần thiết Ta chỉcần quay lui từ mệnh đề xung đột cho đến khi có được UIP đầu tiên (Marques-Silva
và Sakallah – 1999; Zhang – 2001)
Việc xây dựng mệnh đề xung đột cũng có thể làm bằng một chuỗi dẫn xuất trong
tính toán resolution, gọi là quá trình backward conflict resolution (cách giải quyết
bằng quay lui) Trong ví dụ của chúng ta mệnh đề _
6 7
8 đạt được nhờ các bướctính toán resolution trên mệnh đề xung đột:
5 7 3_ 1 2_ 3
_ _
2 1 7 5 2
7
_
6 7
8
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 16
Trang 25Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Quá trình kết thúc khi sinh ra được một mệnh đề chỉ gồm một literal của mứcquyết định hiện tại, đó chính xác là UIP đầu tiên (trong ví dụ của chúng ta là literal
8 trong mệnh đề _
6 7
8 ) Trong một vài cách giải quyết vấn đề của SAT, ví dụnhư Siege, cũng học một vài mệnh đề trung gian trong chuỗi resolution
5 Hợp giải Robinson với logic vị từ loại I
Logic vị từ loại I vô cùng quan trọng đối với hệ thống suy diễn (ReasoningSystem) Trong suốt nhiều năm nay, nó là công cụ hữu ích dùng để nghiên cứu vàtryền đạt Sau đây, chúng ta sẽ tìm hiểu về logic vị từ loại I, cũng như thuật giảiRobinson áp dụng cho nó để quyết định tính thỏa mãn hay không của một công thứcSAT
5.1 Logic vị từ loại I (FOL)
Phần sau sẽ dùng để giới thiệu hệ thống cú pháp của logic vị từ loại I (FOL)
Ngôn ngữ dùng trong FOL:
Trong FOL có sử dụng : biến (a,b,x, y,…), hằng ( A, B, John, 0, 1, …), hàm(F, G, Cosine, Height, FatherOf,… ), quan hệ (P, Q, Red, Brother,…) và thêm các
ký hiệu của logic như , (tồn tại , với mọi)
FOL có một khái niệm mới gọi là hạng thức (term) Thật ra đó chỉ là sự tổng hợpcủa các khái niệm cũ mà thôi Hạng thức có thể là biến; có thể là hằng số; có thể làhàm của các hạng thức,…
Câu trong logic được hình thành như sau : có thể là giá trị true hoặc false; mộthàm; có thể là dạng t1 = t2 , với t1, t2 là các hạng thức; nếu là một câu thì
Một số khái niệm cơ bản :
Để tránh nhập nhằng trong câu của FOL chúng ta quy định thứ tự ưu tiên thựchiện như sau : ¬, ∧, ∨, →, ↔, {∀, ∃} , hoặc ta có thể sử dụng dấu ngoặc
Ví dụ : ∀x ¬P(x) ∨ Q(x) ∧ R(x) → S(x)
Có thể rõ ràng hơn khi được viết như sau :
∀x (((¬P(x)) ∨ (Q(x) ∧ R(x))) → S(x))
Do FOL được sử dụng để giải thích những vấn đề trong thực tế, nên ta có thể chỉ
ra được sự liên tưởng ngữ nghĩa như sau : hằng và biến được xem như là các đối
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 17
Trang 26Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
tượng trong thực tế (con người, đồ vật, …); các hàm là các mối liên hệ giữa đốitượng này đến đối tượng khác; các biểu tượng quan hệ được xem như biểu diễn tínhchất của đối tượng
Ví dụ : George_W_Bush, ExpresidentOf (US), SonOf (Barbara) đều là cách biểudiễn cho một đối tượng
Khái niệm cơ sở tri thức (Knowledge Base – KB) : Là một tập các dữ kiện bao
gồm hằng số, biến số, quan hệ, hàm diễn tả một vấn đề trong thực tế, được biểu diễnbởi FOL và dùng để lý giải hay chứng minh một điều gì đó có liên quan
Câu trong FOL thường xuất hiện với các ký hiệu logic , :
∀ (variables) (sentence) : có thể được dùng nhiều lần trong cơ sở chi thức, và
không bị loại đi
∃ (variable) (sentence) : chỉ được thay thế một lần trong Kb, sau đó bị loại đi
Có những người ở Stanford thông minh
∃ x At(x, Stanford) ∧ Smart(x)
Tương đương với :
At(KingJohn, Stanford) ∧ Smart(KingJohn)
∨ At(Richard, Stanford) ∧ Smart(Richard)
∨ At(Stanford, Stanford) ∧ Smart(Stanford)
Trang 27Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
∀x P(x) ∧ Q(x) ∀x R(x, z) ∧ ∃y S(x, y)
scope of ∀x scope of ∃y
scope of ∀x
Khái niệm tự do (free) hay bị giới hạn (bound) của một biến: một biến được gọi
là tự do – không giới hạn trong câu nếu như nó không nằm trong tầm vực của bất kểbiến nào cùng tên Ngược lại, nó bị giới hạn khi nó nằm trong ít nhất một tầm vựccủa biến cùng tên
Ví dụ :
∀x P(x) ∧ Q(x) cả hai sự xuất hiện đều được giới hạn bởi ∀x
(∀x P(x)) ∧ Q(x) sự xuất hiện đầu tiên của x được giới hạn bởi ∀x, cáithứ hai tự do
∀x R(x, z) ∧ ∃y S(x, y) cả hai sự suất hiện của x được giới hạn bởi ∀x,
sự xuất hiện của y được giới hạn bởi ∃y, z tự do
Chú ý : Câu mở nếu chứa biến tự do, và đóng trong các trường hợp khác.
Cách viết : ∀x∀y tương đương với ∀y∀x
∃x∃y tương đương với ∃y∃x
Nhưng ∃y ∀x khác với ∀x ∃y
Ví dụ :
∃ x ∀ y Loves(x, y) : Có một số người yêu quý mọi người trên thế giới
∀ y ∃ x Loves(x, y) : Mọi người trên thế giới đều được yêu quý bởi ítnhất một người
Phép biến đổi giữa hai ký hiệu logic trên như sau :
∀ x Likes(x, IceCream) tương đương ∃¬ x ¬Likes(x, IceCream)
∃ x Likes(x,Broccoli) tương đương ∀¬ x ¬Likes(x,Broccoli).Một định lý vô cùng quan trọng áp dụng cho FOL đó là : mô hình Herbrand.Việc tìm ra định nghĩa này đóng vài trò quyết định trong bài toán đi tìm tính thỏamãn của logic vị từ loại I
Định nghĩa Herbrand : Một câu dạng FOL nếu có một model (được thỏa mãn)
khi và chỉ khi câu ground (không chứa biến)nhận được từ nó qua các phép thay thế
có một model (được thỏa mãn).
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 19
Trang 28Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Định nghĩa này quan trọng là vì : chỉ những câu ở dạng ground mới có cách ápdụng phép thế, qua hợp giải để đưa ra kết luận về tính thỏa mãn
5.2 Phép hội hợp, hợp giải và hợp giải Robinson
Hợp giải là phương pháp áp dụng cho Logic vị từ (thay vì thủ tục DPLL chologic mệnh đề) được sử dụng trong bài toán tìm tính thỏa mãn của tập mệnh đề.Những phiên bản đầu tiên của hợp giải không đảm bảo được tính kết thúc, điều mànhững phiên bản cải tiến sau này đạt được
Trong thực tế, so với hợp giải thủ tục DPLL hiệu quả, đảm bảo hơn nhiều,nhưng chỉ có hợp giải mới có thể áp dụng, mở rộng đối với mệnh đề chứa biến (câudạng FOL)
5.2.1 Phép hội hợp
Một khái niệm vô cùng quan trọng đối với phép hợp giải đó là phép thay thế - su
bstitution, hay còn gọi là phép hội hợp – unifier.
Khi ta có một cơ sở tri thức (KB) gồm những câu dạng logic vị từ FOL Có rấtnhiều phép thay thế có thể áp dụng, nhưng không phải cách thay thế nào cũng dẫnđến cách giải quyết vấn đề, cũng như không phải cách nào cũng tối ưu Do đó lýthuyết về phép hội hợp sau đây sẽ đảm bảo tìm được phép thế tối ưu nhất
Trên thực tế nếu ta có k thuộc tính với n hằng số thì ta có tất cả n k phép thaythế, việc duyệt qua tất cả chúng là vô cùng tốn kém và không cần thiết, do đó ta đưa
ra các phương pháp giải quyết vấn đề này
Giả sử ta có hai thuộc tính, hoặc hai quan hệ và , thì phép hội hợp giữachúng được định nghĩa như sau :
Knows(John, x) Knows(John, Jane) {x/Jane}
Knows(John, x) Knows(y,OJ) {x/OJ, y/John}
Knows(John, x) Knows(y,Mother(y)) {y/John, x/Mother(John)}
Trang 29Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Ta viết : := {y/John, x/Mother(John)}
Và có thể kết luận là p,q trong trường hợp một, hai, và ba hội hợp được Trongtrường hợp bốn không hội hợp được
Trong phép hội hợp có các chú ý quan trong sau :
Một biến có thể hội hợp với bất kỳ hạng thức nào không chứa nó
Một hằng chỉ có thể hội hợp được với chính nó
Hai hạng thức phức hợp chỉ có thể hội hợp được nếu :
Biểu tượng đầu của chúng là giống nhau
Số tham số trong các hạng thức này là như nhau
Và các tham số này phải hội hợp được với nhau từng đôi một
Ví dụ 2.6:
1 x và A hội hợp được nhưng A và B thì không
2 x và F(A,H(x)) không hội hợp được (vì x xuất hiện trong F(A,H(x)))
3 F(H(x)) và G(H(x)) không hội hợp được (khác biểu tượng đỉnh F và G)
4 F(x) and F(x, y) không hội hợp được (khác về số lượng tham số)
5 F(t1, t2, , tn) và F(s1, s2, , sn) hội hợp được nếu t1 và s1 hội hợp được, t2
và s 2 hội hợp được, , tn and sn hội hợp được
Có những cặp hạng thức có nhiều hơn một phép gán
Ví dụ 2.7:
G(x,H(z)) và G(A, y) hội hợp được với phép gán
1 := {x/A, y/H(A), z/A}
Hoặc với phép gán 2 := {x/A, y/H(z)}
Khi đó xuất hiện khái niệm : phép gán phổ biến hơn Như ở trên thì 2 sẽ làphép gán phổ biến hơn phép gán 1
Khi hội hợp hai hạng thức ta chỉ quan tâm đến phép gán phổ biến nhất của chúng
(most general unifier (mgu))
Những điều trên được tổng kết lại tập luật hội hợp tiêu chuẩn (StandardUnification – SU) sau :
t ? t, E ⇒SU E
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 21
Trang 30Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
) ( 1 2
Thông thường 1 1 và 2 2 là các mệnh đề không chứa biến, 1 và 2
là một câu gồm các atom, là mgu của 1 và 2
¬Pet(Joe) ∨ Cat(Joe)∨Bird(Joe) Parrot(x) ∨ ¬Bird(x)
¬Pet(Joe) ∨ Cat(Joe) ∨ Parrot(Joe)(1) mgu(Bird(x),Bird(Joe)) = {x/Joe}
Sinh viên thực hiện: Nguyễn Thị Thúy Mai – Khóa: K50 – Lớp: Hệ thống thông tin B 22
(1)
Trang 31Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
↓ ↓
¬On(x, y) ∨Above(x, y) On(B,A)∨On(A,B)
Above(A,B) ∨ On(B,A)
(2) mgu(On(x, y),On(A,B)) = {x/A, y/B}
Hợp giải Robinson (1965): Đó là một chiến lược rất hữu ích để chứng minh một
giả thuyết từ KB, trong khi có vô vàn phép gán (tạo ra mệnh đề không chứa biến ) cho tập các mệnh đề hữu hạn ban đầu (chứa biến) một cách hiệu quả.
Ta có một cơ sở tri thức gồm các luật như sau :
Một người là tội phạm của nước US khi người đó bán vũ khí cho nước thù địchcủa nước US Quốc gia NoNo là quốc gia thù địch của Mỹ, có một vài tên lửa, và tất
cả số tên lửa đó do một người có tên Colonel West cung cấp Một người là tội phạmcủa nước Mỹ khi người đó bán vũ khí cho nước thù địch của nước Mỹ Tên lửa là
vũ khí
Từ đó xây dựng được cơ sở tri thức :
Owns(Nono,M1) and Missile(M1)
∀ x Missile(x) ∧ Owns(Nono, x) ⇒ Sells(West, x,Nono)
Trang 32Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động-Hệ thống suy diễn SLR
Trong đó G(N) là tập các mệnh đề ground (không chứa biến) thu được từ tập
N ban đầu qua các phép hội hợp
Có nghĩa là : nếu muốn chứng minh tính thỏa mãn của một tập các logic vị từ tachỉ cần chứng minh được tính thỏa mãn của tập mệnh đề ground thu được từ tậplogic vị từ ban đầu
Khi đó, phép hợp giải trở lên dễ dàng, khả thi và có ý nghĩa hơn (dùng để chứngminh tính thỏa mãn của logic vị từ)
Từ nay, ta chỉ cần tập trung vào tập mệnh đề ground vì nó có ý nghĩa tương đương cho tập logic vị từ tương ứng.
Thứ bậc: Đó việc đặt một thứ tự cho các tham số, cũng như các mệnh đề
ground Việc này có ý nghĩa quan trọng trong việc hợp giải và tìm model chứng minh tính đúng đắn của.
Định nghĩa thứ tự:
Với một tập M có thể tồn tại một quan hệ > không đầy đủ trong M.
Ví dụ: M là tập các số nguyên thì ta có quan hệ > thể hiện :
Quan hệ cũng được định nghĩa tương tự.
Một thứ tự cũng thường thấy đó là quan hệ > đối với chiều dài của từ trongkhông gian đang xét : nếu một từ w > w’ khi mà độ dài của w > độ dài của w’,hoặc độ dài của chúng bằng nhau, nhưng giá trị được tính theo một trật tự nào đótrong không gian của w > của w’