Z3 изменчивость синхронизации - PullRequest
1 голос
/ 24 марта 2020

Я столкнулся с некоторой экстремальной изменчивостью синхронизации в Z3, причем идентичные запросы иногда занимали несколько секунд, иногда часов - гораздо более экстремально, что обсуждается здесь (и без каких-либо изменений в именах переменных). Эти запросы включают только целочисленные и логические переменные. Это обычный результат эвристики, использующей рандомизацию?

1 Ответ

1 голос
/ 24 марта 2020

Мой опыт работы с такими случаями: все зависит! Это может быть простой вопрос эффективности или что-то более фундаментальное. Возможно, ваша собственная кодировка довольно неэффективна, или, возможно, в z3 отсутствует регистр heuristi c, который отправляет его по неверному пути. (Я нахожу, что смешивание Int с Bool обычно нормально, если вы не пытаетесь закодировать логические логики c с какой-то прикольной арифметикой c.)

Поскольку вы ничего не рассказали нам о своей конкретной проблеме, невозможно догадаться. Но если вы подгоняете его к чему-то достаточно маленькому, чтобы выявить проблему, вы должны подать заявку на https://github.com/Z3Prover/z3/issues и, по крайней мере, разработчики должны взглянуть и высказать одно мнение или Другой. Чем меньше ваш пример, тем лучше. Вы также можете опубликовать это здесь, конечно.

...