Giải thích lý thuyết cho thành công thực tế của người giải SAT?


43

Có những giải thích lý thuyết nào cho sự thành công thực tế của người giải SAT, và ai đó có thể đưa ra một cái nhìn tổng quan "kiểu wikipedia" và giải thích buộc tất cả chúng lại với nhau không?

Bằng cách tương tự, phân tích được làm mịn ( phiên bản arXiv ) cho thuật toán đơn giản thực hiện một công việc tuyệt vời giải thích lý do tại sao nó hoạt động tốt trong thực tế, mặc dù thực tế là nó mất thời gian theo cấp số nhân trong trường hợp xấu nhất và là NP-mighty ( phiên bản arXiv ).

Tôi đã nghe một chút về những thứ như backtime, cấu trúc của biểu đồ mệnh đề và chuyển pha, nhưng (1) Tôi không thấy tất cả những thứ này khớp với nhau như thế nào để đưa ra bức tranh lớn hơn (nếu có) và (2) Tôi không biết liệu những điều này có thực sự giải thích tại sao các bộ giải SAT hoạt động tốt như vậy không, ví dụ, trong các trường hợp công nghiệp. Ngoài ra, khi nói đến những thứ như cấu trúc của biểu đồ mệnh đề: tại sao người giải quyết hiện tại có thể tận dụng các cấu trúc biểu đồ mệnh đề nhất định?

Tôi chỉ tìm thấy kết quả về sự chuyển pha một phần thỏa mãn về vấn đề này, ít nhất là trong sự hiểu biết hiện tại còn hạn chế của tôi. Tài liệu chuyển pha là về các trường hợp của k-SAT ngẫu nhiên , nhưng điều đó có thực sự giải thích bất cứ điều gì về các trường hợp trong thế giới thực không? Tôi không mong đợi các trường hợp SAT trong thế giới thực trông giống như các trường hợp ngẫu nhiên; tôi có nên Có một lý do để nghĩ chuyển đổi pha cho chúng ta biết điều gì đó, thậm chí bằng trực giác, về các trường hợp trong thế giới thực ngay cả khi chúng không giống như các trường hợp ngẫu nhiên?

Các câu hỏi liên quan có ích, nhưng không trả lời hoàn toàn câu hỏi của tôi, đặc biệt là yêu cầu buộc mọi thứ lại với nhau thành một bức tranh mạch lạc:


5
Đây không phải là một câu trả lời nhưng tôi không nghĩ nhiều người vẫn tin rằng các cấu trúc đồ thị / cửa hậu có thể giải thích các màn trình diễn của người giải SAT. Chúng có vẻ phù hợp hơn với các vấn đề khó hơn như #SAT, QBF hoặc biên soạn kiến ​​thức, nơi bạn thực sự cần tìm các yếu tố thông minh khi bạn phải khám phá bằng cách nào đó toàn bộ cấu trúc. Đối với câu hỏi của bạn, tôi rất muốn trả lời "không ai thực sự biết và đây là một lĩnh vực nghiên cứu tích cực". Nhưng tôi cần thu thập tài liệu tham khảo để cho thấy những gì mọi người đang cố gắng và có thể có ai đó có cái nhìn rộng hơn tôi có thể đưa ra câu trả lời tốt hơn.
holf

2
@Joshua: Phương pháp đơn giản thậm chí là PSPACE-mighty (Fearnley và Savani, STOC 15).
Rahul Savani

1
Tôi đồng ý với @holf. Dưới đây là một vài xu của tôi: Người giải SAT có thể phục hồi nhanh hơn người giải CSP vì tất cả các biến của họ có kích thước miền là hai. Điều này không có nghĩa là không có bộ giải CSP nào có thể đánh bại bộ giải SAT, nó có thể nếu nó có biến động rất phức tạp (cũng như giá trị) sắp xếp các heuristic kết hợp với mã hóa tốt của vấn đề. Ngoài ra, khi bạn biến một "ví dụ thực tế" thành một thể hiện SAT, bạn hiếm khi kết thúc tại điểm chuyển pha vì sự ra đời của rất nhiều biến phụ trợ. usually
Tayfun Trả

3
@TayfunPay: Tôi đã không đặt câu hỏi về trải nghiệm của bạn - thực tế, tôi 100% tin rằng các vấn đề "thực tế" chuyển thành các trường hợp SAT không ở gần giai đoạn chuyển tiếp. Nhưng tôi không nghĩ rằng điều đó giải thích cho sự dễ dàng của những trường hợp như vậy, vì những trường hợp đó không phải là ngẫu nhiên , vì vậy quá trình chuyển pha (về lý thuyết) sẽ không có nhiều điều để nói về chúng (cả độ cứng hay độ dễ).
Joshua Grochow

2
Điều này đã được đề cập ở nơi khác, nhưng điều quan trọng cần lưu ý là mật độ biến đổi mệnh đề và chuyển pha chỉ có liên quan đến k-SAT ngẫu nhiên và không có gì để làm mà độ cứng của các trường hợp đến từ các vấn đề công nghiệp hoặc tổ hợp. Vì vậy, hầu hết các cuộc thảo luận ở trên là bên cạnh điểm. Ngoài ra, điều đáng chú ý là liên quan đến k-SAT ngẫu nhiên không có mẫu thực sự dễ-dễ-dễ --- đối với các hệ thống chứng minh nơi chúng tôi có giới hạn thấp hơn cho các công thức k-CNF được tạo ngẫu nhiên, các công thức vẫn khó theo cấp số nhân cho hằng số lớn tùy ý mật độ trên ngưỡng.
Jakob Nordstrom

Câu trả lời:


21

Tôi giả sử rằng bạn đang đề cập đến người giải quyết CDCL SAT trên các tập dữ liệu điểm chuẩn giống như những người được sử dụng trong Cuộc thi SAT . Các chương trình này dựa trên nhiều phương pháp phỏng đoán và rất nhiều tối ưu hóa. Có một số giới thiệu rất hay về cách họ làm việc tại Cơ sở lý thuyết của hội thảo SAT Solving ứng dụng tại Banff năm 2014 ( video ).

Các thuật toán này dựa trên thuật toán quay lui DPLL cố gắng tìm một phép gán thỏa mãn bằng cách đặt giá trị cho các biến và quay lui khi tìm thấy xung đột. Mọi người đã xem xét mức độ ảnh hưởng của các heuristic này. Ví dụ

Có vẻ như hiệu quả của các bộ giải SAT này trên các điểm chuẩn chủ yếu đến từ hai hai phương pháp phỏng đoán (và các biến thể của chúng):

  1. VSIDS heuristic chọn lựa biến nào để phân nhánh tiếp theo.
  2. CDCL: mệnh đề hướng xung đột học heuristic học một mệnh đề mới từ xung đột.

Người ta biết rằng bằng chứng DPLL tương ứng với bằng chứng về độ phân giải. Không có CDCL, bằng chứng độ phân giải duy nhất chúng ta có thể nhận được là bằng chứng độ phân giải cây yếu hơn nhiều so với bằng chứng độ phân giải chung.

Có kết quả cho thấy với CDCL, chúng tôi có thể nhận được bất kỳ bằng chứng độ phân giải chung nào. Tuy nhiên, có một số cảnh báo, họ cần nhiều khởi động lại nhân tạo, phân nhánh nhân tạo và / hoặc tiền xử lý cụ thể, vì vậy không rõ những điều này gần với những gì các chương trình này làm trong thực tế. Xem ví dụ như bài báo sau để biết thêm chi tiết:


CDCL về cơ bản là cắt các nhánh từ không gian tìm kiếm. Có nhiều cách khác nhau để rút ra một điều khoản mới học được từ một cuộc xung đột. Lý tưởng nhất là chúng ta sẽ thêm một tập các mệnh đề tối thiểu ngụ ý xung đột, nhưng trong thực tế có thể lớn và có thể tốn kém để tính toán. Những người giải SAT hàng đầu thường xóa các mệnh đề đã học thường xuyên và điều đó giúp ích trong thực tế.


Các VSIDS heuristic khác về cơ bản duy trì điểm số cho từng biến. Mỗi khi có xung đột, tất cả các điểm đều được điều chỉnh bằng cách nhân chúng với giá trị <1 và thêm hằng số cho những người "tham gia" vào cuộc xung đột. Để xem điều này có nghĩa là gì, hãy nghĩ về chuỗi là 1 nếu biến v đã "tham gia" vào xung đột thứ . Đặt là hằng số cố định. Điểm của biến tại thời điểm là: F ( v , i ) i 0 < α < 1 v n i < n F ( v , i ) α ( n - i )αF(v,i)i0<α<1vn

i<nF(v,i)α(ni)

Theo trực giác, người ta có thể nói rằng điều này cố gắng nhấn mạnh các biến liên quan đến các xung đột gần đây. Bạn cũng có thể nghĩ về nó như một cách đơn giản nhưng cực kỳ rẻ để dự đoán biến nào sẽ tham gia vào cuộc xung đột tiếp theo. Vì vậy, VSIDS phân nhánh đầu tiên trên các biến đó. Người ta có thể khẳng định rằng thuật toán về cơ bản là một thuật toán thất bại, tìm ra xung đột nhanh. Fast có liên quan đến số lượng biến nhỏ hơn được đặt, có nghĩa là chặn các cây con lớn của cây tìm kiếm. Nhưng điều này chủ yếu là trực giác, afaik không ai đã chính thức hóa nó rất cẩn thận để kiểm tra nó trên các bộ dữ liệu SAT. Chạy một bộ giải SAT trên một trong các bộ dữ liệu này không hề rẻ, hãy để một mình so sánh nó với các quyết định tối ưu (phần mở rộng nhỏ nhất của phép gán hiện tại cho các biến sẽ vi phạm một trong các mệnh đề). VSIDS cũng phụ thuộc vào các biến chúng ta va chạm khi mỗi xung đột, có nhiều cách khác nhau để xác định khi một biến có liên quan đến xung đột.


Có những kết quả cho thấy việc thực hiện cụ thể các ý tưởng này tương ứng với tính trung tâm theo thời gian của các đỉnh trong đồ thị động.

Cũng có những gợi ý loại trừ các trường hợp bất lợi như những trường hợp dựa trên các vấn đề NP-hard và nguyên thủy và mật mã ngẫu nhiên (mà người giải quyết CDCL SAT không giỏi) phần còn lại đến từ những thứ có cấu trúc rất tốt như xác minh phần mềm và phần cứng và bằng cách nào đó cấu trúc được khai thác bởi người giải quyết CDCL SAT (rất nhiều ý tưởng đã được đề cập như backtime, biến đông lạnh, v.v.) nhưng afaik chúng chủ yếu là ý tưởng và không mạnh mẽ bằng chứng lý thuyết hoặc thực nghiệm để sao lưu chúng. Tôi nghĩ rằng người ta sẽ phải nắm tay chặt chẽ xác định đúng và chỉ ra rằng các trường hợp mà các thuật toán này hoạt động tốt có thuộc tính và sau đó cho thấy các thuật toán này khai thác các thuộc tính đó.


Một số người cứ khăng khăng rằng tỷ lệ mệnh đề và ngưỡng là trò chơi duy nhất trong thị trấn. Điều đó chắc chắn là sai vì bất kỳ ai hơi quen thuộc với cách người giải SAT công nghiệp làm việc hoặc có bất kỳ kiến ​​thức nào về độ phức tạp chứng minh sẽ biết. Có rất nhiều điều làm cho một người giải SAT hoạt động tốt hoặc không có trong một ví dụ trong thực tế và tỷ lệ mệnh đề chỉ là một trong những điều có thể liên quan. Tôi nghĩ rằng cuộc khảo sát sau đây là điểm khởi đầu tốt để tìm hiểu về mối liên hệ giữa độ phức tạp chứng minh và người giải quyết SAT và quan điểm:

Điều thú vị là ngay cả hiện tượng ngưỡng cũng phức tạp hơn hầu hết mọi người nghĩ, Moshe Vardi đã nói trong bài nói chuyện " Chuyển pha và độ phức tạp tính toán " rằng thời gian chạy trung bình của GRASP vẫn theo cấp số nhân đối với các công thức 3SAT ngẫu nhiên sau ngưỡng nhưng số mũ giảm dần (afaik, không rõ nó giảm nhanh như thế nào).


Tại sao chúng ta nghiên cứu người giải SAT (như các nhà lý thuyết phức tạp)? Tôi nghĩ rằng câu trả lời giống như đối với các thuật toán khác: 1. so sánh chúng, 2. tìm ra giới hạn của chúng, 3. thiết kế những cái tốt hơn, 4. trả lời các câu hỏi cơ bản của lý thuyết phức tạp.

Khi mô hình hóa heuristic chúng ta thường thay thế heuristic bằng thuyết không điều kiện. Câu hỏi sau đó trở thành một sự thay thế "công bằng"? Và ở đây bằng cách công bằng tôi có nghĩa là mô hình gần gũi như thế nào trong việc giúp chúng tôi trả lời câu hỏi trên.

Khi chúng ta mô hình một bộ giải SAT như một hệ thống chứng minh, chúng ta phần nào cho thấy giới hạn của nó bởi vì thuật toán sẽ không hiệu quả đối với các câu lệnh có giới hạn thấp hơn trong hệ thống chứng minh. Nhưng vẫn còn một khoảng cách giữa những gì thuật toán thực sự tìm thấy và bằng chứng tối ưu trong hệ thống chứng minh. Vì vậy, chúng ta cần chỉ ra rằng điều ngược lại cũng vậy, tức là thuật toán có thể tìm thấy các bằng chứng tốt như các bằng chứng trong hệ thống chứng minh. Chúng tôi không gần gũi để trả lời câu hỏi đó, nhưng lượng heuristic được thay thế bằng chủ nghĩa không xác định xác định mức độ gần gũi của mô hình với hệ thống chứng minh. Tôi không hy vọng rằng chúng tôi hoàn toàn loại bỏ việc thay thế heuristic bằng thuyết không điều kiện, nếu không chúng tôi sẽ nhận được kết quả tự động hóa có hậu quả đối với các vấn đề mở trong tiền điện tử, v.v.

Vì vậy, câu hỏi khi nhìn vào một mô hình trở thành: các mô hình giúp giải thích tại sao SAT solver A tốt hơn SAT solver B bao nhiêu? Chúng hữu ích như thế nào trong việc phát triển các bộ giải SAT tốt hơn? Người giải SAT có tìm thấy bằng chứng trong thực tế gần với bằng chứng tối ưu trong mô hình không? ... Chúng ta cũng cần mô hình hóa các trường hợp thực tế.

Về trực giác mà CDCL SAT giải quyết "khai thác cấu trúc của các trường hợp thực tế" (dù đó là cấu trúc nào) thường được chấp nhận theo trực giác mà tôi nghĩ. Câu hỏi thực sự là đưa ra một lời giải thích thuyết phục về điều đó có nghĩa là gì và chứng minh rằng nó thực sự đúng.

Xem thêm câu trả lời của Jakob Nordstrom cho những phát triển gần đây.


1
Điều này có đúng với các trường hợp SAT xuất phát từ bao thanh toán số nguyên không?
Mohammad Al-Turkistany

1
Có, nhưng nó vẫn là một . Nó rất có thể làm tồi tệ hơn trong một số trường hợp có thể dễ dàng giải quyết bằng một heuristic khác bằng cách sử dụng cùng một bộ giải SAT. Ví dụ, nhìn vào bài báo tiếp theo của họ . Họ cho thấy rằng trung bình heuristic CHB mới của họ hoạt động tốt hơn VSIDS. Tuy nhiên, nếu bạn nhìn kỹ vào Bảng 1, bạn sẽ thấy rằng trong một số trường hợp nhất định, CHB thực sự hoạt động kém hơn trung bình ... Do đó, tôi không tin rằng nói về là một cách lành mạnh để nói về trả lời câu hỏi này h đ u r i s t i c sheuristicheuristics
Tayfun Trả

1
@Martin, không có CDCL, chúng tôi chỉ nhận được các hình thức phân giải rất hạn chế (tôi không nhớ chính xác những gì trong đầu mình). Kết quả của Paul Beame và những người khác cho thấy rằng với CDCL và khởi động lại, về cơ bản bạn có thể nhận được bất kỳ bằng chứng độ phân giải chung nào (tuy nhiên việc lựa chọn các điểm khởi động và các nhánh là loại nhân tạo), xem chi tiết của Beame.
Kaveh

3
@Martin, xem thêm khảo sát của Jakob Nordstrom: csc.kth.se/~jakobn/project-proofcplx/docs/ phỏng
Kaveh

1
Về độ phức tạp của bằng chứng và CDCL, nó được hiển thị bởi Pipatsrisawat và Darwiche scTHERirect.com/science/article/pii/S0004370210001669 và độc lập bởi Atserias, Fichte và Thurley jair.org/ con / apes3152.html rằng CDCL được xem như một hệ thống bằng chứng mô phỏng độ phân giải (các giấy tờ nêu kết quả khác nhau, nhưng bằng chứng trong cả hai giấy tờ có thể được sử dụng để thu được kết quả trong giấy tờ khác). Một sự khác biệt quan trọng so với các bài báo trước trong dòng nghiên cứu này là không có gì rõ ràng trong các mô hình CDCL này. [Sẽ được tiếp tục ...]
Jakob Nordstrom

17

Tôi đang gõ cái này khá nhanh do hạn chế về thời gian (và thậm chí không trả lời sớm hơn vì lý do tương tự), nhưng tôi nghĩ tôi sẽ cố gắng ít nhất là sử dụng ít nhất hai xu của mình.

Tôi nghĩ rằng đây là một câu hỏi thực sự tuyệt vời, và đã dành một lượng thời gian không cần thiết trong vài năm qua để xem xét vấn đề này. (Tiết lộ đầy đủ: Tôi đã nhận được một phần lớn tài trợ hiện tại của mình một cách chính xác để cố gắng tìm câu trả lời cho các câu hỏi thuộc loại này, và sau đó có khả năng chuyển đổi những hiểu biết sâu sắc hơn về SAT thành những người giải SAT hiệu quả hơn.)

Nếu người ta phải trả lời một câu, thì tôi nghĩ

không ai thực sự biết và đây là một lĩnh vực nghiên cứu tích cực

là khá nhiều như nó được. Ngoại trừ việc có nhiều chỗ hơn cho nhiều hoạt động hơn, đặc biệt là từ phía lý thuyết.

Một số giải thích được đề xuất (không loại trừ lẫn nhau), đã được thảo luận trong các câu trả lời và nhận xét khác, là

  • (a) cửa hậu,
  • (b) cân nhắc độ phức tạp tham số hóa,
  • (c) cấu trúc đồ thị của vấn đề CNF,
  • (d) cân nhắc độ phức tạp bằng chứng và
  • (e) chuyển pha.

Bắt đầu từ cuối (e), dường như có khá nhiều nhầm lẫn về việc chuyển pha. Câu trả lời ngắn ở đây là không có lý do gì để tin rằng tỷ lệ mệnh đề cho các biến có liên quan đến các vấn đề được áp dụng hoặc các vấn đề tổ hợp lý thuyết (còn gọi là các trường hợp được tạo ra). Nhưng vì một số lý do, đó là một quan niệm sai lầm không quá phổ biến trong phần áp dụng của cộng đồng SAT rằng tỷ lệ mệnh đề biến số bằng cách nào đó nên là một biện pháp có liên quan nói chung. Tỷ lệ mệnh đề trên biến rất phù hợp với k-SAT ngẫu nhiên, nhưng không phải cho các mô hình khác.

Cảm giác của tôi là backtime (a) đã là một lời giải thích phổ biến, nhưng cá nhân tôi chưa thực sự thấy bằng chứng thuyết phục rằng nó giải thích những gì diễn ra trong thực tế.

Độ phức tạp tham số (b) cung cấp một lý thuyết tuyệt đẹp về một số khía cạnh của SAT, và một giả thuyết rất hấp dẫn là các trường hợp SAT rất dễ bởi vì chúng có xu hướng "gần với một số đảo khả năng chuyển động". Tôi nghĩ giả thuyết này mở ra nhiều hướng nghiên cứu thú vị. Như đã lưu ý trong một số câu trả lời, có rất nhiều kết nối giữa (a) và (b). Tuy nhiên, cho đến nay tôi không thực sự thấy bất kỳ bằng chứng nào cho thấy độ phức tạp được tham số hóa tương quan quá nhiều với những gì đang diễn ra trong thực tế. Đặc biệt, có vẻ như các trường hợp có thể dễ điều khiển có thể rất, rất khó trong thực tế và các trường hợp không có bất kỳ cửa hậu nhỏ nào vẫn có thể rất dễ dàng.

Giải thích có vẻ đáng tin nhất đối với tôi đối với các trường hợp công nghiệp là (c), cụ thể là cấu trúc (biểu đồ) của các công thức CNF được đề cập nên tương quan với hiệu suất SAT thực tế. Ý tưởng ở đây là các biến và mệnh đề của các thể hiện công nghiệp có thể được nhóm lại thành các cộng đồng được kết nối tốt với một vài kết nối giữa và người giải quyết SAT bằng cách nào đó khai thác cấu trúc này. Thật không may, có vẻ khá khó khăn để xác định điều này một cách nghiêm ngặt hơn, và cũng không may là khu vực này phải chịu một số lượng cường điệu. Các giải thích được đề xuất mà tôi đã thấy cho đến nay trong các bài báo là khá không thỏa đáng và các mô hình dường như rất dễ bị bắn hạ. Vấn đề dường như là nếu một người thực sự muốn làm điều này một cách triệt để, sau đó toán học trở nên khó khăn (vì đây là một vấn đề khó) và nó cũng cực kỳ lộn xộn (vì bạn cần mô hình của mình đủ gần với thực tế để có kết quả phù hợp). Cụ thể, các bài báo mà tôi đã thấy giải thích rằng hiệu năng của VSIDS (tổng phân rã độc lập trạng thái biến đổi) cho các lựa chọn biến hoạt động tốt bởi vì nó khám phá các cộng đồng trong biểu diễn đồ thị của các trường hợp khá thiếu thuyết phục, mặc dù giả thuyết như vậy vẫn còn rất hấp dẫn.

Một dòng nghiên cứu mà cá nhân tôi đã theo đuổi là liệu hiệu suất SAT thực tế có tương quan với các biện pháp phức tạp chứng minh của các công thức CNF được đề cập hay không. Thật không may, câu trả lời ngắn dường như là thực sự không có kết nối rõ ràng và hấp dẫn. Vẫn có thể có những mối tương quan không cần thiết (đây là điều mà chúng tôi hiện đang nghiên cứu theo nhiều cách khác nhau), nhưng có vẻ như lý thuyết là quá hay, sạch sẽ và đẹp và thực tế quá lộn xộn để có một trận đấu thực sự tốt. (Liên quan đến bài viết liên quan đến các biện pháp phức tạp bằng chứng và độ cứng thực tế của SATbởi Järvisalo, Matsliah, Nordström và Živný trong CP '12, hóa ra các thí nghiệm chi tiết hơn cung cấp một bức tranh phức tạp hơn nhiều với kết luận ít rõ ràng hơn --- chúng tôi hy vọng sẽ có được một phiên bản tạp chí đầy đủ báo cáo về bất kỳ thập kỷ nào bây giờ, nhưng nó phức tạp, mặc dù vẫn hy vọng thú vị.)

Một dòng công việc khác có liên quan đến độ phức tạp chứng minh là mô hình hóa các bộ giải SAT hiện đại như các hệ thống chứng minh và chứng minh các định lý trong các mô hình này để suy ra các tính chất của các bộ giải tương ứng. Đây là một chút của một bãi mìn, tuy nhiên, trong sự lựa chọn thiết kế nhỏ và dường như vô hại đó ở khía cạnh mô hình lý thuyết có thể dẫn đến kết quả gần như hoàn toàn không liên quan theo quan điểm thực tế. Mặt khác, nếu người ta muốn một mô hình lý thuyết đủ gần với thực tế để đưa ra kết quả có liên quan, thì mô hình này trở nên cực kỳ lộn xộn. (Điều này là do hiệu suất của bộ giải SAT phụ thuộc vào lịch sử toàn cầu của mọi thứ đã xảy ra cho đến nay theo những cách không cần thiết và điều này có nghĩa là mô hình không thể được mô đun hóa theo cách chúng ta thường thiết lập hệ thống chứng minh của mình --- cho dù một bước dẫn xuất cụ thể là "chính xác"

Tuy nhiên, hai bài báo thực sự nên được đề cập là ngoại lệ cho điều này là [Pipatsrisawat và Darwiche 2011] và [Atserias, Fichte và Thurley 2011], trong đó cho thấy rằng điều khoản học giải SAT xung đột được mô phỏng theo cách tự nhiên có tiềm năng mô phỏng đa thức đầy đủ, độ phân giải chung. Có một danh sách khá dài các bài báo trước [PD11] và [AFT11] về cơ bản khẳng định cùng một kết quả, nhưng tất cả chúng đều có vấn đề nghiêm trọng với mô hình. (Đúng là [PD11] và [AFT11] cũng cần một số giả định để hoạt động, nhưng chúng gần như là những điều tối thiểu bạn mong đợi trừ khi bạn yêu cầu các bài báo cũng cho thấy hệ thống phân cấp phức tạp được tham số hóa sụp đổ.)

Một lần nữa, tôi viết tất cả những điều này rất nhanh, nhưng nếu có sự quan tâm đáng kể cho bất cứ điều gì ở trên, tôi có thể cố gắng giải thích (mặc dù có thể mất một lúc để quay lại vấn đề này --- xin vui lòng ping tôi nếu có là bất cứ điều gì bạn muốn tôi nhận xét về). Là một cách nhanh chóng để cung cấp tài liệu tham khảo, hãy để tôi tự thực hiện một số thao tác tự xấu hổ (mặc dù sự xấu hổ đã giảm đi phần nào khi tôi thấy rằng một số ý kiến ​​cũng đã trích dẫn một số tài liệu tham khảo này):

Trò chuyện theo phong cách hướng dẫn về sự tương tác giữa độ phức tạp chứng minh và giải quyết SAT được đưa ra tại Trường hè quốc tế về sự hài lòng, lý thuyết Modulo thỏa mãn và lý luận tự động năm 2016 với rất nhiều tài liệu tham khảo đầy đủ ở cuối slide: http://www.csc .kth.se / ~ jakobn / nghiên cứu / TalkInterplaySummerSchool2016.pdf

Gần đây hơn, và ít nói hơn, nói chuyện khảo sát Tìm hiểu SAT xung đột được giải quyết thông qua lăng kính phức tạp chứng minh từ đầu năm 2017 (cũng có tài liệu tham khảo đầy đủ ở cuối): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf

Khảo sát các kết nối giữa độ phức tạp bằng chứng và giải SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Tài liệu tham khảo thư mục: Jakob Nordström. Về sự tương tác giữa độ phức tạp chứng minh và giải SAT. ACM SIGLOG Tin tức, tập 2, số 3, trang 19-44, tháng 7 năm 2015. (Phiên bản được chỉnh sửa nhẹ với một số lỗi chính tả.)]

Bài viết SAT '16 với CDCL được mô hình hóa một cách trung thực như một hệ thống bằng chứng: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Tài liệu tham khảo thư mục: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas , Jakob Nordström và Marc Vinyals. Sự đánh đổi giữa thời gian và trí nhớ trong một mô hình chặt chẽ hơn của Bộ giải SAT CDCL. Trong Kỷ yếu Hội thảo quốc tế lần thứ 19 về Lý thuyết và Ứng dụng của Kiểm tra mức độ hài lòng (SAT '16), Ghi chú bài giảng Khoa học máy tính, tập 9710, trang 160-176, tháng 7 năm 2016.]


16

Hãy để tôi thêm hai xu hiểu biết của mình vào điều này, mặc dù tôi chưa bao giờ thực sự làm việc trong khu vực.

Bạn đang hỏi một trong hai câu hỏi, "tất cả các cách tiếp cận đã biết để chứng minh hiệu quả lý thuyết của một số người giải SAT đối với một số loại trường hợp" và "tại sao các trình giải SAT lại hiệu quả trong thực tế".

Đối với câu hỏi trước đây, tôi sẽ chỉ dẫn bạn đến nghiên cứu của Stefan Szeider. Đối với tôi, anh ta dường như là khu vực tích cực nhất trong chủ đề về các thông số về Backtime và FPT của SAT (bao gồm cả các phương pháp tiếp cận cấu trúc như các biện pháp kiểu treewidth và các bộ được gọi là backlink, cũng như một số hỗn hợp của cả hai).

Đối với câu hỏi sau, thành thật mà nói, câu hỏi chính xác đó đã được tranh luận tại mọi hội thảo giải SAT mà tôi đã tham dự (kể cả những năm gần đây), vì vậy đó không phải là vấn đề được giải quyết. Nhưng ấn tượng của tôi là như sau.

Trước hết, bạn cần định lượng hoặc hạn chế những gì bạn có nghĩa là "trong thực tế". Không đúng khi người giải SAT là người giải quyết tốt cho mọi vấn đề mà bạn đưa ra (dĩ nhiên) và giữa các vấn đề khác nhau, cuối cùng bạn cần các chiến lược khác nhau. Ví dụ, có một số thành công gần đây trong đó các phỏng đoán toán học đã được xác minh hoặc thắt chặt bởi một tìm kiếm máy tính khổng lồ được hỗ trợ bởi người giải SAT. Trong trường hợp này, rõ ràng, rất nhiều lần các cải tiến và chẩn đoán theo kiểu CDCL thông minh mà những người giải SAT hiện đại thường sử dụng không thực sự mua cho bạn quá nhiều năng lượng, và trò chơi nắm bắt một cách thông minh để phân tách vấn đề nguồn của bạn thành các bộ phận, theo sau là (về cơ bản) một thuật toán phân nhánh lực lượng với một hệ số không đổi nhỏ trong thời gian chạy.

Tôi có thể giám sát điểm này một chút, nhưng quan điểm của tôi là, khi những người giải SAT đã tấn công, ví dụ như Giả thuyết sai lệch Erdos, họ đã thành công vì một lý do khác so với khi họ giải quyết các trường hợp công nghiệp xuất phát từ kiểm tra mạch.

Vì vậy, chúng tôi sẽ hỏi, tại sao các bộ giải dựa trên CDCL hoạt động tốt như vậy trong các trường hợp công nghiệp, ví dụ, xác minh mạch (kiểm tra tương đương mạch)? Tôi nghĩrằng quan điểm mạnh mẽ nhất (hoặc quan điểm đồng thuận) ở đây là chiến lược tìm kiếm của CDCL giải quyết rất tốt với cấu trúc của các trường hợp này. Điều này có nghĩa là, ví dụ, các mạch bao gồm các phần tương đối phức tạp (gọi chúng là các cụm), được kết nối với nhau bằng cách nói tương đối ít hơn và các kết nối đơn giản hơn, có thể theo cách phân cấp; và rằng các bộ giải CDCL với tất cả các heuristic của chúng rất giỏi trong việc khai thác điều này và "chiếu" các cụm này lên các biến được chia sẻ, theo bất kỳ cách nào hoặc thứ tự nào hữu ích nhất để xác minh mạch trong tay. Nhưng dường như vẫn là quan điểm đồng thuận rằng đây là một giải thích chưa đầy đủ (ví dụ, có lẽ chúng ta không thể giải thích về mặt lý thuyết hiệu quả của các bộ giải SAT CDCL trong miền này bằng cách tham khảo cấu trúc biểu đồ của ví dụ).

Vì vậy, các tham số hóa có thể đi được một số cách để giải thích sau này? Thành thật mà nói, tôi không biết. Tôi nghĩ có lẽ có một hiệu ứng mạnh mẽ trong trò chơi rằng các trường hợp trong thế giới thực không phải là trường hợp xấu nhất, cũng không phải là trường hợp thực sự trung bình theo bất kỳ phân phối cá thể nào chúng ta có thể xử lý. Nhưng nó có lẽ vẫn đáng để hỏi.


2
Magnus, bạn chắc chắn có nhiều kinh nghiệm trong lĩnh vực này hơn bất kỳ ai khác đã cố gắng trả lời câu hỏi này cho đến nay. Khi tôi nói "hai xu của tôi", tôi đã đề cập đến thực tế là tôi chỉ nghiên cứu một nhóm các vấn đề NP-Complete cụ thể trong luận án của mình và cách người giải quyết CSP và SAT cố gắng giải quyết nhiều trường hợp của những vấn đề này. Tôi cũng có khoảng một năm kinh nghiệm sử dụng bộ giải CSP và SAT tại nơi làm việc, nhưng một lần nữa, điều đó thậm chí không gần với hơn 10 năm kinh nghiệm của bạn trong lĩnh vực này. "Hai xu" của bạn có lẽ đáng giá "hai cốm vàng". Một câu hỏi.
Tayfun Trả tiền

1
Bạn nêu câu trả lời sau đây "Không đúng khi người giải SAT là người giải quyết tốt cho mọi vấn đề bạn ném vào ....". Bạn có thể xem tỷ lệ các mệnh đề cho các biến, c = m / n, cho các trường hợp này không? Nói cách khác, họ có ở vùng cứng không, c = ~ 4.2 hay không? Bởi vì những gì tôi đã trải nghiệm là bạn kết thúc với rất nhiều biến khi bạn giảm một thể hiện CSP thành một thể hiện SAT và thường là do lý do đó chứ không phải vì nó thực sự ở khu vực cứng, bộ giải SAT mất nhiều thời gian hơn Thời gian giải quyết.
Tayfun Trả tiền

1
Mặt khác, nếu bạn biết rằng những trường hợp này kết thúc ở khu vực khó của SAT, c = ~ 4.2, thì tôi có thể biết vấn đề thực tế này là gì không? Tôi sẽ rất thích thú khi biết những vấn đề thực tế nào thực sự xảy ra ở khu vực khó khăn của SAT khi chúng được giảm bớt. Cảm ơn bạn
Tayfun Trả tiền

2
Thành thật mà nói, tôi có ít hoặc không có kinh nghiệm giải SAT thực tế. Tất cả công việc thực tế của tôi đã ở phía lý thuyết thuần túy của câu hỏi đó. Nhưng nếu có thể, liên quan đến câu hỏi của bạn: Ấn tượng của tôi là kết quả cho k-SAT ngẫu nhiên và mật độ mệnh đề (mà bạn đề cập) thực sự chỉ áp dụng nếu trường hợp đầu vào của bạn đúng là một công thức ngẫu nhiên. Cũng lưu ý ràng buộc ~ 4.2 chỉ áp dụng nếu công thức là 3-SAT, trái ngược với công thức CNF có độ dài hỗn hợp.
Magnus Wahlström

1
Và bởi "các vấn đề không được giải quyết tốt bởi người giải SAT", tôi chủ yếu có nghĩa là các vấn đề được cho là thực sự khó hiểu, chẳng hạn như phá vỡ một loại tiền điện tử tốt. Tuy nhiên, cũng có những công thức mà không có người giải CDCL nào có thể giải quyết hiệu quả do giới hạn dưới lý thuyết bằng chứng, chẳng hạn như công thức nguyên lý lỗ chim bồ câu. Tôi đã thấy ít nhất một cuộc nói chuyện với thông điệp "Người giải quyết CDCL SAT đã làm tôi thất bại", trong đó một chút đào cho thấy rằng mã hóa vấn đề của họ che giấu một khía cạnh giống như chim bồ câu (ví dụ, có chứa một số biến thể của vấn đề chuyển nhượng). Thật không may, tôi không thể nhớ lại các chi tiết.
Magnus Wahlström

15

Có một bài báo " Liên quan đến các biện pháp phức tạp bằng chứng và độ cứng thực tế của SAT " của Matti Järvisalo, Arie Matsliah, Jakob Nordström và Stanislav ivný trong CP '12 cố gắng liên kết độ cứng hoặc độ dễ của việc giải các công thức nhất định bằng cách giải quyết CDCL các biện pháp phức tạp, đặc biệt là không gian chứng minh độ phân giải. Tôi nghĩ rằng kết quả có phần hỗn tạp, nhưng đó là một bước đi đúng hướng tôi nghĩ.


Thật không may, câu trả lời ngắn dường như là thực sự không có mối liên hệ rõ ràng và thuyết phục nào với các biện pháp phức tạp chứng minh. Vẫn có thể có những mối tương quan không cần thiết, nhưng có vẻ như lý thuyết quá sạch sẽ và thực tế quá lộn xộn để có một trận đấu thực sự tốt. Liên quan đến bài báo "Các biện pháp phức tạp bằng chứng liên quan", hóa ra các thí nghiệm chi tiết hơn cung cấp một bức tranh phức tạp hơn nhiều với kết luận ít rõ ràng hơn --- chúng tôi hy vọng có được một phiên bản tạp chí đầy đủ báo cáo về bất kỳ thập kỷ nào bây giờ, nhưng nó phức tạp , mặc dù vẫn hy vọng thú vị.
Jakob Nordstrom

15

Tôi không phải là một chuyên gia trong lĩnh vực này, nhưng tôi nghĩ rằng công cụ chuyển đổi SAT / pha ngẫu nhiên ít nhiều hoàn toàn không liên quan đến các công cụ ứng dụng công nghiệp / thực tế.

Ví dụ: người giải quyết rất tốt cho các trường hợp ngẫu nhiên (chẳng hạn như https://www.gableske.net/dimetheus ) dựa trên các phương pháp vật lý thống kê (truyền niềm tin, v.v.) Tôi tin, trong khi người giải quyết 'chung' rất tốt (như vì http://fmv.jku.at/lingeling/ ) đang sử dụng các kỹ thuật không liên quan (giống như những gì Kaveh đã nói) tôi tin.

Nhưng, như tôi đã nói, có lẽ đừng tin lời tôi; điều này đến từ một người không phải là chuyên gia.


Đúng. SAT ngẫu nhiên và SAT công nghiệp là những trò chơi hoàn toàn khác nhau, và các phương pháp được sử dụng là khác nhau. Và, ngoài ra, nếu bạn muốn giải các trường hợp tổ hợp thực sự khó khăn, thì các kỹ thuật khác thành công hơn (ví dụ, nếu vấn đề đủ khó, thì việc học mệnh đề không thực sự được đền đáp, ngoại trừ có lẽ rất cục bộ). Nhưng bằng cách nào đó, nó có vẻ như là một quan niệm sai lầm khá phổ biến (ít nhất là về phía áp dụng của cộng đồng SAT) rằng tỷ lệ các mệnh đề cho các biến nên bằng cách nào đó có liên quan đến bất kỳ trường hợp SAT CNF nào và không chỉ cho các trường hợp ngẫu nhiên.
Jakob Nordstrom
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.