เงื่อนไขสำหรับความสามารถในการรองรับของ 3SAT-Satisfiability


12

สิ่งที่ฉันสงสัยโดยเฉพาะคือถ้ามีเงื่อนไขที่น่าสนใจเกี่ยวกับเปอร์เซ็นต์ของการมอบหมายที่เป็นไปตามสูตร 3SAT เพื่อรับประกันว่าปัญหาดังกล่าวจะสามารถแก้ไขได้

ตัวอย่างเช่นคลาสของปัญหา 3SAT ที่จากการมอบหมายที่เป็นไปได้เป็นไปตามสูตรบูลีน เราจะพบการมอบหมายที่น่าพอใจได้อย่างมีประสิทธิภาพหรือไม่? สำหรับสิ่งที่\ epsilonเป็นปัญหาที่เกิดขึ้นใน P?ϵ(n)2n2nϵ

แก้ไขหมายเหตุ: แทนที่ϵด้วยϵ(n)เพื่อกำจัดความสับสน


4
ข้อสังเกตง่ายๆ: ถ้าϵมีขนาดเล็กที่สุดผกผันผกผันแล้วการสุ่มตัวอย่าง1/ϵเท่ากันจะให้ผลเฉลยตามเวลาพหุนาม ดังนั้นถ้าϵอยู่ระหว่าง 1 และ 1 / โพลี (n) ปัญหานี้ง่าย (อยู่ใน ZPP)
Robin Kothari

1
ในทำนองเดียวกันถ้า 1 / eps เป็น quasipolynomial แล้วคุณมีอัลกอริทึมเวลา quasipoly แบบสุ่มซึ่งตัวเองจะน่าแปลกใจ
Suresh Venkat

คำตอบ:


12

ใช่. ถ้า0<ϵ<1เป็นค่าคงที่ (หรือ1/polylog(n) ) และคุณได้รับสัญญาว่าอย่างน้อยϵ2nของการมอบหมายที่เป็นไปได้ทั้งหมดจะพอใจกับอินพุต 3CNFs แล้วคุณสามารถค้นหา ดังกล่าวที่ได้รับมอบหมายในการกำหนดพหุนามเวลา

อัลกอริทึมไม่ยาก:

เรียกร้อง: ภายใต้สัญญาดังกล่าวต้องมีค่าคงที่ขนาดชุดของตัวแปรที่ฮิตคำสั่งทั้งหมดใน 3CNF ในแง่ที่ว่าทุก 3 ข้อจะต้องมีตัวแปรจากSSS

หลักฐานการอ้างสิทธิ์ (ร่าง): มิฉะนั้นจะต้องมีครอบครัวใหญ่พอที่จะมี 3 อนุประโยคจาก 3CNF ซึ่งแต่ละตัวแปรเกิดขึ้นเพียงครั้งเดียว แต่ตระกูลนี้เมื่อมีขนาดใหญ่พอมีจำนวนน้อยกว่าของการมอบหมายที่น่าพอใจ QEDϵ

ดังนั้นคุณสามารถเรียกใช้การมอบหมายให้ทั้งหมดได้ ภายใต้การกำหนดค่าคงที่ให้กับทุกครั้ง3CNF จะกลายเป็น 2CNF โดยการสันนิษฐานว่าจะเข้าถึง 3CNF ดั้งเดิม ตอนนี้คุณสามารถใช้อัลกอริทึมที่กำหนดค่าได้ของ polytime เพื่อค้นหาการกำหนดที่น่าพอใจสำหรับสูตร 2CNF โดยรวมแล้วคุณจะได้รับขอบเขตเวลาพหุนามSSS

ฉันคิดว่าอัลกอริทึมสำหรับ 2SAT ในบทความของ S. Cook ที่มีชื่อเสียงในปี 1971

อัลกอริทึมสำหรับ 3CNF นั้นมาจาก: L. Trevisan หมายเหตุเกี่ยวกับการนับที่กำหนดโดยประมาณสำหรับ k-DNF ใน Proc จาก - RANDOM, Springer-Verlag, หน้า 417-426, 2004

กระดาษต้นฉบับที่แสดงผลลัพธ์สำหรับ 3CNF คือ: E. Hirsch อัลกอริทึมที่กำหนดอย่างรวดเร็วสำหรับสูตรที่มีการมอบหมายที่น่าพอใจมากมาย Journal of the IGPL, 6 (1): 59-71, 1998


ขอบคุณสำหรับคำตอบ. จริง ๆ แล้วฉันสนใจเรื่องไม่คงที่แต่การเรียนรู้การดำรงอยู่ของอัลกอริทึมที่กำหนดขึ้นนั้นน่าสนใจ ฉันแก้ไขคำถามเพื่อให้ชัดเจนยิ่งขึ้น ϵ
Rafi Witten

1
@Rafi ผมคิดว่าการทำงานของอัลกอริทึมเดียวกันสำหรับการไม่คงที่(n) ϵ=1/polylog(n)
Iddo Tzameret

คุณสร้าง S อย่างไร
Radu GRIGore

1
@Radu ผมคิดว่าคุณสามารถทำเช่นนั้นอย่างตะกละตะกลาม: เลือกพลประโยคแรกC_1แล้วรับข้ออื่น มีตัวแปรเคลื่อนจากC_1ทำสิ่งนี้ต่อไปจนกว่าคุณจะไม่พบประโยคที่มีตัวแปรที่แยกจากกันไปยังประโยคที่คุณเลือกไว้แล้ว ดังนั้นตัวแปรในส่วนที่คุณเลือกจึงเป็นชุดการกดปุ่ม C1C2C1
Iddo Tzameret
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.