ระบุวิธีแก้ไขปัญหาทั้งหมดของ SAT


11

ตัวแก้ #SAT ทั้งหมดที่ฉันรู้จักเช่น RelSat, C2D จะคืนค่าจำนวนอินสแตนซ์ที่น่าพอใจเท่านั้น แต่ฉันต้องการที่จะรู้ว่าแต่ละกรณี?

มีตัวแก้ไข #SAT หรือไม่ฉันควรแก้ไขตัวแก้ไข #SAT ที่มีให้ทำเช่นนี้หรือไม่?

ขอบคุณ.


7
สิ่งนี้มักถูกเรียกว่า "โซลูชัน SAT ทั้งหมด" แต่ดูเหมือนจะไม่มีวางจำหน่าย การอ้างอิงที่ฉันสามารถหาพูดคุยเกี่ยวกับการปรับเปลี่ยน MiniSAT และตัวแก้ปัญหาอื่น ๆ มักจะโดยการเพิ่มอนุประโยคการปิดกั้นเพื่อแยกการแก้ปัญหาเมื่อพบ ในทางกลับกันตัวแก้ไขข้อ จำกัด ส่วนใหญ่สนับสนุนการสร้างโซลูชันทั้งหมดตามมาตรฐาน
András Salamon

วิธีการหนึ่งคือการแปลง CNF → DNF ซึ่งมีวรรณกรรมมากมาย
vzn

คำตอบ:


13

คุณกำลังมองหาโซลูชัน ALL-SAT หรือโซลูชัน SAT ทั้งหมด นี่เป็นปัญหาที่แตกต่างจาก #SAT คุณไม่จำเป็นต้องระบุโซลูชันทั้งหมดเพื่อนับพวกเขา

ฉันไม่รู้จักเครื่องมือที่ช่วยแก้ปัญหาของคุณเพราะผู้คนเพิ่มอัลกอริธึมเหล่านี้ไว้ด้านบนของตัวแก้ SAT ที่มีอยู่ แต่ดูเหมือนจะไม่ค่อยปล่อยส่วนขยายเหล่านี้ เอกสารสองฉบับที่จะช่วยคุณในการปรับแก้ Solver CDCL เพื่อใช้งาน ALL-SAT อยู่ด้านล่าง

โซลูชั่นแก้ปัญหาหน่วยความจำที่มีประสิทธิภาพทั้งหมด SAT และการประยุกต์ใช้กับการเข้าถึง O. Grumberg, A. Schuster, A. Yadgar, FMCAD 2004

นี่คือบทความล่าสุดโพสต์ใน arXiv

การขยายตัวแก้ SAT ที่ทันสมัยสำหรับการระบุทุกรุ่น , Jabbour, Lakhdar Sais, Yakoub Salhi, 2013

คุณสามารถลองติดต่อผู้เขียนเหล่านี้เพื่อนำไปใช้


สำหรับกระดาษแผ่นที่สองคุณเพียงแค่ต้องคลิกเวอร์ชันแรก v1 เพื่อดู
Tayfun จ่าย

บทความล่าสุดนี้ดูเหมือนว่าจะเกี่ยวข้อง: homes.cs.washington.edu/~sudeepa/UAI2013-ModelCounting.pdf
Kaveh

1
@Kaveh ฉันเชื่อว่า OP กำลังขอตัวแก้ ALLSAT หรือวิธีเปลี่ยนตัวแก้ #SAT ให้เป็นตัวแก้ ALLSAT นี่เป็นกระดาษที่ขอบล่างของ #SAT ฉันไม่แน่ใจว่ามันช่วย OP
วีเจย์ D

2

ฉันพบกระดาษล่าสุด (2014) ใน All-SAT ที่การประชุม VLSI ดังนั้นมันจึงมุ่งไปที่การใช้งานจริง (ซึ่งสอดคล้องกับคำถามของ OP ที่นี่แม้ว่าจะน้อยกว่าดังนั้นด้วย cstheory.SE โดยทั่วไป):

  • "All-SAT ใช้ข้อปิดกั้นน้อย" โดย Yinlei ยู Pramod Subramanyan, Nestan Tsiskaridze, วามาลิก VLSI ออกแบบ 2014 ดอย: 10.1109 / VLSID.2014.22

สำหรับผู้ที่ไม่มีการสมัครสมาชิก IEEE มีสำเนาฟรีบนหน้าเว็บ Subramanyan ของพรินซ์ตัน (เขาใช้บริการแชร์ไฟล์เพื่อจัดเก็บ / แจกจ่ายสำเนาเอกสารของเขาและฉันไม่แน่ใจว่า URL เหล่านั้นมีเสถียรภาพเพียงใดดังนั้นลิงก์วงเวียนนี้)

ส่วนสำคัญของบทความนี้น่าจะเป็น:

การมีส่วนร่วมของเราอัลกอริทึม Non-Disjoint-Dec สร้างอนุประโยคการบล็อกสั้น ๆ ที่ไม่มีตัวแปรใด ๆ ในตัวแก้ โปรดทราบว่าโดยทั่วไปแล้วตัวแปรส่วนใหญ่ใน minterm ที่น่าพึงพอใจนั้นเป็นนัย ส่วนการบล็อกสั้น ๆ นั้นมีประโยชน์อย่างมากต่อประสิทธิภาพการแก้ปัญหาตามที่แสดงโดยการประเมินผล

การใช้งานของพวกเขาสร้างบน MiniSat ดูเหมือนว่าซอร์สโค้ดสำหรับส่วนขยายของพวกเขาจะไม่เปิดเผยต่อสาธารณะ อนิจจาสิ่งนี้ดูเหมือนจะเป็นนิสัยในฟิลด์ของ All-SAT ดังนั้นเอกสารในพื้นที่นี้ซึ่งมีผลการทดลองเพียงแค่ติดตั้งอัลกอริทึมที่ง่ายกว่าของมนุษย์ฟางที่ง่ายกว่าที่จะเอาชนะและแทบจะไม่สามารถเปรียบเทียบได้โดยตรง (ในแง่ของการทดลอง ผลลัพธ์) ด้วยอัลกอริทึมที่เผยแพร่อื่น ๆ สำหรับ All-SAT บทความโดย Jabbour และคณะ พูดถึงโดย Vijay D เป็นเช่นนี้

ขณะที่ฉันไม่เห็นมันกล่าวถึงในคำตอบอื่น ๆ (แต่เฉพาะในความคิดเห็นของAndrás Salamon), การบล็อกคำสั่งที่ได้รับการแนะนำใน:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.