Jump to content

Изучение положений, основанных на конфликте

В информатике ( конфликтно-ориентированное обучение предложений CDCL ) — это алгоритм решения булевой проблемы выполнимости (SAT). Учитывая булевую формулу, задача SAT требует присвоения переменных так, чтобы вся формула имела значение true. Внутренняя работа решателей CDCL SAT была вдохновлена ​​решателями DPLL . Основное различие между CDCL и DPLL заключается в том, что прыжки назад в CDCL не хронологичны.

Изучение предложений, основанное на конфликте, было предложено Маркесом-Сильвой и Каремом А. Сакаллой (1996, 1999). [ 1 ] [ 2 ] и Баярдо и Шраг (1997). [ 3 ]

Проблема логической выполнимости

[ редактировать ]

Проблема выполнимости состоит в нахождении удовлетворяющего назначения для данной формулы в конъюнктивной нормальной форме (КНФ).

Пример такой формулы:

( ( не A ) или ( не C )) и ( B или C ),

или, используя общепринятые обозначения: [ 4 ]

где A , B , C — логические переменные, , , , и являются литералами, и и являются оговорками.

Удовлетворяющее назначение для этой формулы, например:

поскольку это делает первое предложение истинным (поскольку верно), а также второй (поскольку это правда).

В этом примере используются три переменные ( A , B , C ), и для каждой из них существует два возможных назначения (True и False). Итак, у человека есть возможности. В этом небольшом примере можно использовать перебор, чтобы перебрать все возможные присваивания и проверить, удовлетворяют ли они формуле. Но в реалистичных приложениях с миллионами переменных и предложений поиск методом грубой силы непрактичен. Ответственность решателя SAT заключается в том, чтобы эффективно и быстро найти удовлетворяющее задание, применяя различные эвристики для сложных формул CNF.

Правило предложения единицы (распространение единицы)

[ редактировать ]

Если в предложении все литералы или переменные, кроме одного, имеют значение False, то свободный литерал должен быть True, чтобы предложение было True. Например, если приведенное ниже невыполненное предложение оценивается с помощью и мы должны иметь для того, чтобы пункт быть правдой.

Повторное применение правила единичного предложения называется распространением единицы или распространением логических ограничений (BCP).

Разрешение

[ редактировать ]

Рассмотрим два пункта и . Пункт , полученный путем слияния двух предложений и удаления обоих и , называется резольвентой двух предложений.

Алгоритм

[ редактировать ]

Обучение предложению, основанное на конфликте, работает следующим образом.

  1. Выберите переменную и присвойте ей значение True или False. Это называется состоянием решения. Запомните задание.
  2. Примените распространение логических ограничений (единичное распространение).
  3. Постройте график последствий .
  4. Если есть конфликт
    1. Найдите разрез в графе последствий, который привел к конфликту.
    2. Выведите новое предложение, которое представляет собой отрицание присвоений, приведших к конфликту.
    3. Нехронологический возврат («прыжок назад») на соответствующий уровень принятия решений, где была назначена первая назначенная переменная, участвующая в конфликте.
  5. В противном случае продолжайте с шага 1, пока не будут присвоены все значения переменных.

Наглядный пример алгоритма CDCL: [ 4 ]

DPLL — это надежный и полный алгоритм SAT. Решатели CDCL SAT реализуют DPLL, но могут изучать новые предложения и возвращаться нехронологически. Изучение положений с помощью анализа конфликтов не влияет ни на обоснованность, ни на полноту. Анализ конфликтов выявляет новые положения с помощью операции разрешения. Таким образом, каждое изученное предложение может быть выведено из исходных и других изученных предложений с помощью последовательности шагов разрешения. Если cN — новое изученное предложение, то φ выполнимо тогда и только тогда, когда φ ∪ {cN} также выполнимо. Более того, модифицированный шаг возврата также не влияет на корректность или полноту, поскольку информация возврата получается из каждого нового изученного предложения. [ 5 ]

Приложения

[ редактировать ]

Основное применение алгоритма CDCL находится в различных решателях SAT, включая:

  • МиниСАТ
  • Зчафф САТ
  • Z3
  • Глюкоза [ 6 ]
  • МногиеSAT и т. д.

Алгоритм CDCL сделал решатели SAT настолько мощными, что они эффективно используются в нескольких реальных областях применения, таких как планирование искусственного интеллекта, биоинформатика, создание шаблонов тестирования программного обеспечения, зависимости пакетов программного обеспечения, проверка моделей аппаратного и программного обеспечения и криптография.

[ редактировать ]

Связанными с CDCL алгоритмами являются алгоритм Дэвиса-Патнэма и алгоритм DPLL . Алгоритм DP использует опровержение резолюции и имеет потенциальную проблему доступа к памяти. [ нужна ссылка ] Хотя алгоритм DPLL подходит для случайно сгенерированных экземпляров, он плох для экземпляров, сгенерированных в практических приложениях. CDCL — более мощный подход к решению таких проблем, поскольку применение CDCL обеспечивает меньший поиск в пространстве состояний по сравнению с DPLL.

Цитируемые работы

[ редактировать ]
  1. ^ Ж. П. Маркес-Сильва; Карем А. Сакалла (ноябрь 1996 г.). «GRASP-новый алгоритм поиска выполнимости». Дайджест Международной конференции IEEE по компьютерному проектированию (ICCAD) . стр. 220–227. CiteSeerX   10.1.1.49.2075 . дои : 10.1109/ICCAD.1996.569607 . ISBN  978-0-8186-7597-3 .
  2. ^ Ж. П. Маркес-Сильва; Карем А. Сакалла (май 1999 г.). «GRASP: алгоритм поиска выполнимости предложений» (PDF) . Транзакции IEEE на компьютерах . 48 (5): 506–521. дои : 10.1109/12.769433 . Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 29 ноября 2014 г.
  3. ^ Роберто Дж. Баярдо младший; Роберт К. Шраг (1997). «Использование методов обратного анализа CSP для решения реальных экземпляров SAT» (PDF) . Учеб. 14-й Нац. Конф. об искусственном интеллекте (AAAI) . стр. 203–208.
  4. ^ Перейти обратно: а б На фотографиях ниже» " используется для обозначения "или", умножение для обозначения "и" и постфикс " «чтобы обозначить «нет».
  5. ^ Маркес-Сильва, Жуан; Линс, Инес; Малик, Шарад (февраль 2009 г.). Справочник по выполнимости (PDF) . ИОС Пресс. п. 138. ИСБН  978-1-60750-376-7 .
  6. ^ «Домашняя страница Глюкозы» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 93ae8b81c30b38835dcb84617753f0d8__1723093260
URL1:https://arc.ask3.ru/arc/aa/93/d8/93ae8b81c30b38835dcb84617753f0d8.html
Заголовок, (Title) документа по адресу, URL1:
Conflict-driven clause learning - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)