Hiểu về hiệu suất của bộ giải QFBV SMT


9

Các bộ giải SMT như Z3 hoặc Boolector sử dụng một bộ heuristic phức tạp để giải quyết các vấn đề. Tuy nhiên, điều này cũng làm cho việc dự đoán hiệu suất của một bộ giải như vậy cho một vấn đề nhất định rất khó khăn. Câu hỏi của tôi là như vậy:

Câu hỏi

Có cách nào để hiểu hoặc hiểu rõ hơn về hiệu suất của bộ giải SMT cho một cụ thể trong lý thuyết về các bitvector không định lượng (QFBV) không?

Điều này cũng bao gồm bất kỳ công cụ trực quan nào có thể giúp hiểu nơi giải quyết bị "kẹt" / không đạt được tiến bộ.

Các ứng dụng

  • Hiểu trước cách mã hóa khác nhau của cùng một vấn đề ảnh hưởng đến hiệu suất của người giải quyết (trạng thái của nghệ thuật ở đây không thể là "chỉ cần thử một vài mã hóa khác nhau và hy vọng một mã hóa đủ nhanh", phải không?)

  • Nếu một vấn đề nhất định không thể giải quyết được bởi người giải quyết SMT do hạn chế về thời gian, hãy tìm cách diễn đạt vấn đề khác nhau để có thể giải quyết vấn đề.

  • Tránh lãng phí thời gian vào việc đơn giản hóa vấn đề theo miền cụ thể sẽ không ảnh hưởng đến hiệu suất của người giải hoặc thậm chí ảnh hưởng tiêu cực đến hiệu suất của người giải.

Nghiên cứu hiện tại

Tôi đã cố gắng tìm nghiên cứu về chủ đề này, nhưng tôi không thể tìm thấy nhiều. Tôi chưa có nhiều kinh nghiệm trong lĩnh vực giải quyết SAT / SMT, vì vậy xin lỗi nếu tôi đã bỏ lỡ điều gì đó.

  • SATzilla : dự đoán người giải quyết hiệu suất tốt nhất dựa trên các tính năng được trích xuất từ ​​vấn đề bằng cách sử dụng các kỹ thuật máy học.

    Điều này chỉ áp dụng với SAT thay vì SMT và không giải thích lý do cho hiệu suất của người giải quyết.

  • Trình mô tả tiên đề Z3 Một trực quan hóa biểu đồ khởi tạo Z3 và phân tích các vòng lặp khớp

    Có vẻ như điều này chỉ tập trung vào các lý thuyết được định lượng.

Câu trả lời:


3

Câu trả lời ngắn gọn là không, chúng tôi không hiểu nó. Câu trả lời dài là có, chúng tôi có một số giới hạn, nhưng những giới hạn đó không hữu ích lắm. Rõ ràng là thời gian chạy trường hợp xấu nhất là theo cấp số nhân. Điều đó không hữu ích lắm, bởi vì chúng tôi biết rằng trong một số / nhiều tình huống thực tế, nó dường như chạy khá nhanh - và chúng tôi không thực sự biết tại sao.

Chúng tôi không biết tại sao điều đó đúng với người giải SAT, chứ đừng nói đến QFBV. Hiểu lý do tại sao người giải QFBV thường nhanh dường như khó hiểu như tại sao người giải SAT thường nhanh, điều này đã vượt quá mức hiểu biết hiện tại của chúng tôi. Nếu bạn tìm kiếm thêm trên trang web này, bạn có thể tìm thấy một bản tóm tắt các nỗ lực hiện tại để hiểu chủ đề sau.


cảm ơn câu trả lời của bạn! tôi đã có mặc dù đó có thể là trường hợp. Bạn có biết có nghiên cứu nào không cố gắng tìm các quy tắc chung không, nhưng thay vào đó hãy hình dung lý do cho hiệu suất chậm của bộ giải sat / smt (hoặc theo cách khác giúp người dùng hiểu phần nào của vấn đề được đưa ra và SMT giải quyết vấn đề)
bennofs
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.