WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     || 2 |
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

На правах рукописи

Куликов Александр Сергеевич ПОСТРОЕНИЕ АЛГОРИТМОВ ДЛЯ ЗАДАЧ БУЛЕВОЙ ЛОГИКИ ПРИ ПОМОЩИ АВТОМАТИЗАЦИИ, КОМБИНИРОВАННЫХ МЕР СЛОЖНОСТИ И ЗАПОМИНАНИЯ ДИЗЪЮНКТОВ 05.13.17 теоретические основы информатики А В Т О Р Е Ф Е Р А Т диссертации на соискание ученой степени кандидата физико-математических наук

Санкт-Петербург 2009

Работа выполнена в Учреждении Российской академии наук Санкт-Петербургском отделении Математического института им. В. А. Стеклова РАН

Научный консультант: кандидат физико-математических наук, доцент Гирш Эдуард Алексеевич

Официальные оппоненты: доктор физико-математических наук, профессор Гимади Эдуард Хайрутдинович (Институт математики им. С. Л. Соболева Сибирского отделения РАН) кандидат физико-математических наук, доцент Соловьев Игорь Павлович (Санкт-Петербургский государственный университет)

Ведущая организация: Уральский государственный университет

Защита диссертации состоится “ ” 2009 г. в час.

на заседании совета Д 212.232.51 по защите докторских и кандидатских диссертаций при Санкт-Петербургском государственном университете по адресу: 198504, Санкт-Петербург, Старый Петергоф, Университетский пр., 28.

С диссертацией можно ознакомиться в Научной библиотеке им. М. Горького Санкт-Петербургского государственного университета по адресу: 199034, Санкт-Петербург, Университетская наб., 7/9.

Автореферат разослан “ ” 2009 г.

Ученый секретарь диссертационного совета, доктор физ.-мат. наук, профессор Даугавет И. К.

-3

Общая характеристика работы

Актуальность темы. Интерес к доказательству экспоненциальных верхних оценок для NP-трудных задач в последние несколько десятилетий остается на стабильно высоком уровне. Одним из наиболее хорошо изученных подходов к доказательству таких оценок является метод расщепления.

Впервые данный метод был предложен в 1960-м году Дэвисом и Патнемом и сформулирован в более современном виде Дэвисом, Лоджеманном и Лавлэндом в 1962-м году. Его основная идея заключается в расщеплении входного примера задачи на несколько более простых примеров (упрощаемых в дальнейшем некоторыми правилами упрощения), таких что, построив решение для каждого из них, возможно за полиномиальное время построить решение для исходного примера. В списке ниже мы приводим некоторые верхние оценки на время решения NP-трудных задач в наихудшем случае, доказанные методом расщепления и являющиеся наилучшими из известных (здесь и на протяжении всей работы мы опускаем полиномиальные от размера входа множители в оценках, указывая только экспоненциальную составляющую):

1. 1.074L для задачи пропозициональной выполнимости формул в КНФ, где L длина (то есть общее количество литералов) входной формулы (Гирш, 2000);

2. 1.341294K для задачи максимальной выполнимости, где K количество дизъюнктов входной формулы (Чен и Канж, 2002);

3. 1.122463m для задачи о максимальном разрезе, где m количество ребер входного графа (Скотт и Соркин, 2003);

4. 1.3289n для задачи о 3-раскрашиваемости графа, где n количество вершин входного графа (Бейгель и Эпштейн, 2005).

В диссертации рассматриваются алгоритмы расщепления в применении к задачам выполнимости и максимальной выполнимости. Обе зада-4чи формулируются на языке булевых формул, являющемся очень удобным для кодирования многих алгоритмических задач (таких, например, как автоматическое доказательство теорем, составление расписаний, оптимизационные задачи на графах). Задача пропозициональной выполнимости (satisfiability problem, SAT) является одной из наиболее известных NP-полных задач. Данной задаче посвящена международная ежегодная конференция (The International Conference on Theory and Applications of Satisfiability Testing), проводящаяся уже более десяти лет, а также научный журнал (Journal on Satisfiability, Boolean Modeling and Computation). Поскольку NP-трудные задачи часто возникают в практических приложениях (например, при разработке микросхем, в распознавании образов), важное место в исследовании задачи выполнимости занимает разработка программ, решающих SAT (такие программы называются SAT-солверами).

Ежегодно проводятся соревнования таких программ. Современные SATсолверы способны быстро решать многие задачи, считавшиеся нерешаемыми несколько лет назад.

Важным оптимизационным обобщением задачи выполнимости является задача максимальной выполнимости (maximum satisfiability problem, MAX-SAT). В терминах задачи MAX-SAT могут быть естественным образом переформулированы многие оптимизационные NP-трудные задачи, к примеру, такие оптимизационные задачи на графах, как задача о максимальном разрезе (maximum cut problem, MAX-CUT), задача о минимальном вершинном покрытии (minumum vertex cover problem), задача о максимальном независимом множестве (maximum independent set problem).

Задача MAX-SAT возникает также в задачах искусственного интеллекта и комбинаторной оптимизации.

Для задачи MAX-SAT существуют приближенные алгоритмы, находящие за полиномиальное время решение с некоторой гарантированной точностью. Например, алгоритм Асано и др. выдает набор, выполняющий хотя бы долю 0.77 количества дизъюнктов, выполненных оптимальным набором. В то же время известно, что в предположении P =NP не существует -5полиномиального по времени алгоритма, находящего приближенное решение, сколь угодно близкое к оптимальному. Алгоритм Данцина и др. находит такое приближение, но за экспоненциальное время. Известно также много алгоритмов, решающих практические примеры задачи максимальной выполнимости. Для данных алгоритмов, однако, неизвестно никаких оценок (кроме тривиальных) на время работы в наихудшем случае.

Наряду с общей задачей максимальной выполнимости мы рассматриваем следующие ее частные случаи:

• (n, 3)-MAX-SAT вариант задачи MAX-SAT для формул, в которых каждая переменная содержится не более, чем в трех дизъюнктах;

• MAX-2-SAT вариант задачи MAX-SAT, где каждый дизъюнкт входной формулы содержит не более двух литералов;

• (n, 3)-MAX-2-SAT вариант задачи MAX-SAT, где каждый дизъюнкт входной формулы содержит не более двух литералов и каждая переменная входит не более, чем в три дизъюнкта.

Известно, что все перечисленные выше задачи являются NPтрудными. Таким образом, в предположении P =NP не существует полиномиальных по времени алгоритмов для данных задач. Тем не менее, поскольку подобные задачи часто возникают в практических приложениях, важно понять, какое время требуется для их решения, даже если это время экспоненциально.

Как сказано выше, лучшие известные оценки для многих NP-трудных задач получены именно методом расщепления. Простейший алгоритм расщепления для задачи выполнимости на формуле с N переменными имеет время работы порядка 2N. Первые улучшения данной оценки были получены в начале 1980-х годов Мониеном и Шпекенмейером и Данциным для формул, длины дизъюнктов которых ограничены некоторой константой. Позднее было получено много оценок, улучшающих тривиальную для некоторых NP-полных подклассов задач выполнимости и максимальной -6выполнимости. Вопрос о том, могут ли данные две задачи быть решены за время cN, где c < 2 константа, до сих пор остается открытым и является одним из самых знаменитых вопросов современной теоретической информатики. Однако недавно были разработаны алгоритмы, решающие задачи выполнимости и максимальной выполнимости быстрее, чем за 2N, для формул константной плотности, то есть формул, у которых отношение количества дизъюнктов к количеству переменных ограничено сверху некоторой константой (Арвинд и Шулер, 2003; Данцин и Вольперт, 2006).

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

Для улучшения оценки на время работы алгоритма можно добавлять в алгоритм новые правила упрощения либо же проводить более детальный разбор случаев.

Цели работы.

1. Разработать и реализовать программу, осуществляющую автоматический анализ случаев, возникающих при доказательстве верхних оценок на время работы в худшем случае алгоритмов расщепления.

2. Разработать правило упрощения, обобщающее известные правила.

3. Построить алгоритм, решающий задачу MAX-SAT на формулах константной плотности в худшем случае за время cN, где c = c() < 2 константа, с использованием лишь полиномиальной памяти.

4. Доказать новые верхние оценки для задач MAX-2-SAT и (n, 3)MAX-2-SAT.

Общая методика работы. Для оценки времени работы алгоритмов используются стандартные методы решения рекуррентных неравенств. Од-7нако почти во всех доказательствах верхних оценок на время работы алгоритмов используются нестандартные меры сложности. Также приводятся новые методы сокращения перебора случаев и описывается метод автоматического анализа алгоритмов расщепления.

Основные результаты.

1. Реализована программа, автоматически доказывающая верхние оценки на время работы алгоритмов расщепления путем анализа случаев.

При помощи данной программы получено несколько новых оценок.

2. Разработано правило упрощения для задач выполнимости и максимальной выполнимости, обобщающее известные правила упрощения, присваивающие значения переменным формулы.

3. Разработан алгоритм, решающий задачу MAX-SAT на формулах константной плотности за время cN, где c = c() < 2 константа, с использованием лишь полиномиальной памяти.

4. Доказаны следующие новые верхние оценки на время работы алгоритмов расщепления:

• 2K/6, где K количество дизъюнктов входной формулы, для MAX-2-SAT;

• 2N/6.7, где N количество дизъюнктов входной формулы, для (n, 3)-MAX-2-SAT.

Научная новизна. Алгоритмы для (n, 3)-MAX-SAT и MAX-2-SAT являются самыми быстрыми из известных. Алгоритм для MAX-SAT, работающий на формулах константной плотности быстрее, чем 2N, является первым известным алгоритмом для данной задачи, улучшающим тривиальную оценку и при этом пользующимся лишь полиномиальной памятью.

Реализованная программа для автоматического анализа алгоритмов расщепления и обобщенное правило упрощения являются первыми в своем роде.

-8Практическая и теоретическая ценность. Новые идеи доказательства верхних оценок на время работы алгоритмов расщепления имеют, скорее, теоретическую ценность. В то же время идеи, использующиеся для сокращения перебора случаев, могут быть применены и на практике (к примеру, в SAT-солверах).

Апробация работы. Основные результаты обсуждались на следующих конференциях и семинарах: Международная студенческая школа Estonian Winter School in Computer Science (EWSCS 2004), Эстония, 2004; Международная студенческая школа Summer School on Experimental Algorithmics, Дания, 2004; Международная конференция International Workshop on Parameterized and Exact Computation (IWPEC 2004), Норвегия, 2004; Международная конференция Eighth International Conference on Theory and Applications of Satisfiability Testing (SAT 2005), Шотландия, 2005; Международный семинар Dagstuhl Seminar on Exact Algorithms and Fixed-Parameter Tractability, Германия, 2005; Международный симпозиум Seventeenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2006), США, 2006; Международный симпозиум Second International Computer Science Symposium in Russia (CSR 2007), Россия, 2007; Международный семинар Dagstuhl Seminar on Moderately Exponential Algorithms, Германия, 2008; Результаты, лежащие в основе диссертации, также были доложены в Университете Торонто (Univeristy of Toronto), Университете Нью-Йорка (City University of New York) и Чешской академии наук (Czech Academy of Sciences), а также на семинаре ПОМИ РАН. Доклад на студенческой школе в Эстонии занял первое место.

Публикации. Основные результаты диссертации опубликованы в семи работах [1, 3, 4, 6, 5, 7, 2]. Работы [1, 3, 4, 2] опубликованы в изданиях, входящих в список рекомендованных Высшей аттестационной комиссией на момент публикации. В работах [7, 2] диссертанту принадлежит новая идея использования нестандартной меры сложности для оценки времени работы алгоритмов, доказательства получены совместно с соавтором К. Куцковым. Описанные в работах [3, 4] алгоритмы и результаты принадлежат -9диссертанту. В работе [5] диссертантом доказана основная оценка на время работы алгоритма, сам же алгоритм разработан совместно с соавтором А. Кожевниковым.

Структура и объем диссертации. Диссертация объемом 94 страницы состоит из введения и пяти основных глав, разбитых на разделы и подразделы. Список цитируемой литературы состоит из сорока наименований.

Содержание работы Во введении обсуждаются рассматриваемые в диссертации задачи, состояние исследований в этой области, формулируются основные результаты, описывается структура диссертации.

В первой главе определяются основные понятия и вводятся обозначения, используемые на протяжении всей диссертации.

Формулы в КНФ. Пусть V множество булевых переменных, то есть переменных, принимающих значения True и False (константы True и False обозначаются также 1 и 0, соответственно). Отрицание переменной v V обозначается через ¬v. Литералом называется переменная или ее отрицание. Через var(l) мы обозначаем переменную, соответствующую литералу l. Дизъюнктом и набором называются множества литералов, не содержащие одновременно переменной и ее отрицания. Длиной дизъюнкта называется количество содержащихся в нем литералов, k-дизъюнкт это дизъюнкт длины ровно k. Формулой в конъюнктивной нормальной форме (КНФ) называется мультимножество дизъюнктов. Формулой в k-КНФ называется формула, содержащая только дизъюнкты длины не более k.

Плотностью формулы называется отношение количества дизъюнктов к количеству переменных. Мы считаем, что формула может содержать также специальный дизъюнкт T, который выполняется любым набором.

Полный набор это набор значений всем переменным формулы. Мы говорим, что дизъюнкт C выполняется набором, если C = ; дизъ юнкт C опровергается набором, если l C, ¬l. С помощью V () -10мы обозначаем множество переменных набора. Через Cl(F, ) обозначается количество дизъюнктов формулы F, выполненных набором, а через MCl(F ) максимальное количество одновременно выполнимых дизъюнктов (таким образом, MCl(F ) = max Cl(F, )).

Pages:     || 2 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»