การสุ่มตัวอย่างสูตร 3-SAT ที่น่าพอใจ


23

พิจารณางานคำนวณต่อไปนี้: เราต้องการตัวอย่างสูตร 3-SAT ของตัวแปรตัว (ตัวแปร: ตัวแปรคำสั่งย่อย ) ที่เกี่ยวกับการแจกแจงความน่าจะเป็นแบบเดียวกันnnm

Q1: สิ่งนี้สามารถทำได้อย่างมีประสิทธิภาพโดยคอมพิวเตอร์แบบดั้งเดิม (พร้อมบิตสุ่ม)?

Q2: สิ่งนี้สามารถทำได้อย่างมีประสิทธิภาพโดยคอมพิวเตอร์ควอนตัม?

ฉันสนใจในสองตัวแปรต่อไปนี้:

V2: คุณสุ่มตัวอย่างสูตรทั้งหมด wrt การแจกแจงความน่าจะเป็นที่ให้สูตรที่น่าพอใจสองเท่าของน้ำหนักของสูตรที่ไม่น่าพอใจ

V3: คุณสุ่มตัวอย่างโดยที่น้ำหนักคือจำนวนของการมอบหมายที่น่าพอใจ (ที่นี่เราให้ความสำคัญกับ Q2 เท่านั้น)

Update:คำตอบของ Colins แสดงให้เห็นถึงอัลกอริทึมอย่างง่ายสำหรับ V3 (ฉันคิดผิดว่าสมมติว่านี่เป็นเรื่องยากคลาสสิก) ฉันขอพูดถึงอีกหนึ่งคำถามที่แตกต่างกันสามข้อ:

คุณสามารถระบุล่วงหน้าข้อและคุณจำเป็นต้องตัวอย่างย่อยพอใจสุ่มของคำสั่งการป้อนข้อมูลm


6
คำถามที่น่าสนใจมาก ฉันจะแปลกใจหากมีอัลกอริทึมที่รู้จักกันดีในการทำงานเหล่านี้ได้อย่างมีประสิทธิภาพ
Giorgio Camerani

คำตอบ:


12

มีอัลกอริทึมอย่างง่ายสำหรับ V3 ฉันจะใช้การประชุมว่ามีคำสั่งที่เป็นไปได้ดังนั้นสูตร (นี่เป็นเพียงความเรียบง่าย - หากคุณไม่ต้องการให้ประโยคทั้งหมดถูกพิจารณาว่าใช้ได้จริงจะไม่มีผลกับอาร์กิวเมนต์ต่อไปนี้)(2n)328n38n3

เลือกสุ่มมอบหมายจาก n สำหรับแต่ละเป็นไปได้ว่าข้อนี้เป็นจริงในงานนี้ ได้แก่ ประโยคที่มีความน่าจะเป็น1/2แต่ละสูตรจะปรากฏขึ้นพร้อมกับความน่าจะเป็นเป็นสัดส่วนกับจำนวนของการมอบหมายที่น่าพอใจ -clause ตัวแปรที่มีความคล้ายคลึง: เลือกชุดของขนาด ออกจากข้อ{0,1}n7n31/2ϕmm7n3


3
สิ่งนี้ถูกกล่าวถึงในบทนำเพื่อสร้างอินสแตนซ์ปัญหาที่น่าพอใจโดย D Achlioptas, C Gomes, H Kautz, B Selman
โคลิน McQuillan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.