ตัวแก้ปัญหา SMT เช่น Z3 หรือ Boolector ใช้ชุดฮิวริสติกที่ซับซ้อนเพื่อแก้ปัญหา อย่างไรก็ตามสิ่งนี้ยังทำให้การทำนายประสิทธิภาพของตัวแก้ปัญหาดังกล่าวนั้นยากมาก คำถามของฉันคือ:
คำถาม
มีวิธีที่จะเข้าใจหรือรับข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของตัวแก้ปัญหา SMT สำหรับสิ่งที่เฉพาะเจาะจงในทฤษฎีของ bitvectors ที่ไม่มีปริมาณ (QFBV) หรือไม่?
นอกจากนี้ยังรวมถึงเครื่องมือสร้างภาพข้อมูลใด ๆ ที่จะช่วยให้เข้าใจว่าตัวแก้ปัญหา "ติดอยู่" / ไม่ก้าวหน้า
การประยุกต์ใช้งาน
ทำความเข้าใจล่วงหน้าว่าการเข้ารหัสที่แตกต่างกันของปัญหาเดียวกันมีผลต่อประสิทธิภาพการแก้ปัญหาอย่างไร (สถานะของศิลปะที่นี่ไม่สามารถเป็น "แค่ลองการเข้ารหัสที่แตกต่างกันสองสามข้อและหวังว่าจะเร็วพอ")
หากปัญหาที่ระบุไม่สามารถแก้ไขได้ด้วยตัวแก้ปัญหา SMT เนื่องจากข้อ จำกัด ด้านเวลาให้หาวิธีในการแสดงปัญหาที่แตกต่างเพื่อให้สามารถแก้ไขได้
หลีกเลี่ยงการเสียเวลาในการแก้ปัญหาเฉพาะโดเมนที่จะไม่ส่งผลต่อประสิทธิภาพของตัวแก้ปัญหาทั้งหมดหรือแม้กระทั่งส่งผลเสียต่อประสิทธิภาพของตัวแก้ปัญหา
การวิจัยที่มีอยู่
ฉันพยายามค้นหางานวิจัยในหัวข้อนี้ แต่ฉันไม่สามารถหาได้มากนัก ฉันยังไม่มีประสบการณ์มากนักในการแก้ปัญหา SAT / SMT ดังนั้นจึงต้องขออภัยหากฉันพลาดบางสิ่งไป
SATzilla : ทำนายตัวแก้ประสิทธิภาพที่ดีที่สุดตามคุณลักษณะที่สกัดจากปัญหาโดยใช้เทคนิคการเรียนรู้ของเครื่อง
สิ่งนี้ใช้กับ SAT แทน SMT เท่านั้นและไม่ได้อธิบายถึงเหตุผลในการแก้ปัญหาประสิทธิภาพการทำงาน
Z3 axiom profilerการสร้างภาพของกราฟ instantiation Z3 และการวิเคราะห์ลูปที่ตรงกัน
ดูเหมือนว่าสิ่งนี้จะมุ่งเน้นไปที่ทฤษฎีเชิงปริมาณเท่านั้น