Алгоритмы для NP-трудных задач
Лекция 7: Алгоритмы расщепления
А. Куликов
Computer Science клуб при ПОМИ
http://logic.pdmi...
План лекции
1 Простой алгоритм для задачи выполнимости
А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 2 / 23
План лекции
1 Простой алгоритм для задачи выполнимости
2 Автоматические доказательства верхних оценок на время работы
алго...
Метод расщепления
А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Метод расщепления
Один из самых мощных и хорошо изученных методов для
доказательства верхних оценок для NP-трудных задач.
...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
А. Куликов (Computer Science клуб) 7. Ал...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
А. Кули...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Пример работы алгоритма расщепления
(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)
x = 1
(z) ∧ (...
Простой алгоритм для задачи выполнимости
План лекции
1 Простой алгоритм для задачи выполнимости
2 Автоматические доказател...
Простой алгоритм для задачи выполнимости
Правила упрощения
Определение
К формуле F применимо правило упрощения (simplifica...
Простой алгоритм для задачи выполнимости
Правила упрощения
Определение
К формуле F применимо правило упрощения (simplifica...
Простой алгоритм для задачи выполнимости
Правила упрощения
Определение
К формуле F применимо правило упрощения (simplifica...
Простой алгоритм для задачи выполнимости
Единичный клоз
Единичный клоз
Если формула содержит единичный клоз (unit clause),...
Простой алгоритм для задачи выполнимости
Единичный клоз
Единичный клоз
Если формула содержит единичный клоз (unit clause),...
Простой алгоритм для задачи выполнимости
Чистый литерал
Чистый литерал
Если формула содержит чистый литерал (pure literal)...
Простой алгоритм для задачи выполнимости
Чистый литерал
Чистый литерал
Если формула содержит чистый литерал (pure literal)...
Простой алгоритм для задачи выполнимости
Резолюция
Резолюция
Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x...
Простой алгоритм для задачи выполнимости
Резолюция
Резолюция
Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x...
Простой алгоритм для задачи выполнимости
Резолюция
Резолюция
Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Пусть K — некоторая мера сложности ф...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Пусть K — некоторая мера сложности ф...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Пусть K — некоторая мера сложности ф...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Неформально
Чем меньше сложности фор...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Неформально
Чем меньше сложности фор...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Неформально
Чем меньше сложности фор...
Простой алгоритм для задачи выполнимости
Оценка времени работы алгоритмов расщепления
Неформально
Чем меньше сложности фор...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
А. Куликов (Computer Science клуб) 7. Алгоритмы рас...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
применять правила упрощения единичный клоз, чистый ...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
применять правила упрощения единичный клоз, чистый ...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
применять правила упрощения единичный клоз, чистый ...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
применять правила упрощения единичный клоз, чистый ...
Простой алгоритм для задачи выполнимости
Алгоритм
Алгоритм
DPLL-SAT(F)
применять правила упрощения единичный клоз, чистый ...
Простой алгоритм для задачи выполнимости
Анализ алгоритма
Лемма
Время работы алгоритма DPLL-SAT не превосходит 1.415K , гд...
Простой алгоритм для задачи выполнимости
Анализ алгоритма
Лемма
Время работы алгоритма DPLL-SAT не превосходит 1.415K , гд...
Простой алгоритм для задачи выполнимости
Анализ алгоритма
Лемма
Время работы алгоритма DPLL-SAT не превосходит 1.415K , гд...
Простой алгоритм для задачи выполнимости
Анализ алгоритма
Лемма
Время работы алгоритма DPLL-SAT не превосходит 1.415K , гд...
Простой алгоритм для задачи выполнимости
Анализ алгоритма
Лемма
Время работы алгоритма DPLL-SAT не превосходит 1.415K , гд...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
А. Куликов (Computer Science клуб) 7....
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
ясно, что упрощенная формула не содер...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
ясно, что упрощенная формула не содер...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
А. Куликов (Computer Science клуб) 7....
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
рассмотрим произвольный литерал x:
F ...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
рассмотрим произвольный литерал x:
F ...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
рассмотрим произвольный литерал x:
F ...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
рассмотрим произвольный литерал x:
F ...
Простой алгоритм для задачи выполнимости
Доказательство (продолжение)
Доказательство
рассмотрим произвольный литерал x:
F ...
Автоматические доказательства верхних оценок
План лекции
1 Простой алгоритм для задачи выполнимости
2 Автоматические доказ...
Автоматические доказательства верхних оценок
Анализ алгоритмов расщепления
А. Куликов (Computer Science клуб) 7. Алгоритмы...
Автоматические доказательства верхних оценок
Анализ алгоритмов расщепления
как правило, анализ расщепляющего алгоритма сос...
Автоматические доказательства верхних оценок
Анализ алгоритмов расщепления
как правило, анализ расщепляющего алгоритма сос...
Автоматические доказательства верхних оценок
Анализ алгоритмов расщепления
как правило, анализ расщепляющего алгоритма сос...
Автоматические доказательства верхних оценок
Анализ алгоритмов расщепления
как правило, анализ расщепляющего алгоритма сос...
Автоматические доказательства верхних оценок
Программа для автоматического доказательства верхних
оценок для NP-трудных за...
Автоматические доказательства верхних оценок
Программа для автоматического доказательства верхних
оценок для NP-трудных за...
Автоматические доказательства верхних оценок
Программа для автоматического доказательства верхних
оценок для NP-трудных за...
Автоматические доказательства верхних оценок
Программа для автоматического доказательства верхних
оценок для NP-трудных за...
Автоматические доказательства верхних оценок
Программа для автоматического доказательства верхних
оценок для NP-трудных за...
Автоматические доказательства верхних оценок
Пример входа
Допсутим, программа получила задание доказать, что существует
ал...
Автоматические доказательства верхних оценок
Предобработка
А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 20 ...
Автоматические доказательства верхних оценок
Предобработка
программа должна доказать, что для любой упрощенной
формулы мож...
Автоматические доказательства верхних оценок
Предобработка
программа должна доказать, что для любой упрощенной
формулы мож...
Автоматические доказательства верхних оценок
Предобработка
программа должна доказать, что для любой упрощенной
формулы мож...
Автоматические доказательства верхних оценок
Предобработка
Таким образом
Программе нужно доказать, что упрощенную формулу,...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
А. Куликов (Computer Science...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Автоматический разбор случаев
упрощенные формулы
?
(x ∨ . . .) ∧ (¯x ∨ . . .)...
Автоматические доказательства верхних оценок
Спасибо за внимание!
А. Куликов (Computer Science клуб) 7. Алгоритмы расщепле...
Upcoming SlideShare
Loading in …5
×

Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

108 views

Published on

Приближенные алгоритмы, основанные на решении задачи полуопределенного программирования. $ 0.87 $-приближенный алгоритм для задачи о максимальном разрезе, раскраска вершин $ 3 $-раскрашиваемого графа в $ O(d^{0.631}) $ цветов, где $ d $ - средняя степень вершин графа.

  • Be the first to comment

  • Be the first to like this

Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

  1. 1. Алгоритмы для NP-трудных задач Лекция 7: Алгоритмы расщепления А. Куликов Computer Science клуб при ПОМИ http://logic.pdmi.ras.ru/∼infclub/ А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 1 / 23
  2. 2. План лекции 1 Простой алгоритм для задачи выполнимости А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 2 / 23
  3. 3. План лекции 1 Простой алгоритм для задачи выполнимости 2 Автоматические доказательства верхних оценок на время работы алгоритмов расщепления А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 2 / 23
  4. 4. Метод расщепления А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  5. 5. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  6. 6. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. Рекордные теоретические верхние оценки для многих задач получены именно с помощью этого метода. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  7. 7. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. Рекордные теоретические верхние оценки для многих задач получены именно с помощью этого метода. В то же время для некоторых задач не дает ничего лучше полного перебора. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  8. 8. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. Рекордные теоретические верхние оценки для многих задач получены именно с помощью этого метода. В то же время для некоторых задач не дает ничего лучше полного перебора. Анализ алгоритмов, основанных на методе расщепления, как правило достаточно сложен (хотя и однообразен). А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  9. 9. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. Рекордные теоретические верхние оценки для многих задач получены именно с помощью этого метода. В то же время для некоторых задач не дает ничего лучше полного перебора. Анализ алгоритмов, основанных на методе расщепления, как правило достаточно сложен (хотя и однообразен). Многие практические алгоритмы также основаны на методе расщепления. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  10. 10. Метод расщепления Один из самых мощных и хорошо изученных методов для доказательства верхних оценок для NP-трудных задач. Рекордные теоретические верхние оценки для многих задач получены именно с помощью этого метода. В то же время для некоторых задач не дает ничего лучше полного перебора. Анализ алгоритмов, основанных на методе расщепления, как правило достаточно сложен (хотя и однообразен). Многие практические алгоритмы также основаны на методе расщепления. Мы будем рассматривать метод расщепления в применении к задачам выполнимости и максимальной выполнимости, хотя известно много таких алгоритмов и для других задач. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 3 / 23
  11. 11. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  12. 12. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  13. 13. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  14. 14. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  15. 15. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  16. 16. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  17. 17. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  18. 18. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 {x = 0, y = 0, z = 1} — выполняющий набор А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  19. 19. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 {x = 0, y = 0, z = 1} — выполняющий набор как улучшать? А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  20. 20. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 {x = 0, y = 0, z = 1} — выполняющий набор упрощение А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  21. 21. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 {x = 0, y = 0, z = 1} — выполняющий набор порядок перебора А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  22. 22. Пример работы алгоритма расщепления (x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) (y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 1 (z) ∧ (¬z) y = 1 (y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) x = 0 (z) ∧ (¬z) y = 1 (z) y = 0 пустая формула z = 1 {x = 0, y = 0, z = 1} — выполняющий набор запоминание дизъюнктов А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 4 / 23
  23. 23. Простой алгоритм для задачи выполнимости План лекции 1 Простой алгоритм для задачи выполнимости 2 Автоматические доказательства верхних оценок на время работы алгоритмов расщепления А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 5 / 23
  24. 24. Простой алгоритм для задачи выполнимости Правила упрощения Определение К формуле F применимо правило упрощения (simplification/reduction rule), если по этому правилу F можно заменить за полиномиальное время на F′, так что: А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 6 / 23
  25. 25. Простой алгоритм для задачи выполнимости Правила упрощения Определение К формуле F применимо правило упрощения (simplification/reduction rule), если по этому правилу F можно заменить за полиномиальное время на F′, так что: сложность F′ меньше сложности F, А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 6 / 23
  26. 26. Простой алгоритм для задачи выполнимости Правила упрощения Определение К формуле F применимо правило упрощения (simplification/reduction rule), если по этому правилу F можно заменить за полиномиальное время на F′, так что: сложность F′ меньше сложности F, выполняющий набор для F можно построить из выполняющего набора для F′ за полиномиальное время. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 6 / 23
  27. 27. Простой алгоритм для задачи выполнимости Единичный клоз Единичный клоз Если формула содержит единичный клоз (unit clause), то входящему в него литералу можно присвоить значение 1. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 7 / 23
  28. 28. Простой алгоритм для задачи выполнимости Единичный клоз Единичный клоз Если формула содержит единичный клоз (unit clause), то входящему в него литералу можно присвоить значение 1. Пример F = (x ∨ y ∨ ¬z) ∧ (¬x) ∧ (z ∨ ¬y) ∧ (¬y ∨ ¬x ∨ ¬z) F[x = 0] = (y ∨ ¬z) ∧ (z ∨ ¬y) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 7 / 23
  29. 29. Простой алгоритм для задачи выполнимости Чистый литерал Чистый литерал Если формула содержит чистый литерал (pure literal), т. е. литерал, отрицание которого не входит в формулу, то ему можно присвоить значение 1. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 8 / 23
  30. 30. Простой алгоритм для задачи выполнимости Чистый литерал Чистый литерал Если формула содержит чистый литерал (pure literal), т. е. литерал, отрицание которого не входит в формулу, то ему можно присвоить значение 1. Пример F = (x ∨ y ∨ z) ∧ (¬x) ∧ (x ∨ ¬y) ∧ (¬y ∨ ¬x ∨ z) F[z = 1] = (¬x) ∧ (x ∨ ¬y) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 8 / 23
  31. 31. Простой алгоритм для задачи выполнимости Резолюция Резолюция Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x, заменить F на F′ ∧ (C ∨ D). Пример А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 9 / 23
  32. 32. Простой алгоритм для задачи выполнимости Резолюция Резолюция Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x, заменить F на F′ ∧ (C ∨ D). Пример (x ∨ ¬y ∨ z) ∧ (¬z) ∧ (z ∨ u) ∧ (¬u ∨ ¯x) ∧ (y ∨ z) ↔ (¬y ∨ z ∨ ¬u) ∧ (¬z) ∧ (z ∨ u) ∧ (y ∨ z) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 9 / 23
  33. 33. Простой алгоритм для задачи выполнимости Резолюция Резолюция Если F = F′ ∧ (x ∨ C) ∧ (¬x ∨ D) и F′ не содержит ни x, ни ¬x, заменить F на F′ ∧ (C ∨ D). Пример (x ∨ ¬y ∨ z) ∧ (¬z) ∧ (z ∨ u) ∧ (¬u ∨ ¯x) ∧ (y ∨ z) ↔ (¬y ∨ z ∨ ¬u) ∧ (¬z) ∧ (z ∨ u) ∧ (y ∨ z) (x ∨ y ∨ ¬z) ∧ (¬x) ∧ (x ∨ ¬y) ∧ (¬y ∨ ¬x ∨ z) ↔ (¬x) ∧ (x ∨ ¬y) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 9 / 23
  34. 34. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Пусть K — некоторая мера сложности формул в КНФ (к примеру, кол-во переменных или кол-во клозов). А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 10 / 23
  35. 35. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Пусть K — некоторая мера сложности формул в КНФ (к примеру, кол-во переменных или кол-во клозов). Формально Если алгоритм всегда расщепляет с рекуррентным неравенством вида T(K) ≤ T(K − t1) + · · · + T(K − tj ) + poly(K) , то его время работы в худшем случае составляет poly(|F|)𝛼K(F) , 𝛼 = 𝜏(t1, . . . , tj ) — единственный положительный корень уравнения x−t1 + · · · + x−tj = 1 . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 10 / 23
  36. 36. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Пусть K — некоторая мера сложности формул в КНФ (к примеру, кол-во переменных или кол-во клозов). Формально Если алгоритм всегда расщепляет с рекуррентным неравенством вида T(K) ≤ T(K − t1) + · · · + T(K − tj ) + poly(K) , то его время работы в худшем случае составляет poly(|F|)𝛼K(F) , 𝛼 = 𝜏(t1, . . . , tj ) — единственный положительный корень уравнения x−t1 + · · · + x−tj = 1 . (t1, . . . , tj ) называется вектором расщепления, а 𝛼 = 𝜏(t1, . . . , tj ) — числом расщепления. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 10 / 23
  37. 37. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Неформально Чем меньше сложности формул, на которые алгоритм расщепляет, тем быстрее алгоритм работает. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 11 / 23
  38. 38. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Неформально Чем меньше сложности формул, на которые алгоритм расщепляет, тем быстрее алгоритм работает. Пример А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 11 / 23
  39. 39. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Неформально Чем меньше сложности формул, на которые алгоритм расщепляет, тем быстрее алгоритм работает. Пример T(K) ≤ T(K − 2) + T(K − 3) ↔ 1.325K А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 11 / 23
  40. 40. Простой алгоритм для задачи выполнимости Оценка времени работы алгоритмов расщепления Неформально Чем меньше сложности формул, на которые алгоритм расщепляет, тем быстрее алгоритм работает. Пример T(K) ≤ T(K − 2) + T(K − 3) ↔ 1.325K T(N) ≤ 2 · T(N − 6) + 2 · T(N − 7) ↔ 1.239N А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 11 / 23
  41. 41. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  42. 42. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) применять правила упрощения единичный клоз, чистый литерал и резолюция до тех пор, пока хотя бы одно из них применимо А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  43. 43. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) применять правила упрощения единичный клоз, чистый литерал и резолюция до тех пор, пока хотя бы одно из них применимо если F не содержит ни одного клоза, выдать “выполнима” А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  44. 44. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) применять правила упрощения единичный клоз, чистый литерал и резолюция до тех пор, пока хотя бы одно из них применимо если F не содержит ни одного клоза, выдать “выполнима” если F содержит пустой клоз, выдать “невыполнима” А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  45. 45. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) применять правила упрощения единичный клоз, чистый литерал и резолюция до тех пор, пока хотя бы одно из них применимо если F не содержит ни одного клоза, выдать “выполнима” если F содержит пустой клоз, выдать “невыполнима” если F содержит литерал, входящий в нее хотя бы два раза положительно и хотя бы два раза отрицательно, положить x равным этому литералу; в противном случае взять в качестве x любой литерал А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  46. 46. Простой алгоритм для задачи выполнимости Алгоритм Алгоритм DPLL-SAT(F) применять правила упрощения единичный клоз, чистый литерал и резолюция до тех пор, пока хотя бы одно из них применимо если F не содержит ни одного клоза, выдать “выполнима” если F содержит пустой клоз, выдать “невыполнима” если F содержит литерал, входящий в нее хотя бы два раза положительно и хотя бы два раза отрицательно, положить x равным этому литералу; в противном случае взять в качестве x любой литерал вернуть (DPLL-SAT(F[x = 1]) or DPLL-SAT(F[x = 0])) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 12 / 23
  47. 47. Простой алгоритм для задачи выполнимости Анализ алгоритма Лемма Время работы алгоритма DPLL-SAT не превосходит 1.415K , где K — кол-во клозов входной формулы. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 13 / 23
  48. 48. Простой алгоритм для задачи выполнимости Анализ алгоритма Лемма Время работы алгоритма DPLL-SAT не превосходит 1.415K , где K — кол-во клозов входной формулы. Доказательство А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 13 / 23
  49. 49. Простой алгоритм для задачи выполнимости Анализ алгоритма Лемма Время работы алгоритма DPLL-SAT не превосходит 1.415K , где K — кол-во клозов входной формулы. Доказательство достаточно показать, что в каждой ветке удаляется хотя бы два клоза: 𝜏(2, 2) = √ 2 = 1.414... А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 13 / 23
  50. 50. Простой алгоритм для задачи выполнимости Анализ алгоритма Лемма Время работы алгоритма DPLL-SAT не превосходит 1.415K , где K — кол-во клозов входной формулы. Доказательство достаточно показать, что в каждой ветке удаляется хотя бы два клоза: 𝜏(2, 2) = √ 2 = 1.414... это ясно, если нашелся литерал, который входит в формулу хотя бы дважды и положительно и отрицательно А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 13 / 23
  51. 51. Простой алгоритм для задачи выполнимости Анализ алгоритма Лемма Время работы алгоритма DPLL-SAT не превосходит 1.415K , где K — кол-во клозов входной формулы. Доказательство достаточно показать, что в каждой ветке удаляется хотя бы два клоза: 𝜏(2, 2) = √ 2 = 1.414... это ясно, если нашелся литерал, который входит в формулу хотя бы дважды и положительно и отрицательно назовем (i, j)-литералом литерал, входящий в формулу ровно i раз положительно и ровно j раз отрицательно А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 13 / 23
  52. 52. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 14 / 23
  53. 53. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство ясно, что упрощенная формула не содержит (0, k)- и (k, 0)-литералов (это как раз чистые литералы), а также (1, 1)-литералов (они удаляются резольвированием) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 14 / 23
  54. 54. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство ясно, что упрощенная формула не содержит (0, k)- и (k, 0)-литералов (это как раз чистые литералы), а также (1, 1)-литералов (они удаляются резольвированием) значит, осталось рассмотреть случай, когда формула состоит только из (1, 2)- и (2, 1)-литералов А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 14 / 23
  55. 55. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  56. 56. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство рассмотрим произвольный литерал x: F = (x ∨ . . . ) ∧ (x ∨ . . . ) ∧ (¬x ∨ . . . ) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  57. 57. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство рассмотрим произвольный литерал x: F = (x ∨ . . . ) ∧ (x ∨ . . . ) ∧ (¬x ∨ . . . ) ∧ . . . поскольку F не содержит единичных клозов, в клозе (¬x ∨ . . . ) есть еще хотя бы один литерал; назовем его y А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  58. 58. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство рассмотрим произвольный литерал x: F = (x ∨ . . . ) ∧ (x ∨ . . . ) ∧ (¬x ∨ . . . ) ∧ . . . поскольку F не содержит единичных клозов, в клозе (¬x ∨ . . . ) есть еще хотя бы один литерал; назовем его y в F[x = 0] y будет (2, 0)-, (0, 2)- или (1, 1)-литералом А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  59. 59. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство рассмотрим произвольный литерал x: F = (x ∨ . . . ) ∧ (x ∨ . . . ) ∧ (¬x ∨ . . . ) ∧ . . . поскольку F не содержит единичных клозов, в клозе (¬x ∨ . . . ) есть еще хотя бы один литерал; назовем его y в F[x = 0] y будет (2, 0)-, (0, 2)- или (1, 1)-литералом в любом из этих случаев y будет удален правилами упрощения, что повлечет за собой удаление хотя бы одного клоза А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  60. 60. Простой алгоритм для задачи выполнимости Доказательство (продолжение) Доказательство рассмотрим произвольный литерал x: F = (x ∨ . . . ) ∧ (x ∨ . . . ) ∧ (¬x ∨ . . . ) ∧ . . . поскольку F не содержит единичных клозов, в клозе (¬x ∨ . . . ) есть еще хотя бы один литерал; назовем его y в F[x = 0] y будет (2, 0)-, (0, 2)- или (1, 1)-литералом в любом из этих случаев y будет удален правилами упрощения, что повлечет за собой удаление хотя бы одного клоза итак, и F[x = 1], и F[x = 0] (после упрощения) содержат хотя бы на два клоза меньше, чем F А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 15 / 23
  61. 61. Автоматические доказательства верхних оценок План лекции 1 Простой алгоритм для задачи выполнимости 2 Автоматические доказательства верхних оценок на время работы алгоритмов расщепления А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 16 / 23
  62. 62. Автоматические доказательства верхних оценок Анализ алгоритмов расщепления А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 17 / 23
  63. 63. Автоматические доказательства верхних оценок Анализ алгоритмов расщепления как правило, анализ расщепляющего алгоритма состоит из длинного списка случаев А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 17 / 23
  64. 64. Автоматические доказательства верхних оценок Анализ алгоритмов расщепления как правило, анализ расщепляющего алгоритма состоит из длинного списка случаев в каждом случае показывается, что входной пример можно разбить на несколько примеров, чьи размеры на нужную константу меньше, чем размер исходного примера А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 17 / 23
  65. 65. Автоматические доказательства верхних оценок Анализ алгоритмов расщепления как правило, анализ расщепляющего алгоритма состоит из длинного списка случаев в каждом случае показывается, что входной пример можно разбить на несколько примеров, чьи размеры на нужную константу меньше, чем размер исходного примера доказательство для каждого случая представляет собой простое комбинаторное рассуждение А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 17 / 23
  66. 66. Автоматические доказательства верхних оценок Анализ алгоритмов расщепления как правило, анализ расщепляющего алгоритма состоит из длинного списка случаев в каждом случае показывается, что входной пример можно разбить на несколько примеров, чьи размеры на нужную константу меньше, чем размер исходного примера доказательство для каждого случая представляет собой простое комбинаторное рассуждение такой разбор случаев можно проводить автоматически А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 17 / 23
  67. 67. Автоматические доказательства верхних оценок Программа для автоматического доказательства верхних оценок для NP-трудных задач Вход А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 18 / 23
  68. 68. Автоматические доказательства верхних оценок Программа для автоматического доказательства верхних оценок для NP-трудных задач Вход NP-трудная задача, сформулированная в терминах КНФ формул А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 18 / 23
  69. 69. Автоматические доказательства верхних оценок Программа для автоматического доказательства верхних оценок для NP-трудных задач Вход NP-трудная задача, сформулированная в терминах КНФ формул множество правил упрощения для данной задачи А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 18 / 23
  70. 70. Автоматические доказательства верхних оценок Программа для автоматического доказательства верхних оценок для NP-трудных задач Вход NP-трудная задача, сформулированная в терминах КНФ формул множество правил упрощения для данной задачи верхнюю оценку А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 18 / 23
  71. 71. Автоматические доказательства верхних оценок Программа для автоматического доказательства верхних оценок для NP-трудных задач Вход NP-трудная задача, сформулированная в терминах КНФ формул множество правил упрощения для данной задачи верхнюю оценку По входным данным программа пытается найти алгоритм расщепления для данной задачи, который использует данные правила упрощения и имеет время работы, удовлетворяющее данной оценке. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 18 / 23
  72. 72. Автоматические доказательства верхних оценок Пример входа Допсутим, программа получила задание доказать, что существует алгоритм для выполнимости, который использует правила удаления единичных клозов и чистых литералов и имеет время работы не хуже 1.619K , где K — количество клозов входной формулы. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 19 / 23
  73. 73. Автоматические доказательства верхних оценок Предобработка А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 20 / 23
  74. 74. Автоматические доказательства верхних оценок Предобработка программа должна доказать, что для любой упрощенной формулы можно найти (1, 2)-расщепление (то есть расщепление, которому соответствует рекуррентное неравенство T(K) ≤ T(K − 1) + T(K − 2) + poly(K)) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 20 / 23
  75. 75. Автоматические доказательства верхних оценок Предобработка программа должна доказать, что для любой упрощенной формулы можно найти (1, 2)-расщепление (то есть расщепление, которому соответствует рекуррентное неравенство T(K) ≤ T(K − 1) + T(K − 2) + poly(K)) каждый литерал упрощенной формулы входит в нее хотя бы один раз положительно и хотя бы один раз отрицательно (все остальные литералы являются чистыми и удаляются соответствующим правилом) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 20 / 23
  76. 76. Автоматические доказательства верхних оценок Предобработка программа должна доказать, что для любой упрощенной формулы можно найти (1, 2)-расщепление (то есть расщепление, которому соответствует рекуррентное неравенство T(K) ≤ T(K − 1) + T(K − 2) + poly(K)) каждый литерал упрощенной формулы входит в нее хотя бы один раз положительно и хотя бы один раз отрицательно (все остальные литералы являются чистыми и удаляются соответствующим правилом) более того, если есть литерал, который входит в формулу хотя бы дважды, то расщепление по нему дает требуемое неравенство: (x ∨ a ∨ . . . ) ∧ (x ∨ b ∨ . . . ) ∧ (¯x ∨ c ∨ . . . ) ∧ . . . (c ∨ . . . ) ∧ . . . (a ∨ . . . ) ∧ (b ∨ . . . ) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 20 / 23
  77. 77. Автоматические доказательства верхних оценок Предобработка Таким образом Программе нужно доказать, что упрощенную формулу, состоящую только из (1, 1)-литералов, всегда можно хорошо расщепить. А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 21 / 23
  78. 78. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  79. 79. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  80. 80. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  81. 81. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . ) А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  82. 82. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . )есть единичный клоз А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  83. 83. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . )есть единичный клоз (x ∨ y . . . ) ∧ (¯x ∨ ¯y . . . ) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  84. 84. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . )есть единичный клоз (x ∨ y . . . ) ∧ (¯x ∨ ¯y . . . ) ∧ . . . (x ∨ y . . . ) ∧ (¯x ∨ . . . ) ∧ (¯y ∨ . . . ) ∧ . . . А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  85. 85. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . )есть единичный клоз (x ∨ y . . . ) ∧ (¯x ∨ ¯y . . . ) ∧ . . . (x ∨ y . . . ) ∧ (¯x ∨ . . . ) ∧ (¯y ∨ . . . ) ∧ . . . (2, 2)-расщепление по x А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  86. 86. Автоматические доказательства верхних оценок Автоматический разбор случаев упрощенные формулы ? (x ∨ . . .) ∧ (¯x ∨ . . .) ∧ . . . ) (x) ∧ (¯x ∨ . . .) ∧ . . . PPPPq y ∈ (x ∨ . . . )есть единичный клоз (x ∨ y . . . ) ∧ (¯x ∨ ¯y . . . ) ∧ . . . (x ∨ y . . . ) ∧ (¯x ∨ . . . ) ∧ (¯y ∨ . . . ) ∧ . . . (2, 2)-расщепление по x (2, 1)-расщепление по x А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 22 / 23
  87. 87. Автоматические доказательства верхних оценок Спасибо за внимание! А. Куликов (Computer Science клуб) 7. Алгоритмы расщепления 23 / 23

×