Các kỹ thuật SAT solving (tóm tắt trích đoạn)

24 210 0
Các kỹ thuật SAT solving (tóm tắt  trích đoạn)

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG THỊ NHƢ HOA CÁC KỸ THUẬT SAT SOLVING LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG THỊ NHƢ HOA CÁC KỸ THUẬT SAT SOLVING Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TÔ VĂN KHÁNH Hà Nội - 2016 LỜI CẢM ƠN Luận văn Thạc sĩ đƣợc thực Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội dƣới hƣớng dẫn TS Tô Văn Khánh Xin đƣợc gửi lời cảm ơn sâu sắc đến Thầy định hƣớng khoa học, liên tục quan tâm, tạo điều kiện thuận lợi suốt trình nghiên cứu hoàn thành luận văn Tôi xin đƣợc gửi lời cảm ơn đến thầy, cô Bộ môn Công nghệ phần mềm nhƣ Khoa Công nghệ Thông tin mang lại cho kiến thức vô quý giá bổ ích trình theo học trƣờng Tôi xin chân thành cảm ơn đến gia đình, bạn bè quan tâm động viên giúp có thêm nghị lực, cố gắng để hoàn thành luận văn Do thời gian kiến thức có hạn nên luận văn chắn không tránh khỏi thiếu sót định Tôi mong nhận đƣợc góp ý quý báu thầy cô, đồng nghiệp bạn bè Hà Nội, tháng 12 năm 2016 Học viên Đặng Thị Nhƣ Hoa LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Các kỹ thuật SAT Solving” công trình nghiên cứu cá nhân dƣới hƣớng dẫn TS Tô Văn Khánh, trung thực không chép tác giả khác Trong toàn nội dung nghiên cứu luận văn, vấn đề đƣợc trình bày tìm hiểu nghiên cứu cá nhân đƣợc trích dẫn từ nguồn tài liệu có ghi tham khảo rõ ràng, hợp pháp Tôi xin chịu trách nhiệm cho lời cam đoan Hà Nội, tháng 12 năm 2016 Học viên Đặng Thị Nhƣ Hoa TÓM TẮT SAT Solving toán chứng minh thỏa mãn (SAT / UNSAT) công thức Lôgic mệnh đề (Propositional Lôgic) công cụ tự động SAT Solver đóng vai trò giải công thức Ngày SAT Solver đóng vai trò công cụ cho SMT (SAT Module Theories) Solver, công cụ tự động chứng minh thỏa mãn hay không thỏa mãn (SAT/UNSAT) công thức lôgic lý thuyết vị từ cấp I (FOL I) Các nghiên cứu SMT Solver chủ đề có tính thời sự, SMT Solver đƣợc ứng dụng toán kiểm chứng, kiểm thử chƣơng trình Bài toán SAT toán có độ phức NP kỹ thuật SAT Solving đƣợc nghiên cứu, phát triển lâu Tuy nhiên, phát triển mạnh mẽ SAT solver năm gần thông qua thi SAT Competition tổ chức hàng năm cho thấy nhiều kỹ thuật cải tiến cài đặt SAT solver đƣợc tiến hành thực nghiêm Ngày SAT solver có khả giải công thức lên đến hàng triệu biến với hàng trăm ngàn mệnh đề Luận văn sâu tìm hiểu kỹ thuật bản, thuật toán đƣợc cài đặt SAT solver, đồng thời đƣa ví dụ minh họa cụ thể nhằm làm rõ cách thức hoạt động Các kỹ thuật đƣợc cài đặt SAT solver phổ biến MiniSAT, SAT solver mã nguồn mở mà nhiều SAT solver mạnh giới đƣợc mở rộng cải tiến từ SAT Solver Bên cạnh đó, luận văn tìm hiểu kĩ thuật tiên tiến đƣợc cài đặt SAT Solver mạnh GlueMinisat, Glucose Luận văn tiến hành chạy thực nghiệm so sánh SAT solver liệu thực nghiệm chuẩn (từ thi SAT competition) để thấy rõ tính hiệu quả, tính nhanh nhạy kỹ thuật tiên tiến đƣợc sử dụng Nội dung luận văn đƣợc chia thành chƣơng nhƣ sau: - Chƣơng đƣợc giới thiệu vấn đề nhƣ Lôgic mệnh đề, toán SAT, SAT Solver ứng dụng phƣơng pháp SAT Encoding - Chƣơng trình kỹ thuật SAT solving bao gồm thủ tục DPLL, kỹ thuật áp dụng DPLL nhƣ: CDCL, Back Jumping, Watched literals, Clause Elimination - Chƣơng trình bày kỹ thuật SAT Solving tiên tiến nay, kỹ thuật đƣợc cài đặt SAT solver mạnh giới nhƣ GlueMinisat, Glucose - Chƣơng tiến hành thực nghiệm so sánh đánh giá SAT Solver liệu chuẩn thi SAT competition hàng năm MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN TÓM TẮT BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ CHƢƠNG GIỚI THIỆU .1 1.1 Bài toán SAT 1.2 Lôgic mệnh đề 1.2.1 Công thức Lôgic mệnh đề 1.2.2 Chuẩn tắc hội CNF 1.3 SAT Solver 1.4 Phƣơng pháp SAT Encoding 1.4.1 Trò chơi Hitori .5 1.4.2 Trò chơi Sodoku 1.4.3 Trò chơi Slitherlink .8 1.5 Một số ứng dụng khác SAT 12 CHƢƠNG CÁC KỸ THUẬT SAT SOLVING CƠ BẢNError! Bookmark not defined 2.1 Thủ tục DPLL truyền thống Error! Bookmark not defined 2.1.1 Một số khái niệm Error! Bookmark not defined 2.1.2 Các luật thủ tục DPLL Error! Bookmark not defined 2.2 Thủ tục DPLL đại Error! Bookmark not defined 2.2.1 Backjumping Error! Bookmark not defined 2.2.2 Learn Forget Error! Bookmark not defined 2.2.3 Mệnh đề Backjump Error! Bookmark not defined 2.3 Thuật toán CDCL Error! Bookmark not defined 2.3.1 Nội dung CDCL Error! Bookmark not defined 2.3.2 Giải thuật CDCL Error! Bookmark not defined 2.3.3 Suy diễn mệnh đề mức quay lui Error! Bookmark not defined 2.3.4 Biểu đồ kéo theo Error! Bookmark not defined 2.3.5 Học từ mệnh đề xung đột Error! Bookmark not defined 2.4 Kỹ thuật Two -Watched literals Error! Bookmark not defined 2.4.1 Watched literal Error! Bookmark not defined 2.4.2 Two- Watched literal Error! Bookmark not defined 2.5 Giải pháp loại bỏ biến loại bỏ mệnh đề Error! Bookmark not defined 2.5.1 Loại bỏ biến Error! Bookmark not defined 2.5.2 Loại bỏ mệnh đề Error! Bookmark not defined CHƢƠNG CÁC KỸ THUẬT SAT SOLVING TIÊN TIẾN HIỆN NAY Error! Bookmark not defined 3.1 GlueMiniSat Error! Bookmark not defined 3.1.1 Giới thiệu Error! Bookmark not defined 3.1.2 Tiêu chí đánh giá Learn Clause Error! Bookmark not defined 3.1.3 Chiến lƣợc tự khởi động lại Error! Bookmark not defined 3.2 Glucose Error! Bookmark not defined 3.2.1 Quản lý mệnh đề học Error! Bookmark not defined 3.2.2 Khởi động lại Error! Bookmark not defined CHƢƠNG THỰC NGHIỆM Error! Bookmark not defined 4.1 Giới thiệu MiniSat Error! Bookmark not defined 4.2 Giao diện lập trình ứng dụng Error! Bookmark not defined 4.3 Tổng quan Minisat Error! Bookmark not defined 4.4 Thực nghiệm Error! Bookmark not defined 4.4.1 Biên dịch Minisat Error! Bookmark not defined 4.4.2 Biên dịch GlueMinisat Error! Bookmark not defined 4.4.3 Biên dịch Glucose Error! Bookmark not defined 4.4.4 Bộ liệu thực nghiệm Error! Bookmark not defined 4.4.5 Thực nghiệm Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 13 BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT STT Thuật ngữ Từ viết tắt / Diễn giải SAT Satisfiability UNSAT Unsatisfiability SAT Solver Một công cụ chứng minh tự động công thức Lôgic mệnh đề CNF Conjunctive Normal Form BCP Boolean Constraint Propagation DPLL Davis–Putnam–Logemann–Loveland CDCL Conflict Driven Clause Learning UIP Unique Implication Point LBD Literal Blocks Distance DANH MỤC CÁC BẢNG BIỂU Bảng 4.1: Kết thực nghiệm Minisat, Glueminisat, Glucose Slitherlink Error! Bookmark not defined Bảng 4.2: Kết thực nghiệm Minisat, Glueminisat, Glucose Aprove 09 Error! Bookmark not defined DANH MỤC CÁC HÌNH VẼ Hình 1.1: Trò chơi Logic Hitori Hình 1.2: Trò chơi Logic Sodoku lời giải .7 Hình 1.3: Trò chơi Logic Slitherlink lời giải Hình 1.4: Mã hóa Luật trò chơi Slitherlink Hình 1.5: Mã hóa Luật Slitherlink 10 Hình 2.1: Đồ thị xung đột để tìm backjump clause Error! Bookmark not defined Hình 2.2: Một phần đồ thị suy diễn định mức 6, thỏa mãn mệnh đề ví dụ, sau định x1=1(trái) Đồ thị tƣơng tự sau học đƣợc xung đột từ mệnh đề C9 = (x5 V ⌐x1) quay trở lại mức định 3(phải) Error! Bookmark not defined Hình 2.3: Ví dụ đồ thị xung đột với UIPs Error! Bookmark not defined Hình 2.4: Đồ thị suy diễn ví dụ 2.7 UIP x4 tƣơng ứng với c ác khẳng định literal ⌐x4 Error! Bookmark not defined Hình 2.5: Quá trình minh họa sử dụng Binary Resolution để đƣa mệnh đề Backjump Clause Error! Bookmark not defined Hình 2.6: Ví dụ biểu đồ kéo theo Error! Bookmark not defined Hình 2.7: Xây dựng biểu đồ kéo theo Error! Bookmark not defined Hình 2.8: Xác định mệnh đề xung đột Error! Bookmark not defined Hình 2.9: Tìm kiếm biến suy diễn lần Error! Bookmark not defined Hình 2.10: Tìm kiếm biến suy diễn lần Error! Bookmark not defined Hình 2.11: Tìm kiếm suy diễn lần Error! Bookmark not defined Hình 2.12: Tìm kiếm biến suy diễn lần Error! Bookmark not defined Hình 2.13: Kết luận mệnh đề học đƣợc trả mức định backtrack .Error! Bookmark not defined Hình 2.14: BCP sử dụng watched literals Error! Bookmark not defined Hình 1: Giao diện ứng dụng Minisat Error! Bookmark not defined Hình 4.2: Kết thực nghiệm Slithelink Error! Bookmark not defined Hình 4.3: Kết thực nghiệm thời gian chạy Aprove09 Error! Bookmark not defined 1 CHƢƠNG GIỚI THIỆU 1.1 Bài toán SAT Bài toán SAT toán khoa học máy tính nhằm kiểm tra tính thỏa mãn (SAT - Satisfiability) hay không thỏa mãn (UNSAT – Unsatisfiability) công thức Lôgic mệnh đề Bài toán SAT toán đƣợc chứng minh thuộc lớp NP đầy đủ (NP - Complete), toán khác muốn chứng minh thuộc lớp NP – đầy đủ giản lƣợc vấn đề toán SAT Một công thức Lôgic mệnh đề SAT tồn giá trị true false biến Lôgic mệnh đề làm cho công thức nhận giá trị true Ngƣợc lại công thức UNSAT giá trị true false biến Lôgic mệnh đề làm cho công thức có giá trị false Ví dụ 1.1: Ví dụ công thức SAT: Cho công thức Lôgic mệnh đề: F = (x ∨ x2 ∨ x3) ∧ (¬x1 ∨ x2 ∨ x3 ) x1, x2, x3 biến Lôgic mệnh đề Công thức F SAT với giá trị x1 = true, x2 = false x3 = true F cho kết true Ví dụ 1.2: Ví dụ công thức UNSAT: Cho công thức Lôgic mệnh đề: F = (¬x 1∨ x1 ∨ ¬x2) ∧ (x1 ∨¬ x3) ∧ (x1 ∨ x2) x1, x2, x3 biến Lôgic mệnh đề Công thức F UNSAT với giá trị F cho kết false 1.2 Lôgic mệnh đề Đầu vào toán SAT công thức Lôgic mệnh đề thƣờng đƣợc biểu diễn dƣới dạng chuẩn tắc hội (CNF) chuẩn tắc tuyển (DNF) Dƣới định nghĩa công thức Lôgic mệnh đề dạng chuẩn tắc tƣơng ứng 1.2.1 Công thức Lôgic mệnh đề Một công thức Lôgic mệnh đề đƣợc xây dựng từ biến phép toán lôgic bao gồm: AND (phép hội), OR (phép tuyển), NOT (phủ định), IMPLICATION (phép kéo theo) Dƣới khái niệm [1]: a Mệnh đề Định nghĩa: Mỗi câu phát biểu hay sai gọi mệnh đề Kí hiệu: P, Q, R Các phép toán mệnh đề bao gồm:  Phép phủ định (  )  Phép tuyển (  )  Phép hội (  )  Phép XOR (  )  Phép kéo theo (  )  Phép tƣơng đƣơng (  ) [18] b Phép phủ định Cho P mệnh đề, câu “không phải P” mệnh đề khác đƣợc gọi phủ định mệnh đề P Kí hiệu:  P Ví dụ: P ≡ 2N (¬Xij1 ˅ ¬Xij2) ∧ (¬Xij1 ˅ ¬Xij3) ∧… ∧ (¬Xij1 ˅ ¬XijN) Luật 2: Mỗi số xuất lần hàng  Mỗi số xuất lần hàng: Xi1k v Xi2k v Xi3k v … v XiNk  Mỗi số xuất nhiều lần hàng: (¬Xi1k ˅ ¬Xi2k ) ∧ (¬Xi1k ˅ ¬Xi3k ) ∧… ∧ (¬Xi1k ˅ ¬XiNk ) Luật 3: Mỗi số xuất lần cột  Mỗi số xuất lần cột: X1jk v X2jk v X3jk v … v XNjk  Mỗi số xuất nhiều lần cột (¬X1jk ˅ ¬X2jk ) ∧ (¬X1jk ˅ ¬X3jk ) ∧… ∧ (¬X1jk ˅ ¬XNjk ) Luật 4: Mỗi số xuất lần hộp  Mỗi số xuất lần hộp: X11k v X12k v X13k v … v X33k  Mỗi số xuất nhiều lần hộp: (¬X11k ˅ ¬X12k) ∧ (¬X11k ˅ ¬X13k ) ∧… ∧ (¬X11k ˅ ¬X33k) Encoding ô đƣợc điền sẵn ma trận đầu vào Sudoku: Xijk 1.4.3 Trò chơi Slitherlink a Giới thiệu trò chơi Slitherlink trò chơi trí tuệ đƣợc đƣa Nikoli [11] Slitherlink đƣợc chơi bảng chữ nhật, đƣợc chia thành ô vuông 1x1 Mỗi ô vuông có số nguyên từ đến 4, ô trống Nhiệm vụ ngƣời chơi nối điểm (là góc hình vuông 1x1) thành đƣờng khép kín, cho số đƣợc ghi ô vuông số cạnh ô vuông mà có đƣờng đi qua Các ô trống có số cạnh đƣợc vẽ tùy ý Lời giải toán Slitherlink phải thỏa mãn luật sau:  Luật 1: Số cạnh bao quanh ô vuông phải giá trị ô  Luật 2: Các cạnh phải tạo thành đƣờng khép kín Hình 1.3: Trò chơi Logic Slitherlink lời giải [11] b SAT Encoding  Mã hóa cạnh:[15] Bài toán kích thƣớc m x n, cạnh ô (i,j) là:  Cạnh bên trái ô (i,j): L(i,j) = i * (2 * n + 1) + n + j +  Cạnh bên phải ô (i,j): R(i,j) = L(i,j) +  Cạnh bên ô (i,j): U(i,j) = i * (2 * n + 1) + j +  Cạnh bên dƣới ô (i,j): D(i,j) = U(i,j) + * n +  Mã hóa Luật 1: Số cạnh bao quanh ô vuông giá trị ô Gọi e 1, e2 , e3, e4 cạnh bao quanh ô vuông nhƣ hình sau: Hình 1.4: Mã hóa Luật trò chơi Slitherlink  Nếu giá trị ô  Không có cạnh vẽ Luật L10 = ⌐e ^ ⌐e ^ ⌐e ^ ⌐e  Nếu giá trị ô  Chỉ có cạnh vẽ 10 Luật L11 = A ^ B ^ C ^ D ^ E đó: A: cạnh đƣợc vẽ B: Nếu cạnh đƣợc vẽ cạnh 2, 3, không đƣợc vẽ C: Nếu cạnh đƣợc vẽ cạnh 1, 3, không đƣợc vẽ D: Nếu cạnh đƣợc vẽ cạnh 1, 2, không đƣợc vẽ E: Nếu cạnh đƣợc vẽ cạnh 1, 2, không đƣợc vẽ L11 = (e v e2 v e3 v e4) ^ (⌐e v ⌐e 2) ^ (⌐e1 v ⌐e 3) ^ (⌐e v ⌐e 4) ^ (⌐e v ⌐e 3) ^ (⌐e v ⌐e 4) ^ (⌐e v ⌐e 4)  Nếu giá trị ô  Chỉ có cạnh vẽ: Luật L12 = (e v e2 v e3) ^ (e v e2 v e4) ^ (e v e3 v e4) ^ (e v e3 v e4) ^ (⌐e v ⌐e v ⌐e ) ^ (⌐e v ⌐e v ⌐e ) ^ (⌐e v ⌐e v ⌐e ) ^ (⌐e v ⌐e v ⌐e )  Nếu giá trị ô  Có cạnh vẽ: Luật L13 = A ^ B ^ C ^ D ^ E đó: A: cạnh không đƣợc vẽ B: Nếu cạnh không đƣợc vẽ cạnh 2, 3, đƣợc vẽ C: Nếu cạnh không đƣợc vẽ cạnh 1, 3, đƣợc vẽ D: Nếu cạnh không đƣợc vẽ cạnh 1, 2, đƣợc vẽ E: Nếu cạnh không đƣợc vẽ cạnh 1, 2, đƣợc vẽ L13 = (⌐e v ⌐e v ⌐e v ⌐e 4) ^ (e v e2) ^ (e v e3 ) ^ (e v e4) ^ (e v e3) ^ (e2 v e4) ^ (e v e4)  Nếu giá trị ô 4: Tất cạnh vẽ: Luật L14 = e ^ e2 ^ e3 ^ e4  Mã hóa Luật 2: Hình 1.5: Mã hóa Luật Slitherlink 11  Không phân nhánh, không vƣợt qua  Mã hóa: Số cạnh nối tới đỉnh  Có trƣờng hợp: o Ở đỉnh góc: Chỉ có cạnh nối tới đỉnh Gọi cạnh e 1, e2 Luật L21 = (e  e2) ^ (⌐e  ⌐e2) = (⌐e v e2) ^ (e v ⌐e 2) o Các đỉnh lại biên: Có cạnh nối tới đỉnh Gọi cạnh e 1, e2, e3 Luật L22 = A ^ B ^ C đó: A: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ cạnh không đƣợc vẽ B: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ cạnh không đƣợc vẽ C: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ cạnh không đƣợc vẽ L22 = (⌐e v ⌐e v ⌐e 3) ^ (⌐e v e2 v e3) ^ (e v ⌐e v e3) ^ (e v e2 v ⌐e ) o Các đỉnh trong: Có cạnh nối tới đỉnh Gọi cạnh e 1, e2, e3, e4 Luật L23 = A ^ B ^ C ^ D ^ E ^ F đó: A: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ B: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ C: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ D: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ E: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ 12 F: Nếu cạnh đƣợc vẽ cạnh không đƣợc vẽ Nếu cạnh không đƣợc vẽ cạnh đƣợc vẽ cạnh không đƣợc vẽ L23 = (⌐e v ⌐e v ⌐e 3) ^ (⌐e v ⌐e v ⌐e 4) ^ (⌐e v ⌐e v ⌐e4) ^ (⌐e v ⌐e3 v ⌐e4) ^ (e v e2 v e3 v ⌐e 4) ^ (e v e2 v ⌐e v e4) ^ (e v e2 v ⌐e 3v e4) ^ (e v ⌐e2 v e3 v e4) ^ (⌐e v e2 v e3 v e4 ) 1.5 Một số ứng dụng khác SAT Ngoài ứng dụng SAT Encoding, SAT đƣợc dùng nhiều lĩnh vực công nghệ thông tin Có thể điểm qua số lĩnh vực tiêu biểu nhƣ: Trong phƣơng pháp hình thức SAT đƣợc dùng để kiểm thử mô hình phần cứng, kiểm thử mô hình phần mềm hay sinh mẫu kiểm tra Trong lĩnh vực trí tuệ nhân tạo, SAT đƣợc sử dụng cho toán lập kế hoạch, Bài toán giới thiệu tri thức, trò chơi trí tuệ Trong lĩnh vực thiết kế tự động SAT đƣợc dùng để: kiểm thử tƣơng đƣơng, tính toán độ trễ, phát lỗi, 13 TÀI LIỆU THAM KHẢO [1] Armin, Biere (2012), Understanding Modern SAT Solvers, Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria [2] Armin Biere and Andreas Frohlich(2015), Evaluating CDCL Restart Schemes [3] Daniel Kroening, Ofer Strichman (2008), Decision Procedures for Propositional Logic, Springer Berlin Heidelberg, Germany pp 25-57 [4] Gander(2006), M : Hitori solver Bachelor, http://homepage uibk ac.at/~csae1761/hitori/website/res/MGCH pdf [5] Gilles Audemard and Laurent Simon (2009), Predicting learnt clauses quality in modern SAT solvers In Proceedingsof IJCAI-2009, pages 399–404 [6] Gilles Audemard – Laurent Simon (2012), GLUCOSE 2.1, [7] Glueminisat, http://glueminisat.nabelab.org/ [8] Glucose http://www.labri.fr/perso/lsimon/glucose/ [9] Hidetomo NABESHIMA, Koji IWANUMA, Katsumi INOUE, Glueminisat2.2.5 [10] Hitori puzzle, http://nikoli com/en/puzzle/hitori [11] Jakob Nordström(2011), Current Research in Proof Complexity: Problem Set http://www.csc.kth.se/~jakobn/teaching/proofcplx11/ [12] Joao Marques-Silva, Ines Lynce and Sharad Malik (2009), Handbook of Satisfiability, IOS Press, pp.131-153 [13] JP Marques-Silva, Karem A Sakallah (1999), GRASP: A Search Algorithm for Propositional Satisfiability, IEEE Trans Computers, pp.506-521 [14] Lynce, I., Ouaknine, J, : Sudoku as a sat problem(2006), In: In Proc of the Ninth International Symposium on Artificial Intelligence and Mathematics, Springer [15] Nina Narodyska(2011), Introduction to Satisfiability Solving, Based on slides by Fahiem Bacchus, Niklas Een, Marijen Heule, Lintao Zhang, Toby Walsh [16] Matthew W Moskewicz , Conor F Madigan , Ying Zhao , Lintao Zhang , Sharad Malik (2001), Chaff: Engineering an Efficient SAT Solver, Proceedings of the 38th annual Design Automation Conference, pp.530-535 [17] Marcelo Finger (n.d.), SAT Solvers A Brief Introduction, Instituto de Matemática e Estatística Universidade de São Paulo [18] Michael Genesereth (), Introduction to logic, Stanford University,chapter two, 14 [19] Minisat, http://minisat.se/ [20] Niklas Een and Armin Biere (2005), Effective preprocessing in SAT through variable and clause elimination, Proceedings of the 8th international conference on Theory and Applications of Satisfiability Testing, pp.61 -75 [21] Pfeiffer, U., Karnagel, T., Scheffler, G (2013), A sudoku-solver for large puzzles using sat In Voronkov, A., Sutcliffe, G., Baaz, M., Fermüller, C., eds.: LPAR-17short Volume 13 of EPiC Series., EasyChair pp.52 - 57 [22] RJ Bayardo Jr, RC Schrag, Using CSP look-back techniques to solve real world SAT instances (1997), Proc AAAI, pp 203–208, [23] Robert Nieuwenhuis, Albert Oliveras and Cesare Tinelli (n.d.), Solving SAT and Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T) Technical University of Catalonia, Barcelona And The University of Iowa, Iowa City [24] SAT Benchmark Aprove09, http://www.cril.univ-artois.fr/SAT09/bench/appli.7z [25] SAT Benchmark Slithelink, http://www.mediafire.com/file/7h29i4oevf6i0lv/Input+Slithelink.rar [26] Sorensson, Niklas Eén and Niklas Sörensson (n.d.), An extensible SAT solver, Chalmers University of Technology, Sweden [27] The international SAT Competitions web page, http://www.satcompetition.org/ ... trình kỹ thuật SAT solving bao gồm thủ tục DPLL, kỹ thuật áp dụng DPLL nhƣ: CDCL, Back Jumping, Watched literals, Clause Elimination - Chƣơng trình bày kỹ thuật SAT Solving tiên tiến nay, kỹ thuật. .. defined TÀI LIỆU THAM KHẢO 13 BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT STT Thuật ngữ Từ viết tắt / Diễn giải SAT Satisfiability UNSAT Unsatisfiability SAT Solver Một công cụ chứng minh tự động... kỹ thuật SAT Solving đƣợc nghiên cứu, phát triển lâu Tuy nhiên, phát triển mạnh mẽ SAT solver năm gần thông qua thi SAT Competition tổ chức hàng năm cho thấy nhiều kỹ thuật cải tiến cài đặt SAT

Ngày đăng: 10/05/2017, 10:23

Từ khóa liên quan

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

Tài liệu liên quan