อัลกอริทึม SAT ไม่ใช้ DPLL


18

มีอัลกอริทึมใด ๆ สำหรับการแก้ SAT ซึ่งไม่ได้ใช้ DPLL หรือไม่ หรืออัลกอริทึมทั้งหมดที่ใช้โดยตัวแก้ SAT นั้นใช้ DPLL หรือไม่


คำตอบ:


21

การค้นหาความละเอียด (เพียงใช้กฎการแก้ปัญหาด้วยการวิเคราะห์พฤติกรรมที่ดี) เป็นอีกกลยุทธ์หนึ่งที่เป็นไปได้สำหรับนักแก้ปัญหา SAT ในทางทฤษฎีมันมีพลังทวีคูณมากกว่า (เช่นมีปัญหาที่มีการพิสูจน์สั้นลงแบบเอ็กซ์โปเนนเชียล) มากกว่า DPLL (ซึ่งใช้การแก้ปัญหาแบบต้นไม้ แต่คุณสามารถเพิ่มได้ด้วยการเรียนรู้ nogood เพื่อเพิ่มพลังของมัน) เปิดเท่าที่ฉันรู้) แต่ฉันไม่รู้การใช้งานจริงที่ทำงานได้ดีขึ้น

หากคุณไม่ จำกัด ตัวเองให้ทำการค้นหาเสร็จสิ้น WalkSat เป็นตัวแก้ปัญหาการค้นหาในท้องถิ่นซึ่งสามารถใช้เพื่อค้นหาวิธีแก้ไขที่น่าพอใจและมีประสิทธิภาพสูงกว่าการค้นหาโดยใช้ DPLL ในหลายกรณี ไม่มีใครสามารถใช้มันเพื่อพิสูจน์ว่าไม่น่าพอใจแม้ว่าจะมีการแคชการกำหนดทั้งหมดที่ล้มเหลวซึ่งหมายถึงข้อกำหนดหน่วยความจำแบบเอ็กซ์โปเนนเชียล

แก้ไข: ลืมที่จะเพิ่ม - สามารถใช้เครื่องบินตัดได้ (โดยลด SAT เป็นโปรแกรมจำนวนเต็ม) โดยเฉพาะอย่างยิ่ง Gomory ตัดพอเพียงเพื่อแก้ปัญหาโปรแกรมจำนวนเต็มใด ๆ ในกรณีที่เลวร้ายที่สุดอาจจำเป็นต้องมีเลขชี้กำลัง ฉันคิดว่าหนังสือ Computational Complexity ของ Arora & Barak มีตัวอย่างของระบบการพิสูจน์ที่สามารถใช้ในทางทฤษฎีสำหรับการแก้ SAT อีกครั้งฉันไม่ได้เห็นการใช้งานที่รวดเร็วนอกเหนือจากวิธีการตาม DPLL หรือการค้นหาในท้องถิ่น


9
DPLL พร้อมประโยคการเรียนรู้ (หรือการเรียนรู้ที่ไม่ดีอย่างที่คุณเรียก) และการรีสตาร์ทนั้นแสดงให้เห็นว่าเทียบเท่ากับวิธีแก้ปัญหาทั่วไป
Jan Johannsen

1
@JanJohannsen เอกสารนี้คุณอ้างถึงหรือไม่ arxiv.org/abs/1107.0044
Radu GRIGore

5
ใช่มีการปรับปรุงในบทความต่อไปนี้: Knot Pipatsrisawat และ Adnan Darwiche เกี่ยวกับพลังของการแก้ปัญหาการเรียนรู้ข้อ SAT เป็นเครื่องมือแก้ปัญหา ปัญญาประดิษฐ์ 175 (2), 2011, pp. 512-525 dx.doi.org/10.1016/j.artint.2010.10.002
Jan Johannsen

3
ในขณะที่กระดาษโดย Beame et al เชื่อมโยงโดย Radu Grigore แสดงให้เห็นว่าการแก้ปัญหาทั่วไปถูกจำลองด้วยอัลกอริทึม DPLL โดยเฉพาะกลยุทธ์การเรียนรู้ประดิษฐ์บทความข้างต้นแสดงให้เห็นถึงกลยุทธ์การเรียนรู้ตามธรรมชาติที่ใช้จริง
Jan Johannsen

12

การเผยแพร่การสำรวจเป็นอีกหนึ่งอัลกอริทึมที่ใช้กับความสำเร็จในปัญหา SAT บางประเภทโดยเฉพาะอย่างยิ่งการสุ่ม SAT เช่นเดียวกับ WalkSAT มันไม่สามารถใช้เพื่อพิสูจน์ความไม่พอใจ แต่ขึ้นอยู่กับแนวคิดที่แตกต่างกันมาก (อัลกอริธึมการส่งข้อความ) จาก WalkSAT



7

คุณสามารถพูดได้ว่าตัวแก้ CSP ทั้งหมดเป็นตัวแก้ SAT ด้วยเช่นกัน และมีเท่าที่ฉันรู้สองวิธีที่ใช้ใน CSP:

  • หมดแรง DFS ด้วยการค้นหาพื้นที่และตรวจสอบความสอดคล้องอาร์คที่น่าจะเป็นไปได้ว่าอาจใช้การโกนหนวดเพื่อให้แน่ใจว่าจะคงความสม่ำเสมอไว้โดยเร็วที่สุด
  • วิธีการท้องถิ่น (ค้นหาข้อห้ามจำลองการหลอม)

4

Monte Carlo Tree Search (MCTS)เพิ่งได้ผลลัพธ์ที่น่าประทับใจจากเกมเช่น Go แนวคิดพื้นฐานคร่าวๆคือการจำลองแบบแทรกสอดด้วยการค้นหาต้นไม้ มันมีน้ำหนักเบาและใช้งานง่ายหน้าศูนย์กลางการวิจัยที่ฉันเชื่อมโยงมีตัวอย่างเอกสารและรหัสบางส่วนเช่นกัน

Previti et al. [1] มีการสอบสวนเบื้องต้นของ MCTS ที่นำไปใช้กับ SAT พวกเขาเรียกอัลกอริธึมการค้นหาตาม MCTS UCTSAT ("ขอบเขตความมั่นใจสูงสุดที่ใช้กับต้นไม้ SAT" หากคุณต้องการ) พวกเขาเปรียบเทียบประสิทธิภาพของ DPLL และ UCTSAT กับอินสแตนซ์จากที่เก็บ SATLIB โดยมีเป้าหมายเพื่อดูว่า UCTSAT จะสร้างแผนภูมิการค้นหาที่เล็กกว่า DPLL อย่างมีนัยสำคัญหรือไม่

สำหรับอินสแตนซ์สุ่ม 3-SAT และสีกราฟแบนที่มีขนาดแตกต่างกันไม่มีความแตกต่างอย่างมีนัยสำคัญ อย่างไรก็ตาม UCTSAT ทำงานได้ดีขึ้นสำหรับอินสแตนซ์โลกแห่งความจริง ขนาดต้นไม้โดยเฉลี่ย (ในแง่ของจำนวนโหนด) สำหรับอินสแตนซ์การวิเคราะห์ข้อผิดพลาดวงจร SSA สี่แบบที่แตกต่างกันมีหลายพันรายการสำหรับ DPLL ในขณะที่น้อยกว่า 200 สำหรับ UCTSAT


[1] Previti, Alessandro, Raghuram Ramanujan, Marco Schaerf และ Bart Selman "UCT สไตล์ Monte-carlo ค้นหาความพึงพอใจแบบบูล" ใน AI * IA 2011: ปัญญาประดิษฐ์รอบตัวมนุษย์และอื่น ๆ หน้า 177-188 Springer Berlin Heidelberg, 2011


-4

DPLL ไม่ได้ระบุลำดับการเยี่ยมชมที่ผันแปรอย่างเคร่งครัดและมีงานวิจัยที่น่าสนใจมากมายที่ดูกลยุทธ์การโจมตีที่เรียงลำดับตัวแปรที่เหมาะสมที่สุด บางส่วนนี้รวมอยู่ในตรรกะการเลือกตัวแปรในอัลกอริทึม SAT ในความรู้สึกบางส่วนของการวิจัยนี้เป็นเบื้องต้นในการที่มันแสดงให้เห็นว่าลำดับการโจมตีตัวแปรที่แตกต่างกันนำไปสู่ข้อ จำกัด ตามลำดับที่แตกต่างกัน (ซึ่งมีความสัมพันธ์อย่างมากกับความแข็งตัวอย่าง) ในระยะแรกของการวิจัย


4
คุณเข้าใจที่ผมได้ถามขั้นตอนวิธีการไม่ได้ขึ้นกับ DPLL ?
ไม่ประสงค์ออกนาม

2
คุณเข้าใจหรือไม่ว่า"อิง"หมายถึงอะไร บอกคุณ : อย่าใช้คำถามของฉันเพื่อแสดงความคิดเห็นในสิ่งที่คุณต้องการแสดงความคิดเห็น!
ไม่ประสงค์ออกนาม

7
คุณกำลังพูดว่าพวกเขาเป็น DPLL สำหรับฉันดูเหมือนว่านี่เป็นการบอกว่ากฎเดือยที่แตกต่างกันสำหรับ simplex ให้อัลกอริทึมที่ไม่ใช่อัลกอริทึม simplex
Sasho Nikolov

7
ฉันเห็นด้วยกับ Sasho นอกจากนี้การวิจัยเกี่ยวกับการวิเคราะห์พฤติกรรมการเรียงลำดับตัวแปรไม่ได้อยู่ในช่วงเริ่มต้น ความสำคัญได้รับการตระหนักมานานแล้ว (จินตนาการผลที่ตามมาของ oracle ที่สมบูรณ์แบบ) และใช้เวลานานในการวิเคราะห์พวกเขา ฮิวริสติกการสั่งซื้อที่คุ้มค่าน่าสนใจมากขึ้นในนักแก้ปัญหา CSP และด้วยเหตุผลบางอย่างฉันไม่คิดว่าการวิจัยเกี่ยวกับพวกเขาจะเฟื่องฟูเหมือนการสั่งซื้อตัวแปร
Juho

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