Sự hài lòng ràng buộc mở hoặc tương tác


17

Trước đây, tôi đã thực hiện các mô hình phối hợp sử dụng SAT và sự hài lòng ràng buộc thường xuyên như là công việc cốt lõi trong động cơ của họ. Tiếp tục công việc này, tôi muốn làm cho các mô hình trở nên tương tác hơn, và cách tốt nhất tôi thấy khi làm điều này là mở ra bộ giải hạn chế để nó không còn là hộp đen.

Do đó, tôi quan tâm đến việc tìm hiểu thêm về sự thỏa mãn ràng buộc trong đó các ràng buộc có cái mà tôi sẽ gọi là các biến , vị từhàm bên ngoài , nghĩa là ngôn ngữ ràng buộc có thể có các vị từ như chỉ có thể được thỏa mãn bằng cách tham khảo một số tác nhân bên ngoài cho bộ giải, và sau đó chỉ khi x là mặt đất. Một kịch bản trong đó điều này hữu ích là bất cứ khi nào P tương ứng với một số quy trình quyết định bên ngoài không thể được đưa vào bộ giải ràng buộc. Những người giải quyết ràng buộc như vậy có thể được gọi là mở (vì các ràng buộc không hoàn toàn được biết đến) hoặc tương tácP(x)xP (vì sự tương tác là cần thiết để tiến hành với sự hài lòng ràng buộc).

Tôi muốn biết cả hai:

  • nghiên cứu lý thuyết được thực hiện theo hướng này
  • các công cụ hoặc thư viện triển khai các bộ giải ràng buộc cho phép tương tác với thế giới bên ngoài trong quá trình giải quyết ràng buộc.

Câu trả lời:


9

Tôi không hoàn toàn bị thuyết phục bởi công việc trước đây về các ràng buộc mở và tương tác.

Một nỗ lực để nghiên cứu các câu hỏi về tính dễ điều khiển là:

  • Martin J. Green và Christopher Jefferson, Khả năng cấu trúc của các ràng buộc được tuyên truyền , CP 2008 doi: 10.1007 / 978-3-540-85958-1_25

mặc dù bài báo này không để lại một số câu hỏi lớn chưa được trả lời. Cách tiếp cận thông qua các nhà tuyên truyền trong bài viết này có liên quan chặt chẽ với việc triển khai giải quyết ràng buộc hiện có.

Tôi nghĩ rằng công việc trên SMT (lý thuyết modulo thỏa đáng) cũng liên quan chặt chẽ đến câu hỏi của bạn. Các lý thuyết SMT thường được thúc đẩy bởi các vấn đề từ xác minh phần mềm và phần cứng, nhưng vẫn tồn tại các lý thuyết có hương vị AI. Tôi mong muốn có nhiều ứng dụng được xây dựng với SMT là công nghệ cốt lõi và để làm việc nhiều hơn trong các ràng buộc áp dụng các ý tưởng từ SMT.


1
Giấy đó chắc chắn trông thú vị. Tôi chưa bao giờ nghĩ rằng người giải quyết SMT làm những gì tôi yêu cầu. Đó chắc chắn là một con đường để khám phá.
Dave Clarke

Tôi bối rối bởi bình luận cuối cùng. Người giải quyết SMT là cho logic và lý thuyết, không phải là vị ngữ cụ thể. Mọi người đều được chào đón để đóng góp các lý thuyết và điểm chuẩn mới. Tôi biết rằng các nhà phát triển MathSAT đã nghiên cứu về AI và lập kế hoạch cho các vấn đề.
Vijay D

@Vijay D: bạn nói đúng, câu này thiên vị quá mức và tôi sẽ sửa lại. Một triển khai hiệu quả của DỰ ÁN như một lý thuyết SMT đã được xuất bản vào năm 2010 bởi Banković và Marić ( argo.matf.bg.ac.rs/publications/2010/alldiff-smt2010.pdf ).
András Salamon

7

Đọc câu hỏi của bạn, tôi cũng đồng ý khi nói rằng các lý thuyết Modulo thỏa mãn có liên quan mật thiết đến nhu cầu của bạn. Tôi muốn đề nghị đọc cuốn sách Thủ tục quyết định - Quan điểm về thuật toán .


Cuốn sách Tính toán tính toán: Thủ tục quyết định với các ứng dụng để xác minh của Aaron R. Bradley và Zohar Manna có liên quan / đáng giá như thế nào? Tôi biết nơi một bản sao đó là trong khoảng cách đi bộ.
Dave Clarke

@Dave: Tuyên bố miễn trừ trách nhiệm: Trải nghiệm cá nhân của tôi về SMT chỉ mới bắt đầu ;-) Tôi vừa xem Mục lục của cuốn sách đó; dường như có một giao điểm lớn giữa nó và cái tôi đã chỉ ra. Trong phần sau, những gì bạn gọi ở đây là các hàm bên ngoài được gọi là các hàm không được giải thích và được bao quát rộng rãi. Tôi không thể tìm thấy các chức năng chưa được giải thích trong TOC của các thủ tục quyết định với các ứng dụng để xác minh ; tuy nhiên, nó có vẻ là một cuốn sách rất hay và có lẽ nó có thể hữu ích.
Giorgio Camerani

@Dave: Trong những ngày này, tôi đang đọc Thủ tục Quyết định - Quan điểm về thuật toán . Tôi chưa đạt đến chương về các hàm không giải thích được , nhưng nếu tôi không sai các công thức với các hàm không giải thích được chuyển đổi thành các công thức trong Lý thuyết về đẳng thức. Đó là trường hợp Lý thuyết về Bình đẳng được đề cập trong Quy trình Quyết định với các Ứng dụng để Xác minh (Chương 9).
Giorgio Camerani

1
Tôi nghĩ rằng Amazon đang gọi.
Dave Clarke

@Dave: OK, xuất sắc! ;-)
Giorgio Camerani


4

Tôi hơi bối rối về thuật ngữ tương tác. Tôi sẽ trò chuyện với những người khác và thêm rằng một người giải quyết SMT có thể hữu ích. Để thêm vào nhận xét của Walter Bishop, các slide cho cuốn sách Thủ tục quyết định (Kroening và Strichman) có sẵn. Sự đối xử thấu đáo của John Harrison trong Sổ tay logic thực hành và lý luận tự động cũng có thể khiến bạn quan tâm. Mã ví dụ có sẵn trực tuyến.

Công chúa của Philipp Ruemmer hỗ trợ số học với các vị từ chưa được giải thích, có thể phù hợp với những gì bạn muốn nói. Nó được viết bằng Scala, sử dụng kết hợp E trong xử lý định lượng và cung cấp nội suy.


0

Còn các công cụ thì sao, nếu bạn quyết định chọn bạn Prolog là ngôn ngữ được lựa chọn, tôi có thể đề xuất một vài cách tiếp cận thực hiện:

  • GNU Prolog với là thư viện lập trình C. Bạn có thể gọi các hàm C từ Prolog và Prolog từ C. Điều này mở ra cho bạn rất nhiều khả năng mở rộng chức năng. Pro: Gnu Prolog là một trong những trình biên dịch Prolog có sẵn miễn phí nhanh nhất. Lưu ý: Một số người phàn nàn về việc thiếu một số vị từ tích hợp ... thực sự hầu hết chúng có thể được triển khai, hãy xem các lớp tương thích Prolog @SO
  • SWI-Prolog có thư viện lập trình thú vị, bao gồm giao tiếp mạng, Hỗ trợ bộ đệm giao thức, v.v. Và khá phổ biến.
  • XSB Prolog một số người cho rằng đây là dự án thú vị nhất về khả năng tương tác - bao gồm: giao diện cơ sở dữ liệu, v.v.

Prolog là ngôn ngữ lập trình, phù hợp để thực hiện nhiều loại bộ giải (và hầu hết trong số chúng có bộ giải miền hữu hạn).

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.