Унификация против SAT решатель

10

Я читал в Википедии, что объединение - это процесс решения проблемы выполнимости.

В то же время я знаю, что такие решатели называются «решателями SAT» или «решателями SMT». Так это разные имена для одного и того же?

Если вы говорите, что они разные, пожалуйста, укажите на недостатки в моем лечении.

Val
источник
информатика часто ссылается на «проблему выполнимости», но на самом деле это частный случай общей проблемы [упоминаемой в статье в Википедии об объединении], которая может иметь более сложные предложения, такие как «существует» и «для всех», кроме просто булевы переменные. в CS ссылка на «проблему выполнимости» может быть действительно сокращением для пропозициональной или логической проблемы выполнимости , сокращенно SAT. Процесс объединения в SAT называется резолюцией
vzn

Ответы:

12

Решатели SAT решают проблему булевой удовлетворенности . Это «проблема определения, могут ли переменные данной булевой формулы быть назначены таким образом, чтобы формула оценивалась как ИСТИНА».

Например, найти присвоение значений истинности переменным таким образом, чтобы является истинным. Решатель SAT может вернуть решение, такое как , , .a,b,c(abc)(¬a¬bc)(a¬b¬c)(¬ab¬c)a=trueb=truec=true

Решатели SMT решают более общую проблему, а именно: теории удовлетворенности по модулю . Это «проблема решения логических формул относительно комбинаций фоновых теорий, выраженных в классической логике первого порядка с равенством». Эти теории могут включать «теорию действительных чисел, теорию целых чисел и теории различных структур данных, таких как списки, массивы, битовые векторы и так далее».

Пример, данные , введенные переменные и и , спрашивает , является ли следующее выполнима , Решатель SMT ответил бы да, с решением , , и .x:inty:intf:intintf(x+2)f(y1)x=(y4)x=2y=2f(0)=1f(1)=3

Унификация - это особый метод, который принимает два термина и находит замену, которая делает условия равными. Например, при заданных терминах и объединение приведет к замене . Объединение, вероятно, используется внутри решателей SMT.б о о к ( Д. ~ Смит , у , 2010 ) { х Д. Смит , у «Рыбалка» }book(x,"Fishing",2010)book(D.~Smith,y,2010){xD. Smith,y"Fishing"}

Дэйв Кларк
источник
Все слова знакомы в предложении «Объединение, вероятно, используется где-то в SMT-решателях (и, возможно, в SAT-решателях)», но я этого не понимаю. Вы также находите такое определение SMT, что трудно понять, является ли SAT частным случаем этого.
Val
SAT имеет дело с логикой высказываний. Логика первого порядка, на которой основан SMT, является более общей.
Дэйв Кларк