ทำไม 2SAT ใน P


55

ฉันเจออัลกอริทึมพหุนามที่แก้ 2SAT ฉันพบว่ามันน่าประหลาดใจที่ 2SAT อยู่ใน P ซึ่งอินสแตนซ์ SAT (หรืออื่น ๆ อีกมากมาย) ทั้งหมดเป็น NP-Complete อะไรทำให้ปัญหานี้แตกต่างกัน สิ่งที่ทำให้มันจึงง่าย (NL-ที่สมบูรณ์แบบ - ง่ายยิ่งขึ้นกว่า P)?


18
ทำไมผู้คนถึงคิดว่านี่เป็นคำถามที่ไม่ดี
Peter Shor

12
สิ่งที่น่าสนใจอย่างหนึ่งคือถ้าคุณต้องการทราบจำนวนสูงสุดของคำสั่งที่น่าพอใจพร้อมกันในนิพจน์ 2SAT (เช่น Max2SAT) คุณจะกลับมาที่ NP-complete อีกครั้ง
Shaun Harker

11
นี่เป็นคำถามที่น่ากลัวเพราะมันไม่มีคำตอบที่เป็นประโยชน์หรือเป็นคำถามที่ยอดเยี่ยมเพราะคำตอบที่ถูกต้องคือ "ไม่มีใครรู้"
Jeffε

12
โปรดอ่านบทความ "ความซับซ้อนของปัญหาความพึงพอใจ: ทฤษฎีบทการกลั่นของ Schaefer"
Diego de Estrada

3
ถึง Guy ความจริงที่ว่า 2SAT นั้นอยู่ใน P ครอบคลุมเกือบทุกตำราความซับซ้อนมาตรฐานดังนั้นเมื่อคุณบอกว่าคุณเพิ่งสังเกตเห็นข้อเท็จจริงนี้ทำให้คำถามดูเหมือนว่าคุณยังไม่ได้อ่านตำรามาตรฐานที่ซับซ้อน
Kaveh

คำตอบ:


88

นี่คือคำอธิบายที่ใช้งานง่ายและไม่โอ้อวดตามคำตอบของ MGwynne

ด้วย -SAT คุณสามารถแสดงนัยของรูปแบบโดยที่และเป็นตัวอักษร แม่นยำมากขึ้นทุก -clauseสามารถเข้าใจได้เป็นคู่ของผลกระทบ A:และl_1 หากคุณตั้งค่าจริงจะต้องเป็นจริงเช่นกัน หากคุณตั้งเท็จต้องเป็นเท็จเช่นกัน ความหมายดังกล่าวตรงไปตรงมา: ไม่มีทางเลือกคุณมีเพียงa b a b 2 l 1l 2 ¬ l 1l 2 ¬ l 2l 1 a b b a 1 ¬ l l l ¬ l l2abab2l1l2¬l1l2¬l2l1abba1ความเป็นไปได้ไม่มีที่ว่างสำหรับการคูณกรณี คุณสามารถติดตามทุกการเชื่อมโยงที่เป็นไปได้และดูว่าคุณได้รับทั้งจากและจาก : ถ้าคุณทำเพื่อบางสูตร 2-SAT นั้นไม่น่าพอใจ ในกรณีที่จำนวนของโซ่ความเกี่ยวข้องที่เป็นไปได้นั้นถูก จำกัด ขอบเขตแบบพหุนามในขนาดของสูตรอินพุต¬lll¬ll

ด้วย -SAT คุณสามารถแสดงความหมายของรูปแบบโดยที่ ,และเป็นตัวอักษร ตอนนี้คุณกำลังมีปัญหา: ถ้าคุณตั้งค่าจริงดังนั้นหรือต้องเป็นจริง แต่อันใด คุณต้องเลือก: คุณมี 2 ความเป็นไปได้ นี่คือที่เป็นไปได้ในการคูณตัวพิมพ์ใหญ่และการระเบิดของ combinatorial เกิดขึ้นa b c a b c a b c3abcabcabc

กล่าวอีกนัยหนึ่ง -SAT สามารถแสดงความเป็นไปได้มากกว่าหนึ่งรายการในขณะที่ -SAT ไม่มีความสามารถดังกล่าว มันมีความเป็นไปได้มากกว่าหนึ่งอย่างแน่นอน (ความเป็นไปได้ในกรณีที่ -SAT,ความเป็นไปได้ในกรณีของ -SAT) ที่ทำให้เกิดการระเบิดแบบ combinatorial โดยทั่วไปของปัญหาที่ไม่สมบูรณ์2 2 3 k - 1 k3223k1k


6
ฉันหวังว่าฉันจะโหวตได้มากกว่านี้! คำตอบที่ดีกว่ามาก!
MGwynne

5
@MGwynne: ขอบคุณสำหรับความคิดเห็นที่ดีของคุณ คุณยินดีและคำตอบของคุณดีมากจริง ๆ !
Giorgio Camerani

8
นี่เป็นคำตอบที่ดีสำหรับคำถามที่ดี (IMHO) ดังที่ Mac Lane ได้เขียนขึ้น: "นักคณิตศาสตร์ที่มีประสิทธิภาพหรือมีเล่ห์เหลี่ยมได้รับการแนะนำให้รู้จักโดยไม่ต้องสงสัยเลยว่ามีแนวคิดนำทาง - แต่มันง่ายกว่าที่จะกล่าวถึงการยักย้ายถ่ายเทมากกว่าที่จะกำหนดความคิดด้วยคำพูด ... วิชาคณิตศาสตร์ช่วยให้ความคิดเปล่งประกายผ่านการแสดงการปรุงแต่ง " คำถามและคำตอบเฉพาะนี้ช่วย "ความคิดส่องผ่าน" (สำหรับฉัน) ขอบคุณ! :)
John Sidles

4
@ จอห์น: คุณยินดีมาก! ;-) ขอบคุณมากสำหรับความคิดเห็นที่ดีและมีน้ำใจของคุณฉันได้ชื่นชมมันจริงๆ ฉันไม่เห็นด้วยกับคำของ Mac Lane มากขึ้น
Giorgio Camerani

ตามคำตอบของ Giorgio Camerani สิ่งนี้ไม่คุ้มค่าที่จะลดปัญหา NP ใด ๆ ให้เป็น 3SAT ถ้าคุณแนะนำตัวแปรบูลีนที่มีจำนวนมากขึ้นมีคำสั่งที่มากขึ้นและไม่มีกำไรหรือกำไร Circuit SAT แทนเนื่องจากในปัญหาเหล่านี้คุณมีตัวแปรบูลีนที่น้อยกว่าและอนุประโยคที่น้อยลงและนั่นหมายความว่าอัลกอริทึมไร้เดียงสาที่ไร้เดียงสาแผนที่ karnaugh และอัลกอริทึม Quine-McClusky มีความซับซ้อนที่ดีกว่า: D
แลกเปลี่ยนอำลากองกลาง

31

พิจารณาความละเอียดของสูตร 2-SAT ตัวแก้ไขใด ๆ มีขนาดไม่เกิน 2 (โปรดทราบว่าถ้าสำหรับส่วนที่มีความยาวและ resp) จำนวนอนุประโยคขนาด 2 เป็นกำลังสองในจำนวนตัวแปร ดังนั้นอัลกอริธึมการแก้ปัญหาจึงเป็น Pn , m 2 n mn+m22n,m2nm

เมื่อคุณไปถึง 3-SAT คุณจะได้ตัวทำละลายที่ใหญ่ขึ้นและใหญ่ขึ้นดังนั้นมันจึงเป็นรูปลูกแพร์ :)

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


3
"คุณไม่สามารถเข้ารหัสสิ่งต่าง ๆ เช่นความหมายได้" - IMP-SAT ยังมีใน P (และฉันคิดว่า NL)
สูงสุด

8
¬ p qpqเป็นเพียงQ ¬pq
Kaveh

1
Kaveh จุดดีคงที่แล้ว
MGwynne

ขณะที่ผมพูดไปแล้วเมื่อคุณมีการลดปัญหา NP ของคุณได้ตามใจชอบทั้งแบบบูล Satisfiability หรือวงจร SAT หรือ CNF SAT, ไม่ได้ลดปัญหาที่จะ 3SAT เพราะจะกลายเป็นปัญหามากขึ้นหนักขึ้นและซับซ้อนที่มีตัวแปรบูลีนมากขึ้นและข้อ แม้แต่อัลกอริธึมการแก้ปัญหาก็มีประสิทธิภาพน้อยลงในปัญหาใหม่!
แลกเปลี่ยนอำลากอง

20

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

มีจริงหลายชั้นเรียนของอินสแตนซ์ SAT ที่สามารถตัดสินใจในเวลาพหุนามและ 2-SAT เป็นเพียงหนึ่งในเหล่านี้เรียนเวไนย เหตุผลสามประการที่สามารถทำให้ระบบย่อยได้ง่ายมีสามประเภท:

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

  2. (ความสามารถในการเข้าใจภาษา) คลาสของอินสแตนซ์ SAT ใด ๆ ที่รูปแบบของตัวแปร True-false คือ "ดี" สามารถแก้ไขได้ในเวลาพหุนาม แม่นยำยิ่งขึ้นรูปแบบของตัวอักษรกำหนดภาษาของความสัมพันธ์และ Schaefer จำแนกหกภาษาที่นำไปสู่การสามารถจัดการได้แต่ละแบบมีอัลกอริทึมของตัวเอง 2-SAT จัดเป็นหนึ่งในหกคลาส Schaefer

  3. (Hybridabilityability) นอกจากนี้ยังมีบางคลาสของอินสแตนซ์ที่ไม่ตกอยู่ในอีกสองหมวดหมู่ แต่สามารถแก้ไขได้ในเวลาพหุนามด้วยเหตุผลอื่น

    • Dániel Marx, คุณสมบัติกราฟิคไฮเปอร์กราฟเพื่อความพึงพอใจของข้อ จำกัด และข้อความค้นหาที่เชื่อมโยง , STOC 2010 ( doi , preprint )
    • โทมัสเจ Schaefer ความซับซ้อนของปัญหาความพึงพอใจ STOC 1978 ( ดอย )

2
นอกจากนี้ยังมีข้อโต้แย้งตามโครงสร้างของพื้นที่การแก้ปัญหาจากวรรณกรรม k-SAT แบบสุ่มที่สามารถใช้เพื่ออธิบายความแตกต่าง
Kaveh

3
@Kaveh: คำอธิบายของฉันเกี่ยวกับความสามารถในการไฮบริดสลีควรจะคลุมเครือพอที่จะรวมสิ่งต่าง ๆ ตัวอย่างเช่นสำหรับอินสแตนซ์ชนิดพิเศษมาก ๆ เราสามารถสร้างข้อโต้แย้งสำหรับความพึงพอใจบนพื้นฐานของLovász Local Lemma ดูการสำรวจปี 1997 โดย Pearson และ Jeavons: cs.ox.ac.uk/publications/publication1610-abstract.html
András Salamon

3
นอกจากนี้โปรดทราบว่า SAT เป็นกรณีพิเศษของปัญหาความพึงพอใจของข้อ จำกัด ที่ทุกตัวแปรสามารถรับ 2 ค่าได้ เมื่อตัวแปรสามารถรับค่าได้ 3 คลาสจะมีคลาสภาษา 10 ภาษาที่แยกย่อยได้โดย Andrei Bulatov: cs.sfu.ca/~abulatov/papers/3-el-journal.ps คลาสไฮบริดยังน่าสนใจมากขึ้นสำหรับโดเมนขนาดใหญ่
András Salamon

10

หากคุณเข้าใจอัลกอริทึมสำหรับ 2SAT คุณรู้อยู่แล้วว่าทำไมมันถึงอยู่ใน P - นี่คือสิ่งที่อัลกอริทึมแสดงให้เห็นอย่างแม่นยำ ฉันคิดว่าการ์ตูนเรื่องนี้แสดงให้เห็นถึงจุดของฉัน อย่างที่คุณรู้อยู่แล้วว่าทำไม 2SAT ถึงอยู่ใน P สิ่งที่คุณอาจอยากรู้ก็คือทำไม 2SAT ถึงไม่แข็ง NP

เพื่อให้เข้าใจว่าเหตุใด 2SAT จึงไม่ใช่ปัญหา NP คุณต้องพิจารณาว่าการลดปัญหาอื่น ๆ ใน NP นั้นง่ายเพียงใด เพื่อให้เข้าใจง่ายยิ่งขึ้นให้ดูว่า SAT สามารถลดลงเป็น 3SAT ได้อย่างไรและลองใช้เทคนิคเดียวกันเพื่อลด SAT เป็น 2SAT 2SAT นั้นไม่ได้มีความหมายเหมือนกับ 3SAT และรุ่น SAT อื่น ๆ

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