z3 - Z3统计解读

标签 z3 smt usage-statistics sat-solvers dpll

我从 Z3 的运行中获得了几个统计数据。我需要明白这些是什么意思。
对于 sat 和 SMT 求解的最新发展,我相当生疏且不了解最新情况,因此我试图自己寻找解释,但我可能完全错了。
所以我的问题主要是:

1) 措施的名称是什么意思?

2)如果错了,您能否给我指点以更好地理解它们所指的内容?

其他意见如下,在概念上属于上述两个问题。
提前致谢!

我的解释如下。

  • DPLL .以下所有指标均指 DPLL 算法的行话,这是大多数求解器的基础。
  • :决定
  • 决策数量
  • :传播
  • 传播次数(我猜是单位传播)
  • :binary-propagations, :ternary-propagations
  • 一次传播两个和三个文字
  • :冲突
  • 冲突数量
  • 分辨率 .粗略地说,操作使从句解释为集合;从分辨率中获取的技术,这是解决 SAT 的另一种范式。
  • :包含
  • :包含分辨率
  • 以上两者有什么区别?
  • :dyn-包含分辨率
  • 应该在这里描述:学习动态包容,哈马迪等人。
  • 其他技术
  • :minimized-lits
  • 没有明确的想法。它可能与子句学习有关吗?
  • :探测分配
  • 我猜它会计算“探测”时所做的分配数量,我猜这是某种前瞻技术。
  • :del 子句
  • 已删除子句的数量(出于什么原因?冗余?)
  • :elim-literals :elim-clauses :elim-bool-vars :elim-blocked-clauses
  • elim 消除后的实体数。
    这些指标指的是特定的 SAT 求解技术
    (参见 M.Järvisalo 等人的 Blocked Clause Elimination 引用资料)
  • :重启
  • 重启次数。
  • 其他方面
  • :mk-bool-var :mk-binary-clause :mk-ternary-clause :mk-clause
  • 创建的 bool 变量和二元、三元和泛型子句的数量。
  • :内存
  • 使用的最大内存量。
  • :gc 子句
  • 垃圾收集条款...?
  • 根据我的实验,这种解释是合理的,因为情况总是如此
  • :gc-clause <= :del-clause ;就我而言,不平等现象很严重。
  • 情况并非总是如此
  • :gc-clause<=:elim-clauses;它也可以是 :gc-clause > :elim-clauses
  • 最佳答案

    恐怕这是一个开放式问题。
    Z3 公开了许多以多种不同方式收集的计数器。
    虽然许多捕获抽象概念,但它们的含义最终是
    基于代码的实现行为。

    幸运的是,源代码可用并提供了完整的上下文
    了解每个计数器的行为。所以没有单
    跟踪计数器含义的文档,但源代码
    提供完整的上下文。

    关于z3 - Z3统计解读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18491922/

    相关文章:

    z3 - Tseitin 编码下的令人满意的模型

    python - 如何检查 z3 中的 const 是变量还是值?

    Z3:我应该使用数组、IntVector 还是其他东西?

    logic - 表示 SMT-LIB 中的时间约束

    programming-languages - 如何使用谷歌趋势找到编程语言流行趋势的统计数据

    c - 对于 Z3 中的所有量词

    z3 - EPR片段中prenex量化的顺序是否重要?

    z3 - SMT 究竟针对哪些量词完成?

    R相当于Stata的Absorb

    android - 如何计算android中每个应用程序的移动和wifi数据使用量?