Tài liệu tham khảo tốt về các phương pháp gần đúng để giải quyết các vấn đề logic


13

Người ta biết rằng nhiều vấn đề logic (ví dụ như các vấn đề thỏa mãn của một số logic phương thức) không thể quyết định được. Ngoài ra còn có nhiều vấn đề không thể giải quyết được trong lý thuyết thuật toán, ví dụ như trong tối ưu hóa tổ hợp. Nhưng trong thực tế heuristcs và các thuật toán gần đúng hoạt động tốt cho các thuật toán thực tế.

Vì vậy, người ta có thể mong đợi rằng các thuật toán gần đúng cho các vấn đề logic cũng có thể phù hợp. Tuy nhiên, xu hướng nghiên cứu duy nhất dọc theo những dòng này mà tôi đã tìm thấy là vấn đề SAT tối đa và sự phát triển của nó đã hoạt động vào những năm 1990.

Có một số xu hướng nghiên cứu tích cực, hội thảo, từ khóa, tài liệu tham khảo tốt cho việc sử dụng và phát triển các phương pháp gần đúng cho logic phương thức, lập trình logic, v.v.

Nếu lý luận tự động được dự kiến ​​sẽ đạt được sự nổi bật trong các ứng dụng của khoa học máy tính trong tương lai thì người ta sẽ phải vượt qua các ràng buộc không thể thiếu của logic và các phương pháp gần đúng hoặc phương pháp phỏng đoán có thể là con đường tự nhiên để đi theo, phải vậy không?


1
"xu hướng nghiên cứu duy nhất dọc theo những dòng này tôi đã tìm thấy là vấn đề SAT tối đa và sự phát triển của nó đã hoạt động vào những năm 1990". Trên thực tế, những người giải quyết MAXSAT đang cải thiện đáng kể những ngày này: maxsat.udl.cat/12/solvers/index.html
Radu GRIGore

Sau một số nghiên cứu bây giờ tôi có xu hướng thay đổi tâm trí của tôi. Lý thuyết mô hình hữu hạn phải là lĩnh vực triển vọng nhất cho AI và logic ứng dụng. Các logic dựa trên lý thuyết mô hình vô hạn có thể đẹp về mặt thẩm mỹ nhưng chúng thiếu hai kết nối quan trọng với thực tế: 1) các ứng dụng thực tế luôn bị hạn chế bởi các tài nguyên bị ràng buộc (ví dụ: danh sách các biến nên được giới hạn); 2) worl vật lý nhất thiết phải bị ràng buộc và nhiều khả năng là rời rạc (ví dụ: chiều dài cơ bản và vv). Vì vậy - bây giờ tôi không hiểu việc sử dụng các lý thuyết mô hình vô hạn. HỌ là những xấp xỉ.
TomR

Một xu hướng khác là "khoa học kết nối" hoặc tích hợp biểu tượng thần kinh - trong đó logic được sử dụng để nêu vấn đề và cung cấp đầu vào và đầu ra đọc của tính toán, nhưng bản thân việc tính toán được thực hiện bởi mạng lưới thần kinh. Có một số cuộc thảo luận về việc NN có thể mạnh đến mức nào (ví dụ như một số gợi ý rằng họ chỉ có thể phá vỡ giới hạn Turing khi số thực sự được sử dụng làm trọng số nhưng điều này có thể được thảo luận - ví dụ như đó là câu hỏi mở về việc liệu số thực có tồn tại trong tự nhiên không) là nhân viên cho rằng nên có triển vọng sử dụng các phương pháp heuristic trong logic và tích hợp là một cách.
TomR

Câu trả lời:


10

Động lực mà bạn nêu ra để đối phó với sự thiếu quyết đoán cũng áp dụng cho các vấn đề khó khăn nhưng có thể quyết định được. Nếu bạn gặp vấn đề là NP-hard hoặc PSPACE-hard, thông thường chúng ta sẽ phải sử dụng một số dạng gần đúng (theo nghĩa rộng của thuật ngữ này) để tìm giải pháp.

Rất hữu ích để phân biệt giữa các khái niệm khác nhau về xấp xỉ.

  • ε của giải pháp.
  • δ

(ε,δ) -algorithms cho các vấn đề như ALLSAT đó kết hợp hai quan điểm trên. Trong trường hợp cụ thể của các vấn đề không thể giải quyết được, hoặc các vấn đề không có số liệu rõ ràng và chúng tôi không muốn sử dụng thuật toán ngẫu nhiên, có một câu hỏi về khái niệm sử dụng xấp xỉ nào. Vấn đề này phát sinh cụ thể trong việc phân tích các chương trình trong việc tối ưu hóa trình biên dịch và xác minh chương trình. Xác định các thuộc tính phức tạp của các chương trình là không thể giải quyết được hoặc tốn kém về mặt tính toán, do đó cần có một số hình thức gần đúng.

Dưới đây là một ví dụ về một khái niệm khác về xấp xỉ. Giả sử bạn thực hiện một phép tính như nhân hai số lớn và muốn kiểm tra xem phép nhân đó có đúng không. Có rất nhiều kỹ thuật heuristic được sử dụng trong thực tế để kiểm tra tính chính xác mà không cần lặp lại phép tính. Bạn có thể kiểm tra xem các dấu hiệu đã được nhân lên để có được dấu hiệu đúng. Bạn có thể kiểm tra xem các số có đúng chẵn lẻ không (thuộc tính số chẵn / số lẻ). Bạn có thể sử dụng một kiểm tra phức tạp hơn như Casting out nines. Tất cả các kỹ thuật này có một tài sản chung mà họ có thể cho bạn biết nếu bạn mắc lỗi, nhưng họ không thể đảm bảo nếu bạn có câu trả lời đúng. Thuộc tính này có thể được xem như là một xấp xỉ logic bởi vì bạn có thể chứng minh rằng phép tính ban đầu là sai nhưng bạn có thể không chứng minh được rằng nó đúng.

Tất cả các kiểm tra tôi đã đề cập ở trên là ví dụ về một kỹ thuật gọi là giải thích trừu tượng. Giải thích trừu tượng làm cho hoàn toàn nghiêm ngặt một khái niệm về xấp xỉ logic khác biệt với các xấp xỉ số và xác suất. Vấn đề tôi mô tả với phân tích một phép tính duy nhất mở rộng cho trường hợp phân tích chương trình phức tạp hơn. Các tài liệu về giải thích trừu tượng đã phát triển các kỹ thuật và khuôn khổ cho lý luận gần đúng, hợp lý về các chương trình và gần đây hơn về logic. Các tài liệu tham khảo sau đây có thể hữu ích.

  1. Giải thích trừu tượng trong một bản tóm tắt của Patrick Cousot, đó là một tổng quan đơn giản.
  2. Tổng quan về Trừu tượng của Patrick Cousot, như một phần của khóa học của mình. Có một ví dụ rất hay về sự trừu tượng để xác định các thuộc tính của một bó hoa. Sự tương tự bó hoa bao gồm các điểm cố định và có thể được thực hiện hoàn toàn chính xác về mặt toán học.
  3. Khóa học về diễn giải trừu tượng của Patrick Cousot, nếu bạn muốn tất cả các chiều sâu và chi tiết.
  4. Giải thích trừu tượng và ứng dụng cho các chương trình logic , Patrick Cousot và Radhia Cousot, 1992. Áp dụng cho các chương trình logic, theo yêu cầu của bạn. Phần ban đầu cũng chính thức quy trình đúc ra như một cách giải thích trừu tượng.

Tất cả điều này thường được áp dụng cho lý do về các chương trình máy tính. Gần đây đã có một công việc gần đây về việc áp dụng các ý tưởng từ giải thích trừu tượng để nghiên cứu các thủ tục quyết định cho logic. Trọng tâm không phải là logic phương thức mà là sự thỏa mãn trong logic mệnh đề và các lý thuyết bậc nhất không có định lượng. (Vì tôi đã làm việc trong không gian này, một tờ giấy bên dưới là của tôi)

  1. Một khái quát về phương pháp của Staalmarck bởi Aditya Thakur và Thomas Reps, 2012. Cung cấp một khái quát về phương pháp của Staalmarck cho các vấn đề trong phân tích chương trình.
  2. Sản phẩm rút gọn của các lĩnh vực trừu tượng và sự kết hợp của các thủ tục quyết định , Patrick Cousot, Radhia Cousot và Laurent Mauborgne, 2011. Bài viết này nghiên cứu kỹ thuật Nelson-Oppen để kết hợp các thủ tục quyết định và cho thấy rằng nó cũng có thể được sử dụng cho các kết hợp không hoàn chỉnh, trong đó đặc biệt thú vị nếu bạn có vấn đề không thể giải quyết được.
  3. Người giải quyết sự hài lòng là Máy phân tích tĩnh , bài viết của tôi với Leopold Haller và Daniel Kroening, 2012. Áp dụng chế độ xem xấp xỉ dựa trên mạng tinh thể để mô tả các bộ giải hiện có. Thay vào đó, bạn cũng có thể nhìn vào các slide của tôi về chủ đề này .

Bây giờ không có bài báo nào ở trên trả lời câu hỏi cụ thể của bạn về việc tấn công các vấn đề thỏa đáng không thể giải quyết được. Những gì các bài viết này làm là có một cái nhìn gần đúng theo định hướng về các vấn đề logic không phải là số hoặc xác suất. Quan điểm này đã được áp dụng rộng rãi cho lý do về các chương trình và tôi tin rằng nó giải quyết chính xác những gì bạn đang hỏi.

Để áp dụng nó vào logic phương thức, tôi muốn đề xuất một điểm khởi đầu là sử dụng ngữ nghĩa đại số của Jonsson và Tarski hoặc ngữ nghĩa sau của Lemmon và Scott. Điều này là do giải thích trừu tượng được xây dựng theo các hàm và hàm đơn điệu, do đó đại số Boolean với các toán tử là một ngữ nghĩa thuận tiện để làm việc. Nếu bạn muốn bắt đầu với các khung Kripke, bạn có thể áp dụng định lý đối ngẫu của Jonsson và Tarski (mà một số người có thể gọi là tính đối ngẫu của Stone) và rút ra biểu diễn đại số. Sau đó, bạn có thể áp dụng các định lý của giải thích trừu tượng cho xấp xỉ logic.

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.