издаване на множество (check-sat) повиквания, докато не се върне ненаселено

Бележките по изданието за z3 версия 4.6 споменават нова функция „издаване на множество (check-sat) повиквания, докато не се върне обратно“. Това е еквивалент на ALLSAT?
Къде мога да намеря допълнителна документация или пример за тази функция?


z3
person ChristianJ    schedule 05.02.2018    source източник
comment
Да, става дума за разговори за оптимизация. Не е свързано с AllSAT. Няма вграден метод за ALL-SAT.   -  person Nikolaj Bjorner    schedule 06.02.2018


Отговори (1)


Не, това беше за справяне с този проблем: https://github.com/Z3Prover/z3/issues/1008

Команда ALLSAT не се поддържа от z3; въпреки че би било лесно да го кодирате с помощта на цикъла "утвърждаване на отрицанието на предишния модел и повторна проверка". Повечето интерфейси на високо ниво предоставят това като слой върху това, което е възможно с помощта на SMT-Lib2. Ако искате поддръжка за това, може би е най-добре първо да убедите хората от SMTLib (http://smtlib.cs.uiowa.edu/), така че стандартен начин за това ще бъде разработен и може да бъде приложен от множество решаващи програми.

person alias    schedule 06.02.2018
comment
Съгласен съм, че използването на check-sat в цикъл и връщането обратно на отречения модел като твърдение е лесен начин за имитиране на ALLSAT. Въпреки това виждам от резултатите си, че вътрешната стратегия за нулиране по никакъв начин не се влияе от външния цикъл. Би било хубаво да има поне някакво влияние отвън. - person ChristianJ; 07.02.2018
comment
Освен това има и въпроси относно това как трябва да се държи all-sat в присъствието на квантификатори. (Обща стратегия е да отпечатате само различни екзистенциални префикси и след като ударите за всички, оставете всичко останало на мира.) Но нищо от това не е добре уточнено или общоприето. Мисля, че тук има място както за стандарта (т.е. SMTLib), за да зададете основните очаквания, така и за инструмента (z3/yices и т.н.), за да приложите как е конструиран следващият модел, както намеквате. - person alias; 07.02.2018