Đo lường độ khó của các trường hợp SAT


28

Đưa ra một ví dụ về SAT, tôi muốn có thể ước tính mức độ khó để giải quyết trường hợp đó.

Một cách là chạy các bộ giải hiện có, nhưng loại đó đánh bại mục đích ước tính độ khó. Một cách thứ hai có thể là tìm tỷ lệ các mệnh đề cho các biến, như được thực hiện cho các pha chuyển tiếp trong SAT ngẫu nhiên, nhưng tôi chắc chắn rằng các phương pháp tốt hơn tồn tại.

Cho một ví dụ về SAT, có một số phương pháp phỏng đoán nhanh để đo lường độ khó? Điều kiện duy nhất là các heuristic này nhanh hơn thực tế chạy các bộ giải SAT hiện có trên ví dụ.


Câu hỏi liên quan

Những vấn đề SAT nào dễ? trên cstheory.SE. Câu hỏi này hỏi về bộ trường hợp dễ điều khiển. Đây là một câu hỏi tương tự, nhưng không hoàn toàn giống nhau. Tôi thực sự quan tâm đến một heuristic đưa ra một trường hợp duy nhất, đưa ra một số loại phỏng đoán bán thông minh nếu trường hợp đó sẽ là một vấn đề khó giải quyết.


Bạn có thể giải thích tại sao "mật độ" chuyển pha không phải là thứ bạn cần không?
Raphael

@Raphael đó là một phương pháp khá hay, và tôi đề cập đến nó trong câu hỏi của tôi. Nhưng tôi có ấn tượng rằng thậm chí heuristic còn tồn tại. Quá trình chuyển đổi giai đoạn làm phiền tôi vì nó rất dễ bị lừa (chỉ cần nối các mệnh đề hoặc ví dụ dễ thỏa đáng với câu bạn đang cố gắng ngụy trang)
Artem Kaznatcheev 15/03/2016

Xin lỗi, đã bỏ lỡ một phần câu hỏi của bạn. Đúng, như các nhà bình luận lưu ý, quá trình chuyển pha dường như nhạy cảm với các công thức không ngẫu nhiên.
Raphael

2
Bạn có thể biểu diễn một công thức SAT (trong CNF) dưới dạng biểu đồ lưỡng cực, với các đỉnh cho mọi công thức và mệnh đề và các cạnh biểu thị các lần xuất hiện. Nếu biểu đồ này dễ phân vùng, thì vấn đề có thể được phân tách thành các sơ đồ con được phân vùng. Có lẽ điều này có thể phục vụ như một biện pháp hữu ích? Tôi không có ý tưởng (đó là lý do tại sao đây là một nhận xét và không phải là một câu trả lời).
Alex ten Brink

Bạn có thể thấy điều này hữu ích: ece.uwaterloo.ca/~vganesh/QPaper/apers.pdf
người dùng

Câu trả lời:


22

Nói chung, đây là một câu hỏi nghiên cứu rất phù hợp và thú vị. "Một cách là chạy các bộ giải hiện có ..." và điều này thậm chí sẽ cho chúng ta biết chính xác điều gì? Chúng ta có thể thấy một cách thực nghiệm rằng một thể hiện có vẻ khó đối với một người giải cụ thể hoặc một thuật toán / heuristic cụ thể, nhưng nó thực sự nói gì về độ cứng của cá thể?

Một cách đã được theo đuổi là xác định các thuộc tính cấu trúc khác nhau của các trường hợp dẫn đến các thuật toán hiệu quả. Những đặc tính này thực sự được ưa thích là "dễ dàng" nhận dạng. Một ví dụ là cấu trúc liên kết của biểu đồ ràng buộc cơ bản, được đo bằng các tham số độ rộng biểu đồ khác nhau. Ví dụ, người ta biết rằng một thể hiện có thể giải được trong thời gian đa thức nếu treewidth của đồ thị ràng buộc cơ bản được giới hạn bởi một hằng số.

Một cách tiếp cận khác đã tập trung vào vai trò của cấu trúc ẩn của các thể hiện. Một ví dụ là tập hợp cửa sau , nghĩa là tập hợp các biến sao cho khi chúng được khởi tạo, vấn đề còn lại đơn giản hóa thành một lớp có thể điều khiển được. Ví dụ, Williams và cộng sự, 2003 [1] cho thấy ngay cả khi tính đến chi phí tìm kiếm các biến backlink, người ta vẫn có thể có được lợi thế tính toán tổng thể bằng cách tập trung vào một bộ cửa sau, với điều kiện là bộ này đủ nhỏ. Hơn nữa, Dilkina và cộng sự, 2007 [2] lưu ý rằng một người giải có tên Satz-Rand rất giỏi trong việc tìm kiếm các cửa hậu nhỏ mạnh trên một loạt các lĩnh vực thử nghiệm.

Gần đây, Ansotegui và cộng sự, 2008 [3] đề xuất sử dụng độ phức tạp không gian giống như cây làm thước đo cho người giải quyết dựa trên DPLL. Họ chứng minh rằng không gian giới hạn không đổi cũng ngụ ý sự tồn tại của thuật toán quyết định thời gian đa thức với không gian là mức độ của đa thức (Định lý 6 trong bài báo). Hơn nữa, chúng cho thấy không gian nhỏ hơn kích thước của các chu trình cắt. Trên thực tế, theo những giả định nhất định, không gian cũng nhỏ hơn kích thước của các cửa hậu.

Họ cũng chính thức hóa những gì tôi nghĩ bạn đang theo đuổi, đó là:

Tìm số đo và thuật toán đưa ra công thức quyết định mức độ thỏa mãn trong thời gian . Số đo càng nhỏ thì càng đặc trưng cho độ cứng của công thức .ψΓO(nψ(Γ))


[1] Williams, Ryan, Carla P. Gomes và Bart Selman. "Backreen đến trường hợp phức tạp điển hình." Hội nghị hợp tác quốc tế về trí tuệ nhân tạo. Tập 18, 2003.

[2] Dilkina, Bistra, Carla Gomes và Ashish Sabharwal. "Sự đánh đổi trong sự phức tạp của phát hiện cửa sau." Nguyên tắc và thực hành lập trình ràng buộc (CP 2007), trang 256-270, 2007.

[3] Ansótegui, Carlos, Maria Luisa Bonet, Jordi Levy và Felip Manya. "Đo độ cứng của các trường hợp SAT." Trong Kỷ yếu của Hội nghị quốc gia về trí tuệ nhân tạo lần thứ 23 (AAAI'08), trang 222-228, 2008.


Tôi thích chính thức bạn trích dẫn. Cũng thật tốt khi được tinh chỉnh để tuyên bố rõ ràng rằng có thể tính toán hiệu quả. Cảm ơn câu trả lời! Bạn có biết bất kỳ biện pháp ít chính thức hơn mà mọi người có thể sử dụng 'trong thực tế' không? ψ(Γ)
Artem Kaznatcheev

@ArtemKaznatcheev Tôi nghĩ rằng bộ cửa sau có lẽ là bộ duy nhất thực sự được sử dụng. Khi chạy một bộ giải, chúng tôi không thực sự quan tâm đến độ cứng của công thức; trường hợp phải được giải quyết tuy nhiên. Phép đo phải cho chúng ta một lợi thế tính toán, hoặc có thể chúng ta có thể sử dụng nó để chọn một heuristic phù hợp. Ngoài ra, tôi đoán các biện pháp độ cứng vẫn còn khá thử nghiệm.
Juho

1

Vì bạn biết về quá trình chuyển pha, cho phép tôi đề cập đến một vài kiểm tra đơn giản khác mà tôi biết (có thể bị thay thế bởi phân tích biểu đồ ràng buộc):

  • Một số trình tạo SAT ngẫu nhiên ban đầu vô tình tạo ra các công thức chủ yếu dễ dàng vì chúng đã sử dụng "mật độ không đổi", nghĩa là tỷ lệ gần bằng nhau của tất cả các độ dài mệnh đề. Chúng hầu như dễ dàng vì 2 mệnh đề và đơn vị đơn giản hóa vấn đề một cách đáng kể, như người ta mong đợi, và các mệnh đề thực sự dài hoặc không thêm nhiều nhánh hoặc tạo điều kiện cho độ phân giải siêu tốt hơn. Vì vậy, có vẻ tốt hơn để gắn với các mệnh đề có độ dài cố định và thay đổi các tham số khác.
  • Tương tự, một quy tắc đơn giản hóa mạnh mẽ là Loại bỏ văn học thuần túy. Rõ ràng, một công thức thực sự chỉ khó như số lượng chữ không tinh khiết mà nó có. Bởi vì Độ phân giải tạo ra các mệnh đề mới đánh số(có nghĩa là tích của các lần xuất hiện của và phủ định của nó), số lượng độ phân giải được tối đa hóa khi có một số lượng bằng nhau các nghĩa đen âm và âm cho mỗi biến. Do đó, máy phát SAT cân bằng.|x||¬x|x
  • Ngoài ra còn có một kỹ thuật gọi là "No Triangle SAT", có vẻ khá mới mẻ [1], đây là một loại máy phát điện cứng cấm "tam giác". Một tam giác là một tập hợp các mệnh đề chứa 3 biến xảy ra theo cặp trong tất cả các kết hợp trong một số mệnh đề (ví dụ: ). Rõ ràng, hình tam giác có xu hướng làm cho một công thức dễ dàng hơn cho người giải quyết được biết đến.v1,v2,v3{v1,v2,...},{v2,v3,...},{v1,v3,...}

[1] https://arxiv.org/pdf/1903.03592.pdf


0

Trên câu trả lời xuất sắc của Juho, đây là một cách tiếp cận khác:

Ercsey-Ravasz & Toroczkai, Tối ưu hóa độ cứng như sự hỗn loạn thoáng qua trong một cách tiếp cận tương tự để thỏa mãn ràng buộc , Vật lý tự nhiên tập 7, trang 966 Lỗi970 (2011).

Cách tiếp cận này là viết lại bài toán SAT thành một hệ thống động, trong đó bất kỳ điểm thu hút nào của hệ thống là một giải pháp cho bài toán SAT. Các lưu vực thu hút của hệ thống trở nên phức tạp hơn khi vấn đề trở nên khó khăn hơn, và do đó, "độ khó" của thể hiện SAT có thể được đo lường bằng cách kiểm tra mức độ hỗn loạn của các quá độ trước khi hệ thống hội tụ.

Trong thực tế, điều này có nghĩa là bắt đầu một loạt các người giải quyết từ các vị trí ban đầu khác nhau và kiểm tra tốc độ mà người giải quyết thoát khỏi các quá độ hỗn loạn trước khi họ đến một người thu hút.

Không khó để đưa ra một hệ thống năng động, trong đó "giải pháp" là giải pháp cho một vấn đề SAT nhất định, nhưng khó hơn một chút để đảm bảo rằng các giải pháp đó đều là những người thu hút chứ không phải người bán lại. Giải pháp của họ là giới thiệu các biến năng lượng (gần giống với số nhân Lagrange) để thể hiện mức độ nghiêm trọng của một ràng buộc đang bị vi phạm và cố gắng để hệ thống giảm thiểu năng lượng của hệ thống.

Thật thú vị, bằng cách sử dụng hệ thống động lực của họ, bạn có thể giải quyết các vấn đề SAT trong thời gian đa thức trên một máy tính tương tự, bản thân nó là một kết quả đáng chú ý. Có một cái bẫy; nó có thể yêu cầu điện áp lớn theo cấp số nhân để biểu diễn các biến năng lượng, vì vậy thật không may, bạn không thể nhận ra điều này trên phần cứng vật lý.


1
"sử dụng hệ thống động lực của họ, bạn có thể giải quyết các vấn đề SAT trong thời gian đa thức trên một máy tính tương tự, bản thân nó là một kết quả đáng chú ý." Tôi không đồng ý rằng điều này là đáng chú ý. Như bạn lưu ý: nó đòi hỏi độ chính xác theo cấp số nhân. Đây thực sự là một mẹo tiêu chuẩn liên kết trực tiếp đến định nghĩa của NP. Nếu bạn có thể đo chính xác theo cấp số nhân, bạn có thể thử ước tính số lượng đường dẫn chấp nhận (hoặc xem dưới dạng đi bộ ngẫu nhiên) và xem liệu nó có chính xác bằng 0 hay không (tất nhiên, điều này sẽ yêu cầu phép đo chính xác theo cấp số nhân, tương tự như với hệ thống động).
Artem Kaznatcheev

Cảm ơn vì điều đó. Tôi không biết rất nhiều kết quả lý thuyết về điện toán tương tự.
Bút danh
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.