การวัดความยากลำบากของอินสแตนซ์ SAT


28

รับตัวอย่างของ SAT ฉันต้องการประเมินความยากลำบากในการแก้ไขอินสแตนซ์

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

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


คำถามที่เกี่ยวข้อง

ปัญหา SAT ใดที่ง่าย? บน cstheory.SE คำถามนี้ถามเกี่ยวกับชุดอินสแตนซ์ที่หาได้ นี่เป็นคำถามที่คล้ายกัน แต่ไม่เหมือนกันทั้งหมด ฉันสนใจฮิวริสติกที่ให้อินสแตนซ์เดียวทำให้เดากึ่งอัจฉริยะว่าถ้าอินสแตนซ์นั้นยากที่จะแก้ไข


คุณช่วยอธิบายได้ไหมว่าทำไมการเปลี่ยนเฟสของ "ความหนาแน่น" ไม่ใช่สิ่งที่คุณต้องการ?
Raphael

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

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

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

คุณอาจพบว่ามีประโยชน์: ece.uwaterloo.ca/~vganesh/QPaper/paper.pdf
ผู้ใช้

คำตอบ:


22

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

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

อีกวิธีหนึ่งได้มุ่งเน้นไปที่บทบาทของโครงสร้างที่ซ่อนอยู่ของอินสแตนซ์ ตัวอย่างหนึ่งคือชุดแบ็คดอร์ซึ่งหมายถึงชุดของตัวแปรเช่นว่าเมื่อพวกมันถูกสร้างอินสแตนซ์ปัญหาที่เหลืออยู่จะลดความซับซ้อนลงไปในคลาสที่ใช้การได้ ตัวอย่างเช่นWilliams et al., 2003 [1] แสดงให้เห็นว่าแม้เมื่อคำนึงถึงค่าใช้จ่ายในการค้นหาตัวแปรแบ็คดอร์ก็ยังสามารถได้รับประโยชน์จากการคำนวณโดยรวมโดยมุ่งเน้นไปที่ชุดแบ็คดอร์ นอกจากนี้Dilkina et al., 2007 [2] โปรดทราบว่านักแก้ปัญหาที่เรียกว่าSatz-Randนั้นดีมากในการค้นหาแบ็กเน็ตขนาดเล็กที่แข็งแกร่งในช่วงของโดเมนทดลอง

อีกไม่นานAnsotegui et al., 2008 [3] เสนอการใช้พื้นที่ที่มีลักษณะคล้ายต้นไม้เป็นตัวชี้วัดสำหรับนักแก้ปัญหาที่ใช้ DPLL พวกเขาพิสูจน์ว่าพื้นที่ที่มีขอบเขตคงที่แสดงถึงการมีอยู่ของอัลกอริทึมการตัดสินใจเวลาแบบพหุนามกับพื้นที่ซึ่งเป็นระดับของพหุนาม (ทฤษฎีบท 6 ในบทความ) ยิ่งไปกว่านั้นพวกมันยังแสดงพื้นที่ที่เล็กกว่าขนาดของวงจรการตัด ในความเป็นจริงภายใต้สมมติฐานบางพื้นที่ก็มีขนาดเล็กกว่าขนาดของแบ็คดอร์

พวกเขายังทำเป็นระเบียบในสิ่งที่ฉันคิดว่าคุณเป็นหลังจากนั้นคือ:

ψΓO(nψ(Γ))


[1] วิลเลียมส์ไรอันคาร์ล่าพี. โกเมสและบาร์ตเซลแมน "เปลี่ยนไปใช้ความซับซ้อนของกรณีทั่วไป" การประชุมร่วมระหว่างประเทศเกี่ยวกับปัญญาประดิษฐ์ ฉบับ 18, 2003

[2] Dilkina, Bistra, Carla Gomes และ Ashish Sabharwal "การแลกเปลี่ยนในความซับซ้อนของการตรวจจับแบ็คดอร์" หลักการและการปฏิบัติในการโปรแกรม จำกัด (CP 2007), pp. 256-270, 2007

[3] Ansótegui, Carlos, Maria Luisa Bonet, Jordi Levy และ Felip Manya "การวัดความแข็งของอินสแตนซ์ SAT" ในการประชุมวิชาการปัญญาประดิษฐ์แห่งชาติครั้งที่ 23 (AAAI'08), หน้า 222-228, 2551


ψ(Γ)

@ ArtemKaznatcheev ฉันคิดว่าชุดแบ็คดอร์น่าจะเป็นชุดเดียวที่ใช้จริงๆ เมื่อใช้ตัวแก้ปัญหาเราไม่สนใจความแข็งของสูตร ตัวอย่างจะต้องได้รับการแก้ไข การวัดต้องให้ความได้เปรียบในการคำนวณกับเราหรือบางทีเราสามารถใช้มันเพื่อเลือกฮิวริสติกที่เหมาะสม นอกจากนั้นฉันคิดว่าการวัดความแข็งยังคงเป็นการทดลองที่ค่อนข้างดี
Juho

1

เมื่อคุณทราบเกี่ยวกับการเปลี่ยนเฟสให้ฉันพูดถึงการตรวจสอบง่ายๆอื่น ๆ ที่ฉันทราบ

  • เครื่องกำเนิดสัญญาณ SAT แบบสุ่มบางต้นสร้างสูตรที่ง่ายที่สุดโดยไม่ตั้งใจเพราะใช้ "ความหนาแน่นคงที่" ซึ่งหมายถึงสัดส่วนที่เท่ากันทุกความยาวของประโยค สิ่งเหล่านี้ส่วนใหญ่ง่ายเพราะ 2 ข้อและหน่วยทำให้ปัญหาง่ายขึ้นอย่างมีนัยสำคัญตามที่ควรคาดหวังและส่วนคำสั่งที่ยาวมาก ๆ ไม่ได้เพิ่มการแตกแขนงหรืออำนวยความสะดวกในการแก้ปัญหาไฮเปอร์มากยิ่งขึ้น ดังนั้นดูเหมือนว่าดีกว่าที่จะติดกับอนุประโยคที่มีความยาวคงที่และเปลี่ยนแปลงพารามิเตอร์อื่น ๆ
  • |x|* * * *|¬x|x
  • โวลต์1,โวลต์2,โวลต์3{โวลต์1,โวลต์2,...},{โวลต์2,โวลต์3,...},{โวลต์1,โวลต์3,...}

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


0

เหนือคำตอบที่ยอดเยี่ยมของ Juho ต่อไปนี้เป็นแนวทางอื่น:

Ercsey-Ravasz & Toroczkai ความกระด้างการปรับให้เหมาะสมเป็นความโกลาหลชั่วคราวในแนวทางอะนาล็อกเพื่อความพึงพอใจของข้อ จำกัดปริมาณฟิสิกส์ธรรมชาติ 7 หน้า 966–970 (2011)

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

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

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

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


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

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