ข้อขัดแย้งผลักดันให้เกิดการเรียนรู้การทำให้ชัดเจนย้อนรอย


9

ในหน้าวิกิพีเดียที่นี่มันอธิบายอัลกอริธึม CDCL ได้ค่อนข้างดี (และดูเหมือนว่าภาพจะถูกถ่ายจากสไลด์ที่สร้างโดย Sharad Malik ที่ Princeton) อย่างไรก็ตามเมื่ออธิบายถึงวิธีการย้อนรอยทั้งหมดมันบอกว่าเป็น "ไปยังจุดที่เหมาะสม" MiniSAT ยังใช้อัลกอริทึมชุด CDCL ที่แตกต่างกันดังนั้นฉันอ่านบทความนี้. สิ่งที่พวกเขาดูเหมือนจะพูดคือคุณควรย้อนกลับจนกว่าประโยคที่เรียนรู้จะเป็นประโยคย่อย นั่นเป็นการชี้แจงอย่างชัดเจน แต่มันก็ไม่สมเหตุสมผลสำหรับฉัน การมอบหมายครั้งสุดท้ายจะเป็นส่วนหนึ่งของประโยคความขัดแย้งที่เรียนรู้เท่าที่ฉันสามารถบอกได้ (บางทีฉันผิดที่นี่?) ดังนั้นเมื่อคุณย้อนกลับไปหนึ่งขั้นตอนคุณจะสร้างหน่วยการเรียนรู้ทันทีค่าที่มอบหมายสุดท้ายจะพลิก และอัลกอริทึมจะดำเนินการตรงตาม DPLL โดยไม่ต้องย้อนรอยย้อนกลับไปไกลพอสมควร นอกจากนี้หน้าวิกิพีเดียไม่ปฏิบัติตามกฎนี้มันย้อนรอยมากขึ้นตามที่ต้องการ

ไกลแค่ไหนที่ควรจะย้อนรอย?

คำตอบ:


7

นี่คือย่อหน้าที่เกี่ยวข้องจากกระดาษ MiniSAT:

ขั้นตอนการตัดสินใจจะดำเนินต่อไปจนกว่าจะมีการกำหนดตัวแปรทั้งหมดซึ่งในกรณีนี้เรามีแบบจำลองหรือมีข้อขัดแย้งเกิดขึ้น เมื่อเกิดข้อขัดแย้งกระบวนการเรียนรู้จะถูกเรียกใช้และสร้างข้อขัดแย้งขึ้น เส้นทางนี้จะใช้ในการยกเลิกการตัดสินใจทีละระดับจนแม่นยำหนึ่งในตัวอักษรของประโยคที่เรียนรู้จะกลายเป็นไม่ได้ผูกไว้ (พวกเขาทั้งหมดFaล.sอีเมื่อถึงจุดที่ขัดแย้ง) โดยการก่อสร้างข้อขัดแย้งไม่สามารถไปโดยตรงจากความขัดแย้งไปยังประโยคที่มีตัวอักษรไม่ได้ผูกสองหรือมากกว่า หากอนุประโยคยังคงอยู่ในหน่วยสำหรับการตัดสินใจหลายระดับจะเป็นประโยชน์ในการเลือก [sic] ระดับต่ำสุด (เรียกว่าbackjumpingหรือการย้อนรอยตามลำดับเวลาที่ไม่ใช่ลำดับเหตุการณ์ )

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

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

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