QFBV SMT çözücülerinin performansını anlama


9

Z3 veya Boolector gibi SMT çözücüleri, sorunları çözmek için karmaşık bir sezgisel tarama seti kullanır. Bununla birlikte, bu aynı zamanda belirli bir problem için böyle bir çözücünün performansını tahmin etmeyi çok zorlaştırır. Benim sorum şu:

Soru

Niceleyici içermeyen bitvektörler (QFBV) teorisindeki belirli bir kişi için bir SMT çözücüsünün performansını anlamak veya anlamak için bir yol var mı?

Bu, çözücünün nerede "sıkışıp kaldığı" / ilerleme kaydetmediğini anlamaya yardımcı olacak görselleştirme araçlarını da içerir.

Uygulamalar

  • Aynı sorunun farklı kodlamalarının çözücü performansını nasıl etkilediğini önceden anlayın (buradaki teknolojinin durumu "sadece birkaç farklı kodlamayı deneyin ve birinin yeterince hızlı olmasını umuyoruz" değil mi?)

  • Belirli bir sorun zaman kısıtlamaları nedeniyle bir SMT çözücü tarafından çözülemezse, sorunun çözülebilmesi için farklı bir şekilde ifade etmenin bir yolunu bulun.

  • Çözücü performansını hiç etkilemeyen veya hatta çözücü performansını olumsuz etkilemeyen etki alanına özgü sorun basitleştirmelerinde zaman kaybetmeyin.

Mevcut araştırma

Bu konuda araştırma bulmaya çalıştım, ancak fazla bir şey bulamadım. Henüz SAT / SMT çözücüler konusunda fazla deneyimim yok, bu yüzden bir şey kaçırırsam özür dilerim.

  • SATzilla : makine öğrenme teknikleri kullanılarak problemden çıkarılan özelliklere dayanarak en iyi performans gösteren çözücüyü tahmin eder.

    Bu yalnızca SMT yerine SAT için geçerlidir ve çözümleyicilerin performansının nedenlerini açıklamaz.

  • Z3 aksiyom profiler Z3 örnekleme grafiğinin görselleştirilmesi ve eşleşen döngülerin analizi

    Bu sadece niceliksel teorilere odaklanıyor gibi görünüyor.

Yanıtlar:


3

Kısa cevap hayır, anlamıyoruz. Uzun cevap evet, bazı sınırlarımız var, ama bu sınırlar çok yardımcı değil. En kötü çalışma süresinin üstel olduğu oldukça açıktır. Bu çok yararlı değil, çünkü bazı / birçok pratik durumda, oldukça hızlı koşuyor gibi görünüyor - ve nedenini gerçekten bilmiyoruz.

Bunun QFBV için olsun, SAT çözücüler için neden doğru olduğunu bilmiyoruz. QFBV çözücülerinin neden genellikle hızlı olduğunu anlamak, en azından SAT çözücülerinin neden hızlı olduğunu anlamak kadar zor görünmektedir, ki bu zaten mevcut anlayış seviyemizin ötesindedir. Bu sitede daha fazla arama yaparsanız, ikinci konuyu anlama girişimlerinin bir özetini bulabilirsiniz.


Cevabınız için teşekkürler! zaten böyle olsa da vardı. Genel kuralları bulmaya çalışmayan, bunun yerine sat / smt çözücüsünün yavaş performansının nedenini görselleştiren (veya başka bir şekilde kullanıcının sorunun hangi kısmının ve SMT'nin verdiğini anlamasına yardımcı olan bir araştırma olup olmadığını biliyor musunuz? çözücü touble)
bennofs
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.