automated np-completeness proof for 2d problems

15
Методы автоматизации доказательства NP- полноты двумерных локально зависимых задач Дворкин М. Э. Научный руководитель: Корнеев Г. А., к. т. н., доцент КТ СПбГУ ИТМО [email protected]

Upload: mikhail-dvorkin

Post on 19-Jun-2015

745 views

Category:

Documents


0 download

DESCRIPTION

Mikhail Dvorkin's bachelors thesis

TRANSCRIPT

Page 1: Automated NP-completeness proof for 2D problems

Методы автоматизации доказательства NP-полноты

двумерных локально зависимых задач

Дворкин М. Э.

Научный руководитель:Корнеев Г. А., к. т. н., доцент КТ СПбГУ ИТМО

[email protected]

Page 2: Automated NP-completeness proof for 2D problems

Двумерные локально зависимые задачи

• Вход: поле h×w• Вопрос: существует ли

заполнение?• Корректность заполнения

= проверка квадратов s×s

Примеры:• Головоломки– Сапер– Какуро (CROSS SUM)

• Замощение данным набором полимино – (p,q)-замощение

2Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 3: Automated NP-completeness proof for 2D problems

Применение устройств

• «На языке задачи L» выражается известная NP-полная задача

• Используются «устройства» (gadgets) и провода, соединяющие их

• Устройства могутбыть сложны

3Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 4: Automated NP-completeness proof for 2D problems

Постановка задачи

• Автоматизация построения устройств с заданной функциональностью

• Описание наборов устройств, достаточных для доказательства NP-полноты

• Программная реализация• Применение для доказательства

NP-полноты конкретных задач– N-CROSS SUM

4Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 5: Automated NP-completeness proof for 2D problems

Сведение 1-in-3 SAT к L

Задача 1-in-3 SAT:• Вход: конъюнкция из

предикатов R(A, B, C)• Вопрос: выполнима ли

конъюнкция?Удобна, поскольку

истинность конъюнкций проверяется независимо

5Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 6: Automated NP-completeness proof for 2D problems

Одинарные и двойные провода

• Провод придумывается человеком, зачастую — просто

• Устройство «создание провода» не всегда существует

• Рассматриваются двойные провода:– «в фазе»– «в противофазе»

6Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 7: Automated NP-completeness proof for 2D problems

Набор устройств для двойных проводов

• «Создание»• «Валидатор»• «Одинарный

провод»• «Перекрещивание»• «1 из 3»• «2 из 3»

7Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 8: Automated NP-completeness proof for 2D problems

Динамическое программированиепо профилю

Профиль — вертикальный «срез» поля, содержит всю необходимую информацию для дальнейшей обработки поля

Прямой профиль• Проще для понимания• Громоздкий переход,

большая таблица переходов

Изломанный профиль• Их число больше• Таблица переходов

меньше

8Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 9: Automated NP-completeness proof for 2D problems

Подход «перебор всех полей»

• Перебрать все поля, O(|A|hw)• Для каждого проверить, является ли оно

искомым устройством, O(nhwp|B|)• Итого: O(|A|hwnhwp|B|)• Улучшение: для разных полей не

обрабатывать общие префиксы• Время работы: O(|A|hwnp|B|)

9Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 10: Automated NP-completeness proof for 2D problems

Метадинамическое программирование

• Рассмотрим два поля после обработки первых i клеток. Что если все совпадает?

• Метапрофиль — множества достижимых профилей для каждого набора булевых значений входных проводов

• После обработки i-й клетки все поля с одинаковыми метапрофилями можно отождествить

10Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 11: Automated NP-completeness proof for 2D problems

Метадинамическое программирование

• O(min(|A|hwnp|B|, |A||B|nphw2np))• Критична высота рассматриваемого поля• Если после обработки столбца то же

множество метапрофилей, что и до нее, можно остановиться

• Для каждого метапрофиля хранится одно поле-представитель (самое «красивое»)

11Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 12: Automated NP-completeness proof for 2D problems

Задача (2,3)-замощения

12Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 13: Automated NP-completeness proof for 2D problems

Задача 4-CROSS SUM (открытый вопрос)

13Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 14: Automated NP-completeness proof for 2D problems

Задача 4-CROSS SUM (открытый вопрос)

14Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.

Page 15: Automated NP-completeness proof for 2D problems

Спасибо за внимание

Есть ли вопросы?

15Автоматизация доказательства NP-полноты двумерных задачДворкин М. Э.