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

Содержание

Слайд 2

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

Вход: поле h×w
Вопрос: существует ли заполнение?
Корректность заполнения = проверка

Двумерные локально зависимые задачи Вход: поле h×w Вопрос: существует ли заполнение? Корректность
квадратов s×s

Примеры:
Головоломки
Сапер
Какуро (CROSS SUM)
Замощение данным набором полимино
(p,q)-замощение

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

Дворкин М. Э.

Слайд 3

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

«На языке задачи L» выражается известная NP-полная задача
Используются «устройства» (gadgets) и

Применение устройств «На языке задачи L» выражается известная NP-полная задача Используются «устройства»
провода, соединяющие их
Устройства могут быть сложны

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

Дворкин М. Э.

Слайд 4

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

Автоматизация построения устройств с заданной функциональностью
Описание наборов устройств, достаточных для доказательства

Постановка задачи Автоматизация построения устройств с заданной функциональностью Описание наборов устройств, достаточных
NP-полноты
Программная реализация
Применение для доказательства NP-полноты конкретных задач
N-CROSS SUM

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

Дворкин М. Э.

Слайд 5

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

Задача 1-in-3 SAT:
Вход: конъюнкция из предикатов R(A, B,

Сведение 1-in-3 SAT к L Задача 1-in-3 SAT: Вход: конъюнкция из предикатов
C)
Вопрос: выполнима ли конъюнкция?
Удобна, поскольку истинность конъюнкций проверяется независимо

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

Дворкин М. Э.

Слайд 6

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

Провод придумывается человеком, зачастую — просто
Устройство «создание провода» не

Одинарные и двойные провода Провод придумывается человеком, зачастую — просто Устройство «создание
всегда существует
Рассматриваются двойные провода:
«в фазе»
«в противофазе»

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

Дворкин М. Э.

Слайд 7

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

«Создание»
«Валидатор»
«Одинарный провод»
«Перекрещивание»
«1 из 3»
«2 из 3»

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

Набор устройств для двойных проводов «Создание» «Валидатор» «Одинарный провод» «Перекрещивание» «1 из
задач

Дворкин М. Э.

Слайд 8

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

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

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

Прямой профиль
Проще для понимания
Громоздкий переход, большая таблица переходов

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

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

Дворкин М. Э.

Слайд 9

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

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

Подход «перебор всех полей» Перебрать все поля, O(|A|hw) Для каждого проверить, является
искомым устройством, O(nhwp|B|)
Итого: O(|A|hwnhwp|B|)
Улучшение: для разных полей не обрабатывать общие префиксы
Время работы: O(|A|hwnp|B|)

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

Дворкин М. Э.

Слайд 10

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

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

Метадинамическое программирование Рассмотрим два поля после обработки первых i клеток. Что если
совпадает?
Метапрофиль — множества достижимых профилей для каждого набора булевых значений входных проводов
После обработки i-й клетки все поля с одинаковыми метапрофилями можно отождествить

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

Дворкин М. Э.

Слайд 11

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

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

Метадинамическое программирование O(min(|A|hwnp|B|, |A||B|nphw2np)) Критична высота рассматриваемого поля Если после обработки столбца
метапрофилей, что и до нее, можно остановиться
Для каждого метапрофиля хранится одно поле-представитель (самое «красивое»)

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

Дворкин М. Э.

Слайд 12

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

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

Дворкин М. Э.

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

Слайд 13

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

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

Дворкин М. Э.

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

Слайд 14

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

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

Дворкин М. Э.

Задача 4-CROSS SUM (открытый вопрос) Автоматизация доказательства NP-полноты двумерных задач Дворкин М. Э.
Имя файла: Методы-автоматизации-доказательства-NP-полноты-двумерных-локально-зависимых-задач.pptx
Количество просмотров: 130
Количество скачиваний: 0