Vấn đề thỏa mãn ràng buộc (CSP) so với lý thuyết modulo thỏa mãn (SMT); với một coda về lập trình ràng buộc


30

Có ai đó dám thử làm rõ mối quan hệ của các lĩnh vực nghiên cứu này hay thậm chí có thể đưa ra một câu trả lời cụ thể hơn ở cấp độ của các vấn đề? Giống như bao gồm mà giả sử một số công thức được chấp nhận rộng rãi. Nếu tôi hiểu điều này một cách chính xác, khi bạn đi từ SAT đến SMT, về cơ bản bạn đang tham gia vào lĩnh vực CSP; ngược lại, nếu bạn giới hạn CSP ở mức booleans thì về cơ bản bạn đang nói về SAT và có thể một vài vấn đề liên quan như #SAT. Tôi nghĩ điều này rất rõ ràng (ví dụ, chương Kola viêm và chương của Vardi "Cách tiếp cận hợp lý để thỏa mãn ràng buộc" trong Lý thuyết mô hình hữu hạn và các ứng dụng của nóbởi Grädel và cộng sự), nhưng điều ít rõ ràng hơn đối với tôi là khi nào các ràng buộc "modulo một lý thuyết" và khi nào thì không? Có phải SMT luôn ngụ ý lý thuyết chỉ sử dụng các ràng buộc bình đẳng và bất bình đẳng luôn nằm trong lĩnh vực CSP rộng lớn hơn? Theo như tôi có thể nói, bạn thường có thể giới thiệu các biến chùng , do đó, sự khác biệt [nếu nó tồn tại] là ít rõ ràng hơn.

"Cẩm nang về sự hài lòng" tương đối gần đây (IOP Press 2009) tập hợp cả hai vấn đề về SMT và CSP dưới cái ô "thỏa mãn" rộng rãi của nó, nhưng theo cách nó được cấu trúc (các chương được viết bởi nhiều tác giả khác nhau) không thực sự giúp tôi tìm ra điều này .

Tôi hy vọng thuật ngữ này sẽ bớt khó hiểu hơn khi bạn nói về lập trình ràng buộc , điều này (bằng cách tương tự với thuật ngữ '' lập trình toán học '') tôi hy vọng liên quan đến việc giảm thiểu / tối đa hóa một số chức năng khách quan. Bài viết Wikipedia về lập trình ràng buộc là rất mơ hồ mà tôi thực sự không thể nói nếu việc đóng khung này xảy ra mặc dù. Những gì tôi có thể thu thập được từ Lập trình ràng buộc cơ bản của Frühwirth và Abdennadher (tr. 56) là "trình giải hạn chế" thường cung cấp nhiều hơn chỉ là một trình kiểm tra thỏa đáng, với sự đơn giản hóa v.v.

Mặc dù đây hầu như không phải là một câu hỏi nghiên cứu lý thuyết CS thực tế, tôi không mong đợi câu trả lời hay cho câu hỏi này trên trang web CS.SE đại học với những gì tôi thấy tại https://cs.stackexchange.com/questions/14946/distinguish- quyết định-thủ tục-vs-smt-solver-vs-theoryem-prover-vs-ràng buộc-sol (chứa rất nhiều từ nhưng không phải là những gì tôi sẽ xem xét một câu trả lời thực sự, than ôi).


thêm vào ASP này. SMT / ASP phát triển tương đối gần đây. các lĩnh vực riêng biệt trước đây được pha trộn. xem ví dụ : Công cụ lý luận tự động lai: từ Hộp đen đến Tích hợp hộp / Balduccini, Lierler như một khảo sát gần đây.
vzn 8/2/2015

Câu trả lời:


47

SAT, CP, SMT, (phần lớn) ASP đều xử lý cùng một tập hợp các vấn đề tối ưu hóa tổ hợp. Tuy nhiên, họ gặp phải những vấn đề này từ các góc độ khác nhau và với các hộp công cụ khác nhau. Những khác biệt này phần lớn nằm ở cách mỗi cách tiếp cận cấu trúc thông tin về việc khám phá không gian tìm kiếm. Tương tự làm việc của tôi là SAT là mã máy, trong khi các ngôn ngữ khác là ngôn ngữ cấp cao hơn.

x1x2¯x3{(x1,0),(x2,1),(x3,0)}x1x3x2x1x2¯x3x4x1x2¯x3x4¯x5

Một xấp xỉ của cấu trúc mệnh đề được giữ để thu hẹp tập hợp các giải pháp và để giúp xác định xem tập hợp này có trống không. Trong quá trình tìm kiếm, một số bài tập một phần có thể không được chứa trong bất kỳ giải pháp nào (ngay cả khi chúng thỏa mãn riêng từng ràng buộc trong ví dụ). Chúng được gọi là nogoods , một thuật ngữ được giới thiệu bởi ("Mr GNU") Stallman và Sussmanx5x=5. Do đó, không có một cấu trúc mệnh đề chung duy nhất mà là một cấu trúc liên kết với mỗi lựa chọn đại diện, tùy thuộc vào những gì các singletons (nghĩa đen) của cấu trúc mệnh đề đại diện.

Theo truyền thống, lập trình ràng buộc (CP) là một môn học AI, tập trung vào các vấn đề về lập lịch, thời gian biểu và tổ hợp, và do đó có vai trò trung tâm đối với các biến có thể mất nhiều hơn hai giá trị (nhưng thường chỉ có nhiều giá trị). CP đã nhấn mạnh tìm kiếm hiệu quả và, được thúc đẩy bởi các ứng dụng truyền thống, đã đóng một vai trò trung tâm cho các all-differentràng buộc (tính tiêm truyền), nhưng cũng đã phát triển các công cụ truyền bá hiệu quả cho nhiều loại ràng buộc khác. Các định nghĩa chính thức về CP đã xuất hiện từ ít nhất là các hạn chế về giấy tờ năm 1974 của Montanari, với tiền chất trở lại thậm chí sớm hơn. Trọng lượng của lịch sử này có thể đã góp phần khiến CP tụt hậu so với các cách tiếp cận khác trong hoạt động thô trong thập kỷ qua. CP duy trì một cách gần đúng phần bù của cấu trúc mệnh đề, thông qua một tập hợp các miền hoạt động cho các biến. Mục đích là để loại bỏ các giá trị khỏi các miền hoạt động, khám phá cấu trúc mệnh đề bằng cách cố gắng gán các giá trị ứng cử viên cho các biến và quay lui khi cần thiết.

Các lý thuyết modulo thỏa mãn (SMT) ra đời từ cộng đồng xác minh. Mỗi lý thuyết trong một bộ giải SMT tạo thành một đại diện ngầm cho vô số các mệnh đề SAT. Các lý thuyết được sử dụng với SMT và các ràng buộc được sử dụng trong CP phản ánh các ứng dụng lịch sử khác nhau của chúng. Hầu hết các lý thuyết mà SMT xem xét phải thực hiện với các mảng được lập chỉ mục số nguyên, các trường đóng thực, các lệnh tuyến tính và tương tự; những điều này phát sinh từ phân tích tĩnh các chương trình (trong xác minh hỗ trợ máy tính) hoặc khi chính thức hóa bằng chứng toán học (trong lý luận tự động). Ngược lại, trong thời gian biểu và lập lịch trình, ràng buộc tiêm nhiễm là trung tâm, và mặc dù ngôn ngữ SMTLIB tiêu chuẩn đã có một ràng buộc tiêm nhiễm kể từ khi thành lập năm 2003 (thông quadistinctbiểu tượng), cho đến năm 2010, bộ giải SMT chỉ được thực hiện distinctthông qua thuật toán ngây thơ. Ở giai đoạn đó, kỹ thuật đối sánh từ bộ truyền CP tiêu chuẩn all-differentđã được chuyển qua, mang lại hiệu quả lớn khi áp dụng cho các danh sách lớn các biến; xem Một người giải quyết ràng buộc khác nhau trong SMT của Banković và Marić, SMT 2010. Hơn nữa, hầu hết các nhà tuyên truyền CP được thiết kế cho các vấn đề với các miền hữu hạn, trong khi các lý thuyết tiêu chuẩn của SMT xử lý các miền vô hạn (số nguyên và gần đây là thực tế). SMT sử dụng một ví dụ SAT làm gần đúng cấu trúc mệnh đề, trích ra các mệnh đề không chính xác từ các lý thuyết khi thích hợp. Một tổng quan đẹp là Lý thuyết Modulo thỏa mãn: Giới thiệu và ứng dụng của De Moura và Bjørner, doi: 10.1145 / 1995376.1995394.

Lập trình câu trả lời (ASP) ra khỏi lập trình logic. Do tập trung vào giải quyết vấn đề chung hơn là tìm kiếm một mô hình ổn định, và cũng vì nó cho phép định lượng phổ quát cũng như hiện sinh, nên trong nhiều năm, ASP không cạnh tranh được với CP hay SMT.

Về mặt hình thức, SAT là CSP trên các lĩnh vực Boolean, nhưng trọng tâm của SAT về học tập mệnh đề, phương pháp phỏng đoán tốt để phát hiện xung đột và cách nhanh chóng để quay lại khá khác biệt so với CSP truyền thống tập trung vào người tuyên truyền, thiết lập tính nhất quán và phương pháp phỏng đoán để đặt hàng thay đổi. SAT thường cực kỳ hiệu quả, nhưng đối với nhiều vấn đề, cần có nỗ lực rất lớn để thể hiện vấn đề trước tiên như một ví dụ SAT. Sử dụng mô hình cấp độ cao hơn như CP có thể cho phép diễn đạt vấn đề một cách tự nhiên hơn, và sau đó, ví dụ CP có thể được dịch sang SAT bằng tay hoặc một công cụ có thể đảm nhiệm việc dịch thuật. Một tổng quan đẹp về các loại hạt và bu lông của SAT là về các bộ giải thỏa mãn học tập theo mệnh đề hiện đại của Pipatsrisawat và Darwiche, doi: 10.1007 / s10817-009-9156-3 .

Bây giờ chúng ta hãy chuyển từ tổng quát để cụ thể ngày nay.

Trong thập kỷ qua, một số người trong CP đã bắt đầu tập trung vào thế hệ mệnh đề lười biếng (LCG). Đây thực chất là một cách để kết hợp các bộ truyền CP với nhau bằng cách sử dụng các kỹ thuật giống như linh hoạt hơn của SMT thay vì trừu tượng hóa các miền hoạt động khá cứng nhắc. Điều này rất hữu ích vì có một lịch sử lâu dài của các nhà tuyên truyền CP được công bố để đại diện và giải quyết hiệu quả nhiều loại vấn đề. (Tất nhiên, một hiệu ứng tương tự sẽ đạt được bằng nỗ lực phối hợp để thực hiện các lý thuyết mới cho người giải quyết SMT.) LCG có hiệu suất thường cạnh tranh với SMT, và đối với một số vấn đề có thể vượt trội. Một cái nhìn tổng quan nhanh là bài viết Tạo điều khoản lười biếng CPAIOR 2010 của Stuckey : Kết hợp sức mạnh của SAT và CP (và MIP?) , Doi: 10.1007 / 978-3-642-13520-0_3. Cũng đáng đọc tài liệu về vị trí của Garcia de la Banda, Stuckey, Van Hentenryck và Wallace, trong đó vẽ ra một tầm nhìn trung tâm CP về Tương lai của Công nghệ Tối ưu hóa , doi: 10.1007 / s10601-013-9149-z .

Theo như tôi có thể nói, phần lớn trọng tâm của nghiên cứu gần đây của SMT dường như đã chuyển sang các ứng dụng trong các phương pháp chính thức và toán học chính thức. Một ví dụ là xây dựng lại các bằng chứng được tìm thấy bởi những người giải quyết SMT bên trong các hệ thống bằng chứng như Isabelle / HOL, bằng cách xây dựng các chiến thuật của Isabelle / HOL để phản ánh các quy tắc suy luận trong dấu vết bằng chứng của SMT; xem Tái tạo bằng chứng kiểu LCF nhanh cho Z3 của Böhmer và Weber tại ITP 2010.

Các bộ giải ASP hàng đầu trong vài năm qua đã được phát triển để cạnh tranh với các bộ giải chỉ có CP, SMT và SAT. Tôi chỉ quen thuộc một cách mơ hồ với các chi tiết triển khai đã cho phép những người giải quyết như claspcó khả năng cạnh tranh nên không thể thực sự so sánh những điều này với SMT và CP, nhưng clasp quảng cáo rõ ràng sự tập trung của nó vào việc học các nogoods.

Vượt qua ranh giới truyền thống giữa các chủ nghĩa hình thức này là dịch từ các biểu diễn vấn đề trừu tượng hơn sang các hình thức chính thức có thể thực hiện ở mức độ thấp hơn. Một số bộ giải ASP và CP hàng đầu hiện nay đã dịch rõ ràng đầu vào của chúng thành một thể hiện SAT, sau đó được giải quyết bằng cách sử dụng bộ giải SAT ngoài luồng. Trong CP, trợ lý mô hình ràng buộc Savile Row sử dụng các kỹ thuật thiết kế trình biên dịch để dịch các vấn đề được thể hiện bằng bản chất ngôn ngữ trung bình 'sang dạng hình thức cấp thấp hơn, phù hợp để nhập vào các bộ giải CP như Minion hoặc MiniZinc . Savile Row ban đầu làm việc với đại diện CP là chủ nghĩa hình thức cấp thấp nhưng đã giới thiệu SAT như một mục tiêu trong phiên bản 1.6.2. Hơn nữa, Tinh hoa ngôn ngữ cấp cao hơnbây giờ có thể được tự động dịch sang Tinh hoa 'bằng công cụ Conjure . Đồng thời, những người giải quyết SAT chỉ ở mức độ thấp như Lingeling tiếp tục được cải tiến mỗi năm, gần đây nhất là bằng cách xen kẽ các giai đoạn học tập và xử lý; xem tổng quan ngắn gọn Những gì hấp dẫn trong các cuộc thi SAT và ASP của Heule và Schaub trong AAAI 2015.

Sự tương đồng với lịch sử của các ngôn ngữ lập trình do đó có vẻ phù hợp. SAT đang trở thành một loại "mã máy", nhắm đến một mô hình khám phá các mệnh đề cấp thấp trong cấu trúc mệnh đề. Các mô hình trừu tượng đang trở nên giống như các ngôn ngữ máy tính cấp cao hơn, với các phương pháp và ứng dụng riêng biệt của chúng, chúng rất giỏi trong việc giải quyết. Cuối cùng, bộ sưu tập liên kết ngày càng dày đặc giữa các lớp khác nhau này đang bắt đầu giống với hệ sinh thái tối ưu hóa trình biên dịch.


Tks cho câu trả lời rất hữu ích này.
Xavier Labouze 21/07/2015

2
Lưu ý: trong cộng đồng FOCS / STOC, định nghĩa hẹp hơn về CSP được sử dụng. Các CSP này có dạng CSP (L), "tất cả các trường hợp CSP có thể được thể hiện bằng cách sử dụng một tập hợp L quan hệ ràng buộc cố định". Các ràng buộc hoàn toàn khác nhau không phù hợp với khung này, cũng như các vấn đề có cấu trúc giống như cây.
András Salamon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.