ตรวจสอบสูตรที่มีสองปริมาณ (


15

นักแก้ปัญหา SAT ให้วิธีที่มีประสิทธิภาพในการตรวจสอบความถูกต้องของสูตรบูลีนด้วยหนึ่งตัวระบุ

ยกตัวอย่างเช่นในการตรวจสอบความถูกต้องของเราสามารถใช้ตัวแก้ SAT เพื่อพิจารณาว่าφ ( x )น่าพอใจหรือไม่ ในการตรวจสอบความถูกต้องของx φ ( x )เราสามารถใช้แก้ SAT เพื่อตรวจสอบว่า¬ φ ( x )คือพอใจ (นี่คือx = ( x 1 , , x n )คือn -vector ของตัวแปรบูลีนและφx.φ(x)φ(x)x.φ(x)¬φ(x)x=(x1,,xn)nφ เป็นสูตรบูลีน)

ตัวแก้ปัญหา QBF ได้รับการออกแบบมาเพื่อตรวจสอบความถูกต้องของสูตรบูลีนที่มีจำนวนโดยพลการ

ถ้าเรามีสูตรที่มีสองตัวนับ พวกเขามีอัลกอริทึมที่มีประสิทธิภาพสำหรับการตรวจสอบความถูกต้องหรือไม่: เป็นสิ่งที่ดีกว่าการใช้อัลกอริทึมทั่วไปสำหรับ QBF หรือไม่? การจะมีความเฉพาะเจาะจงมากขึ้นผมมีสูตรของแบบฟอร์ม (หรือx . y . ψ ( x , y ) ) และต้องการตรวจสอบความถูกต้อง มีอัลกอริทึมที่ดีสำหรับเรื่องนี้หรือไม่? แก้ไข 4/8:ฉันเรียนรู้ว่าบางครั้งสูตรคลาสนี้เรียกว่า 2QBF ดังนั้นฉันจึงมองหาอัลกอริทึมที่ดีสำหรับ 2QBFx.y.ψ(x,y)x.y.ψ(x,y)

เชี่ยวชาญเพิ่มเติม: โดยเฉพาะอย่างยิ่งในกรณีของฉันฉันมีสูตรของแบบฟอร์มซึ่งฉันต้องการตรวจสอบความถูกต้องโดยที่f , gเป็นฟังก์ชันที่สร้างเอาต์พุตk -bit มีอัลกอริทึมสำหรับตรวจสอบความถูกต้องของสูตรเฉพาะนี้อย่างมีประสิทธิภาพมากกว่าอัลกอริทึมทั่วไปสำหรับ QBF หรือไม่x.y.f(x)=g(y)f,gk

ป.ล. ฉันไม่ได้ถามถึงความแข็งที่แย่ที่สุดในทฤษฎีความซับซ้อน ฉันถามเกี่ยวกับอัลกอริทึมที่มีประโยชน์ในทางปฏิบัติ (เท่าที่นักแก้ปัญหา SAT ในปัจจุบันมีประโยชน์ในหลาย ๆ ปัญหาแม้ว่า SAT นั้นจะเป็น NP-complete)


4
ไม่ได้เป็นหลักเทียบเท่ากับx Y ψ ( x , Y ) xy ψ(x,y)xy ψ(x,y)
Huck Bennett

2
ฉันคิดว่า OP หมายถึงสิ่งนี้อย่างไม่เป็นทางการเนื่องจากทั้งสองเป็นเรื่องยากสำหรับนักแก้ปัญหา SAT และวิธีแก้ปัญหาที่น่าสนใจ
Suresh Venkat

1
@ HuckBennett ฉันคิดว่าทั้งสองมีความแข็งเท่ากัน (พิสูจน์: เป็น IFF ถูกต้อง¬ x . Y . ¬ ψ ( x , Y )เป็นดังนั้นถ้าเรามีวิธีการทดสอบความถูกต้องของสูตรของรูปแบบ. x . y . ψ ( x , y )เรายังสามารถทดสอบความถูกต้องของสูตรx . yx.y.ψ(x,y)¬x.y.¬ψ(x,y)x.y.ψ(x,y) โดยให้ ψ ' ( x , Y ) = ¬ ψ ( x , Y )และการทดสอบความถูกต้องของx Y ψ ( x , y ) .) แต่อย่างไรก็ตามฉันจะสนใจอัลกอริธึมสำหรับทั้งสองกรณี x.y.ψ(x,y)ψ(x,y)=¬ψ(x,y)x.y.ψ(x,y)
DW

6
@DW ไม่จำเป็นเช่น SAT และ TAUT ไม่เชื่อว่ามีความซับซ้อนเหมือนกัน
Kaveh

4
@chazisop: ผมคิดว่า OP จะขอ -SAT อัลกอริทึม / แก้ไม่แก้ QBF ทั่วไป อย่างไรก็ตามมีนักแก้ปัญหา QBF มากมาย ดูแท็บ "นักแก้ปัญหา" ที่qbflib.orgΠ2/Σ2
Huck Bennett

คำตอบ:


22

ถ้าผมอาจจะค่อนข้างโจ๋งครึ่มโฆษณาตัวเองที่เราเขียนบทความเกี่ยวกับเรื่องนี้ปีก่อน ที่เป็นนามธรรมตามขั้นตอนวิธี 2QBF ฉันได้รับการติดตั้ง qdimacs ซึ่งฉันสามารถให้ได้หากคุณต้องการ แต่จากประสบการณ์ของฉันฉันจะได้รับประโยชน์อย่างมากจากอัลกอริทึมที่เชี่ยวชาญสำหรับปัญหาเฉพาะ นอกจากนี้ยังมีรายงานฉบับเก่าการศึกษาเปรียบเทียบอัลกอริธึม 2QBFซึ่งนำเสนออัลกอริทึมที่ไม่สามารถทำได้อย่างง่ายดาย


! น่ากลัว ขอบคุณ Mikolas นี่เป็นเพียงสิ่งที่ฉันหวังไว้
DW

2
สวัสดี @DW ดีใจที่ฉันสามารถช่วยได้ หวังว่าคุณจะพบว่ามีประโยชน์นี้บ้าง QBF เป็นสัตว์ร้ายที่แตกต่างกันซึ่ง SAT ต้องระวังตัวเล็กน้อยเพราะสิ่งต่าง ๆ สามารถระเบิดได้ง่ายมาก :-) อย่าลังเลที่จะเขียนอีเมลถึงฉันหากคุณมีคำถามเพิ่มเติมเกี่ยวกับงานของเรา
Mikolas

7

ฉันได้อ่านบทความสองฉบับที่เกี่ยวข้องกับเรื่องนี้หนึ่งเรื่องที่เกี่ยวข้องกับ 2QBF โดยเฉพาะ เอกสารมีดังต่อไปนี้:

การกำหนดที่เพิ่มขึ้น , Markus N. Rabe และ Sanjit Seshia, ทฤษฎีและการประยุกต์ใช้การทดสอบความพึงพอใจ (SAT 2016)

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

ประการที่สองคือการแก้ปัญหา QBF ที่เพิ่มขึ้น Florian Lonsing และ Uwe Egly

ดำเนินการในเครื่องมือที่ชื่อว่าDepQBF มันไม่ได้ใส่ข้อ จำกัด ใด ๆ กับจำนวนของการสลับปริมาณ มันเริ่มต้นด้วยสมมติฐานที่ว่าเรามีสูตร qbf ที่เกี่ยวข้องอย่างใกล้ชิด มันขึ้นอยู่กับการแก้ปัญหาที่เพิ่มขึ้นและไม่โยนประโยคที่เรียนรู้ในระหว่างการแก้ปัญหาครั้งสุดท้าย มันเพิ่ม clauses และ cubes ให้กับสูตรปัจจุบันและหยุดถ้า clauses หรือ cubes ว่างเปล่าแสดง unsat หรือ sat

แก้ไข : สำหรับมุมมองว่าวิธีการเหล่านี้ทำงานได้ดีแค่ไหนสำหรับ 2QBF-benchmarks โปรดดูที่ผลการ QBFEVal-2018สำหรับผลการ QBF ประจำปีการแข่งขันQBFEVAL ในปี 2019 ไม่มีการติดตาม 2QBF

ใน2QBF ติดตาม QBFEVAL-2018 DepQBF เป็นผู้ชนะ , CADETเป็นครั้งที่สองในการแข่งขัน

ดังนั้นวิธีการทั้งสองนี้ใช้งานได้ดีในทางปฏิบัติจริง ๆ (อย่างน้อยในมาตรฐาน QBFEVAL)


4

xyϕDaD¬ϕ[a/x]bBaϕ[b/y]ϕ


2
ϕϕ

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