ДПЛЛ(Т)

Алгоритм решения проблем SMT

В информатике DPLL(T) — это фреймворк для определения выполнимости задач SMT . Алгоритм расширяет исходный алгоритм DPLL , решающий SAT , возможностью рассуждать о произвольной теории T. [1] [2] [3] На высоком уровне алгоритм работает, преобразуя задачу SMT в формулу SAT, где атомы заменяются булевыми переменными. Алгоритм многократно находит удовлетворяющую оценку для задачи SAT, консультируется с решателем теории для проверки согласованности в рамках теории, специфичной для домена, а затем (если обнаружено противоречие) уточняет формулу SAT с этой информацией. [4]

Многие современные решатели SMT, такие как Z3 Theorem Prover и CVC4 от Microsoft , используют DPLL(T) для обеспечения своих основных возможностей решения. [5] [6] [7]

Ссылки

  1. ^ Ганзингер, Харальд; Хаген, Джордж; Ниувенхейс, Роберт; Оливерас, Альберт; Тинелли, Чезаре (2004). "DPLL(T): Быстрые процедуры принятия решений". В Alur, Rajeev; Peled, Doron A. (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Vol. 3114. Springer Berlin Heidelberg. pp.  175– 188. doi : 10.1007/978-3-540-27813-9_14 . ISBN 9783540278139.
  2. ^ Nieuwenhuis, Robert; Oliveras, Albert; Tinelli, Cesare (2006). «Решение SAT и теорий SAT по модулю: от абстрактной процедуры Дэвиса–Патнэма–Логемана–Лавленда до DPLL(T)». J. ACM . 53 (6): 937– 977. doi :10.1145/1217856.1217859. ISSN  0004-5411. S2CID  14058631.
  3. ^ Nieuwenhuis, Robert; Oliveras, Albert (2005). "DPLL(T) с исчерпывающим распространением теории и его применение к разностной логике". В Etessami, Kousha; Rajamani, Sriram K. (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Vol. 3576. Springer Berlin Heidelberg. pp.  321– 334. doi : 10.1007/11513988_33 . ISBN 9783540316862.
  4. ^ Рейнольдс, Эндрю (2015). "Теории выполнимости по модулю и DPLL(T)" (PDF) . Университет Айовы . Получено 2019-04-08 .
  5. ^ де Моура, Леонардо; Бьёрнер, Николай (2008). "Z3: Эффективный SMT-решатель". В Рамакришнане, ЧР; Рехоф, Якоб (ред.). Инструменты и алгоритмы для построения и анализа систем . Конспект лекций по информатике. Том 4963. Springer Berlin Heidelberg. стр.  337–340 . doi : 10.1007/978-3-540-78800-3_24 . ISBN 9783540788003.
  6. ^ Лян, Тяньи; Рейнольдс, Эндрю; Тинелли, Чезаре; Барретт, Кларк; Детерс, Морган (2014). «Решатель теории DPLL(T) для теории строк и регулярных выражений». В Biere, Armin; Bloem, Roderick (ред.). Computer Aided Verification . Lecture Notes in Computer Science. Cham: Springer International Publishing. стр.  646– 662. doi : 10.1007/978-3-319-08867-9_43 . ISBN 978-3-319-08867-9.
  7. ^ Бруттомессо, Роберто; Чиматти, Алессандро; Францен, Андерс; Гриджио, Альберто; Себастьяни, Роберто (2008). «Решатель MathSAT 4 SMT». В Гупте, Аарти ; Малик, Шарад (ред.). Компьютерная проверка . Конспекты лекций по информатике. Том. 5123. Шпрингер Берлин Гейдельберг. стр.  299–303 . doi : 10.1007/978-3-540-70545-1_28 . ISBN 9783540705451.
Взято с "https://en.wikipedia.org/w/index.php?title=DPLL(T)&oldid=1252783928"