การฝังโซลูชันเป็นไปได้สำหรับ SAT หรือไม่


10

ฉันสนใจปัญหาอินสแตนซ์ของ NP ที่สมบูรณ์

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

พิจารณาตัวอย่าง SAT กับเมตรข้อและnตัวแปรที่α = เมตร/ nคือ "มากพอ" ในแง่ที่ว่ามันตกอยู่ในภูมิภาคเกินช่วงหัวเลี้ยวหัวต่อที่เกือบทุกกรณีมี unsatisfiable ให้xเป็นสุ่มมอบหมายให้เป็นค่าของφϕmnα=ม./nxφ

เป็นไปได้หรือไม่ที่จะแก้ไขเพื่อรับอินสแตนซ์ใหม่ϕ | xดังนั้นϕ | xคือ "คล้ายกันมาก" กับϕแต่xนั้นเป็นคำตอบที่น่าพอใจสำหรับϕ | x ?φφ|xφ|xφxφ|x

ตัวอย่างเช่นเราอาจลองเพิ่มแต่ละประโยคตามตัวอักษรที่เลือกแบบสุ่มจากโซลูชันซึ่งไม่ได้เกิดขึ้นในประโยค นี่จะรับประกันได้ว่าเป็นคำตอบx

หรือนี่เป็นสิ่งสิ้นหวังที่นำไปสู่อัลกอริทึมที่รวดเร็วสำหรับการค้นหาวิธี "ซ่อนเร้น" ตามแนวของเอกสารล่าสุดต่อไปนี้หรือไม่?

  • ยูเรียลเฟก์และ Dorit รอนหาผู้คนที่ซ่อนอยู่ในเส้นเวลา , DMTCS proc AM, 2010, 189–204

ฉันตระหนักถึงการอภิปรายโดย Cook และ Mitchell และทำงานที่อ้างอิง อย่างไรก็ตามฉันไม่พบอะไรเกี่ยวกับสิ่งที่เกิดขึ้นกับโครงสร้างของสูตรเมื่อพยายามฝังการมอบหมายที่น่าพอใจอย่างชัดเจน ถ้านี่เป็นคติชน, พอยน์เตอร์จะยินดีมาก!

  • สตีเฟ่นเอ. คุกและเดวิดจีมิตเชลล์ค้นหาปัญหาที่น่าพึงพอใจของอินสแตนซ์: การสำรวจแบบไม่ต่อเนื่องในวิชาคณิตศาสตร์และทฤษฎีวิทยาการคอมพิวเตอร์ DIMACS แบบแยก35 35 1–17, AMS, ไอ 0-8218-0479-0, 1997 ( PS )

คำตอบ:


13

คุณสามารถใช้สูตรใดและเปลี่ยนเป็นสูตรφ ψ xที่ψ xเป็น "ยาก" เช่น SAT มีทางออกเดียวคือx วิธีหนึ่งในการสร้างสูตรดังกล่าวคือการใช้การเข้ารหัส: ถ้าf : { 0 , 1 } n{ 0 , 1 } nเป็นการเปลี่ยนรูปแบบทางเดียวและเราเลือกxที่สุ่มและตั้งy = f ( x )จากนั้นหนึ่ง สามารถแปลงYเป็นสูตร SAT เช่นว่าxφφψxψxx:{0,1}n{0,1}nxY=(x)Yxเป็นเพียงการแก้ปัญหาและทำให้การหาสอดคล้องกับการกลับหัวฉ (เราต้องการให้xนี้เป็นแบบสุ่ม แต่สิ่งที่คล้ายกันนี้จะถูกสันนิษฐานไว้ถ้าเราคิดว่าการหาxน่าจะยาก)xxx


อามีขนาดพหุนามในφและψ x ขอบคุณ! φψxφψx
András Salamon

6

หากฉันเข้าใจประเด็นหลักของคำถามของคุณอย่างถูกต้องคุณต้องการที่จะใช้อินสแตนซ์ที่ค่อนข้างง่าย (เนื่องจากคุณทำให้ตัวเองอยู่ในพื้นที่ที่) และแปลงให้เป็นฮาร์ดไดรฟ์โดยฝังโซลูชัน ฉันสงสัยว่าสิ่งนี้จะได้ผลม.n>4.3

ข้อมูลการทดลองแนะนำว่าเมื่อสร้างอินสแตนซ์แบบสุ่ม "รอบ" โซลูชันที่กำหนดไว้ล่วงหน้าอินสแตนซ์ดังกล่าวจะง่ายกว่าปกติ (เทียบกับอินสแตนซ์ที่คล้ายกันซึ่งมีnและmเดียวกัน) มันเหมือนกับว่าวิธีการแก้ปัญหาที่ซ่อนอยู่ช่วยแก้ปัญหา SAT, นำทางผ่านพื้นที่การค้นหา โดยปกติแล้วในการสร้างอินสแตนซ์ดังกล่าวเราจะสร้างประโยคแบบสุ่มตามปกติ (เช่นการเลือกตัวอักษรkโดยการสุ่มและลบแต่ละค่าด้วยความน่าจะเป็นp = 1xnม.k ) แต่เราทิ้งคำสั่งเหล่านั้นที่ไม่พอใจโดยวิธีซ่อนของเราx สำหรับสิ่งที่เกี่ยวข้องกับวิธีการสร้างϕ| xจากและอินสแตนซ์ที่ยากϕ: ฉันไม่เคยลองมาก่อน แต่ฉัน "รู้สึก" ที่ϕ| xจะกลายเป็นเรื่องง่ายขึ้นถ้าไม่สำคัญ ฉันเชื่อว่าการทำเช่นนั้นจะเป็นการเพิ่มจำนวนการเข้าชมของตัวอักษรx(จำนวนการตีของตัวอักษรlคือจำนวนการเกิดขึ้นของlในสูตรที่กำหนด) และสิ่งนี้จะผลักดันนักแก้ปัญหา SAT ไปยังเป้าหมาย อาจแก้ปัญหาช่องว่างของϕและϕ| xพี=12xφ|xφφ|xxล.ล.φφ|xจะคล้ายกัน (หากไม่เกือบเหมือนกัน) ตามที่เกิดขึ้นในตัวอย่างของ Ryan Williams ของ SAT0 (พื้นที่การแก้ปัญหาที่เหมือนกันเกือบทั้งหมด แต่มีความแข็งแตกต่างกันโดยสิ้นเชิง) คุณลองแนวทางของคุณในทางปฏิบัติหรือไม่? มันน่าสนใจที่จะเห็นว่าตัวแก้ SAT ตัวเดียวกันทำงานกับและϕ | อย่างไร x .φφ|x

แก้ไข 1 (23 ก.ย. 2010): หลังจากคิดเพิ่มอีกนิดฉันรู้สึกว่าจริง ๆ แล้วพื้นที่ของสารละลายxจะแตกต่างจากของϕมาก คุณกำลังเพิ่มตัวอักษรในแต่ละประโยคดังนั้นคุณจึงให้อิสระกับอนุประโยคดังกล่าวมากขึ้น (นั่นคือแต่ละประโยคมีโอกาสได้รับความพึงพอใจมากขึ้น): อาจเป็นไปได้ว่าพื้นที่แก้ปัญหาที่เกิดขึ้นจะถูกเปลี่ยนอย่างหนาแน่นφ|xφ

แก้ไข 2 (1 ต.ค. 2010): ฉันคิดเกี่ยวกับความคิดที่เรียบง่ายและไม่ใช่ความคิดดั้งเดิมต่อไปนี้ รับอินสแตนซ์เริ่มต้นและการกำหนดx :φx

  1. นำออกจากคำสั่งทั้งหมดที่ยังไม่รับหนังสือโดยx นี่จะเป็นการขยายพื้นที่โซลูชันและควรฝังxไว้ในนั้นφxx

  2. สมมติว่าคุณลบ clauses ตอนนี้สุ่มเพิ่มm x ส่วนคำสั่งใหม่ดูแลว่าพวกเขาจะไม่พอใจโดยx (นี้จะแคบพื้นที่โซลูชั่นอีกครั้ง แต่ไม่ผลักxออกจากมัน)ม.xม.xxx

ฉันไม่รู้ว่าจะใช้งานได้หรือไม่ ฉันยังไม่ได้ลอง แม่นยำมากขึ้นฉันไม่แน่ใจว่าขั้นตอนที่ 1 จัดการฝังในพื้นที่โซลูชันเสมอ (อาจxถูกตัดออกโดยคำสั่งผสมบางคำแม้ว่าแต่ละอันจะไม่พอใจโดยx ?)xxx


ขอบคุณสำหรับความคิดเห็นฉันยอมรับว่าพื้นที่ของโซลูชันจะเปลี่ยนไป ตามที่ระบุไว้ในคำถามที่ผมอยากจะรู้ว่ามีวิธีการปรับเปลี่ยนสูตรเพื่อซ่อนวิธีการแก้ปัญหา การเพิ่มตัวอักษรในแต่ละส่วนมีขึ้นเพื่อเป็นหลักฐานว่ามีใครสามารถเพิ่มวิธีแก้ปัญหาให้กับสูตร ฉันไม่ได้ตั้งใจจะแนะนำว่านี่เป็นวิธีที่ดีที่สุดเท่านั้นหรือเป็นวิธีที่ดี
András Salamon

ยินดีต้อนรับคุณ Andras ใช่สามารถเพิ่มโซลูชันได้โดยใช้วิธีการของคุณ หากคุณต้องการϕ | x 's พื้นที่แก้ปัญหาคือเท่ากับφพื้นที่แก้ปัญหาบวกเพียงว่าการแก้ปัญหาxผมคิดว่านี่เป็นเรื่องยากที่จะได้รับ ในทางกลับกันหากคุณยินดีที่จะยอมรับว่าจะมีการเพิ่มโซลูชันอื่น ๆ อีกมากมายกลยุทธ์ของคุณก็โอเค xφ|xφx
Giorgio Camerani

เป็นการดีที่หนึ่งต้องการวิธีการคำนวณแบบ polytime ที่ไม่เปลี่ยนพื้นที่การแก้ปัญหา "มากเกินไป" ...
András Salamon

มันน่าสนใจที่จะตรวจสอบว่าอัลกอริทึม Feige กล่าวถึงสำหรับกลุ่มผู้ปลูกยังคงใช้งานได้กับสารละลายที่ปลูก n3เข้าสู่ระบบ n
András Salamon

@Walter: เหตุผลที่ผมพูดมันจะน่าสนใจที่จะตรวจสอบง่าย "พบ -clique" ขั้นตอนวิธีการคือการลดง่ายที่สุดของ SAT จะต้องมีก๊กn -clique ในกราฟที่มี2 nจุด การเชื่อมช่องว่างนี้ระหว่างnและ3 log nหรือแสดงว่าไม่สามารถเชื่อมโยงได้จะน่าสนใจ 3เข้าสู่ระบบnn2nn3เข้าสู่ระบบn
András Salamon

4

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


ได้โปรดอ้างอิง
gphilip

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