การเริ่มต้นกระดาษแก้ปัญหา SAT


24

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


6
คุณใช้อัลกอริทึม DPLL ไปแล้วหรือยัง คุณได้ปรับแต่งและขัดเกลาการใช้งานของคุณอย่างรวดเร็วหรือไม่?
Jukka Suomela

5
คู่มือความพึงพอใจ - amazon.co.uk/… (อาจตรวจสอบห้องสมุดค่าใช้จ่ายค่อนข้างสูง)
MGwynne

1
@Jukka: ความเห็น -> คำตอบ?
Suresh Venkat

4
ฉันไม่เห็นด้วยกับ Jukka ทำไมต้องคิดค้นล้อใหม่ ไม่มีเหตุผลที่ต้องทำซ้ำสิ่งที่ MiniSAT ให้มาเปิดแล้ว หากคุณสนใจที่จะเพิ่มในกรอบ CDCL การเพิ่มของคุณจะแสดงในการเพิ่มประสิทธิภาพ MiniSAT นอกจากนี้ DPLL ยังไม่เพียงพอ มีการปรับปรุงมากมาย โดยพื้นฐานแล้วทำตามคำตอบของมิโกลัส!
Huck Bennett

1
ดูคำถามที่เกี่ยวข้องเพิ่มเติมcstheory.stackexchange.com/q/1988
András Salamon

คำตอบ:


18

ภาพรวมของการเริ่มต้นที่ยอดเยี่ยมได้รับจากบทความต่อไปนี้ตั้งแต่ปี 2009

มีหลายวิธีในการเข้าสู่ด้านเทคนิค คุณยังสามารถเริ่มต้นด้วยกระดาษ Davis-Putnam ดั้งเดิม ชัดเจนและมีตัวอย่างโดยละเอียด เมื่อพูดถึงการเพิ่มประสิทธิภาพ SAT ในหลักสูตรเราพบว่ามีบางคนอาจจินตนาการว่ามีอยู่แล้ว กระดาษเดวิส - โลแมน - เลิฟแลนด์คือ (ฉันรู้สึก) ไม่ค่อยมีคำแนะนำ แต่มันสั้นมากคุณอาจอ่านมันได้

อาจมีวิธีการติดตามพัฒนาการของ 50 ปีข้างหน้า ฉันอยากจะแนะนำสไลด์บรรยาย เพียงค้นหาคำว่า 'DPLL' จะเป็นการทำแบบฝึกหัดมากมาย หากคุณดูพวกเขาฉันแน่ใจว่าหมอกจะชัดเจน - ในระดับหนึ่ง นอกจากนี้ยังมีแบบสำรวจที่เป็นประโยชน์มากมาย กระดาษจางมาลิกเป็นจุดเริ่มต้นที่ดี มีหลายบทความในคู่มือความพึงพอใจที่คุณอาจพบว่ามีประโยชน์

ฉันสองข้อเสนอแนะของ Mikolaos รหัส MiniSAT สะอาดและมีขนาดที่จัดการได้ คุณสามารถเล่นกับมัน มีนักแก้ปัญหาอื่น ๆ อีกมากมายที่คุณสามารถลองได้ CryptoMiniSat นั้นค่อนข้างสะอาด คุณควรปรึกษางานของArmin Biereผู้เขียนแก้ SAT และเขียนเกี่ยวกับการเขียนแก้ SAT


17

ฉันขอแนะนำให้ทำความเข้าใจก่อนว่าเทคนิคใดที่นักแก้ปัญหาขั้นสูงใช้จริงซึ่งฉันขอแนะนำภาพรวมและการวิเคราะห์ต่อไป

แล้วฉันจะแนะนำให้ดาวน์โหลดซอร์สโค้ดของminisatและอ่านของคำอธิบาย

อาจเป็นรายบุคคล แต่ฉันพบว่าการดูซอร์สโค้ดมีค่ามากที่สุด


9

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

nmnm

nm


9

เริ่มต้นด้วยแบบสำรวจที่ดี มันง่ายที่จะโจมตีหัวเรื่องและทำให้สับสนโดยชื่อต่าง ๆ ในวรรณคดีสำหรับเทคนิคเดียวกันและชื่อเดียวกับที่ใช้สำหรับเทคนิคต่าง ๆ นอกจากนี้ยังง่ายต่อการออกกฎหมายการต่อสู้อัลกอริทึมเก่า (รายการที่เกิดขึ้นกับรายการหัวท้ายเทียบกับสองตัวอักษรดูสำหรับการใช้งาน DPLL เช่น) หากคุณไม่ทราบว่าสิ่งที่ทันสมัย

เครื่องมือแก้ไขความพึงพอใจโดย Gomes และ อัล จะทำให้คุณนอนราบของแผ่นดิน

การปรับปรุงตัวแก้ SAT โดยใช้เทคนิคที่ล้ำสมัยโดย Manthey จะนำคุณเข้าใกล้ปัจจุบัน

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