คำอธิบายเชิงทฤษฎีสำหรับความสำเร็จในทางปฏิบัติของนักแก้ปัญหา SAT?


43

คำอธิบายเชิงทฤษฎีอะไรบ้างที่จะช่วยให้นักแก้ปัญหา SAT ประสบความสำเร็จในทางปฏิบัติและใครบางคนสามารถให้ภาพรวมและคำอธิบายแบบ "วิกิพีเดีย" และผูกคำอธิบายทั้งหมดไว้ด้วยกัน?

โดยการเปรียบเทียบการวิเคราะห์ที่ราบรื่น ( เวอร์ชั่น arXiv )) สำหรับอัลกอริธึม simplex เป็นงานที่ยอดเยี่ยมที่อธิบายว่าทำไมมันทำงานได้ดีในทางปฏิบัติแม้ว่าข้อเท็จจริงที่ว่ามันต้องใช้เวลาชี้แจงในกรณีที่เลวร้ายที่สุดและรุ่นNP-mighty ( รุ่น arXiv )

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

ฉันพบว่าผลลัพธ์เกี่ยวกับการเปลี่ยนเฟสเป็นเพียงบางส่วนที่น่าพอใจในเรื่องนี้อย่างน้อยก็ในความเข้าใจที่ จำกัด ของฉันในปัจจุบัน วรรณคดีการเปลี่ยนเฟสเกี่ยวข้องกับอินสแตนซ์ของการสุ่ม k-SAT แต่มันอธิบายอะไรเกี่ยวกับอินสแตนซ์ในโลกแห่งความเป็นจริงหรือ ฉันไม่ได้คาดหวังว่าอินสแตนซ์ของโลกแห่งความเป็นจริงของ SAT จะดูเหมือนอินสแตนซ์สุ่ม ฉันควร? มีเหตุผลหรือไม่ที่จะคิดว่าการเปลี่ยนเฟสบอกเราบางสิ่งบางอย่างแม้แต่สังหรณ์ใจเกี่ยวกับอินสแตนซ์ในโลกแห่งความเป็นจริงแม้ว่าพวกเขาจะดูไม่เหมือนอินสแตนซ์สุ่มหรือไม่?

คำถามที่เกี่ยวข้องที่ช่วย แต่ไม่ตอบคำถามของฉันอย่างสมบูรณ์โดยเฉพาะอย่างยิ่งคำขอผูกสิ่งต่าง ๆ เข้าด้วยกันเป็นภาพที่สอดคล้องกัน:


5
นี่ไม่ใช่คำตอบ แต่ฉันไม่คิดว่าคนจำนวนมากยังเชื่อว่าโครงสร้างกราฟ / แบ็คดอร์สามารถอธิบายการทำงานของนักแก้ปัญหา SAT ได้ ดูเหมือนว่าจะมีความเกี่ยวข้องกับปัญหาที่ยากขึ้นเช่น #SAT, QBF หรือการรวบรวมความรู้ซึ่งคุณจำเป็นต้องค้นหาข้อเท็จจริงที่ชาญฉลาดในขณะที่คุณต้องสำรวจโครงสร้างทั้งหมด สำหรับคำถามของคุณฉันถูกล่อลวงให้ตอบว่า "ไม่มีใครรู้จริง ๆ และนี่เป็นพื้นที่การวิจัยที่กระตือรือร้น" แต่ฉันต้องรวบรวมการอ้างอิงเพื่อแสดงสิ่งที่ผู้คนพยายามและอาจมีคนที่มีมุมมองที่กว้างกว่าฉันที่สามารถให้คำตอบที่ดีกว่า
holf

2
@ โจชัว: วิธีการที่ง่ายคือแม้กระทั่ง PSPACE-mighty (Fearnley และ Savani, STOC 15)
ราหุลซาวานี

1
usually

3
@ayfunPay: ฉันไม่ได้ถามประสบการณ์ของคุณ - ในความเป็นจริงฉัน 100% เชื่อว่าปัญหา "ชีวิตจริง" แปลเป็นอินสแตนซ์ SAT ที่ไม่ได้อยู่ในช่วงเปลี่ยนผ่าน แต่ฉันไม่คิดว่าจะอธิบายความสะดวกสบายของอินสแตนซ์ดังกล่าวเนื่องจากอินสแตนซ์เหล่านั้นไม่ได้สุ่มดังนั้นการเปลี่ยนเฟส (ในทางทฤษฎี) ควรมีเล็กน้อยที่จะพูดเกี่ยวกับพวกเขา
Joshua Grochow

2
สิ่งนี้ได้ถูกกล่าวถึงในที่อื่นแล้ว แต่สิ่งสำคัญคือต้องทราบว่าความหนาแน่นของประโยคและการเปลี่ยนเฟสนั้นเกี่ยวข้องกับการสุ่ม k-SAT เท่านั้นและไม่มีอะไรจะทำซึ่งความแข็งของอินสแตนซ์นั้นมาจากปัญหาอุตสาหกรรมหรือ combinatorial ดังนั้นการสนทนาส่วนใหญ่ข้างต้นจึงเป็นประเด็น นอกจากนี้ยังเป็นที่น่าสังเกตว่าเกี่ยวกับการสุ่ม k-SAT ไม่มีรูปแบบที่ง่ายต่อการยากจริง ๆ --- สำหรับระบบการพิสูจน์ที่เรามีขอบเขตที่ต่ำกว่าสำหรับสูตร k-CNF ที่สร้างแบบสุ่มสูตรยังคงยากอย่างมาก ความหนาแน่นสูงกว่าขีด จำกัด
Jakob Nordstrom

คำตอบ:


21

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

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

ดูเหมือนว่าประสิทธิภาพของนักแก้ปัญหา SAT เหล่านี้ในการวัดประสิทธิภาพมาจากการวิเคราะห์พฤติกรรมสองอย่าง (และตัวแปร):

  1. VSIDS heuristic fir เลือกตัวแปรที่จะแตกสาขาในครั้งต่อไป
  2. CDCL: การเรียนรู้ประโยคที่ขับเคลื่อนด้วยความขัดแย้งซึ่งเรียนรู้ประโยคใหม่จากความขัดแย้ง

เป็นที่ทราบกันดีว่าการพิสูจน์ DPLL นั้นสอดคล้องกับการพิสูจน์อย่างละเอียด หากไม่มี CDCL เราจะได้รับการพิสูจน์ความละเอียดเพียงอย่างเดียวคือการพิสูจน์ความละเอียดต้นไม้ที่อ่อนกว่าการพิสูจน์ความละเอียดทั่วไป

มีผลลัพธ์ที่แสดงด้วย CDCL เราสามารถรับการพิสูจน์ความละเอียดทั่วไปได้ อย่างไรก็ตามมีข้อแม้พวกเขาต้องการการรีสตาร์ทเทียมการแยกกิ่งและ / หรือการประมวลผลล่วงหน้าโดยเฉพาะดังนั้นจึงไม่ชัดเจนว่าปิดโปรแกรมเหล่านี้กับโปรแกรมเหล่านี้ในทางปฏิบัติอย่างไร ดูเช่นกระดาษต่อไปนี้สำหรับรายละเอียดเพิ่มเติม:


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


αF(v,i)i0<α<1vn

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

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


มีผลลัพธ์ที่แสดงการใช้งานโดยเฉพาะอย่างยิ่งของความคิดเหล่านี้สอดคล้องกับน้ำหนักศูนย์กลางของจุดยอดในกราฟแบบไดนามิก

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


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

ที่น่าสนใจแม้แต่ปรากฏการณ์ธรณีประตูมีความซับซ้อนมากกว่าที่คนส่วนใหญ่คิด Moshe Vardi กล่าวไว้ในคำปราศรัยของเขาว่า " ช่วงการเปลี่ยนผ่านและความซับซ้อนในการคำนวณ " ซึ่งเวลาเฉลี่ยของ GRASP ยังคงเป็นเลขชี้กำลังสำหรับสูตร 3SAT แบบสุ่มหลังจากธรณีประตู ไม่ชัดเจนว่าจะลดลงเร็วแค่ไหน)


เหตุใดเราจึงเรียนนักแก้ปัญหา SAT (ในฐานะนักทฤษฎีความซับซ้อน) ฉันคิดว่าคำตอบนั้นเหมือนกับอัลกอริธึมอื่น ๆ : 1. เปรียบเทียบพวกเขา 2. ค้นหาข้อ จำกัด 3. ออกแบบคนที่ดีกว่า 4. ตอบคำถามพื้นฐานของทฤษฎีความซับซ้อน

เมื่อสร้างโมเดลฮิวริสติกเรามักจะแทนที่ฮิวริสติกด้วยวิธีการแบบ nondeterminism คำถามจะกลายเป็นว่า "ทดแทน" ยุติธรรม? และที่นี่ด้วยความยุติธรรมฉันหมายถึงแบบจำลองที่ช่วยให้เราตอบคำถามข้างต้นได้อย่างไร

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

ดังนั้นคำถามเมื่อดูแบบจำลองจะกลายเป็น: แบบจำลองนี้ช่วยอธิบายได้อย่างไรว่าเหตุใด SAT solver A จึงดีกว่า SAT solver B พวกเขามีประโยชน์อย่างไรในการพัฒนานักแก้ปัญหา SAT ให้ดีขึ้น? SAT แก้ปัญหาพบการพิสูจน์ในทางปฏิบัติที่ใกล้เคียงกับการพิสูจน์ที่ดีที่สุดในรูปแบบหรือไม่? ... เราต้องสร้างแบบจำลองตัวอย่างที่ใช้งานได้จริง

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

ดูคำตอบของ Jakob Nordstromสำหรับการพัฒนาล่าสุด


1
สิ่งนี้มีไว้สำหรับอินสแตนซ์ SAT ที่ได้รับจากการแยกจำนวนเต็มหรือไม่
Mohammad Al-Turkistany

1
heuristicheuristics
Tayfun จ่าย

1
@ มาร์ตินโดยไม่มี CDCL เราได้รับรูปแบบการแก้ปัญหาที่ จำกัด มากเท่านั้น (ฉันจำไม่ได้ว่ามีอะไรผิดปกติ) ผลลัพธ์ที่ได้จาก Paul Beame และอื่น ๆ ที่แสดงว่าด้วย CDCL และการรีสตาร์ทคุณสามารถได้รับการพิสูจน์ความละเอียดทั่วไป (อย่างไรก็ตามการเลือกจุดรีสตาร์ทและกิ่งก้านเป็นสิ่งประดิษฐ์) ดูรายละเอียดของ Beame
Kaveh

3
@Martin, โปรดดูการสำรวจของ Jakob Nordstrom เช่น: csc.kth.se/~jakobn/project-proofcplx/docs/…
Kaveh

1
เกี่ยวกับความซับซ้อนของหลักฐานและ CDCL มันแสดงให้เห็นโดย Pipatsrisawat และ Darwiche sciencedirect.com/science/article/pii/S0004370210001669และเป็นอิสระโดย Atserias, Fichte และ Thurley jair.org/papers/paper3152.htmlที่ CDCL มองว่าเป็นระบบป้องกันสามารถ polynomially การจำลองความละเอียด (เอกสารระบุผลลัพธ์ที่แตกต่างกัน แต่สามารถใช้การพิสูจน์ในเอกสารทั้งสองเพื่อให้ได้ผลลัพธ์ในกระดาษอื่น) ข้อแตกต่างที่สำคัญจากงานวิจัยก่อนหน้าในงานวิจัยนี้คือไม่มีสิ่งประดิษฐ์ใน CDCL โมเดลเหล่านี้ [จะดำเนินการต่อ ... ]
Jakob Nordstrom

17

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

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

ถ้าใครจะต้องให้คำตอบหนึ่งประโยคฉันก็คิดว่า

ไม่มีใครรู้จริง ๆ และนี่เป็นพื้นที่ของการวิจัย

ค่อนข้างดีเท่าที่จะได้รับ ยกเว้นว่ามีพื้นที่มากขึ้นสำหรับกิจกรรมมากขึ้นโดยเฉพาะอย่างยิ่งจากด้านทฤษฎี

คำอธิบายที่นำเสนอบางส่วน (ไม่ได้เกิดขึ้นเฉพาะกัน) ซึ่งได้มีการพูดคุยกันแล้วในคำตอบและความคิดเห็นอื่น ๆ

  • (a) แบ็คดอร์
  • (b) การพิจารณาความซับซ้อนแปรผัน
  • (c) โครงสร้างกราฟของปัญหา CNF
  • (d) พิสูจน์ข้อพิจารณาที่ซับซ้อนและ
  • (e) การเปลี่ยนเฟส

เริ่มจากตอนท้าย (e) ดูเหมือนว่าจะมีความสับสนเกี่ยวกับการเปลี่ยนเฟส คำตอบสั้น ๆ ที่นี่คือไม่มีเหตุผลใด ๆ ที่จะเชื่อว่าอัตราส่วนของอนุประโยคต่อตัวแปรนั้นเกี่ยวข้องกับปัญหาที่นำมาใช้หรือปัญหาเชิงทฤษฎีเชิง combinatorial (หรือที่เรียกว่ากรณีที่สร้างขึ้น) แต่ด้วยเหตุผลบางอย่างมันเป็นความเข้าใจผิดที่ผิดปกติไม่มากเกินไปในส่วนที่นำไปใช้ของชุมชน SAT ว่าอัตราส่วนคำสั่งต่อตัวแปรควรเป็นมาตรการที่เกี่ยวข้องโดยทั่วไป อัตราส่วนข้อต่อตัวแปรมีความเกี่ยวข้องอย่างมากสำหรับการสุ่ม k-SAT แต่ไม่สำหรับรุ่นอื่น ๆ

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

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

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

งานวิจัยหนึ่งที่ฉันได้ดำเนินการเป็นการส่วนตัวว่าการปฏิบัติ SAT นั้นมีความสัมพันธ์กับการวัดความซับซ้อนที่พิสูจน์ได้ของสูตร CNF หรือไม่ น่าเสียดายที่คำตอบสั้น ๆ น่าจะเป็นว่าไม่มีการเชื่อมต่อที่ชัดเจนและน่าสนใจ มันอาจเป็นไปได้ว่ามีความสัมพันธ์แบบไม่สำคัญ (นี่คือสิ่งที่เรากำลังตรวจสอบในรูปแบบที่แตกต่างกัน) แต่ดูเหมือนว่าทฤษฎีนั้นดีและสะอาดและสวยและความจริงก็ยุ่งเหยิงเกินกว่าจะมีคู่ที่ดีจริงๆ (เกี่ยวกับกระดาษที่เกี่ยวข้องกับการวัดความซับซ้อนของการพิสูจน์และความแข็งของ SATโดยJärvisalo, Matsliah, NordströmและŽivnýใน CP '12 มันกลับกลายเป็นว่าการทดลองที่มีรายละเอียดมากขึ้นให้ภาพที่ซับซ้อนมากขึ้นพร้อมข้อสรุปที่ชัดเจนน้อยลง - เราหวังว่าจะได้รับรายงานฉบับสมบูรณ์ในทศวรรษนี้ แต่มันก็ซับซ้อน แต่ก็ยังน่าสนใจอยู่ดี)

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

สองข้อที่ควรกล่าวถึงเป็นข้อยกเว้นสำหรับเรื่องนี้คือ [Pipatsrisawat and Darwiche 2011] และ [Atserias, Fichte และ Thurley 2011] ซึ่งแสดงให้เห็นว่าประโยคที่ขับเคลื่อนด้วยความขัดแย้งในการเรียนรู้นักแก้ SAT แบบจำลองตามธรรมชาติมี ศักยภาพในการจำลองพหุนามความละเอียดเต็มรูปแบบทั่วไป มีรายการเอกสารที่ค่อนข้างยาวก่อนหน้า [PD11] และ [AFT11] ที่อ้างสิทธิ์ผลลัพธ์เดียวกัน แต่พวกเขาทั้งหมดมีปัญหาร้ายแรงเกี่ยวกับการสร้างแบบจำลอง (มันเป็นความจริงที่ [PD11] และ [AFT11] ต้องการสมมติฐานบางอย่างในการทำงาน แต่มันก็เป็นสิ่งที่เล็กที่สุดที่คุณคาดหวังเว้นแต่คุณจะขอเอกสารที่จะแสดงให้เห็นว่าลำดับความซับซ้อนของพารามิเตอร์ที่ยุบลงไป)

อีกครั้งฉันเขียนทั้งหมดนี้อย่างรวดเร็ว แต่ถ้ามีความสนใจอย่างมากสำหรับสิ่งใด ๆ ข้างต้นฉันสามารถลองทำอย่างละเอียด (แม้ว่ามันอาจใช้เวลาสักครู่เพื่อกลับไปที่นี้อีกครั้ง - โปรดส่ง ping ฉันหากมี เป็นสิ่งที่คุณต้องการให้ฉันแสดงความคิดเห็นใน) ในฐานะที่เป็นวิธีที่รวดเร็วในการให้การอ้างอิงขอให้ฉันทำปลั๊กตัวเองที่ไร้ยางอาย (แม้ว่าความอัปยศจะลดลงบ้างเมื่อฉันเห็นว่าความคิดเห็นบางส่วนได้อ้างถึงการอ้างอิงเหล่านี้ด้วย):

การสอนสไตล์การสอนเกี่ยวกับการมีปฏิสัมพันธ์ระหว่างความซับซ้อนของการพิสูจน์และการแก้ SATที่โรงเรียนภาคฤดูร้อนระหว่างประเทศเกี่ยวกับความพอใจทฤษฎีโมดูโลที่น่าพอใจและการใช้เหตุผลอัตโนมัติในปี 2559 ด้วยการอ้างอิงแบบเต็มจำนวนในตอนท้ายของสไลด์: http://www.csc .kth.se / ~ jakobn / วิจัย / TalkInterplaySummerSchool2016.pdf

เมื่อเร็ว ๆ นี้เล็กน้อยและพูดคุยสำรวจสำรวจทำความเข้าใจเกี่ยวกับการแก้ปัญหาความขัดแย้ง SAT ผ่านเลนส์แห่งความซับซ้อนที่พิสูจน์ได้จากต้นปี 2560 (รวมถึงการอ้างอิงแบบเต็มในตอนท้าย): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf

การสำรวจการเชื่อมต่อระหว่างความซับซ้อนของการพิสูจน์และการแก้ SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [อ้างอิงบรรณานุกรม: Jakob Nordström ในการมีปฏิสัมพันธ์ระหว่างความซับซ้อนของการพิสูจน์และการแก้ SAT ACM SIGLOG News,เล่มที่ 2, หมายเลข 3, หน้า 19-44, 2015 กรกฎาคม (แก้ไขรุ่นที่มีการพิมพ์ผิดเล็กน้อย)]

SAT '16 กระดาษที่มีรูปแบบ CDCL อย่างซื่อสัตย์เป็นระบบพิสูจน์: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [อ้างอิงบรรณานุกรม: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordströmและ Marc Vinyals แลกเปลี่ยนระหว่างเวลาและความทรงจำในตัวแก้ CDCL SAT ที่เข้มงวดมากขึ้น ในรายงานการประชุมวิชาการระดับนานาชาติครั้งที่ 19 เรื่องทฤษฎีและการประยุกต์ใช้การทดสอบความพึงพอใจ (SAT '16),บันทึกการบรรยายในวิทยาการคอมพิวเตอร์, เล่ม 9710, หน้า 160-176, กรกฎาคม 2016]


16

ฉันขอเพิ่มความเข้าใจสองเซนต์ลงในสิ่งนี้แม้ว่าฉันจะไม่เคยทำงานในพื้นที่จริง

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

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

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

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

ฉันอาจจะดูแลจุดนี้เล็กน้อย แต่ประเด็นของฉันคือเมื่อนักแก้ปัญหา SAT โจมตีตัวอย่างการคาดเดา Erdos Discrepancy Conjecture พวกเขาประสบความสำเร็จด้วยเหตุผลที่แตกต่างจากเมื่อพวกเขาแก้ปัญหากรณีอุตสาหกรรมที่ได้จากการทดสอบวงจร

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

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


2
แมกนัสคุณมีประสบการณ์ในด้านนี้มากกว่าใครที่พยายามตอบคำถามนี้ เมื่อฉันกล่าวว่า "สองเซ็นต์ของฉัน" ฉันหมายถึงความจริงที่ว่าฉันได้ศึกษาปัญหา NP-Complete เพียงกลุ่มเดียวในวิทยานิพนธ์ของฉันและวิธีที่นักแก้ปัญหา CSP และ SAT พยายามแก้ไขปัญหาเหล่านี้จำนวนมาก ฉันมีประสบการณ์ประมาณหนึ่งปีในการใช้ CSP และ SAT ในสถานที่ทำงาน แต่อีกครั้งนั่นไม่ได้ใกล้เคียงกับประสบการณ์มากกว่า 10 ปีในสาขานี้ "สองเซ็นต์" ของคุณน่าจะคุ้มค่า "นักเก็ตทองคำสองคน" หนึ่งคำถาม.
Tayfun จ่าย

1
คุณระบุสิ่งต่อไปนี้ในคำตอบของคุณ "ไม่เป็นความจริงที่นักแก้ปัญหา SAT เป็นนักแก้ปัญหาที่ดีในระดับสากลสำหรับปัญหาใด ๆ ที่คุณส่งไปที่ .... " คุณสามารถดูอัตราส่วนของอนุประโยคต่อตัวแปร c = m / n สำหรับอินสแตนซ์เหล่านี้ได้หรือไม่? พูดอีกอย่างคือพวกเขาอยู่ที่เขตยากลำบากหรือไม่ c = ~ 4.2 หรือไม่? เนื่องจากสิ่งที่ฉันมีประสบการณ์ก็คือคุณจะต้องจบลงด้วยตัวแปรมากมายเมื่อคุณลดอินสแตนซ์ CSP ไปเป็นอินสแตนซ์ SAT และโดยปกติแล้วเนื่องจากเหตุผลนั้นและไม่ใช่เพราะมันอยู่ในพื้นที่ยากนักแก้ SAT ใช้เวลานาน เวลาที่จะแก้ไข
Tayfun จ่าย

1
ในทางกลับกันถ้าคุณรู้ว่าอินสแตนซ์เหล่านี้ลงเอยด้วยความยากลำบากของ SAT, c = ~ 4.2 แล้วฉันจะรู้ได้อย่างไรว่าปัญหาในชีวิตจริงนี้คืออะไร? ฉันจะสนใจเป็นอย่างยิ่งในการรู้ว่าปัญหาชีวิตจริงใดที่เกิดขึ้นในพื้นที่ที่ยากลำบากของ SAT เมื่อพวกเขาถูกลดทอนลงไป ขอบคุณ
Tayfun จ่าย

2
จริงๆแล้วฉันไม่มีประสบการณ์ในการแก้ SAT ในทางปฏิบัติ งานที่แท้จริงของฉันทั้งหมดอยู่ในทฤษฎีที่บริสุทธิ์ของคำถามนั้น แต่อาจเป็นไปได้อย่างที่เกี่ยวกับคำถามของคุณ: ความประทับใจของฉันคือผลลัพธ์สำหรับการสุ่ม k-SAT และความหนาแน่นของประโยค (ซึ่งคุณพูดถึง) จะมีผลเฉพาะเมื่ออินสแตนซ์การป้อนข้อมูลของคุณเป็นสูตรสุ่มอย่างสม่ำเสมอ นอกจากนี้โปรดสังเกตว่าขอบเขต ~ 4.2 จะใช้ได้เฉพาะถ้าสูตรคือ 3-SAT ซึ่งตรงข้ามกับสูตร CNF ที่มีความยาวผสมกัน
Magnus Wahlström

1
และจาก "ปัญหาที่แก้ไม่ได้โดยนักแก้ปัญหา SAT" ฉันส่วนใหญ่หมายถึงปัญหาที่เชื่อว่าเป็นเรื่องยากจริง ๆ เช่นการทำลาย crypto ที่ดี อย่างไรก็ตามยังมีสูตรที่ไม่มีตัวแก้ปัญหา CDCL ที่จะสามารถแก้ปัญหาได้อย่างมีประสิทธิภาพเนื่องจากขอบเขตล่างของข้อพิสูจน์เชิงทฤษฎีเช่นสูตรหลักของหลุมนกพิราบ ฉันเห็นการพูดคุยอย่างน้อยหนึ่งครั้งกับข้อความ "นักแก้ปัญหา CDCL SAT ล้มเหลวในตัวฉัน" ซึ่งการขุดเล็กน้อยเผยให้เห็นว่าการเข้ารหัสปัญหาของพวกเขาซ่อนแง่มุมเหมือนนกพิราบ (เช่นมีปัญหาการมอบหมายบางอย่าง) น่าเสียดายที่ฉันจำรายละเอียดไม่ได้
Magnus Wahlström

15

มีเอกสาร "ความสัมพันธ์ที่ซับซ้อนและมาตรการเชิงพิสูจน์ความแข็งของ SAT " โดย Matti Järvisalo, Arie Matsliah, Jakob Nordströmและ Stanislav Živnýใน CP '12 ที่พยายามเชื่อมความแข็งหรือความสะดวกในการแก้สูตรบางอย่างด้วย CDCL มาตรการที่ซับซ้อนในพื้นที่พิสูจน์ความละเอียดโดยเฉพาะ ผลลัพธ์ค่อนข้างผสม แต่เป็นขั้นตอนในทิศทางที่ถูกต้องที่ฉันคิด


น่าเสียดายที่คำตอบสั้น ๆ น่าจะเป็นว่าไม่มีการเชื่อมต่อที่ชัดเจนและน่าสนใจในการพิสูจน์ความซับซ้อนของมาตรการ มันอาจเป็นไปได้ว่ามีความสัมพันธ์ที่ไม่ใช่เรื่องไร้สาระ แต่ดูเหมือนว่าทฤษฎีนั้นสะอาดเกินไปและความจริงก็ยุ่งเหยิงเกินกว่าที่จะมีการแข่งขันที่ดีจริงๆ เกี่ยวกับเอกสาร "ความสัมพันธ์การพิสูจน์ความซับซ้อนหลักฐาน" ได้กลายเป็นว่าการทดลองที่มีรายละเอียดมากขึ้นให้ภาพที่ซับซ้อนมากขึ้นโดยมีข้อสรุปที่ชัดเจนน้อยกว่า - เราหวังว่าจะได้รับรายงานฉบับเต็มของวารสารฉบับนี้ในทศวรรษนี้ แม้ว่าจะยังคงน่าสนใจ
Jakob Nordstrom

15

ฉันไม่ได้เป็นผู้เชี่ยวชาญในเรื่องนี้ แต่ฉันคิดว่าสิ่งที่เปลี่ยน SAT / เฟสแบบสุ่มนั้นไม่เกี่ยวข้องกับอุตสาหกรรม / การใช้งานจริง

เช่นตัวแก้ที่ดีมากสำหรับอินสแตนซ์สุ่ม (เช่นhttps://www.gableske.net/dimetheus ) นั้นใช้วิธีทางสถิติเชิงสถิติ (การขยายพันธุ์ความเชื่อเป็นต้น) ฉันเชื่อในขณะที่ตัวแก้ปัญหาทั่วไปที่ดีมาก (เช่น ในฐานะที่เป็นhttp://fmv.jku.at/lingeling/ ) กำลังใช้เทคนิคที่ไม่เกี่ยวข้อง (เหมือนสิ่งที่ Kaveh พูดถึง) ผมเชื่อว่า

แต่อย่างที่ฉันพูดอาจจะไม่ใช้คำของฉันมัน สิ่งนี้มาจากผู้เชี่ยวชาญที่ไม่แน่นอน


ใช่. SAT แบบสุ่มและ SAT เชิงอุตสาหกรรมเป็นเกมที่แตกต่างอย่างสิ้นเชิงและวิธีการที่ใช้นั้นแตกต่างกัน และนอกจากนี้หากคุณต้องการแก้ปัญหากรณี combinatorial ยากจริงๆแล้วเทคนิคอื่น ๆ ก็ประสบความสำเร็จมากกว่า (ตัวอย่างเช่นหากปัญหายากพอการเรียนประโยคนั้นไม่ได้ผลยกเว้นในท้องถิ่นเท่านั้น) แต่อย่างใดดูเหมือนว่าเป็นความเข้าใจผิดที่ค่อนข้างเป็นธรรม (อย่างน้อยในด้านการประยุกต์ใช้ของชุมชน SAT) ว่าอัตราส่วนของอนุประโยคต่อตัวแปรควรจะเกี่ยวข้องกับอินสแตนซ์ CNF SAT ใด ๆ และไม่เพียง แต่สำหรับการสุ่มเท่านั้น
Jakob Nordstrom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.