Tải bản đầy đủ (.docx) (34 trang)

suy diễn tự động-hệ thống suy diễn slr

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (415.06 KB, 34 trang )

Đồ án tốt nghiệp đại học Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
PHIẾ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
Lớp: Hệ thống thông tin B Hệ đào tạo: Đại học chính quy
Đồ ỏ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ông tin –
Đạ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ến là:
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ảo vệ:



Hà Nội, ngày thỏng năm 2009
Giỏo viờn hướng dẫn



TS.Trần Đức Khỏnh

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 73

Đồ ỏ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
ơncỏ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ừmdạ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ắctớ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ệncho em trong suốt quá trình thực tập cũng như 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ực hiệ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ọi công việc.


Hà Nội, thỏng 5 năm 2010
Sinh viờn: Nguyễn Thị Thỳy Mai




Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
ABSTRACT OF THESIS
The thesis studies on the method of “automated Resoning on set of first - order logic
clauses”. It is one of wide application in reality, namely : to check the realibility and safety of
hardware, software as well as encryption protocols,….
In general, the thesis studies on automated resoning theory then goes in more detail in two
most popular automated resoning : the SAT Solving method with DPLL procedure and the
Theorem Proving with Resolution procedure. Two methods have their own advantages and
disadvantages such as: DPLL only implements on set of ground clauses, while Resolution 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 with Lazy Resolution system. And the
thesis shall describe this method in detail. The detail installation of SLR using the program of
Minisat for SAT solving and SPASS of Theorem Proving. Finally, the thesis ends with the trial
run on some samples and comparison with previous 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 to upgrading first
version of SLR and applying it in development of the system of SMELS - Satisfiability Modulo
Equality with Lazy Sperposition.















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

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
Lời cảm ơn 2
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3

THUẬT NGỮ, CÁC TỪ VIẾT TẮT VÀ CÁC KÍ HIỆU 15
Lời nói đầu 17
Chương 1. Đặt vấn đề 18
1.1 Suy diễn tự động trên tập các mệnh đề 18
1.2 Những phương pháp suy diễn tự động phổ biến hiện
nay 18
1.1 Suy diễn tự động trờn tập cỏc mệnh đề 18
1.2 Những phương phỏp suy diễn tự động phổ biến hiện
nay 19
1.3 Mục tiờu nghiờn cứu của đề tài 20
Chương 2: Hai phương phỏp suy diễn tự động phổ biến 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT 21
2.2 Hợp giải Robinson với logic vị từ loại I 21
2.3 Tổng kết chương 2 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability
- tính thỏa mãn) 21
2.1.1 Tổng quan về SAT Solving 22
2.1.2 Thủ tục DPLL 22
2.2 Hợp giải Robinson với logic vị từ loại I 33
2.2.1 Logic vị từ loại I (FOL) 34
2.2.2 Phộp hội hợp, hợp giải và hợp giải
Robinson 36
2.3 Tổng kết chương 2 45
Chương 3: SLR 45
3.1 Tổng quan 46
3.2 Một số khỏi niệm sử dụng để miờu tả hệ thống
SLR 48
3.3 Hệ thống suy diễn SLR 49
3.4 Tính đầy đủ của SLR 52
3.5 Tổng kết chương 3 52

Chương 4: Xừy dựngchương trìnhSLR 52
4.1 Tổng quan 53
4.2 Kết hợp MiniSat và Spass trong SLR 54
4.2.1 MiniSat 54
4.2.2 Spass 59
4.3 Kết hợp MiniSat và Spass sau khi đó cải
tiến 63
4.3.1 Sơ đồ 63
4.3.2 Các bước thực hiện chương trình 64
4.3.3 Fomat dữ liệu 65
4.4 Kết quả thử nghiệm 66
Môi trường chạy thử nghiệm: CPU Dual Core E2140 1.66Ghz,
RAM 2Gb. 66
4.5 Tổng kết chương 4 70
Chương 5: Kết luận 71
5.1 Kết quả đạt được 72
5.2 Những mặt hạn chế 72
5.3 Hướng phỏt triển tiếp của đề tài 72
TÀI LIỆU THAM KHẢO: 73




















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



Đồ ỏ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 BẢNG
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
Lời cảm ơn 2
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3
Lời nói đầu 17
Chương 1. Đặt vấn đề 18
1.1 Suy diễn tự động trên tập các mệnh đề 18
1.2 Những phương pháp suy diễn tự động phổ biến hiện
nay 18
1.1 Suy diễn tự động trờn tập cỏc mệnh đề 18
1.2 Những phương phỏp suy diễn tự động phổ biến hiện
nay 19

1.3 Mục tiờu nghiờn cứu của đề tài 20
Chương 2: Hai phương phỏp suy diễn tự động phổ biến 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT 21
2.2 Hợp giải Robinson với logic vị từ loại I 21
2.3 Tổng kết chương 2 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability
- tính thỏa mãn) 21
2.1.1 Tổng quan về SAT Solving 22
2.1.2 Thủ tục DPLL 22
2.1.2.1 Khái niệm công thức, ngữ cảnh, và tính thỏa
mãn 22
2.1.2.2 Khỏi niệm trạng thỏi và hệ thống biến đổi
trong lý thuyết DPLL 23
2.1.2.3 Thủ tục DPLL truyền thống 24
2.1.2.4 Thủ tục DPLL hiện đại 27
2.2 Hợp giải Robinson với logic vị từ loại I 33
2.2.1 Logic vị từ loại I (FOL) 34
2.2.2 Phộp hội hợp, hợp giải và hợp giải
Robinson 36
2.2.2.1 Phộp hội hợp 37
2.2.2.2 Hợp giải, hợp giải Robinson trờn
FOL 39
2.2.2.3 Hợp giải có thứ bậc 40
2.2.2.4 Chứng minh tính đúng đắn, tính đầy đủ và kết
thúc của hợp giải 44
2.3 Tổng kết chương 2 45
Chương 3: SLR 45
3.1 Tổng quan 46
3.2 Một số khỏi niệm sử dụng để miờu tả hệ thống
SLR 48

3.3 Hệ thống suy diễn SLR 49
3.4 Tính đầy đủ của SLR 52
3.5 Tổng kết chương 3 52
Chương 4: Xừy dựngchương trìnhSLR 52
4.1 Tổng quan 53
4.2 Kết hợp MiniSat và Spass trong SLR 54
4.2.1 MiniSat 54
4.2.1.1 Cấu trúc file input của MiniSat 54
4.2.1.2 Cấu trúc mã nguồn của MiniSat 54
4.2.1.3 Cấu trúc dữ liệu chính trong
MiniSat 55
4.2.1.4 Những hàm chính trong MiniSat 55
4.2.1.5 Điều chỉnh MiniSat 57
4.2.2 Spass 59
4.2.2.1 Cấu trúc file input của Spass 59
4.2.2.2 Sửa đổi các cấu trúc dữ liệu quan trọng bên
Spass 61
4.2.2.3 Sửa cỏc luật suy diễn của Spass 62
4.3 Kết hợp MiniSat và Spass sau khi đó cải
tiến 63
4.3.1 Sơ đồ 63
4.3.2 Các bước thực hiện chương trình 64
4.3.3 Fomat dữ liệu 65
4.4 Kết quả thử nghiệm 66
Môi trường chạy thử nghiệm: CPU Dual Core E2140 1.66Ghz,
RAM 2Gb. 66
4.5 Tổng kết chương 4 70
Chương 5: Kết luận 71
5.1 Kết quả đạt được 72
5.2 Những mặt hạn chế 72

5.3 Hướng phỏt triển tiếp của đề tài 72
TÀI LIỆU THAM KHẢO: 73


DANH MỤC CÁC HÌNH
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
Lời cảm ơn 2
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3
Lời nói đầu 17
Chương 1. Đặt vấn đề 18
1.1 Suy diễn tự động trên tập các mệnh đề 18
1.2 Những phương pháp suy diễn tự động phổ biến hiện
nay 18
1.1 Suy diễn tự động trờn tập cỏc mệnh đề 18
1.2 Những phương phỏp suy diễn tự động phổ biến hiện
nay 19
1.3 Mục tiờu nghiờn cứu của đề tài 20
Chương 2: Hai phương phỏp suy diễn tự động phổ biến 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT 21
2.2 Hợp giải Robinson với logic vị từ loại I 21
2.3 Tổng kết chương 2 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability
- tính thỏa mãn) 21
2.1.1 Tổng quan về SAT Solving 22
2.1.2 Thủ tục DPLL 22
2.1.2.1 Khái niệm công thức, ngữ cảnh, và tính thỏa
mãn 22
2.1.2.2 Khỏi niệm trạng thỏi và hệ thống biến đổi
trong lý thuyết DPLL 23

2.1.2.3 Thủ tục DPLL truyền thống 24
2.1.2.4 Thủ tục DPLL hiện đại 27
2.2 Hợp giải Robinson với logic vị từ loại I 33
2.2.1 Logic vị từ loại I (FOL) 34
2.2.2 Phộp hội hợp, hợp giải và hợp giải
Robinson 36
2.2.2.1 Phộp hội hợp 37
2.2.2.2 Hợp giải, hợp giải Robinson trờn
FOL 39
2.2.2.3 Hợp giải có thứ bậc 40
2.2.2.4 Chứng minh tính đúng đắn, tính đầy đủ và kết
thúc của hợp giải 44
2.3 Tổng kết chương 2 45
Chương 3: SLR 45
3.1 Tổng quan 46
3.2 Một số khỏi niệm sử dụng để miờu tả hệ thống
SLR 48
3.3 Hệ thống suy diễn SLR 49
3.4 Tính đầy đủ của SLR 52
3.5 Tổng kết chương 3 52
Chương 4: Xừy dựngchương trìnhSLR 52
4.1 Tổng quan 53
4.2 Kết hợp MiniSat và Spass trong SLR 54
4.2.1 MiniSat 54
4.2.1.1 Cấu trúc file input của MiniSat 54
4.2.1.2 Cấu trúc mã nguồn của MiniSat 54
4.2.1.3 Cấu trúc dữ liệu chính trong
MiniSat 55
4.2.1.4 Những hàm chính trong MiniSat 55
4.2.1.5 Điều chỉnh MiniSat 57

4.2.2 Spass 59
4.2.2.1 Cấu trúc file input của Spass 59
4.2.2.2 Sửa đổi các cấu trúc dữ liệu quan trọng bên
Spass 61
4.2.2.3 Sửa cỏc luật suy diễn của Spass 62
4.3 Kết hợp MiniSat và Spass sau khi đó cải
tiến 63
4.3.1 Sơ đồ 63
4.3.2 Các bước thực hiện chương trình 64
4.3.3 Fomat dữ liệu 65
4.4 Kết quả thử nghiệm 66
Môi trường chạy thử nghiệm: CPU Dual Core E2140 1.66Ghz,
RAM 2Gb. 66
4.5 Tổng kết chương 4 70
Chương 5: Kết luận 71
5.1 Kết quả đạt được 72
5.2 Những mặt hạn chế 72
5.3 Hướng phỏt triển tiếp của đề tài 72
TÀI LIỆU THAM KHẢO: 73
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
Lời cảm ơn 2
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3
Lời nói đầu 17
Chương 1. Đặt vấn đề 18
1.1 Suy diễn tự động trên tập các mệnh đề 18
1.2 Những phương pháp suy diễn tự động phổ biến hiện
nay 18
1.1 Suy diễn tự động trờn tập cỏc mệnh đề 18
1.2 Những phương phỏp suy diễn tự động phổ biến hiện

nay 19
1.3 Mục tiờu nghiờn cứu của đề tài 20
Chương 2: Hai phương phỏp suy diễn tự động phổ biến 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT 21
2.2 Hợp giải Robinson với logic vị từ loại I 21
2.3 Tổng kết chương 2 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability
- tính thỏa mãn) 21
2.1.1 Tổng quan về SAT Solving 22
2.1.2 Thủ tục DPLL 22
2.1.2.1 Khái niệm công thức, ngữ cảnh, và tính thỏa
mãn 22
2.1.2.2 Khỏi niệm trạng thỏi và hệ thống biến đổi
trong lý thuyết DPLL 23
2.1.2.3 Thủ tục DPLL truyền thống 24
2.1.2.4 Thủ tục DPLL hiện đại 27
2.2 Hợp giải Robinson với logic vị từ loại I 33
2.2.1 Logic vị từ loại I (FOL) 34
2.2.2 Phộp hội hợp, hợp giải và hợp giải
Robinson 36
2.2.2.1 Phộp hội hợp 37
2.2.2.2 Hợp giải, hợp giải Robinson trờn
FOL 39
2.2.2.3 Hợp giải có thứ bậc 40
2.2.2.4 Chứng minh tính đúng đắn, tính đầy đủ và kết
thúc của hợp giải 44
2.3 Tổng kết chương 2 45
Chương 3: SLR 45
3.1 Tổng quan 46
3.2 Một số khỏi niệm sử dụng để miờu tả hệ thống

SLR 48
3.3 Hệ thống suy diễn SLR 49
3.4 Tính đầy đủ của SLR 52
3.5 Tổng kết chương 3 52
Chương 4: Xừy dựngchương trìnhSLR 52
4.1 Tổng quan 53
4.2 Kết hợp MiniSat và Spass trong SLR 54
4.2.1 MiniSat 54
4.2.1.1 Cấu trúc file input của MiniSat 54
4.2.1.2 Cấu trúc mã nguồn của MiniSat 54
4.2.1.3 Cấu trúc dữ liệu chính trong
MiniSat 55
4.2.1.4 Những hàm chính trong MiniSat 55
4.2.1.5 Điều chỉnh MiniSat 57
4.2.2 Spass 59
4.2.2.1 Cấu trúc file input của Spass 59
4.2.2.2 Sửa đổi các cấu trúc dữ liệu quan trọng bên
Spass 61
4.2.2.3 Sửa cỏc luật suy diễn của Spass 62
4.3 Kết hợp MiniSat và Spass sau khi đó cải
tiến 63
4.3.1 Sơ đồ 63
4.3.2 Các bước thực hiện chương trình 64
4.3.3 Fomat dữ liệu 65
4.4 Kết quả thử nghiệm 66
Môi trường chạy thử nghiệm: CPU Dual Core E2140 1.66Ghz,
RAM 2Gb. 66
4.5 Tổng kết chương 4 70
Chương 5: Kết luận 71
5.1 Kết quả đạt được 72

5.2 Những mặt hạn chế 72
5.3 Hướng phỏt triển tiếp của đề tài 72
TÀI LIỆU THAM KHẢO: 73
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
Lời cảm ơn 2
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3
Lời nói đầu 17
Chương 1. Đặt vấn đề 18
1.1 Suy diễn tự động trên tập các mệnh đề 18
1.2 Những phương pháp suy diễn tự động phổ biến hiện
nay 18
1.1 Suy diễn tự động trờn tập cỏc mệnh đề 18
1.2 Những phương phỏp suy diễn tự động phổ biến hiện
nay 19
1.3 Mục tiờu nghiờn cứu của đề tài 20
Chương 2: Hai phương phỏp suy diễn tự động phổ biến 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT 21
2.2 Hợp giải Robinson với logic vị từ loại I 21
2.3 Tổng kết chương 2 21
2.1 Thủ tục DPLL để giải quyết vấn đề SAT (Satisfiability
- tính thỏa mãn) 21
2.1.1 Tổng quan về SAT Solving 22
2.1.2 Thủ tục DPLL 22
2.1.2.1 Khái niệm công thức, ngữ cảnh, và tính thỏa
mãn 22
2.1.2.2 Khỏi niệm trạng thỏi và hệ thống biến đổi
trong lý thuyết DPLL 23
2.1.2.3 Thủ tục DPLL truyền thống 24
2.1.2.4 Thủ tục DPLL hiện đại 27

2.2 Hợp giải Robinson với logic vị từ loại I 33
2.2.1 Logic vị từ loại I (FOL) 34
2.2.2 Phộp hội hợp, hợp giải và hợp giải
Robinson 36
2.2.2.1 Phộp hội hợp 37
2.2.2.2 Hợp giải, hợp giải Robinson trờn
FOL 39
2.2.2.3 Hợp giải có thứ bậc 40
2.2.2.4 Chứng minh tính đúng đắn, tính đầy đủ và kết
thúc của hợp giải 44
2.3 Tổng kết chương 2 45
Chương 3: SLR 45
3.1 Tổng quan 46
3.2 Một số khỏi niệm sử dụng để miờu tả hệ thống
SLR 48
3.3 Hệ thống suy diễn SLR 49
3.4 Tính đầy đủ của SLR 52
3.5 Tổng kết chương 3 52
Chương 4: Xừy dựngchương trìnhSLR 52
4.1 Tổng quan 53
4.2 Kết hợp MiniSat và Spass trong SLR 54
4.2.1 MiniSat 54
4.2.1.1 Cấu trúc file input của MiniSat 54
4.2.1.2 Cấu trúc mã nguồn của MiniSat 54
4.2.1.3 Cấu trúc dữ liệu chính trong
MiniSat 55
4.2.1.4 Những hàm chính trong MiniSat 55
4.2.1.5 Điều chỉnh MiniSat 57
4.2.2 Spass 59
4.2.2.1 Cấu trúc file input của Spass 59

4.2.2.2 Sửa đổi các cấu trúc dữ liệu quan trọng bên
Spass 61
4.2.2.3 Sửa cỏc luật suy diễn của Spass 62
4.3 Kết hợp MiniSat và Spass sau khi đó cải
tiến 63
4.3.1 Sơ đồ 63
4.3.2 Các bước thực hiện chương trình 64
4.3.3 Fomat dữ liệu 65
4.4 Kết quả thử nghiệm 66
Môi trường chạy thử nghiệm: CPU Dual Core E2140 1.66Ghz,
RAM 2Gb. 66
4.5 Tổng kết chương 4 70
Chương 5: Kết luận 71
5.1 Kết quả đạt được 72
5.2 Những mặt hạn chế 72
5.3 Hướng phỏt triển tiếp của đề tài 72
TÀI LIỆU THAM KHẢO: 73


THUẬT NGỮ, CÁC TỪ VIẾT TẮT VÀ CÁC KÍ HIỆU

Thuật ngữ Giải thích
SMT viết tắt củaSatisfiablity 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ủaSatisfiability 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ủaAutomated 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ủaDavis-Putnam-Logemann-Loveland, là phương pháp
suy diễn tự động điển hình bên SMT.
SAT viết tắtcủa Satisfiability – Tính thỏa mãn của một công thức.
UNSAT viết tắtcủa UnSatisfiability – Tính không thỏa mãn của một công
thức.
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 16




Đồ ỏ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ên logic 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.







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

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
1.1.1.1 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ực hiệ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ật Pureliteral
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ơn nhiề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ệu quả

của luật Backjump mới.
Ví dụ 2.2:

B
(Decide)
1 ║
B
(UnitPropagate)
1 2 ║
B
(Decide)
1 2 3 ║
B
(UnitPropagate)
1 2 3 4 ║
B
(Decide)
1 2 3 4 5 ║
B
(UnitPropagate)
1 2 3 4 5 ║
B
(Backtrack)
1 2 3 4 ║
Trước bước Backtrack, mệnh đề là mệnh đề xung đột: nú sai trong ngữ cảnh
1 2 3 4 5 . Đừy là một chuỗi thu được nhờ unitpropagate 2 của decision 1 , cùng
với 5 và unitpropagate của nú là .
Do đó, ta có thể thấy rằng 1 không phù hợp đi cùng 5 cũng như ta có mệnh đề kéo
theo là . Hoàn toàn tương tự, ta cũng có mệnh đề
Những mệnh đề kéo theo đó gọi là backjump clause (mệnh đề nhảy) nếu sự xuất hiện

của chúng sẽ cho phép áp dụng 1 bước unitpropagate ở mức quyết định sớm hơn. Tóm
lại, luật backjump làm việc như sau : tìm một mệnh đề backjump, quay trở 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 đề 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à .
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 28

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
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ác decision literal đã
được thêm vào backjump clause, thì luật Backjump sẽ làm việc tương tự luật Backtrack
của Cl. Chúng ta cũng chú ý rằng, trong thực tế đã được chứ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 áp dụng.
Trong hầu hết các thủ tục DPLL hiện đại, họ thường củng cố thêm tác dụng của
backjump clause bằng cách : thêm thêm chúng vào tập các mệnh đề và gọi là learned
clause (mệnh đề học được), còn được gọi là bổ đề. Cách đó được gọi là conflict - driven
learning (học trỏnh xung đột) .
Trong ví dụ 2. 2, việc học mệnh đề sẽ cho phép khi ta áp dụng luật
UnitPropagate cho bất kỳ trạng thái nào khi mà ngữ cảnh của nú bao gồm cả hai literal là
2 và 5. Do đó, chúng ta sẽ tránh được bất kể xung đột nào xảy ra do có cả 2 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 trong thự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ục hiện.
Khi một bổ đề được sinh ra nhằm hướng tới tránh những xung đột trong tương lai,
nhưng bổ đề đó lại gần như ko được thấy nữa thì nú có thể được xúa đi. Trong thự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ưỡng cho 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 :

Learn :

M║F M ║ F, C nếu

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 30

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
Bằng cách quay lui từ mệnh đề xung đột, chúng ta có thể xây dựng được đồ thị xung
đột, những node trong mệnh đề xung đột có màu xám :

Hình 2- 1: Đồ 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ức trước
(6, và 9 ) không có mũi tên đến, còn thể phủ định của các literal trong mệnh đề xung
đột không có mũi tên ra ( , 2 và ).
Để tìm backjump clause, ta chia đồ thị trên thành hai phần. Phần đầu bao gồm ít nhấ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ác literal 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.

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à , 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 đó, từ F có thể suy
ra rằng , và 6 không thể đồng thời xảy ra, hay có thể suy ra một mệnh đề mới là
. Trong trường hợp đó, nú có thể là một backjump clause, 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 và thêm 8 vào. Sau đó mệnh đề được học để lý
giải lý do xung đột khi xuất hiện 8 mà đã có 6 và .
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 32

Đồ ỏ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 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).
Định nghĩa này quan trọng là vì : chỉ những câu ở dạng ground mới có cách áp dụng
phép thế, qua hợp giải để đưa ra kết luận về tính thỏa món.
1.1.1 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 cho
logic 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ừu dạng FOL).
1.1.1.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ế
-substitution, 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ất

nhiề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ả 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ả phép thay thế, 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ệ , thì phép hội hợp giữa
chúng được định nghĩa như sau :
UNIFY( , ) = nếu = .
Ta nói hai hạng thức t
1
và t
2
là hội hợp được nếu như tồn tại một phộp thế giữa
cỏc biến của hai hạng thức.
Ví dụ 2.5: Cột một và hai là các thuộc tính hay các quan hờ, cột ba là phép hợp giải
thích hợp.

p q
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)}
Knows(John, x) Knows(x,OJ) fail


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 37

Đồ ỏn

tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
1.1.1.1 Hợp giải có thứ bậc
Trong hợp giải có một định lý rất quan trọng đó là định lý Herband – mô hình
Herbrand. Herbrand chỉ ra cách chứng minh tính thỏa mãn của logic vị từ như sau :
Định lý Herbrand : N là tập cỏc logic vị từ.
N thỏa món được N có một mô hình Herbrand .
có một mô hình Herbrand.
Trong đó 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ừ ta chỉ
cần chứng minh được tính thỏa mãn của tập mệnh đề ground thu được từ tập logic 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ứng minh
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ậpM 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 : .
 Với tập M bất kỳ, quan hệ > gọi là đầy đủ (tổng thể) trên
M nếu tồn tại một phần tử nhỏ hơn tất cả các phần tử khác
trong M treo quan hệ đó.

Ví dụ:M là tập các số tự nhiên, khi đó ta có:0 < 1< 2

<…
Với 0 là phần tử bộ nhất trong tập M.
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ừ trong
khô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’.
Hợp giải có thứ tự :
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 41

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
Với một tập các mệnh đề S, kí hiệu g(S) là tập tất cả cỏc không chứa biến của S, và
υ(S) là tập tất cả các mệnh đề chứa ít nhất một biến của S. Kí hiệu Gr(S) là tập tất cả các
thể hiện không chứa biến của S (qua các phép thế trên tập các mệnh đề chứa biến). Trong
một mệnh đề C, kí hiệu g(C) là tập các literal không chứa biến của S, và υ(C) là tập tất cả
các literal trong C bao gồm ít nhất một biến. GL(S) là tập tất cả các literal không chứa
biến của S.
Chúng ta sẽ làm việc cùng với các phép thế mệnh đề, gọi là closure. Nếu L là một
literal chứa biến và θ là một phép thế thì ta sẽ viết L∙θ thay vì viết phép thế θ của L.
Trong đó L được gọi là skeleton của closure, còn θ gọi là substitution.
1.1 Hệ thống suy diễn SLR
Sau đây là phần giới thiệu về hệ thống suy diễn tự động cho logic vị từ loại I không
chứa dấu bằng, hệ suy diễn SLR. Hệ thống này là trường hợp riêng của hệ thống
Superposition inference system SMELS.
Như ta đã biết, tập mệnh đề không chứa biến S, có mô hình là GM. GM là tập các
literal làm cho tất cả các mệnh đề trong S đúng. Mô hình tạm thời đó được gửi sang
Spass để tiếp tục hợp giải với tập mệnh đề chứa biến. Tuy nhiên GM thường không phải

là hệ quả logic của tập S, nên kết quả ta thu được là không chính xác.
Để khắc phục tình trạng đó ta sẽ đưa ra khái niệm hàm Justification. Hàm này sẽ gắn
thêm vào các literal trong mô hình tạm thời các literal đóng vai trò sinh ra nú. Khi đó ta
sẽ có được mô hình là hệ quả logic của tập mệnh đề S ban đầu.
Cho F là tập logic mệnh đề. Gọi M là 1 model của F. Khi đó mỗi literal L M ta có M
|= L . Xác định hàm justification j(L) thỏa mãn :
F j(L) |= L => F |= j(L) L
Hay j(L) L là hệ quả logic của F
Do đó mỗi literal L trong model M sẽ được thay bằng j(L) L để đưa sang
Resolution procedure.
Định nghĩa 3.1: Cho 1 tập các mệnh đề và literal không chứa biến ban đầu S. Gọi
cons(S) là tập các literal được sinh ra từ S, M là một mô hình của S. Đặt G là tập các
mệnh đề không chứa biến của S. Hàm justification :
j : cons(M) → P(M)
Được gọi là hàm justification (M,G) nếu :
L ∈ cons( G ∪ j (L) )Với tất cả các L ∈ cons(M) .
Nếu j(L) = L , thì L gọi là self-justified. Nếu tất cả các literal của cons(M) đều là self-
justified, thì j gọi là hàm self-justification.
Từ một tập các mệnh đề không chứa biến G, và một mô hình M của nú, luôn luôn có
một hàm self-justification, bởi vì M luôn luôn là hệ quả logic của M.
Ví dụ 3.1:
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 49


Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
Thuật toỏn hàm solver::search()
Hàm Clause* Solver::propagate(): làm nhiệm vụ duyệt toàn bộ các mệnh đề để tìm

các literal đưa vào mô hình sau mỗi lần thêm mức quyết định mới.
Thuật toỏn hàm solver::propagate()
void Solver: : uncheckedEnqueue(Lit p, Clause* from) : Hàm này có tác dụng quyết
định dấu của các literal trong mô hình theo hướng tìm kiếm hiện 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 56

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR
Thuật toỏn hàm solver::uncheckedEnquence()
1.1.1.1 Điều chỉnh MiniSat
Cấu trúc dữ liệu lưu trữ các jusstification của mỗi literal : vec<vec<Lit> > justify












Thuật toỏn thờm hàm justify() cho mỗi literal
Mỗi khi một literal được đưa vào mô hình hàm justification của nú sẽ được cập nhật
theo cách trên.
Khi đang chạy chương trình bên MiniSat sẽ liên tục nhận được các mệnh đề
không chứa biên bên Spass gửi sang. Do đó phải thay đổi nú để xử lý trường hợp này:

Hàm bool Solver: : addANewClause :
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 57

Đồ ỏn
tốt nghiệp đại học Đề
Đề Đề tài: Suy diễn tự động - Hệ thống suy diễn SLR

×