Тип работы:
Предмет:
Язык работы:


МИНИМИЗАЦИЯ КОРНЯ ЛОГИЧЕСКОГО УРАВНЕНИЯ ВИДА КНФ = 1

Работа №191284

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы47
Год сдачи2024
Стоимость4265 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
6
Не подходит работа?

Узнай цену на написание


Введение 3
1 Задача выполнимости булевых формул 5
1.1 Краткое введение и постановка задачи 5
1.2 Алгоритм DPLL 8
1.2.1 Правило единичного дизъюнкта 9
1.2.2 Механизм поиска 11
1.3 Алгоритм Закревского 13
1.4 Алгоритм CDCL 15
1.4.1 Граф импликаций 16
1.4.2 Формирование новых дизъюнктов 18
1.4.3 Нехронологический возврат 20
1.4.4 Перезапуск поиска 21
2 Минимизация корня логического уравнения вида КНФ = 1 23
2.1 Постановка задачи 23
2.2 Модификация алгоритма Закревского 24
2.2.1 Эвристика ветвления 24
2.2.2 Особенности метода 26
2.3 Стохастический метод минимизации корня КНФ = 1 28
2.3.1 Описание метода 28
2.3.2 Стохастическая эвристика ветвления 29
3 Программная реализация 35
3.1 Описание реализации 35
3.2 Экспериментальные результаты 37
Заключение 41
Список использованных источников и литературы 42
Приложение А Иллюстрация работы реализованного решателя 43


SAT-задача, или задача выполнимости булевых формул, является фундаментальной в информатике - она является первой задачей, для которой удалось доказать ее принадлежность к классу NP-полных задач (при формулировке задачи в форме КНФ = 1), имеет широкое применение в ряде областей, включая искусственный интеллект, верификацию программного обеспечения, криптографию, проектирование интегральных схем [1].
На текущий момент лидирующим подходом решения SAT-задачи является CDCL (Conflict Driven Clause Learning), в основе которого лежит классический алгоритм DPLL, и основная идея которого состоит в анализе встречаемых «конфликтов» в ходе решения и добавления новых искусственно сконструированных дизъюнктов в исходную КНФ, отражающих в себе информацию о соответствующих конфликтах, позволяющую в дальнейшем поиске их избегать [1].
В ряде практических задач возникает необходимость в решении смежной задачи - задачи нахождения корня как можно меньшего ранга логического уравнения вида КНФ = 1 (минимизации корня уравнения КНФ = 1).
Так, например, построение тестовых наборов для неисправности схемы в [2] сводится к поиску допустимых интервалов некоторой КНФ, где проверяющий тест задается набором таких интервалов (конъюнкций). При этом чем меньше их ранг, тем больше возможностей для сокращения длины проверяющего теста, что является предпочтительным.
В сравнении с задачей выполнимости булевых формул количество научных работ, рассматривающих эту расширенную задачу, существенно меньше. Из них можно обратить внимание на [3], где предложена модификация алгоритма Закревского с детерминированной эвристикой ветвления, направленной на сокращение ранга искомого корня.
В данной дипломной работе разработан метод поиска корня как можно меньшего ранга логического уравнения вида КНФ = 1, в основу которого взят модифицированный алгоритм CDCL со стохастической эвристикой ветвления основанной на предложенной в [3].
В целях исследования работы предлагаемого алгоритма и сравнения его с существующим методом [3] был реализован «решатель» (программная реализация), поддерживающий оба метода, и обладающий относительно простым программным интерфейсом, позволяющим заменять эвристику ветвления, условие останова, механизм поиска (DPLL, CDCL) и другие параметры поиска.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В данной работе была рассмотрена задача минимизации корня логического уравнения КНФ = 1, а также смежная с ней задача выполнимости булевых формул в формулировке КНФ.
Был изучен один из существующих методов поиска допустимого интервала КНФ как можно меньшего ранга, основанный на алгоритме Закревского. Были выявлены несколько недостатков этого метода.
На основе этого анализа был разработан метод поиска корня как можно меньшего ранга логического уравнения КНФ = 1, представляющий собой модифицированный алгоритм CDCL с рестартами и стохастической эвристикой ветвления.
Разработанный метод был реализован на языке С++, его эффективность в сравнении с предыдущим методом показана экспериментально (на рассмотренных бенчмарках).
Реализованный «решатель» (программная реализация) поддерживает оба из рассмотренных методов и имеет относительно простой программный интерфейс, позволяющий заменять эвристику ветвления, условие останова, механизм поиска (DPLL, CDCL) и другие параметры поиска, что делает его применимым для дальнейших исследований в данном направлении.



1. Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsh, "Handbook of Satisfiability", in Frontiers in Artificial Intelligence and Applications pp. 336, IOS Press 2021, ISBN 978-1-64368-160-3.
2. Тычинский В. З. Получение тестовых пар для робастно тестируемых неисправностей задержек путей с использованием SAT- решателей / В. З. Тычинский, В. В. Андреева // Материалы международной научной конференции "Математическое и программное обеспечение информационных, технических и экономических систем", Томск, 28-30 мая 2020 г.
3. Андреева Валентина Валерьевна, Тарновская Татьяна Павловна Сокращение ранга конъюнкции, представляющей корень логического уравнения // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2015. №4 (33).
4. Закревский А.Д. Логические уравнения. М. : Едиториал УРСС, 2003. 96 с.
5. Gomes, Carla P., Bart Selman, and Henry Kautz. "Boosting combinatorial search through randomization." AAAI/IAAI 98.1998 (1998): 431-437.
6. Luby, Michael, Alistair Sinclair, and David Zuckerman. "Optimal speedup of Las Vegas algorithms." Information Processing Letters 47.4 (1993): 173¬180.
7. AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, revision 3.32 (2021).
8. SATLIB - Benchmark problems // [электронный ресурс] URL:
https: //www. cs.ubc. ca/~hoos/S ATLIB/benchm.html; (дата обращения
25.05.2024).


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ