/
Text
М.Гэри, Д.Джонсон
ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ И ТРУДНОРЕШАЕМЫЕ ЗАДАЧИ
М.: Мир, 1982
Монография американских ученых, посвященная вопросам сложности
решения комбинаторных задач, возникающих в дискретной оптимизации,
математическом программировании, алгебре, теории чисел, теории автоматов,
математической логике, теории множеств, теории графов и т.п. Книга отличается
строгим и систематическим изложением теории, в приложении содержится более
300 труднорешаемых задач из различных разделов математики.
Для математиков-прикладников, аспирантов и студентов университетов.
Содержание
От редактора перевода 5
Предисловие 10
1. Вычислительные машины, сложность и труднорешаемые задачи 13
1.1. Введение 13
1.2. Задачи, алгоритмы и сложность 16
1.3. Полиномиальные алгоритмы и труднорешаемые задачи 19
1.4. Задачи, труднорешаемость которых доказуема 25
1.5. NP-полные задачи 26
1.6. О содержании книги 28
2. Теория NP-полных задач 31
2.1. Задачи распознавания, языки и кодирование 31
2.2. Детерминированные машины Тьюринга и класс Р 38
2.3. Недетерминированное вычисление и класс NP 43
2.4. Взаимоотношения между классами Р и NP 49
2.5. Полиномиальная сводимость и NP-полные задачи 51
2.6. Теорема Кука 56
3. Доказательство результатов об NP-полноте 64
3.1. Шесть основных NP-полных задач 64
3.1.1. 3-выполнимость 67
3.1.2. Трехмерное сочетание 69
3.1.3. Вершинное покрытие и Клика 73
3.1.4. Гамильтонов цикл 77
3.1.5. Разбиение 81
3.2. Некоторые методы доказательства NP-полноты 84
3.2.1. Сужение задачи 85
3.2.2. Локальная замена 88
3.2.3. Построение компонент 96
3.3. Упражнения 99
4. Применение теории NP-полноты для анализа задач 102
4.1. Анализ подзадач 105
4.2. Задачи с числовыми параметрами и сильная NP-полнота 117
4.2.1. Некоторые дополнительные определения 119
4.2.2. Доказательство результатов о сильной NP-полноте 123
4.3. Временная сложность как функция натуральных параметров 136
5. NP-трудные задачи 139
5.1. Сводимость по Тьюрингу и NP-трудные задачи 139
5.2. Историческая справка 150
6. Подходы к решению NP-полных задач 154
6.1. Оценки погрешности приближенных алгоритмов 156
6.2. Применение теории NP-полноты к отысканию приближенных 174
решений
6.3 Оценки погрешности и поведение алгоритмов «на практике» 189
7. За пределами класса NP-полных задач 192
7.1. Структура класса NP 192
7.2. Полиномиальная иерархия 201
7.3. Сложность задач перечисления 208
7.4. Полнота с полиномиально ограниченной памятью 212
7.5. Логарифмическая память 220
7.6. Доказательства труднорешаемости и взаимоотношения между Р и NP 225
А. Приложение. Список NP-полных задач 232
А1. Теория графов 235
А1.1. Покрытие и разбиение 235
А1.2. Подграфы и надграфы 242
А1.3. Упорядочение вершин 249
А1.4 Морфизмы и изоморфизмы 252
А1.5. Разное 254
А2. Построение сетей 258
А2.1. Остовные деревья 258
А2.2. Разрезы и связность 263
А2.3. Задачи о маршрутах 266
А2.4. Потоковые задачи 270
А2.5. Разное 275
A3. Множества и разбиения 279
A3.1. Покрытие, представители к расщепление 279
A3.2. Задачи о множествах с взвешенными элементами 282
А4. Хранение и поиск данных 286
А4.1. Хранение данных 286
А4.2. Сжатие и представление информации 289
А4.3. Задачи о базах данных 295
А5. Задачи теории расписаний 300
А5.1. Задачи составления расписания в случае одного 300
А5.2. Многопроцессорные расписания для параллельных процессоров 304
А5.3. Многопроцессорные расписания конвейерного типа 308
А5.4. Разные задачи 311
А6. Математическое программирование 313
А7. Алгебра и теория чисел 318
А7.1. Задачи о делимости 318
A7.2. Разрешимость уравнений
А7.3. Разное
А8. Игры и головоломки
А9. Логика
А9.1. Пропозициональная логика
А9.2. Разное
А10. Теория автоматов и языков
А10.1. Теория автоматов
А10.2. Формальные языки
All. Оптимизация программ
А11.1 Генерация кода программы
А11.2. Программы и схемы
А12. Разное
А13. Открытые задачи
Литература
Предметный указатель
Предметный
Алгоритм 17
- «в наилучший из подходящих» (best
fit) 159
- «в первый подходящий» (first fit)
157
в порядке убывания 160
- «жадный» (greedy) 171
- недетерминированный 44
- полиномиальный 19
- приближенный 156
- псевдополиномиальный (pseudo
polynomial time algorithm) 121
- эвристический 155
- экспоненциальный 19
Алфавит 18, 33
Асимптотическая погрешность
алгоритма (asymptotic
performance ratio) 162
Бандерснечи 13
БУЛЕВСКИЕ ФОРМУЛЫ С
КВАНТОРАМИ (БФК) 213
Быстродействие ЭВМ 19
Величина решения (solution value)
156
ВЕРШИННОЕ ПОКРЫТИЕ
(Bn)(vertex cover) 65, 74
321
323
325
332
332
336
339
339
343
349
349
364
369
367
374
411
указатель
Вполне полиномиальная
приближенная схема 173
Временная сложность алгоритма
(time complexity function) 18,
137
- - НДМТ-программы 48
Входная длина задачи (input length)
18
Выигрыш форсированный (forced
win) 215
ВЫПОЛНИМОСТЬ (ВЫП) 56—57
выполнимость, вып, 3, 3, 65, 67
ВЫЧИСЛЕНИЕ СЕМЕЙСТВА
(ensemble computation) 88
ГАМИЛЬТОНОВ ПУТЬ (Path) 81
- ЦИКЛ (ГЦ) (circuit) 53, 66, 77
Граф ориентированный (directed) 81
- планарный 113
ДЕЛИМОСТЬ НА ЧЕТЫРЕ 41
Дерево 135
ДЕРЕВО ШТЕЙНЕРА 100
Детерминированная одноленточная
машина Тьюринга, или ДМТ 38
Дизъюнкция (clause) 56
Длина решения задачи (solution
length) 25
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО
100
ДМТ [см. Детерминированная
одноленточная машина
Тьюринга] 38
- программа 38—40
- - линейно ограниченная (linear
boundedJ18
- - полиномиальная 42
ДОСТРОЙКА МАРШРУТА
КОММИВОЯЖЕРА (ДМК)
(extension) 147
ЕДИНИЧНАЯ РЕЗОЛЮЦИЯ (unit
resolution) 223
Задача (problem) 16
- выполнимости (satisfiability) 27
- индивидуальная (instance) 16
- комбинаторная оптимизационная
156
-массовая 16
- перечисления (enumeration) 209
- распознавания свойств (decision
problem) 27, 31— 32
- с числовыми параметрами (number
problem) 122
- труднорешаемая (intractable) 21
Игры комбинаторные (combinatorial
games) 215
Иерархия полиномиальная 203
ИЗОМОРФИЗМ ГРАФОВ 194
- ПОДГРАФУ 32, 43, 86
- ПОДЛЕСУ (subforest) 135
Изоморфность языков
полиномиальная 200
Индивидуальная задача (instance) 16,
139
Класс 220
DLOG-SPACE 220
EXP-SPACE 228
EXP-TIME 228
КР210
КР-полных задач (P-complete) 210
NEXP-SPACE 229
NEXP-T lme, 228
NLOQ-SPACE 225
NP 27, 28, 45, 48
NP-полных задач (NPC) 45
NPI193
NP-SPACE 219
P42
P-SPACE213
P-SPACE — полных задач 23
КЛИКА 65, 242
- МАКСИМАЛЬНОГО РАЗМЕРА
(maximum size clique) 205
КОММИВОЯЖЕР (KM) 32, 43^4
Композиция графов 181
КРАТЧАЙШИЙ ПУТЬ МЕЖДУ
ДВУМЯ ВЕРШИНАМИ 112
Кука теорема 57
Лес (forest) 134
ЛИНЕЙНАЯ ДЕЛИМОСТЬ 200
ЛИНЕЙНОЕ
ПРОГРАММИРОВАНИЕ 194
Логарифмическая память 220
Локальная замена (local replacement)
88
Максимальная полиномиально
разрешимая подзадача 108
МАКСИМАЛЬНЫЙ РАЗРЕЗ
(maximum cut) 113
Машина недетерминированная 26, 46
- Тьюринга 24, 46
Минимальная NP-полная подзадача
108
Минимальное остовное дерево
(spanning tree) 165
МИНИМАЛЬНОЕ ПОКРЫТИЕ 86
- ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ
201
МИНИМАЛЬНЫЙ НАБОР ТЕСТОВ
95
- ЭКВИВАЛЕНТНЫЙ
ОРИЕНТИРОВАННЫЙ ГРАФ
87,112
МИНИМУМ СУММЫ КВАДРАТОВ
99
МНОЖЕСТВО ВЕРШИН,
РАЗРЕЗАЮЩИХ КОНТУРЫ
(feedback vertex set) 100
- ПРЕДСТАВИТЕЛЕЙ (hitting set) 86
Мультираскраска графа 182
Набор значений истинности (truth
assignment) 56
НАИБОЛЬШИЙ ОБЩИЙ ПОДГРАФ
99
НДМТ-программа 46
Недетерминированная машина 26
- одноленточная машина Тьюринга,
или НДМТ 46
- оракульная машина Тьюринга, или
НОМТ 202
НЕЗАВИСИМОЕ МНОЖЕСТВО 74
Неразрешимая задача (undecidable)
25
НЕУНИВЕРСАЛЬНОСТЬ
РЕГУЛЯРНОГО ВЫРАЖЕНИЯ
217
НЕЭКВИВАЛЕНТНОСТЬ
РЕГУЛЯРНОГО
ВЫРАЖЕНИЯ, НЕ
СОДЕРЖАЩЕГО ЗВЕЗДОЧЕК
100
- ЦЕЛОЧИСЛЕННЫХ
ВЫРАЖЕНИЙ 207
НУМЕРАЦИЯ ГРАФА ПО ГРУНДИ
101
ОБОБЩЕННЫЙ ГЕКС (generalized
Hex) 216
ОМТ-программа 144
Оптимальное решение задачи 156
Оракульная машина Тьюринга, или
ОМТ (oracle) 141
Остовное дерево (spanning tree) 86,
165, 258
ОСТОВНОЕ ДЕРЕВО
ОГРАНИЧЕННОЙ СТЕПЕНИ
86
Отношение Rm (relation) 198
Параметр 16
- числовой 122
Паросочетание (matching) 167, 169
- максимальное 169
Переборная задача (search problem)
139
Погрешность алгоритма (performance
ratio) 162
Подзадача (subproblem) 105
Покрытие множества (cover) 86
Полиномиальная ДМТ-программа 42
- ОМТ-программа 144
- память (space) 212
- схема 173
- сводимость (polynomial
transformation) 51—52
Полиномиально эквивалентны
(polynomialy related) 35
Построение компоненты (component
design) 84, 96
Правильно построенное слово
(structured string) 36
Принимаемое программой слово
(accepted) 39
ПРИНЯТИЕ С ЛИНЕЙНОЙ
ПАМЯТЬЮ 218
Программа ДМТ (DTM) 38
- НДМТ (NDTM) 46
Псевдополиномиальная сводимость
(pseudo-polynomial
transformation) 130
Псевдополиномиальный алгоритм
121
РАЗБИЕНИЕ (partition) 66, 81
- НА ГАМИЛЬТОНОВЫ
ПОДГРАФЫ 99
--ПУТИ ДЛИНЫ 2, 100
- - ТРЕУГОЛЬНИКИ 90—91
разбиение, 3, 124
разбиение, 4, 125
Размер задачи (size) 17—18
РАЗМЕР МИНИМАЛЬНОГО
ЭКВИВАЛЕНТНОГО
ВЫРАЖЕНИЯ 205
РАСКРАШИВАЕМОСТЬ ГРАФА В
colorability, цвета, 3, 3, 101, ПО,
182
РАСПИСАНИЕ ДЛЯ
МУЛЬТИПРОЦЕССОРНОЙ
СИСТЕМЫ 87
- - ОБРАТНОГО ДЕРЕВА
ЗАДАНИЙ 112
- - ПРЯМОГО ДЕРЕВА ЗАДАНИЙ
112
- С ОТНОШЕНИЕМ
ПРЕДШЕСТВОВАНИЯ
(precedence constrained
scheduling) 107
Распознавание языка (recognition)
РАСЩЕПЛЕНИЕ МНОЖЕСТВА
(splitting) 100
РЕБЕРНОЕ ПОКРЫТИЕ (edge cover)
112
Регулярное выражение 217
Релятивизация 230
Решение задачи алгоритмом
(solution) 17
РЮКЗАК (knapsack) 87, 171
САМЫЙ ДЛИННЫЙ ПУТЬ 99, 112
Сводимость консервативная
(parsimonious transformation)
210
- по Куку 150
- полиномиальная 51—52
- по Тьюрингу 141
- псевдополиномиальная 130
- log-space 222
- Y(v-reducibility) 198
Словарное отношение (string relation)
140
Слово алфавита (string) 33
правильно построенное
(structured) 36
Сложность алгоритма временная
(time complexity function) 18,
137
СОСТАВНЫЕ ЧИСЛА (composite
numbers) 194
Степень вершины графа (degree) 110
Сужение задачи (restriction) 85
Схема кодирования (encoding
scheme) 18
- приближенная 173
- - «разумная» 24, 34, 36
Теория графов 110
ТОЧНОЕ ПОКРЫТИЕ множествами,
тп, 3, 3, 73
- - множествами, 4, 100
ТРАНЗИТИВНАЯ РЕДУКЦИЯ 112
ТРЕХМЕРНОЕ СОЧЕТАНИЕ ( с, 3,
65,70
Угадывающее устройство (guessine
device) 47
Упаковка в контейнеры 157
УПАКОВКА МНОЖЕСТВ 99
УПОРЯДОЧЕНИЕ ВНУТРИ
ИНТЕРВАЛОВ (sequencing
within intervals) 93
- С МИНИМАЛЬНЫМ
ЗАПАЗДЫВАНИЕМ (tardiness)
97
Управляющее устройство ДМТ (finite
state control) 38
Функция, конструируемая по
времени (time constructible) 227
- - по памяти (space constructible) 227
Цепочка символов (string) 18
Цикл простой в графе (simple circuit)
53
Числовой параметр (number) 122
Читающая/пишущая головка ДМТ 38
Эвристический алгоритм 155
Эйлеров граф 166
- маршрут (tour) 166
Эквивалентность полиномиальная 35
Язык в алфавите 33—34
- контекстно-зависимый (context-
sensitive) 220
- распознаваемый программой 39, 47
-рекурсивный 193
- log-space-полный 223
- NP-полный 55
- ^атта-полный 199
DLB-автомат детерминированный
линейно ограниченный 220
GA-алгоритм 171
К-е ПО ПОРЯДКУ
ПОДМНОЖЕСТВО (K-th
largest set subset) 145
КР-полная задача (#P-complete) 210
Length [I] 35, 119
Max [I] 119—120
ММ-алгоритм 167—168
MST-алгоритм 166
NLB-автомат (недетерминированный
линейно ограниченный) 220
NN-алгоритм 163—164
NP-легкая задача (easy) 149
NP-полная задача 27, 45, 48, 51
- - в сильном смысле 123
NP-трудная задача (hard) 145
NP-эквивалентная задача 149
P-space-полная задача 213
ОТ РЕДАКТОРА ПЕРЕВОДА
Математике всегда было присуще стремление разрабатывать
эффективные методы решения как можно более широких клас-
классов задач. Многолетний опыт развития теории дискретных и
комбинаторных задач и практика их решения показали, что эти
две стороны — общность метода и его эффективность — нахо-
находятся в известном антагонизме. Вместе с тем, очень важно
знать, и в особенности это касается задач дискретной матема-
математики, можно ли в принципе надеяться на создание достаточно
общих и эффективных методов или надо сознательно идти по
пути разбиения задач на все более узкие классы и, пользуясь
их спецификой разрабатывать для них эффективные (хорошие)
алгоритмы.
Неудачи, постигшие исследователей на этом пути, привели
к необходимости анализа сложности задач. На наших глазах
возникло новое и интенсивно развивающееся "сложностное" на-
направление исследований. Число публикаций в этой области
быстро растет, так что появление настоящей книги, посвящен-
посвященной вопросам сложности дискретных и комбинаторных задач,
вполне закономерно. Проблематика эта весьма актуальна, по-
поскольку такие задачи часто возникают на практике (в эконо-
экономике, технике, военном деле, в исследовании операций и т. д.),
а их решение средствами ЭВМ наталкивается на трудности,
связанные с большими затратами машинного времени и памяти.
Предисловие авторов и вводная глава, где обсуждается со-
содержание книги, позволяют читателю ознакомиться (на интуи-
интуитивном уровне) с основными идеями, понятиями и вопросами,
освещаемыми в книге. Поэтому мы, не повторяясь, заострим
внимание читателя на некоторых принципиальных вопросах.
Большинство дискретных и комбинаторных задач, вообще
говоря, допускает решение с помощью некоторого процесса пе-
перебора. Так, например, булевскую задачу о рюкзаке вида
можно решить, перебирая булевские n-мерные векторы (ва-
(варианты). Такие задачи называются переборными. Однако число
шагов переборного метода растет экспоненциально в зависимо-
зависимости от размеров задачи. Для некоторых задач этого типа
удается построить эффективные (существенно менее трудоемкие,
От редактора перевода
чем полный перебор вариантов) методы решения, (это удается
сделать например, для решения в Z" систем линейных уравнений
с целыми коэффициентами для потоковых задач, для нахожде-
нахождения паросочетаний в графе и т. д.). Однако, число таких задач
невелико.
Анализ трудностей, встретившихся на пути создания эффек-
эффективных методов решения дискретных задач, привел к поста-
постановке центральной теоретико-методологической проблемы всей
дискретной математики — можно ли исключить перебор при ре-
решении дискретных задач? Другими словами, речь идет о прин-
принципиальной возможности найти нужное решение (например,
оптимальное), не перебирая всех или почти всех вариантов в
задаче. Эта проблема имеет не только чисто математическое, но
и глубокое познавательное значение. Оно заключается в том,
что при поиске эффективных точных методов решения широ-
широкого класса дискретных задач надо учитывать возможность
отсутствия таких методов и, следовательно, уметь вовремя огра-
ограничить "ацпетит", признав что существуют "труднорешаемые
задачи". До настоящего времени эта проблема остается от-
открытой.
Феномен труднорешаемых задач не нов для математики.
После уточнения понятия алгоритма было обнаружено наличие
алгоритмически неразрешимых проблем. В качестве наиболее
известного примера укажем десятую проблему Гильберта: "Су-
"Существует ли алгоритм, который по данному многочлену
р(х\, ..., хп) с целыми коэффициентами распознает, имеет ли
уравнение р = О решение в целых числах". Как показал
Ю. В. Матиясевич [376], такого алгоритма в принципе не су-
существует.
В переборных задачах, как правило, имеется конечное множе-
множество вариантов, среди которых нужно найти решение. Так, в за-
задаче о рюкзаке решение отыскивается среди 2" булевских векто-
векторов длины п, и перебрав это экспоненциальное множество век-
векторов, мы обязательно решим задачу. Но с ростом п число
векторов быстро растет и задача становится "труднорешаемой",
т. е. практически неразрешимой. Поэтому в конечной области
аналогом алгоритмической неразрешимости является перебор
экспоненциального числа вариантов, а аналогом алгоритмиче-
алгоритмической разрешимости — существование алгоритма существенно
более экономичного, чем перебор. Стало общепринятым считать
переборную задачу решаемой эффективно, если имеется алго-
алгоритм, решающий ее за время, ограниченное полиномом от "раз-
"размера задачи".
В настоящей книге систематически излагается концепция
эффективной (полиномиальной) сводимости переборных задач,
развитая в работах С. Кука [91], Р. Карпа [280], Л. Левина
От редактора перевода
[340], а также освещаются более поздние результаты в этой
области. Роль основного инструмента здесь играет понятие сво-
сводимости задач, возникшее в математической логике. Говорят,
что переборная задача III сводится к переборной задаче П2,
если метод решения задачи Пг можно преобразовать в метод
решения задачи Пь Сводимость называется полиномиальной,
если подобное преобразование можно осуществить за полино-
полиномиальное время. Главными объектами теории являются: класс
NP всех переборных задач и класс Р переборных задач, раз-
разрешимых за полиномиальное время на машине Тьюринга. Оче-
Очевидно, что Р S NP. Центральным в теории сводимости является
вопрос о том, совпадают ли классы Р и NP — такова математи-
математическая формулировка проблемы элиминации перебора.
В классе NP выявлены так называемые универсальные (или
NP-полные) задачи, к которым полиномиально сводится любая
задача из NP. В этом смысле универсальные задачи как бы
дают эталон сложности. В настоящее время установлена уни-
универсальность многих задач, эквивалентных между собой отно-
относительно полиномиальной сводимости. В книге приведено много
примеров NP-полных задач. Если бы удалось доказать, что хотя
бы какая-то одна NP-полная задача принадлежит классу Р, то
тем самым было бы доказано, что Р = NP, и можно было бы в
принципе надеяться на построение эффективных алгоритмов для
различных классов дискретных задач. Если же классы Р и NP
различны, то придется разрабатывать эффективные алгоритмы
для все более узких классов задач. Однако возможна и такая си-
ситуация, что гипотезу Р Ф NP (принимаемую многими матема-
математиками) нельзя ни доказать, ни опровергнуть (аналогично кон-
континуум-гипотезе) .
Большой практический опыт решения дискретных задач дает
основание считать, что NP-полные задачи и задачи из Р сильно
отличаются по трудоемкости решения, но в строгом смысле до
сих пор это различие и, следовательно, различие между клас-
классами Р и NP не доказано. Это, в частности, объясняется тем,
что классы Р и NP определяются с помощью понятия времени
работы вычислительного устройства с потенциально неограни-
неограниченной памятью. Однако хорошо известно, что время выполне-
выполнения алгоритма на машине плохо поддается описанию и анализу
общематематическими средствами. Следует отметить, что еще
в 1965 г. Кобхэм [80] попытался описать сложность вычисления
функций внутренним образом, в рамках последовательности ал-
алгебраических операций, порождающих эти функции. К сожале-
сожалению, эта работа оказалась в тени, поскольку в то время не было
еще теории сводимости переборных задач.
Излагаемая в книге и ставшая уже классической тео-
теория полиномиальной сводимости была построена для задач
8 От редактора перевода
распознавания свойств. Оказывается, можно построить анало-
аналогичную теорию (полиномиальной) сводимости для экстремаль-
экстремальных дискретных задач [16*, 31*, 32*]. Более того, при построе-
построении указанной теории можно не пользоваться моделью вычис-
вычислительного устройства, т. е. сделать ее машинно независимой,
а все изложение вести в терминах вычислимых операторов над
функциями [16*. 21*, 22*].
Книга Гэри и Джонсона—это, насколько нам известно, пер-
первая монография по теории полиномиальной сводимости дискрет-
дискретных задач. В ней систематически изложен материал, разбро-
разбросанный по журнальным статьям и отчетам. Авторы не ограни-
ограничились описанием концепции Кука — Карпа — Левина, а допол-
дополнили ее новыми вопросами, в том числе своими собственными
результатами. Особый интерес в этом смысле представляют
гл. 6—7, где собран большой теоретический материал по новым
направлениям исследований и намечаются "точки роста" тео-
теории. О разнообразии и богатстве материала этих глав свиде-
свидетельствует краткий перечень вопросов, освещаемых в них: оцен-
оценки алгоритмов, их отклонения от оптимума, оценки в худшем
случае и в среднем для различных классов задач; структура
класса NP, существование в NP труднорешаемых задач, отлич-
отличных от NP-полных; полиномиальная по сложности иерархия за-
задач; сложность задач определения числа решений без их предъ-
предъявления; различные типы вычислительных ресурсов, используе-
используемых при решении задач; взаимосвязь между сложностью по
времени и сложностью по памяти; задачи с логарифмической
памятью, сводимость с логарифмической памятью; доказатель-
доказательства труднорешаемости задач.
Книга содержит поистине уникальное приложение—в нем
собрано более 300 задач из различных областей науки: теории
графов, математического программирования, теории расписаний,
теории языков и автоматов, математической логики, и отдель-
отдельно— открытых задач. Здесь для каждой задачи, помимо основ-
основной формулировки и источника, приводится комментарий, вклю-
включающий сводку результатов о задаче и ее модификациях (с ука-
указанием авторов), а также смежные вопросы. Все это де-
делает приложение исключительно ценным справочным посо-
пособием.
В конце книги дана обширная библиография — около 600 ра-
работ. Мы сочли целесообразным несколько расширить библиогра-
библиографический список, добавив ряд работ — либо вышедших поз-
позже, либо оказавшихся вне поля зрения авторов. Эти работы
дают представление о новых направлениях исследований и ре-
результатах в рассматриваемой области. (Добавленные при пере-
переводе работы сведены в отдельный список и их номера помечены
чвездочкой.)
От редактора перевода 9
Книга хорошо написана и читается достаточно легко, хотя
новизна материала и, как следствие, не вполне установившаяся
терминология затрудняли работу переводчиков и редактора. Не-
Неудивительно, что при большой насыщенности и разнообразии
материала в книге обнаружились некоторые неточности, по-
погрешности, опечатки, которые переводчики и редактор поста-
постарались устранить путем введения соответствующих примечаний
или небольшого исправления авторского текста.
Книга предназначена для математиков, а также для всех,
кто интересуется дискретными и комбинаторными задачами и
их приложениями. Она отражает новое направление в развитии
теории дискретных и комбинаторных задач. Внимательный чи-
читатель найдет в ней новый взгляд на дискретные задачи, све-
свежие идеи, подходы, много открытых вопросов, порождающих и
стимулирующих интерес к самостоятельной творческой работе.
В заключение хочется поблагодарить Ю. И. Хмелевского,
М. Р. Когаловского, В. П. Гришухина.А. Л. Семенова, С. Г. Влэ-
дуца, А. Б. Ароновича за помощь в работе над переводом книги:
их замечания и советы помогли устранить ряд неточностей и
способствовали улучшению качества перевода.
А. Фридман
ПРЕДИСЛОВИЕ
Найдется немного научных терминов, так быстро завоевав-
завоевавших широкую известность, как понятие "NP-полная задача". За
короткий отрезок времени с момента возникновения этого поня-
понятия в начале 70-х годов оно стало символом громадных трудно-
трудностей, с которыми все чаще приходится сталкиваться разработ-
разработчикам алгоритмов по мере того, как они берутся за решение за-
задач постоянно возрастающей размерности и усложняющейся
структуры. Многочисленные и разнообразные задачи, часто
встречающиеся в математике, теоретическом программировании
и исследовании операций, оказались NP-полными, и список та-
таких задач пополняется почти ежедневно. NP-полные задачи на-
настолько широко распространены, что для всех, кто в своей ра-
работе соприкасается с вычислительными аспектами указанных
областей, очень важно понимать смысл и значение этого по-
понятия.
Настоящая книга задумана как подробное руководство по
теории NP-полных задач; здесь особое внимание уделено тем
понятиям и приемам, которые представляются наиболее полез-
полезными для применения теории к практическим задачам. Книгу
можно условно разбить на три части.
В первой части (гл. 1—5) изложены основы теории NP-пол-
NP-полных задач. Гл. 1 представляет собой сравнительно элементарное
введение в некоторые центральные понятия вычислительной
сложности, и в этом контексте обсуждается значение NP-полных
задач. В гл. 2—5 подробно изложены определения и методы до-
доказательства, необходимые для того, чтобы глубже понять тео-
теорию и научиться ею пользоваться на практике.
Во второй части (гл. 6 и 7) дан обзор двух альтернативных
направлений дальнейшего изучения. В гл. 6 внимание сосредо-
сосредоточено на поиске эффективных "приближенных" алгоритмов ре-
решения NP-полных задач, т. е. области, тесно связанной с тео-
теорией NP-полноты. В гл. 7 обсуждаются многочисленные теоре-
теоретические вопросы сложности вычислений, многие из которых
возникли в результате развития теории NP-полных задач, изло-
изложенной в предыдущих главах. Обе эти главы (особенно гл. 7)
следует рассматривать исключительно как введение в соответ-
соответствующие области. Читателю, желающему более детально озна-
ознакомиться с теми или иными вопросами, следует обратиться к
указанной нами литературе.
Предисловие 11
Третья, заключительная часть книги — приложение. В нем
содержится большой список NP-полных и NP-трудных задач (бо-
(более 300 основных задач и большое число относящихся к ним
результатов). В примечаниях к задачам обсуждаются известные
результаты, касающиеся сложности подзадач и различных мо-
модификаций основной задачи.
Книгой можно пользоваться как вспомогательным материа-
материалом к курсам по построению алгоритмов, вычислительной слож-
сложности, исследованию операций или комбинаторной математике.
С нее можно, например, начинать семинар по приближенным
алгоритмам или вычислительной сложности для студентов стар-
старших курсов и аспирантов. Один из авторов книги (Д. Джонсон),
использовал первоначальный вариант книги в качестве основы
семинара аспирантов по приближенным алгоритмам. При этом
гл. 1—5 были пройдены за 5 недель, а изучение гл. 6 сопро-
сопровождалось широким привлечением материала, указанного в
библиографическом списке. Семинар по теории сложности
можно организовать аналогичным образом, приняв в качестве
основы для изучения литературы гл. 7 вместо гл. 6. Эти главы
можно также изучать и одновременно, на "комбинированных"
семинарских занятиях.
В более общем смысле книга может служить как учебником
для читателя, интересующегося теорией NP-полных задач, так и
справочником для исследователя и практика, сталкивающегося
с алгоритмами и их сложностью. К изучению NP-полных задач,
приведенных в приложении, читатель может приступить сразу,
даже не прочитав основного материала книги, — для этого тре-
требуется лишь знакомство с основными понятиями теории NP-пол-
NP-полных задач. Начинающие могут достичь такого знакомства, если
бегло прочтут гл. 1—5, концентрируя внимание на неформаль-
неформальных обсуждениях определений и методов и обращаясь к фор-
формальным рассуждениям только тогда, когда это необходимо для
полной ясности. Чтобы этой книгой можно было пользоваться
как справочником, в предметный указатель включено большое
число терминов, а в обширной библиографии приведены номера
разделов книги, в которых упоминаются соответствующие
работы.
Мы признательны многим людям, помогавшим нам в работе
над книгой. X. Габов, Л. Лэндвебер и Р. Тарьян ознакомились
с первоначальным ее вариантом и исходя из своего опыта вне-
внесли ценные предложения. А. Ахо, Ш. Ивен, Р. Грэхем, Г. Хант,
В. Кли, А. Мейер, К. Пападимитриу, Г. Поллак, С. Сахни,
Р. Сефи, Л. Стокмейер и Дж. Ульман прочли рукопись всей
книги или ее отдельных частей и сделали конструктивные за-
замечания. Мы не смогли бы здесь перечислить всех исследовате-
исследователей, которые откликнулись на нашу просьбу присылать
К Предисловие
результаты об NP-полноте задач и помогли нам составить об-
обширный список NP-полных задач. Их имена можно найти в
библиографии. Несколько наших коллег по Bell Laboratories,
особенно Б. Керниган, оказали нам неоценимую помощь при ма-
машинном наборе книги с помощью вычислительной системы
UNIX". Наконец, хотелось бы особенно отметить Ж. Рейнболд,
которая превратила наши рукописные иероглифы в безупреч-
безупречные полиграфические данные, чем существенно способствовала
созданию этой книги.
Муррей Хилл, Нъю Джерси, Майкл Р. Гэри
октябрь, 1978 Дэвид С. Джонсон
1. Вычислительные машины, сложность
и труднорешаемые задачи
1.1. ВВЕДЕНИЕ
Охарактеризовать предмет этой книги, пожалуй, лучше всего
можно на таком несколько экстравагантном примере.
Представьте себе, что вы, как и авторы книги, занимаетесь
исследовательской работой в одной из отраслей промышленно-
промышленности. Однажды шеф вызывает вас к себе в кабинет и довери-
доверительно сообщает, что компания собирается приступить к произ-
производству и продаже "бандерснечей"') в условиях жесткой кон-
конкуренции. По этой причине нужен хороший метод, выявляющий
возможность (или невозможность) создания новых изделий —
узлов бандерснеча с заданными техническими характеристи-
характеристиками, причем этот метод должен выдавать ответ для любого
заданного набора технических характеристик. Кроме того, в
случае положительного ответа требуется представить проект
соответствующего бандерснеча. Так как вы отвечаете за разра-
разработку алгоритмов в фирме, то вам и предстоит отыскать тре-
требуемый метод и построить соответствующий эффективный алго-
алгоритм.
Получив в Отделе бандерснечей необходимые разъяснения
по постановке задачи, вы спешите в свой кабинет, запасаетесь
справочниками и с большим энтузиазмом погружаетесь в ре-
решение задачи. Спустя несколько недель кабинет завален гру-
грудами скомканных черновиков, а ваш энтузиазм заметно поуба-
поубавился. Вам все еще не удалось придумать алгоритма сущест-
существенно лучшего, чем перебор всех возможных вариантов. За по-
подобное решение вы едва ли удостоитесь похвалы шефа, по-
поскольку перебор всех вариантов только для одного набора тех-
технических характеристик потребует нескольких лет машинного
времени, а в Отделе бандерснечей уже по тринадцати узлам
бандерснеча наблюдается отставание от намеченного графика.
Естественно, что у вас нет желания возвращаться в кабинет
шефа со словами:
') Бандерснеч, или Брандашмыг, — фантастический образ в сказке Льюи-
Льюиса Кэррола «Алиса в Зазеркалье», это слово точного смысла не имеет. Как
сказала сама Алиса, «такие слова наводят на всякие мысли, хоть и неясно —
на какие». — Прим. перев.
14
/. Сложность и труднорешаемые задачи
"Я не могу найти эффективного алгоритма, боюсь, что я для
этого слишком туп".
Для вашего положения в компании было бы гораздо лучше,
если бы вы смогли доказать, что поставленная задача в прин-
принципе труднорешаема и что ни один алгоритм вообще не в со-
состоянии решить ее быстро. В этом случае вы могли бы уверенно
шагнуть в кабинет шефа и заявить:
"Я не могу найти эффективного алгоритма, потому что та-
такого алгоритма не существует!"
К сожалению, доказать, что задача труднорешаема, может
быть, не менее трудно, чем найти эффективные алгоритмы.
Даже выдающиеся теоретики оказывались беспомощными в по-
попытках получить подобное доказательство для часто встречаю-
встречающихся трудных задач. Тем не менее эта книга поможет вам
найти достойный выход из положения. Теория NP-полных задач
предлагает много простых методов доказательства того, что
та или иная конкретная задача столь же трудна, как и большое
/./. Введение
15
число других задач, признанных очень трудными и уже много
лет не поддающихся усилиям специалистов.
Взяв на вооружение эти методы, вы могли бы доказать NP-
полноту задачи о бандерснече и таким образом установить ее
эквивалентность всем другим трудным задачам этого класса.
В этом случае можно было бы смело отправиться к шефу и
сообщить:
LLL.L..
"Я не могу найти эффективного алгоритма, но этого не мо-
может сделать и никто из этих знаменитостей".
Во всяком случае, ваше начальство будет знать, что нет
смысла увольнять вас и брать на работу другого специалиста
по алгоритмам.
Разумеется, наше собственное начальство вряд ли одобрило
бы написание этой книги, если бы ее единственной целью было
защитить разработчиков алгоритмов. На самом деле выявление
NP-полноты — это обычно лишь начало работы над задачей.
Проблемы отдела бандерснечей не исчезнут сразу лишь потому,
что поставленная задача оказалась NP-полной. Однако знание
этого факта действительно дает ценную информацию о том,
какие подходы к ее решению окажутся наиболее перспектив-
перспективными.
Очевидно, что в этом случае не следует делать ставку на
поиски эффективного точного алгоритма. Лучше сосредоточить
свое внимание на иных, более скромных подходах. Например,
вы могли бы начать разработку эффективных алгоритмов, по-
позволяющих решать различные частные случаи поставленной
16 /. Сложность и труднорешаемые задачи
общей задачи. Можно было бы заняться отысканием алгорит-
алгоритмов, хотя и не гарантирующих быстрого решения, однако рабо-
работающих быстро в большинстве случаев. Наконец, можно даже
ослабить некоторым образом постановку задачи и искать быст-
быстрый алгоритм проектирования бандерснечей, у которого задан-
заданным требованиям удовлетворяет большая часть характеристик.
Короче говоря, основное предназначение теории NP-полных
задач состоит в том, чтобы помочь разработчикам алгоритмов
и направить их усилия на выбор таких подходов к решению
задач, которые, вероятнее всего, приведут к практически полез-
полезным алгоритмам.
В первой главе настоящего "руководства" по теории NP-
полных задач мы введем многие основные понятия, рассмотрим
их применимость (а также выскажем некоторые предостереже-
предостережения) и охарактеризуем содержание остальной части книги.
1.2. ЗАДАЧИ, АЛГОРИТМЫ И СЛОЖНОСТЬ
Для того чтобы в дальнейшем изучать такие понятия, как
"труднорешаемые задачи" и "эквивалентные по сложности за-
задачи", необходимо сначала договориться о значении нескольких
основных терминов.
Начнем с понятия задачи. Под массовой задачей (или просто
задачей) мы будем понимать некоторый общий вопрос, на ко-
который следует дать ответ. Обычно задача содержит несколько
параметров, или свободных переменных, конкретные значения
которых не определены. Задача П определяется следующей ин-
информацией:
A) общим списком всех ее параметров,
B) формулировкой тех свойств, которым должен удовлетворять
ответ или, другими словами, решение задачи.
Индивидуальная задача / получается из массовой задачи П,
если всем параметрам задачи П присвоить конкретные зна-
значения.
В качестве примера рассмотрим классическую задачу о ком-
коммивояжере. Параметры этой массовой задачи состоят из конеч-
конечного набора "городов" С = {cit с2, ..., ст) и расстояний
d(ci, с/) между каждой парой городов а, с/ из С. Решение —
это такой упорядоченный набор <сяA). сл<2ъ -.-i сЛ(Ш>> задан-
заданных городов, который минимизирует величину
т-\
Это выражение дает длину маршрута, начинающегося в городе
сяA), проходящего последовательно через все города и возвра-
возвращающегося в сяи) непосредственно из последнего города Сцп).
1.2. Задачи, алгоритмы и сложность
17
Индивидуальная задача о коммивояжере, показанная на
рис. 1.1, задается следующим образом:
C = {ci, съ с3, cj, d(ci, c2)=10, d{cu c3) = 5,
d = (clt c4) = 9, d(c2, с3) = 6, d(c2, c4) = 9, d(c3, с4) = 3.
Последовательность <Ci, с2, с4, Сз> представляет собой реше-
решение задачи, поскольку соответствующий маршрут имеет мини-
минимальную возможную длину, равную 27.
Под алгоритмом будем понимать общую, выполняемую шаг
за шагом процедуру решения задачи. Для определенности мы
можем считать ее програм-
программой для ЭВМ, написанной
на формальном машинном
языке. Будем говорить, чго
алгоритм решает массовую
задачу П, если он приме-
применим к любой индивидуаль-
индивидуальной задаче / из П и обяза-
обязательно дает решение зада-
задачи /. Подчеркнем, что тер-
термин "решение" понимается
здесь строго в соответствии
с данным выше определе-
определением. Поэтому, В частности, Рис. ,л. Индивидуальная задача
коммивояжере и маршрут минимальной
возможной длины, равной 27.
нельзя сказать, что алго-
алгоритм "решает" задачу о
коммивояжере, если он не
выдаст маршрут минимальной длины хотя бы для какой-то од-
одной индивидуальной задачи.
Вообще говоря, нам нужен наиболее "эффективный" алго-
алгоритм для решения задачи. В самом широком смысле понятие
эффективности связано со всеми вычислительными ресурсами,
необходимыми для работы алгоритма. Однако обычно под "са-
"самым эффективным" алгоритмом понимается самый быстрый.
Поскольку ограничения по времени часто являются доминирую-
доминирующим фактором, определяющим пригодность конкретного алго-
алгоритма для практики, основное внимание мы сосредоточим глав-
главным образом на этом виде ресурсов.
Время работы алгоритма удобно выражать в виде функции
от одной переменной, характеризующей «размер» индивидуаль-
индивидуальной задачи, т. е. объем входных данных, требуемых для описа-
описания этой задачи. Такой подход удобен, поскольку в дальнейшем
сравнительная сложность задач будет оцениваться через их раз-
размеры. Часто размер задачи измеряется неформально. В задаче
о коммивояжере, например, для этой цели обычно используется
18 /. Сложность и труднорешаемые задачи
число городов. Однако в задаче с m городами кроме номеров
этих городов на объем входной информации влияют также
m(m—1)/2 величин, определяющих расстояния между горо-
городами, и значения этих величин. Если нам предстоит иметь дело
с временными характеристиками в точной математической по-
постановке, то мы должны так определить размер задачи, чтобы
все эти факторы были учтены.
Для этого обратим внимание на то, что описание индиви-
индивидуальной задачи, которое мы даем в терминах входа для ЭВМ,
можно рассматривать как одну конечную цепочку (или слово)
символов, выбранных из конечного входного алфавита. Невзи-
Невзирая на то что существуют различные пути описания данной ин-
индивидуальной задачи, предположим, что заранее выбран неко-
некоторый определенный способ и что с каждой массовой задачей
связана некоторая фискированная схема кодирования, которая
отображает индивидуальные задачи в соответствующие цепочки
символов. Входная длина индивидуальной задачи / из П опреде-
определяется как число символов в цепочке, полученной применением
к задаче / схемы кодирования для массовой задачи П. Именно
это число, т. е. входная длина, и используется в качестве фор-
формальной характеристики размера индивидуальной задачи.
Например, различные конкретные задачи о коммивояжере
можно описать с помощью алфавита {с, [,],/, 0, 1, 2, 3, 4, 5,
6, 7, 8, 9}, при этом предыдущий пример будет закодирован в
виде такой цепочки символов:
с[1]с[2]С[3]С[4]//10/5/9//6/9//3
Более сложные индивидуальные задачи кодируются анало-
аналогичным образом. При такой кодирующей схеме для задачи о
коммивояжере входная длина в нашем примере будет равна 32.
Временная сложность алгоритма отражет требующиеся для
его работы затраты времени. Это функция, которая каждой
входной длине п ставит в соответствие максимальное (по всем
индивидуальным задачам длины п) время, затрачиваемое алго-
алгоритмом на решение индивидуальных задач этой длины.
Естественно, что эта функция не будет полностью опреде-
определена до тех пор, пока не зафиксирована схема кодирования,
определяющая входную длину индивидуальной задачи, и не
выбрано вычислительное устройство (или его модель), опреде-
определяющее время работы. Однако, как будет видно из дальней-
дальнейшего, подобные детали окажут незначительное влияние на раз-
различия между классами, возникающими в теории NP-полных
задач. Поэтому в дальнейшем читателю рекомендуется зафикси-
зафиксировать мысленно какую-либо конкретную схему кодирования
для каждой задачи, рыбрать некоторое конкретное вычисли-
1.3. Полиномиальные алгоритмы 19
тельное устройство или его модель и рассматривать затем вре-
временную сложность алгоритмов в соответствии с получающимися
входными длинами и соответствующими затратами времени.
1.3. ПОЛИНОМИАЛЬНЫЕ АЛГОРИТМЫ
И ТРУДНОРЕШАЕМЫЕ ЗАДАЧИ
Разные алгоритмы имеют различную временную сложность,
и выяснение того, какие алгоритмы "достаточно эффективны", а
какие "совершенно неэффективны", всегда будет зависеть от
конкретной ситуации. Однако теоретики, занимающиеся разра-
разработкой и анализом алгоритмов, предлагают для сравнения эф-
эффективности алгоритмов один простой подход, позволяющий
существенно прояснить ситуацию. Речь идет о различии ме-
между полиномиальными и экспоненциальными алгорит-
алгоритмами.
Будем говорить, что функция f(n) есть O(g(n)), если су-
существует константа с, такая, что \f(n) | ^ c\g(n) | для всех зна-
значений п ^ 0. Полиномиальным алгоритмом (или алгоритмом
полиномиальной временной сложности) называется алгоритм, у
которого временная сложность равна О(р(п)), где р(п) — не-
некоторая полиномиальная функция, а п — входная длина. Алго-
Алгоритмы, временная сложность которых не поддается подобной
оценке, называются "экспоненциальными" (следует отметить,
что это определение включает и такие функции, как nlogn, —
хотя они и не являются полиномиальными, но обычно не счи-
считаются экспоненциальными).
Различие между двумя указанными типами алгоритмов ста-
становится особенно заметным при решении задач большого раз-
размера. Таблица на рис. 1.2 позволяет сравнить скорости роста
нескольких типичных полиномиальных и экспоненциальных
функций. (Обратите внимание на чрезвычайно быстрый рост
двух приведенных экспонент.)
Различие между полиномиальными и экспоненциальными
алгоритмами проявляется еще более убедительно, если проана-
проанализировать влияние увеличения быстродействия ЭВМ на время
работы алгоритмов. Рис. 1.3 показывает, насколько увеличатся
размеры задач, решаемых за один час машинного времени, если
благодаря совершенствованию технологии быстродействие ЭВМ
возрастет в 100 или 1000 раз по сравнению с современными
машинами. Заметим, что для функции f(n) = 2n увеличение ско-
скорости вычислений в 1000 раз приводит лишь к тому, что размер
наибольшей задачи, разрешимой за один час, возрастет только
на 10, в то время как для функции f{n) = пь этот размер воз-
возрастет почти в 4 раза.
/. Сложность и tpt/днорешаемые задачи
Функция
Временной
сложности
п
пг
л3
п5
2"
3"
10
0,00001
сек
0,0001
сек
0,001
сек
0,1
сек
0,001
сек
0,059
сек
20
0,00002
сек
0,0004
сек
0,008
сек
3,2
сек
1,0
сек
58
мин
Размер п
30
0,00003
сек
0,0009
сек
0,027
саг
24,3
сек
17,9
мин
6,5
40
0,00004
сел
0,0016
сек
0,064
га/г
1.7
мин
12,7
дней
3855
столетий
50
0,00005
сек
0,0025
сек
0,125
сек
5,2
мин
35,7
лет
2x10»
столетий
60
0,00006
сек
0,0036
сек
0,216
сек
13,0
мин
366
столетий
1,3x10"
столетий
Рис 1.2. Сравнение нескольких полиномиальных и экспоненциальных функ-
функций временной сложности.
Размеры наибольшей задачи,
разрешимой за один час
Функция
Временной
сложности
п
п1
и»
л5
2"
3"
/fc современных
эвп
/4гЗв/Т, ff 100 /газ
Лмее быстрых
100 Л?!
10Л?2
4,64 ЛГ3
2,5 ЛГ4
ЛГ5 + 6,б4
N6 + 4,19
На ЭВП, Й WOO раз
более быстрых
1000 Ni
31,6 Ыг
юлг3
3,98 N4
#5+9,97
М+ 6,29
Рис. 1.3. Влияние технического совершенствования ЭВМ на полиномиаль-
полиномиальные и экспоненциальные алгоритмы.
1.3. Полиномиальные алгоритмы 21
Эти таблицы демонстрируют некоторые причины, по которым
полиномиальные алгоритмы обычно считаются более предпочти-
предпочтительными по сравнению с экспоненциальными. Эта точка зре-
зрения, различающая, с одной стороны, полиномиальные алгорит-
алгоритмы, а с другой стороны, экспоненциальные, является отправным
пунктом в нашем определении труднорешаемых задач и теории
NP-полных задач.
Основополагающий характер различия между этими двумя
классами впервые обсуждался в работах Кобхэма [80] и
Эдмондса [106]. В частности, Эдмондс отождествлял полино-
полиномиальные алгоритмы с "хорошими" алгоритмами и высказал
предположение, что некоторые задачи целочисленного програм-
программирования невозможно решить такими "хорошими" алгорит-
алгоритмами. Согласно такой точке зрения, экспоненциальные алго-
алгоритмы не следует считать "хорошими", и чаще всего так оно
и есть.
Большинство экспоненциальных алгоритмов — это просто ва-
варианты полного перебора, в то время как полиномиальные алго-
алгоритмы обычно можно построить лишь тогда, когда удается более
глубоко проникнуть в суть решаемой задачи. Имеется широко
распространенное соглашение, согласно которому задача не
считается "хорошо решаемой" до тех пор, пока для нее не по-
получен полиномиальный алгоритм. Поэтому мы будем называть
задачу труднорешаемой, если для ее решения не существует
полиномиального алгоритма.
Конечно, это формальное определение следует рассматри-
рассматривать только как одну из возможных трактовок понятия "труд-
норешаемая задача". Различие между "эффективными" (поли-
(полиномиальными) алгоритмами и "неэффективными" (экспонен-
(экспоненциальными) алгоритмами может принять совсем иной характер,
когда размеры решаемых задач невелики. Даже на рис. 1.2
функция f(n)=2n ведет себя лучше, чем f(n) = n6 при л ^ 20.
Можно легко построить еще более яркие примеры
Более того, известны некоторые экспоненциальные алгорит-
алгоритмы, весьма хорошо зарекомендовавшие себя на практике. Дело
в том, что временная сложность определена нами как мера по-
поведения алгоритма в наихудшем случае, и тот факт, что ка-
какой-то алгоритм имеет временную сложность порядка 2", озна-
означает только, что решение по крайней мере одной индивидуаль-
индивидуальной задачи размера п требует времени порядка 2". На самом
деле может оказаться, что большинство индивидуальных задач
требует для своего решения значительно меньших затрат вре-
времени, и такого рода ситуация действительно имеет место для
нескольких хорошо известных алгоритмов. Например, как было
установлено в работах Кли и Минти [291], а также Заде [544],
еимплекс-метод для решения задач линейного программирования
22 /. Сложность и труднорешаемые задачи
имеет экспоненциальную временную сложность1), но в то же
время многочисленные свидетельства подтверждают, что этот
метод хорошо работает на практике. Другой пример: алго-
алгоритмы ветвей и границ столь успешно решают задачу о рюкзаке,
что многие исследователи считают эту задачу "хорошо решае-
решаемой", хотя алгоритмы ветвей и границ имеют экспоненциальную
временную сложность.
К сожалению, подобные примеры очень редки. Хотя экспо-
экспоненциальные алгоритмы известны для многих задач, немногие
из них считаются приемлемыми для практических целей. Даже
при наличии успешно работающих экспоненциальных алгорит-
алгоритмов, упомянутых выше, исследователи не отказались от попы-
попыток найти для соответствующих задач полиномиальные алго-
алгоритмы. В действительности сам факт успешного применения
экспоненциальных алгоритмов давал основание предположить,
что они каким-то образом выявляют некоторые существенные
особенности решаемых задач и что более глубокое их исследо-
исследование может привести к дaльнeйшeмv улучшению методов.
В настоящее время пока не получено удовлетворительных объ-
объяснений, почему эти алгоритмы работают успешно, и не из-
известны методы, позволяющие заранее прогнозировать хорошую
работу того или иного экспоненциального алгоритма в практи-
практической ситуации.
С другой стороны, полиномиальные алгоритмы часто позво-
позволяют делать такого рода прогнозы, поскольку полиномиальные
функции значительно более адекватно оценивают время работы
алгоритмов. Хотя алгоритмы, имеющие временную сложность
типа л100 или 10"п2, не могут считаться эффективными с прак-
практической точки зрения, естественно возникающие "полиномиаль-
"полиномиальные" задачи обычно требуют для своего решения (в самом худ-
худшем случае) времени порядка п2 или п3, причем коэффициенты
при старших членах полиномов не слишком велики. Алгоритмы,
обладающие такими оценками, можно считать "эффективными",
и именно это весьма желательное свойство заставляет отдавать
предпочтение полиномиальным алгоритмам как средству реше-
решения задач.
Наше определение "труднорешаемой задачи" создает базу
для теории, обладающей значительной общностью и большими
возможностями. Понятие труднорешаемой задачи оказывается,
по существу, независимым от конкретной схемы кодирования и
модели ЭВМ, используемых при определении временной слож-
сложности.
•) Аналогичный результат установлен в работе Диница и Карзанова
[17*]. — Прим. перев.
1.3. Полиномиальные алгоритмы
23
Рассмотрим сначала схемы кодирования. Предположим, на-
например, что решаемая задача определена на графе G = (V, Е),
где V — множество вершин, Е— множество ребер и каждое ре-
ребро понимается как неупорядоченная пара вершин. Условия
этой задачи могут быть описаны (см. рис. 1.4) либо просто
Схема кодирования
Списки Вершин и ребер
Список соседей
Строки матрицы инциденций
Цепочка символов (олово)
V[1]V[2]V[3]V[4](V[1]V[2])(V[2M3])
(V[2])(V[1]V[3])(V[2])()
0100/1010/0010/0000
Длима
36
24
19
Рис. 1.4. Описания графа G = (V, Е), где V = {vu v2, v3, о4}, ? = {{«i, v2],
{t>2, v3)}, при трех разных схемах кодирования.
списками всех вершин и ребер, либо с помощью матрицы инци-
инциденций графа, либо составлением для каждого узла списка всех
узлов, имеющих с данным общее ребро ("списки соседей"). Эти
схемы кодирования для одного и того же графа могут дать
входы разной длины. Однако легко проверить (см. рис. 1.5), что
Схема кодирования
Списки Вершин и ребер
Список соседей
Матрица инциденций
Нижняя оценка
4v + 10е
2v + 8е
v1 + v - 1
Верхняя оценка
4v + We + (v + 2e)-[logUTiJ
2v + ie + 2e-[log,0v]
v2 +.y - 1
Рис. 1-5- Общие оценки длины входа для трех схем кодирования графа
G = (V, Е), представленных на рис. 1.4, где [V| = o, |?| = e. Поскольку
е < Vх, эти оценки показывают, что длины входа отличаются друг от друга
не более чем полиномиальным образом {[х] обозначает наименьшее целое
число, не меньшее, чем х).
получаемые входы отличаются друг от друга не более чем "по-
"полиномиальным образом", т. е. любой алгоритм, имеющий поли-
полиномиальную временную сложность при одной из этих схем
кодирования, будет также обладать полиномиальной временной
сложностью при всех остальных схемах.
В действительности стандартные схемы кодирования, исполь-
используемые на практике для любой конкретной задачи, по-видимому,
всегда будут отличаться друг от друга не более чем полино-
полиномиальным образом. Было бы трудно представить себе разум-
разумную схему кодирования для какой-либо задачи, которая
24
/. Сложность и труднорешаемые задачи
отличалась бы более чем полиномиальным образом от стандарт-
стандартных схем. Хотя мы не можем формально выразить такое поня-
понятие, как "разумная схема кодирования", следующие два условия
охватывают важные требования, связанные с этим понятием:
A) код любой индивидуальной задачи / должен быть "сжа-
"сжатым", т. е. не содержать избыточной информации или символов;
B) числа, входящие в условия задачи /, должны быть пред-
представлены в двоичной системе счисления (или десятичной, или
восьмеричной, или иметь любое другое основание, но только
не 1).
Если мы ограничимся рассмотрением только тех схем коди-
кодирования, которые удовлетворяют этим условиям, то выяснение
вопроса, является ли данная задача труднорешаемой, не будет
зависеть от выбора конкретной схемы кодирования.
МаЗелирушя машина В
Машина Тьшршга в 1 лентойAПТ)
Цашина Тьюринга с к лентши{кНТ)
Пашина произвольном Яоступа (ППД)
Моделирующая машина А
1МТ
СНТЧп))
О(ТЧп))
ШТ
(?(Г(л))
_
OiTHn))
МПД
0(rMlogT(n))
O(r(n)logr(n)).
—
Рис. 1. б. Время, требуемое машиной А для моделирования работы алгоритма
сложности Г (л) на машине В (например, см. [9,215]).
Аналогичные замечания можно сделать относительно выбора
модели ЭВМ. Все известные в настоящее время реалистические
модели ЭВМ (например, одноленточные и многоленточные ма-
машины Тьюринга, машины с произвольным доступом к_ памяти)
эквивалентны относительно полиномиальной временной слож-
сложности (см. рис. 1.6). Можно ожидать, что и любая иная "разум-
"разумная" модель ЭВМ будет эквивалентна по сложности всем пере-
перечисленным моделям.
Под словами "разумная модель" здесь главным образом
имеется в виду то, что объем работы, выполняемой машиной в
единицу времени, ограничен (сверху) полиномом. Так, напри-
например, модель, обладающая способностью выполнять параллельно
произвольно много операций, не будет считаться "разумной", и
в действительности ни одна из существующих (или проектируе-
проектируемых) ЭВМ не обладает подобным свойством. Во всяком случае,
если ограничиться рассмотрением стандартных моделей реаль-
реальных ЭВМ, то класс труднорешаемых задач не будет зависеть от,
1.4. Задачи, труднорешаемость которых доказуема 25
выбора конкретной модели, и такой выбор можно осуществлять,
исходя из интересов дела и не уменьшая при этом сферы при-
применимости наших результатов.
1.4. ЗАДАЧИ, ТРУДНОРЕШАЕМОСТЬ КОТОРЫХ
ДОКАЗУЕМА
После того как мы обсудили формальное содержание поня
тия "труднорешаемая задача", уместно дать краткий обзор со-
современного состояния наших знаний о существовании трудно-
решаемых задач.
Сначала охарактеризуем различия между двумя аспектами
труднорешаемости, которые отражены в нашем определении
Первый аспект, который обычно имеется в виду, состоит в том,
что для отыскания решения требуется экспоненциальное время.
Второй заключается в том, что искомое решение настолько ве-
велико, что не может быть представлено в виде выражения, длина
которого была бы ограничена полиномом от длины входа.
Вторая ситуация возникает, например, если в задаче о ком-
коммивояжере в качестве дополнительного параметра фигурирует
число В и требуется найти все маршруты длины, не превосхо-
превосходящей В. Легко построить индивидуальную задачу о комми-
коммивояжере, в которой имеется экспоненциальное число маршрутов
длины, не превосходящей В, поэтому не существует алгоритма
с полиномиальной временной сложностью, который все их пе-
перечисляет.
Труднорешаемостью этого вида нельзя ни в коем случае
пренебрегать, и очень важно ее своевременно обнаружить.
В большинстве случаев, однако, ее наличие ясно из постановки
задачи. Этот аспект труднорешаемости обычно можно рассмат-
рассматривать как указание на то, что постановка задачи не реалистич-
реалистична, поскольку мы запрашиваем больше информации, чем когда-
либо сможем использовать. В связи с этим с настоящего мо-
момента и до конца книги мы будем рассматривать только первый
тип труднорешаемости. А именно будут изучаться только такие
задачи, длина решения которых ограничена полиномиальной
функцией от длины входной информации.
Первые результаты о труднорешаемости задач — классиче-
классические результаты о неразрешимости — были получены А. Тью-
Тьюрингом. Около 40 лет назад Тьюринг доказал, что некоторые
задачи даже "неразрешимы" в том смысле, что вообще не су-
существует алгоритма их решения. Он доказал, например, что не-
невозможно указать алгоритм, который по произвольной програм-
программе определял бы, остановится ли эта программа на произвольно
заданном входе или нет [517]. Известно большое число других
неразрешимых задач. К ним относятся, в частности, задача
26 /. Сложность и труднорешаемые задачи
выяснения тривиальности конечно-порожденных групп [440],
десятая проблема Гильберта (разрешимость в целых числах по-
полиномиальных уравнений) [376], а также несколько задач о по-
покрытии плоскости равными областями [36]. Поскольку эти за-
задачи не могут быть решены никаким алгоритмом, то тем более
они не разрешимы и полиномиальным алгоритмом и, значит,
действительно труднорешаемы в самом сильном смысле.
Первые примеры труднорешаемых "разрешимых" задач
были получены в начале 60-х годов, как один из результатов
работы Хартманиса и Стирнза [204] по "иерархиям" сложно-
сложности. Однако эти примеры включали только "искусственные" за-
задачи, специально построенные, чтобы обладать соответствую-
соответствующими свойствами. Только в начале 70-х годов Мейеру и Сток-
мейеру [384], Фишеру и Рабину [122] и нескольким другим
авторам удалось показать, что некоторые "естественные" раз-
разрешимые задачи труднорешаемы.
В число этих задач вошло большое число изучавшихся ра-
ранее задач из теории автоматов, формальной теории языков и
математической логики. На самом деле было показано, что эти
задачи не могут быть решены за полиномиальное время даже
с помощью "недетерминированного" вычислительного устрой-
устройства, обладающего способностью параллельно выполнять не-
неограниченное количество независимых вычислений. В дальней-
дальнейшем будет видно, что эта "нереалистичная" модель вычисли-
вычислительного устройства играет важную роль в теории NP-полных
задач, а ее возможности будут очерчены более полно в гл. 2.
Все известные в настоящее время задачи, труднорешаемость
которых доказана, попадают в один из перечисленных классов:
они либо вовсе неразрешимы, либо труднорешаемы недетерми-
недетерминированной машиной. Однако большинство представляющихся
труднорешаемыми практических задач в действительности раз-
разрешимы и, более того, могут быть решены за полиномиальное
время с помощью недетерминированного вычислительного
устройства. Таким образом, известные методы недостаточно
сильны, чтобы установить труднорешаемость этих задач.
1.6. NP-ПОЛНЫЕ ЗАДАЧИ
Пока теоретики продолжают поиск более мощных методов
доказательства труднорешаемости задач, параллельно ведутся
работы по сравнению сложности различных задач. Как уже
было сказано ранее, обнаружение таких взаимосвязей между
задачами часто может дать разработчику алгоритмов полезную
информацию.
Основной метод, используемый для доказательства того, что
две задачи близки, состоит в "сведении" их друг к другу с по-
1.5. HP-полные задачи 27
мощью конструктивного преобразования, которое отображает
любую индивидуальную задачу первого типа в эквивалентную
ей индивидуальную задачу второго типа. Такое преобразование
позволяет превратить любой алгоритм решения второй задачи
в соответствующий алгоритм решения первой задачи.
Много простых примеров подобной сводимости известно уже
давно. Например, Данциг [99] свел несколько комбинаторных
задач оптимизации к общей задаче 0-1 целочисленного програм-
программирования. Эдмондс [105] свел задачи из теории графов —
"найти минимальное вершинное покрытие графа" и "найти ми-
минимальное независимое множество вершин графа" — к задаче
"о покрытии". Джимпел [173] свел задачу о покрытии к задаче
о "покрытии простыми импликантами" из теории релейно-кон-
тактных схем. Данциг, Блаттнер и Рао [100] дали описание
хорошо известной сводимости задачи о коммивояжере к задаче
о кратчайшем пути, в которой допускаются ребра отрицательной
длины.
Эти первые сводимости, хотя и были изолированы и относи-
относились к узкому кругу задач, предвосхитили дух результатов, кото-
которые доказываются в теории NP-полных задач.
Фундамент теории NP-полных задач был заложен в работе
С. Кука, опубликованной в 1971 г. под названием "Сложность
процедур вывода теорем" [91]. В этой короткой, но элегантной
работе Кук получил несколько важных результатов.
Во-первых, он подчеркнул важность понятия "сводимость за
полиномиальное время", т. е. сводимость, которая выполняется
с помощью алгоритма с полиномиальной временной сложностью.
Если одна задача сводится за полиномиальное время к другой,
то любой полиномиальный алгоритм решения второй задачи мо-
может быть превращен в полиномиальный алгоритм решения
первой.
Во-вторых, он обратил внимание на класс задач распозна-
распознавания свойств (класс NP), которые могут быть решены за по-
полиномиальное время на недетерминированном вычислительном
устройстве. (Задачей распознавания свойств называется задача,
решениями которой могут быть либо "да", либо "нет".) Боль-
Большинство не поддающихся решению задач, которые встречаются
на практике, после переформулировки их в виде задач распо-
распознавания попадают в этот класс.
В-третьих, С. Кук доказал, что одна конкретная задача из
NP, называемая задачей о выполнимости, обладает тем свой-
свойством, что всякая другая задача из класса NP может быть све-
сведена к ней за полиномиальное время1). Таким образом, если
задача о выполнимости может быть решена за полиномиальное
») Такие задачи называют также «универсальными». — Прим. ред.
28 /. Сложность и труднорешаемые задачи
время, то и любая задача из класса NP полиномиально разре-
разрешима, а если какая-то задача из NP труднорешаема, то и
задача о выполнимости также должна быть труднорешаемой.
Таким образом, в некотором смысле задача о выполнимости —
"самая трудная" в классе NP.
Наконец, С. Кук предположил, что и другие задачи из клас-
класса NP могут быть, аналогично задаче о выполнимости, самыми
'"трудными" представителями класса NP. Он показал это для
следующей задачи: "Содержит ли заданный граф G полный
подграф с заданным числом вершин?"
Вслед за этим Р. Карп опубликовал ряд результатов [280],
из которых следует, что многие хорошо известные комбинатор-
комбинаторные задачи, включая задачу о коммивояжере, будучи сформу-
сформулированы в виде задачи распознавания, столь же "трудны", как
задача о выполнимости. Позднее относительно широкого круга
других задач было доказано, что они по трудности эквивалент-
эквивалентны этим задачам, а сам класс эквивалентности, состоящий из
"самых трудных" задач из NP, получил название "класс
NР-полных задан" :).
Оригинальные идеи Кука оказались удивительно плодотвор-
плодотворными. Они позволили свести много разнообразных вопросов о
сложности в единый вопрос: "Верно ли, что NP-полные задачи
труднорешаемы?" Список, включенный в приложение к настоя-
настоящей книге, содержит сотни различных задач, NP-полнота кото-
которых уже установлена. По мере того как все больше и больше
задач, представляющих интерес с разных точек зрения, попа-
попадают в этот класс эквивалентности, его важность постоянно воз-
возрастает.
Вопрос о том, действительно ли NP-полные задачи трудно-
решаемы, в настоящее время считается одним из основных от-
открытых вопросов современной математики и теоретической ки-
кибернетики. Вопреки готовности большинства специалистов счи-
считать, что все NP-полные задачи труднорешаемы, прогресс как
в доказательстве, так и в опровержении этого далеко идущего
предположения весьма незначителен. Однако, несмотря на от-
отсутствие доказательства того, что из NP-полноты следует труд-
норешаемость, NP-полнота задачи означает, что для ее решения
полиномиальным алгоритмом требуется по крайней мере круп-
крупное открытие.
1.6. О СОДЕРЖАНИИ КНИГИ
Хотя эта книга задумана прежде всего как руководство, по-
помогающее выяснить, является ли NP-полной та или иная кон-
кретная задача (либо посредством отыскания ее в приложении,
1) Часто его называют «класс универсальных задач». — Прим. ред.
1.6. О содержании книги 29
либо путем самостоятельного доказательства), в ней также об-
обсуждаются различные возможности решения NP-полных задач.
Ниже приводится краткий обзор содержания книги.
В гл. 2 изложены формальные основы теории NP-полных
задач и доказывается теорема Кука. Здесь определяются цен-"
тральные понятия теории NP-полных задач — "язык" и "маши-
"машина Тьюринга" и указывается их связь с понятиями "задача" и
"модель вычислительного устройства", которые обсуждались
выше. Эта глава должна познакомить читателя с техникой рас-
рассуждений, применяемых в теории NP-полных задач.
Гл. 3 посвящена методам доказательства NP-полноты раз-
различных задач. Большое число примеров иллюстрирует струк-
структуру этих методов и поясняет, какой из них следует выбрать в
каждом конкретном случае. По существу, доказательство
NP-полноты задачи состоит в полиномиальном сведении к ней
известной NP-полной задачи. В этой главе также дается обзор
наиболее подходящих для этой цели NP-полных задач и демон-
демонстрируется их применение.
В гл. 4 изучаются подходы, с помощью которых теорией
NP-полных задач можно пользоваться для более тщательного
анализа сложности задачи, для поиска "границы" между
полиномиально разрешимыми случаями задачи и NP-пол-
ными.
В гл. 5 показано, как методы, применяемые для доказатель-
доказательства NP-полноты, можно перенести на задачи другого типа,
с целью доказать, что они "столь же трудны", как NP-полные
задачи. Чтобы помочь читателю разобраться в литературе по
теории NP-полных задач, мы также приводим краткий истори-
исторический обзор развития основных идей и изменений в термино-
терминологии.
В гл. 6 обсуждаются различные подходы к работе с трудно-
решаемыми задачами, особенно метод отыскания почти опти-
оптимальных решений с помощью быстрых алгоритмов. Приводятся
примеры, демонстрирующие достоинства и недостатки этих ме-
методов, а также иллюстрируется применение теории NP-полных
задач в этой области.
Гл. 7 имеет целью познакомить читателя с некоторыми тео-
теоретическими результатами и идеями, возникшими параллельно
с теорией NP-полных задач. Обсуждаются следующие вопросы:
полиномиальная иерархия, теория КР-полных задач, полнота
в классе задач, распознаваемых с полиномиальной памятью, и
"релятивизация" проблемы труднорешаемости NP-полных за-
задач.
Последнюю треть книги составляет приложение, в которое
включено большое число NP-полных или более сложных задач,
с соответствующими примечаниями. В списке задач выделены
30 /. Сложность и труднорешаемые задачи
разделы, где собраны задачи из определенных областей, напри-
например теории графов, теории расписаний, алгебры и теории чисел,
теории покрытий и разбиений, математического программиро-
программирования, теории языков и автоматов, и самые разные задачи, не
попавшие в эту классификацию. В нем указаны также ссылки
на близкие задачи, разрешимые за полиномиальное время, а
также задачи, вопрос о сложности которых остается открытым,
т. е. относительно которых не известно ни полиномиального ал-
алгоритма решения, ни доказательства NP-полноты.
2. Теория NP-полных задач
В настоящей главе изложен формальный аппарат теории
NP-полных задач. Для того чтобы эта теория приобрела стро-
строгие математические черты, необходимо ввести формальные экви-
эквивалентны многих интуитивных понятий, например таких, как
"задача" и "алгоритм". Одна из основных целей этой главы со-
состоит в выявлении связи между формальными терминами и
интуитивными понятиями, которыми чаще всего пользуются.
Овладев этой связью, мы сможем в последующих главах вести
изложение главным образом на неформальном уровне, обра-
обращаясь к формальному только тогда, когда это необходимо, в
строгих формулировках и доказательствах.
Глава начинается с обсуждения задач распознавания
свойств и представления этих задач в виде "языков", что дает
возможность отождествить "решение" такой задачи с "распо-
"распознаванием" соответствующего языка. В качестве основной мо-
модели процесса вычисления принята одноленточная машина Тью-
Тьюринга, которая используется также для определения класса Р
(Polynomial — полиномиальный) всех языков, детерминированно
распознаваемых за полиномиальное время. Машина Тьюринга
затем дополняется гипотетической способностью "угадывания",
и эта дополненная модель используется для определения класса
NP всех языков, "недетерминированно" распознаваемых за по-
полиномиальное время (Nondeterministically Polynomial). После
обсуждения взаимосвязи классов Р и NP определяется поня-
понятие полиномиального преобразования одного языка в другой.
Это понятие применяется для определения .наиболее важного
класса — класса NP-полных задач. Глава заканчивается форму-
формулировкой и доказательством фундаментальной теоремы Кука,
которая дает нам первую NP-полную задачу.
2.1. ЗАДАЧИ РАСПОЗНАВАНИЯ, ЯЗЫКИ
И КОДИРОВАНИЕ
Из соображений удобства теория NP-полных задач строится
только для задач распознавания свойств. Такие задачи, как
было упомянуто в гл. 1, имеют только два возможных реше-
решения— "да" или "нет". Выражаясь абстрактно, задача распозна-
распознавания П состоит просто из двух множеств: множества Dn всех
32 2. Теория UP-полных задач
возможных индивидуальных задач и множества Уп (Уп cr Da)
индивидуальных задач с ответом "да". Однако содержательные
задачи распознавания в большинстве случаев обладают различ-
различными дополнительными структурными свойствами, которые бу-
будут учитываться нами при описании задач.
Стандартная форма, которую мы будем применять для опи-
описания задач, состоит из двух частей. В первой части дается
описание условия задачи в терминах различных компонент —
множеств, графов, функций, чисел и т. д. Во второй части в
терминах условия формулируется вопрос, предполагающий один
из двух ответов —"да" или "нет". Это описание определяет
множества Dn и Уп очевидным образом. Индивидуальная зада-
задача принадлежит Dn в том и только в том случае, когда она
может быть получена из стандартной формы описания подста-
подстановкой конкретных значений во все компоненты условия. Инди-
Индивидуальная задача принадлежит Уп в том и только в том слу-
случае, когда ответом на вопрос задачи будет "да".
В качестве примера ниже приведена хорошо известная за-
задача распознавания из теории графов.
ИЗОМОРФИЗМ ПОДГРАФУ
УСЛОВИЕ. Заданы два графа: GI=(V,,?1) и G2=(V2, ?2).
ВОПРОС. Верно ли, что G\ содержит подграф, изоморфный G2?
Другими словами, существуют ли: A) подмножества V s V\
и Е'аЕи такие, что |У'| = |У2|, |?'| = |?21 B) взаимно од-
однозначная функция f: V2 -»¦ V', такая, что {и, v} e ?2 тогда и
только тогда, когда {/(«), f (v)} e ?'?
Задача распознавания, соответствующая задаче о комми-
коммивояжере, может быть сформулирована следующим образом.
КОММИВОЯЖЕР
УСЛОВИЕ. Заданы конечное множество С={с\, с2, ..., ст]
"городов", "расстояние" d(c,,c/)eZ+ для каждой пары городов
Ci, с/еС и граница BeZ+ (здесь Z+ обозначает положитель-
положительные целые числа).
ВОПРОС. Существует ли "маршрут", проходящий через все го-
города из С, длина которого не превосходит В? Другими словами,
существует ли последовательность <слA), сЛB> сЛ(т)У эле-
элементов С, такая, что
В дальнейшем встретится много других примеров употребле-
употребления такой формы записи задач, но и этих двух достаточно для
уяснения ее смысла. Второй пример служит также для иллю-
2.1. Задачи распознавания, языки и кодирование 33
страции важного приема— получения из оптимизационной за~
дачи соответствующей задачи распознавания. Если в оптимиза-
оптимизационной задаче среди всех структур данного типа ищется струк-
структура, имеющая минимальную "стоимость" (например, среди
всех маршрутов ищется маршрут минимальной длины), то этой
задаче можно сопоставить задачу распознавания, в которой в
качестве дополнительного параметра фигурирует числовая гра-
граница В, а вопрос ставится о существовании структуры данного
типа, стоимость которой не превосходит В (например, маршрут
длины не более В). Аналогичным образом задача распознава-
распознавания может быть получена из задачи максимизации. Для этого
достаточно условие "не превосходит" заменить условием "не
меньше".
Относительно подобного соответствия между задачами рас-
распознавания и задачами оптимизации важно отметить, что
поскольку значение функции легко оценить, то задача распоз-
распознавания не может быть сложнее соответствующей задачи опти-
оптимизации. Если для задачи о коммивояжере можно за полиноми-
полиномиальное время найти маршрут минимальной длины, то совершенно
ясно, как за полиномиальное время решить соответствующую
задачу распознавания. Для этого нужно только найти маршрут
минимальной длины, вычислить его длину и сравнить ее с за-
заданной границей В. Поэтому, если удастся показать, что КОМ-
КОММИВОЯЖЕР есть NP-полная задача (а это в самом деле так),
то отсюда будет следовать, что и оптимизационная задача о
коммивояжере будет по крайней мере столь же сложна. Таким
образом, хотя в теории NP-полных задач рассматриваются
только задачи распознавания, выводы этой теории вполне при-
применимы к задачам оптимизации. (В гл. 5 будет установлена
более тесная связь между задачами распознавания и задачами
оптимизации. А именно, будет показано, что многие задачи
распознавания, и в частности КОММИВОЯЖЕР, "не проще"
соответствующих задач оптимизации.)
Как уже говорилось, теория NP-полных задач ограничивает-
ограничивается только задачами распознавания. Это объясняется тем, что
задачи распознавания имеют очень естественный формальный
эквивалент, удобный для изучения методами теории вычислений.
Этот эквивалент называется "языком" и определяется следую-
следующим образом.
Для любого конечного множества символов 2 (называемого
алфавитом) обозначим через 2* множество всех конечных цепо-
цепочек, составленных из символов алфавита 2, такие цепочки мы
будем называть словами. Например, если 2 = {0, 1}, то 2* со-
состоит из пустого слова "е", а также слов 0, 1, 00, 01, 10, 11, 000,
001 и всех других конечных слов, состоящих из нулей и еди-
единиц. Любое подмножество L s 2* будем называть языком
84 2. Теория HP-полных задач
в алфавите Е. Таким образом, множество {01,001, 111, 1101010}
является языком в алфавите 0, 1. Языками также являются
множество двоичных записей квадратов целых чисел и само
множество {0, 1} *.
Соответствие между задачами распознавания и языками
устанавливается с помощью схем кодирования, которые обычно
применяются для представления индивидуальной задачи при ее
решении на ЭВМ. Напомним, что схема кодирования е задачи П
описывает каждую индивидуальную задачу из П подходящим
словом в некотором фиксированном алфавите 2. Таким обра-
образом, задача П и схема кодирования е задачи П разбивают слова
из 2* на три класса: слова, не являющиеся кодами индивиду-
индивидуальных задач из П; слова, являющиеся кодами индивидуаль-
индивидуальных задач из П с отрицательным ответом на вопрос, и слова,
являющиеся кодами индивидуальных задач из П с положитель-
положительным ответом на вопрос. Третий класс слов как раз и есть тот
язык, который ставится в соответствие задаче П при кодирова-
кодировании е и обозначается через L [П, е]:
{Лесть алфавит схемы кодирования е,")
х е 2*: ах — код индивидуальной задачи К
/еУп при схеме кодирования е J
При применении формальной теории NP-полноты к задачам
распознавания будем говорить, что некоторый результат имеет
место для задачи П при схеме кодирования е, если этот резуль-
результат имеет место для языка L [П, е].
В действительности, следуя общепринятой практике, мы не
всегда будем соблюдать все эти формальности. Если ограни-
ограничиться только "разумными схемами кодирования", то при введе-
введении любого нового понятия, или свойства, которое формулируется
в терминах языка, оно фактически не будет зависеть от способа
кодирования. Другими словами, если е и е' — любые две разум*
ные схемы кодирования задачи П, то рассматриваемое свойство
языков ЦП, е] и L[n, e'\ выполняется (или не выполняется)
для них одновременно. Это позволяет, не указывая явно схемы
кодирования, говорить неформально о том, что рассматривае-
рассматриваемое свойство для задачи П выполняется или не выполняется.
Однако при использовании этого соглашения мы будем подра-
подразумевать, что в случае необходимости можно было бы указать
такую схему кодирования е, что рассматриваемое свойство вы-
выполняется для языка L [П, е].
Заметим, что если вести изложение в стиле, не зависящем
от кодирования, то теряется связь с формальным понятием
"длина входа". Поэтому необходим некоторый параметр, через
который можно выразить временную сложность. Удобно счи-
2.1. Задачи распознавания, языки и кодирование 36
тать, что с каждой задачей распознавания связана не зависящая
от схемы кодирования функция Length: Da -*¦ Z+, которая "по-
"полиномиально эквивалентна" длине кода индивидуальной задачи,
получаемой при любой разумной схеме кодирования. Полино-
Полиномиальная эквивалентность понимается в следующем смысле: для
любой разумной схемы кодирования е задачи П существуют два
полинома р и р', такие, что если /е/)и слово х есть код ин-
индивидуальной задачи / при кодировании е, то Length [7]^
^р(|д:|) и |*| ^р'(Length [/]), где |*| — длина слова х. На-
Например, в задаче ИЗОМОРФИЗМ ПОДГРАФУ можно поло-
положить
Length [/] = | К, | +1 Fa |;
Gi=(V\E\) и Gi=(V2, Ег)—графы, образующие рассматри-
рассматриваемую индивидуальную задачу. В задаче КОММИВОЯЖЕР
можно положить
Length [/] = /n + riog2Sn + max{riog2d(Cf, с,)""]: с,, cte=C}.
Так как любые две разумные схемы кодирования задачи П дают
полиномиально эквивалентные длины входов, то диапазон для
выбора функции Length очень широк, а получаемые результаты
будут верны для любой функции Length, удовлетворяющей
сформулированным выше условиям.
Плодотворность такого неформального, не зависящего от ко-
кодирования подхода связана, конечно, с соглашением о том, что
именно понимается под "разумной схемой кодирования". Обыч-
Обычно схему кодирования считают "разумной", если она достаточно
"сжатая" и "допускает декодирование". Содержание понятия
'сжатое" связано с условиями, сформулированными в гл. 1.
'Сжатость" нужна для того, чтобы при кодировании индиви-
индивидуальной задачи сохранялась ее естественная краткость, прису-
присущая записи задачи, когда ее решают на ЭВМ, и не допускалось
искусственное "раздувание" входа. Раздувание может, напри-
например, привести к такому увеличению длины входа, что экспонен-
экспоненциальный алгоритм, превратится неестественным образом в по-
полиномиальный. Смысл понятия "декодируемость" заключается
в том, чтобы по данной компоненте условия задачи можно было
бы указать алгоритм с полиномиальным временем работы, ко-
который из любого заданного кода индивидуальной задачи позво-
позволял бы извлечь описание этой компоненты.
Приведенное выше уточнение понятия "разумное кодирова-
кодирование", конечно, не является формальным определением. Нам не
известен даже удовлетворительный способ, как дать такое опре-
определение. Хотя мнения большинства людей относительно разум-
разумности или неразумности конкретного кодирования той или иной
задачи совпадают, отсутствие формального определения
36 2. Теория NP-полных задач
вызывает некоторые неудобства. Для преодоления этих неудобств
можно было бы потребовать, чтобы условие задачи всегда со-
состояло из фиксированного набора основных теоретико-множе*
ственных объектов. Мы не будем здесь накладывать этого
требования. Однако для уточнения того, что мы имеем в виду,
говоря о "разумной схеме кодирования", дадим краткое описа-
описание (которое при первом чтении можно опустить) одного из
способов определения стандартной схемы кодирования.
Эта стандартная схема кодирования отображает индивиду-
индивидуальные задачи в правильно построенные слова (ППС) 1) в ал-
алфавите \J) = {0, 1, —, [, ], (,),,}. ППС определяется рекурсивно:
A) Двоичная эапись целого числа k, рассматриваемая как сло-
слово, состоящее из нулей и единиц (со знаком "—" перед
словом, если k отрицательно), есть ППС, представляющее
целое число к.
B) Если к есть ППС, представляющее целое число k, то [х]
есть ППС, которое может использоваться как "имя" (на-
(например, "имя" вершины графа, элемента множества или
города в задаче о коммивояжере).
(8) Если х\, Х2, ..., хт — правильно построенные слова, пред-
ставляющие объекты Х\, X* Хт, то (*i, xa, ..., хт)
есть ППС, представляющее последовательность {Х\, Х%, ...
Для указания схемы кодирования конкретной задачи рас-
распознавания, представленной в нашей стандартной записи, за-
заметим, что если каждая компонента (или объект) условия пред-
представлена некоторым ППС, то все условия можно закодировать,
пользуясь правилом C). Таким образом, достаточно указать
способ кодирования объекта каждого типа. При этом мы огра-
ограничимся целыми числами, "элементами без структуры" (вер-
(вершины графа, элементы множества, города и т. д.), последова-
последовательностями, множествами, графами, конечными функциями и
рациональными числами.
Правила A) и C) указывают, как кодировать целые числа
и последовательности. Для кодирования элементов без струк-
структуры, присвоим им, согласно правилу B), различные "имена",
соблюдая при этом следующее условие: если индивидуальная
задача содержит не более N элементов без структуры, то ис-
используются имена, величина которых не превосходит N. Объек-
Объекты остальных четырех типов кодируются следующим образом.
Множество объектов представляется в виде произвольно
упорядоченной последовательности (Х\, Хг, ... Хт) элементов
') В оригинале structured strings, что в буквальном переводе означает
структурированные цепочки (символов алфавита). — Прим. ред.
2.1. Задачи распознавания, языки и кодирование 37
этого множества и кодируется ППС, соответствующим этой по-
последовательности.
Граф с множеством вершин V и множеством ребер Е коди-
кодируется ППС (х, у), где х и у есть ППС, представляющие мно-
множества V и Е соответственно (элементами Е являются двухэле-
двухэлементные подмножества V, образующие ребра).
Конечная функция f: {«ь иг, •••• ит}-*-'W кодируется ППС
((*i,</i).(*2, */г). ¦••. (хт,Ут)), где JC/ — ППС для объекта щ,
а «/( — ППС для объекта /(ы*)е W, I < i ^ m.
Рациональное число q кодируется ППС (дс,«/), где хну —
ППС для целых чисел а и 6, таких, что а/6 = ?и наибольший
общий делитель а п b равен 1.
Приведенный выше список кодов объектов довольно хорошо
иллюстрирует понятие разумного кодирования. Его достаточно
в большинстве встречающихся случаев, хотя иногда было бы
удобнее иметь более широкий список типов объектов. Однако
для описания условий задач можно, не уменьшая общности,
ограничиться только перечисленными объектами, потому что
другие типы объектов всегда могут быть выражены через объ-
объекты, перечисленные выше.
Отметим, что указанных рецептов не хватает для того, чтобы
построить опт-единственный код для каждой индивидуальной
задачи, но вполне достаточно для того, чтобы любое ППС,.ко-
ППС,.которое является кодом задачи, обладало определенными струк-
структурными особенностями. Изменение имен исходных элементов
или порядка элементов при описании множества может приве-
привести к тому, что одна и та же индивидуальная задача будет
кодироваться различными правильно построенными словами.
В действительности не имеет значения, какими ППС закодиро-
закодирована данная индивидуальная задача, так как любое слово мож-
можно декодировать и получить существенные компоненты индиви-
индивидуальной задачи. Эта возможность учтена в данных выше опре-
определениях, например, при кодировании е каждая индивидуальная
задача из П может быть представлена несколько раз в языке
L[U, e] кодов индивидуальных задач с положительным ответом
на вопрос.
Прежде чем продолжить обсуждение, напомним, что стан-
стандартная схема кодирования приведена с целью иллюстрации
возможных определений стандартных схем кодирования; она
также служит примером "разумной" схемы кодирования. Ничто
не мешает воспользоваться какой-нибудь другой схемой кодиро-
кодирования или построить для каждой интересующей нас задачи свою
схему кодирования.
Если выбранная схема кодирования "эквивалентна" указан-
указанной выше (в том смысле, что существуют алгоритмы с полино-
полиномиальным временем работы, переводящие коды индивидуальных
38
2. Теория NP-полных задач
задач при одной схеме кодирования в коды этих же задач
при другой и обратно), то эта схема кодирования также будет
"разумной". Если выбрать схему кодирования, которая в этом
смысле не эквивалентна приведенной выше, то можно по-преж-
по-прежнему доказывать различные результаты относительно этой схе-
схемы кодирования, однако для формулировки получаемых резуль-
результатов уже нельзя будет пользоваться независимой от кодирова-
кодирования терминологией. В настоящей книге мы ограничимся только
разумными схемами кодирования.
2.2. ДЕТЕРМИНИРОВАННЫЕ МАШИНЫ ТЬЮРИНГА
И КЛАСС Р
Для того чтобы формализовать понятие "алгоритм", необ-
необходимо зафиксировать определенную модель процесса вычисле-
вычисления. Далее такой моделью будет служить детерминированная
одноленточная машина Тьюринга (сокращенно ДМТ), которая
схематически изображена на рис. 2.1. Машина Тьюринга состоит
Устройство
управления
Лента
¦ Читающая/пишущая головка
-3 -2 -1 0. 1 2 3 4
Рис. 2.1. Схематическое изображение детерминированной (одноленточной
машины Тьюринга (ДМТ).
из управляющего устройства с конечным числом состояний, чи-
читающей/пишущей головки, которая может считывать и записы-
записывать символы, и неограниченной в обе стороны ленты, разде-
разделенной на бесконечное число одинаковых ячеек, занумерован-
занумерованных целыми числами ..., —2, —1,0, 1,2,3, ... .
Программа для ДМТ, или ДМТ-программа, определяется
следующими компонентами:
A) конечным множеством Г символов, которые записываются
на ленте, подмножеством 2 с: Г входных символов и выде-
выделенным пустым символом b cz Г\Б;
2.2. Детерминированные машины Тьюринга и класс Р 39
B) конечным множеством состояний Q, в котором выделены
начальное состояние qo и два заключительных состояния
qr, qNl);
C) функцией перехода б: (Q\{<7k, q»})X T->QX ГХ {—1, 1}-
Работа программы определяется следующим образом. Вхо-
Входом для детерминированной программы является слово х е 2*.
Слово записывается на ленте в ячейках с номерами 1, 2, ...
.... \х\ по одному символу в ячейке. Все другие ячейки в на-
начальный момент времени содержат пустой символ и называются
пустыми. Программа начинает работу, находясь в состоянии qo,
при этом читающая/пишущая головка находится над ячейкой
с номером 1.
Далее процесс вычислений осуществляется последовательно,
шаг за шагом. Если текущее состояние q есть qy или qN, то
процесс вычисления заканчивается, при этом результатом будет
"да", если q = qY, и "нет", если q = qn- В противном случае
текущее состояние принадлежит множеству Q\{qy, 9лг}, при
этом головка читает на ленте некоторый символ «ёГи опреде-
определено значение 6{q, s). Предположим, что 8(q, s) = (q', s', Д).
В этом случае головка стирает s, пишет на этом месте s' и
сдвигается на одну ячейку влево, если А = — 1, или на одну
ячейку вправо, если Д = +1. Одновременно управляющее
устройство переходит из состояния q в q'. На этом заканчи-
заканчивается один "шаг" процесса вычисления, и программа готова
к выполнению следующего шага (если таковой имеется).
Пример простой ДМТ-программы М представлен на рис. 2.2.
Функция перехода б определена таблицей, где величина, запи-
записанная в Vй строке и s-м столбце, есть значение 6(q, s).
Рис. 2.3 иллюстрирует вычисление по программе М при входе
х= 10100; здесь указаны состояние, расположение головки и
содержимое непустых ячеек ленты до и после каждого шага.
Заметим, что это вычисление после восьми шагов оканчи-
оканчивается в состоянии qy, поэтому на входе 10100 ответом будет
"да". В общем случае будем говорить, что программа М, имею-
имеющая входной алфавит 2, принимает хе2* в том и только в том
случае, когда, будучи примененной ко входу х, она останавли-
останавливается в состоянии qy. Язык Lm, распознаваемый программой
/VI, задается следующим образом:
LM = {xe 2*: М принимает х}.
Нетрудно видеть, что программа, представленная на рис. 2.2,
распознает язык
f ,|. -».. два последних символа 1
\х *¦ ' ' ' слова х являются нулями J '
') От слов Yes — да, No — нет. — Прим. перев.
Г-@,1,6), I-@,1)
я
<7о
<7|
Яг
Яз
0
(</o.O,+D
(<72,6,-1)
(ffi-,6,-1)
(*».*.-»
1
(i?o,U+l)
(?),6.-1)
(<?«,6,-1)
(Ян,Ь,-1)
b
(<?|.6,-1)
(««,6,-1)
(fltf,6,-l)
(flw.6,-1)
Рис. 2.2. Пример ДМТ-программы М*=(Т, Q, 6).
<7о :
...
...
...
...
...
...
ь
ь
ь
ь
... 16
...
ь
1
1
1
1
1
1
1
1
1
о
V
о
о
о
0
о
0
о
id
1
1
V
1
1
1
о
V
о
0
1 | 0
1
1
V
о
V
о
ь
о
о
о
о
V
0
о
V
о
ь
61...
* 1-
61-
61-
61...
V
ь |.«
61-
61-
61...1
2.2. Детерминированные машины Тьюринга и класс Р 41
Отметим, что это определение распознавания языка не тре-
требует, чтобы программа М останавливалась при всех входах из
S*; М обязана останавливаться лишь при входах из LM- Если t
принадлежит 2*\ LM, то работа программы Af на х может либо
закончиться в состоянии qn, либо может бесконечно продол-
продолжаться без остановки. Однако ДМТ-программа, соответствую-
соответствующая нашему пониманию алгоритма, должна'останавливаться на
всех словах входного алфавита. В этом смысле программа на
рис. 2.2 является алгоритмической, так как, начиная работать
на любом слове из символов О, I, она будет останавливаться.
Соответствие между "распознаванием" языков и "решением"
задач распознавания определяется следующим образом. Будем
говорить, что ДМТ-программа Af решает задачу распознавания
П при кодировании е, если М останавливается на всех словах,
составленных из букв входного алфавита, и LM = L [П, е]. Про-
Программа на рис. 2.2 иллюстрирует это соответствие. Рассмотрим
следующую задачу распознавания из теории чисел:
ДЕЛИМОСТЬ НА ЧЕТЫРЕ
УСЛОВИЕ. Дано положительное целое число N.
ВОПРОС. Существует ли положительное целое число пг, такое,
что N = 4m?
При стандартном кодировании целое число N представляется
словом из 0 и 1, т. е. двоичной записью этого числа. Так как
положительное целое число делится на 4 тогда и только тогда,
когда последние цве цифры двоичной записи этого числа яв-
являются нулями, то программа, изображенная на рис. 2.2, "ре-
"решает" при нашем стандартном кодировании задачу ДЕЛИ-
ДЕЛИМОСТЬ НА ЧЕТЫРЕ.
Заметим для дальнейшего, что ДМТ-программой можно
пользоваться также и для вычисления функций. Предположим,
что программа Af, имеющая входной алфавит 2 и ленточный
алфавит Г, останавливается при любом входе из 2*. Тогда М
вычисляет функцию /«: 2*-»-Г*, которая для каждого xeZ'
определяется следующим образом. Если программа Af, начиная
работать при входе х, останавливается, то в качестве (м(х) бе-
берется слово, составленное из символов, записанных после оста-
остановки машины в ячейках с номерами 1, 2, 3, ... , включая по-
последнюю непустую ячейку. Программа Af, представленная на
рис. 2.2, вычисляет функцию f«: {О, I}*-»- (О, 1,&}*, которая
отображает каждое слово хе {0,1}* в слово }м{х), получаемое
из х удалением двух крайних справа символов (если |х|<2,
то М выдает в качестве /*(*) пустое слово).
Хорошо известно, что DMT-программы способны решать за-
задачи гораздо более сложные, чем в рассмотренном примере.
42 2. Теория NP-полных задач
Несмотря на то что ДМТ имеет только одну последовательную
ленту и на каждом шаге может выполнять весьма ограниченную
работу, ДМТ-программа может быть составлена так, что она
выполнит (хотя и гораздо медленнее) любое вычисление, вы-
выполнимое обычной ЭВМ. Читателю, который интересуется тем,
как это делается, можно посоветовать несколько хороших работ,
например [388] или [215]. Читателя, который этим не интере-
интересуется, можно успокоить тем, что в данной книге не требуется
умение программировать на ДМТ. Введение модели ДМТ объ-
объясняется только необходимостью дать формальный эквивалент
понятию алгоритма и тем самым заложить основу для осталь-
остальных определений.
Теперь можно определить понятие "временная сложность".
Время, требуемое ДМТ-программой М для вычисления при вхо-
входе х, есть число шагов, выполняемых до момента остановки.
Если программа М останавливается на всех входах х е S*, то
временную сложность Тм: Z+->Z+ этой программы можно опре-
определить так:
( существует такое слово х е 2\ | х | = п,"}
Тм (п) = max \ ш: что вычисление по программе М на вхо- г.
v. де х требует времени пг )
Детерминированная программа М называется полиномиальной
ДМТ-программой, если существует такой полином р, что для
всех п е Z+, Тм (п) ^ р(п).
Теперь можно формально определить первый важный класс
языков — класс Р. Он определяется следующим образом:
р f г. существует полиномиальная ДМТ-программа)
\ ' М, для которой L = LM у'
Будем говорить, что задача распознавания П принадлежит
классу Р при кодировании е, если L [П, е] е Р, т. е. существует
полиномиальная ДМТ-программа, которая "решает" задачу П
при кодировании е. Учитывая приведенные выше рассуждения
об эквивалентности разумных кодирований, мы обычно не будем
приводить конкретные схемы кодирования и будем просто го-
говорить, что задача распознавания П принадлежит классу Р.
Термин "полиномиальный алгоритм" часто будет использо-
использоваться неформально. Формальным эквивалентом понятия поли-
полиномиального алгоритма является полиномиальная ДМТ-про-
ДМТ-программа. Тем не менее если учесть указанную в гл. 1 эквива-
эквивалентность "реалистичных" моделей ЭВМ относительно понятия
"полиномиальное время работы", то формальное определение
класса Р можно сформулировать в терминах программ для лю-
любой из этих моделей, причем в результате получится один и тот
же класс языков.
2.3. Недетерминированное вычисление и класс NP 43
Таким образом, при доказательстве того, что определенные
задачи могут быть решены полиномиальным алгоритмом, нет
необходимости вдаваться в детали ДМТ. На самом деле, следуя
общепринятой практике, мы будем обсуждать алгоритмы в ма-
машинно-независимом стиле, как будто они работают непосред-
непосредственно с компонентами индивидуальной задачи (множествами,
графами, числами и т. д.), а не с их кодами. Здесь подразуме-
подразумевается, что при наличии желания и терпения для любого поли-
полиномиального алгоритма можно построить соответствующую
полиномиальную ДМТ-программу. Наши неформальные рассу-
рассуждения следует рассматривать как указание пути такого по-
построения, они должны убедить любого читателя, знакомого с
основными типами задач, разрешимых за полиномиальное время
на обычных ЭВМ.
2.3. НЕДЕТЕРМИНИРОВАННОЕ ВЫЧИСЛЕНИЕ
И КЛАСС NP
В настоящем разделе вводится второй важный класс языков
(задач распознавания свойств) — класс NP. Прежде чем пе-
перейти к формальному определению в терминах языков и машин
Тьюринга, полезно пояснить смысл понятия, лежащего в основе
определения класса NP.
Рассмотрим задачу КОММИВОЯЖЕР, описание которой
приведено в начале настоящей главы. В условии даны: множе-
множества городов, расстояния между ними и граница В; при этом
спрашивается, существует ли проходящий через все города
маршрут длины, не превосходящей В. Полиномиальный алго-
алгоритм решения этой задачи не известен. Предположим, однако,
что относительно некоторой индивидуальной задачи кто-то по-
получил ответ "да". Если вы в этом сомневаетесь, то можно потре-
потребовать "доказательства" этого утверждения — предъявление
маршрута, обладающего необходимыми свойствами. Имея предъ-
предъявленное решение, нетрудно проверить, является ли оно на самом
деле маршрутом, и если это так,то вычислить его длину, срав-
сравнить ее с границей В и тем самым проверить соответствующее
утверждение. Более того, эту "процедуру проверки" можно
представить в виде алгоритма, временная сложность которого
ограничена полиномом от Length [/].
Другой пример задачи, которая обладает этим свойством,—
задача ИЗОМОРФИЗМ ПОДГРАФУ из разд. 2.1. Пусть дана
индивидуальная задача /, в которой указаны два графа G\ =
= (V\,E\) и Ог=(^2,?г)- Если ответом на вопрос задачи будет
"да", то этот факт можно "доказать", предъявив подмножества
V s Vi и Е'^Е\ и взаимно-однозначную функцию f: V2 -*-V,
которые обладают необходимыми свойствами. В этом случае
44 2. Теория NP-полных задач
верность утверждения опять-таки может быть легко установлена
за полиномиальное от Length [/] время путем простой проверки
того, что V, Е' и f удовлетворяют требованиям, сформулиро-
сформулированным в задаче.
Именно понятие полиномиальной "проверяемости" позволяет
выделить задачи класса NP. Отметим, что проверяемость за по-
полиномиальное время не влечет разрешимости за полиномиальное
время. А именно, утверждая, что за полиномиальное время мож-
можно проверить ответ "да" для задачи КОММИВОЯЖЕР, мы не
учитываем время, которое может понадобиться на поиск нуж-
нужного маршрута среди экспоненциального числа всех возможных
маршрутов. Мы лишь утверждаем, что по любому заданному
маршруту для индивидуальной задачи / можно за полиномиаль-
полиномиальное время проверить, "доказывает" ли этот маршрут, что ответ
на вопрос относительно индивидуальной задачи / есть "да".
Неформально класс NP можно определить с помощью поня-
понятия, которое мы будем называть недетерминированным алго-
алгоритмом. Такой алгоритм состоит из двух различных стадий —
стадии угадывания и стадии проверки. По заданной индивиду-
индивидуальной задаче / на первой стадии происходит просто "угадыва-
"угадывание" некоторой структуры S. Затем / и 5 вместе подаются в
качестве входа на стадию проверки, которая выполняется
обычным детерминированным образом и либо заканчивается от-
ответом "да", либо заканчивается ответом "нет", либо продол-
продолжается бесконечно без остановки (как мы увидим позже, по-
последние две возможности различать не обязательно). Недетер-
Недетерминированный алгоритм "решает" задачу распознавания П, если
для любой индивидуальной задачи / е Dn выполнены следую-
следующие два свойства:
1. Если /еУп, то существует такая структура S, угадывание
которой для входа / приведет к тому, что стадия проверки,
начиная работу на входе (/, 5), закончится ответом "да".
2. Если 1фУп, то не существует такой структуры S, угадыва-
угадывание которой для входа / обеспечило бы окончание стадии
проверки на входе (/, S) ответом "да".
Например, недетерминированный алгоритм решения задачи
КОММИВОЯЖЕР можно было бы построить, используя в
качестве стадии угадывания просто выбор произвольной последо-
вательности городов, а в качестве стадии проверки — упомяну-
упомянутую выше полиномиальную процедуру "проверка доказатель-
доказательства" для задачи КОММИВОЯЖЕР. Очевидно, для любой ин-
индивидуальной задачи / найдется такая догадка S, что резуль-
результатом работы стадии проверки на входе (/, S) будет "да" в том и
только в том случае, если для индивидуальной задачи / суще-
существует маршрут искомой длины.
2.3. Недетерминированное вычисление и класс NP 45
Говоря.т, что недетерминированный алгоритм, решающий за-
задачу распознавания П, работает в течение "полиномиального
времени", если найдется полином р, такой, что для любого / s
е Уп найдется некоторая догадка S, приводящая на стадии
детерминированной проверки на входе (/, 5) к ответу "да" за
время p(Length[/]). Отсюда следует, что "размер" угадывае-
угадываемой структуры 5 будет обязательно ограничен полиномом от
Length [/], так как на проверку догадки S может быть затра-
затрачено не более чем полиномиальное время. _
Класс NP, определяемый неформально, — это класс всех за^
дач распознавания П, которые при разумном кодировании мо-
могут быть решены недетерминированными (N — nondeterministic)
алгоритмами за полиномиальное (Р — polinomia!) время. При-
Пример, приведенный выше, показывает, что задача КОММИВОЯ-
КОММИВОЯЖЕР принадлежит NP. У читателя не должно возникнуть труд-
трудностей при доказательстве аналогичного утверждения о задаче
ИЗОМОРФИЗМ ПОДГРАФУ.
В подобных неформальных определениях термином "решает"
следует, конечно, пользоваться осторожно. Должно быть ясно,
что основное назначение "полиномиального недетерминирован-
недетерминированного алгоритма " состоит в объяснении понятия "проверяемости
за полиномиальное время", а не в том, чтобы служить реали-
реалистическим методом решения задач распознавания свойств. При
каждом входе такой алгоритм имеет не одно, а несколько воз-
возможных вычислений — по одному для каждой возможной до-
догадки.
Имеется еще одно важное отличие "решения" задачи рас-
распознавания недетерминированным алгоритмом от решения де-
детерминированным алгоритмом, а именно в первом случае отсут-
отсутствует симметрия между ответами "да" и "нет". Если задача:
"Дано /; верно ли, что для / выполняется свойство X?" может
быть решена полиномиальным (детерминированным) алгорит-
алгоритмом, то такое же утверждение справедливо и для дополнитель-
дополнительной задачи; "Дано /, верно ли, что для / не выполняется свой-
свойство ХТ\ Это следует из того, что детерминированный алгоритм
останавливается при всех входах, поэтому достаточно поменять
местами ответы "да" и "нет" (переставить состояния qy и qu
в ДМТ-программе).
Совершенно не очевидно, что то же самое верно для всех
задач, разрешимых за полиномиальное время недетерминиро-
недетерминированными алгоритмами. Рассмотрим, например, дополнение за-
задачи КОММИВОЯЖЕР: дано множество городов, расстояния
между ними и граница В; верно ли, что нет маршрута, проходя-
проходящего через все города и имеющего длину, не превосходящую В?
Для выяснения, имеет ли поставленный вопрос ответ "да", не
известен способ, который был бы короче, чем проверка всех
4в
2. Теория NP-полных задан
(или почти всех) возможных маршрутов. Другими словами, не
известен полиномиальный недетерминированный алгоритм ре-
решения этой дополнительной задачи. Та же самая ситуация имеет
место для многих других задач из NP. Таким образом, принад-
принадлежность задачи П классу Р влечет принадлежность дополни-
дополнительной задачи классу Р, но не известно, имеет ли место ана-
аналогичное утверждение для класса NP.
В заключение настоящего раздела мы формализуем приве-
приведенное определение в терминах языков и машин Тьюринга. Фор-
Формальным эквивалентом недетерминированного алгоритма яв-
Уьадыкющая I Читающая/пишущая
Лента \ гмобка \ галоИкя
-3-2-10 1 2 3 4
Рис. 2.4. Схематическое представление недетерминированной одноленточной
машины Тьюринга (НДМТ).
ляется программа для недетерминированной одноленточной ма-
машины Тьюринга (НДМТ). Для простоты будем пользоваться
несколько нестандартной моделью НДМТ. (Версии более близ-
близкие к стандартным изложены в книгах [9, 215]. Полезным
упражнением для читателя может оказаться проверка полино-
полиномиальной эквивалентности по отношению ко времени работы,
между стандартными моделями и моделью изложенной ниже.)
Модель НДМТ, которой мы будем пользоваться, имеет в точ-
точности такую же структуру, как ДМТ; отличие состоит лишь в
том, что НДМТ дополнена угадывающим модулем со своей го-
головкой, которая может только записывать на ленту (см.
рис. 2.4). Угадывающий модуль дает информацию для записы-
записывания "догадки" и применяется исключительно с этой целью.
Программа для НДМТ, или НДМТ-программа, определяется
точно так же, как ДМТ-программа, при этом используются:
ленточный алфавит Г, входной алфавит 2, пустой символ Ь,
множество состояний Q, начальное состояние qo, заключитель-
заключительные состояния qy и qn, функция перехода б: (Q \ {qr, qu}) X
XT->QX ГХ {— 1. -И}- Вычисление НДМТ-программы при
входе х е Е* в отличие от вычисления ДМТ-программы имеет
две различные стадии.
2.3. Недетерминированное вычисление и класс NP 4?
На первой стадии происходит "угадывание". В начальный
момент времени входное слово х записывается в ячейках с но-
номерами 1, 2 |дс| (остальные ячейки пусты), читающая/пи-
читающая/пишущая головка "смотрит" на ячейку с номером 1, пишущая
головка угадывающего модуля смотрит на ячейку с номером
— 1, а устройство управления "пассивно". Затем угадывающий
модуль начинает управлять угадывающей Головкой, которая де-
делает один шаг в каждый момент времени и либо пишет в нахо-
находящейся под ней ячейке одну из букв алфавита Г и сдвигается
при этом на одну ячейку влево, либо останавливается. В по-
последнем случае угадывающий модуль переходит в пассивное
состояние, а управляющее устройство начинает работу в со-
состоянии <7о- Угадывающий модуль решает, продолжить ли ра-
работу (перейти ли в пассивное состояние, какую букву из Г на-
написать на ленте), причем делает это совершенно произвольно.
Таким образом, угадывающий модуль до момента окончания
своей работы может написать любое слово из Г* и в действи-
действительности может никогда не остановиться.
Стадия проверки начинается в тот момент, когда управляю-
управляющее устройство переходит в состояние </о- Начиная с этого мо-
момента, вычисление НДМТ-программы осуществляется в точно-
точности по тем же правилам, что и ДМТ-программы. Угадывающий
модуль и его головка в вычислении больше не участвуют, вы-
выполнив свою роль, т. е. записав на ленте слово-догадку. Ко-
Конечно, слово-догадка может (и обычно будет) просматриваться
читающей/пишущей головкой в процессе проверки. Вычисление
заканчивается тогда, когда управляющее устройство перейдет
в одно из двух заключительных состояний (qy или qn)\ оно
называется принимающим вычислением, если остановка проис-
происходит в состоянии qv- Все остальные вычисления, заканчиваю-
заканчивающиеся или нет, называются непринимающими.
Отметим, что любая НДМТ-программа М может иметь бес-
бесконечное число возможных вычислений при данном входе х,
по одному для каждого слова-догадки из Г*. Будем говорить,
что НДМТ-программа М принимает х, если по крайней мере
одно из ее вычислений на входе х является принимающим.
Язык, распознаваемый программой М, — это язык
?m = {*s2*: М принимает х).
Время, требующееся недетерминированной программе М для
того, чтобы принять слово xsLm, — это минимальное число
шагов, выполняемых на стадиях угадывания и проверки до мо-
момента достижения заключительного состояния qr, где минимум
берется по всем принимающим вычислениям программы М на
входе х. Временная сложность НДМТ-программы М — это
48 2. Теория NP-полных задач
функция Тм; Z+->Z+, определяемая следующим образом:
(( существует x&LM, \х | = п, } \
{1} М \ пг: такое, что время принятия х ? 1.
у. программой М равно m )s
Заметим, что временная сложность программы М зависит толь-
только от числа шагов, выполняемых в принимающих вычислениях,
а также, что мы полагаем М(п) равным 1, если нет ни одного
входа длины п, принимаемого программой М.
НДМТ-программа называется НДМ1'-программой с полино-
полиномиальным временем работы, если найдется полином р, такой,
что Тм(п)^р(п) для всех п^\. Наконец, класс NP формаль-
формально определяется так:
( существует НДМТ-программа М "}
NP=\L: с полиномиальным временем работы, ?.
I такая, что LM = L )
Нетрудно установить взаимосвязь между этими формаль-
формальными определениями и предшествующими неформальными.
Единственный момент, который следует специально оговорить,
состоит в следующем. Если, как принято считать, недетермини-
недетерминированный алгоритм угадывает структуру 5, зависящую некото-
некоторым образом от условия рассматриваемой задачи, то угады-
угадывающий модуль НДМТ, напротив, полностью игнорирует вход-
входное слово. Хотя любое слово из Г* может быть получено в
результате работы угадывающего модуля, это не существенно,
так как НДМТ-программу всегда можно сконструировать так, что
стадия проверки будет начинаться с проверки того, соответ-
соответствует ли догадка (при той неявной интерпретации, которую
наша программа дает словам) подходящей структуре для за-
заданного входа. В противном случае программа может сразу же
перейти в заключительное состояние qn-
Будем говорить, что задача распознавания принадлежит
классу NP при схеме кодирования е, если L[II,-e]e NP. Как
и в случае класса Р, мы будем просто говорить, что П лежит
в NP, не упоминая конкретную схему кодирования, когда ясно,
что некоторая разумная схема кодирования задачи П даст
язык, принадлежащий NP.
Более того, поскольку любая реалистичная модель вычисли-
вычислительного устройства может быть дополнена аналогом рассмот-
рассмотренного "угадывающего модуля с пишущей головкой", то наши
формальные определения можно было бы перефразировать для
любой другой стандартной модели вычислительного устройства.
В силу того что все такие модели эквивалентны с точностью до
2.4. Взаимоотношения между классами Р и NP 49
детерминированных полиномиальных вычислений, все получае-
получаемые при этом версии класса NP будут идентичны. Таким об-
образом, правомерно сделанное ранее предложение отождествить
формально определенный класс NP с классом всех задач рас-
распознавания, "разрешимых" недетерминированными алгоритма-
алгоритмами с полиномиальным временем работы.
В качестве подготовки к определению третьего, самого важ-
важного для настоящей книги класса — класса NP-полных задач в
следующем разделе мы обсудим взаимоотношения между клас-
классами Р и NP.
2.4. ВЗАИМООТНОШЕНИЯ МЕЖДУ КЛАССАМИ Р И NP
Вопрос о взаимоотношении классов Р и NP имеет фунда-
фундаментальное значение для теории NP-полных задач. Одно соот-
соотношение, которое неявно присутствовало в проводившихся ранее
рассуждениях, но до настоящего момента явно не формулиро-
формулировалось, заключается в том, что Р ? NP. Всякая задача распо-
распознавания, разрешимая за полиномиальное время детерминиро-
детерминированным алгоритмом, разрешима также за полиномиальное вре-
время недетерминированным алгоритмом. Чтобы убедиться в этом,
достаточно заметить, что любой детерминированный алгоритм
может быть использован в качестве стадии проверки недетер-
недетерминированного алгоритма. Если ПеРи А — произвольный де-
детерминированный полиномиальный алгоритм решения П, то по-
полиномиальный недетерминированный алгоритм для П можно
получить, воспользовавшись А в качестве стадии проверки и
игнорируя стадию угадывания. Таким образом, из ПеР сле-
следует, что П е NP.
Из проводившихся ранее рассуждений можно понять, что
есть много причин считать это включением строгим, т. е. счи-
считать, что Р не совпадает с NP. Полиномиальные недетермини-
недетерминированные алгоритмы определенно оказываются более мощными,
чем полиномиальные детерминированные алгоритмы, и не из-
известны общие методы их превращения в детерминированные
полиномиальные алгоритмы. В действительности самый сильный
из известных в настоящее время результатов состоит в сле-
следующем:
Теоремц 2.1. Если П е NP, то существует такой полином р,
что П может быть решена детерминированным алгоритмом с
временндй сложностью ОBр(п)).
Доказательство. Пусть А — полиномиальный недетерминиро-
недетерминированный алгоритм решения задачи П и q(ri) — полином, ограни-
ограничивающий временную сложность алгоритма А. (Не умаляя
50 2. Теория NP-полных задач
общности, можно считать, что q может быть вычислен за поли-
полиномиальное время; этого можно добиться, взяв, например,
q («) = С]/1Сгпри достаточно больших константах Ci и Сг.)
По определению класса NP, для каждого принимаемого
входа длины я найдется некоторое слово-догадка (в алфавите
Г символов ленты) длины не более q(n), такое, что в алгоритме
А стадия проверки дает при рассматриваемом входе ответ "да"
не более чем за q(ri) шагов. Таким образом, общее число дога-
догадок, которые нужно рассмотреть, не превосходит kq{n), где k =
= |Г| (если слово-догадка короче q(n), то его можно допол-
дополнить пустыми символами и рассматривать как слово длины
Теперь можно детерминированным образом выяснить, имеет
ли алгоритм А на заданном входе длины п принимающее вы-
вычисление. Для этого достаточно на каждой из kQ{-n) возможных
догадок запустить детерминированную стадию проверки алго-
алгоритма А и позволить ей работать до того момента, пока она не
остановится или не сделает q(n) шагов. Этот моделирующий
алгоритм даст ответ "да", если ему встретится слово-догадка,
приводящее к принимающему вычислению длины не более q(n),
и ответ "нет" — в противном случае. Такой алгоритм, очевидно,
будет детерминированным алгоритмом решения задачи П. Более
того, его временная сложность, по существу, равна q(n) •?«<">;
хотя это экспонента, но при подходящем выборе полинома р
сложность не превосходит ОBр'">). Ш
Безусловно, процесс моделирования, предложенный в дока-
доказательстве теоремы 2.1, можно в некоторой степени ускорить с
помощью метода ветвей и границ или метода обратного поиска,
или с помощью более тщательного перебора, когда избегаются,
очевидно, ненужные слова-догадки. Тем не менее, несмотря на
значительную экономию, которая может быть при этом достиг-
достигнута, не известен метод, осуществляющий такое моделирование
быстрее, чем за экспоненциальное время.
Таким образом, способность недетерминированного алго-
алгоритма проверить за полиномиальное время экспоненциальное
число возможностей может навести на мысль, что полиномиаль-
полиномиальные недетерминированные алгоритмы являются более мощным
средством, чем полиномиальные детерминированные алгоритмы.
В самом деле, для многих частных задач класса NP, таких, как
КОММИВОЯЖЕР, ИЗОМОРФИЗМ ПОДГРАФУ, и большого
числа других задач не найдено полиномиального детерминиро-
детерминированного алгоритма, несмотря на упорные усилия многих извест*
ных исследователей.
Не удивляет поэтому широко распространенное мнение, что
р ф NP, хотя пока доказательство этой гипотезы отсутствует.
2.5. Полиномиальная сводимость и NP-полные задачи 51
Конечно, скептик может сказать, что неудача в доказательстве
гипотезы Р ф NP является столь же сильным аргументом в
пользу соотношения Р = NP, как и неудача в поиске соответ-
соответствующих полиномиальных алгоритмов — в
пользу противоположного утверждения. За-
Задачи всегда кажутся труднорешаемыми, пока
не найдены эффективные алгоритмы их реше-
решения. Однако даже скептик, вероятно, согла-
согласится, что при существующем в настоящее
время уровне знаний, по-видимому, более ра-
разумно работать при соглашении, что Р Ф NP,
чем пытаться доказать противоположное. Во р 2_ г
всяком случае, на основе накопленного опыта че"кая" "кТртина
мы будем представлять себе класс NP так, класса NP.
как он изображен на рис. 2.5, ожидая (хотя
и не с полной уверенностью), что затененная область, обозна-
обозначающая NP\P, не пуста.
2.5. ПОЛИНОМИАЛЬНАЯ СВОДИМОСТЬ
И NP-ПОЛНЫЕ ЗАДАЧИ
Если Р не совпадает с NP, то различие между Р и NP\P
очень существенно. Все задачи из Р могут быть решены поли-
полиномиальными алгоритмами, а все задачи из NP\P трудноре-
шаемы. Поэтому, если Р ф NP, то для каждой конкретной за-
задачи П е NP важно знать, какая из этих двух возможностей
реализуется.
Конечно, до тех пор пока не доказано, что Р ф NP, нет
никакой надежды показать, что некоторая конкретная задача
принадлежит классу NP\P. По этой причине цель теории
NP-полных задач заключается в доказательстве более слабых
результатов вида: "если Р ф NP, тоПе NP\P". Хотя доказа-
доказательство таких условных результатов может показаться столь
же трудным, как и безусловных, однако, как мы увидим в даль-
дальнейшем, имеются несложные методы доказательства. Такие
условные результаты можно рассматривать как подтверждение
труднорешаемости с той же степенью уверенности, с какой мы
считаем, что класс Р отличается от NP.
Основная идея подобного условного подхода основана на
понятии полиномиальной сводимости. Будем говорить, что имеет
место полиномиальная сводимость языка L\ s 2* к языку
LiS.%, если существует функция f: 2*-> 2j, удовлетворяющая
двум условиям '):
') Часто говорят, что язык Ц полиномиально сводится к языку L2, a
функция f реализует эту сводимость. — Прим. ред.
52 2. Теория NP-полных задач
1. Существует ДМТ-программа, вычисляющая f с временной
сложностью, ограниченной полиномом.
2. Для любого х е 2J, AteL, в том и только в том случае, если
/WeL,
Если L] полиномиально сводится к L2, то будем писать L\ ос L2
и говорить "Li сводится к L2" (опуская слово "полиномиально").
Важность понятия полиномиальная сводимость вытекает из
следующей леммы:
Лемма 2.1. Если L\ocL2, то из L2eP следует, что L\ e Р.
{Эквивалентное утверждение: из Ь\ф. Р следует, что L2 ф Р-)
Доказательство. Пусть Si и Ъ2— алфавиты языков L\ и L2
соответственно, функция f: 2t->?2 осуществляет полиномиаль-
полиномиальную сводимость L\ к L2; Mf — полиномиальная ДМТ-программа,
вычисляющая f, и М2— полиномиальная ДМТ-программа, рас-
распознающая L2. Полиномиальная ДМТ-программа, распознаю-
распознающая L\, может быть получена композицией программы Mf и М2.
Ко входу х е 2? вначале применяется Mf, чтобы построить
/(д:)е2г. Затем к f{x) применяется программа М2, выясняю-
выясняющая, верно ли, что f(x)^L2. Поскольку x^Li тогда и только
тогда, когда f{x)^L2, то это описание дает ДМТ-программу,
распознающую L\. To, что время работы этой программы огра-
ограничено полиномом, немедленно следует из полиномиальности
программ Mf и М. Точнее, если pf и р2 — полиномы, ограничи-
ограничивающие время работы программ Mf и М2 соответственно, то
\f(x) |^Р/(I x I), а время работы только что построенной про-
программы, как не трудно видеть, ограничено функцией
O(Pf(\x\)-\-p2{pf{\x\)), которая является полиномом от |дс|. ¦
Если III и Пг — задачи распознавания, а е\ и е2 — их схемы
кодирования, то будем писать III ос П2 (относительно заданных
схем кодирования), если существует полиномиальная своди-
сводимость языка L[Ui, e\) к L[rb, e2]. Когда будет действовать стан-
стандартное предположение о "разумности" используемых схем ко-
кодирования, упоминание о конкретных схемах кодирования, как
обычно, будет опускаться. Таким образом, на уровне задач
полиномиальная сводимость задачи распознавания III к задаче
распознавания ГЬ означает наличие функции f: Dn,->Dn2, удов-
удовлетворяющей двум условиям:
A) f вычисляется полиномиальным алгоритмом и
B) для всех / е Dn, I e Уп, тогда и только тогда, когда
/()У
Чтобы получить конкретное представление о содержатель-
содержательном смысле этого определения, рассмотрим пример. Пусть Q =>
S.S. Полиномиальная сводимость и NP-полные задачи S3
= (V,E)—граф с множеством вершин V и множеством ребер ?.
Простым циклом в G называется такая последовательность
<ui, t>2, ... Vk> различных вершин из V, что {t»j, u,+1}e?, 1^
</<?, и {vk, t>,}e=?.
Гамильтоновым циклом в G называется простой цикл, содер-
содержащий все вершины графа G. Задача ГАМИЛЬТОНОВ ЦИКЛ
определяется следующим образом:
ГАМИЛЬТОНОВ ЦИКЛ
УСЛОВИЕ. Задан граф G = (V, E).
ВОПРОС. Верно ли, что G содержит гамильтонов цикл?
Читатель, несомненно, заметил определенную связь между
этой задачей и задачей распознавания КОММИВОЯЖЕР. По-
Покажем, что ГАМИЛЬТОНОВ ЦИКЛ (ГЦ) сводится к КОМ-
КОММИВОЯЖЕРУ (КМ). Для этого требуется указать функцию /,
которая отображает каждую индивидуальную задачу из ГЦ в
соответствующую индвидуальную задачу из КМ и удовлетво-
удовлетворяет двум условиям, которые требуются от полиномиальной сво-
сводимости.
Функция f определяется очень просто. Пусть G = (V, Е),
V\="m означает фиксированную индивидуальную задачу из
Ц. Соответствующая задача из КМ строится так: множество
городов С совпадает с V; для любых двух городов vi, «;eC
расстояние d(vt, Vj) между ними полагаем равным 1, если
{»,-, v/} e E, и 2 в противном случае. Граница В для длины
искомого маршрута берется равной т.
Легко показать (на неформальном уровне), что эта функция
f осуществляет сводимость и может быть вычислена за полино-
полиномиальное время. Для вычисления m(m—1)/2 расстояний
d(vi, Vj) необходимо лишь выяснить, принадлежит ли {vi, Vj}
множеству Е или нет. Поэтому первое требование полиномиаль-
ности сводимости выполнено. Для проверки второго требования
необходимо показать, что G содержит гамильтонов цикл тогда
и только тогда, когда в f(G) имеется проходящий через все
города маршрут длины, не превосходящей В. Вначале допустим,
что <«ь v%, .... fm> — гамильтонов цикл в G. Тогда <ui, v2, ...
..., fm> — маршрут в /(G), а его длина равна m (m = B),
так как расстояние между любыми соседними городами марш-
маршрута равно 1, поскольку оно соответствует ребру в G. Наоборот,
предположим, что <wi, v2, .... i>m> — маршрут в f(G), длина
которого не превосходит В. Поскольку расстояние между лю-
любыми двумя городами в f(G) равно либо 1, либо 2 и при вы-
вычислении длины маршрута суммируется ровно m таких расстоя-
расстояний, то из равенства В = m следует, что расстояние между
каждой парой соседних городов в маршруте равно 1. По
54 2. Теория NP-полных задач
определению f(G), отсюда следует, что {vi, t>i+i}, I ^ i < т, и
{vm, V\) являются ребрами графа G и, следовательно, (v\, v%,...
• ••, Vm) — гамильтонов цикл в G.
Таким образом, мы доказали, что ГЦ ос КМ. Хотя это дока-
доказательство гораздо проще многих доказательств, которые будут
рассмотрены в дальнейшем, оно содержит все существенные
элементы доказательства полиномиальной сводимости и на не-
неформальном уровне может служить моделью для построения
таких доказательств.
Значение леммы 2.1 для задач распознавания теперь может
быть проиллюстрировано на примере сводимости ГЦ ос КМ. По
существу, мы пришли к следующему заключению: если задача
КОММИВОЯЖЕР может быть решена полиномиальным алго-
алгоритмом, то этот факт верен и для задачи ГАМИЛЬТОНОВ
ЦИКЛ, а если ГЦ — труднорешаемая задача, то и КМ также
труднорешаемая задача. Таким образом, .лемма 2.1 позволяет
интерпретировать сводимость Ш ос П2 как утверждение, что
задача П2 "не проще" задачи Пь
Отношение "полиномиальной сводимости" особенно удобно,
поскольку оно является транзитивным. Это устанавливает сле-
следующая лемма.
Лемма 2.2. Если L\ ос L2 и L2 ос L3> то L\ ос L3.
Доказательство. Пусть Si, 22 и Е3 — алфавиты языков Lu L2
и L3 соответственно, функция /(: 2*-»-2* реализует полиномиаль-
полиномиальную сводимость L, к L2, a f2: 2*->2* — полиномиальную своди-
сводимость Ьч к L3. Тогда функция /: S'-^-S*, которая для всех хеЕ1
определяется соотношением /(*) — ЫЫ-)> реализует искомую
сводимость языка L\ к языку L$, В самом деле, f^jeis тогда
и только тогда, когда JteLi, а вычислимость f за полиномиаль-
полиномиальное время получается с помощью рассуждений, аналогичных
рассуждениям, использованным при доказательстве лем-
леммы 2.1. ¦
Теперь можно сказать, что языки L\ и L2 (соответственно
задачи распознавания III и ГЬ) полиномиально эквивалентны,
если они сводятся друг к другу, т. е. L\ ос L2 и L2 °c L\ (имеет
место сводимость III ос Ti2 и n2oclli). Лемма 2.2 утверждает,
что это отношение является отношением эквивалентности,
а также, что отношение "ос" определяет частичное упорядочение
возникающих классов эквивалентности языков (задач распо-
распознавания). На самом деле класс Р — это "наименьший" отно-
относительно этого частичного порядка класс эквивалентности и с
вычислительной точки зрения его можно рассматривать как
класс "самых легких" языков (задач распознавания). Класс
NP-полных языков (задач) дает нам другой класс эквивалент-
2.5. Полиномиальная сводимость и NP-полные задачи 55
ности, который характеризуется тем, что он содержит "самые
трудные" языки (задачи распознавания) из NP.
Язык L называется NP-полным, если L e NP и любой дру-
другой язык V е NP сводится к L. Говоря неформально, задача
распознавания П называется NP-полной, если IleNP и любая
другая задача распознавания П' е NP сводится к П. Таким об-
образом лемма 2.1 позволяет отождествить NP-полные задачи с
"самыми трудными задачами из NP". Если хотя бы одна
NP-полная задача может быть решена за полиномиальное
время, то и все задачи из NP также мо-
могут быть решены за полиномиальное вре- NP
мя. Если хотя бы одна задача из NP
труднорешаема, то и все NP-полные за-
задачи труднорешаемы. Следовательно,
любая NP-полная задача П обладает
свойством, которое сформулировано в
начале настоящего раздела: если Р ф
ф NP, то Пе NP\P. Точнее, ПеР
тогда и только тогда, когда Р = NP.
В предположении Р Ф NP МОЖНО Рнс. 2.6. Уточненная кар-
дать более точную картину класса NP, ™на класса NP.
см. рис. 2.6. Заметим, что NP не просто
разделяется на две области: "класс Р" и "класс NP-полных за-
задач". Как мы увидим в гл. 7, если Р отличен от NP, то должны
существовать задачи из NP, неразрешимые за полиномиальное
время и не являющиеся NP-полными.
Мы будем интересоваться в основном NP-полными задачами.
Хотя в начале настоящего раздела говорилось, что имеются
простые методы доказательства NP-полноты задач, требования,
только что описанные нами, как будто свидетельствуют об об-
обратном. Нужно доказать, что любая задача из NP сводится к
некоторому кандидату на NP-полную задачу. Совершенно не-
неясно, как это можно было бы доказать. Априори, не очевидно
даже, что существует хотя бы одна NP-полная задача.
Следующая лемма, которая немедленно следует из опреде-
определений и транзитивности отношения ос, показывает, что вопрос
сильно упростился бы, если бы была известна по крайней мере
одна NP-полная задача.
Лемма 2.3. Если. L\ и L2 принадлежат классу NP, L\ — это
NP-полный язык и L\ ос L2, то L2 также NP-полный язык.
Доказательство. Так как L2eNP, то достаточно показать,
что для всякого U e NP U сводится к L2. Рассмотрим любой
язык U e NP. Так как L\ — это NP-полный язык, то U сво-
сводится к L\. В силу транзитивности отношения ос, из сводимо-
сводимости L\ ос Li следует U ос L2. Ш
56 2. Теория NP-полных задач
На уровне задач распознавания эта лемма указывает про-
простой путь доказательства NP-полноты новой задачи П, если
известна хотя бы одна NP-полная задача. Для того чтобы до-
доказать NP-полноту задачи П, достаточно показать, что
1. Пе=ЫР.
2. Какая-то одна известная NP-полная задача П' сводится к П.
Однако, прежде чем можно будет воспользоваться этим ме-
методом доказательства, необходимо найти некоторую исходную
NP-полную задачу. Такую задачу дает нам фундаментальная
теорема Кука, которую мы сформулируем и докажем в следую-
следующем разделе.
2.6. ТЕОРЕМА КУКА
Честь быть "первой" NP-полной задачей выпала на долю
задачи распознавания из булевской логики, задачи, которую
обычно называют ВЫПОЛНИМОСТЬ (сокращенно ВЫП). Тер-
Термины, использующиеся для ее описания, определяются следую-
следующим образом.
Пусть U = {и\, и2 ит) — множество булевских пере-
переменных. Под набором значений истинности на множестве U бу-
будем понимать функцию t: U-*- {T, F} 1). Если t(u)= T, то будем
говорить, что и принимает значение "истина" относительно t;
если t(u)=F, то будем говорить, что и принимает значение
"ложь". Если и — переменная из ?/, то и и п назовем литера-
литералами из U. Литерал и принимает значение "истина" относитель-
относительно t в том и только в том случае, если переменная и принимает
значение "истина" относительно t; литерал п принимает значе-
значение истина в том и только в том случае, если переменная и при-
принимает значение "ложь".
Дизъюнкцией над U назовем множество литералов над U, на-
например {щ, й3, us}. Она представляет дизъюнкцию этих лите-
литералов и называется выполненной при некотором наборе значений
истинности тогда и только тогда, когда при рассматриваемом
наборе значений истинности хотя бы один из ее членов прини-
принимает значение "истина". В нашем примере дизъюнкция будет
выполнена относительно t, если одновременно не окажется, что
t(u\) = F, t(u3) = T, t{u8) = F. Набор С дизъюнкций2) над U
называется выполнимым в том и только в том случае, если
найдется некоторый набор значений истинности на множестве
U, такой, что одновременно выполнены все дизъюнкции из С.
Такой набор значений истинности называется выполняющим на-
набором значений истинности для С. Задача ВЫПОЛНИМОСТЬ
формулируется следующим образом:
') От слов Truth — истина, False — ложь (англ.). — Прим. перев.
г) Часто вместо «набор дизъюнкций» говорят о конъюнкции этих дизъ-
дизъюнкций. — Прим. ред.
2.6. Теорема Кука 57
ВЫПОЛНИМОСТЬ
УСЛОВИЕ. Заданы множество переменных U и набор С дизъ-
дизъюнкций над U.
ВОПРОС. Существует ли выполняющий набор значений истин-
истинности для С?
Например, пусть U= {щ, и2} и С= {{иь й2}, {mi, иг}}. Это
индивидуальная задача из ВЫП, ответ на которую есть "да".
Выполняющее задание значений истинности определяется так:
t(ui)=>t(u2) = T. С другой стороны, заменив С на С =
— {{«1, «г}, {«ь «г}, {«i}}> получим пример индивидуальной за-
задачи, ответ на которую есть "нет", поскольку С невыполнима.
Теперь можно сформулировать фундаментальную теорему
Кука [91].
Теорема. 2.2 {теорема Кука). Задача ВЫПОЛНИМОСТЬ
есть NP-полная задача.
Доказательство. Легко видеть, что ВЫП лежит в классе NP.
Недетерминированному алгоритму для ее решения достаточно
указать набор значений истинности на исходном множестве пе-
переменных и осуществить проверку того, что этот набор значений
выполняет все дизъюнкции из исходного набора С. Все это
легко сделать (недетерминированным образом) за полиномиаль-
полиномиальное время. Таким образом, первое требование, которому должны
удовлетворять NP-полные задачи, выполнено.
Для того чтобы проверить выполнение второго требования,
вернемся к уровню языков, т. е. к представлению ВЫП языком
?вып = L [ВЫП, е] для некоторой разумной схемы кодирова-
кодирования е. Необходимо показать, что для всех языков L e NP имеет
место соотношение L ос ?вып- Разные языки из NP могут сильно
отличаться; число этих языков бесконечно, поэтому невозможно
указать отдельное сведение для каждого из них. Однако каждый
язык из NP может быть представлен в стандартном виде, а
именно НДМТ-программой, работающей полиномиальное время
и распознающей этот язык.
Такое представление позволяет иметь дело с общей НДМТ-
программой, время работы которой полиномиально, и получить
общую сводимость языка, распознаваемого этой программой, к
?вып- Если эту общую сводимость специализировать для кон-
конкретной НДМТ-программы М, распознающей Lm, to получится
искомое полиномиальное сведение L» к 1вып- Таким образом,
по существу, для всех L e NP будет представлено общее дока-
доказательство того, что L ос LBbin.
Вначале рассмотрим произвольную НДМТ-программу М
с полиномиальным временем работы, которая имеет компоненты
Г, 2, b, Q, go, Чу> Ян, б и распознает язык L = Lm- Кроме того.
58 2. Теория NP-полных задач
пусть р(п)— полином с целыми коэффициентами, ограничиваю-
ограничивающий сверху временную сложность Тм(п). (Не умаляя общно-
общности, можно считать, что р(п)~^ п для всех neZ+.) Функция
ft, реализующая общую сводимость, будет описана в терминах
М, Г, 2, Ь, Q, q0, qY, qN, б и р.
Удобно рассматривать fi как отображение из множества
слов в алфавите 2 в индивидуальные задачи из ВЫП, а не в
слова в алфавите Е, которые кодируют задачи из ВЫП, так
как детали, связанные с кодированием, могут быть легко вос-
восполнены. Таким образом, функция ft будет обладать тем свой-
свойством, что для всех JtsS' принадлежность х е L имеет место
в том и только в том случае, если для набора дизъюнкций Jl(x)
имеется выполняющий набор значений истинности. Ключом к
построению функции /z. является использование некоторого на-
набора дизъюнкций для записи утверждения, что х принимается
НДМТ-программой М, т. е. утверждение ле1.
Если входное слово xeS' принимается программой М, то
для х существует принимающее вычисление программы М, та-
такое, что число шагов на стадии проверки и число символов в
слове-догадке ограничены величиной р(п), где га = |дс|. В таком
вычислении будут участвовать лишь ячейки с номерами от
—р(п) до р{п)-\-\. Это следует из того, что читающая/пишу-
читающая/пишущая головка начинает работу в ячейке с номером 1 и на каж-
каждом шаге сдвигается не более чем на 1 ячейку. Проверяющее
вычисление полностью определяется заданием в каждый мо-
момент времени содержания ячеек с указанными номерами, вну-
внутреннего состояния и положения читающей/пишущей головки.
Далее, поскольку в проверяющем вычислении имеется не более
р(п) шагов, то необходимо учесть не более р{п)-\- 1 моментов
времени. Это позволяет полностью описать такое вычисление,
используя полиномиально ограниченное число булевских пере-
переменных и некоторый набор значений истинности на их мно-
множестве.
Множество переменных U, участвующих в описании функции
/t, предназначено именно для указанных целей. Перенумеруем
элементы множеств Q и Г следующим образом: Q: q0, q\ = qr,
q2 = qN, <?з. ..-i Яг, гДе r = \Q\\ Г: so = b, su s2, ..., sv, где
о=|Г| — 1. В дальнейших рассуждениях будут участвовать
три типа переменных, каждому из которых придается опреде-
определенный смысл согласно рис. 2.7. При этом фраза "в момент
времени /" служит сокращением точного выражения "после вы-
выполнения i-ro шага проверяющего вычисления".
Вычисление программы М очевидным образом индуцирует
на множестве этих переменных набор значений истинности, если
принять соглашение, что при окончании вычисления раньше мо-
момента времени р(п) конфигурация остается неизменной во все
2.6. Теорема Кука 59
моменты времени после остановки, т. е. сохраняются заключи-
заключительное состояние, положение головки и запись на ленте. В ну-
нулевой момент времени запись на ленте состоит из входного
слова х, расположенного в ячейках с номерами от 1 до л, и
слова-догадки ад в ячейках с номерами от —1 до |ад|, при этом
все остальные ячейки пусты.
С другой стороны, произвольный набор Значений истинности
этих переменных не обязательно соответствует какому-то вы-
вычислению, а тем более принимающему. При произвольном на-
наборе значений истинности переменных в некоторой ячейке могли
Переменная "Р^дексГ^" Придаваемый смысл
Q[i, k] 0<i<p(n) В момент времени / программа М
О < k <Г г находится в состоянии qk
Н [(, /] 0 < i < р (п) В момент времени i читающая/пишу-
— Р (") <!I;^а Р (я) + 1 щая головка просматривает ячейку
с номером /
S [/, I, k] 0 < i < р (п) В момент времени i в /-Й ячейке
— р (п) < / < р (п) + 1 записан символ s*
Рис. 2.7. Переменные набора дизъюнкций fL (x) и придаваемый им смысл
бы быть одновременно записаны несколько различных симво-
символов, машина могла бы находиться одновременно в нескольких
различных состояниях, а читающая/пишущая головка могла бы
одновременно просматривать любое подмножество ячеек с но-
номерами от —р(п) до р(п)-\- 1. Описание функции fL осущест-
осуществляется посредством построения такого набора дизъюнкций, со-
содержащего перечисленные переменные, что набор значений
истинности будет выполняющим тогда и только тогда, когда
этот набор значений истинности индуцируется некоторым при-
принимающим вычислением на входе х, причем стадия проверки
этого вычисления выполняется не более чем за р{п) шагов и
слово-догадка имеет длину не более р{п). Таким образом мы
получим импликации:
на входе х существует принимающее вычисление про-
программы М
на входе х существует принимающее вычисление про-
программы М, число шагов которого не превосходит
р(п), а слово-догадка w имеет длину, равную р(п)
существует выполняющее задание значений истинно-
истинности для набора дизъюнкций задачи /*.(*).
60 2. Теория HP-полных аадач
Это будет означать, что для /t выполнено одно из двух усло-
условий, требующихся в определении полиномиальной сводимоста
Другое условие, заключающееся в том, что \l должна быть
вычислима за полиномиальное время, можно будет легко про-
проверить после того, как описание ft будет закончено.
Дизъюнкции индивидуальной задачи \l{x) можно подразде-
подразделить на 6 групп, каждая из которых будет налагать ограничение
определенного типа на любой выполняющий набор значений
истинности. Эти группы показаны на рис. 2.8.
дизъюнкций Налагаемое ограничение
О, В любой -момент времени I программа М находится ровно
в одном состоянии.
ба В любой момент времени i читающая/пишущая головка прос-
просматривает ровно одну ячейку.
О, В любой момент времени i каждая ячейка содержит ровно
один символ из Г.
С4 В момент времени 0 вычисление находится в исходной кон-
конфигурации стадии проверки при входе х.
О, Не позднее чем через р (я) шагов М переходит в состояние
qv и, следовательно, принимает х.
G4 Для любого момента времени /, 0 < i < р (л), конфигурация
программы М а момент времени i + 1 получается из конфи-
конфигурации в момент времени / одноразовым применением функ-
функции перехода б.
Рис. 2.8. Группы дизъюнкций для fL (x) и ограничения, накладываемые ими
на выполняющий набор истинностных значений.
Легко видеть, что если все 6 групп дизъюнкций действи-
действительно осуществляют поставленные перед ними цели, то выпол-
выполняющий набор значений истинности обязан соответствовать нуж-
нужному принимающему вычислению на входе х. Единственное, что
остается, — это указать способ построения групп дизъюнкций,
осуществляющих эти цели.
Группа G\ состоит из следующих дизъюнкций:
0], Q[l, 1] Q[t, r]},
{Q [i, Л. Q V, Л}. 0 < / < р (л), 0 < / < /' < г.
Первые р(п)-\-1 из этих дизъюнкций могут быть выполнены
одновременно в том и только в том случае, если в каждый мо-
момент времени i программа М находится по крайней мере в од-
одном состоянии. Остальные (р(п)+1) (r-f 1) (г/2) дизъюнкций
могут быть выполнены одновременно в том и только в том слу-
случае, если ни а один момент времени i программа М не нахо-
2.6. Теорема Кука 61
дится более чем в одном состоянии. Таким образом, Gi выпол-
выполняет свое назначение.
Группы Gi и <3з строятся аналогично, а группы G4 и G$ очень
просты, каждая из них включает дизъюнкции, состоящие только
из одного литерала. На рис. 2.9 дано полное описание первых
пяти групп дизъюнкций. Отметим, что как число дизъюнкций в
этих группах, так и максимальное число литералов, входящих
в каждую дизъюнкцию, ограничены некоторым полиномом от п
(так как г и v — константы, которые определяются по М и, зна-
значит, по языку L).
Группа
дизъюнк- Дизъюнкции, входящие в группу
ций
G, [Q \i, 0), Q [/, 1] QU,r]l 0</<p(n),
{QU. П, ОпП7]), 0</<р(я), 0</</'<г,
О, Щ[1, - Р (я)]. Я [/, - р (л) + I] Н [I, р (л) + 1]}, 0 < I < р (л);
[И [I, j], H [I, Щ 0</<р(«), - р (п) </</'<р (я)+ 1
Се {S [I. У. 0]. S [/, /, 1] S [/, /, о]}, 0 < < < р (л),
{S[W, *].
0<fe < fe'<o,
О, {Q [0, 0]>, {Я [0, 1]}, {S [0, 0, 0]},
{S [0, 1, *,]}, {S [0, 2, kt]}, ...,{S [0, я, *„П,
[S[0, n+\, 0]), {S[0, n + 2,0]} {S[0,p(n) + l, 0]},
где *-*4|«^ ••¦ «*„.
О. {Q [р («),!]}•
Рис. 2.0. Первые 5 групп дизъюнкций для fL (x).
Несколько сложнее выглядит описание последней группы
дизъюнкций — Ge, которая гарантирует, что каждая следующая
конфигурация машины получается из предыдущей в результате
применения одной команды программы М. Эта группа состоит
из двух подгрупп дизъюнкций.
Первая подгруппа гарантирует, что если читающая/пишущая
головка в момент времени i не просматривает ячейку с номером
/, то символ в ячейке с номером / от момента времени i к мо-
моменту времени i + 1 не изменится. Дизъюнкции этой подгруппы
имеют вид
{$[1, I, I], Н[1, /], 5[/+ 1, /, /]}, 0</</>(«),
62 2. Теория NP-полных задач
Зафиксируем произвольно момент времени i, ячейку с номе-
номером / и символ si. Если в момент времени i читающая/пишущая
головка не просматривает ячейку с номером /ив этой ячейке
в момент времени i записан символ /, а в момент времени i -f-1
его там уже нет, то указанная выше дизъюнкция не будет вы-
выполнена (в противном случае она будет выполнена). Таким об-
образом, 2(p(n)+lJ(f + 1) дизъюнкций этой группы выполняют
свое назначение.
Вторая подгруппа дизъюнкций из группы G6 гарантирует, что
перестройка одной машинной конфигурации в следующую про-
происходит согласно функции перехода б программы М. Для каж-
каждой четверки
(/, /, k, Z),
эта подгруппа содержит следующие три дизъюнкции:
, опГЩ, s[i, /, /], я[/+1, у + д]}
{ЩП\, 0[Щ, s[i, и i], Q[t+i, kr]},
(щи], шт, s[t, j, i], sv+i, j, n>.
где значения A, k' и /' определены так:
если qkz=Q\{qY, qN), то 6(qk, s,)= (qk,, s,lt A),
а если qk e {qY, qN}, то A = 0, k' = k и I' = 1.
Нетрудно понять (хотя для этого может потребоваться не-
несколько минут раздумий), что эти 6(р(л)) (p(n)-j-l) (r-fl) (u+1)
дизъюнкций дают необходимое ограничение на выполняющий
набор значений истинности.
Таким образом, мы показали, как построить группы дизъ-
дизъюнкций Gi—G6, которые выполняют свое назначение. Если
xeL, то у программы М на входе х есть принимающее вычис-
вычисление длины не более р{п), и это вычисление дает при заданной
интерпретации переменных набор значений истинности, который
выполнит все дизъюнкции из С = G\ U G% (J G3 G4 U G 5 U G6. На-
Наоборот, набор дизъюнкций С построен так, что любой выпол-
выполняющий набор значений истинности для С обязан соответство-
соответствовать некоторому принимающему вычислению программы М на
входе х. Отсюда следует, что для fi.(x) имеется выполняющий
набор значений истинности тогда и только тогда, когда x^L.
Теперь осталось показать, что для любого фиксированного
языка L индивидуальная задача Jl(x) может быть построена за
время, ограниченное полиномом от я = |*|. Если язык L задан,
то можно выбрать некоторую НДМТ-программу М, которая рас-
2.6. Теорема Кука 63
познает L за время, ограниченное полиномом р (нет необходи-
необходимости за полиномиальное время находить саму недетерминиро-
недетерминированную программу, так как необходимо лишь показать, что ото-
отображение //. существует). Если имеются определенная НДМТ-
программа М и многочлен р, то построение множества перемен-
переменных U и набора дизъюнкций С требует чуть больше работы, чем
заполнение всех позиций в стандартной (хот'я и довольно слож-
сложной) формуле. Полиномиальная ограниченность этого вычисле-
вычисления будет ясна, если мы покажем, что Length [ft(x)] ограничена
сверху полиномом от п, где Length [/], как указано в разд. 2.1,
характеризует длину слова, кодирующего индивидуальную за-
задачу /, при некоторой разумной схеме кодирования.
В качестве «разумной» функции длины для задачи ВЫП
можно, например, взять |?/ЫС|. Ни одна из дизъюнкций не
может содержать более 2-|?/| литералов (т. к. общее число
литералов равно 2-|(/|), а число символов, необходимое для
описания каждого индивидуального литерала, не более log|?/|,
но этой величиной можно пренебречь, так как она дает полино-
полиномиальный вклад в общую длину задачи. Поскольку г и v фикси-
фиксированы заранее, то они могут увеличить \U\ и \С\ в постоян-
постоянное число раз, поэтому имеем \11\=0{р(пJ) и \С\ =О(р(п)J.
Следовательно, Length [ft (дс) ] = \U\ • \С\ = О(р(п)*) и, значит,
ограничена полиномом от п, что и требовалось.
Таким образом, преобразование ft может быть вычислено
алгоритмом, имеющим полиномиальную временную сложность
(однако конкретная полиномиальная граница для сложности
будет зависеть от L, а также от выбора М и р), из чего можно
заключить, что для всех L e NP функция fL вычислима за поли-
полиномиальное время и отображает L в ВЫП (точнее, отображает
L в ?вып)- Отсюда вытекает утверждение теоремы, что ВЫП
есть NP-полная задача. Ш
3. Доказательство результатов
об NP-полноте
Если бы все доказательства NP-полноты были так же слож-
сложны, как доказательство NP-полноты задачи ВЫПОЛНИМОСТЬ,
то очень сомнительно, что список NP-полных задач смог бы
стать столь обширным, как в настоящее время. Однако, как
указывалось в разд. 2.4, если уже известна одна NP-полная
задача, то процедура доказательства NP-полноты других задач
значительно упрощается. Для доказательства NP-полноты за-
задачи П е NP достаточно показать, что какая-нибудь из извест-
известных NP-полных задач П' может быть сведена к П. Таким обра-
образом, в дальнейшем процесс доказательства NP-полноты задачи
распознавания П будет состоять из следующих четырех шагов:
A) доказательства того, что П лежит в NP;
B) выбора известной NP-полной задачи IT;
C) построения функции /, сводящей задачу П' к задаче П, и
D) доказательства того, что функция / осуществляет полино-
полиномиальное сведение.
Цель настоящей главы состоит не только в том, чтобы озна-
ознакомить читателей с конечными результатами этого процесса
(с окончательными доказательствами NP-полноты), но также и
в том, чтобы подготовить их к самостоятельному поиску таких
доказательств.
В разд. 3.1 приводятся 6 задач, которыми чаще других поль-
пользуются при доказательстве результатов об NP-полноте в каче-
качестве "известных NP-полных задач", и доказывается NP-полнота
этих шести задач. В разд. 3.2 приводится описание трех общих
подходов к установлению сводимости задач и дается их иллю-
иллюстрация посредством доказательства NP-полноты большого чис-
числа различных задач. Заключительный раздел содержит не-
несколько результатов об NP-полноте, которые предлагается до-
казатб читателю.
3.1. ШЕСТЬ ОСНОВНЫХ NP-ПОЛНЫХ ЗАДАЧ
Когда опытным практикам встречается задача П, NP-пол-
ноту которой требуется доказать, их преимущество заключается
в том, что они имеют богатый выбор путей такого доказатель-
доказательства. Вполне может случиться, что в прошлом они уже дока-
доказывали или видели доказательство NP-полноты похожей зада-
3.1. Шесть основных UP-полных задач 65
чи П'. Это может привести к мысли попытаться построить до-
доказательство NP-полноты задачи П, копируя доказательство
NP-полноты задачи П', или просто сводя задачу П' к задаче П.
Во многих случаях это может привести к достаточно простому
доказательству NP-полноты задачи П.
Однако очень часто не удается найти, NP-полную задачу,
похожую на П (даже располагая обширным списком задач, по-
подобным тому, который приведен в конце книги). В таких слу-
случаях практику может быть не ясно, какая из сотен известных
NP-полных задач лучше всего подходит в качестве основы иско-
искомого доказательства. Однако предыдущий опыт может оказаться
полезным для ограничения области выбора некоторым "ядром"
из базовых задач, использовавшихся ранее. Хотя теоретически
любую из известных NP-полных задач можно наравне с дру-
другими выбрать для доказательства NP-полноты новой задачи, на
практике оказывается, что некоторые задачи подходят для этой
цели гораздо лучше других. Следующие шесть задач входят в
число тех, которые используются наиболее часто и для начи-
начинающего они могут служить "основным ядром" списка извест-
известных NP-полных задач.
3-ВЫПОЛНИМОСТЬ C-ВЫП)
УСЛОВИЕ. Дан набор С = {си с2, ..., ст} дизъюнкций на ко-
конечном множестве переменных U, таких, что |с*| = 3, 1 ^ i ^ т.
ВОПРОС. Существует ли на U набор значений истинности, при
котором выполняются все дизъюнкции из С?
ТРЕХМЕРНОЕ СОЧЕТАНИЕ C-С)
УСЛОВИЕ. Дано множество М <= WX XX У, где W, X и У —
непересекающиеся множества, содержащие одинаковое число
элементов д.
ВОПРОС. Верно ли, что М содержит трехмерное сочетание,
т. е. подмножество М' = М, такое, что |М'|=<7 и никакие два
разных элемента М' не имеют ни одной равной координаты?
ВЕРШИННОЕ ПОКРЫТИЕ (ВП)
УСЛОВИЕ. Дан граф G=(V,E) и положительное целое число
KK\V\
^\\
ВОПРОС. Имеется ли в графе G вершинное покрытие не более
чем из К элементов, т. е. такое подмножество V's V, что
|У|^/С и для каждого ребра {и, v) e E хотя бы одна из вер-
вершин и или v принадлежит V"?
КЛИКА
УСЛОВИЕ. Дан граф G =(V,E) и положительное целое число
J\V\
66 3. Доказательство результатов об HP-полноте
ВОПРОС. Верно ли, что G содержит некоторую клику мощно-
мощности не менее ), т. е. такое подмножество V ? V, что | V | ^ / и
любые две вершины из V соединены ребром из ??
ГАМИЛЬТОНОВ ЦИКЛ (ГЦ)
УСЛОВИЕ. Дан граф G=(V,E).
ВОПРОС. Верно ли, что G содержит гамильтонов цикл, т. е.
такую последовательность <ui, Vz, .... vny вершин графа G, что
п = | V\, {vn, uje E и {vi, Vi+i}^E для всех i, I ^ i: <: п.
РАЗБИЕНИЕ
УСЛОВИЕ. Заданы конечное множество А и "вес" s(a)eZ+
для каждого aei
ВОПРОС. Существует ли подмножество A's А, такое, что
у s(a)= У s(a)?
а<=А' аеА\А'
Одна из причин популярности этих шести задач заключается
в том, что все они содержались в исходном списке из 21
NP-полной задачи, приведен-
ВЫПОЛНИМОСТЬ ном в работе Карпа [280].Мы
начнем демонстрацию методов
доказательства NP-полноты с
. s. доказательства NP-полноты
у' >^ этих шести задач, указывая в
3-е ВП подходящих случаях такие их
| у \ варианты, NP-полнота кото-
т / Ч рых более или менее непосред-
РАЗБИЕНИЕ ГЦ КЛИКА ственно следует из NP-полно-
NP-полноты этих шести задач.
Рис. 3.1. Диаграмма последователь- Прпяяя гпплимпотк fivrrPT
ности сведения задач, используемых Первая СВОДИМОСТЬ Оудет
для доказательства NP-полноты шести получена С ПОМОЩЬЮ задачи
основных задач. ВЫПОЛНИМОСТЬ, посколь-
поскольку пока это единственная за-
задача, NP-полноту которой мы установили. Однако по мере дока-
доказательства NP-полноты этих шести задач список NP-полных за-
задач будет расширяться и доказательство NP-полноты некото-
некоторой задачи может быть получено с использованием любой из
задач, NP-полнота которой установлена раньше, чем для зада-
задачи П. На рис. 3.1 указана последовательность сведения задач,
которая применяется в доказательстве NP-полноты шести основ-
основных задач, причем если стрелка ведет от одной задачи к другой,
то первая сводится ко второй. Эта последовательность не сов-
совпадает с последовательностью, выбранной Карпом, но даже в
Н
I
3.1. Шесть основных ЫР-полных задач 67
тех случаях, когда они совпадают, мы иногда изменяем или
модифицируем доказательство Карпа, чтобы лучше проиллю-
проиллюстрировать общие приемы сводимости.
3.1.1. 3-выполнимость
Задача 3-ВЫПОЛНИМОСТЬ есть просто ограниченный ва-
вариант задачи ВЫПОЛНИМОСТЬ, в котором каждая индивиду-
индивидуальная задача имеет ровно три литерала в каждой дизъюнкции.
Из-за своей простой структуры эта задача наиболее часто при-
применяется для доказательства результатов об NP-полноте.
Теорема 3.1. Задача 3-ВЫПОЛНИМОСТЬ является NP-под-
ной.
Доказательство. Нетрудно видеть, что 3-ВЫП е NP. Это
следует из того, что недетерминированному алгоритму необхо-
необходимо угадать лишь набор значений истинности переменных за-
задачи и проверить за полиномиальное время, будут ли при таком
наборе значений истинности выполняться все заданные трехли-
теральные дизъюнкции.
Сведем задачу ВЫП к задаче 3-ВЫП. Пусть V = {щ, «2, ...
.... ип) — множество переменных и С= {а, с2, .... ст} — про-
произвольный набор дизъюнкций, определяющий произвольную ин-
индивидуальную задачу из ВЫП. Построим набор С грехлите-
ральных дизъюнкций на некотором множестве переменных U',
такой, что С* выполним тогда и только тогда, когда выпол-
выполним С.
Набор С будет строиться путем замены каждой отдельной
дизъюнкции ct^C "эквивалентным" набором С] трехлитераль-
ных дизъюнкций на множестве U исходных переменных и мно-
множестве и'/ некоторых дополнительных переменных, причем пе-
переменные из U'i будут использоваться только в дизъюнкциях из
С/. Другими словами,
Таким образом, нужно только показать, как исходя из с/ можно
построить С/ и ?//.
Пусть С/ задается множеством {г\, z2, .... г*}, где г< — ли-
литералы на множестве U. Способ образования С\ и Uj зависит
от значения k.
68 3. Доказательство результатов об NP-полноте
Случай 1. k=\. Тогда U't = {y), у]
С; = {{2„ Ухг У1Ь {*,.
Случай 2. k = 2. Тогда ?/; = {#'},
= {{2„ Ухг У1Ь {*,. У)г 8Ъ> Bр У г У')' (*!' У1,' *?
3. /? = 3. Тогда ?/; = 0, C/'^ftc,}}.
4. А > 3. Тогда U] = {^': 1 < / < k — 3},
С, = {{Zp 22> у]}} U {{?', 21+2, <,<+'} : 1 < / < * - 4} U
Для доказательства того, что здесь в самом деле имеет ме-
место сводимость, необходимо показать, что набор дизъюнкций
С* выполним тогда и только тогда, когда выполним набор
дизъюнкций С. Предположим вначале, что t: U -*¦ {Т, F} есть
набор значений истинности, выполняющий С. Покажем, что t
может быть продолжен до набора значений истинности t'\ U'-*•
-> {7\ F), который выполняет С. Поскольку переменные в мно-
множестве 0' \ U делятся на группы Uj и так как переменные в
каждой группе U\ входят только в дизъюнкции, принадлежащие
С/, то достаточно показать, как t может быть продолжен на
каждое множество U'i отдельно, и в каждом случае нужно про-
проверить, что выполняются все дизъюнкции в соответствующем
множестве Cj.
Это можно сделать следующим образом. Если U't построены,
как в случае 1 или 2, то дизъюнкции из С] уже выполнены
с помощью /, поэтому / может быть продолжен на U'j произ-
произвольно, например, если положить t'(y) = T для ecexyei//.
Если U'j построено, как в случае 3, то V] — пусто и единствен-
единственная дизъюнкция в С/ уже выполнена с помощью t. Остается
только случай 4, который соответствует дизъюнкции {zu z2, ...
.... 2ft} из С, причем k > 3. Поскольку t — выполняющий набор
значений истинности для С, то найдется такое целое I, что zt
при / принимает значение истина. Если /=1 или 2, то пола-
полагаем f (#}) = F> 1 ^ t <l & — 3. Если I = k— 1 или k, то пола-
полагаем <'(#') = /г, 1^/^/г — 3. В противном случае полагаем
f(jt*) = T при 1<1</-2и/'(!/{) = ^ при /—1</<А —3.
Легко проверить, что такой набор значений истинности обе-
обеспечит выполнение всех дизъюнкций в С/, поэтому /' выпол-
выполняет все дизъюнкции из С. Обратно, если /' — некоторый
выполняющий набор значений истинности для С, то легко
проверить, что ограничение /' на переменные из U должно быть
выполняющим набором значений истинности для С. Таким
образом, С выполним тогда и только тогда, когда выполним С.
3./. Шесть основных NP-полных задач 69
Для того чтобы убедиться, что эта сводимость полиномиаль-
полиномиальная, достаточно заметить, что число трехлитеральных дизъюнк-
дизъюнкций в С ограничено полиномом от гпп. Следовательно, размер
индивидуальной задачи 3-ВЫП ограничен сверху некоторым по-
полиномом от размера соответствующей задачи ВЫП, а так как
все детали построения сводимости очевидны, то читателю будет
нетрудно проверить, что эта сводимость -является полиномиаль-
полиномиальной. ¦
Ограниченная структура задачи 3-ВЫП делает ее гораздо
более полезной при доказательстве результатов об NP-полноте
по сравнению с задачей ВЫП. Любое доказательство, основан-
основанное на задаче ВЫП (кроме только что приведенного), может
быть легко перестроено в доказательство, основанное на 3-ВЫП,
даже без изменения функции, осуществляющей сводимость. На
самом деле дополнительное условие о том, что все дизъюнкции
имеют одинаковую длину, часто может упростить сводимость,
которую нужно построить, и тем самым облегчить ее отыска-
отыскание. Более того, очень малая длина дизъюнкций позволяет ис-
использовать сводимости, которые вообще не могли бы быть по-
построены для индивидуальных задач с дизъюнкциями большей
длины. Это наводит на мысль, что было бы еще лучше, если бы
удалось показать, что аналогичная задача 2-ВЫПОЛНИМОСТЬ
(каждая дизъюнкция содержит ровно два литерала) является
NP-полной. Однако 2-ВЫП может быть решена методом "резо-
"резолюций" за время, ограниченное полиномом от произведения
числа дизъюнкций и числа переменных заданной индивидуаль-
индивидуальной задачи [91] (см. также [114]), и, следовательно, принад-
принадлежит классу Р.
3.1.2. Трехмерное сочетание
Задача ТРЕХМЕРНОЕ СОЧЕТАНИЕ C-С) обобщает сле-
следующую известную задачу о "бракосочетании": имеется п хо-
холостых мужчин и п незамужних женщин, а также список всех
пар мужчин и женщин, согласных вступить в брак друг с дру-
другом; можно ли осуществить п бракосочетаний так, чтобы ка-
каждый получил бы приемлемого супруга (или супругу), причем
никто не должен вступать в брак дважды? Аналогичным обра-
образом в задаче ТРЕХМЕРНОЕ СОЧЕТАНИЕ множества W, X
и У соответствуют трем различным "полам", а каждая тройка
кз М отвечает "трехмерному сочетанию", приемлемому для всех
трех участников. Приверженцы традиций будут довольны, узнав,
что, в то время как задача 3-С является NP-полной, обычная
задача о бракосочетании может быть решена за полиномиаль-
полиномиальное время (см., например, [212]).
70 3 Доказательство результатов об НР-полноте
Теорема 3.2. Задача ТРЕХМЕРНОЕ СОЧЕТАНИЕ является
ЫР-полной.
Доказательство. Легко видеть, что 3-С е= NP. Это следует из
того, что недетерминированному алгоритму нужно только уга-
угадать подмножество в М, состоящее из ^=|W| = |^| = |y|
троек, и за полиномиальное время проверить, что любые две из
угаданных троек отличаются по всем координатам.
Сведем задачу 3-ВЫП к задаче 3-С. Пусть U = {ии и2, ...
.... ип} — множество переменных и С = {с\, Сг ст} — мно-
множество дизъюнкций произвольной индивидуальной задачи из
3-ВЫП. Нужно построить непересекающиеся множества W, X,
У и М = W X * X У, такие, что | №| = |Х| = | Y\ и М содержит
паросочетание в том и только в том случае, когда С выпол-
выполнима.
Искомое множество упорядоченных троек М будет разбито
на три различных класса в соответствии с их функциональным
назначением: "набор значений истинности" и "развертка", "про-
"проверка выполнения" и "достройка".
Тройки, входящие в класс "набор значений истинности и
развертка", разбиваются на группы (компоненты), каждая из
которых соответствует одной переменной ue(/, а ее строение
зависит от общего числа т дизъюнкций в С. Строение этой
компоненты для случая т = 4 показано на рис. 3.2. В общем
случае каждая такая компонента, соответствующая переменной
щ, включает "внутренние" элементы а<[/1 еА и bi[j] е= У, 1 ^
sg: / ^ т, которые не будут входить ни в какую тройку вне этой
компоненты, и "внешние" элементы m[j], ui[j] e= W, \ ^ j ^ m,
которые будут входить в другие тройки. Образующие эту ком-
компоненту гройки могут быть подразделены на два множества:
Т\ = {(",[/]. *, Ш. МЛ): 1 </<«};
Ц = {(«, [Л. at И + 1], bt [/]): 1 < / < tn) U
Так как внутренние элементы {at {/], bi [j]; 1 ^ / ^ /п} мо-
могут входить только в тройки, принадлежащие множеству
Тi = Ti U Т{, то легко видеть, что любое трехмерное сочетание М'
должно иметь ровно m троек из Ti, а именно либо все гройки
из Tft> либо все тройки из Т\. Следовательно, можно считать,
что компонента из Г/ приводит к тому, что трехмерное сочетание
индуцирует присвоение переменной щ значения "истина" или
"ложь". Таким образом, трехмерное сочетание M'sAf опреде-
определяет набор значений истинности на множестве U, при этом пе-
переменная щ принимает значение "истина" тогда и только тогда,
когда M l
3.1 Шесть основных NP-полных задач
71
Каждая компонента множества М, предназначенная для про-
проверки выполнимости, соответствует одной дизъюнкции с/ е С.
Такая компонента содержит только два «внутренних» элемента
si [/]еХи«2[/]еУ, а также "внешние" элементы из множества
{"<[/]. ui[j]: 1 ^ i ^ п), выбирг
)аемые в зависимости от того, ка-
«[41
«И
«[3]
Рис 8.2. Компонента Т{, задающая значения истинности при m = 4 (нижние
индексы у переменных для простоты опущены). Должно быть выбрано либо
множество Т\ (заштрихованное множество), либо множество Т\ (иезаштрихо-
ванное множество), при этом остаются НЕПОКРЫТЫМИ (т. е. не объеди-
объединенными в тройки) либо все и/ [/], либо все й( [/] соответственно.
кие литералы содержатся в дизъюнкции с\. Множество троек,
образующих эту компоненту, определяются следующим об*
разом:
С/ = {(иЛ/]» в,У]. s2[i]): ще
Итак, любое трехмерное сочетание ЛГ s M должно содержать
ровно одну тройку из С/. Но это условие может быть выпол*
нено только в том случае, если для некоторого литерала щ е с,
(или пи е С/) элемент щ [/] (соответственно щ [/]) не войдет ни
в одну из троек множества TtflM', а это будет иметь место
тогда и только тогда, когда набор значений истинности, опре-
определяемый множеством М', выполняет дизъюнкцию с\.
Построение нужной индивидуальной задачи из 3-С будет за-
закончено после описания одной большой компоненты "достройки"
72 3. Доказательство результатов об ЫР-полноте
G. Эта компонента включает внешние элементы gi[k]^X,
?г[А]е У, 1 ^ k ^ m (п— 1), а также внешние элементы вида
ui[j] (или п«[/] из множества W. Компонента G состоит из
следующего множества троек:
О = {(«,[/], gi[k], ft[*l).(«iW. gl[k], g2[k]):
1<Л</п(л—1), l<t<ra, Ki<4
Таким образом, каждая пара g\[k\, g2[k] должна войти в
трехмерное сочетание только с одним из элементов ui[j] или
ui[j], не попавших в тройки из M'\G. Имеется ровно ш(п—1)
таких "непокрытых" внешних элементов, и структура компонен-
компоненты G обеспечивает, что они всегда могут быть покрыты с по-
помощью выбора соответствующего подмножества M'(]G. Следо-
Следовательно, компонента G гарантирует, что, если для некоторого
подмножества из M\G выполняются все ограничения, нала-
налагаемые компонентами набора значений истинности, тогда это
подмножество может быть дополнено до трехмерного сочетания
в М.
Резюмируя сказанное, положим:
W = {ut[j\, "Л/1: К«<«,
где
А = {а,[1У-
5, = {*,[/]: 1</<т},
где
Заметим, что каждая тройка из М есть элемент множества
№ X Я X Y, что и требовалось. Кроме того, поскольку множе-
множество М содержит только
2шп + Ъш + 2ш2п {п — 1)
троек и множество М в терминах индивидуальной задачи из
3-ВЫП определяется явным образом, легко видеть, что М мо-
может быть построено за полиномиальное время. Из комментариев,
3.1. Шесть основных UP-полных задач 73
которыми сопровождалось описание множества М, немедленно
следует, что оно не может содержать трехмерного сочетания,
если набор С невыполним. Теперь необходимо доказать, что
существование выполняющего набора значений истинности для
набора дизъюнкций С влечет за собой существование в М трех-
трехмерного сочетания.
Пусть t: U-+{T, F} — произвольный выполняющий набор
значений истинности для С. Построим трехмерное сочетание
M'sM следующим образом. Для каждой дизъюнкции с\^С
рассмотрим некоторый литерал Z/ е {щ, щ\ 1 ^ i sg: n) |"|С/, при-
принимающий значение "истина" при отображении t (такое Z/
должно существовать, поскольку t выполняет Cj). Затем по-
положим
где G' — соответствующее подмножество множества G, выбран-
выбранное так, что оно содержит все gi [k], gz [k] и оставшиеся ш [/]
и «,[/]. Нетрудно проверить, что такое множество G' всегда
можно выбрать и что полученное в результате множество М'
будет трехмерным сочетанием. Ш
Вместо задачи 3-С для доказательства результатов об NP-
полноте часто пользуются следующей, более общей и более на-
наглядной версией этой задачи.
ТОЧНОЕ ПОКРЫТИЕ 3-М НОЖ ЕСТ ВАМ И (ТП-3)
УСЛОВИЕ. Задано конечное множество X, такое, что |Х| = 3<7,
и семейство С трехэлементных подмножеств множества л.
ВОПРОС. Верно ли, что семейство С содержит точное покры-
покрытие множества X, т. е. такое подсемейство С s С, что каждый
элемент из X содержится ровно в одном элементе из С?
Заметим, что любую индивидуальную задачу из 3-С можно
рассматривать как индивидуальную задачу из ТП-3, считая
просто, что М состоит из неупорядоченных троек элементов
множества W\jX\jY. При этом трехмерные сочетания для ин-
индивидуальной задачи из 3-С взаимно однозначно соответствуют
точным покрытиям соответствующей индивидуальной задачи
из ТП-3. Таким образом, задача 3-С есть ограниченная версия
задачи ТП-3, и NP-полнота ТП-3 следует из естественного све-
сведения к ней задачи 3-С.
3.1.3. Вершинное покрытие и Клика
Несмотря на то что задачи ВЕРШИННОЕ ПОКРЫТИЕ и
КЛИКА при доказательстве результатов об NP-полноте исполь-
используются независимо, в действительности они представляют собой
74 3. Доказательство результатов об ИР-полноть
всего лишь разные способы рассмотрения одной и той же за-
задачи. Для того чтобы это понять, удобно рассмотреть их вместе
с третьей задачей, которая называется НЕЗАВИСИМОЕ МНО-
МНОЖЕСТВО.
Независимым множеством в графе G = (V, Е) называется
такое подмножество V из V, что для любых и, v e V', ребро
{и, v} не принадлежит Е. В задаче НЕЗАВИСИМОЕ МНОЖЕ-
МНОЖЕСТВО для заданного графа G = (V, E) и положительного це-
целого числа / ^ | V\ спрашивается, верно ли, что G содержит
независимое множество V, такое, что | V | ^ /. Легко убедиться,
что независимые множества, клики и вершинные покрытия свя-
связаны между собой следующим образом.
Лемма 3.1. Для любого графа G = {V, E) и подмножества
V Е V следующие утверждения эквивалентны:
(а) Уесть вершинное покрытие G;
(б) V\V есть независимое множество в G;
(в) У\ V есть клика в дополнении G графа G, где G =
= (V, Е), Е = {{и, v} : и, ве V и {и, v)<?E).
Таким образом, эти три задачи можно рассматривать в не-
некотором смысле как "различные версии" одной и той же за-
задачи. Более того, взаимосвязи между задачами, указанные в
лемме 3.1, делают тривиальным вопрос о сводимости между
любыми двумя из них.
Сведем, например, задачу ВЕРШИННОЕ ПОКРЫТИЕ к за-
задаче КЛИКА. Пусть G = (V, E) и /C^|V| — произвольная ин-
индивидуальная задача из ВП. Соответствующая индивидуальная
задача из КЛИКИ получается, если взять граф G и целое число
J = \V\-K.
Отсюда следует, что NP-полнота всех трех задач следует
из NP-полноты любой из них. Докажем, что задача ВЕРШИН-
ВЕРШИННОЕ ПОКРЫТИЕ NP-полна.
Теорема 3.3. Задача ВЕРШИННОЕ ПОКРЫТИЕ NP-полна.
Доказательство. Легко видеть, что задача ВП ^ NP. Это
следует из того, что недетерминированному алгоритму доста-
достаточно угадать подмножество вершин и за полиномиальное
время проверить, что это подмножество содержит хотя бы один
конец любого ребра и имеет соответствующее число элементов.
Сведем задачу 3-ВЫП к задаче ВП. Пусть V = {иь и2, ...
.... ип} и С = [Си сг, .... ст} определяют произвольную ин-
индивидуальную задачу из 3-ВЫП. Укажем граф G = (V, E) и
положительное целое число /C^|V|, такие, что G имеет вер-
вершинное покрытие с числом элементов не более К тогда и только
тогда, когда выполним набор дизъюнкций С,
S.I. Шесть основных HP-полных задач 76
Как и в предыдущем доказательстве, наша конструкция бу-
будет составлена из нескольких компонент. В данном случае, од-
однако, будут присутствовать только компоненты набора значе-
значений истинности и проверки выполнимости, дополненные неко-
некоторыми вспомогательными ребрами, связывающими различные
компоненты.
Для каждой переменной и<е?У имеется компонента Tt =
= (Vi, Ei) набора значений истинности (где Vi = {ш, Hi), Ei =
= \{m, щ}}), т. ё. Ti — это пара вершин, соединенных одним
ребром. Заметим, что любое вершинное покрытие должно по-
покрыть ребро из Ei, поэтому оно должно содержать по крайней
мере одну из вершин щ или п<.
Для каждой дизъюнкции С/^С имеется компонента про-
проверки выполнимости S/ = (V'j, Ej), состоящая из трех вершин
и трех соединяющих их ребер, образующих треугольник:
Щ = {{а,[/], а2[/]}>,[/], а3Щ, {МЛ, а3Щ.
Отметим, что любое вершинное покрытие должно содержать
хотя бы две вершины из V/, чтобы покрыть все три ребра из Е\
Связывающие ребра — это единственная часть конструкции,
зависящая от того, какие литералы входят в дизъюнкции. Их
лучше всего рассматривать с точки зрения компонент проверки
выполнимости. Для каждой дизъюнкции С/^С обозначим через
Х1, Уи zi ТРИ входящих в нее литерала. Тогда связывающие
ребра, исходящие из 5/, задаются следующим образом:
Построение индивидуальной задачи из ВП будет закончено,
если положить k = п + 2т и G = (V, Е), где
На рис. 3.3 приведен граф, соответствующий индивидуальной
задаче из 3-ВЫП, когда U \ии и2, и3, ы4} и С = {{ии «3> м4Ь
{«I, . Й4}}.
Нетрудно видеть, что эту конструкцию можно осуществить
за полиномиальное время. Поэтому достаточно показать, что С
выполнима тогда и только тогда, когда у G есть вершинное по-
покрытие с числом элементов не более К.
76
3. Доказательство результатов об НР-полноте
Предположим вначале, что V's V—вершинное покрытие G
и |V'|^/C. В силу сделанных выше замечаний, V должно со-
содержать по крайней мере одну вершину каждого Ti и хотя бы
две вершины каждого S/. В совокупности это дает по крайней
мере п + 2/и = К вершин, поэтому V должно содержать ровно
одну вершину каждого Г, и ровно две вершины каждого S/.
Таким образом, можно использовать пересечение V с компонен-
компонентами наборов значений истинности, чтобы получить отображение
Рис. 3.3. Индивидуальная задача из ВЕРШИННОЕ ПОКРЫТИЕ, к которой
приводит индивидуальная задача из 3-ВЫП при U = {ii\, иг, и3, ut], С =
— {{«1, из, й4}, {«1, «2, й«}}. Здесь /С = л + 2т = 8.
t: U-*-{T, F}. Для этого положим t(ui)=T, если и, е V", и
t(Ui)= F, если Hi e V. Для доказательства того, что этот набор
значений истинности выполняет каждую дизъюнкцию С/ е С,
рассмотрим три ребра подграфа Е". Только два из них могут
быть инцидентны вершинам из V) Л V', поэтому одно из них
должно быть инцидентно вершине некоторого подграфа Vi, при-
принадлежащей также пУ. Отсюда следует, что соответствующий
литерал m (или «/) дизъюнкции С/ принимает значение "истина"
при рассматриваемом наборе значений истинности t, и, следо-
следовательно, t выполняет дизъюнкцию С/, Поскольку это утверж-
утверждение имеет место для каждой дизъюнкции с/ е С, то отсюда
следует, что / — выполняющий набор значений истинности
для С.
Обратно, предположим, что /: U-*-{T, F}—выполняющий
набор значений истинности для С. Тогда сответствующее вер-
вершинное покрытие V содержит одну вершину из каждого Ti и
две вершины из каждого S/. При этом вершиной из Tit принад-
принадлежащей V, будет щ (если ((щ)=Т) или щ (если t(m)=F).
Поскольку / выполняет каждую дизъюнкцию с/, то это обеспе-
обеспечивает покрытие по крайней мере одного из трех ребер, принад-
принадлежащих множеству Е\. Следовательно, осталось включить в V
концы оставшихся двух ребер из Е", принадлежащие подграфу
S/ (которые могут быть либо инцидентны, либо не инцидентны
вершинам из компонент наборов значений истинности), при этом
получится искомое вершинное покрытие. ¦
3.1. Шесть основных NP-полных задач 77
3.1.4. Гамильтонов цикл
В гл. 2 мы видели, что к задаче ГАМИЛЬТОНОВ ЦИКЛ
(ГЦ) может быть сведена задача распознавания КОММИ-
КОММИВОЯЖЕР, поэтому NP-полнота последней задачи следует из
NP-полноты задачи ГЦ. После завершения доказательства
NP-полноты задачи ГЦ будет указано несколько вариантов за-
задачи ГЦ, NP-полнота которых более или менее непосредственно
следует из аналогичного факта для задачи ГЦ.
В дальнейшем для удобства будем пользоваться следующим
соглашением: если <иь v2, .... оп> — некоторый гамильтонов
цикл, то ребра {vt, vi+x), I ^ i < я, и {vn, vi) будут называться
ребрами в этом цикле. Приводимая ниже сводимость получена
комбинацией двух сводимостей из работы Карпа [280], она
указана в работе Лиу и Гелдмахера [358].
Теорема 3.4. Задача ГАМИЛЬТОНОВ ЦИКЛ является NP-
полной.
Доказательство. Легко видеть, что ГЦ е NP. Это вытекает
из того, что недетерминированному алгоритму нужно угадать
только последовательность вершин и за полиномиальное время
проверить, что все вершины этой последовательности соединены
ребрами, принадлежащими данному графу.
Сведем задачу ВЕРШИННОЕ ПОКРЫТИЕ к задаче ГЦ.
Пусть индивидуальная задача из ВП задана графом G = (V, Е)
и положительным целым числом /C^|V|. Построим граф
G' =(V, Е'), такой, что в G' есть гамильтонов цикл тогда и
только тогда, когда в G' есть вершинное покрытие, состоящее
из не более чем К элементов.
В данном случае наша конструкция опять будет состоять из
нескольких компонент, соединенных линиями связи. Во-первых,
граф G' имеет К "выбирающих" вершин а\, а2, .... а*, кото-
которые будут использованы для выбора К вершин графа G. Во-вто-
Во-вторых, для каждого ребра из Е граф Q' содержит компоненту,
"проверяющую покрытие", которая будет использована для того,
чтобы обеспечить присутствие одного из концов каждого ребра
среди К выбираемых вершин. Компонента, соответствующая
ребру е = {и, v) е Е, показана на рис. 3.4. Она имеет 12 вершин
V'e = {(u, e, i),{v, e, i):
и 14 ребер
? = {{(«, е, 0,(в, е, /+1),{(о. е, /),(о, е, /+1)}: 1<*<5}
U {{(и, е, 3),(о, е, 1 )},{(*, е, 3),(и, е, 1)}}
U {{(и, е, 6), (v, e, 4)},{(i>, е, 6), (н, в, 4)}}.
78
3. Доказательство результатов об NP-полноте
Когда конструкция будет закончена, то дополнительные
ребра, ведущие к этой проверяющей покрытие компоненте, бу-
будут инцидентны только вершинам {и, е, 1), (v, е, 1), (и, е, 6) и
(у, е, 6). Отсюда следует (в этом читатель может легко убе-
убедиться), что любой гамильтонов цикл в графе G' должен пере-
(и,е,2)
(и,е,3)
(и,е,4)
(и,е,5)
(и,е,6)
(v.e.O
(v,e,3)
(v,e,4)
(v,e,5)
(v,e,6)
Рис. 3.4. Компонента для проверки покрытия, соответствующая ребру е =
= {и, о} в сведении задачи ВЕРШИННОЕ ПОКРЫТИЕ к задаче ГАМИЛЬ-
ГАМИЛЬТОНОВ ЦИКЛ.
секать ребра из Е'е по одной из трех конфигураций, изображен-
изображенных на рис. 3.5. Например, если цикл "подходит" к рассматри-
рассматриваемой компоненте в вершине (и, е, 1), то он "выходит" обяза-
обязательно в вершине (и, е, 6) и проходит либо через все 12 вершин
этой компоненты, либо только через 6 вершин (ы, е, i), l6
X
X
.4 » » /
.(и,е,6)
(v,e,6)
(v,e,6)
Рис. 3.5. Три возможные конфигурации пересечения гамильтонова цикла
с компонентой для проверки покрытия ребра е = (и, и}. Конфигурации со-
соответствуют следующим случаям: (а) и принадлежит, а о не принадлежит
покрытию: (б) и й и принадлежат покрытию; (в) о принадлежит, а и не при-
принадлежит покрытию.
Дополнительные ребра в окончательной конструкции служат
либо для соединения пар компонент проверки покрытия, либо
для соединения компоненты проверки покрытия с выбирающей
вершиной. Для каждой вершины веУ упорядочим произволь-
произвольным образом ребра, инцидентные v: еО[ц, ?0[2|, •¦¦. ?tudeg(oH,
где deg(v) —степень вершины о в графе G (т. е. число ребер,
3.1. Шесть основных HP-полных задач 79
инцидентных вершине v). Все компоненты проверки покрытия,
соответствующие ребрам, инцидентным и, соединяются вместе
следующими связующими ребрами:
К-{{(*. V,,. 6),(о. e0[i+I), 1)}:
Как показано на рис. 3.6, такое соединение образует единствен-
единственный путь в G', включающий в точности те вершины \х, у, г),
для которых х = v.
Рис. 3.6. Путь, соединяющий все компоненты проверки покрытия, которые
соответствуют ребрам из Е, инцидентным вершине о.
Последняя группа связующих ребер в G' соединяет первую
ч последнюю вершины этого пути с каждой из выбирающих
1ершин аи аг, ..., а*. Эти ребра имеют следующий вид:
Окончательно граф G' = (V, E') имеет вид
Нетрудно видеть, что граф G' можно построить за полиномиаль>
ное время исходя из G и К-
80 3. Доказательство результатов об NP-полноте
Мы утверждаем, что G' имеет гамильтонов цикл тогда и
только тогда, когда G имеет вершинное покрытие, состоящее не
более чем из К вершин. Предположим, что <Уь иг, •••. 0л> —
гамильтонов цикл в графе G' (здесь /г = |У'|). Рассмотрим лю-
любую часть этого цикла, которая начинается и кончается в вер-
вершинах множества {а\, аг, .... а*} и не содержит ни одной вер-
вершины этого множества в качестве промежуточной. В силу
ранее упомянутых ограничений на конфигурацию, по которой га-
гамильтонов цикл может проходить через компоненту проверки
покрытия, рассматриваемая часть цикла должна проходить
только через компоненты проверки покрытия, соответствующие
ребрам из Е, инцидентным некоторой общей вершине iigC.
Каждая компонента проверки покрытия пересекается одним из
способов (а), (б) или (в), указанных на рис. 3.5, причем она
не проходит через вершины ни из какой другой компоненты
проверки покрытия.
Таким образом, К вершин множества {а.\, а2. ..., я/с} делят
рассматриваемый гамильтонов цикл на К путей, соответствую-
соответствующих некоторым вершинам »eF. Поскольку гамильтонов цикл
должен проходить через все вершины каждой компоненты про-
проверки покрытия, причем вершины из компоненты проверки по-
покрытия ребра ее? могут принадлежать только пути, соответ-
соответствующему одной из вершин, инцидентных е, то любое ребро в
Е должно быть инцидентно по крайней мере одной из К выбран-
выбранных вершин. Следовательно, это множество, состоящее из К вер-
вершин, образует искомое вершинное покрытие графа G.
Обратно, предположим, что PsV — вершинное покрытие
графа G и |У*|^/(. Можно считать, что |F*] = /(, поскольку
если к V* добавить несколько вершин из V, то V* останется вер-
вершинным покрытием. Обозначим элементы V* через v\, v2, ..., vk-
Рассмотрим, какие ребра нужно включить в гамильтонов цикл
графа G. Из компоненты проверки покрытия, представляющей
ребро е = {и, v} e E, выберем ребра, изображенные на
рис. 3.5(а), (б) или (в), в зависимости от того, равно ли
{и, v} Г) V* соответственно {и}, {и, v} или {и}. Поскольку V* —
вершинное покрытие графа G, то одна из этих возможностей
обязательно должна быть реализована. Затем возьмем все ребра
в E'Vl, I <Ii<^i(. Наконец, выберем ребра
3.1. Шесть основных NP-полных задач 81
Проверить то, что выбранное множество ребер в действи-
действительности соответствует гамильтонову циклу в G', мы предостав-
предоставляем читателю. ¦
Рассмотрим несколько вариантов задачи ГАМИЛЬТОНОВ
ЦИКЛ. Задача ГАМИЛЬТОНОВ ПУТЬ формулируется так же,
как задача ГЦ, но без условия, что первая и" последняя вершины
в последовательности должны быть соединены ребром. Задача
ГАМИЛЬТОНОВ ПУТЬ МЕЖДУ ДВУМЯ ВЕРШИНАМИ от-
отличается от задачи ГАМИЛЬТОНОВ ПУТЬ только тем, что в
условии этой задачи фиксируются две вершины и и v и спра-
спрашивается, верно ли, что G содержит гамильтонов путь из и в с.
NP-полнота обеих этих задач может быть доказана с помощью
простой модификации сводимости, использованной для доказа-
доказательства NP-полноты задачи ГЦ. Модифицируем граф G', кото-
который получается в конце рассмотренной выше конструкции сле-
следующим образом: добавим три новые вершины а<ь ак+i и а*+2,
два новых ребра {а0, aj и (ак+i, Я/с+г}, а также заменим каж-
каждое ребро вида {а\, (и, eV[deew\, 6)} на ребро {ак+\, (v, еишеШ>
6)}. В последней модификации задачи ГЦ выделенными верши-
вершинами являются ао и ак+\-
Все три перечисленные выше задачи остаются NP-полными
и в том случае, если неориентированный граф G заменить ори-
ориентированным, а неориентированный гамильтонов цикл или
путь заменить на ориентированный. Вспомним, что ориентиро-
ориентированный граф G = (V, А) состоит из множества вершин V и мно-
множества А упорядоченных пар вершин, называемых дугами. Га-
мильтоновым путем в ориентированном графе G = (V, А) на-
называется такая последовательность <о(, иг, .... ул> (n = |V|)
вершин графа G, что <t>i, 1>,--н> еД 1 ^ i < п. Гамильтонов
путь называется гамильтоновым циклом, если (vn, i»i> e A
Каждая из упомянутых выше задач на неориентированных гра-
графах может быть сведена к задаче на ориентированном графе за-
заменой ребра {и, v} неориентированного графа парой дуг (и, v)
и (v, и). По существу, задачи на неориентированных графах
являются частными случаями соответствующих задач на ориен-
ориентированных графах.
3.1.5. Разбиение
В настоящем разделе будет рассмотрена последняя из шести
основных NP-полных задач — задача РАЗБИЕНИЕ. Эта задача
особенно полезна при доказательстве NP-полноты задач, усло-
условие которых содержит такие числовые параметры, как длины,
веса, стоимости, пропускные способности и т. д.
Теорема, 3.5. Задача РАЗБИЕНИЕ является NP-полной,
82 3. Доказательство результатов об ЫР-полноте
Доказательство. Легко видеть, что РАЗБИЕНИЕ е NP.
В самом деле, недетерминированный алгоритм должен угадать
только подмножество А' множества А и за полиномиальное
время проверить, что сумма размеров элементов из А' такая же,
как сумма размеров элементов из А\А'.
Сведем задачу 3-С к задаче РАЗБИЕНИЕ. Пусть множества
W, X, У при |№| = |Х| = |У| = ? и подмножество M<=WXXX
X У образуют произвольную индивидуальную задачу из 3-С.
Обозначим элементы этих множеств следующим образом:
W = {wu w2, .... w4},
Х — \Х\, *2> •.., Xq),
У = {У\, Уъ ••., Уч)
и
М = {mu m2 mk},
где fc = |M|. Требуется построить множество А и размеры
s(o)eZ+ всех элементов а е А так, чтобы А содержало под-
подмножество А', для которого справедливо
? s(a)= ? s(a)
в том и только в том случае, если М содержит трехмерное со-
сочетание.
Множество А будет содержать k -f- 2 элемента и строиться
в два шага. Первыми k элементами множества А будут
{cti: 1 ^ i ^ k}, где at ассоциируется с тройкой mi e M. Размер
s(a,) элемента щ определяется с помощью двоичного представ-
представления числа s(ai). Слово из нулей и единиц, соответствующее
s(ai), разбивается на 3q "зон" nop = riog2(^-f 1)~1 бит в каж-
каждой. Каждая из этих зон помечается некоторым элементом из
W[}X\)Y так, как указано на рис. 3.7.
Двоичное представление числа s(a;) зависит от соответ-
соответствующей тройки mt = (wfll), xg(l), уш)е=М (где/, g uh —
функции, задающие индексы первой, второй и третьей ком-
компонент каждой тройки ш^ В числе s[at) правые концы зон,
соответствующих числам wf{l), *g(i) и yh{l), помечены 1, осталь-
остальные знаки числа s(ai) — нули. Другими словами,
s (a ) = 2" C*~f"" + 2Р B*~г (Л) + 2" {ч
Так как двоичная запись каждого из чисел s(ai) имеет длину
не более 3pq, то ясно, что s(ai) можно построить по заданной
индивидуальной задаче из 3-С за полиномиальное время.
3.1 Шесть основных HP-полных задач
На данной стадии конструкции важно отметить, что если
просуммировать содержимое одной зоны всех элементов мно-
множества {at: 1 ^ г ^ k), го результат всегда не будет превосхо-
превосходить 2"—1. Следовательно, при суммировании Yja<=A's(a) по
некоторому подмножеству A' s {at: 1 ^ i ^ k) никогда не при-
Ill
III
1
II
1
III.-
1
II
III
II1'
wq.
yx y2
yq
Рис. 3.7. Двоичная запись числа s(a) с помеченными 3q «зонами» с р =¦
= Г logi (k + 1) П двоичными знаками в каждой, которая используется
в сведении 3-С к РАЗБИЕНИЕ.
дется переносить единицы из одной зоны в соседнюю. Отсюда
следует, что если положить
В--
2р1
(В — число, в двоичной записи которого в правом конце каждой
зоны стоит 1), го для любого подмножества Л'= {ai: !</?}
соотношение
аеА'
выполняется тогда и только тогда, когда ЛГ = {mi: а< е А'} —
трехмерное сочетание для М.
На последней стадии конструкции строятся оставшиеся два
элемента из А. Они определяются элементами Ь\ и Ь2, имею-
имеющими следующие размеры:
s (а
,))-Я,
-1
Двоичные записи этих величин имеют длину не более 3pq+ 1 и
могут быть построены за время, зависящее полиномиальным
образом от размера индивидуальной задачи из 3-С.
') Если в множестве М нет трехмерного сочетания, то, вообще говоря,
sF|) может быть отрицательно, что противоречит определению s(a<)eZ+.
В этом случае, для справедливости текста доказательства следует положить
s (ft,) = 0, s F2) = 3 У s (а.). — Прим. ред.
1-1
84 3. Доказательство результатов об NP-полноте
Теперь предположим, что имеется подмножество A's А, та-
такое, что
? s(a)= ? s(a).
ас=А' ае=А\А'
Тогда каждая из этих сумм должна быть равна 2 ?f=1 ^(а,),
причем одно из множеств А' или Л\Л' содержит Ь\ и не содер-
содержит bi. Отсюда следует, что остальные элементы этого множе-
множества принадлежат множеству (а,: 1 ^ / =?1 &}, сумма их разме-
размеров равна В и, в силу сделанного замечания, они образуют
подмножество, соответствующее некоторому трехмерному соче-
сочетанию М' в М. Обратно, если задано трехмерное сочетание М' <=
?А1, то множество {bi}\J{ai. rtii^ M'} образует искомое мно-
множество А' для заданной индивидуальной задачи из ПАРОСО-
ЧЕТАНИЕ. Таким образом, задача 3-С ос РАЗБИЕНИЕ, и тео-
теорема доказана. ¦
3.2. НЕКОТОРЫЕ МЕТОДЫ ДОКАЗАТЕЛЬСТВА
NP-ПОЛНОТЫ
Методы, используемые при доказательстве результатов об
NP-полноте, меняются почти в столь же широких пределах, как
и сами NP-полные задачи, поэтому здесь у нас нет возможности
проиллюстрировать их все. Однако имеется несколько общих
приемов доказательства, которые часто встречаются и могут
подсказать путь к доказательству NP- полноты новой задачи.
Они называются: (а) сужение задачи, (б) локальная замена и
(в) построение компоненты.
В настоящем разделе, в основном на примерах, мы объясним,
что понимается под каждым из этих приемов доказательства.
Было бы ошибкой пытаться дать их явное определение. Многие
доказательства допускают интерпретации, позволяющие при-
причислить их к любой из этих трех категорий. Некоторые доказа-
доказательства так сильно зависят от специфики описания задачи,
что их не удается классифицировать естественным образом в
столь ограниченном множестве категорий. Так что читателю не
следует рассматривать нижеизложенное как попытку классифи-
классификации всех доказательств NP-полноты. Наша единственная
цель — проиллюстрировать некоторые подходы к доказательству
NP-полноты, которые мы (а также другие авторы) с интуитив-
интуитивной точки зрения нашли конструктивными и привлекательными.
Для краткости мы будем в дальнейшем опускать во всех
доказательствах проверку того, что рассматриваемая задача
принадлежит NP. Относительно каждой из рассматриваемых
ниже задач легко установить разрешимость за полиномиальное
3.2. Методы доказательства ЫР-полноты 85
время недетерминированным алгоритмом, и у читателя не
должно возникнуть затруднений, если потребуется построить
такой алгоритм.
3.2.1. Сужение задачи
Из трех рассматриваемых приемов доказательства метод
сужения — самый простой и, вероятно, наиболее часто встре-
встречается.
Доказательство методом сужения NP-полноты фиксирован-
фиксированной задачи П е NP заключается просто-напросто в установле-
установлении того, что задача П включает в качестве частного случая
известную NP-полную задачу П'. Суть состоит в том, чтобы
указать дополнительные ограничения, которые требуется нало-
наложить на индивидуальные задачи из П, чтобы получившаяся в
результате сужения задача была бы эквивалентна П'. При этом
не требуется, чтобы возникающая в результате сужения задача
была точной копией известной NP-полной задачи, необходимо
только, чтобы между задачами имелось "очевидное" взаимно-
взаимнооднозначное соответствие, сохраняющее ответы "да" или "нет".
Взаимно-однозначное соответствие, которое дает сведение ГГ
к П, обычно настолько очевидно, что его даже не требуется
указывать явно.
Несколько примеров доказательств этого типа уже встреча-
встречалось в разд. 3.1.2. NP-полнота задачи ТОЧНОЕ ПОКРЫТИЕ
3-МНОЖЕСТВАМИ была доказана путем рассмотрения среди
ее индивидуальных задач только тех, в которых трехэлементные
множества содержат по одному элементу из множеств W, X и Y
(где W, X и У—равномощные непересекающиеся множества).
такие задачи идентичны задаче 3-С. В разд. 3.1.4 NP-полнотч
задачи ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ была
/оказана благодаря тому, что среди ее индивидуальных задач
мы рассматривали только те, в которых ориентированный граф
вместе с каждой дугой (и, v) содержит противоположно ориен-
ориентированную дугу (v, и), т. е. индивидуальные задачи, в сово-
купности образующие задачу, идентичную задаче ГАМИЛЬТО-
ГАМИЛЬТОНОВ цикл.
Таким образом, метод сужения можно рассматривать скорее
как иной взгляд на задачу, а не как стандартный способ дока-
доказательства NP-полноты. Вместо того чтобы пытаться свести
одну из известных NP-полных задач к заданной, мы концентри-
концентрируем внимание на последней и пытаемся отбросить "несуще-
"несущественные" ее детали с тем, чтобы получилась известная NP-пол-
ная задача.
Ниже приведено еще несколько примеров задач, NP-полно-
NP-полнота которых доказывается методом сужения; при этом доказа-
86 А Доказательство результатов об NP-полкоте
тельства формулируются настолько кратко, насколько это воз-
возможно.
A) МИНИМАЛЬНОЕ ПОКРЫТИЕ
УСЛОВИЕ. Задано семейство С подмножеств множества S и
положительное целое число К.
ВОПРОС. Содержит ли С покрытие множества S размера не
более К, т. е. найдется ли подмножество C'sC, такое, что
|С'|<Я и U с = 5?
С
е
Доказательство. Задача превращается в ТП-3, если ограничить-
ограничиться только теми индивидуальными задачами, у которых |С| = 3
для всех множеств с^С и /( = |S|/3.
B) МНОЖЕСТВО ПРЕДСТАВИТЕЛЕЙ
УСЛОВИЕ. Задано семейство С подмножеств множества S и
положительное целое число К.
ВОПРОС. Содержит ли S множество представителей для С
мощности, не превосходящей К; т. е. существует ли подмноже-
подмножество S's5, такое, что |S'|^ К и S' содержит по крайней мере
один элемент из каждого множества семейства С?
Доказательство. Задача превращается в задачу ВП, если рас-
рассмотреть только те индивидуальные задачи, у которых |с| = 2
для всех с е С.
C) ИЗОМОРФИЗМ ПОДГРАФУ
УСЛОВИЕ. Заданы два графа G = {VX, ?i) и И = (V2, Е2)\
ВОПРОС. Содержит ли граф G подграф, изоморфный Я?
Другими словами, существуют ли такие подмножества V е V\,
Е<=Е\ и взаимно-однозначная функция f: V2^>- V, что \V\ =
= | V2|. |?| = |?2| тогда и только тогда, когда {/(и), f(v)} e??
Доказательство. Задача превращается в задачу КЛИКА, если
рассматривать только те индивидуальные задачи, для которых
Н — полный граф, т. е. те индивидуальные задачи, в которых
?'г содержит все возможные ребра, соединяющие вершины
из V2.
D) ОСТОВНОЕ ДЕРЕВО ОГРАНИЧЕННОЙ СТЕПЕНИ
УСЛОВИЕ. Заданы граф G=(V,E) и положительное целое
число К, K^|V|- 1.
ВОПРОС. Существует ли в G остовное дерево, в котором все
вершины имеют степень не более К, т. е. такое подмножество
Е'<=Е, что |?'| = |У|— I, граф G'=(V,E') связен и ни одна
ьершина в V не принадлежит более чем К ребрам из ?'?
3.2. Методы доказательства NP-полноты 87
Доказательство. Если рассмотреть только те индивидуальные
задачи, в которых К = 2, то задача превращается в задачу ГА-
МИЛЬТОНОВ ПУТЬ.
E) МИНИМАЛЬНЫЙ ЭКВИВАЛЕНТНЫЙ
ОРИЕНТИРОВАННЫЙ ГРАФ
УСЛОВИЕ. Заданы ориентированный граф G = (V,A) и поло-
положительное целое число К, К ^ \А \.
ВОПРОС. Существуем ли ориентированный граф G'=(V, Л'),
такой, что /4'г Л, ]Л'|^/( и для каждой пары вершин и и о
из V в С имеется ориентированный путь от и к v тогда и только
тогда, когда в G имеется ориентированный путь из и к о.
Доказательство. Если рассматривать только индивидуальные
задачи, для которых граф О сильно связен, т. е. содержит ориен-
ориентированный путь от любой вершины к любой другой вершине v
и Ш = |У|, то задача превращается в задачу ОРИЕНТИРО-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ. Отметим, что при таком
сужении фактически возникает задача ОРИЕНТИРОВАННЫЙ
ГАМИЛЬТОНОВ ЦИКЛ В СИЛЬНО СВЯЗНОМ ОРИЕНТИ-
ОРИЕНТИРОВАННОМ ГРАФЕ, однако NP-полнота этой задачи немед-
немедленно следует из приведенных выше конструкций для задач ГЦ
и ОРИЕНТИРОВАННЫЙ ГЦ.
F) РЮКЗАК
УСЛОВИЕ. Задано конечное множество U, "размеры" s(u)e
е Z+, "стоимости" v (и) е Z+ для всех ue.ll, общее ограниче-
ограничение В на размеры, BeZ+, и значение стоимости К е Z+.
ВОПРОС. Существует ли подмножество V S U, такое, что
Доказательство. Если ограничиться рассмотрением только та-
таких индивидуальных задач, в которых для всех ueU, s(u) =
= v(u) и В==/С= 'A 2Beus(M)> T0 задача превращается в
РАЗБИЕНИЕ.
G) РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕССОРНОЙ
СИСТЕМЫ
УСЛОВИЕ. Задано конечное множество А "заданий", "длитель-
"длительности" /(o)eZ+ для всех as Л, число mGZ+ "процессоров"
и "директивный срок" D e Z+.
ВОПРОС. Существует ли разбиение A=Ai[)A2\J ... Am мно-
множества Л на m непересекающихся множеств, такое, что
шах
| ^ Да): l
88 3. Доказательство результатов об NP-полноте
Доказательство. Если рассматривать только те индивидуальные
задачи, для которых tn = 2 и D=l/2 2 На), то задача превра-
превращается в РАЗБИЕНИЕ.
В заключение заметим, что из трех обсуждаемых подходов
к установлению NP-полноты метод сужения в наибольшей сте-
степени выигрывает от наличия обширного списка NP-полных за-
задач, сверх основных шести задач и их вариантов. Многие воз-
возникающие на практике задачи представляют собой просто более
сложные версии задач из списка NP-полных задач в приложе-
приложении, и способность усмотреть этот факт во многих случаях по-
позволяет быстро доказать NP-полноту методом сужения.
3.2.2. Локальная замена
Сводимости, возникающие при доказательстве методом ло-
локальной замены, достаточно нетривиальны, чтобы их всегда
можно было с гарантией представить в стандартном виде, од-
однако они остаются относительно несложными. Этот метод со-
состоит в том, что выбирается некоторое характерное свойство
известной NP-полной задачи, с помощью него образуется семей-
семейство основных модулей, а соответствующие индивидуальные за-
задачи заданной задачи получаются путем единообразной замены
каждого основного модуля некоторой другой структурой. Сво-
Сводимость задачи ВЫП к задаче 3-ВЫП из разд. 3.1.1 относится
к этому типу. В ней основными модулями задачи ВЫП были
дизъюнкции, и каждая дизъюнкция заменялась набором дизъ-
дизъюнкций согласно некоторому общему правилу. Важным момен-
моментом здесь является то, что каждая замена приводила только
к локальному изменению структуры. Эти замены, по существу,
не зависели одна от другой, за исключением тех случаев, когда
они отражали не подвергавшиеся изменению части исходной
индивидуальной задачи.
Конкретизируем эти общие рассуждения с помощью приме-
примеров. Рассмотрим сначала задачу распознавания, соответствую-
соответствующую задаче минимизации числа умножений, необходимых для
вычисления заданного набора произведений элементарных тер-
термов; при этом предполагается, что операция умножения ассо-
ассоциативна и коммутативна.
ВЫЧИСЛЕНИЕ СЕМЕЙСТВА
УСЛОВИЕ. Задано семейство С подмножеств конечного мно-
множества А и положительное целое число /.
ВОПРОС. Существует ли такая последовательность
3.2. Методы доказательства ЫР-полноТы
содержащая не более чем / операций типа объединение, что
для каждого подмножества с еС найдется номер /, 1 ^ i ^ /,
такой, что zi совпадает с с? (Здесь xi и у,- — это либо множе-
множества вида {а} для некоторого а е А, либо это множество вида
zk для некоторого k < i, причем xi и yi, I я^ i ^ /, не пересе-
пересекаются).
Теорема 3.6. Задача ВЫЧИСЛЕНИЕ СЕМЕЙСТВА NP-пол-
на.
Доказательство. Сведем задачу ВЕРШИННОЕ ПОКРЫТИЕ
к задаче ВЫЧИСЛЕНИЕ СЕМЕЙСТВА. Пусть граф G =(V,E)
а положительное целое число К, K^\V\, определяют условие
произвольной индивидуальной задачи из ВП.
В качестве основных модулей ВП возьмем ребра графа G.
Пусть ао — некоторый новый элемент, не принадлежащий V
Операция локальной замены замещает каждое ребро (и, v) e E
подмножеством {по, и, v) e С. В результате возникает индиви-
индивидуальная задача из задачи ВЫЧИСЛЕНИЕ СЕМЕЙСТВА,
условие которой полностью определяется следующими данными:
= {{ао, и, v): {и, »}€=?},
Легко видеть, что эту индивидуальную задачу можно построить
за полиномиальное время. Утверждается, что в G есть вершин-
вершинное покрытие не более чем из К элементов тогда и только то-
тогда, когда для семейства С существует последовательность
длины не более /, обладающая необходимыми свойствами.
Вначале предположим, что V — вершинное покрытие в G,
содержащее не более К вершин. Если к покрытию V' добавить
новые вершины, то оно по-прежнему будет оставаться покры-
покрытием, поэтому без ограничения общности можно полагать, что
|V| = /C. Обозначим вершины покрытия V через v\, иг, ¦•., и*,
а ребра из множества Е через е\, ег, ••¦, ет, где т=\Е\. По-
Поскольку V — вершинное покрытие, то каждое ребро в/ инци-
инцидентно по крайней мере одной вершине из V. Поэтому каждое
ребро в/ может быть представлено в виде в/ = {и/, оГ[/]}, где
/ [/] — целое число, заключенное между 1 и К. Нетрудно видеть,
что приведенная ниже последовательность, состоящая из ТС -j-
-f|?| = / операций объединения, обладает всеми необходимыми
свойствами:
<z, = {а0} у {u,}, z2 = {а0} U {о2} гк = {ао} у {vK},
ZK+l = {"i} U Zr (.]¦ г«+2 = Ы U Zr 12]' • • •» h = К) U 2Г !*]>.
90 3. Доказательство результатов об NP-полноте
Обратно, предположим, что 5 = <zi = х\ \Jyu ¦.., z/=
= X]\J у/У — искомая последовательность для индивидуальной
задачи из ВЫЧИСЛЕНИЕ СЕМЕЙСТВА, содержащая не более
/ операций объединения. Предположим далее, что последова-
последовательность 5 — кратчайшая из всех последовательностей для
рассматриваемой индивидуальной задачи и что среди всех та-
таких кратчайших последовательностей S содержит минимальное
число операций вида z, = {ы} [} {v}, и, v ^ V. Первое утвержде-
утверждение состоит в том, что в 5 вообще нет операций этого вида.
Действительно, предположим, что операция zt = {и} [) {v}, и,
ceV, содержится в 5. Поскольку {ы, v) не принадлежит С,
a S имеет минимальную возможную длину, то с необходимостью
имеем {и, v] е Е и операция {а0, и, v} = {oo} U *i (или z* (J
U {яо}) должна содержаться в S. Но поскольку {и, v) —подмно-
—подмножество только одного элемента из С, то z< не может участво-
участвовать ни в одной другой операции рассматриваемой последова-
последовательности S. Отсюда следует, что пара операций
и {а0, ы, v} =
может быть заменена другой парой
и {оо, и,
при этом длина всей последовательности S не увеличится, а об-
общее число операций вида {и, v},u, ие V уменьшится, что про-
противоречит выбору S. Следовательно, S состоит только из опера-
операций, имеющих вид z, = {ао}1){и}. и е V, или {а0, и, v} =
— {v} U zi> {"> v) e Б (мы пренебрегаем порядком этих операн-
операндов). Так как [C^lfj и любой элемент из С содержит три
элемента, то S должно содержать в точности |?| операций вто-
рого вида и в точности / —1?| ^/ — |?|=/С операций первого
вида. Поэтому множество
V = {u e V: z, = {aQ} [J {и} есть операция из 5}
содержится самое большое К вершин из V. Исходя из способа
построения С, нетрудно проверить, что V должно быть вершин-
вершинным покрытием в G. I
Ниже приведен другой пример полиномиальной сводимости,
которая получается из задачи ТОЧНОЕ ПОКРЫТИЕ ТРЕХ-
ТРЕХЭЛЕМЕНТНЫМИ МНОЖЕСТВАМИ методом локальной за-
мены.
РАЗБИЕНИЕ НА ТРЕУГОЛЬНИКИ
УСЛОВИЕ. Задан граф G=(V,E), число вершин которого |И|
делится на три, т. е. |К| =3<7 для некоторого целого числа д.
8.2. Методы доказательства HP-полноты 9t
ВОПРОС. Существует ли такое разбиение V на q непересе-
непересекающихся подмножеств Vu V2, .. •, Уч (содержащих по 3 эле-
элемента), что для каждого Vt=*{vim, oim, t><[sj} три ребра
{, 0*121}» {ОA>1> °M3i} и {0i[2], t>ns]} принадлежат ??
Теорема 3.7. Задача РАЗБИЕНИЕ НА ТРЕУГОЛЬНИКИ
ИР-полна.
Доказательство. Сведем задачу ТОЧНОЕ ПОКРЫТИЕ
ТРЕХЭЛЕМЕНТНЫМИ множествами к задаче РАЗБИЕНИЕ
НА ТРЕУГОЛЬНИКИ. Пусть множество X(\X\ = 3q) и семей-
семейство С его трехэлементных подмножеств образуют условие про-
Рис. ЗА. Элемент, используемый для локалььой замены подножсства с**»
— (xt, ui, zi) е С орв построении сведения задачи ТП-3 к задаче РАЗНИЕ
НИЕ НА ТРЕУГОЛЬНИКИ.
извольной индивидуальной задачи из ТП-3. Построим граф G =
==(К,Я), такой, что |V| = 3<7/ и для него существует искомое
разбиение тогда в только тогда, когда С содержит точное по-
покрытие.
Основными модулями рассматриваемой индивидуальной за-
задачи из ТП-3 будут трехэлементные подмножества из С. Опера-
Операция локальной замены "превращает" каждое такое подмноже-
подмножество Ci = {xi,yi,zt}^C в набор Ei, состоящий из 18 ребер,
который изображен на рис. 3.8. Таким образом, G={V,E)
определяется так:
92 3. Доказательство результатов об NP-полноте
Заметим, что только вершивы из множества X могут быть ин-
инцидентны более чем одному множеству ?,. Отметим также, что
так что q' = q + 3\C\. Нетрудно видеть, что эту индивидуаль-
индивидуальную задачу РАЗБИЕНИЕ НА ТРЕУГОЛЬНИКИ можно по-
построить, отправляясь от рассматриваемой индивидуальной за-
задачи из ТП-3, за полиномиальное время.
Если си с2, ..., с, — трехэлементные подмножества из С,
которые образуют точное покрытие X, то соответствующее раз-
разбиение V = V]\JV2[} ... U V я' множества V определяется сле-
следующим образом. Если с,- = {xi,y(,Zi} есть элемент точного по-
покрытия, то из множества ?; выбираются следующие подмно-
подмножества:
{а([1],аЛ2],дс,}, {а, [4], а, [5], и).
S],*,}, {а, [3], а, [6], а, [9]},
а если с,- не является элементом точного покрытия, то из ?,¦ вы-
выбираются подмножества
{а,[1].а,[2].а|[3]}> {fl| [4], а, [5], а, [6]},
{а, [7], а, [8], а, [9]}.
Такой выбор подмножеств обеспечивает, что каждый элемент
из X содержится ровно в одном трехвершинном подмножестве
рассматриваемого разбиения.
Обратно, если V = V\ U V2 U • • ¦ U Vq, — произвольное раз-
разбиение графа С на треугольники, то соответствующее точное
покрытие получается, если выбирать те с, е С, для которых
{аг[3], а/[6], а,[9]} = К, при некотором j, l^j^q'. Непо-
Непосредственную проверку того, что два построенных разбиения
обладают всеми нужными свойствами, мы оставляем читате-
читателю. ¦
Оба только что приведенных примера представляют собой
доказательство методом локальной замены "в чистом виде".
Структура рассматриваемой индивидуальной задачи однозначно
определялась структурой исходной задачи (NP-полнота которой
установлена) и операцией локальной замены. Часто оказывает-
оказывается полезным дополнить рассматриваемую индивидуальную за-
задачу вспомогательными элементами, которые играют роль
"ограничителя), налагающего дополнительные ограничения на
способы получения ответа "да".
') Образный термин (enforcer), предложенный Зыманским [511].
3.2. Методы доказательства NP-полноты 93
Если рассматриваемая задача имеет вид "Задана индиви-
индивидуальная задача /; верно ли, что существует некоторый объект
Xi с требуемым свойством?", то роль ограничителя в задаче / —
сузить множество допустимых объектов X/ так, чтобы они отра-
отражали все варианты, возможные в исходной индивидуальной за-
задаче. В то же время часть индивидуальной задачи /, получаю-
получающаяся операцией локальной замены из исходной задачи, дает
различные варианты этих ответов и обеспечивает выполнение
условий, требующихся от этих ответов. Элементы Ь\ и 62 из до-
доказательства NP-полноты задачи РАЗБИЕНИЕ как раз и
играют роль подобного ограничителя. Приведем еще два при-
примера на доказательство методом локальной замены с исполь-
использованием ограничителей. Сначала рассмотрим следующую за-
задачу о составлении расписания.
УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕРВАЛОВ
УСЛОВИЕ. Задано конечное множество "заданий" Т и для
каждого /еГ целое число r(t)^ 0 — время готовности, "дирек-
"директивный срок" d(/)e Z+ и "длительность" /(/)е Z+.
ВОПРОС. Существует ли для Т допустимое расписание, т. е.
такая функция о: Т-*¦ Z+, что для всех /еГ имеет место:
A) о@>/•(/). B) a(t)+l(t)^d(t), и C) если fe=T\{t],
то либо a@+W<ot@, либо ет(ОЗ* o(t)+ /(/)? (Другими
словами, задание / "выполняется" с момента времени a(t) до
момента o(t)+l{t), оно не может быть начато ранее момента
r(t), должно быть закончено не позднее d(t), и временной ин-
интервал выполнения задания / не может перекрываться с ин-
интервалом выполнения другого задания /'.)
Теорема 3.8. Задача УПОРЯДОЧЕНИЕ ВНУТРИ ИН-
ИНТЕРВАЛОВ NP-полна.
Доказательство. Сведем к этой задаче задачу РАЗБИЕНИЕ.
Пусть конечное множество А и размеры s(a) всех элементов
из А составляют условие индивидуальной задачи РАЗБИЕНИЕ;
пусть также В = ?e s A s (a).
Возьмем в качестве базисных модулей исходной индивиду-
индивидуальной задачи РАЗБИЕНИЕ отдельные элементы аеД. Опе-
Операция локальной замены превращает а в задание ta, такое, что
r(/a)=0, d(ta) = B+ l и l(ta)=s{a). В качестве "ограничите-
"ограничителя" возьмем еще одно задание I, такое, что г (i) = f BJ2~\, d(t)=
= Г(В+1)/2~) и /(?)=1. Ясно, что эта индивидуальная
задача может быть построена по исходной индивидуальной за-
задаче РАЗБИЕНИЕ за полиномиальное время.
Ограничения, которые налагает ограничитель на допустимые
расписания, имеют двоякий характер. Во-первых, ограничитель
94 S. Доказательство результатов об NP-полноте
не позволяет построить допустимое расписание, если В нечетно
(в этом случае для рассматриваемой задачи РАЗБИЕНИЕ иско-
искомое разбиение на два подмножества не существует), по той при-
причине, что если В нечетно, то r(l)=d{l) и I вообще не может
быть включено в расписание. Поэтому с настоящего момента
будем предполагать, что В четно. В этом случае на передний
план выступает второе ограничение. Так как В четно, то г(?) =
= В/2 и d(l) = r(l)+ 1, поэтому в любом допустимом расписа-
расписании а(?) должно быть равно В/2. Отсюда время, которое до-
доступно для выполнения остальных заданий, делится на два от-
отдельных блока, каждый из которых, как показано на рис. 3.9,
В в_
2 2
Г
О Я В . В+1
2 2
—— Брела —*¦
Рис. 3.9. Расписание, получаемое с помощью «ограничителя» при сведе-
сведении задачи РАЗБИЕНИЕ к задаче УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕР-
ИНТЕРВАЛОВ.
имеет длину В/2. Таким образом, задача составления расписа-
расписания превращается в задачу выбора подмножества заданий, ко-
которые будут выполняться раньше задания 2, и подмножества
заданий, которые будут выполняться после I. Поскольку общее
время, имеющееся в обоих блоках, равно общей длительности В
оставшихся заданий, то отсюда следует, что каждый из этих
блоков должен быть полностью заполнен. Это возможно тогда
и только тогда, когда существует подмножество А'^А, такое,
что
Z s{a) = B/2= ? s(a).
а^А' а*-;А\А'
Таким образом, для рассматриваемой индивидуальной зада-
задачи РАЗБИЕНИЕ искомое подмножество А' существует тогда и
только тогда, когда для соответствующей индивидуальной за-
задачи УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕРВАЛОВ существует
допустимое расписание. В
В качестве заключительного примера использования ограни<
чителя в методе локальной замены рассмотрим следующую за-
задачу, возникающую в диагностическом тестировании.
S.2. Методы доказательства tiP-полноты 95
МИНИМАЛЬНЫЙ НАБОР ТЕСТОВ
УСЛОВИЕ. Задано конечное множество А "возможных диагно-
диагнозов", набор С подмножеств множества А, представляющий би-
бинарные "тесты", и положительное целое число / =^|С|.
ВОПРОС. Существует ли поднабор C'sC, |C'|^/, такой, что
для любой пары а„ а/ возможных диагнозов из А имеется неко-
некоторый тест се С, для которого | {а<, aj) fl с\ = 1 (т. е. тест с,
"различающий" а, и а/)?
Теорема 3.9. Задача МИНИМАЛЬНЫЙ НАБОР ТЕСТОВ
NP-полна.
Доказательство. Сведем к этой задаче задачу 3-С. Пусть
W, X, У такие, что |№| = |Х| = |У|=<7, и подмножество Afs
s В^Х^Х У составляют условие индивидуальной задачи из 3-С.
В качестве основного модуля задачи 3-С возьмем упорядо-
упорядоченные тройки из множества М. Операция локальной замены
вместо каждой тройки m = (w, х, i/)eAf образует подмноже-
подмножество {до, х, у} е С. Роль ограничителей играют три дополни-
дополнительных элемента Wo, Хо и уо, не принадлежащие W\jX[)Y, и
два дополнительных теста W\J{w0} и Я U {*<)}• Окончательно
индивидуальная задача МИНИМАЛЬНЫЙ НАБОР ТЕСТОВ
определяется следующим образом:
A = W\)Xl)Y{){wo,xo,yo},
С = {{w, х, у}: (до, х, у) €= М) U {W (J {до0}, X U {*„}},
Легко видеть, что эта индивидуальная задача может быть по-
построена по исходной задаче 3-С за полиномиальное время.
Опять-таки ограничитель налагает определенные ограниче-
ограничения на вид возможных компонент (в данном случае на набор
тестов С). Во-первых, набор С должен содержать как ИРЩдоо}.
так и X U {*о} по той причине, что только эти тесты отличают «/о
от Доо и *о- Далее, поскольку до0, х0, у0 не принадлежат больше
ни одному тесту из С, то каждый элемент множества W U X U У
должен отличаться от одного элемента Шо, хо или у0 ввиду того,
что он входит в некоторый дополнительный тест ceC\{B7[J
U {wo}, X[) {хо}}. При этом может быть использовано самое
большее / — 2 = q дополнительных тестов. Поскольку каждый
из оставшихся тестов содержит ровно по одному элементу из
множеств W, X и У, и, кроме того, множества W, X и У попарно
не пересекаются, и каждое из них содержит ровно q элементов,
то отсюда следует, что любые q дополнительных тестов из С
должны соответствовать q тройкам из Af, образующим трехмер-
трехмерное сочетание. Обратно, если задано любое трехмерное сочета-
сочетание из М,то соответствующие q тестов из С можно использовать
96 3. Доказательство результатов об ЫР-полноте
для завершения построения оставшихся тестов в нужном
количестве. Таким образом, М содержит трехмерное сочетание
тогда и только тогда, когда в множестве С существует искомый
набор тестов. ¦
Хотя в обоих рассмотренных примерах ограничители очень
просты, читатель должен отдавать себе отчет в том, что это не
всегда так. Ограничитель особо сложной конструкции исполь-
используется в доказательстве NP-полноты задачи ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ В ПЛОСКОМ ГРАФЕ [157].
Другие довольно сложные ограничители можно найти в рабо-
работах [143, 155, 357].
3.2.3. Построение компонент
Последний и наиболее сложный из рассматриваемых нами
методов доказательств NP-полноты — это построение компонент.
Доказательства NP-полноты задач ТРЕХМЕРНОЕ СОЧЕТА-
СОЧЕТАНИЕ, ВЕРШИННОЕ ПОКРЫТИЕ и ГАМИЛЬТОНОВ ЦИКЛ,
приведенные в разд. 3.1, представляют собой типичные примеры
доказательств этого типа.
Основная идея таких доказательств заключается в том, что-
чтобы с помощью составных частей рассматриваемой задачи
сконструировать некоторые "компоненты", соединяя которые
можно "реализовать" индивидуальные задачи известной NP-
полной задачи. В трех перечисленных примерах имеются ком-
компоненты двух основных типов. Одну из них можно рассматри-
рассматривать как компоненту, "делающую выбор" (например, выбираю-
выбирающую вершины, выбирающую значение истинности переменных),
а другую — как компоненту, "проверяющую свойства" (напри-
(например, проверяющую, что каждое ребро покрыто или что каждая
дизъюнкция выполнена).
В рассматриваемой индивидуальной задаче эти компоненты
связаны так, что выбранные значения передаются компонентам,
проверяющим условия, и последние проверяют, удовлетворяют
ли сделанные выборы значений необходимым условиям. Взаимо-
Взаимодействие компонент осуществляется с помощью прямых связей
(таких, например, как ребра, соединяющие компоненты набора
значений истинности с компонентами проверки выполнения
условий в сводимости задачи 3-ВЫП к задаче ВП), а также с
помощью глобальных ограничений (таких, например, как общая
граница К в сводимости задачи 3-ВЫП к задаче ВП, которая
наряду со структурой компонент обеспечивает, чтобы каждая
компонента наборов значений истинности содержала в точности
одну вершину из покрытия и каждая компонента проверки
свойств содержала ровно две вершины этого покрытия).
3.2. Методы доказательства NP-полноты 97
Вообще говоря, любое доказательство можно считать осно-
основанным на методе построения компонент, если конструируемая
в нем индивидуальная задача представляет собой набор компо-
компонент, каждая из которых выполняет определенные функции,
формулируемые в терминах исходной задачи. Общая своди-
сводимость, примененная в гл. 2 для доказательства теоремы Кука,
является хорошим примером доказательства этого типа; при
этом каждая из шести групп дизъюнкций представляет собой
один из типов компонент.
Поскольку доказательства методом построения компонент
часто оказываются довольно длинными и несколько примеров
таких доказательств уже было рассмотрено, то в настоящем
разделе мы приведем еще только один пример. (Другие при-
примеры можно найти в работах [114, 158, 477, 496].) Этот заклю-
заключительный пример, сильно отличающийся от стандартных, ил-
иллюстрирует подход, который оказался полезным для сведения
задачи КЛИКА к другим задачам. Здесь доказывается NP-пол-
нота задачи теории расписаний, близкой по формулировке к
задаче УПОРЯДОЧИВАНИЕ ВНУТРИ ИНТЕРВАЛОВ, рас-
рассмотренной в предыдущем подразделе.
УПОРЯДОЧЕНИЕ С МИНИМАЛЬНЫМ ЗАПАЗДЫВАНИЕМ
УСЛОВИЕ. Заданы множество Т "заданий", каждое из которых
имеет длительность 1 и "директивный" срок d(/)eZ+; частич-
частичное упорядочение <• на Т и неотрицательное целое число
К\Т\
К^\Т\.
ВОПРОС. Существует ли "расписание" а: Г-*-{0, 1,..., |Г| — 1},
такое, что: A)оЦ)фо(Г) при t Ф t', B)a(t)<a(f) при /<•*
и C) \{tt=T:o(t)+l>d(t)}\^K?
Теорема. ЗЛО. Задача УПОРЯДОЧЕНИЕ С МИНИМАЛЬ-
МИНИМАЛЬНЫМ ЗАПАЗДЫВАНИЕМ NP-полна.
Доказательство. Пусть граф G = (V, ?) и положительное
целое число /, / ^ | V\, образуют произвольную индивидуальную
задачу КЛИКА. Соответствующая индивидуальная задача из за-
задачи УПОРЯДОЧЕНИЕ С МИНИМАЛЬНЫМ ЗАПАЗДЫВА-
ЗАПАЗДЫВАНИЕМ имеет множество заданий T=V\JE, K—\E\—J(J— l)/2;
частичное упорядочение заданий определяется следующим об-
образом:
/<•/'<=>•/ е V, t' e E и вершина / инцидентна ребру /';
V | +1 Е | если / 6= V.
Таким образом, "компонента", соответствующая каждой вер-
вершине, состоит из единственного задания с директивным сроком
|V| + |?|, а "компонента", соответствующая каждому ребру,
98
3. Доказательство результатов об NP -полноте
состоит из единственного задания с директивным сроком
/(/+1)/2. Благодаря наличию частичного порядка на мно-
множестве Т в искомом расписании задание, соответствующее
ребру, следует за заданиями, соответствующими его концам, и
поэтому задания, для которых имеется опасность запаздывания
(т. е. завершения уже после директивного срока), обязательно
соответствуют ребрам.
Искомое расписание удобно представлять себе схематически,
как показано на рис. 3.10. Часть расписания до директивного
срока заданий, соответствующих ребрам, можно рассматривать
Вершины Ребра
клики клики
J
Задянш,со-
отВапсщ-
\,ают-
itai
ш
Ветстоующт бетстбунщис
крщишм
тг шчи ющие ребрам
0
\У\+\Е\
Рис. 3.10. Диаграмма искомого расписания для индивидуальной задачи
УПОРЯДОЧЕНИЕ С МИНИМАЛЬНЫМ ЗАПАЗДЫВАНИЕМ, соответствую-
соответствующей КЛИКЕ размера /.
как "компоненту выбора клики". До этого срока может быть
выполнено не более /(/+ 1)/2 заданий. Для того чтобы число
запоздавших заданий не превосходило заданной величины К,
по крайней мере /(/ —1)/2 из "ранних" заданий должны со-
соответствовать ребрам. Однако если задание, соответствующее
ребру, выполняется ранее своего директивного срока, то и за-
задания, соответствующие его концевым вершинам, также долж-
должны быть закончены раньше этого срока. Минимально возмож-
возможное число вершин, которые могут быть инцидентны /(/ — 1)/2
различным ребрам, равно / (причем это может быть тогда и
только тогда, когда эти ребра образуют полный граф на этих /
Вершинах). Отсюда следует, что среди "ранних" заданий долж-
должно иметься по крайней мере J заданий, соответствующих вер-
вершинам. Однако до директивного срока заданий, соответствую-
соответствующих ребрам, может быть выполнено не более
заданий, отвечающих вершинам. Следовательно, в любом таком
расписании до директивного срока заданий, соответствующих
ребрам, должно закончиться ровно J заданий, отвечающих вер-
вершинам, и ровно /(/ — 1)/2 заданий, соответствующих ребрам,
которые в совокупности соответствуют клике на / вершинах в
3.3. Упражнения 99
графе G. Обратно, если граф G содержит полный подграф на У
вершинах, то искомое расписание можно построить способом,
указанным на рис. 3.10.
3.3. УПРАЖНЕНИЯ
В настоящем разделе сформулированы двенадцать NP-пол-
ных задач, доказательства NP-полноты которых предоставляются
читателю. Ни одна из этих задач не требует сложного доказа-
доказательства, поэтому мы советуем попытаться найти их все. В этих
доказательствах в качестве "известных" NP-полных задач до-
достаточно использовать только задачи, упоминавшиеся в
разд. 3.1. Для облегчения решения задачи сгруппированы по
методам доказательства, которые представляются авторам наи-
наилучшими. Однако читатель может не обращать внимания на эти
указания, если другой путь доказательства покажется ему более
перспективным. Желающие выбрать дополнительные (или бо-
более трудные задачи) могут обратиться к списку из приложения,
при этом, однако, следует иметь в виду, что в списке есть за-
задачи, для которых известные доказательства NP-полноты весь-
весьма сложны.
Метод сужения
1. САМЫЙ ДЛИННЫЙ ПУТЬ
УСЛОВИЕ. Задачи граф G = (V, Е) и положительное целое число
К< IV|.
ВОПРОС. Имеется ли в G простой путь (т. е. путь, не проходящий два-
дважды ни через одну вершину), состоящий не менее чем из К ребер?
2. УПАКОВКА МНОЖЕСТВ
УСЛОВИЕ. Заданы семейство С конечных множеств и положительное
целое число К, К ^ \С\.
ВОПРОС. Верно ли, что в С имеется К непересекающихся множеств?
3. РАЗБИЕНИЕ НА ГАМИЛЬТОНОВЫ ПОДГРАФЫ
УСЛОВИЕ. Заданы граф G =(V, E) и положительное целое число К,
К < | VI.
ВОПРОС. Можно ли множество вершин графа G разбить на к < К
непересекающихся подмножеств Vi, V2, ..., V* так, чтобы для всех i
A <: I ^ к) каждый подграф, индуцированный под множеством Vi, со-
содержал гамильтонов цикл?
4. НАИБОЛЬШИЙ ОБЩИЙ ПОДГРАФ
УСЛОВИЕ. Заданы графы Gt = (V,, ?,), G2 = (V2, Ег) и положительное
целое число К.
ВОПРОС. Существуют ли такие подмножества Е[ s El и F'2 = E2, что
| Е[ | — | Е'2 |>/С, а подграфы О[ —(V,, Е\) и G? = (V2, Ц) изоморфны?
5. МИНИМУМ СУММЫ КВАДРАТОВ
УСЛОВИЕ. Заданы конечное множество А, «размер» s(o)sZ+ для каж-
каждого а е А и положительные целые числа К я I,
100 3. Доказательство результатов об НР-полноте
ВОПРОС. Могут ли элементы из А быть разбиты на К непересекаю-
К
щихся множеств At, Аг, ..., Ак так, что У ( У s (o)V < J?
Метод локальной замены
6. МНОЖЕСТВО ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ
УСЛОВИЕ. Заданы ориентированный граф G =(V, А) и положительное
целое число К, К «? | V|.
ВОПРОС. Существует ли такое подмножество V S V, что |V'|</( и
любой ориентированный цикл в G содержит по крайней мере одно ребро
из V"?
7. ТОЧНОЕ ПОКРЫТИЕ ЧЕТЫРЕХЭЛЕМЕНТНЫМИ МНОЖЕСТВАМИ
УСЛОВИЕ. Задано конечное множество X, |Х|=4д, целое число q и
семейство С четырехэлементных подмножеств множества X.
ВОПРОС. Существует ли подсемейство С Е С, такое, что каждый эле-
элемент из X принадлежит в точности одному элементу из С?
8. ДОМИНИРУЮЩЕЕ МНОЖЕСТВО
УСЛОВИЕ. Заданы граф 0= (V, Е) и целое число К, К ^\V\.
ВОПРОС. Существует ли такое подмножество V'sV, что |У'|^/( и
каждая вершина v e VW соединена ребром по крайней мере с одной
вершиной из V?
9. ДЕРЕВО ШТЕИНЕРА
УСЛОВИЕ. Заданы граф G = (V, ?), подмножество R S V и положи-
положительное целое число К s | V| — 1.
ВОПРОС. Существует ли поддерево в G, содержащее все вершины из R
и имеющее не более К ребер?
10. НЕЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ ВЫРАЖЕНИЯ,
НЕ СОДЕРЖАЩИХ ЗВЕЗДОЧЕК
УСЛОВИЕ. Заданы два не содержащие звездочек регулярных выраже-
выражения Et и Ег в конечном алфавите 2. Такое выражение определяется
следующим образом: A) любой символ а алфавита 2 есть не содержа-
содержащее звездочек регулярное выражение, B) если d и ег — два не содер-
содержащие звездочек регулярных выражения, то и слова eiez и (ei V ег) так-
также не содержащие звездочек регулярные выражения.
ВОПРОС. Верно ли, что Et и Ег представляют различные языки в алфа-
алфавите 2? (Язык, представляемый символом иеХ, есть {а}, а если ei и ег
представляют соответственно языки Li и L2, то е&г представляет язык
{ху: х е Z.i, у е Z-г}, a (ei V ег) представляет язык Li U Lim)
Метод построения компонент
U. РАСЩЕПЛЕНИЕ МНОЖЕСТВА
УСЛОВИЕ. Задано семейство С подмножеств конечного множества S.
ВОПРОС. Существует ли разбиение S на две части Si и 52, такое, что
ни одно подмножество из С не содержится ни в Si ни в S2?
Указание. Использовать 3-ВЫП.
12. РАЗБИЕНИЕ НА ПУТИ ДЛИНЫ 2
УСЛОВИЕ. Задан граф О ={V, E), где [Vl= 3<? для некоторого целого
положительного числа q.
3.3 Упражнения 101
ВОПРОС. Существует ли разбиение V на q непересекающихся подмно-
подмножеств Vi, V2, ..., Vq, no три вершины в каждом, такое, что для всех
Vl!='{vHn> °i№ vtm) П0 кРайней меРе Два из тРех РебеР {««[И- °П2]}-
{°ПЧ> °ПЗ]}- {°<[2]> °ЦЗ]} принадлежат ??
Указание. Использовать 3-С.
13. НУМЕРАЦИЯ ГРАФА ПО ГРУНДИ
УСЛОВИЕ. Задан ориентированный граф G = (V, А).
ВОПРОС. Существует ли такая нумерация L: V-+Z+ (где каждой вер-
вершине может быть присвоен только один номер), что для всех seV
L(v) есть наименьшее неотрицательное целое число, не принадлежащее
множеству {L(u): neV, (о, и)е<4}?
Указание. Игпользовать 3-ВЫП.
14. РАСКРАШИВАЕМОСТЬ ГРАФА В 3 ЦВЕТА
УСЛОВИЕ. Задан граф G=(V,E).
ВОПРОС. Можно ли G раскрасить в 3 цвета?
Другими словами, существует ли функция /: У-»-{1, 2, 3}, такая, что
f(u) Ф f(v), если {«, v] s ??
Указание. Использовать 3-ВЫП.
4. Применение теории NP-полноты
для анализа задач
Теперь, когда мы овладели основными элементами теории
NP-полноты, можно перейти к использованию этой теории для
анализа задач.
Из рассуждений, приведенных в гл. 1, следует, что, встре-
встретившись с новой задачей, естественно сначала задать вопрос:
"Можно ли рассматриваемую задачу решить полиномиальным
алгоритмом?" Если ответ на этот вопрос оказывается положи-
положительным, то с точки зрения теории NP-полноты ничего большего
о задаче сказать нельзя. Дальнейшие усилия мы можем скон-
сконцентрировать на поиске как можно более эффективных полино-
полиномиальных алгоритмов. Однако, если для решения задачи не
известно полиномиального алгоритма, естественно возникает
второй вопрос: "Верно ли, что рассматриваемая задача NP-
полна?"
Для того чтобы поставленный вопрос имел смысл, предпо-
предположим, что рассматриваемая задача сформулирована как за-
задача распознавания и что она принадлежит классу NP. Заме-
Заметим, что в некоторых случаях легко устанавливается полино-
полиномиальная разрешимость интересующей нас задачи, в других же
оказывается очевидной ее NP-полнота. Если задача оказалась
NP-полной, то это является сильным аргументом в пользу того,
что ее нельзя решить за полиномиальное время.
В большинстве случаев, однако, найти ответ на каждый из
поставленных вопросов довольно трудно. Обычно совсем не оче-
очевидно, что задача разрешима за полиномиальное время или что
она NP-полна, а требуется некоторая работа для выяснения,
какая из этих двух возможностей в действительности реализу-
реализуется (в том случае, конечно, если реализуется хотя бы одна из
них; напомним, что в разд. 2.5 говорилось о том, что если
р =/Ь NP, то в классе NP существуют задачи, которые неразре-
неразрешимы за полиномиальное время и не NP-полны). Как в этом
случае выяснить сложность рассматриваемой задачи?
Если интуитивно мы склоняемся в пользу одной из возмож-
возможностей, то очень соблазнительно сконцентрировать усилия в
этом направлении. Однако в подобных вопросах интуиция ока-
оказывается особенно обманчивой, ибо зачастую задачи, разреши-
разрешимые за полиномиальное время, очень незначительно отличаются
от NP-полных задач. Например, мы уже видели, что задачи
3-ВЫПОЛНИМОСТЬ C-ВЫП) и ТРЕХМЕРНОЕ СОЧЕТАНИЕ
4. Применение теории NP-полноты для анализа задач 103
C-С) NP-полны, а близкие задачи 2-ВЫПОЛНИМОСТЬ и ПА-
РОСОЧЕТАНИЕ разрешимы за полиномиальное время. На
рис. 4.1 указано несколько других пар задач, одна из которых
принадлежит классу Р, а другая NP-полна. Наша интуиция, как
правило, основана на опыте работы с близкими задачами. По
этой причине мы серьезно рискуем сбиться с правильного пути,
если позволим себе, доверяясь интуиции, сконцентрироваться на
исследовании только одной возможности.
Таким образом, при анализе задач лучше пользоваться дву-
двусторонним подходом. Пытаясь с одной стороны доказать NP-
полноту задачи, одновременно целесообразно искать полино-
полиномиальный алгоритм ее решения. Конечно, в каждый данный
момент мы выбираем направление исследований исходя из того,
что представляется нам перспективнее, но нужно быть готовым
сменить направление исследований. В действительности, по мере
того как мы будем переходить от одного направления к другому
и обратно, оба направления, взаимодействуя друг с другом, сли-
сливаются в единое целое. Неудачи в доказательстве NP-полноты
задачи могут породить идею алгоритма ее решения, а неудачи
в построении алгоритма могут указать путь к доказательству
NP-полноты задачи. Любые частичные результаты, полученные
в процессе подобных исследований, особенно результаты о "нор-
"нормальной форме" решений, могут оказаться в равной степени
полезными как для доказательства NP-полноты задачи, так и
для построения эффективного алгоритма ее решения.
Само собой разумеется, что успешное применение нд прак-
практике такого двустороннего подхода требует от исследователя
мастерства как в отыскании доказательств NP-полноты, гак и
в построении полиномиальных алгоритмов. О методах доказа-
доказательства NP-полноты было уже достаточно много сказано в
гл. 3. С методами построения эффективных алгоритмов читатель
может ознакомиться в стандартных книгах по построению алго-
алгоритмов, см. например, [9, 445]. В настоящей главе мы сорредо-
точим внимание на следующем вопросе: если доказана NP-пол-
нота некоторой задачи (что бывает очень часто), как использо-
использовать рассмотренный выше двусторонний подход для более глу-
глубокого анализа этой задачи?
В разд. 4.1 обсуждается вопрос о том, каким образом можно
глубже прозондировать сложность NP-полной задачи, изучая
ее подзадачи и пытаясь разграничить полиномиально разреши-
разрешимые и NP-полные подзадачи. В разд. 4.2 рассматриваются под-
подзадачи специального вида, часто заслуживающие внимания в
тех случаях, когда в исходной задаче существенную роль играют
целые числа. Такой подход приводит к понятиям "алгоритм с
псевдополиномиальным временем работы" и "сильная NP-пол-
нота", а также к дополнению списка "основных" NP-полных
p
кратчайший путь между
двумя вершинами
УСЛОВИЕ. Заданы: граф
G = (V, Е), длины l(e)eZ+ для
всех е s Е, выделенные вершины
a, ie7 и положительное целое
число В.
ВОПРОС. Существует ли в G
простой путь из а в Ъ, имеющий
длину не более В?
РЕБЕРНОЕ ПОКРЫТИЕ
УСЛОВИЕ. Заданы граф G = (У,
Е) и положительное целое число К.
ВОПРОС. Существует ли подмно-
подмножество Е' е Е, такое, что | Е' |< К
и для каждой вершины о е V
имеется такое ребро е е Е', что
нее?
ТРАНЗИТИВНАЯ РЕДУКЦИЯ
УСЛОВИЕ. Заданы ориентирован-
ориентированный граф G = (V, Л) и положи-
положительное целое число К.
ВОПРОС. Существует ли подмно-
подмножество A' s V X У> такое, что
| А' | ^ К и для всех и, oel'
граф G' = (V, А') содержит путь
из и в v тогда и только тогда,
когда граф G содержит такой
путь?
РАСПИСАНИЕ ДЛЯ ПРЯМОГО
ДЕРЕВА ЗАДАНИЙ
УСЛОВИЕ. Заданы: множество Т
заданий с единичной длительно-
длительностью, директивный срок i/(/)eZ +
для каждой /еГ, частичный по-
порядок <• на множестве Т, отно-
относительно которого каждое задание
имеет не более одного непосред-
непосредственно следующего за ним, поло-
положительное целое число пг.
ВОПРОС. Можно ли составить
для множества Т расписание на m
процессорах, на каждом из кото-
которых задания выполняются согласно
заданному частичному порядку,
так что все директивные сроки
окажутся выполненными?
NP-полные
САМЫЙ ДЛИННЫЙ ПУТЬ
МЕЖДУ ДВУМЯ ВЕРШИНАМИ
УСЛОВИЕ. Заданы: граф G = (V,
Е), длины / (е) е Z+ для всех
ее?, выделенные вершины а,
b e V и положительное целое
число В.
ВОПРОС. Существует ли в G
простой путь из а в Ь, имеющий
длину не менее В?
ВЕРШИННОЕ ПОКРЫТИЕ
УСЛОВИЕ. Заданы граф G = (V,
Е) и положительное целое число К.
ВОПРОС. Существует ли подмно-
подмножество V s V, такое, что
| V '\ ^ К и для любого ребра
е е Е имеется такая вершина
v е V', что wee?
МИНИМАЛЬНЫЙ ЭКВИВА-
ЭКВИВАЛЕНТНЫЙ ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГРАФ
УСЛОВИЕ. Заданы ориентиро-
ориентированный граф G = (V, А) и поло-
положительное целое число К.
ВОПРОС. Существует ли подмно-
подмножество A's А, такое, что
|Л'|^/С и для всех и, veV
граф G' = (V, А'), содержит путь
из и в v тогда и только тогда,
когда граф G содержит такой
путь?
РАСПИСАНИЕ ДЛЯ ОБРАТ-
ОБРАТНОГО ДЕРЕВА ЗАДАНИИ
УСЛОВИЕ. Заданы: Множество Т
заданий с единичной длительно-
длительностью, директивный срок d(f)eZ +
для каждого 1еТ, частичный
порядок <¦ на множестве Т, отно-
относительно которого каждое задание
имеет не более одного непосред-
непосредственного предшественника, поло-
положительное целое число т.
ВОПРОС. Можно ли составить
для множества Т расписание на m
процессорах, на каждом из кото-
которых задания выполняются сог-
согласно заданному частичному по-
порядку, так что все директивные
сроки окажутся выполненными?
Рис. 4.1. Пары близких задач, одна из которых принадлежит классу Р,,
а другая NP-полиа."
4.1. Анализ подзадач 105
задач седьмой задачей. Заканчивает главу разд. 4.3, в котором
кратко обсуждается использование подзадач при изучении влия-
влияния на сложность задачи ее индивидуальных параметров (а не
только общей "длины входа").
4.1. АНАЛИЗ ПОДЗАДАЧ
Предположим, нам только что удалось доказать, что инте-
интересующая нас задача NP-полна. При этом мы получаем полные
ответы на оба вопроса, с которых начинался анализ вопросов.
Однако это лишь первый шаг на пути решения задачи. Задача,
которой мы занимаемся, часто получается как идеализация ме-
менее привлекательной прикладной задачи, и некоторые детали,
опущенные в процессе идеализации, могут изменить задачу в
такой степени, что она станет разрешимой за полиномиальное
время. Даже если это не так, у задачи могут иметься некоторые
важные частные подзадачи, которые могут быть решены за
полиномиальное время. Возможно также, что индивидуальные
задачи, плохо поддающиеся решению, встречаются относительно
редко и имеют легко выявляемые особенности, позволяющие за-
заблаговременно опознать такие задачи. Эти возможности могут
быть изучены с помощью анализа подзадач интересующей нас
задачи.
Согласно принятому нами описанию массовых задач распо-
распознавания, каждая из них состоит из двух частей: множества D
всех индивидуальных задач и множества У индивидуальных за-
задач из Ос ответом "да". Подзадачей (или "частным случаем")
задачи U = (D, Y) называется такая задача П'= (D', У"), что
D'^D и У = Yf[D'. Другими словами, П' есть подзадача за-
задачи П, если в ней сформулирован тот же вопрос, что и в П, но
только на некотором подмножестве множества индивидуальных
задач из П.
Таким образом, подзадачи возникают всякий раз, когда на
множество индивидуальных задач налагаются дополнительные
ограничения. В задачах из теории графов, например, можно
ограничиваться индивидуальными задачами, в которых графы
планарны, или двудольны, или ацикличны, или обладают неко-
некоторыми из этих свойств одновременно. В задачах, содержащих
множества, можно ограничиться индивидуальными задачами, в
которых мощность множеств не превосходит заданной величи-
величины, или задачами, в которых все элементы содержатся не более
чем в ограниченном числе множеств. Можно потребовать, чтобы
любые величины, сопоставляемые элементам множества, при-
принадлежали некоторому ограниченному множеству допустимых
значений. Из всех этих возможных задач для детального ана-
анализа обычно выбираются те, которые имеют известные
106 4. Применение теории NP-полноты для анализа задач
приложения или в каком-то смысле являются "естественными"'
подзадачами, возникновение которых можно ожидать в прило-
приложениях.
Совершенно ясно, что, если даже задача П является NP-пол-
ной, ее подзадачи могут быть как NP-полными, так и полино-
полиномиально разрешимыми. Конечно, если задача П принадлежит
классу Р, то любая ее подзадача, индивидуальные задачи которой
распознаваемы за полиномиальное время (а мы будем рассма-
рассматривать только подзадачи, обладающие последним свойством),
ИР-паяные задачи
Открытые зшят
(пограничная хта)
Рис. 4.2. Одна из возможных ситуаций состояния знаний о подзадачах NP-
полной задачи П.
Задачи изображены кружками. Темные кружки соответствуют NP-полным
вадачам, светлые — задачам класса Р, а кружки с точкой — «открытым>
задачам. Стрелка от задачи П i к задаче П2 указывает на то, что П, есть
подзадача П2.
также должна лежать в Р. Мы уже отмечали отличающиеся в
этом отношении две подзадачи ВЫПОЛНИМОСТЬ — а именно
задачи 3-ВЫПОЛНИМОСТЬ и 2-ВЫПОЛНИМОСТЬ. В пред-
предположении, что Р ф NP, можно считать что подзадачи любой
NP-полной задачи лежат по разные стороны воображаемой
"границы", разделяющей полиномиально разрешимые и трудно-
решаемые задачи. При анализе задач наша цель состоит в вы-
выяснении, какие подзадачи по какую сторону этой границы
лежат.
В действительности, по-видимому, лучше будет в каждый от-
отдельный момент времени представлять себе "пограничную зону"
между подзадачами, разрешимость которых за полиномиальное
время уже известна, и подзадачами, для которых установлена
NP-полнота. Подобная пограничная зона состоит из подзадач,
NP-полнота которых остается под вопросом. На рис. 4.2 схема-
схематически изображено возможное "состряние знании" о наборе
подзадач задачи П-
4.1. Анализ подзадач 107
Если нам удается определить, что некоторая открытая задача
лежит в Р или NP-полна, то тем самым сужается пограничная
зона и увеличивается изученная часть класса NP. Конечно, если
задача неразрешима за полиномиальное время, нам никогда не
удастся полностью исчерпать пограничную зону,' кроме, воз-
возможно, случая,когда представляет интерес только ограниченное
число подзадач. Даже когда мы ограничиваемся фиксированным,
конечным набором подзадач, некоторые из них могут оказаться
принадлежащими к группе промежуточных задач, которые ни
NP-полны, ни принадлежат классу Р (как мы уже отмечали,
если Р ф NP, то такие задачи должны существовать). Тем не
менее, когда мы выясняем место одной из задач, оставшейся
открытой, можно считать, что мы приближаемся к воображае-
воображаемой "пограничной линии".
Чтобы конкретизировать сказанное выше, рассмотрим задачу
составления расписания выполнения заданий, имеющих равную
длительность и подчиненных отношению предшествования (эта
задача сама по себе представляет частный случай некоторых
более общих задач теории расписаний).
РАСПИСАНИЕ С ОТНОШЕНИЕМ ПРЕДШЕСТВОВАНИЯ
УСЛОВИЕ. Задано множество Т "заданий" (предполагается,
что все они имеют длительность 1) и частичный порядок <• на
множестве Т, число "процессоров" m и общий директивный срок
Z)e=Z+.
ВОПРОС. Существует ли такое "расписание" а: Т-*-{0, 1, ...
.... D), что для каждого ie{0, 1 D) | {/ <= Т: <т(/) = /} | ^
< m и если t<f, то o(t)<a(t'O
В качестве гипотетического "приложения" этой задачи рас-
рассмотрим следующую ситуацию. Предположим, что вы ассистент
факультета прикладной математики Государственного универ-
университета и только что получили задание помочь поступившим
первокурсникам составить план своих занятий на все время обу-
обучения. Студенты представляют вам список всех курсов, которые
они намереваются прослушать, и число m — максимальное число
курсов, которые они могут слушать одновременно, D — число
семестров обучения. Университет достаточно большой, так что
каждый курс лекций читается каждый семестр и никакие два
курса не пересекаются по времени. Однако некоторые курсы
являются вспомогательными для других и поэтому должны быть
прослушаны раньше последних (/<•/' означает, что / является
вспомогательным для f). Предположим, что вы решили напи-
написать программу для ЭВМ, которая, пользуясь этой информа-
информацией, составляла бы для каждого студента соответствующее
расписание.
108 4. Применение теории ЫР-полноты для анализа задач
Задача РАСПИСАНИЕ С ОТНОШЕНИЕМ ПРЕДШЕСТВО-
ПРЕДШЕСТВОВАНИЯ NP-полна [518], поэтому мало вероятно, что вам
удастся построить полиномиальный алгоритм составления рас-
расписания в общем случае. Тем не менее, возможно, найдутся не-
некоторые естественные ограничения, приемлемые для большин-
большинства студентов и облегчающие решение задачи. Поскольку ра-
работоспособность студентов ограничена, то вполне вероятно, что
m можно ограничить сверху некоторым числом, например 6.
Вспомогательные курсы лекций также могут удовлетворять до-
дополнительным ограничениям. Многие из ваших студентов могли
выбрать столь разнообразную программу обучения, что ни один
из выбранных ими курсов лекций не потребует вспомогательных
m<5 m<100 m произвольно
< произвольно
< пусто
Рис. 4.3. Современное состояние знаний о семействе подзадач задачи РАС-
РАСПИСАНИЕ С ОТНОШЕНИЕМ ПРЕДШЕСТВОВАНИЯ (в обозначениях
рис. 4.2).
курсов (в этом случае условие порядка отсутствует). В неко-
некоторых случаях может оказаться, что для каждого данного курса
лекций требуется только один "явный" вспомогательный курс,
а все остальные курсы, вспомогательные для данного, являются
вспомогательными также и для "явного" вспомогательного.
В этом случае частичный порядок представляет собой древо-
древовидную структуру. Возможны и другие ограничения, но мы оста-
остановимся только на перечисленных. Таким образом, возникает
семейство подзадач, представленное на рис.4.3. На этом же ри-
рисунке приведены известные сведения о сложности этих подзадач.
Заметим, что все возможности, указанные на рис. 4.2, вклю-
включая пограничную зону, встречаются на рис.4.3. В случае когда
имеется подобная однородная иерархия подзадач, очень часто
ту же самую информацию можно задать более кратко, указав
"минимальную" NP-полную и "максимальную" разрешимую за
полиномиальное время подзадачу. Если задано семейство С под-
подзадач некоторой NP-полной задачи, то задача ПеС является
(в настоящее время) минимальной NP-полной подзадачей, если
известна NP-полнота задачи П и у нее нет подзадачи IT, кото-
которая была бы NP-полна и принадлежала семейству С. Задача
П е С является (в настоящее время) максимальной полино-
полиномиально разрешимой подзадачей, если известна ее принадлеж-
4.1. Анализ подзадач 109
ность классу Р и в семействе С нет задачи П', которая была бы
разрешима за полиномиальное время и содержала бы П в ка-
качестве подзадачи. Аналогичным образом можно определить ми-
минимальную и максимальную открытые подзадачи семейства С.
Для класса подзадач задачи РАСПИСАНИЕ С ОТНОШЕ-
ОТНОШЕНИЕМ ПРЕДШЕСТВОВАНИЯ, представленного на рис. 4.3,
две подзадачи, определяемые ограничениями "<• — произвольно,
т ^ 2" и "<¦ — дерево, т — произвольно", являются (в настоя-
настоящее время) максимальными подзадачами, разрешимыми за по-
полиномиальное время. Сама общая задача является (в настоя-
настоящее время) минимальной NP-полной подзадачей. Минимальная
открытая подзадача определяется ограничениями "<¦—произ-
"<¦—произвольно, т ^ 3", а максимальной открытой подзадачи не сущест-
существует, поскольку все задачи с ограничением вида "<• — произ-
произвольно, т ^ У" открыты при всех целых / ^ 3.
Вполне естественным представляется изучение пограничной
области задачи с помощью общей схемы двустороннего подхода,
описанной выше. Мы по очереди рассматриваем подзадачи,
представляющиеся наиболее вероятными кандидатами на при-
принадлежность классу Р, и подзадачи, кажущиеся NP-полными.
Используя в качестве отправных точек подзадачи, очевидным
образом разрешимые за полиномиальное время, и подзадачи,
NP-полнота которых следует непосредственно из NP-полноты
общей задачи, мы постепенно увеличиваем множество индиви-
индивидуальных задач первой подзадачи и уменьшаем множество ин-
индивидуальных задач второй. В отличие от случая, когда изу-
изучается одна отдельная задача с переходами от построения алго-
алгоритма к доказательству NP-полноты, при анализе подзадач у
нас появляется возможность изменять также и сами задачи, от
более ограничительных к менее ограничительным.
Техника, используемая для доказательства NP-полноты под-
подзадач, по существу, аналогична описанной в гл. 3 технике
доказательства NP-полноты изолированных задач. Однако име-
имеется одно весьма важное различие. Когда мы пытаемся дока-
доказать NP-полноту подзадачи, нам уже известно доказательство
NP-полноты некоторой обобщенной версии этой подзадачи. Это
дает нам хорошего кандидата на "известную" NP-полную за-
задачу (чем можно воспользоваться в искомом доказательстве), а
также доказательство NP-полноты, которое можно было бы мо-
модифицировать, чтобы получить соответствующее доказательство
для рассматриваемой подзадачи. Хотя это и не всегда облегчит
достижение нашей цели, но, по крайней мере в отличие от дока-
доказательства NP-полноты изолированной задачи, нам будет от
чего оттолкнуться.
Преимущества такого подхода можно удачно проиллюстри-
проиллюстрировать на некоторых хорошо известных задачах из теории гра-
110 4. Применение теории NP-полноты для анализа задач
фов. Поскольку среди NP-полных задач очень часто встреча-
встречаются задачи из теории графов, а ограничения, которые мы бу-
будем рассматривать для таких задач, часто оказываются сущест-
существенными, то в действительности различные приемы, используе-
используемые нами для доказательства результатов об NP-полноте при
этих ограничениях, заслуживают рассмотрения сами по себе.
В дальнейшем мы будем обсуждать много разнообразных
задач из теории графов, а в качестве первого примера возьмем
следующую задачу (уже встречавшуюся в гл. 3) о "раскраске
графа":
РАСКРАШИВАЕМОСТЬ ГРАФА В 3 ЦВЕТА
УСЛОВИЕ. Задан граф G = (V,E).
ВОПРОС. Верно ли, что G раскрашиваем в 3 цвета? Другими
словами: "Существует ли такая функция /: V-*- {1, 2, 3}, что
Ки) =*=/(»), если {и, v}<=E?"
Эта задача связана со знаменитой проблемой четырех кра-
красок (недавно решенной Аппелем и Хакеном [19, 20] и возникаю-
возникающей в связи с задачами теории расписаний и разбиений). За-
Задача сама по себе представляет собой частный случай задачи
РАСКРАШИВАЕМОСТЬ ГРАФА В К ЦВЕТОВ, в которой /
принимает значение в множестве {1, ..., К}, а К входит в усло-
условие задачи. NP-полнота задачи РАСКРАШИВАЕМОСТЬ ГРА-
ГРАФА В 3 ЦВЕТА была доказана Стокмейером [496] (доказатель-
(доказательство опубликовано также в работе [157]).
Первое из рассматриваемых нами ограничений состоит в
ограничении максимальной степени вершин (степенью вершины
называется число содержащих ее ребер). Большинство задач из
теории графов может быть решено за полиномиальное время,
если максимум степеней вершин графа достаточно мал. Напри-
Например, если потребовать, чтобы все вершины графа имели степень
не более 2, то задачи ГАМИЛЬТОНОВ ЦИКЛ, ВЕРШИННОЕ
ПОКРЫТИЕ и РАСКРАШИВАЕМОСТЬ ГРАФА В 3 ЦВЕТА
(а также почти любая задача из теории графов, которую можно
себе вообразить) тривиально решаются за полиномиальное вре-
время. Таким образом, возникает вопрос: "Каково самое сильное
ограничение на степени вершин, при котором задача все еще
остается NP-полной?"
Задача КЛИКА — одна из задач для которой никакое огра-
ограничение на степени вершин не сохраняет свойства NP-полноты.
Это объясняется тем, что если степени вершин ограничены чис-
числом D, то граф не может содержать клику на более чем D + 1
вершинах. Следовательно, наибольшая клика может быть най-
найдена перебором всех подмножеств вершин, состоящих не более
чем из D -\- 1 элементов, а поскольку D фиксировано, то число
4.1. Анализ подзадач 111
таких подмножеств ограничено полиномом. Заметим, что хотя
(в предположении Р ф NP) это соображение предупреждает
наши попытки доказывать NP-полноту ограниченной версии за-
задачи КЛИКА, алгоритм, который можно построить на его
основе при больших D, не представляет практического интереса.
Для многих других задач из теории графов имеются NP-пол-
ные подзадачи с ограниченной степенью вершин. На рис. 4.4
представлены некоторые результаты этого типа. Отметим, что
все границы являются наилучшими возможными (в предполо-
предположении Р ф NP), поскольку их уменьшение всего лишь на 1 при-
приводит к полиномиально разрешимой подзадаче. В действитель-
действительности задачи становятся тривиальными. (Для задачи РАСКРА-
ШИВАЕМОСТЬ ГРАФА В 3 ЦВЕТА теорема Брукса [56]
R Р ппи П< NP-полная
В Р при У^ при D>
ВЕРШИННОЕ ПОКРЫТИЕ 2 3
ГАМИЛЬТОНОВ ЦИКЛ 2 3
РАСКРАШИВАЕМОСТЬ 3 4
ГРАФА В 3 ЦВЕТА
МНОЖЕСТВО ВЕРШИН, 2 3
РАЗРЕЗАЮЩИХ КОНТУРЫ
Рис. 4.4. Классификация (относительно разрешимости за полиномиальное
время и NP-полноты) подзадач, получаемых рассмотрением индивидуальных
задач, у которых степень вершин не превосходит D.
утверждает, что связный граф с максимальной степенью вер-
вершин, равной 3, раскрашиваем в 3 цвета тогда и только тогда,
когда он не является полным графом на четырех вершинах.)
(Последнее условие легко проверяется.)
Каждый из этих результатов об NP-полноте подзадач на
графах с ограниченной степенью вершин может быть получен
из общей задачи с помощью метода локальной замены. Основ-
Основную идею, которая заключается в "замене вершин", мы проил-
проиллюстрируем на примере задачи РАСКРАШИВАЕМОСТЬ ГРА-
ГРАФА В 3 ЦВЕТА.
Теорема 4.1. Задача РАСКРАШИВАЕМОСТЬ ГРАФА В 3
ЦВЕТА для графов, все вершины которых имеют степень не
более 4, остается NP-полной.
Доказательство. Принадлежность ограниченной задачи клас-
классу NP следует немедленно из аналогичного результата для об-
общей задачи. Поэтому предположим, что E = (V, Е)—произволь-
Е)—произвольная индивидуальная задача общей задачи. Необходимо по-
112 4. Применение теории NP-полноты для анализа задач
строить соответствующий граф G' = (V, E'), не имеющий
вершин степени более 4 и раскрашиваемый в 3 цвета тогда и
только тогда, когда граф G раскрашиваем в 3 цвета.
Прием "замена вершин" основан на использовании пред-
представленного на рис. 4.5(а) графа Я3 на восьми вершинах. Этот
граф имеет три "разъема", помеченные на этом рисунке чис-
числами 1, 2 и 3. При й^4 вершина, инцидентная k ребрам, за-
заменяется графом Я*, имеющим k разъемов, который получается
из графа Нк-\ подсоединением экземпляра графа Я3 (причем к
(k—1)-му разъему графа Нк-\ подсоединяется первый разъем
графа #з). Разъемы графа #*_i — вершины степени два. Все
Рис. 4.5. Граф Н3 и граф Н5 (образованный тремя экземплярами графа Н3),
используемые для доказательства NP-полноты задачи РАСКРАШИВАЕ-
МОСТЬ ГРАФА В 3 ЦВЕТА с ограниченными степенями вершин.
разъемы графа Нк-\ сохраняют свои метки, а разъемы с номе-
номерами 2 и 3 подсоединяемого графа Я3 получают метки k — 1 и k
соответственно. На рис. 4.5F) представлен граф Н5.
Легко видеть, что для всех k ^ 3 имеют место следующие
утверждения:
A) Граф Нк имеет 7(k — 2)+ 1 вершин, включая k помеченных
разъемов.
B) В графе Нк нет вершин степени более 4.
C) Степень каждого разъема равна 2.
D) Граф Нк раскрашиваем в 3 цвета, но не раскрашиваем в
2 цвета, а любая его раскраска в 3 цвета сопоставляет всем
разъемам один и тот же цвет.
Перенумеруем произвольным образом г вершин v\, 02. ••-, vr
заданного графа G, степени которых превосходят 4. Теперь по-
последовательность графов
G = G0, G], G2 Gr = G'
строится следующим образом. Граф G,-, 1 ^ i ^ г, строится по
графу Gi-\. Пусть d — степень вершины vi в графе Gi-\, a
{ии Vi}, {«2, v,} {ud, Vi} — ребра, содержащие эту верши-
вершину. Для построения графа G,- из графа G,_i удаляем вершину Vi,
заменяя ее экземпляром графа На, и при этом каждое ребро
4.1. Анализ подзадач 113
{«/, vi} заменяется ребром, соединяющим щ с /-м разъемом
графа На-
Из построения и перечисленных выше фактов вытекает, что
при 0 ^ А <; л граф Gk имеет г — k вершин степени более 4 и
граф Gk раскрашиваем в три цвета тогда и только тогда, когда
граф G раскрашиваем в три цвета. Отсюда следует, что граф
G' = G, обладает необходимым свойством. ¦
Для других задач используются иные замены вершин и под-
подчас требуется большая изобретательность, чтобы отыскать со-
соответствующую замену, сохраняющую все нужные свойства. Од-
Однако поскольку на практике такие ограничения встречаются
достаточно часто (например, ограничение на число входов и
ветвлений выходов в логических схемах), то имеет смысл из-
изучить их влияние на сложность любой общей задачи теории
графов.
Другое общее ограничение для задач из теории графов свя-
связано с планарностью графов. Граф называется планарным, если
его можно вложить в плоскость посредством отождествления
каждой вершины с точкой плоскости, а ребра — с линией, сое-
соединяющей его конечные точки (причем никакие две линии не
должны иметь общих точек, кроме, быть может, концов). На-
Например при составлении карт и при конструировании печатаных
схем возникают планарные графы, поэтому вполне естественно
рассмотреть влияние планарности на сложность задачи. КЛИКА
снова дает нам пример задачи, которая при наложении такого
ограничения упрощается, ибо пленарный граф не может содер-
содержать полного подграфа более чем на четырех вершинах. Более
интересен пример следующей задачи:
МАКСИМАЛЬНЫЙ РАЗРЕЗ
УСЛОВИЕ. Заданы граф G = (V, Е), вес ay(e)eZ+ для каж-
каждого ребра ее?, а также целое положительное число К.
ВОПРОС. Можно ли разбить множество V на такие два непере-
непересекающихся подмножества Vi и Уг, чтобы сумма весов ребер
из Е, имеющих концы в разных подмножествах, была не мень-
меньше К?
Для произвольных графов эта задача NP-полна, даже если
потребовать, чтобы веса всех ребер были равны [157]. Однако
в работах [406, 195] показано, как теория паросочетаний может
быть использована для решения этой задачи на пленарных гра-
графах без каких-либо ограничений на веса ребер.
С другой стороны, многие задачи на графах (например, все
задачи, обсуждавшиеся в гл. 3) остаются NP-полными даже
для пленарных графов. К доказательству результатов подоб-
подобного типа имеется два подхода. Первый из них состоит в том,
114
4. Применение теории ЫР-полноты для анализа задач
чтобы найти задачу, для которой NP-полнота на планарных
графах уже известна, и использовать сводимость, сохраняющую
планарность. Второй, более общий прием состоит в применении
к исходной задаче метода локальной замены, для чего конструи-
конструируется "переплетение", которое можно было бы использовать
вместо любого переплетения ребер, возникающего при вложении
графа (не обязательно планарного). Для иллюстрации этого
приема опять вернемся к задаче РАСКРАШИВАЕМОСТЬ ГРА-
ГРАФА В 3 ЦВЕТА.
Теорема. 4.2. Задача РАСКРАШИВАЕМОСТЬ ПЛАНАР-
ПЛАНАРНОГО ГРАФА В 3 ЦВЕТА ЫР-полна.
Доказательство. Принадлежность этой задачи классу NP
очевидна (планарность графа можно распознать за полиноми-
х альное время, применив, на-
например, линейный по времени
алгоритм Хопкрофта и Тарья-
на [213]). Поэтому предполо-
предположим, что G—(V,E) — произ-
произвольная индивидуальная за-
задача РАСКРАШИВАЕМОСТЬ
ГРАФА В 3 ЦВЕТА. Требует-
Требуется указать способ построения
соответствующего планарного
графа G' = (V, E'), такого,
что G' раскрашиваем в 3 цве-
цвета тогда и только тогда, когда
G раскрашиваем в 3 цвета.
"Переплетение", используе-
используемое в доказательстве, — это
граф, представленный на рис.
4.6. У него разъемы х, х', у
и у' помечены. Это переплете-
переплетение было предложено М. Дж. Фишером, оно проще переплете-
переплетения, использовавшегося в исходном доказательстве Стокмейера
[496]. Граф Н имеет 13 вершин, 24 ребра и обладает следую-
следующими свойствами (проверку которых мы оставляем читателю):
1. Любая раскраска графа Н в три цвета удовлетворяет усло-
условиям f(x) = f(x') и f(y) = f(y').
2. Существуют такие раскраски fi и f2 графа Я в три цвета, что
выполняются свойства
Рис. 4.6. Переплетение Н, исполь-
используемое в доказательстве NP-полноты
задачи РАСКРАШИВАЕМОСТЬ
ГРАФА В 3 ЦВЕТА для планарных
графов.
4.1. Анализ подзадач Пб
Граф G' строится по G следующим образом:
(а) Вкладываем граф G в плоскость, позволяя ребрам пе-
пересекаться, но не допуская прохождения ребра через
вершину, отличную от концов, и не разрешая пересече-
пересечения более чем двух ребер в одной точке (за исключением
вершин). Это может быть легко сделано за полиномиаль-
полиномиальное время.
(б) Для каждого ребра {и, v) e Е назовем его представле-
представление на плоскости "{и, v)-линией". Для каждой линии,
t \ I
Рис. 4.7. Построение no заданному графу G пленарного графа С, исполь-
использующее переплетение Н, представленное на рис. 4.6 и сохраняющее свойство
раскрашиваемое™ в 3 цвета.
"пересекаемой" другими линиями, добавим новые вер-
вершины по одной между каждым концом и ближайшей к
нему точкой пересечения и по одной между каждой па-
парой соседних точек пересечения — см. рис. 4.7 (а) и (б).
(в) Заменяем каждую точку пересечения линий в графе
экземпляром графа Н, отождествляя разъемы х и *' с
ближайшими двумя точками, на одной из пересекаю-
пересекающихся линий, а разъемы у и у' с ближайшими двумя
точками на другой — см. рис. 4.7(в).
(г) Для каждого ребра {и, v) e E выберем одну из его вы-
выделенных конечных точек и сольем ее с ближайшей
новой точкой на {и, и}-линии — см. рис. 4.7(г). Если на
{и, и}-линии нет новых точек, то слияний не происходит
и все исходные вершины (множества V) сохраняются
неизменными. Ребро между другой концевой точкой
116 4. Применение теории NP-полноты для анализа задач
{и, и}-линии и ближайшей к ней новой точкой на {и, v}-
линии будет называться оперантным ребром {и, v}-ли-
v}-линии.
На этом описание графа G заканчивается. Нетрудно видеть,
что граф С планарный и может быть построен за полиномиаль-
полиномиальное время. Остается показать, что G' раскрашиваем в три
цвета тогда и только тогда, когда G раскрашиваем в три
цвета.
Предположим, что f: V'->-{l, 2, 3} — произвольное раскра-
раскрашивание графа G' в три цвета. Утверждается, что ограничение
f на V есть раскрашивание в 3 цвета графа G. Предположим
противное. Тогда должно существовать ребро {и, v} e?, такое,
что f(u)=f(v). Рассмотрим {и, и}-линию в графе G' и (без
ограничения общности) предположим, что и — выделенный ко-
конец этого ребра, выбранный на шаге (г) построения. В силу
свойства 1 графа Я все новые точки {и, у}-линии должны быть
окрашены в тот же "цвет", что и вершина и. Следовательно,
оба конца оперантного ребра этой линии должны быть окра-
окрашены в одинаковый цвет, а это противоречит предположению,
что f являлось раскрашиванием графа С в 3 цвета.
Обратно, предположим, что f: V->{\, 2, 3} — произвольное
раскрашивание графа G в три цвета. Это раскрашивание может
быть продолжено до раскрашивания в три цвета графа G' сле-
следующим образом. Для каждого ребра {и, v} e E окрасим каж-
каждую новую точку {и, v}-линии в цвет f(u), где и — выделенная
вершина этой линии. Это обеспечивает то, что оба конца каж-
каждого оперантного ребра оказываются окрашенными в разные
цвета (поскольку 1(и)ф f{v)). В силу свойства 2 графа Н, эта
частичная раскраска графа G' может быть продолжена до рас-
раскрашивания графа G' в 3 цвета с помощью выбора соответст-
соответствующей окраски вершин каждого из переплетений. Отсюда вы-
вытекает требуемый результат. Ш
Списки задач из приложения ознакомят читателя с большим
числом других результатов об NP-полноте ограниченных версий
задач из теории графов. В этих списках мы пытались дать как
можно больше информации о сложности различных подзадач
каждой задачи. Списками можно воспользоваться в качестве
одного из источников возможных ограничений, которые для дан-
данной задачи можно подвергнуть анализу. Другие ограничения
возникнут из контекста, в котором формулируются задачи. Ин-
Индивидуальные задачи, возникающие в конкретных приложениях,
часто будут удовлетворять специальным ограничениям. Эти
ограничения могут оказать влияние на сложность задачи, хотя
они на первый взгляд могут показаться несущественными.
4.2. Задачи с параметрами и сильная NP полнота
117
В следующем разделе мы обсудим ограничения специального
вида, часто представляющие интерес в задачах с числовыми
параметрами.
4.2. ЗАДАЧИ С ЧИСЛОВЫМИ ПАРАМЕТРАМИ
И СИЛЬНАЯ NP-ПОЛНОТА
Необходимость анализа подзадач NP-полной задачи особен-
особенно ярко проявляется в задачах с числовыми параметрами. При-
Причины этого явления можно проиллюстрировать на нижеследую-
нижеследующем примере применения метода "динамического программи-
программирования" для решения задачи РАЗБИЕНИЕ.
У
I
1
2
3
4
5
0
Т
т
т
т
1
т
т
т
т
2
F
ц.
F
F
3
F
F
F
Т
4
F
F
F
Т
5
F
F
Т
Т
6
F
F
Т
т
7
F
F
F
F
F
8
F
F
F
Т
9
F
Т
т
т
10
F
т
т
т
11
F
F
F
F
12
F
F
F
Т
13
F
F
F
Т
Рис. 4.8. Таблица значений t (/, /) для индивидуальной задачи РАЗБИЕНИЕ,
которая определяется множеством А = {аи а2, а3, а4, а8} и весами s(ai) = l,
s (в2) = 9, s (а3) = 5, s (а4) = 3 и s (a6) = 8. Рассматриваемой индивидуаль-
индивидуальной задаче соответствует ответ «да», поскольку t E, 13) = Г в силу того
что s(a\) +s (a2) + s (a4) => 13 = 26/2.
Пусть множество А = {аи а2, .... а„} и размеры его эле-
элементов s(ai), s(a2), ..., s(fl»)eZ+ определяют произвольную
индивидуальную задачу РАЗБИЕНИЕ. Положим В= ? s(a).
Ьсли # нечетно, то, очевидно, не существует такого подмноже-
подмножества A's А, что
aZ(,s(a) = asZ ts{a),
и, следовательно, рассматриваемой индивидуальной задаче со-
соответствует ответ "нет". Если же В четно, то пусть t(i, /) (где
1 ^ »' ^ п, 0 ss; / ^ В/2) обозначает значение истинности
утверждения: "существует такое подмножество множества
{аи а.2,..., ai), что сумма размеров его элементов равна в точ-
точности /". Значения t{i, /) можно расположить в виде таблицы,
как это сделано на рис. 4.8.
"Изюминка" предлагаемого метода заключается в очень про-
простой процедуре, которой можно воспользоваться для заполне-
заполнения таблицы. Процедура позволяет заполнить таблицу последо-
последовательно, строчка за строчкой сверху вниз. Совершенно ясно,
118 4. Применение теории ЫР-полноты для анализа задач
что в первой строке *A, /) = Т тогда и только тогда, когда либо
/ = О, либо / = s(ai). Каждая следующая строка заполняется
с использованием значений, расположенных в предыдущей
строке. Для 1 < / ^ п, 0 ^ / ^ В/2, равенство t{i, j) = Т имеет
место только в двух случаях: либо если t(i—1, j)=T, либо
если s(a;)^y и t(i—1, у — s(cii))= Т. После того как вся таб-
таблица будет заполнена, рассматриваемая индивидуальная за-
задача РАЗБИЕНИЕ будет решена, поскольку ей соответствует
ответ "да" тогда и только тогда, когда t{n, В/2)= Т.
У читателя не должно возникнуть трудностей при написа-
написании итеративного алгоритма заполнения таблицы согласно опи-
описанному выше способу; время работы алгоритма ограничено
полиномом низкой степени от числа клеток таблицы (т. е. по-
полиномом от пВ). На первый взгляд может даже показаться, что
это дает полиномиальный алгоритм решения задачи РАЗБИЕ-
РАЗБИЕНИЕ, откуда следует, что Р = NP и в результате чего настоя-
настоящая книга вообще становится ненужной. Однако это, конечно,
не так. Объяснение можно найти, вспомнив о требовании "сжа-
"сжатости" разумных схем кодирования задач, при которых каждое
целое число s(ai) должно быть представлено на входе словом
длины порядка О (logs (a,)). Следовательно, длина записи всей
индивидуальной задачи РАЗБИЕНИЕ будет величиной порядка
О (я log В), а пВ не ограничено никаким полиномом от этой
величины. Следовательно, описанный выше алгоритм не позво-
позволяет решить задачу РАЗБИЕНИЕ за полиномиальное время.
Тем не менее наличие такого алгоритма показывает, что
NP-полнота задачи РАЗБИЕНИЕ (а также ее предполагаемая
труднорешаемость) в значительной степени зависит от того об-
обстоятельства, что на входе могут присутствовать чрезвычайно
большие числа. Если бы на величину таких чисел заранее было
наложено какое-либо ограничение, например в виде полинома
от Length [/], то приведенный выше алгоритм для таким обра-
образом ограниченной задачи был бы полиномиальным. (В дальней-
дальнейшем для выделения алгоритмов, обладающих этим свойством,
мы введем термин "алгоритм с псевдополиномиальным време-
временем работы".) Естественно ожидать, что подобное ограничение
выполнено во многих задачах, встречающихся на практике.
Например, в задачах теории расписаний (где числа пред-
представляют собой длительности заданий) появление слишком
больших чисел мало вероятно, поскольку мы собираемся выпол-
выполнять задания реально, и если какое-то из них требует чрезвы-
чрезвычайно большого времени, то мы просто будем не в состоянии
его закончить. В других задачах, где числа представляют собой
эмпирически измеренные величины, доступная точность измере-
измерения ограничивает пределы изменения чисел, к которым наш
алгоритм должен быть применим.
4.2. Задачи с параметрами и сильная НР-полнота 119
Более того, алгоритм с псевдополиномиальным временем ра-
работы может быть полезен даже в тех случаях, когда нельзя
надеяться на естественное ограничение величины входных чи-
чисел. Такие алгоритмы будут работать "экспоненциально долго"
только для тех индивидуальных задач, в которых имеются
"экспоненциально большие" числа. Однако может оказаться,
что в интересующих нас приложениях подобные индивидуальные
задачи встречаются редко. Если это так, то алгоритм этого типа
может служить нашим целям почти столь же хорошо, как и по-
полиномиальный по времени алгоритм.
Таким образом, отыскание псевдополиномиального алгорит-
алгоритма для решения NP-полной задачи с числовыми параметрами —
вопрос достойный исследования. В дальнейшем мы увидим, что
не все числовые задачи в этом отношении подобны задаче РАЗ-
РАЗБИЕНИЕ. С помощью теории NP-полноты можно показать, что
если Р ф NP, то для решения некоторых из них не может су-
существовать даже псевдополиномиального алгоритма. В разд. 4.2.1
вводится новая терминология, а также закладывается фундамент
для доказательства подобных результатов о "сильной" NP-пол-
ноте. В разд. 4.2.2 иллюстрируется техника доказательств и при-
приводится седьмая из числа "основных" NP-полная задача.
4.2.1. Некоторые дополнительные определения
В следующих ниже определениях участвуют подзадачи,
получаемые при наложении ограничений на величины чисел, вхо-
входящих в индивидуальную задачу. Эти ограничения будут форму-
формулироваться с помощью двух не зависящих от кодирования функ-
функций Length: Dn-»-Z+ и Max: Dn-»-Z+, которые будут связы-
связываться с каждой задачей распознавания П. Хотя теоретически
эти две функции могут быть совершенно произвольными (так
же как схемы кодирования), значимость определяемых с их
помощью понятий будет зависеть от того, в какой мере эти
функции адекватно отражают следующий вкладываемый в них
смысл. Как говорилось в разд. 2.1, назначение функции Length
состоит в сопоставлении любой индивидуальной задаче / неко-
некоторого целого числа Length [/], соответствующего числу симво-
символов, используемых для описания / при некоторой разумной
схеме кодирования задачи П. Назначение функции Мах (не
обсуждавшейся ранее) состоит в сопоставлении любой инди-
индивидуальной задаче / целого числа Мах[/], соответствующего
величине максимального числа в /.
Типы результатов, которые мы будем доказывать в дальней-
дальнейшем, будут носить достаточно общий характер и будут спра-
справедливы для достаточно широкого класса "полиномиально экви-
эквивалентных" функций Length и Мах. Будем говорить, что две
120 4. Применение теории HP-полноты для анализа задач
функции длины записи Length и Length' для задачи П полино-
полиномиально эквивалентны, если существуют такие полиномы р и р',
что для всех индивидуальных задач / е /?п выполнены соотно-
соотношения
Length (/)</ (Length' [/]);
Length'(/)<p (Length [/]).
Будем говорить, что пара функций (Length, Max) полиномиаль-
полиномиально эквивалентна паре функций (Length', Max'), если, во-первых,
функции Length и Length' эквивалентны в смысле данного выше
определения и, во-вторых, существуют такие полиномы от двух
переменных q и q', что для всех / е Dn выполнены соотно-
соотношения:
Мах [/] < q' (Max' [/], Length' [/]);
Мах' [/] < q (Max [/], Length [/]).
Все формулируемые ниже результаты будут справедливы для
любых функций Length и Мах, полиномиально эквивалентных
тем функциям, которыми мы пользуемся.
В качестве примера рассмотрим задачу РАЗБИЕНИЕ, в ко-
которой индивидуальная задача / определяется конечным мно-
множеством А и размерами s(a)eZ+ каждого элемента а^А.
Любая из приводимых ниже функций подошла бы в качестве
функции Length для задачи РАЗБИЕНИЕ:
Length[/] = | Л |+ ?
Length[/] = | Л | + max {riog2 s(a)~\: a e= А};
Length [/] = | Л | • [log2 aS^ s (a)].
nap функций Length и Max, получаемых комбинацией функций
подошла бы в качестве функции Мах для задачи РАЗБИЕНИЕ:
Мах [/] = max {s (a): a e Л};
Max[/]= ? s(a);
асвА
Мы оставляем читателю проверку того, что любая из девяти
пар функций Length и Мах, получаемых комбинацией функций
из приведенных двух списков, полиномиально эквивалентна лю-
любой другой такой же паре функций.
Неопределенность, допускаемая нами при выборе функций
Length и Мах, позволит избежать явного их указания для за-
4.2. Задачи с параметрами и сильная ИР-полнота 121
дачи П, поскольку их с достаточной точностью можно восста-
восстановить по описанию условия задачи. Подходящая функция
Length определяется понятием "разумная схема кодирования"
задачи, а оно уточняется при описании условия задачи и по-
посредством стандартных соглашений, принятых в разд. 2.1. Под-
Подходящая функция Мах возникает при указании того, что неко-
некоторые объекты задачи представляют собой числа (в отличие
от множеств, последовательностей, графов, элементов с имена-
именами и т. д.). Обычно это будут целые числа, а более сложное
"число", входящее в описание индивидуальной задачи, будет
рассматриваться как образование, полученное из одного или не-
нескольких отдельных целых чисел, аналогично рассмотренному
выше случаю рациональных чисел. Примем следующее согла-
соглашение: в качестве Мах [/] будет выбираться либо величина наи-
наибольшего числа, входящего в /, либо 0, если в / вообще не вхо-
входят целые числа.
От функций Length и Мах будет требоваться выполнение
еще одного, последнего условия. Оно заключается в том, что
при любой фиксированной разумной схеме кодирования зада-
задачи П должны существовать две ДМТ-программы с полиноми-
полиномиальным временем работы, которые, принимая на входе кол
каждой индивидуальной задачи /еЬп, выдают на выходе дво-
двоичные записи величин Length[/] и Мах[/].Это свойство необхо-
необходимо нам лишь по той причине, что мы будем рассматривать
ограничения на индивидуальные задачи, формируемые с по-
помощью Length[/] и Мах!/], и нам нужно уметь распознавать
коды индивидуальных задач, удовлетворяющие этим ограниче-
ограничениям. Любые естественно возникающие функции Length [/] и
Мах[/] наверняка обладают этим свойством.
Нижеследующие определения предполагают, что с любой
задачей распознавания П связаны функции Length и Мах, для
которых выполняются перечисленные выше требования. Фор-
Формально говоря, для рассуждения на уровне языков необходимо
также, чтобы для каждой задачи П была предъявлена некото-
некоторая схема кодирования. Однако гораздо удобнее формулиро-
формулировать определения на уровне задач без этой оговорки, действуя
согласно стандартным предположениям об использовании ра-
разумных схем кодирования. У читателя не должно возникнуть
трудностей в восполнении всех деталей при полной формализа-
формализации этих определений на уровне языков, и будет более есте-
естественно и более информативно продолжать наши рассуждения
на уровне задач.
Алгоритм решения задачи П будет называться псевдополи-
псевдополиномиальным по времени алгоритмом (или просто псевдополи-
вомиальным алгоритмом), если его временная функция огра-
ограничена сверху полиномом от двух аргументов Length [/] и
122 4. Применение теории UP-полноты для анализа задач
Мах[/]. По определению любой полиномиальный по времени
алгоритм является также псевдополиномиальным по времени
алгоритмом, поскольку время его работы ограничено полиномом
от одного аргумента — Length [/]. Однако мы уже ознакомились
с примером псевдополиномиального, но не полиномиального ал-
алгоритма для задачи РАЗБИЕНИЕ. Этот пример показывает,
что, несмотря на то что NP-полнота задачи П исключает воз-
возможность ее решения полиномиальным алгоритмом (при усло-
условии РфНР), NP-полнота не исключает возможности решения
задачи П псевдополиномиальным алгоритмом.
Точнее говоря, NP-полнота задачи не обязательно исклю-
исключает возможность ее решения псевдополиномиальным алгорит-
алгоритмом. Многие из рассмотренных нами задач распознавания обла-
обладали тем свойством, что величина Мах[/] ограничена полино-
полиномом от Length [/], и, следовательно, для этих задач нет разли-
различия между полиномиальными и псевдополиномиальными алго-
алгоритмами. Например, единственный числовой параметр, входя-
входящий в условие задачи КЛИКА, — это граница /, которая не мо-
может быть больше числа вершин, заданного в условии графа.
Задача ВЫПОЛНИМОСТЬ вообще не содержит чисел, за ис-
исключением лишь индексов у литералов и дизъюнкций, которыми
можно пренебречь, поскольку они фактически играют роль
"имен", а не "чисел". (Принятые нами соглашения о схемах
кодирования гарантируют, что такие числовые "имена" всегда
будут ограничены полиномом от Length [/].) Интересующие нас
здесь вопросы не имеют отношения к задачам такого типа. Вы-
Выделим класс задач, к которым эти вопросы имеют отношение.
Будем называть задачу П задачей с числовыми параметрами,
если не существует такого полинома р, что Мах [/] ^
г^ р (Length [/]) для всех /eDn. Среди шести основных
NP-полных задач единственной задачей с числовыми парамет-
параметрами является задача РАЗБИЕНИЕ.
Непосредственно на основе данных определений можно сде-
сделать следующее замечание:
Замечание 4.1. Если NP-полная задача П не является зада-
задачей с числовыми параметрами, то П не может быть решена псев-
псевдополиномиальным алгоритмом (если Р ф NP).
Таким образом, в предположении Р ф NP NP-полные за-
задачи, для которых имеется потенциальная возможность решения
псевдополиномиальным алгоритмом, — это задачи с числовыми
параметрами.
Для произвольной задачи распознавания П и полинома р
(с целыми коэффициентами) обозначим через Пр подзадачу,
получаемую из П рассмотрением только тех индивидуальных
задач /, для которых выполнено соотношение Мах[/] ^
4.2. Задачи с параметрами и сильная NP-полнота 123
^ р(Length [/]). Задача Пр, таким образом, не является зада-
задачей с числовыми параметрами. Кроме того, если задача П
разрешима псевдополиномиальным алгоритмом, то Пр должна
быть разрешима полиномиальным алгоритмом. Если задано
входное слово х, то достаточно проверить, что х кодирует инди-
индивидуальную задачу /, для которой Мах [/] ^ р (Length [/]), и
если это так, то применить к / псевдополиномиальный алго-
алгоритм решения задачи П. В силу сделанных предположений, ве-
величины Мах[/] и Length [/] могут быть вычислены за полино-
полиномиальное время, поэтому требуемое неравенство может быть
проверено за полиномиальное время. По определению псевдо-
псевдополиномиального алгоритма для задачи П, он будет полино-
полиномиальным для тех индивидуальных задач из П, для которых
выполняется указанное неравенство. Эти соображения приводят
нас к следующему определению.
Задачу П назовем NP-полной в сильном смысле, если П при-
принадлежит NP и существует такой полином р с целыми коэф-
коэффициентами, что задача Пр является NP-полной. В частности,
если задача П NP-полна и не является задачей с числовыми па-
параметрами, то задача П автоматически NP-полна в сильном
смысле.
Таким образом, получаем обобщение замечания 4.1.
Замечание 4.2. Если задача П NP-полна в сильном смысле,
то она не может быть решена псевдополиномиальным алгорит-
алгоритмом (если P=?fcNP).
Благодаря этому замечанию мы получаем средства для при-
применения теории NP-полноты к вопросам существования псевдо-
псевдополиномиальных алгоритмов. Задача РАЗБИЕНИЕ не может
быть NP-полной в сильном смысле, поскольку, как нам уже из-
известно, она может быть решена псевдополиномиальным алго-
алгоритмом. Однако у нас еще не было примеров задач с числовыми
параметрами, NP-полных в сильном смысле. Этот пробел будет
восполнен в следующем разделе, в котором будет показано, как
можно получать результаты о сильной NP-полноте.
4.2.2. Доказательство результатов о сильной NP-полноте
Наиболее прямой путь доказательства сильной NP-полноты
задачи П с числовыми параметрами заключается просто в до-
доказательстве того, что для некоторого конкретного полинома р
задача Пр является NP-полной. Например, задача КОММИВОЯ-
КОММИВОЯЖЕР (КМ), определенная в разд. 2.1, представляет собой задачу
с числовыми параметрами, поскольку ни расстояния между горо-
городами d(i,j), ни граница В в ней не ограничены. Мы доказали
NP-прлноту задачи КМ, сведя к ней задачу ГАМИЛЬТОНОН
124 4. Применение теории NP-полноты для анализа задь.
ЦИКЛ. Более того, при этом сведении получаются только
такие индивидуальные задачи из КМ, в которых расстояния
между городами равны либо 1, либо 2, а граница В равна числу
городов пг. Таким образом, если взять в качестве Мах[/] мак-
максимум из границы В и наибольшего расстояния между города-
городами и положить
Length [/] = m + riog2 Bl + ? Hog, d (i, /Л,
t.i
то все индивидуальные задачи, получаемые в описанной выше
сводимости, будут удовлетворять ограничению
Мах [/]< Length [/].
Другими словами, эта сводимость фактически показывает, что
подзадача задачи КМ, состоящая из всех индивидуальных за-
задач, для которых выполняется указанное неравенство, сама яв-
является NP-полной. Отсюда следует, что задача КОММИВОЯ-
КОММИВОЯЖЕР NP-полна в сильном смысле.
В противоположность рассмотренному примеру доказатель-
доказательства NP-полноты задач РЮКЗАК, РАСПИСАНИЕ ДЛЯ МУЛЬ-
МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ и УПОРЯДОЧЕНИЕ ВНУ-
ВНУТРИ ИНТЕРВАЛОВ, приведенных в разд. 3.2, оставляют откры-
открытым вопрос о возможности решения перечисленных задач
псевдополиномиальными алгоритмами. Оказывается, что задачу
РЮКЗАК можно решить за псевдополиномиальное время с по-
помощью метода динамического программирования. Этот метод,
аналогичный методу, использовавшемуся при решении задачи
РАЗБИЕНИЕ, изложен в работе [98]. Все известные нам ал-
алгоритмы с псевдополиномиальным временем работы основаны
на этом методе. Примеры использования этого метода читатель
может найти в работах [221, 328, 332, 465].
Задачи РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕССОРНОЙ
СИСТЕМЫ и УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕРВАЛОВ,
напротив, NP-полны в сильном смысле. Для доказательства
этого утверждения полезно иметь задачу с числовыми парамет-
параметрами, NP-полную в сильном смысле и в определенном отноше-
отношении "более числовую", чем любая из задач, рассмотренных до
сих пор. Этой задачей будет седьмая "основная" NP-полная
задача 3-РАЗБИЕНИЕ, определяемая следующим образом:
3-РАЗБИЕНИЕ
УСЛОВИЕ. Заданы множество А, состоящее из Ът элементов,
граница BeZ+ и "размеры" s(a)eZ+ всех элементов, as Л,
причем B/4<s(e)<B/2a ? s(a) = mB.
4.2. Задачи с параметрами и сильная ЫР-полнота 125
ВОПРОС. Можно ли А так разбить на m непересекающихся
подмножеств Si, S2, ¦¦¦, Sm, что для 1</<т ? s(a)= В.
S
(Отметим, что указанные в условии ограничения на размеры
элементов приводят к тому, что каждое из множеств 5/ должно
содержать ровно три элемента из множества А.)
Мы будем доказывать сильную NP-полноту задачи 3-РАЗ-
БИЕНИЕ в два этапа. Вначале докажем, что близкая к ней за-
задача 4-РАЗБИЕНИЕ NP-полна в сильном смысле. Задача
4-РАЗБИЕНИЕ формулируется точно так же, как задача
3-РАЗБИЕНИЕ, с той лишь разницей, что А содержит 4/п эле-
элементов, а каждый размер s(a) должен подчиняться условию
5/5 > s(a)< 5/3. Отсюда следует, что каждое множество
искомого разбиения будет содержать ровно четыре элемента.
Теорема 4.3. Задача 4-РАЗБИЕНИЕ NP-полна в сильном
смысле.
Доказательство. Поскольку за полиномиальное время легко
проверить, что заданное разбиение множества А удовлетворяет
необходимым требованиям, то легко видеть, что задача 4-РАЗ-
4-РАЗБИЕНИЕ лежит в классе NP. Сведем задачу ТРЕХМЕРНОЕ
СОЧЕТАНИЕ C-С) к ограниченной версии задачи 4-РАЗБИЕ-
4-РАЗБИЕНИЕ, в которой размеры всех элементов ограничены полиномом
от общего числа элементов и, следовательно, полиномом от
Lengthl/]. В частности, положив Мах[1] равным max{s(a):
as А}, мы увидим, что задача 4-РАЗБИЕНИЕ NP-полна даже
в том случае, если ограничиться индивидуальными задачами,
такими, что Мах[/] <216|Л|4.
Пусть W= {wu a>2, ..., wq}, Х={хг x2, x3 xq}, Y =
= {Уи Уг, •¦-, Уа) и М? WX XX У определяют произвольную
индивидуальную задачу из 3-С. Не ограничивая общности, мож-
можно считать, что \M\^q. В соответствующей индивидуальной
задаче из 4-РАЗБИЕНИЕ множество А будет иметь 4|Af| эле-
элементов, по одному для каждого вхождения элемента множества
W U X U Y в тройку из М и по одному элементу для каждой
тройки из М.
Элементы, соответствующие фиксированному г е W \j X U Y
обозначим через z[l], 2[2] z[N(z)], где N{z)— число
троек из М, в которые входит г. Назовем z[\] "истинным эле-
элементом, соответствующим г", а г[2], ..., z[N(z)] — "фиктив-
"фиктивными элементами, соответствующими г". Размеры этих элемен-
элементов зависят от того, какому множеству— W, X или У — принад-
принадлежит z, а также от номера элемента z в соответствующем
множестве. Веса определяются следующим образом (г приняти
126 4. Применение теории tiP-полноты для анализа задач
равным 32</):
s (*,[/])= 11л4 +/У2+ 2, 1</<?, 2
Единственный элемент, соответствующий каждой тройке
т/ = (о>», X/, 1/*)е М, обозначается через щ, а его размер зависит
от индексов элементов тройки следующим образом:
s (и,) = Юг4 — ftr3 — jr2 — ir + 8.
Заметим, что если прибавить к s(ui) размеры трех элементов,
соответствующих wi, X/ и «/*, то результатом будет 40г4 + 15
всякий раз, когда все три элемента "истинные" или когда все
они "фиктивные". Возьмем это число в качестве границы В,
т. е. положим
В = 40г4+15.
Нетрудно проверить, что описанная выше сводимость поли-
полиномиальна, размеры всех элементов лежат строго между В/3
и В/5, а также что сумма размеров всех элементов, как и тре-
требуется, равна |Л1|-5. Более того, заметим, что размер каждого
элемента ограничен сверху величиной
12г4<12-84|ДГ<216| At
Поэтому для доказательства сильной NP-полноты задачи 4-РАЗ-
БИЕНИЕ достаточно показать, что искомое 4-разбиение суще-
существует тогда и только тогда, когда М содержит трехмерное со-
сочетание.
Предположим вначале, что имеется трехмерное сочетание
AJ'sM. Соответствующее 4-разбиение образуется из \М\ под-
подмножеств, каждое из которых содержит 4 элемента (сокращен-
(сокращенно 4-подмножеств)—один вида щ, один вида ш/[-], один вида
ж/1-] и один вида уи[-], где (wit x/, yk) = mi e M. Если пц е
еЛГ, то группируем щ с элементами ш<[1], дс/[1] и t/*[l]. Если
m/e М\М', то группируем щ с "фиктивными" элементами,
соответствующими wi, Xj и Ук- Нетрудно видеть, что в нашем
распоряжении имеется достаточно фиктивных элементов и такую
группировку можно осуществить. В силу сделанных выше за-
замечаний, сумма размеров элементов в каждом из образованных
множеств в точности равна В. В результате получается искомое
4-разбиение.
4.2. Задачи е параметрами и сильная NP-яоляота 127
Предположим теперь, что задано 4-разбиение нужного вида.
Рассмотрим любое 4-множество из этого 4-разбиения. Рассмат-
Рассматривая последовательно вычеты суммы размеров элементов этого
множества по модулям г, г2, г3, г* и г5, покажем, что это 4-мно-
4-множество должно содержать по одному элементу, соответствую-
соответствующему каждой из составляющих тройки, причем все три элемен-
элемента одновременно являются или "истинными" или "фиктивными".
Поскольку г ^4-8 = 32, то сумма вычетов по модулю г раз-
размеров элементов, входящих в 4-множество, будет равна вычету
по модулю г суммы этих элементов и, следовательно, равна
В (mod г) =15. Для того чтобы сумма вычетов по модулю г
размеров элементов, входящих в 4-множество, равнялась 15,
имеется единственная возможность: 4-множество содержит по
одному элементу, отвечающему некоторому элементу множеств
W, X и У соответственно, а также один элемент, отвечающий
некоторой тройке из М. Пусть wi, Х\ и Ук обозначают соответ-
соответствующие элементы множеств W, X и У, a ml — (wt,, х1>г ук,)
обозначает соответствующую тройку из М. Тогда вычет рас-
рассматриваемой суммы размеров элементов по модулю г2 должен
быть равен ((/ — i')r -f-15) (mod r2), а поскольку (i — i')r +
+ 15 < г2, то должно иметь место равенство
В (mod г2) = 15 = (/ - Г) г + 15.
Отсюда следует, что i = ir. Аналогично, поскольку (/ — /') г2 +
+ 15 < г3, то должно выполняться равенство
В (mod г3) = 15 = (/ - f) г2 + 15.
Отсюда следует, что /=»/', а поскольку (k — k')r* + 15 < г*,
то должно иметь место равенство
В (mod г4) = 15 = (k - kr) r3 + 15
и, значит, k = k'. Таким образом, на самом деле Wi, x/ и ук —
элементы, входящие в тройку mi, и коээфициент при г* в сумме
размеров элементов равен сумме коэффициентов при г* каждого
из слагаемых. Эти коэффициенты были выбраны нами так, что
их сумма равна 40 только в том случае, когда все три элемента
одновременно "истинные" или "фиктивные".
Таким образом, в q из наших 4-множеств должно содер-
содержаться 3<7 "истинных" элементов, по одному для каждого эле-
элемента из множества W\JX\JY, а каждое из 4-множеств состоит
из одного элемента, соответствующего тройке из М, и трех
"истинных" элементов, соответствующих этой тройке. Следова-
Следовательно, эти q троек из М образуют искомое трехмерное соче-
сочетание. ¦
128 4. Применение теории NP-полноты для анализа задач
Теорема. 4.4. Задача 3-РАЗБИЕНИЕ NP-полна в сильном
смысле.
Доказательство. Нетрудно видеть, что задача 3-РАЗБИЕ-
НИЕ принадлежит классу NP. Сведем к задаче 3-РАЗБИЕНИЕ
подзадачу задачи 4-РАЗБИЕНИЕ, составленную из индивиду-
индивидуальных задач, для которых
max{s(a): оеЛ}<216| Л I4;
при этом сохраняется ограниченность размеров элементов по-
полиномом от общего числа элементов.
Пусть А = {аи а2, .... ain}, граница В и размеры s(a) эле-
элементов (для которых выполнены неравенства B/5<s(a)<
<С В/3 и s(a) ^ 216|Л |4) задают произвольную индивидуаль-
индивидуальную задачу 4-РАЗБИЕНИЕ. Соответствующая индивидуальная
задача из 3-РАЗБИЕНИЕ будет содержать 24м2 — Зп элементов,
по одному для каждого элемента А, по два элемента для ка-
каждой пары элементов из Л и 8п? — Зя "заполняющих" эле-
элементов.
Каждому отдельному элементу a* e А сопоставим "регуляр-
"регулярный" элемент wit размер определяется равенством
где s'(-)—функция размера в конструируемой индивидуальной
задаче из 3-РАЗБИЕНИЕ. Паре элементов a,, a/ e А соответ-
соответствуют два "спаривающих" элемента u[i,j] и u[i,j], размеры
которых определяются так:
*' (и [i, !]) = 4 FВ - s (a?) - s {а,)) + 2,
s' (п [i. Я) = 4 (SB + s (а?) + s (a,)) + 2.
Наконец, для 1 ^ k ^ 8/г2 — Ъп имеется „заполняющий" элемент
и\ размера s'(«a) = 20B. В качестве границы В' для конструи-
конструируемой индивидуальной задачи 3-РАЗБИЕНИЕ возьмем 64В -f 4.
Опять-таки читателю нетрудно будет убедиться в том, что
эта сводимость является полиномиальной, а также, что раз-
размеры всех элементов заключены строго между В'/4 = 16В -f-1
и В'/2 = 32В + 2 и что Сумма размеров всех элементов равна
Bп2 — п.) В'. Более того, поскольку размеры элементов множе-
множества Л ограничены величиной 216|Л|4, то размеры элементов
получаемой индивидуальной задачи 3-РАЗБИЕНИЕ также бу-
будут ограничены полиномом от \А\, и, следовательно, полино-
полиномом от числа элементов задачи /', и, значит, полиномом от
Length [/]. Таким образом, чтобы закончить доказательство
NP-полноты в сильном смысле задачи 3-РАЗБИЕНИЕ, доста-
достаточно показать, что в построенной индивидуальной задаче /'
4.2. Задачи с параметрами и сильная ЫР-полнота 129
3-разбиение существует тогда и только тогда, когда в исходной
индивидуальной задаче существует 4-разбиение.
Вначале предположим, что для исходной индивидуальной
задачи имеется 4-разбиение. Соответствующее 3-разбиение
строится следующим образом. Каждое из 4-множеств {at, а/, а*,
щ) разбиваем произвольно на два 2-множества, скажем на
(a,, ai) и {ak, at}. Тогда искомое 3-разбиение будет содержать
два 3-множества {wi, wf, и [/,/]} и {шк, wt, п [/,/]}. (Заметим,
что можно было бы использовать u[k, l] вместо и[i,j] и u[k,l]
вместо п[/,/].) Сумма размеров элементов каждого 3-множе-
3-множества будет равна В', поскольку s(ai)+ s(a/) + s(ak)+ s(ai) —
= В. Выполняя эту процедуру для каждого из п заданных
2-множеств, получим 2п 3-множеств, содержащих все "регуляр-
"регулярные" элементы и п связанных пар, состоящих из "спаривающих"
элементов. После этого остаются свободными 8п? — 3п связан-
связанных пар "спаривающих" элементов и 8п2 — Зл "заполняющих"
элементов. Поскольку сумма размеров двух связанных "спари-
"спаривающих" элементов равна 445 -+¦ 4 = В — 20В, то каждая та-
такая связанная пара может быть сгруппирована с одним из
оставшихся "заполняющих" элементов, в результате чего по-
получается 3-разбиение.
Предположим теперь, что для построенной индивидуальной
задачи имеется 3-разбиение. Из рассмотрения вычетов разме-
размеров элементов по модулю 4 получаем, что ни одно из 3-мно-
3-множеств не может содержать нечетное число "регулярных"
элементов, ни одно из 3-множеств не может содержать три "спа-
"спаривающих" элемента и ни одно из 3-множеств не может содер-
содержать два "регулярных" и один "заполняющий" элемент. Отсюда
следует, что заданное 3-разбиение включает 2л 3-множеств, ка-
каждое из которых содержит два "регулярных" и один "спари-
"спаривающий" элемент, а также 8л2 — Зл 3-множества, каждое из
которых содержит два "спаривающих" и один "заполняющий"
элемент.
Рассмотрим любое из 3-множеств последнего типа. Пусть
и [i, j] (или п [k, I]) является одним из двух "спаривающих" эле-
элементов этого множества. Если другой спаривающий элемент
u\s, t] этого множества отличен от U[i, j] (или u[k,l]), то
u\s, t] должен иметь тот же размер, что и «[/,/], и поэтому
элементы u[s,t] и u[i, j] можно поменять местами, чтобы по-
получилось эквивалентное 3-разбиение. Эту операцию можно по-
повторять до тех пор, пока не получится 3-разбиение, в котором
каждый "заполняющий" элемент окажется в одном 3-множестве
со связанной парой u[i,j] и u[i,j]. Таким образом, оставшиеся
"спаривающие" элементы, входящие совместно с регулярными
элементами в одно из множеств 3-разбиения, также разбиваются
на пары В результате этого 3-множества, содержащие
130 4. Применение теории HP-полноты для анализа задач
"регулярные" элементы, разбиваются на п пар. Поскольку два
"спаривающих" элемента в каждой такой паре 3-множеств ока-
оказываются связанными, сумма их размеров равна 44В + 4, следо-
следовательно, сумма четырех "регулярных" элементов, входящих
в эти два 3-множества, должна быть равна 845 + 4. Отсюда
следует, что соответствующие четыре элемента множества А
образуют 4-множество, сумма размеров элементов которого рав-
равна В. Следовательно, п пар рассматриваемых 3-множеств по-
порождают искомое 4-разбиение. Ш
Заметим, что если эту сводимость рассматривать как сво-
сводимость общей задачи 4-РАЗБИЕНИЕ к задаче 3-РАЗБИЕ-
НИЕ, то она не доказывала бы сильную NP-полноту задачи
3-РАЗБИЕНИЕ. Чтобы получить результат о сильной NP-пол-
ноте, необходимо рассмотреть NP-полную подзадачу задачи
4-РАЗБИЕНИЕ, в которой величина max{s(a)} ограничена
полиномом. Однако легко понять, что конкретный вид полинома
в оценке несуществен. На самом деле было бы удобнее, если
бы у нас была возможность оперировать со сводимостями по-
подобного типа без необходимости вдаваться в детали подзадач
и конкретных полиномов. Этого можно достичь с помощью
определения и леммы, приводимых ниже.
Пусть П и П' — произвольные задачи распознавания; Dn
и Dw — множества их индивидуальных задач; Уп и Yw — мно-
множества индивидуальных задач с ответом "да"; Max, Length,
Мах' и Length' — соответствующие функции максимума и дли-
длины записи. Говорят, что задача П псевдополиномиально сво-
сводится к задаче П', если существует функция f: Dn-*Dn- обла-
обладающая следующими свойствами:
(а) для любого / е D , /еУ тогда и только тогда, когда
Д)
(б) функция / может быть вычислена за время, ограниченное
полиномом от двух переменных Мах[/] и Length [/];
(в) существует такой полином q\, что для всех /eDn имеет
место неравенство
?, (Length' [/(/)])> Length (/);
(г) существует такой полином qi от двух переменных, что для
всех / е Dn выполнено неравенство
Мах' [/ (/)] < <?2 (Мах [/], Length [/]).
Говорят также, что функция, обладающая перечисленными
свойствами, реализует псевдополиномиальную сводимость П
к ГГ.
4.2. Задачи с параметрами и сильная NP-полнота 131
Лемма 4.1. Если П — NP-полная в сильном смысле задача,
П' е NP и П псевдополиномиально сводится к П', то П' —
NP-полная в сильном смысле задача.
Доказательство. Пусть / — функция, реализующая псевдопо-
псевдополиномиальную сводимость, q\ и q2— соответствующие полиномы,
описанные выше. Без потери общности можно предполагать, что
q\ и ?2 — полиномы с целыми положительными коэффициентами,
ибо эти полиномы можно привести к такому виду, не уменьшая
принимаемых ими значении. Поскольку задача П NP-полна в
сильном смысле, то существует такой полином р, 'что задача Пр
является NP-полной. Более того, р можно выбрать так, что у
него будут только целые неотрицательные коэффициенты, по-
поскольку если ро — любой полином с целыми коэффициентами,
для которого при всех х выполняется неравенство ро(х)^ р(х),
то задача Про будет содержать все индивидуальные задачи из
Пр, и, следовательно, задача Про будет NP-полной, если Пр была
NP-полной. Определим полином р следующим образом:
Мы утверждаем, что функция /, будучи ограниченной на инди-
индивидуальные задачи из Пр, осуществляет полиномиальное сведе-
сведение задачи Пр к задаче Щ, что доказывает NP-полноту задачи
Пр. Проверим вначале, что любая индивидуальная задача / из
Пр при отображении / переходит в индивидуальную задачу из
Щ. По определению задачи Пр и неравенств, которым удовле-
удовлетворяют многочлены q\ и q2, получаем, что для каждой инди-
индивидуальной задачи / из Пр имеют место неравенства
Мах' [/ (/)] < q2 (Max [/], Length [/]) <
< q2 (p (Length [/]), Length [/]) <
< q2 (p (</, (Length' [/ (/)])), qy (Length' [/ (/)])) =
= /9 (Length'[/(/)]).
Таким образом, индивидуальная задача /(/) принадлежит за-
задаче П?. Из условий (а) и (б) определения псевдополиноми-
псевдополиномиальной сводимости и того факта, что для любой индивидуаль-
индивидуальной задачи / из Пр выполнено неравенство Мах [/] ^
^ р (Length [/]), немедленно следует, что /удовлетворяет всем
необходимым требованиям и реализует полиномиальную своди-
сводимость. Следовательно, задача Ц^ NP-полна, откуда следует
сильная NP-полнота задачи П'.
Эта лемма освобождает нас от необходимости иметь дело
с конкретными подзадачами Пр при доказательстве результатов
132 4. Применение теории NP-полноты для анализа задач
о сильной NP-полноте, что представляет собой большое
удобство, поскольку мы редко интересуемся конкретным видом
соответствующего полинома. Однако сложное определение псев-
псевдополиномиальной сводимости может показаться труднопреодо-
труднопреодолимым препятствием при использовании этого подхода. В дей-
действительности оно не столь сложно, как кажется. Условие (а)
совпадает с одним из условий определения обычной полиноми-
полиномиальной сводимости. Условие (б) почти совпадает со вторым
условием, однако оставляет нам несколько больше свободы при
выборе сложности сводящей функции. Условие (в) будет вы-
выполнено почти для всех сводимостей, исключая самые экзоти-
экзотические, поскольку требуется лишь, чтобы сводимость не приво-
приводила к значительному уменьшению длины входа. Наиболее
важным условием определения является условие (г), назначе-
назначение которого заключается в том, чтобы величина наибольшего
числа в конструируемой индивидуальной задаче не росла экспо-
экспоненциально в зависимости от функций Мах и Length исходной
индивидуальной задачи.
Например, конструкцию, которой мы пользовались для до-
доказательства теоремы 4.4, можно рассматривать как псевдопо-
псевдополиномиальное сведение задачи 4-РАЗБИВАНИЕ к задаче
3-РАЗБИЕНИЕ. Последняя задача заслужила название седь-
седьмой "основной NP-полной задачи" в связи с тем, что она легко
может быть псевдополиномиально сведена к другим задачам.
Например, можно воспользоваться такой сводимостью для до-
доказательства сильной NP-полноты задачи УПОРЯДОЧЕНИЕ
ВНУТРИ ИНТЕРВАЛОВ, NP-полнота которой была доказана
в разд. 3.2.2.
Теорема, 4.5. Задача УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕР-
ИНТЕРВАЛОВ NP-полна в сильном смысле.
Доказательство. Напомним, что в условии этой задачи дано
множество заданий Т, длительность l(/)eZ+ каждого задания
1еГ и временной интервал [r(t),d(t)], в пределах которого
оно должно быть выполнено. Спрашивается, можно ли так упо-
упорядочить задания, чтобы были удовлетворены все условия и
в каждый момент времени в процессе выполнения находилось
только одно задание. В разд. 3.2.2 было доказано, что эта за-
задача NP-полна и, следовательно, принадлежит классу NP.
Построим псевдополиномиальное сведение задачи 3-РАЗБИЕ-
3-РАЗБИЕНИЕ к задаче УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕРВА-
ИНТЕРВАЛОВ.
Пусть А={аи а2, .... a3m}, fle=Z+ и s(ai), s(a2), ...
.., s{a3m) определяет произвольную задачу из 3-РАЗБИЕНИЕ.
Соответствующая индивидуальная задача из УПОРЯДОЧЕНИЕ
4.2. Задачи с параметрами и сильная NP-полнота 133
ВНУТРИ ИНТЕРВАЛОВ определяется следующим образом:
,,,Г1, если t=tit 1</<т;
' ч если / = а,е Д;
f 1, е<
\s(a,),
{iB + i—l, ее
О, если /=<
( iB + i, если t = tt, 1</<т;
_ ( iB + / — 1, если / = tlt 1 </ < m;
\ 0 если t=a^ A;
\/nfl + m—1, если / = /
Эта сводимость, очевидно, может быть выполнена за поли-
полиномиальное время только по отношению к длине записи исход-
исходной информации, а длина индивидуальных задач, получаемых
при таком сведении, полиномиально эквивалентна длине исход-
исходных задач. Таким образом, условия (б) и (в) из определения
в в в
h
h
• • •
0 В S+1 2Й+1 7В+2 mB+m~l
Рис 4.9. Вид последовательности, необходимый для того, чтобы были вы-
выполнены все ограничения индивидуальной задачи из УПОРЯДОЧЕНИЕ
ВНУТРИ ИНТЕРВАЛОВ, получаемой из индивидуальной задачи 3-РАЗ-
БИЕНИЕ в доказательстве теоремы 4.5.
полиномиальной сводимости выполняются. Более того, наиболь-
наибольшее число в построенной индивидуальной задаче равно пгВ +
+ m — 1, поэтому выполняется также условие (г). Остается
только показать, как в обычных доказательствах NP-полноты,
что выполнено условие (а).
В любой последовательности заданий, удовлетворяющей пе-
перечисленным выше условиям, задание U, 1 < t < m, должно
выполняться в промежутке времени от iB + i — 1 до iB + 1, как
указано на рис. 4.9. При этом остается m отдельных блоков
времени продолжительностью В каждый, но поскольку времени
в этих блоках ровно столько, чтобы можно было успеть выпол-
выполнить все задания, то все эти блоки должны быть заполнены
полностью. Следовательно, эти блоки играют ту же роль, что
и множества Si, S2, . ¦., 5m в искомом разбиении множества А
Отсюда вытекает, что искомая последовательность существует
тогда и только тогда, когда существует искомое разбиение в
исходной индивидуальной задаче из 3-РАЗБИЕНИЕ.
Условие (а), следовательно, также выполняется, и мы дей-
действительно получаем псевдополиномиальную сводимость задачи
134 4. Применение теории NP-полноты для анализа задач
3-РАЗБИЕНИЕ к задаче УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕР-
ИНТЕРВАЛОВ. По лемме 4.1 отсюда следует, что последняя задача
NP-полна в сильном смысле. ¦
В качестве упражнения читателю можно предложить по-
построить аналогичное сведение задачи 3-РАЗБИЕНИЕ к задаче
РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ,
определенной в разд. 3.2.1. В наших списках NP-полных задач
имеется большое число других задач, сильная NP-полнота ко-
которых доказывается сравнительно несложно, небольшой моди-
модификацией приведенных ранее доказательств посредством замены
в них задачи РАЗБИЕНИЕ задачей 3-РАЗБИЕНИЕ. Простота
выполнения соответствующих модификаций указывает на полез-
полезность задачи 3-РАЗБИЕНИЕ.
Настоящий раздел мы закончим примером того, как псевдо-
псевдополиномиальная сводимость задачи 3-РАЗБИЕНИЕ может быть
использована для доказательства NP-полноты задачи, не являю-
являющейся задачей с числовыми параметрами. В действительности
эта задача вообще не будет содержать числовых параметров!
Напомним формулировку задачи ИЗОМОРФИЗМ ПОДГРА-
ПОДГРАФУ из разд. 2.1: "Заданы два графа С? и Я, верно ли, что Н
изоморфен некоторому подграфу графа G?" В разд. 3.2.1 мы
доказали NP-полноту этой задачи, указав, что она содержит
в качестве частного случая задачу КЛИКА. Однако имеется
одна важная подзадача задачи ИЗОМОРФИЗМ ПОДГРАФУ,
принадлежность которой классу Р уже установлена. Это задача
ИЗОМОРФИЗМ ПОДДЕРЕВУ. В ней требуется, чтобы G и Н
были деревьями (дерево — это связный граф, не содержащий
циклов). Полиномиальный алгоритм решения этой задачи был
получен Эдмондсом и Матулой [111] (см. также [449]).
Исходя из нашей методологии, состоящей в возможно боль-
большем сужении пограничной области между трудными и легкими
подзадачами NP-полной задачи, можно сформулировать сле-
следующий вопрос: "Что будет, если потребовать, чтобы только
один из графов G или Н был деревом?" В одном случае ответ
очевиден. Вариант задачи ИЗОМОРФИЗМ ПОДГРАФУ, в ко-
котором требуется, чтобы О был деревом, содержит в качестве
подзадачи задачу ГАМИЛЬТОНОВ ПУТЬ и тем самым являет-
является NP-полным. Вариант, в котором требуется, чтобы Н было
деревом, более интересен. В этом случае нам известно, что если
граф Н не ацикличен (ацикличный — означает, не содержит
циклов), то Н не может быть подграфом графа G, но отсюда
отнюдь не следует, что граф Н должен быть деревом (посколь-
(поскольку Н может оказаться несвязным). В общем случае ацикличный
граф называется лесом, при этом связные леса являются де-
деревьями (рис. 4.10).
4.2. Задачи с параметрами и сильная НР-полноШ 135
Назовем подзадачу задачи ИЗОМОРФИЗМ ПОДГРАФУ, в
которой G — дерево, а Н — лес, задачей ИЗОМОРФИЗМ ПОД-
ЛЕСУ. Несмотря на то, что последняя задача аналогична за-
Рис. 4.10. Примеры произвольного графа G, леса F и дерева Г. Граф G
не есть лес, а лес F не есть дерево. Лес F не есть подлее дерева Т, но
каждое дерево из F есть поддерево дерева Т (граф — Graph, лес — Forest,
дерево — Tree).
даче ИЗОМОРФИЗМ ПОДДЕРЕВУ, справедлива следующая
теорема.
Теорема 4.6. Задача ИЗОМОРФИЗМ ПОДЛЕСУ является
NP-лолмой.
Доказательство. Принадлежность рассматриваемой задачи
классу NP следует из аналогичного результата для задачи
ИЗОМОРФИЗМ ПОДГРАФУ. Укажем псевдополиномиальное
сведение задачи 3-РАЗБИЕНИЕ к задаче ИЗОМОРФИЗМ
ПОДЛЕСУ. В силу леммы 4.1 отсюда будет следовать утвер-
утверждение теоремы.
Пусть А={аи а2, .... am}, fie=Z+ и s(ai), s(a2), ...
.... s(em)eZ+ определяет произвольную индивидуальную за-
задачу из 3-РАЗБИЕНИЕ. Соответствующая индивидуальная за-
задача из ИЗОМОРФИЗМ ПОДЛЕСУ представлена на рис. 4.11.
Дерево G состоит из m цепей, по В + 1 вершин в каждой,
концы которых соединены с дополнительной общей вершиной.
Лес Н состоит из Зт + 1 дерева, в их число входит одна "звез-
"звезда", содержащая m + 1 вершину и Зт цепей, каждая из кото-
которых соответствует конкретному элементу аеД и имеет s(a)
вершин.
Любой изоморфизм графа Н с подграфом графа G должен
отображать центр звезды в единственную вершину высокой
степени графа О1). Все m вершин, соседних с центром звезды
из Н, должны, следовательно, отображаться в вершины графа G,
1) Это утверждение верно только при m > 2. При m ^ 2 сводимость
модифицируется очевидным образом. — Прим. ред.
136
4. Применение теории UP-полноты для анализа задач
соседние этой вершине. При этом в графе G остаются свобод-
свободными m цепей (причем каждая состоит из В вершин), в кото-
которые при изоморфизме должны отобразиться оставшиеся Зпг це-
цепей графа Н. Отображение этих цепей графа Н в оставшиеся
свободными цепи графа G соответствует разбиению множества
А на m подмножеств и, согласно нашей конструкции, может
быть осуществлено тогда и только тогда, когда сумма размеров
• • • •
iit-i
Вершин
m Вершин
lilJ
iiLJ
1-я цепь
имеет sia/}
Вершин
т цепей
G
цепей
Н
Рис. 4.11. Дерево О и лес Я, соответствующие индивидуальной задаче
3-РАЗБИЕНИЕ в доказательстве теоремы 4.6.
элементов каждого множества равна В. Таким образом, иско-
искомый изоморфизм графа Н с подграфом графа G существует
тогда и только тогда, когда существует искомое 3-разбиение
множества А.
Отсюда следует, что выполнено условие (а) определения
псевдополиномиальной сводимости. Легко видеть, что эта сво-
сводимость может быть осуществлена за полиномиальное время
по отношению к т и В, так что условие (б) также выполнено.
Общее число вершин в графах G и Н одинаково и равно
2(mB-f 1), так что выполнено и условие (в). Наконец, в кон-
конструируемой индивидуальной задаче числовые параметры от-
отсутствуют, поэтому и условие (г) выполняется. Следовательно,
по лемме 4.1 задача ИЗОМОРФИЗМ ПОДЛЕСУ NP-полна в
сильном смысле, откуда следует, что она NP-полна в обычном
смысле, что и требовалось доказать.
4.3. ВРЕМЕННАЯ СЛОЖНОСТЬ КАК ФУНКЦИЯ
НАТУРАЛЬНЫХ ПАРАМЕТРОВ
До сих пор в настоящей главе изучение подзадач мотивиро-
мотивировалось в основном тем, что на практике истинной нашей целью
является решение подзадачи, а не самой общей задачи. Зная
4.3. Временнйя сложность 137
очертания пограничной области между NP-полными и полино-
полиномиально разрешимыми подзадачами, при возникновении кон-
конкретной подзадачи мы оказываемся лучше подготовленными к
концентрации исследований по поиску алгоритмов в наиболее
перспективном направлении.
Результаты, полученные относительно подзадач, могут быть
также использованы в качестве вспомогательного ориентира при
поиске алгоритма решения общей задачи. Если общая задача
оказывается NP-полной, то для ее решения (если P^NP), как
нам известно, могут существовать только экспоненциальные ал-
алгоритмы, но разные алгоритмы могут быть в различной степени
'экспоненциальными", и одни могут оказаться для нас пред-
предпочтительнее других. Это особенно очевидно для практических
задач, когда временная сложность выражается в терминах есте-
естественных параметров задачи, а не в терминах искусственно
созданной "длины входа".
Рассмотрим, например, задачу РАСПИСАНИЕ ДЛЯ МУЛЬ-
МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ из разд. 3.2.1. В этой задаче
набор естественных параметров включает следующие величины:
число заданий п, число процессоров m и длительность L самого
продолжительного задания. Обычный результат об NP-полноте
этой задачи, полученный в разд. 3.2.1, утверждает, что если
P=H=NP, то задача РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕС-
МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ не может быть решена за время, огра-
ограниченное полиномом от трех параметров: п, m и log/.. Однако
можно задаться вопросом: "Существует ли алгоритм, времен-
временная сложность которого ограничена полиномом от пг" и log L,
или полиномом от пт и logL, или полиномом от п, т и L, или
даже полиномом от (nL)m?
Полученные нами результаты о сложности подзадач проли-
проливают некоторый свет на эти вопросы. Исходный результат об
NP-полноте задачи РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕС-
МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ показывает в действительности, что под-
подзадача, в которой т ограничено числом 2, является NP-полной.
По этой причине (если Р Ф NP) для решения задачи не может
существовать алгоритма, временная сложность которого огра-
ограничена полиномом от пт и log L, поскольку для указанной
подзадачи этот алгоритм был бы полиномиальным. Получен-
Полученные нами результаты не исключают существование алгоритма,
временная сложность которого была бы ограничена полиномом
от тп и log L, и в действительности алгоритмы полного пере-
перебора, имеющие такую временную сложность, могут быть по-
построены. Аналогичным образом сильная NP-полнота задачи
РАСПИСАНИЕ ДЛЯ МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ,
о которой говорилось в разд. 4.2.2, исключает существование
алгоритмов, полиномиальных по п, т и L (если P^&NP)
138 4. Применение теории HP-полноты для анализа задач
Однако этот результат оставляет открытым вопрос о существо-
существовании алгоритма, полиномиального по (nL)m (который давал бы
псевдополиномиальный алгоритм при каждом фиксированном
значении ш), и опять-таки можно показать, что такой алгоритм
существует.
Таким образом, рассматривая подзадачи, возникающие из
исходной задачи при ограничении одного или нескольких из ее
естественных параметров, мы получаем полезную информацию о
возможных типах алгоритмов решения общей задачи. Однако,
чтобы обеспечить выразимость Length (/) в виде полинома от
параметров, выбранных нами в качестве достаточных пред-
представителей размера индивидуальной задачи, должны быть при-
приняты особые меры предосторожности. (Чтобы для исходной за-
задачи класс ранее рассмотренных полиномиальных алгоритмов
совпадал с классом алгоритмов, полиномиальных относительно
выбранных параметров.) А в остальном можно выбирать любые
параметры, которые представляются естественными и адекватно
отражающими смысл задачи. Из общего результата об NP-пол-
ноте, следовательно, будет вытекать, что задачу нельзя решить
за время, ограниченное полиномом от всех выбранных пара-
параметров, а информация, получаемая при ограничении этих па-
параметров, может иметь большое значение в связи с существо-
существованием общих алгоритмов других типов.
Хотя вопросы, касающиеся сильной NP-полноты и существо-
существования псевдополиномиальных алгоритмов, относятся в основном
к задачам с числовыми параметрами, однако аналогичные ме-
методы можно плодотворно применять и к другим задачам. Это
объясняется тем, что в любой задаче имеются числовые пара-
параметры, такие, как мощности множеств, значения границ и т. д.
Например, NP-полнота задачи 3-ВЫПОЛНИМОСТЬ не допу-
допускает (при условии Р ф NP) существования для решения зада-
задачи ВЫПОЛНИМОСТЬ алгоритма, временная сложность кото-
которого была бы ограничена полиномом от (пт)м (где т — число
дизъюнкций, п — число литералов, М — максимум числа лите-
литералов в дизъюнкции). Напротив, для задачи КЛИКА суще-
существует алгоритм с оценкой п° (где п — число вершин графа,
D — максимальная степень вершины). Таким образом, теория
NP-полных задач может служить ориентиром не только при по-
поиске полиномиальных, но и экспоненциальных алгоритмов.
5. NP-трудные задачи
В этой главе мы завершим рассмотрение основных понятий
и применений теории NP-полных задач. Глава состоит из двух
частей. В первой, основной, части показано, как сфера прило-
приложений этой теории может быть расширена за пределы класса
NP при использовании сводимости задач более общего вида.
Во второй части дается краткая историческая справка о разви-
развитии теории NP-полноты и приводятся некоторые альтернатив-
альтернативные определения и термины, получившие распространение в ли-
литературе.
5.1. СВОДИМОСТЬ ПО ТЬЮРИНГУ
И NP-ТРУДНЫЕ ЗАДАЧИ
Хотя до сих пор мы ограничивались в основном задачами из
класса NP, очевидно, что методы, используемые для доказа-
доказательства NP-полноты задач, можно также применять для уста-
установления трудности задач, лежащих вне класса NP. Пусть П —
произвольная задача распознавания свойств, к которой сво-
сводится некоторая NP-полная задача. Тогда независимо от того,
принадлежит ли задача П классу NP или нет, она обладает тем
свойством, что ее невозможно решить за полиномиальное время,
если Р ф NP. Будем говорить, что такая задача П является
"NP-трудной", поскольку она в некотором смысле не менее
трудна, чем любая NP-полная задача.
Ниже будет дано более общее определение NP-трудной за-
задачи. Это объясняется тем, что определение полиномиальной
сводимости задач можно обобщить на более широкий класс за-
задач, чем задачи распознавания, причем все они окажутся не
менее трудными, чем NP-полные задачи, Как и в гл. 2, все
определения будут даны и формально — в терминах языков и
машин Тьюринга, и неформально — в терминах задач и алго-
алгоритмов.
Этот более общий класс задач, к которым будут применимы
наши определения, — класс так называемых "переборных за-
зач", или "задач поиска". Переборная задача П определяется
как множество ?>п конечных объектов, называемых индивиду-
индивидуальными задачами, причем для каждой индивидуальной задачи
/ е Dn известно множество 5п[/] конечных объектов, называе-
называемых решениями задачи /. Будем говорить, что алгоритм решает
140 S. HP-грудные задача
переборную задачу П, если, получив в качестве входа произволь-
произвольную индивидуальную задачу / е Dn, этот алгоритм выдает от-
ответ "нет", если Sail] пусто, и вырабатывает некоторое решение
i e Sn [/] в противном случае.
Например, множество решений в индивидуальной задаче о
коммивояжере (в оптимизационной постановке) состоит из всех
маршрутов, имеющих минимально возможную длину. От алго-
алгоритма, который решает эту переборную задачу, требуется толь-
только умение находить для любой индивидуальной задачи один из
таких маршрутоов. Другой пример — когда множество Sn [/]
может оказаться пустым — дает нам так называемая "задача
конструирования гамильтонова цикла", в которой множество
решений для заданного графа G состоит из всех гамильтоновых
циклов в G. Алгоритм решения этой задачи должен выдавать
"нет", когда G не содержит гамильтонова цикла; в противном
случае он должен указать один такой цикл для G. Заметим, что
любая задача распознавания может быть сформулирована как
переборная задача следующим образом:
{„да"}, если / е Уп!
0, если I^EYn.
Полезно отметить, что все задачи распознавания ранее были
сформулированы именно таким образом, поэтому любая задача
распознавания может рассматриваться просто как частный слу-
случай переборной задачи.
В формальных терминах переборной задаче соответствует
понятие "словарного отношения". Пусть имеется конечный ал-
алфавит 2. Словарным отношением над алфавитом 2 называется
бинарное отношение /??2+Х2+, где 2+ = 2*\{е}—мно-
2*\{е}—множество всех непустых слов над 2. Язык L над 2 можно отож-
отождествлять со словарным отношением
и x
L],
где s — любой фиксированный символ из 2. (Заметим, что при
этом игнорируется вопрос, принадлежит ли языку пустое слово,
однако это не влияет на вычислительные вопросы, которыми мы
занимаемся.) Мы говорим, что функция /: 2*->2* реализует
словарное отношение R тогда и только тогда, когда для каждого
х е 2+ имеет место f(x)= e, если не существует у е 2+, такого,
что (x,y)^R; в противном случае f(x) равняется некоторому
у е 2+, для которого (x,y)^R. ДМТ-программа М разрешает
словарное отношение R, если функция \м, вычислимая програм-
программой М, реализует R.
Соответствие между переборными задачами и словарными
отношениями осуществляется снова с помощью схем кодирова-
6.1. Сводимость По Тьюрингу и НР-Трудные задачи 141
ния, только теперь схема кодирования для задачи П должна
выдавать как слово, являющееся кодом каждой индивидуальной
задачи /е?п, так и слово, являющееся кодом каждого реше-
решения seSn [/]. При такой схеме кодирования е переборная
задача П соответствует словарному отношению R [П, е], опре-
определенному следующим образом:
х с= 2+ является кодом индивидуальной за-
(х, у): дачи Iе &а> а У s 2+ — кодом не-
некоторого решения seSn[/] при схе-
схеме кодирования е
Будем говорить, что задача П (при схеме кодирования е)
разрешима полиномиальным алгоритмом, если существует по-
полиномиальная ДМТ-программа, которая "разрешает" R[U,e].
Необходимость обобщения понятия полиномиальной своди-
сводимости вызвана тем, что любое полиномиальное сведение задачи
распознавания П к задаче распознавания П' порождает алго-
алгоритм А для решения задачи П при помощи гипотетической "под-
"подпрограммы" решения задачи П'. Если дана переборная задача
П и ее индивидуальная задача /, то этот алгоритм сначала кон-
конструирует эквивалентную индивидуальную задачу /' из П', за-
затем применяет упомянутую подпрограмму к /' и наконец выдает
ответ, выработанный этой подпрограммой, поскольку он будет
также правильным ответом для /. За исключением времени
работы подпрограммы, алгоритм А работает в течение полино-
полиномиального времени. Таким образом, если бы подпрограмма
представляла собой полиномиальный алгоритм решения задачи
П', вся описанная процедура целиком была бы полиномиальным
алгоритмом для решения задачи П.
Заметим, что последнее утверждение останется справедли-
справедливым, если алгоритм А будет использовать подпрограмму для П'
несколько (но не более чем полиномиальное число) раз, и даже
если предполагаемая подпрограмма будет предназначена для
решения переборной задачи, а не задачи распознавания. Это
является основанием для предлагаемого ниже обобщения. Бу-
Будем говорить, что переборная задача П сводится за полиноми-
полиномиальное время к переборной задаче П' в смысле Тьюринга (или,
для краткости, сводится по Тьюрингу), если существует алго-
алгоритм А, который решает задачу П с помощью гипотетической
подпрограммы 5 решения задачи П', такой, что если S была бы
полиномиальным алгоритмом для IT, то А был бы полиноми-
полиномиальным алгоритмом для П.
Это определение можно формально выразить в терминах так
называемых оракульных машин. Для определенности мы поль-
пользуемся моделью машины Тьюринга, хотя аналогичные
142
5. UP-трудные задачи
определения можно было бы сделать с помощью любой стан-
стандартной модели вычислений. Оракульная машина Тьюринга
(ОМТ) состоит из стандартной детерминированной машины
Тьюринга, снабженной дополнительной оракульной лентой с
ячейками, которые занумерованы числами ... —2, —1,0,1,2 ...,
и читающей/пишущей оракульной головкой для работы с этой
лентой. Схематически эта машина изображена на рис. 5.1.
-2-10 1 2 3
Оракульная
Улра&лякщее
устройство
лента
г Оракулшая га/юПка
i Читающая/пишущая головка
~ Основная
лента
-2-10123
Рис. 5.1. Схематическое представление оракульной машины Тьюринга (ОМТ).
Программа для ОМТ аналогична программам для детерми-
детерминированной машины Тьюринга и характеризуется следующими
данными:
A) конечным множеством Г ленточных символов, содержащим
некоторое подмножество 2 с= Г входных символов и выде-
выделенный пустой символ кеГ — 2;
B) конечным множеством состояний Q, среди которых выде-
выделены некоторое начальное состояние qo, конечное состояние
qh, выделенное состояние вопроса к оракулу qc и резюми-
резюмирующее состояние q,\
C) переходной функцией
б: (Q-{?fc,<?c})XrXS-^QXrX2{-l,+l}X{-l.+1}.
Вычисление программы на ОМТ, имеющей вход дге2*,
очень сходно с вычислением на ДМТ, за исключением того, что
если управляющее устройство находится в состоянии qc, то по-
поведение на следующем шаге зависит от конкретной оракульной
функции g: 2*->-Е*. В начальный момент вычисления символы
слова х записаны в ячейках с номерами 1, .... |*| основной
ленты, при этом остальные ячейки этой ленты и все ячейки
оракульной ленты пусты, каждая головка находится над ячей-
ячейкой 1 на своей ленте и управляющее устройство находится в со-
состоянии qo. Вычисления осуществляются шаг за шагом, причем
на каждом шаге может возникнуть одна из трех ситуаций:
а. Если текущее состояние есть qh, то вычисление заканчи-
заканчивается, и на этом работа машины прекращается.
5.1. Сводимость по Тьюрингу и ЫР-трудные задачи 143
б. Если текущее состояние q^Q\{qn, qc), то поведение за-
зависит от символов, прочитанных на лентах, и от переходной
функции б. Пусть Si—это символ в ячейке, просматриваемой в
текущий момент основной головкой, $2— символ в ячейке, про-
просматриваемой в этот момент оракульной головкой, и {q', si, «2,
А|, Д2) —значение 6(91, s\, S2). Тогда машина переходит из
состояния q в состояние q'\ основная головка записывает si
вместо S\ и сдвигается на 1 ячейку вправо, если Ai = +1, или
на 1 ячейку влево, если Ai = —1; оракульная головка записы-
записывает sb вместо «2 и сдвигается аналогично в соответствии со
значением А2. Таким образом, все происходит как на одном
шаге в обычной ДМТ, за исключением того, что используются
две ленты.
в. Если текущее состояние есть qc, то поведение зависит от
содержания оракульной ленты и от оракульной функции q.
Пусть j/e2*— слово, записанное на ленте, начиная с 1-ой ячей-
ячейки и кончая той, в которой расположена оракульная головка,
причем «/= е, если эта головка находится левее ячейки 1').
Тогда за один шаг оракульная лента изменяется так, что в
ячейках 1, ..., \г\ оказывается записанным слово г, а осталь-
остальные ячейки пусты; оракульная головка перемещается в позицию
для просмотра ячейки 1, и машина переходит из состояния qc в
состояние qr. Этот шаг не изменяет содержимого основной лен-
ленты и положения основной головки.
Главное различие между ОМТ и ДМТ проявляется в послед-
последней ситуации, которая обеспечивает возможность ОМТ "кон-
"консультироваться с оракулом". Если ОМТ записывает вопрос у на
оракульной ленте и затем принимает состояние вопроса к ора-
оракулу, ответное слово z = g{y) выдается за один шаг вычисле-
вычисления. Это соответствует обращению к гипотетической подпро-
подпрограмме вычисления функции g. Вычисление ОМТ-программы М
на входе х зависит как от х, так и от используемой оракульной
функции g.
Мы будем использовать символ Mg для обозначения "реля-
тивизированной" ОМТ-программы, получаемой путем комбини-
комбинирования программы М с оракулом g. Если Mg останавливается
на всех входах лее 2*, ее можно рассматривать как программу,
») В первом издании книги у определялось так: пусть у е 2* — это
слово, записанное в ячейках 1 \у\ оракульной ленты, где ячейка
|у|+1—первая пустая ячейка вправо от ячейки 0 и пусть zsS*—зна-
zsS*—значение #({/)¦ Авторы благодарят Дж. Лукера за его замечание, позволившее
уточнить определение слова у. (Можно показать в качестве упражнения, что
некоторые NP-трудные задачи решались бы за полиномиальное время, если
использовать определение, представленое в 1-м издании.)—Дополнение ав-
авторов.
144 5. NP-трудные задачи
вычисляющую функцию fgM: S*—»-Г*, определяемую точно так
же, как для случая ДМТ. Будем называть Mg полиномиальной
О МТ-программой, если существует полином р, такой, что Afg
останавливается на р(|х|) шагов для любого лгеЕ*.
Пусть R и R'— два произвольных словарных отношения над
алфавитом 2. Определим полиномиальную сводимость R к R'
в смысле Тьюринга как ОМТ-программу М с входным алфави-
алфавитом 2, такую, что для любой функции g: 2*-»-2*, реализующей
отношение R', релятивизированная программа Mg будет поли-
полиномиальной ОМТ-программой, а функция f^, вычисленная про-
программой Mg, будет реализовывать отношение R. Если # таким
образом сводится к R', то это обозначается следующим образом:
R <xTR' (читается "R сводится к R' по Тьюрингу"). Заметим, что
осг, подобно ос, транзитивно.
Теперь можно определить понятие "NP-трудной" задачи.
Словарное отношение R назовем NP-трудным, если существует
NP-полный язык L (в свою очередь представленный как сло-
словарное отношение описанным выше способом), такой, что
L ос TR. Переборная задача П (при схеме кодирования е) на-
называется NP-трудной, если словарное отношение R [П, е] яв-
является NP-трудным. Неформально можно сказать, что пере-
переборная задача П является NP-трудной, если существует неко-
некоторая ЛФ-полная задача ГГ, которая сводится по Тьюрингу к
задаче П. Нетрудно видеть, что если словарное отношение R
(или переборная задача П) является NP-трудной, то задача П
не может быть решена за полиномиальное время, если Р ф NP.
Заметим, что если R — произвольное NP-трудное словарное
отношение и при этом R сводится по Тьюрингу к словарному
отношению R', то, в силу транзитивности отношения осГ) словар-
словарное отношение R' также должно быть NP-трудным. Более того,
используя соответствие между языками и словарными отноше-
отношениями, а также соответствие между задачами распознавания и
переборными задачами, немедленно получаем, что все NP-пол-
NP-полные языки и все NP-полные задачи являются NP-трудными.
Мы вернемся к ОМТ в гл. 7, а сейчас продолжим обсужде-
обсуждение на уровне задач, применяя введенные выше понятия своди-
сводимости по Тьюрингу, и NP-трудных задач обычным неформаль-
неформальным образом. Первое и наиболее тривиальное применение
касается задач, дополнительных к NP-полным. Задача Пс назы-
называется дополнительной к задаче распознавания П, если ее об-
область определения — это множество Dn, а множеством положи-
положительных ответов является DnWn- В гл. 2 мы отметили, что,
вообще говоря, не известно, можно ли утверждать, что из при-
принадлежности задачи П классу NP следует, что Пс е NP. Далее,
совсем не очевидно, что задачу П можно полиномиальным обра-
5.1. Сводимость по Тьюрингу и ЫР-трудные задачи 145
зом свести к задаче Пс из-за несимметричности ответов "да" и
"нет". Однако совершенно тривиально, что задача П сводится
по Тьюрингу к Пс (и обратно); поэтому, если задача П являет-
является NP-полной или NP-трудной, то и IF должна быть NP-трудной.
Второе применение относится к таким переборным задачам,
как оптимизационная задача о коммивояжере или задача о кон-
конструировании гамильтонова цикла, у которых соответствующие
задачи распознавания NP-полны.
Всякий раз, когда можно воспользоваться полиномиальным
алгоритмом переборной задачи для решения соответствующей
задачи распознавания за полиномиальное время, существует
сводимость по Тьюрингу между ними, и, следовательно, любой
результат, касающийся NP-полноты задачи распознавания мо-
может быть переформулирован как результат, устанавливающий
NP-трудность переборной задачи. Поэтому аргументы, представ-
представленные в гл. 2 в пользу того, что КОММИВОЯЖЕР не труднее,
чем оптимизационная задача о коммивояжере, в совокупности
с тем фактом, что КОММИВОЯЖЕР—это NP-полная задача,
составляют доказательство того, что эта оптимизационная за-
задача NP-трудна.
Ни один из этих примеров не иллюстрирует всех возможно-
возможностей сводимости по Тьюрингу, поскольку в каждом из них тре-
требуется лишь однократное обращение к оракулу (или к соответ-
соответствующей подпрограмме). Рассмотрим теперь пример, который
в более полной мере использует сводимость по Тьюрингу.
К-е ПО ПОРЯДКУ ПОДМНОЖЕСТВО
УСЛОВИЕ. Заданы конечное множество А, размер s(a)eZ+
для каждого ае^и два неотрицательных числа В< ? s(a) и
аеЛ
ВОПРОС. Существует ли не менее К различных подмножеств
А'^ А, удовлетворяющих условию s(A')^B (где по опреде-
определению s(A')= ? s(a)O
as A'
Было показано [322], что эта задача может быть решена
за псевдополиномиальное время, точнее за время, ограниченное
полиномиальной функцией от \А\ -K\\ogs(A)"). Таким обра-
образом, для любого фиксированного значения К задачу можно ре-
решить за полиномиальное время. Вопрос состоит в том, чтобы
выяснить, может ли она быть решена за полиномиальное время
в общем случае.
Представляется, что эта задача не принадлежит классу Р.
Более того, совсем не очевидно, что она принадлежит NP, по-
поскольку естественный путь ее решения недетерминированным
алгоритмом требует угадывания К подмножеств множества А
146 5. tiP-трудные задачи
и, по-видимому, нет способа записать угаданные К подмно-
подмножеств в виде слова, длина которого будет полиномом от
\А\ • flog/Cl [logs(A) 1. С другой стороны, не известно, сво-
сводится ли (в смысле сводимости ос) какая-либо NP-полная за-
задача к этой задаче. Однако Джонсон и Кашдан [260] пока-
показали, что NP-полная задача РАЗБИЕНИЕ сводится по Тью-
Тьюрингу к задаче К-е ПО ПОРЯДКУ ПОДМНОЖЕСТВО.
В самом деле, положим, что S[A, s, В, К] — это подпрограм-
подпрограмма для решения задачи К-е ПО ПОРЯДКУ ПОДМНОЖЕСТВО.
При этом пусть A=z{a\, а2, ...,а„), s: A^*-Z+, B^Ls(A), К^2п.
Соответствующий алгоритм для решения задачи РАЗБИЕНИЕ
начинается с вычисления величины s(A), где параметры А =
= {яь Ог, ..., ап} и s: A-*-Z+ описывают заданную индиви-
индивидуальную задачу РАЗБИЕНИЕ. Если s(A) нечетно, то алго-
алгоритм немедленно отвечает "нет" для этой индивидуальной за-
задачи. В противном случае он полагает величину В равной
s(A)/2 и применяет приводимую ниже дихотомическую проце-
процедуру, использующую введенную выше процедуру S[A, s, В, К]
и позволяющую определить число L* подмножеств A's А, удов-
удовлетворяющих неравенству s(A')^b.
Шаг 1. Положить Lmin-<-0, Lmax-*-2n.
Шаг 2. Если Lmax — Lmin=l, положить L*-*~Lmin и остано-
остановиться.
Шаг 3. Положить L-*-(Lmax + Lmm)/2 и вызвать подпрограмму
S[A, s, b, L]. Если ответ "да", положить Lm\n-*-L и пе-
перейти к шагу 2. В противном случае положить Lmax-*-/.
и перейти к шагу 2.
Эта процедура определяет L*, вызывая подпрограмму 5
ровно п раз. Требуется еще один дополнительный вызов для
определения ответа в заданной задаче РАЗБИЕНИЕ, а именно
вызывается подпрограмма S[A, s, b — 1, L*]. Если ответ в этой
подпрограмме будет "да", то все подмножества /1'еД удовле-
удовлетворяющие неравенству s(A')^b, должны удовлетворять и
условию s(A')^s b— 1, поэтому ответом к задаче РАЗБИЕНИЕ
будет "нет". Если же ответом подпрограммы будет "нет", то
должно существовать некоторое подмножество A's А, для ко-
которого s(A') = b, поэтому ответ в задаче РАЗБИЕНИЕ будет
"да".
Легко видеть, что описанная процедура была бы полино-
полиномиальным алгоритмом для задачи РАЗБИЕНИЕ, если бы про-
процедура S была полиномиальным алгоритмом для задачи К-е
ПО ПОРЯДКУ ПОДМНОЖЕСТВО. Таким образом, мы имеем
желаемую тьюрингову сводимость задачи РАЗБИЕНИЕ к за-
задаче К-? ПО ПОРЯДКУ ПОДМНОЖЕСТВО. Отсюда следует,
S.t. Сводимость по Тьюрингу и ЫР-трудные задачи 14?
что последняя задача NP-трудна и не может быть решена за
полиномиальное время, если Р ф NP.
Основываясь на этом примере, легко понять, что можно
использовать понятие NP-трудности для анализа сложности
задач почти таким же образом, как ранее использовалось поня-
понятие NP-полноты. Все типы вопросов, обсуждаемых в гл. 4, при-
применимы к NP-трудным задачам. В частности, можно говорить
о сложности подзадач и о таких смежных вопросах, как псевдо-
псевдополиномиальные алгоритмы и "сильная" NP-трудность (опреде-
(определяемая аналогично сильной NP-полноте: переборная задача
называется NP-трудной в сильном смысле, если она содержит
NP-трудную подзадачу, удовлетворяющую полиномиальной гра-
границе для Мах[/]). На эти результаты накладывается един-
единственное ограничение: NP-полные задачи разрешимы за полино-
полиномиальное время тогда и только тогда, когда Р = NP, в то время
как все, что можно сказать о NP-трудной задаче, — это то, что
она неразрешима за полиномиальное время, если Р ф NP.
Мы покажем, что и это различие часто можно устранить, что
будет еще одной иллюстрацией использования сводимости по
Тьюрингу. Вспомним, что, когда мы говорили в гл. 2 о том, что
КОММИВОЯЖЕР не труднее, чем соответствующая оптимизаци-
оптимизационная задача, мы упомянули также, что она в некотором смысле
и "не легче". Смысл этого высказывания теперь можно пояснить.
Если рассмотреть пару задач, одна из которых — задача
распознавания, а другая — соответствующая оптимизационная
задача, то не только задача распознавания сводима по Тьюрин-
Тьюрингу к задаче оптимизации, но и задача оптимизации также сво-
сводима по Тьюрингу к задаче распознавания. Таким образом, каж-
каждая задача рассматриваемой пары может быть решена за по-
полиномиальное время тогда и только тогда, когда другая задача
этой пары полиномиально разрешима. Поскольку задача распо-
распознавания является NP-полной, то отсюда следует, что рассма-
рассматриваемая оптимизационная задача может быть решена за по-
полиномиальное время тогда и только тогда, когда Р = NP.
Чтобы убедиться в этом, рассмотрим следующую задачу,
занимающую промежуточное место между задачами распозна-
распознавания и оптимизационными.
ДОСТРОЙКА МАРШРУТА КОММИВОЯЖЕРА (ДМК)
УСЛОВИЕ. Заданы конечное множество С = {cj, с2, ..., ст)
городов, расстояния d(d, C/)eZ+ для каждой пары городов
с,, ci & С, граница BeZ+ и "частичный" маршрут в = <сяA),
СлB>, ..., ся</<)> между К различными городами из С, I^/C^m.
ВОПРОС. Можно ли так достроить в, чтобы получить марш-
РУт <сЯA), сяB), .... ся(/о; Cmk+d, ¦¦¦, сМт)}, проходящий через
все города и имеющий длину не более В?
148 5. HP-трудные задачи
Легко видеть, что эта задача принадлежит NP и, следова-
следовательно, по определению NP-полноты, ДМК ос КОММИВОЯ-
КОММИВОЯЖЕР. Поскольку сводимость <х—это лишь частный случай
сводимости по Тьюрингу, отсюда сразу следует, что ДМК <*т
КОММИВОЯЖЕР. Обозначим через КО оптимизационную за-
задачу о коммивояжере и покажем, что КО осг ДМК, тогда
в силу транзитивности этого факта будет достаточно для дока-
доказательства того, что КО ос КОММИВОЯЖЕР.
Итак, положим, что S[C, d, в, В] — это подпрограмма для
решения задачи ДМК, где параметр С обозначает множество
городов, d — функция расстояний между парами городов из С,
в — частичный маршрут, BgZ+ — граница. Пусть С и d опре-
определяют некоторую индивидуальную задачу ДМК, а В* обозна-
обозначает длину оптимального маршрута в этой индивидуальной за-
задаче (какая бы она ни получилась). Поскольку каждый город
должен войти в оптимальный маршрут и циклическая переста-
перестановка городов в маршруте не изменяет его длину, то сущест-
существует оптимальный маршрут, начинающийся из города с\. Да-
Далее, мы знаем, что величина В* лежит между Bmin=m и Bmax=
= m- (max{d(ct, с/): ci, с/^С}). Тогда, пользуясь дихотомиче-
дихотомической процедурой, такой же, как в задаче /С-е ПО ПОРЯДКУ
ПОДМНОЖЕСТВО, мы сможем найти величину В*, обращаясь
не более flc^Bniaxl раз к подпрограмме S[C, d, <Ci>, В],
каждый раз придавая величине В различные значения.
Определив величину В* и используя подпрограмму S, мы
сможем построить оптимальный маршрут. Назовем последова-
последовательность в различных городов из С продолжаемым частичным
маршрутом, если его можно продолжить до полного маршрута,
имеющего общую длину В*. Очевидно, что <ci> — это продол-
продолжаемый частичный маршрут. Поскольку <cj> допустим, сущест-
существует по крайней мере один город e/eC\{ci}, такой, что
<Ci, С/У — продолжаемый частичный маршрут. Мы можем найти
этот город с/, произведя не более m — 2 вызовов подпрограммы
S, которая каждый раз имеет вид S[C, d, <Ci, c/>, В*], где
C/eC\{ci}. (Если первые m — 2 вызова не дают результата,
то ясно, что оставшийся город обязательно подойдет, поэтому
для него не нужно применять нашу подпрограмму.)
В общем случае, если <сЛ(и, ..., сМК)У — продолжаемый ча-
частичный маршрут, где К < ш, то мы сможем найти другой про-
продолжаемый частичный маршрут <сяA), ..., сяОТ, с (к+о>, вклю-
включающий еще один город, при этом к подпрограмме S делается
не более m — К—1 обращений. Таким образом, можно по-
построить полный маршрут для множества С, совершив не более
(яг—\){гп — 2)/2 вызовов подпрограммы S (помимо тех вызо-
вызовов, которые использовались для нахождения величины В*).
Поскольку в качестве подходящей функции Length в задаче о
6.1. Сводимость по Тьюрингу и ЫР-fрудные задачи 149
коммивояжере можно взять функцию
Length [/] = m + log2 Bmax.
то очевидно, что описанная процедура дает (полиномиальную)
сводимость по Тьюрингу задачи КО к задаче ДМК. Следова-
Следовательно, КОосгДМКосг КОММИВОЯЖЕР, т. е. КОосг КОМ-
КОММИВОЯЖЕР, что и требовалось доказать.
Заметим, что главное звено здесь — это сводимость
КО ос т ДМК. Выяснив, что КО сводится по Тьюрингу к какой-то
задаче из NP, мы получаем, что она может быть решена за
полиномиальное время, если Р = NP, и, следовательно, она "не
труднее", чем ЛФ-полные задачи. Мы назовем переборную за-
задачу П NP-легкой, если существует задача II'eNP, такая, что
Посг IT.
После того как читатель усвоил технику сводимости
КО ост ДМК, ему будет не трудно понять, как этим же подхо-
подходом можно воспользоваться, чтобы доказать NP-легкость многих
переборных задач, особенно это относится к тем задачам, кото-
которым соответствуют задачи распознавания, являющиеся NP-пол-
ными. Можно определить задачу П' из NP так, как это было
сделано для задачи ДМК, с тем, чтобы последовательно по-
построить требуемое решение (см., например, [520]). Для опти-
оптимизационных задач процедуре построения решения предшест-
предшествует предварительная дихотомическая процедура, в процессе
которой находится оптимальное значение целевой функции.
В качестве упражнения мы предлагаем читателю попытаться
доказать, что переборные задачи, соответствующие шести базо-
базовым NP-полным задачам из разд. 3.1, все являются NP-лег-
кими, т. е. предлагается найти: A) набор, присваивающий зна-
значение "истина", B) трехмерное сочетание, C) вершинное
покрытие минимальной мощности, D) клику максимальной мощ-
мощности, E) гамильтонов цикл и F) разбиение множества "взве-
"взвешенных" элементов на два подмножества одинакового размера.
В действительности теперь мы видим, что изучение в основ-
основной теории только задач распознавания не привело к сущест-
существенной потере общности, поскольку в большинстве случаев пе-
переборные задачи, у которых соответствующие задачи распозна-
распознавания оказались NP-полными, сами все являются NP-легкими
и, следовательно, эквивалентными по сложности. В то время
как мы строили наш класс эквивалентности — класс NP-пол-
ных задач, одновременно получался значительно более широкий
класс эквивалентных переборных задач, а именно тех задач,
которые одновременно и NP-трудные и NP-легкие (и поэтому
мы их называем NP-эквивалентными). Хотя этот более широкий
класс содержит много задач, не принадлежащих NP, он сохра-
сохраняет знакомое свойство, присущее NP-полным задачам: ни одна
ISO 6. NP-трудные задачи
задача из этого класса не может быть решена за полиномиаль-
полиномиальное время, если Р ф NP, а если Р = NP, то все задачи из этого
класса могут быть решены за полиномиальное время.
5.2. ИСТОРИЧЕСКАЯ СПРАВКА
Заканчивая наше описание теории NP-полноты, уместно
кратко остановиться на истории развития основных идей и тер-
терминологии, используемой для их описания.
В гл. 1 мы уже упоминали две ранние работы, в которых
обсуждалось значение полиномиальной сложности. Кобхэм [80]
рассматривал широкий спектр математических функций, вычис-
вычислимых за полиномиальное время, и заметил, что класс всех
таких функций не изменяется при различных моделях вычисле-
вычислений. Эдмондс [106] неформально отождествлял термин "хоро-
"хороший алгоритм" с понятием полиномиального алгоритма. В дру-
другой ранней работе [107] было введено неформальное понятие,
близкое к классу NP. В этой работе предлагалось считать, что
задача имеет "хорошую характеризацию", если для каждого ее
решения найдется проверяемое за полиномиальное время "дока-
"доказательство" того, что это действительно решение.
Все эти ранние работы были написаны в терминах функций
или задач, которые мы назвали переборными. Фундаменталь-
Фундаментальный вклад Кука состоял, в частности, в том, что он увидел воз-
возможность свести обсуждения к языкам и соответствующим за-
задачам распознавания. В работе Кука [91] впервые были вве-
введены классы, которые теперь называют классами Р и NP, и
была доказана фундаментальная теорема (теорема Кука). Од-
Однако эта статья отличается от всех последующих работ в двух
важных аспектах. Во-первых, основное понятие сводимости,
введенное Куком и названное им "Р-сводимостью", было близко
к полиномиальной сводимости по Тьюрингу, а не к полиноми-
полиномиальной сводимости ос. Поэтому в некоторых работах полино-
полиномиальную сводимость по Тьюрингу называют "сводимостью по
Куку". Во-вторых, класс эквивалентных задач, которые Кук свя-
связал с задачей ВЫПОЛНИМОСТЬ (он не дал названия этому
классу), не был ограничен задачами, сейчас называемыми NP-
полными, а включал все задачи распознавания, которые мы
назвали "NP-эквивалентными".
Теория NP-полноты приняла свой современный вид в ра-
работе Карпа [280], хотя некоторые термины появились позднее.
Карп ввел термины "класс Р" и "класс NP" и заметил, что тео-
теорема Кука останется справедливой, если понятие сводимости по
Тьюрингу заменить более простой и удобной полиномиальной
сводимостью (transformability). Этот тип сводимости иногда на-
называют "сводимостью по Карпу". Иногда его также называют
5.2. Историческая справка 151
"многооднозначной" сводимостью, поскольку она является мно-
многооднозначной функцией. Сам Карп просто пользовался терми-
термином "сводимость". Он дал современное определение "NP-полной
задачи", хотя при этом пользовался термином "полиномиально
полная задача" (термин "полный" восходит к теории рекурсив-
рекурсивных функций, где язык называют полным по отношению к клас-
классу с данным типом сводимости, если он принадлежит этому
классу и каждый элемент класса сводится к нему). В свете
различия между двумя классами, определенными Куком и Кар-
Карпом, ссылки на "класс Кука — Карпа", иногда встречающиеся
в литературе, выглядят забавно (обычно при этом имеется
в виду класс задач, определенный Карпом).
Статья Карпа, а также его сообщения на конференциях до
публикации этой статьи вызвали широкий интерес. И естествен-
естественно, что наряду с новыми научными результатами время от вре-
времени стали появляться новые термины. Вместо термина "poly-
"polynomial complete" предлагалось писать "polynomially complete",
несмотря на громоздкость последнего термина. Далее, Сахни
[463] ввел термин "Р-полная задача", это был аналог "поли-
"полиномиально полных задач", обобщенный на более широкий класс
задач (аналогичных нашим "переборным задачам"). Он же
предложил термин "Р-трудная задача" для тех задач, которые
по крайней мере столь же сложны, как NP-полные. В то же
время Левин независимо доказал теорему, аналогичную теореме
Кука, и ввел термин "универсальная переборная задача" [340],
который относится (так же как Р-полные задачи, рассматривае-
рассматриваемые Сахни) к более широкому классу задач, чем только задачи
распознавания. В - частности, используемое нами определение
термина "переборная задача" заимствовано из работы [340].
Общепринятая в настоящее время терминология (NP-полная
и NP-трудная задачи, полиномиальная сводимость) в большой
степени является результатом деятельности Доналда Кнута.
В 1973 г., подготавливая к печати четвертый том своей моно-
монографии "Искусство программирования" и нуждаясь в кратком
обозначении задач, "которые по крайней мере столь же сложны,
как полиномиально полные", Кнут провел по своей инициативе
опрос среди большой группы специалистов, занимающихся рас-
рассматриваемой тематикой. Он предложил им три варианта на-
названия и просил выбрать наилучший с их точки зрения. При
этом он отверг термин "Р-трудная задача" из семантических со-
соображений, поскольку если Р ф NP, то полиномиально полные
задачи окажутся на самом деле намного труднее, чем задачи
из Р. Опрашиваемые специалисты в свою очередь отвергли все
три названия, предложенные Кнутом, и выдвинули целый ряд
своих названий, некоторые из них носили не совсем серьезный
характер (например, Шен Лин предложил полиномиально полные
152 5. tiP-трудные задачи
задачи называть "РЕТ-задачами", во-первых, потому, что
это излюбленная тема его исследований1), а во-вторых, потому,
что сочетание PET можно рассматривать как сокращение для
"Probably Exponential Time" (возможно экспоненциальное вре-
время)). Более того, если проблема Р = NP будет решена, предла-
предлагаемое сокращение получит новую интерпретацию: если Р ф NP,
то PET можно трактовать как "provably exponential time" (до-
(доказуемо экспоненциальное время); если же Р = NP, то PET
может обозначать "previously exponential time" (время, ранее
считавшееся экспоненциальным).
Интересный отчет об этом опросе и последовавших дискус-
дискуссиях можно найти в статье Кнута [294]. В результате проведен-
проведенного опроса наибольшее число голосов получили термины
"NP-полная задача" и "NP-трудная задача" (оба они отсут-
отсутствовали в первоначальном списке Кнута), при этом "NP-пол-
"NP-полная задача" заменила термин "полиномиально полная задача",
а "NP-трудной задачей" была названа такая задача распозна-
распознавания П, что ВЫПОЛНИМОСТЬ ос П. Термин "NP-полная"
был принят, поскольку он, во-первых, короче, чем "полиномиаль-
"полиномиально полная", и, во-вторых, он имеет больше смысла с теоретиче-
теоретической точки зрения (NP-полная задача — это такая задача, ко-
которая полна в NP относительно полиномиальной сводимости).
Аналогично термин "NP-трудная задача" имеет тот смысл, что
это задача не проще, чем "самая трудная в NP".
С тех пор эти термины стали применяться почти повсемест-
повсеместно, хотя по-прежнему нередко появляется и термин "полино-
"полиномиально полная задача". Термин "NP-полная задача" употреб-
употребляется достаточно стабильно, а значение термина "NP-трудная
задача" меняется. В заметке [295] Кнут предложил применять
термин "полиномиальное сведение" (polynomial reduction) вме-
вместо термина "полиномиальное преобразование" (polynomial
transformation). Кроме того, он предложил более широкое оп-
определение NP-трудной задачи как задачи распознавания, к кото-
которой ВЫПОЛНИМОСТЬ сводится по Тьюрингу (а не в смысле
сводимости ос). По этой причине, например, задачи, дополни-
дополнительные к NP-полным, могут быть названы NP-трудными. Тер-
Термин "NP-трудная задача" встречается в литературе и в том и в
другом смысле, пожалуй, одинаково часто.
В этой книге мы сделали еще один шаг по сравнению с ра-
работами Кнута, обобщив определение NP-трудной задачи, рас-
расширив его, а также понятие сводимости по Тьюрингу, чтобы
включить переборные задачи. По этой причине новые термины
найдут более широкое применение. Исходя из аналогичных со-
соображений, мы ввели понятие "NP-легких" и "NP-эквивалент-
J) Pet — излюбленная тема, излюбленный предмет. — Прим. перев.
5.2. Историческая справка 153
ных" задач, причем в последнем .понятии мы попытались фор-
формализовать кое-что из того, что Сахни имел в виду, введя
"Р-полные задачи", а Левин — "универсальные переборные за-
задачи".
Кроме того, авторы ввели понятие "сильной NP-полноты"
(разд. 4.2), причем впервые этот термин появился в работе
[151]. Другое определение этого же понятия было предложено
в [317], где задача "NP-полная в сильном смысле" называлась
"унарной NP-полной", а задача "NP-полная в обычном смысле"
называлась "бинарной NP-полной". Эта терминология осно-
основана на том факте, что если задача NP-полная в сильном смы-
смысле, то соответствующий язык является NP-полным даже в слу-
случае, когда кодирующая схема представляет числа в "неэконом-
"неэкономном" унарном коде (т. е. последовательность из п единиц пред-
представляет число п).
За исключением нескольких новых терминов, введенных
выше, и некоторых несущественных отличий в предлагаемых мо-
моделях ЭВМ, мы пытались следовать как можно ближе принятой
в настоящее время терминологии, поэтому настоящая книга до-
достаточно хорошо согласована с современной научной литерату-
литературой. Читатель, выбравший эту книгу в качестве начального
руководства для дальнейшего изучения литературы, без сомне-
сомнения, найдет ссылки на многочисленные периферийные вопросы,
которые являются "точками роста" в теории NP-полноты. В по-
последующих двух главах приводится материал по подобной
смежной тематике, так что читатель может представить себе,
о каких вопросах идет речь, и, возможно, сам займется изуче-
изучением тех вопросов, которые покажутся ему наиболее интерес-
интересными.
6. Подходы к решению
NP-полных задач
Вернемся на короткое время в отдел бандерснечей из
разд. 1.1. Напомним, что мы покинули его в несколько неопре-
неопределенной ситуации. Будучи главным разработчиком алгоритмов,
вы удачно избежали возможного обвинения в некомпетентно-
некомпетентности, доказав NP-полноту задачи о бандерснече. Однако после
произнесения этих магических слов задача о бандерснече не ис-
исчезла, и вы по-прежнему стоите пред проблемой отыскания при-
приемлемого алгоритма ее решения.
В настоящей главе будут обсуждаться некоторые возмож-
возможные подходы к этой проблеме, главным образом новое направ-
направление, связанное с получением доказуемых "оценок погрешно-
погрешности" алгоритмов. Однако, прежде чем перейти к рассмотрению
конкретного материала, желательно сделать краткий обзор
возможных альтернатив, которые в первом приближении мож-
можно было бы разбить на две общие категории.
К первой категории относятся подходы, в которых делается
попытка максимального сокращения объема перебора, хотя
при этом и признается неизбежность экспоненциального времени
работы. К наиболее широко используемым приемам сокраще-
сокращения перебора относятся приемы, основанные на методе "ветвей
и границ" или методе "неявного перебора" (см., например,
[161]). Эти приемы состоят в построении "частичных решений",
представленных в виде дерева поиска, и применении мощных
методов построения оценок, позволяющих опознать бесперспек-
бесперспективные частичные решения, в результате чего от дерева поиска
на одном шаге отсекается целая ветвь. Известны и другие под-
подходы, когда процесс поиска организован иначе (они исполь-
используются иногда совместно с методом ветвей и границ). К ним
относятся метод динамического программирования (применяв-
(применявшийся в гл. 4 для построения алгоритмов с псевдополиномиаль-
псевдополиномиальным временем работы), методы отсечений (см., например, [226,
161]) и метод Лагранжа (см., например, [170, 206]). Кроме
того, в худшем случае иногда оказывается возможным в значи-
значительной степени уменьшить сложность полного перебора за счет
более удачного выбора объектов, к которым он применяется.
К относительно недавним примерам использования этого под-
подхода относятся алгоритмы решения задачи РАЗБИЕНИЕ, за-
6. Подходы к решению NP-полных задач 155
дачи РАСКРАШИВАЕМОСТЬ ГРАФА В К ЦВЕТОВ [325] и
задачи НЕЗАВИСИМОЕ МНОЖЕСТВО [513].
Подходы, относящиеся ко второй категории, применимы ис-
исключительно к оптимизационным задачам (это однако не яв-
является слишком сильным ограничением, поскольку огромное ко-
количество задач, возникающих на практике, естественно форму-
формулируются как оптимизационные) и включают прием, который
можно назвать "снижение требований". Он заключается в от-
отказе от поиска оптимального решения и в нахождении вместо
этого "хорошего" решения за приемлемое время. Алгоритмы,
основанные на этом приеме, обычно называются "эвристически-
"эвристическими", поскольку они используют различные разумные сообра-
соображения без строгих обоснований. Методы, применяемые для по-
построения алгоритмов такого типа, сильно зависят от специфики
задачи, хотя и удалось выделить несколько руководящих прин-
принципов, которые могут служить полезной отправной точкой (см.
[347], где проводится блестящее обсуждение этих принципов).
Наиболее широко применяется так называемый метод "локаль-
"локального поиска", когда заранее выбранное множество локальных
операций используется для последовательного улучшения на-
начального решения до тех пор, пока такое улучшение возможно,
в противном случае оказывается достигнутым "локальный опти-
оптимум".
Эвристические алгоритмы, построенные этим и другими ме-
методами, на практике оказываются весьма удовлетворительными,
хотя для получения удовлетворительных характеристик алго-
алгоритма обычно требуется довольно большая работа по его "до-
"доводке". В результате удается только в очень редких случаях
заранее предсказать и оценить поведение таких алгоритмов.
Вместо этого такие алгоритмы оцениваются и сравниваются на
основе сочетания эмпирических данных и аргументов, опираю-
опирающихся на здравый смысл.
Однако совсем недавно был получен ряд результатов, кото-
которые показали, что эвристические алгоритмы не всегда столь
сложны для формального анализа. В некоторых случаях удает-
удается доказать, что решения, получаемые эвристическим алгорит-
алгоритмом, всегда будут отличаться в процентном отношении от опти-
оптимального решения не более чем на определенную величину.
Подобные результаты можно рассматривать как "оценки по-
погрешности" алгоритмов. В настоящей главе мы остановимся
именно на таких результатах.
В разд. 6.1 сделан обзор различных типов оценки погреш-
погрешности алгоритмов. В разд. 6.2 показано, как теория NP-полноты
позволяет дать заключение о наилучшей из возможных для дан-
данной задачи оценке погрешности. Наконец, в разд. 6.3 обсу-
обсуждаются некоторые практические соображения, касающиеся
156 6. Подходы к решению NP-полных задач
возможностей применения результатов этого типа, а также упо-
упоминаются некоторые теоретические работы, в которых делается
попытка проанализировать "поведение в среднем" эвристиче-
эвристических алгоритмов.
6.1. ОЦЕНКИ ПОГРЕШНОСТИ ПРИБЛИЖЕННЫХ
АЛГОРИТМОВ
Дадим вначале формальное описание понятия "оптимиза-
"оптимизационная задача".
Комбинаторная оптимизационная задача П есть либо задача
минимизации, либо задача максимизации и состоит из следую-
следующих трех частей:
A) множества Dn индивидуальных задач;
B) для каждой /еОп конечного множества Sn(I) допустимых
решений индивидуальной задачи /;
C) функции пгп, сопоставляющей каждой индивидуальной за-
задаче / е D и каждому допустимому решению ае Sn(/) не-
некоторое положительное целое число п\пA, а), называемое
величиной решения а.
Если П — задача минимизации (соответственно максимизации),
то оптимальным решением индивидуальной задачи / е Dn яв-
является такое допустимое решение <x*eSn(/), что для всех ое
е Sn(/) выполнено неравенство тп(Д о*) ^ тп(/, о) (соответ-
(соответственно пгаA, о*) ^ тп(/, а)). Для обозначения величины
mn(/,o*) оптимального решения индивидуальной задачи / будет
использоваться символ ОРТп(/) (в тех случаях, когда задача
ясна из контекста, индекс П будет опускаться).
Алгоритм А называется приближенным алгоритмом решения
задачи П, если для любой индивидуальной задачи / е Dn ал-
алгоритм А отыскивает некоторое допустимое решение aeSn(/).
Через А (/) будем обозначать величину тп(/, о) того возмож-
возможного решения а, которое А строит по /. Если Л(/) = ОРТ(/)
для всех /е Dni то А называется точным алгоритмом решения
задачи П.
Приведенные определения можно проиллюстрировать на при-
примере уже известной нам задачи о коммивояжере. Это задача
минимизации, множество ее индивидуальных задач состоит из
всех конечных множеств городов и попарных расстояний между
ними. Допустимые решения конкретной индивидуальной задачи
представляют собой все возможные перестановки заданных го-
городов. Величина решения для каждой такой перестановки равна
длине соответствующего маршрута. Таким образом, приближен-
приближенный алгоритм для данной задачи должен отыскать только не-
некоторую перестановку городов, а точный алгоритм должен асе-
6.1. Оценки погрешности приближенных алгоритмов 157
гда отыскивать перестановку, соответствующую маршруту ми-
минимальной длины.
Если оптимизационная задача NP-трудна (что имеет место
в данном случае), то, как нам известно, нельзя построить точ-
точный полиномиальный алгоритм решения этой задачи (если Р ф
=^NP). Более реалистично попытаться найти приближенный
алгоритм А, время работы которого ограничено полиномом не-
невысокой степени и который обладает тем свойством, что для
всех индивидуальных задач / величина АA) "близка" к вели-
величине ОРТ(/). Следующий пример иллюстрирует типы результа-
результатов, которыми мы будем интересоваться в дальнейшем.
Рассмотрим задачу об "упаковке в контейнеры". Она фор-
формулируется следующим образом: Задано конечное множество
U = {ии , ••-. "л} "предметов" и "размеры" з(и)е [0,1]
каждого предмета и е U (размер предмета представлен рацио-
рациональным числом); требуется найти такое разбиение множества
U на непересекающиеся подмножества ?/j, U2, .... Uk, чтобы
сумма размеров предметов в каждом подмножестве Ut не пре-
превосходила 1 и чтобы k было наименьшим возможным. Можно
считать, что предметы, принадлежащие каждому множеству Ut,
упаковываются в один контейнер размера 1, а наша цель — упа-
упаковать предметы множества U в как можно меньшее число
контейнеров.
Рассматриваемая задача NP-трудна в сильном смысле
(в частном случае она дает задачу 3-РАЗБИЕНИЕ), так что
мало надежды на отыскание даже псевдополиномиального точ-
точного алгоритма решения этой задачи. Однако для ее решения
имеется несколько заслуживающих внимания простых прибли-
приближенных алгоритмов.
Один из них известен под названием "в первый подходящий".
Предположим, что имеется бесконечная последовательность
контейнеров размера 1, каждый из которых в начальный мо-
момент времени пуст. Алгоритм заключается в том, чтобы поме-
помещать предметы в контейнеры по очереди, в порядке возраста-
возрастания номеров. Предметы помещаются в контейнеры согласно
следующему простому правилу: "Очередной предмет ш поме-
помещается в контейнер с наименьшим номером, у которого сумма
размеров помещенных в него предметов не превосходит
1 —s(Ui)". Другими словами, щ помешается в первый из кон-
контейнеров, куда он может попасть (не нарушая ограничения по
размеру). На рис. 6.1 показан пример; здесь каждый предмет
представлен прямоугольником, имеющим высоту, пропорцио-
пропорциональную размеру предмета.
С интуитивной точки зрения этот алгоритм кажется очень
естественным и разумным. Он не начинает заполнять новый
контейнер до тех пор, пока все непустые контейнеры не будут
158
6. Подходы к решению NP-полных задач
слишком сильно заполнены. Что можно сказать о качестве ра-
работы этого алгоритма?
Вначале рассмотрим число контейнеров, требующихся для
указанного алгоритма, как функцию от параметров задачи.
Обозначим эту функцию через FF (/)•)• Имеют место неравен-
неравенства:
FF (/) <
Последнее неравенство вытекает из того, что в результате ра-
работы алгоритма не может получиться более одного контейнера,
иг
N
itti
Рис. 6.1. Пример размещения по правилу «в первый подходящий», где пред-
предмет ut кладется в контейнер Вг, поскольку это первый контейнер, в кото-
который ue может поместиться.
заполненного менее чем на половину. (В противном случае
первый же предмет, попавший в такой контейнер с большим
номером, должен был быть помещен алгоритмом "в первый
подходящий", т. е. такой же контейнер с меньшим номером.)
То, что указанная граница — наилучшая из возможных, следует
из рассмотрения индивидуальной задачи U = {u\,Ui, ...,«„},
где s(ui)=l/2 + е, 1 ^ i ^ п. Поскольку никакие два пред-
предмета не могут попасть в один ящик, то FF(/) = n, в то время
как сумма размеров предметов равна гг/2 -f ne, и если выбрать
е достаточно малым, она будет как угодно близка к л/2.
Сделанное замечание позволяет нам также оценить, во
сколько раз плохое решение, получаемое алгоритмом "в пер-
первый подходящий", может отличаться от оптимального решения
задачи. Поскольку ясно, что
ОРТ(/)>
[.?•<*>!¦
') FF — первые буквы английских слов First Fit (первый подходящий).—
Прим. переа.
6.1. Оценки погрешности приближенных алгоритмов 159
то отсюда вытекает, что для всех индивидуальных задач 1 вы-
выполнено неравенство
FF A)< 2- ОРТ (/).
Однако, как следует из приведенной ниже теоремы, для FF(/)
имеется лучшая оценка, см. [265].
Теорема. 6.1. Для всех индивидуальных задач I об упаковке
имеет место неравенство
FF (/)<-? ОРТ (/) + 2.
Более того, существуют индивидуальные задачи 1, для которых
ОРТ(/) сколь угодно велико и
FF (/)>-? (ОРТ (/)-1).
Таким образом, теорема 6.1 характеризует асимптотическое
поведение в худшем случае алгоритма "в первый подходящий".
Величина FF(/) никогда не отличается от оптимума более чем
на 70%, и в некоторых случаях такое отличие действительно
достигается. (Небольшое улучшение верхней оценки, благодаря
которому A7/10) ОРТ(/)+2 заменяется на Г A7/10 ОРТ(/) 1,
получено в работе [144].) Мы опустим слишком длинное дока-
доказательство теоремы 6.1, однако заметим, что близкая оценка
поведения алгоритма в худшем случае может быть получена из
рассмотрения примеров, представленных на рис. 6.2, для кото-
которых FF(/) = E/3) ОРТ(/). (Доказательство нижней оценки
в теореме 6.1 получается в результате некоторого усложнения
этих примеров.)
Полученные результаты являются основой для анализа при*
ближенных алгоритмов решения задачи об упаковке. Теперь
можно перейти к анализу других алгоритмов с лучшими оцен-
оценками поведения. Очевидно, алгоритм "в первый подходящий"
можно видоизменить, пользуясь, например, следующим более
совершенным правилом размещения: каждый следующий пред-
предмет щ помещаем в тот контейнер, содержимое которого ближе
всего к величине 1—s(ui), но не превосходит ее (если имеется
несколько контейнеров, обладающих этим свойством, то выби-
выбираем из них контейнер с наименьшим номером). Этот алгоритм
известен под названием "в наилучший из подходящих". К со-
сожалению (и к удивлению многих), алгоритм "в наилучший из
подходящих" в худшем случае имеет, по существу, те же ха-
характеристики, что и алгоритм "в первый подходящий", см. [265].
Несколько лучший приближенный алгоритм можно полу-
получить, если учесть, что наихудшей для алгоритма "в первый под-
подходящий" (а также для алгоритма "в наилучший из подходя-
подходящих") оказывается ситуация, когда в упорядочении предметов
160
б. подходы к решению UP-полных задач
предметы с меньшими размерами идут раньше предметов с
большими размерами. Предположим, что предметы из U упо-
упорядочены непроизвольно, а в порядке уменьшения их размеров
и перенумерованы так, что s (ui) ^ s {uz) 75* ... ^s(un)- Алго-
Алгоритм применения процедуры "в первый подходящий" к пере-
переупорядоченному таким образом списку предметов называется
Индивидуальная
задача Г. U = {u1,u2, .. . ,иПт), s(a,) =
1/З+е 6/л<i« 12m
}
1/7+с
V2 +с
1/7 + *
+€
т нонтейнероВ Ътконтейнс- 6 т понтейнероб
6/л контейнеров
ОРТ(/)=6т
Рис. 6.2. Индивидуальные задачи / с произвольно большим значением ОРТ (/),
для которых FF (/) равно 5/3 ОРТ (/).
"в первый подходящий в порядке убывания" (соответствующая
функция обозначается FFD(/)'). Работа этого алгоритма ха-
характеризуется следующей теоремой Джонсона [262] (набросок
доказательства см. в [265]).
Теорема, 6.2. Для всех индивидуальных задач об упаковке
выполняется неравенство
FFD (/) <-^- ОРТ (/) + 4.
Более того, существуют индивидуальные задачи I, для которых
ОРТ(/) произвольно велико и
Таким образом, мы имеем гарантию, что алгоритм "в пер-
первый подходящий в порядке убывания" даже в худшем случае
выдает решение, отличающееся от оптимального не более чем
') Буква D в FFD — это сокращение от Decreasing, т. е. в порядке умень-
уменьшения.— Прим. ред.
6.1. Оценки погрешности Приближенных алгоритмов
161
на 22%. Кроме того, встречаются индивидуальные задачи, для
которых эта оценка достигается. Такой же результат имеит
место для аналогичного алгоритма "в наилучший из подходя-
подходящих в порядке убывания". На рис. 6.3 показан класс примеров,
позволяющих установить нижнюю оценку для обоих алго-
алгоритмов.
Доказательство оценки сверху заключается в тщательном
рассмотрении различных случаев, даже краткое изложение ко-
которых потребовало бы больше места, чем отведено для всей
ИндиЫуальная
задача I: U = {иьи2,...,
1/2+ е
1/4 + 2е 6т <»< 12т
1/4 + е 12т<;<18/77
V4~2e 18/и<(<30т
1/4-26
1/4 + €
1/2+6
1/4-2б
1/4-2*
1/4 + 26
1/4 + 26
1/4 + 26
1/2 + 6
ти
1/4+ е
1/4 + 6
1/4 + е
1/4-2б
1/4-2е
1/4-26
1/4-2е
OPTU)=9m
. 6/71 ттатЛ гтктспнфб
FFD.(/)-llm
Рис. 6.3. Индивидуальные задачи / с произвольно большим значением ОРТ (/),
для которых FFD (/) равно A1/9) ОРТ (/).
настоящей главы. (Хотя длинные доказательства для задач,
подобных задаче об упаковке, — обычное явление, отметим, что
аналогичные результаты для других задач были получены без
геркулесовых усилий, а для задачи об упаковке несколько бо-
более слабые оценки можно получить гораздо проще.)
Дальнейшие модификации алгоритма "в первый подходя-
подходящий в порядке убывания" были предложены в работах [262,
542]. Цель этих модификаций состояла в получении полино-
полиномиального по времени приближенного алгоритма решения за-
задачи об упаковке с еще лучшими оценками решения. Однако
ни для одной из этих модификаций пока не получена суще-
существенно лучшая оценка.
Итак, проведенный анализ приближенных алгоритмов ре-
решения задачи об упаковке, можно подытожить следующим об-
образом. Мы начали анализ с изучения оценки погрешности оче-
очевидного, но весьма разумного алгоритма. Этот анализ прово-
проводился посредством получения оценок работы алгоритма в худ-
худшем случае и посредством построения примеров, показываю-
показывающих, что эти оценки не могут быть улучшены. На основе этого
6. Подходы к решению NP-полных задач
анализа, а также интуитивных соображений о недостатках ис-
исходного алгоритма мы стали искать другие алгоритмы (воз-
(возможно, представляющие собой всего лишь более сложные вер-
версии исходного алгоритма) и анализировать их. Оценки погреш-
погрешностей алгоритмов были выражены в виде отношений, пред-
представляющих интерес с точки зрения возможности их сравнения
и в некотором смысле отражающих близость результатов к
оптимуму. Этот общий подход может служить моделью изуче-
изучения NP-трудных оптимизационных задач и в действительности
широко применяется (хотя, конечно, иногда могут оказаться
более адекватными и легче доказуемыми оценки другого типа,
см., например, [96, 399]).
Для формализации этого подхода дадим еще несколько оп-
определений. Пусть П — задача минимизации (соответственно
максимизации), а / — произвольная индивидуальная задача из
Da- Определим отношение Ra(I) следующим образом:
A (/)
ОРТ(/)
(соответственно RA (/) = —тпг-V Погрешностью приближен-
ного алгоритма А решения задачи П назовем величину RA,
определяемую следующим образом:')
всех индивидуальных \
Асимптотической погрешностью приближенного алгоритма А
назовем величину
( найдется NeZ+, такое, что ?л(Л<
Ra = inf < г ^ 1: для всех I e Dn, для которых выполнено
к соотношение ОРТ (/)^ iV
Заметим, что отношения, определенные выше, обладают тем
свойством, что отношение для задачи минимизации обратно
отношению для задачи максимизации. Благодаря этому мы по-
получаем однородную шкалу для градации приближенных алго-
алгоритмов решения задач разных типов. При этом всегда имеют
место соотношения l^^^oo и 1^/?/?^оо, причем чем от-
отношение ближе к 1, тем меньше погрешность.
') Для обозначения величины Ra(I) авторы употребляют термин „abso-
„absolute performance ratio". Хотя Ra(I) и безразмерная величина, она, однако,
не является относительной погрешностью в обычном смысле (определяемой
| А (/) - ОРТ (/) | >t
как ... I. Избегая значительной переделки текста при пере-
пере/?/
воде, мы предпочли для величины /?.i(/) термин спогрешность», хотя и созна-
сознавали компромиссность этого решения. — Прим. ред.
6.1. Оценки погрешности приближенных алгоритмов 163
Отметим также, что Ra не обязательно равно Ra- Так, на-
например, теорема 6.2 утверждает, что #ffd=11/9, но легко по-
построить пример такой индивидуальной задачи /, что ОРТ(/) =
= 2, и FFD (/) = 3, и, значит, RPFD ^ 3/2. Для задачи об упа-
упаковке асимптотическая погрешность, по-видимому, важнее,
хотя для задач другого типа более адекватной величиной мо-
может быть Ra (/). Может оказаться, что для интересующих нас
приближенных алгоритмов обе характеристики совпадают:
Ra = Ra- В любом случае полезно знать обе эти величины, а
различие между ними учитывать при анализе приближенного
алгоритма.
В качестве другого примера рассмотрим еще раз задачу о
коммивояжере, введя в ее условие дополнительное ограниче-
ограничение. Индивидуальная задача / по-прежнему представляет собой
множество С городов и список расстояний между ними. В дан-
данном случае, однако, потребуем, чтобы расстояния подчинялись
"неравенству треугольника", т. е. чтобы для каждой тройки
городов а, Ь, с из множества С было выполнено соотношение
Это условие выполняется, например, когда расстояния между
городами представляют собой кратчайшие пути в некоторой
стандартной метрике или если допускаются маршруты, прохо-
проходящие через некоторые города по нескольку раз, поскольку
в последнем случае каждое из заданных расстояний d(ci,Cj)
может быть заменено длиной кратчайшего пути от ci к с/. Не-
Нетрудно видеть, что и при указанных ограничениях задача ос-
остается NP-трудной. Более того, для всех алгоритмов, которые
мы рассмотрим в дальнейшем, будет выполнено соотношение
RA — /?д, так что мы ограничимся рассмотрением вели-
величины Ra-
Рассмотрим естественный эвристический алгоритм, назы-
называемый "ближайший сосед". Этот алгоритм обозначается NN')
и описан, например, в работе [162]. Пусть С= {с\, сз, .... ст} —
заданное множество городов. В качестве первого города с*о>
в искомом маршруте возьмем город С\. Если частичный марш-
Рут <сЯA), сЛB)> • • •. cn(ft)>, k<m, уже построен, то в качестве
города сЛ(*+1) алгоритм выбирает город с, ближайший к городу
Сл(*) (т. е. город с наименьшим расстоянием d(cn(k), с)), из го-
городов, еще не принадлежащих маршруту (если имеется не-
несколько таких городов, можно выбрать город с наименьшим
номером). Следующая теорема Розенкрантца, Стирнза и Льюи-
') NN —от английских слов Nearest Neighbor (ближайший сосед).—
Прим. перев.
164
в. Подходы к решению ЫР-полных задач
са [457] показывает, что этот приближенный алгоритм может
вести себя гораздо хуже, чем любой из обсуждавшихся нами
алгоритмов для решения задачи об упаковке.
Теорема 6.3. Для индивидуальных задач о коммивояжере 1
с т городами и неравенством треугольника выполнено нера-
неравенство
Более того, для произвольно больших значений m существуют
такие индивидуальные задачи I с пг городами, что
NN (/) > j (log2 (m + 1) + у) ОРТ (/).
Наиболее важное утверждение этой теоремы можно сфор-
сформулировать очень кратко: Run = °°; оно показывает не слиш-
ю
Рис. 6.4. Схематическое изображение индивидуальной задачи о коммивоя-
коммивояжере, для которой алгоритм «ближайший сосед» работает плохо. В этом
примере имеется 15 городов, расстояние d (c{, cj) определяется как длина
кратчайшего пути от с{ к с,, получаемого с использованием ребер, изобра-
изображенных на рисунке. Нетрудно проверить, что эти расстояния подчиняются
неравенству треугольника. Периметр дает оптимальный маршрут длины 15,
а алгоритм «ближайший сосед» выдает зачерненный маршрут длины 27.
Таким образом. RNN (/) = 27/25 > 16/9 = 1/3 (logs (m+l)+ 4/3).
ком большую перспективность алгоритма "ближайший сосед".
Пример сложной рекурсивной конструкции, используемой для
получения нижней оценки теоремы 6.3, при m = 15 представ-
представлен на рис. 6.4.
Погрешность алгоритма "ближайший сосед" оставляет же-
желать много лучшего. Мы упомянули об этом алгоритме лишь
для того, чтобы продемонстрировать, что даже весьма разум*
6.1. Оценки погрешности приближенных алгоритмов
165
ные эвристики могут приводить к плохим результатам, отли-
отличающимся от оптимума в произвольно большое число раз.
К счастью, другие приближенные алгоритмы решения этой
задачи работают гораздо лучше. В самом деле, в работе Ро-
зенкрантца, Стирнза и Льюиса [457] приведено несколько при-
приближенных алгоритмов с погрешностью RA = 2. Хорошо изве-
известен обладающий этим свойством алгоритм, основанный на по-
понятии "минимальное остовное дерево". Рассмотрим индивиду-
индивидуальную задачу о коммивояжере, представленную в виде пол-
полного графа, вершинами которого являются города, а каждое
ребро {ci,Cj} имеет "длину" d(ci,Cf). В таком графе имеется
(а) ОшоВное
(S) Двойной одход
(В) Наршрут, полученный
Рис. 6.5. Преобразование остовного дерева в маршрут для коммивояжера
с использованием алгоритма «двойной обход дерева».
очевидное взаимно-однозначное соответствие между всевозмож-
всевозможными машрутами и гамильтоновыми циклами. Остовным деревом
называется связный подграф, содержащий все вершины и не со-
содержащий циклов (т. е. между любыми двумя вершинами
имеется в точности один путь без повторяющихся ребер). По
индукции легко доказывается, что в связном графе на m вер-
вершинах остовное дерево должно иметь m — 1 ребро. Минималь-
Минимальным остовным деревом называется остовное дерево, сумма длин
ребер которого минимальна.
В отличие от маршрутов коммивояжера минимальной дли-
длины минимальные остовные деревья можно легко построить, за-
затратив при этом время, ограниченное полиномом невысокой
степени (см. [308] или [9]). Более того, длина минимального
остовного дерева для графа задачи о коммивояжере должна
быть меньше длины минимального маршрута, потому что остов-
остовное дерево (более короткое, чем этот маршрут) может быть
получено из него путем отбрасывания одного ребра. Это наво*
дит на мысль, что достаточно короткий маршрут можно полу-
получить построением минимального остовного дерева с последую'
щим посещением всех городов в результате двойного обхода
дерева. На рис. 6.5 (б) такой обход указан для дерева
с рис. 6.5 (а). В результате такого обхода некоторые города
166 6. Подходы к решению NP-полных задач
приходится посещать более одного раза, однако полученный
маршрут всегда можно сократить, если каждый раз идти сразу
в следующий еще не посещенный город, как показано на
рис. 6.5 (в). Неравенство треугольника обеспечивает, чтобы
в результате такого сокращения длина маршрута не увеличи-
увеличивалась.
Таким образом, длина маршрута, получаемого в результате
изложенной выше процедуры, не превосходит удвоенной длины
минимального остовного дерева, что строго меньше удвоенной
длины оптимального маршрута. Обозначим алгоритм "двойного
обхода минимального остовного дерева" через MST1). Только
что доказанный результат формулируется следующим обра-
образом:
Теорема 6.4. Для всех индивидуальных задач о коммивоя-
коммивояжере I, для которых выполняется неравенство треугольника,
имеет место неравенство
MST(/)<2-OPTG).
Примеры, показывающие, что полученная для алгоритма
MST оценка наилучшая из возможных и, следовательно,
/?MST = 2, построить нетрудно, и мы оставляем это в качестве
упражнения.
Идея, лежащая в основе алгоритма MST, была развита Кри-
стофидисом [71], в результате чего был построен эвристиче-
эвристический алгоритм решения этой задачи с еще меньшей погреш-
погрешностью. Для этого используется комбинация техники "паросо-
четаний" и понятий "эйлеров граф" и "эйлеров маршрут". Эй-
Эйлеровым графом называется граф, у которого все вершины
имеют четные степени. Эйлеровым маршрутом в графе назы-
называется цикл, проходящий ровно по одному разу через каждое
ребро. Нетрудно показать, что для того, чтобы граф G был
эйлеровым, необходимо и достаточно существование в графе О
эйлерова маршрута (см., например, [357]). Более того, легко
построить полиномиальный алгоритм отыскания в таком графе
эйлерова маршрута. Кристофидис заметил, что алгоритм MST
можно расчленить на четыре стадии: A) отыскание минималь-
минимального остовного дерева, B) преобразование остовного дерева
в эйлеров граф посредством дублирования всех ребер графа.
C) отыскание в построенном графе эйлерова маршрута, D)
преобразование с помощью сокращения полученного эйлерова
маршрута в маршрут для коммивояжера. Поскольку общая
длина добавляемых ребер равна длине минимального остов-
') От английских слов Minimum Spanning Tree (минимальное остовное
дерево). — Прим. перев.
6.1. Оценки погрешности приближенных алгоритмов 167
ного дерева (и, следовательно, меньше минимальной длины
маршрута для коммивояжера) и так как неравенство треуголь-
треугольника гарантирует, что замена двух ребер одним не увеличит
длины маршрута, то длина получающегося маршрута может
превосходить минимально возможную длину маршрута самое
большее в два раза. Однако Кристофидис показал, что остов-
ное дерево можно превратить в эйлеров граф с еще меньшими
издержками.
Это можно сделать, сосредоточив внимание на множестве
V"={ai, a2, ...,О2*} вершин остовного дерева, имеющих не-
нечетную степень (таких вершин должно присутствовать четное
число). Паросочетанием в множестве V называется его раз-
разбиение на k 2-элементных подмножеств. Весом, такого паросо-
четания называется сумма расстояний d(Ci,Cj), где {ci,Cj} —
подмножество рассматриваемого паросочетания и i < / (для
того чтобы избежать дублирования).Любое паросочетание для
V дает нам k ребер, добавление которых к остовному дереву
превращает его в эйлеров граф. Общая длина этих ребер равна
весу паросочетания. Паросочетанием минимального веса назы-
называется паросочетание, вес которого минимален среди весов
всех возможных паросочетаний. Паросочетания минимального
веса могут быть найдены за полиномиальное время стандарт-
стандартными методами (см., например, [324]). В приближенном алго-
алгоритме Кристофидиса стадия 2 алгоритма MST заменяется про-
процедурой отыскания минимального паросочетания для множе-
множества V с последующим превращением остовного дерева в эйле-
эйлеров граф посредством добавления соответствующих ребер.
Основное наблюдение, позволяющее оценить погрешность
этого алгоритма, состоит в том, что вес паросочетания мини-
минимального веса не может превосходить половины длины мини-
минимального маршрута для коммивояжера. В этом можно убе-
убедиться следующим образом. Превратим вначале маршрут ми-
минимальной длины в маршрут только на вершинах из V. Этого
можно добиться, исключив из заданного маршрута вершины,
не принадлежащие V. В результате, в силу неравенства тре-
треугольника, получится маршрут, длина которого не превосходит
длины исходного. Построенный маршрут задает на множестве
V два паросочетания, которые получаются, если брать ребра
в маршруте через одно. Наименьший из весов этих двух паро-
паросочетаний не превосходит половины длины маршрута. Обозна-
Обозначив построенный алгоритм через ММ1) получаем следующую
теорему.
') ММ — от английских слов Minimum Matching (минимальное паросоче-
паросочетание) . — Прим. перев
168 6. Подходы к решению ЫР-полных задач
Теорема 6.5. Для всех индивидуальных задач о коммивоя-
коммивояжере, для которых выполняется неравенство треугольника,
имеет место неравенство
ММ(/)<-|оРТG).
Как и раньше, нетрудно построить примеры, показываю-
показывающие, что эта оценка, по существу, наилучшая возможная (см.,
например, [97]) и поэтому 7?мм = 3Д- В настоящее время не
известен приближенный полиномиальный алгоритм решения
задачи о коммивояжере с неравенством треугольника, погреш-
погрешность которого была бы меньше.
Полученные выше результаты для задачи о коммивояжере,
подобно результатам для задачи об упаковке, представляют
собой характерный пример того, на что можно надеяться при
решении трудных задач полиномиальными алгоритмами. В обеих
задачах имеется гарантия отыскания приближенных решений,
довольно близких к оптимальному, хотя ни для одной из них
наилучшая оценка погрешности решения не так близка к 1,как
хотелось бы.
К сожалению, имеется большое число NP-трудных задач
другого типа, для которых не известны полиномиальные алго-
алгоритмы, даже с такой оценкой погрешности. Один из примеров
подобных задач — задача о раскраске графа: "Задан граф G =
= (V, Е), требуется найти такую функцию f:V-*-{\,2, ..., k),
что f(u)^i=f(v), если {и, v} е Е и k — наименьшее возможное".
В данном случае множество допустимых решений состоит из
всех таких функций/: V->{1, 2, ..., | V\}, что f{u)?^f{v), если
{и, w}e?. Величина допустимого решения /равна max{/(u): ue
е V). В работе Джонсона [264] для большого числа полино-
полиномиальных приближенных алгоритмов А решения задачи о рас-
раскраске графа доказано существование такой константы с и та-
такого бесконечного множества графов G = (V,E), что
Л(С)>с| V|-OPT(G).
Более того, наилучшая из известных в настоящее время оценок
погрешности для полиномиальных алгоритмов А решения за-
задачи о раскраске графа имеет вид
(см. [264]). Иными словами, для задачи о раскраске графа не
известен полиномиальный приближенный алгоритм с оценкой
погрешности, хотя бы близкой к оценке RA <C оо.
Задача о раскраске графа, таким образом, представляется
более трудной, чем задача об упаковке и задача о коммивоя-
6.1. Оценки погрешности приближенных алгоритмов 16Э
жере с неравенством треугольника. Для этой задачи за поли-
полиномиальное время мы не только не можем получить гарантиро-
гарантированного оптимального решения (если Р Ф NP), но даже разум-
разумных оценок приближения к оптимальному решению. Две другие
задачи, которые представляются в такой же степени не под-
поддающимися решению, — это задача отыскания максимального
по мощности множества независимых вершин в графе и задача
отыскания минимального маршрута для коммивояжера, если
не требовать выполнения неравенства треугольника. (В сле-
следующем разделе мы еще вернемся к этим задачам.)
Следует отметить, что возникающее очевидным образом под-
подразделение задач на хорошо и плохо решаемые приближен-
приближенными методами, по-видимому, не имеет отношения к тому
факту, что эти задачи тесно связаны посредством полиномиаль-
полиномиальных сводимостей. Можно было бы думать, что такая своди-
сводимость позволяет преобразовать хороший приближенный алго-
алгоритм решения одной задачи в хороший приближенный алго-
алгоритм решения другой. Однако, вообще говоря, это не так, что
можно увидеть из приведенного ниже примера.
Напомним, что в разд. 3.1.3 было установлено, что задачи
ВЕРШИННОЕ ПОКРЫТИЕ и НЕЗАВИСИМОЕ МНОЖЕ-
МНОЖЕСТВО очень тесно связаны. Для графа G = {V,E) подмноже-
подмножество V ? V является независимым множеством тогда и только
тогда, когда дополнительное подмножество К\ V" является вер-
вершинным покрытием в G. Более того, эта взаимосвязь перено-
переносится и на соответствующие оптимизационные задачи. Множе-
Множество V —максимальное независимое множество в G тогда и
только тогда, когда V\V — .минимальное вершинное покры-
покрытие в G (в рассматриваемых случаях в качестве величины ре-
решения берется число вершин в независимом множестве и вер-
вершинном покрытии соответственно). Однако, хотя нам не из-
известен приближенный полиномиальный алгоритм с погреш-
погрешностью RA <. оо для решения задачи о максимальном неза-
независимом множестве (см. [263]), имеется очевидный алгоритм
отыскания минимального вершинного покрытия с погреш-
погрешностью RA ^ 2 (см. [167]).
Последний алгоритм основан на идее "максимального паро-
сочетания" в графе. Паросочетанием в графе G = {V, E) назы-
называется такое множество Е' с Е, что никакие два ребра из
Е' не имеют общей вершины (взаимоотношение между этим
понятием и понятием, использовавшимся в алгоритме Кристо-
фидиса для задачи о коммивояжере, совершенно очевидно).
Паросочетание Е' называется максимальным, если каждое из
ребер, оставшихся в множестве Е\Е', имеет общую вершину
с некоторым элементом множества Е'. Максимальное паросо-
паросочетание строятся очень просто за полиномиальное время: к не-
170 6. Подходы к решению ЫР-полных задач
которому уже построенному паросочетанию последовательно
добавляются ребра, пока это возможно. Более того, заметим,
что если Е'— максимальное паросочетание для G, то множе-
множество всех концов ребер из Е' должно быть вершинным покры-
покрытием G (в противном случае Е' не максимально). Такое вер-
вершинное покрытие имеет мощность, равную 2 \Е'\. Важное об-
обстоятельство состоит в том, что любое паросочетание для G
должно иметь по крайней мере |?'| вершин, поскольку оно
должно включать по крайней мере один конец каждого ребра
рассмотренного паросочетания Е'. Таким образом, мощность
вершинного покрытия, которое строится по паросочетанию Е\
не превосходит удвоенной мощности минимально возможного
паросочетания.
Причина весьма различного поведения задач о максималь-
максимальном независимом множестве и минимальном вершинном по-
покрытии по отношению к решению полиномиальными прибли-
приближенными алгоритмами становится ясна, если мы попытаемся с
помощью полиномиального сведения одной задачи к другой
преобразовать приведенный выше алгоритм решения одной из
них в алгоритм решения другой. Предположим, что имеется
граф с 1000 вершинами и минимальное вершинное покрытие
мощности 490. Указанный выше приближенный алгоритм га-
гарантирует, что найденное с его помощью вершинное покрытие
имеет мощность не более 980, поскольку отношение не пре-
превосходит 2, однако отношение мощностей соответствующих не-
независимых множеств может достигать величины
1000 — 490 _ jjl? _ «с е
1000 — 980 20
Хотя сводимость сохраняет оптимальные решения, она не со-
сохраняет отношения величины оптимального решения к вели-
величине приближенного. Нет оснований полагать, что близкое к
оптимуму допустимое решение одной задачи отображается в
близкое к оптимуму допустимое решение другой задачи. Таким
образом, для того чтобы сводимости, используемые для дока-
доказательства NP-полноты можно было использовать для преобра-
преобразования хороших приближенных алгоритмов решения одной
задачи в аналогичные алгоритмы решения другой, необходимо,
чтобы сводимости сохраняли величину решений более равно-
равномерно.
Рассмотренные нами типы поведения приближенных алго-
алгоритмов не исчерпывают всех возможностей. Мы видели, что
некоторые задачи решаются приближенно гораздо хуже, чем
задача об упаковке. С другой стороны, имеется ряд задач, ко-
которые представляются значительно более простыми.
6.1. Оценки погрешности приближенных алгоритмов 171
Вернемся, например, к определенной в разд. 3.2.1 задаче
РЮКЗАК. Ее оптимизационный вариант формулируется сле-
следующим образом: "Задано конечное множество U "предметов",
для каждого изиеУ+ "размер" s(u)e Z+ и "стоимость" и(и)е
eZ+, а также положительное число В ^ max{s(u): ue(/|—
"емкость рюкзака". Требуется найти такое подмножество
U'^U, что J] s(«)<fl, и величина ? v(u) принимает
ы <= У ие U'
наибольшее возможное значение". Иными словами, необходимо
максимизировать ценность того, что помещается в "рюкзак",
при условии, что сумма размеров предметов, помещенных в
рюкзак, не превосходит его емкости.
Один простой приближенный алгоритм решения этой задачи
работает следующим образом. Упорядчиваем множество U =
= {и\, «2, .... Мл} по убыванию "удельной ценности", т. е. так,
что v(u\)/s(ui)^ у(и2)Л(и2)^ ... > v(un)/s(un). Затем, на-
начиная с пустого множества (/', последовательно добавляем к
нему предметы из списка, причем при добавлении предмета ui
проверяем, не превосходит ли сумма размеров, уже содержа-
содержащихся в 11' предметов, величины В —«(«,). Затем сравниваем
стоимость решения, полученного этим "жадным алгоритмом" с
максимумом стоимости предметов из множества U и выбираем
из этих двух величин наибольшую. Не представляет труда до-
доказать, что построенный таким образом составной жадный ал-
алгоритм GA') имеет погрешность /?ga = 2.
Однако, включая этот алгоритм в более совершенную про-
процедуру, можно достичь гораздо большего. Сахни [464] показал,
что для всех k ^ 1 существует такой приближенный полино-
полиномиальный алгоритм Ak, что RAk ^ I +(l/k). Основная идея по-
построения такого алгоритма заключается в испытании в каче-
качестве исходного множества V всех возможных множеств, со-
состоящих не более чем из k предметов, и последующего добав-
добавления к нему (с использованием алгоритма GA) как можно
большего числа предметов. Затем наилучшее из полученных
множеств берется в качестве приближенного решения.
К сожалению, хотя для каждого фиксированного значения k
время работы соответствующего алгоритма фактически поли-
полиномиально зависит от л, log V и logS (где V = max{t»(u): и е
е(/} и S = max{s(u): и е= ?/}), эти полиномы всегда содер-
содержат k в показателе. Чтобы гарантировать решения, очень близ-
близкие к оптимальному, пришлось бы обратиться к алгоритму,
временная сложность которого была бы полиномом очень вы-
высокой степени и который мог бы оказаться весьма дорогим для
') GA — от английских слов Greedy Algorithm (жадный алгоритм).—
Прим. перев.
172 6. Подходы к решению NP-полных задач
применения на практике. Тем не менее указанные алгоритмы
ведут себя, по крайней мере теоретически, лучше, чем алго-
алгоритмы для задачи об упаковке, поскольку, как мы видели, для
последней задачи не известно приближенного полиномиального
алгоритма с относительной погрешностью RA, существенно луч-
лучшей, чем 11/9. Для задачи о рюкзаке имеются полиномиальные
алгоритмы, для которых Ra как угодно близка к 1.
Более того, недавно Ибарра и Ким [248] ') доказали, что
для задачи о рюкзаке может быть построено приближенное
решение с аналогичной оценкой погрешности без использова-
использования алгоритма, содержащего k в показателе. Этот результат
базируется на том, что задача о рюкзаке может быть решена
псевдополиномиальным оптимизационным алгоритмом. Ибарра
и Ким показали, как за счет потери точности посредством ок-
округления и масштабирования подобный оптимизационный алго-
алгоритм может быть превращен в полиномиальный.
Для иллюстрации этого метода предположим, что А — псев-
псевдополиномиальный оптимизационный алгоритм решения задачи
о рюкзаке, временная сложность которого имеет порядок, ска-
скажем,
О (n?V log (nVS)).
Каждую индивидуальную задачу о рюкзаке можно модифици-
модифицировать, заменяя стоимости v(u) всех предметов ие(/ новой
величиной v'(u)= \_v(u)/K\, для некоторого фиксированного
К > 0. Для применения алгоритма А к возникшей в результате
индивидуальной задаче требуется время порядка
O(n2(V/K)\og(nVS)).
Более того, поскольку оптимальное решение не может содер-
содержать больше чем п предметов, то имеется следующая взаимо-
взаимосвязь между ОРТ(/), стоимостью оптимального решения исход-
исходной задачи, и ОРТ(/'), стоимостью оптимального решения мо-
модифицированной задачи:
ОРТ (П — К- ОРТ (/') < Кп.
Заметим, что /С-ОРТ(/)' не превосходит стоимости оптималь-
оптимального решения задачи /', выраженной в исходных стоимостях
предметов. Таким образом, если взять оптимальное решение V
задачи /' в качестве приближенного решения задачи /, то его
стоимость будет отличаться от стоимости оптимального реше-
решения задачи / не более чем на Кп.
Желаемый результат получается теперь, если выбирать К
зависящим от исходной индивидуальной задачи /. В частности,
') См. также работы Бабата [13*, 14*]. — Прим. ред.
6.1. Оценки Погрешности приближенных алгоритмов 173
можно положить К= V/(k-\-\)n, где k — фиксированное по-
положительное целое число. В результате получается приближен-
приближенный алгоритм Ak, имеющий временную сложность порядка
O(kn3 log(nVS)) и, следовательно, ограниченную полиномом от
п, log V, logS и k (время, затрачиваемое на построение по ин-
индивидуальной задаче / задачи /', не превосходит времени ра-
работы алгоритма А на входе /'). Более того, поскольку
Ак (/) > ОРТ (/) -Кп = ОРТ (/) - V/(k + 1)
и так как ОРТ(/) ^ V, получаем
р m - орт <7> ^ А*
*<Ак(П— Ak{1) ^
что и утверждалось. (Алгоритм Ибарры и Кима несколько
сложнее, однако приведенных рассуждений достаточно для ил-
иллюстрации основной идеи.)
Аппроксимационные возможности, выявленные на примере
этих алгоритмов, не ограничиваются исключительно задачей о
рюкзаке, а проявляются также в некоторых других ситуациях.
Поэтому для обсуждения результатов подобного типа полезно
иметь общую терминологию. Назовем аппроксимационной схе-
схемой для оптимизационной задачи П алгоритм А, который, на-
начиная работать на входе, состоящем из двух объектов — инди-
индивидуальной задачи /eDn и "желаемой точности" е > 0, вы-
выдает такое допустимое решение ее Sn(/), что
Здесь термин "схема" используется по той причине, что в дей-
действительности А представляет собой набор приближенных ал-
алгоритмов решения задачи П, по одному для каждого значения
е>0.
Приближенная схема А называется приближенной схемой
с полиномиальным временем работы (или просто приближен-
приближенной полиномиальной схемой), если для каждого е > 0 соответ-
соответствующий алгоритм Ае имеет полиномиальную временную
сложность. Приближенная схема А называется вполне полино-
полиномиальной приближенной схемой, если ее временная сложность
ограничена полиномом от Length [/] и 1/е. Таким образом, по-
последовательность алгоритмов, предложенная Сахни [464], пред-
представляет собой полиномиальную приближенную схему для за-
задачи о рюкзаке, однако она не является вполне полиномиаль-
полиномиальной приближенной схемой. Последовательность алгоритмов
Ибарры и Кима [248] представляет собой вполне полиномиаль-
полиномиальную приближенную схему для этой задачи.
1? 1 6. tlodxodu к решению HP-полных задач
Некоторые улучшения приближенной схемы Ибарры и Кима
обсуждаются в работе [329]. Аналогичные приближенные схе-
схемы для задач, похожих на задачу о рюкзаке, а также для не-
некоторых задач из теории расписаний можно найти в работах
[465] и [221]. Основная идея всех этих приближенных схем
аналогична описанной выше: в качестве основы схемы берется
псевдополиномиальный алгоритм, затем применяются методы
округления и масштабирования для того, чтобы за счет огра-
ограниченного уменьшения точности значительно уменьшить время
работы алгоритма.
Вполне полиномиальные приближенные схемы во многих
отношениях — это лучшее, на что можно рассчитывать при ре-
решении NP-трудных задач оптимизации. Если Р Ф NP, то для
решения такой задачи, как нам известно, не удается построить
приближенного полиномиального алгоритма А, для которого
RA = 1. Однако поскольку /?~ — величина, определяемая асимп-
асимптотически, то вполне возможно существование полиномиаль-
полиномиального алгоритма с Ra = 1. Например, Липтон и Тарьян [354]
указали приближенный полиномиальный алгоритм А для оты-
отыскания максимальных независимых множеств в планарных гра-
графах (эта подзадача на плоских графах остается NP-трудной)
с оценкой отклонения от оптимума
| А (/) - ОРТ (/) | < O(l/VloglogOPT(/)) • ОРТ (/).
Другая возможность достичь отношения Ra = 1 состоит в том,
чтобы ограничить величину | Л (/) — ОРТ(/) | константой, не
зависящей от /. Например, для задачи упаковки можно было бы
попытаться получить такой приближенный полиномиальный ал-
алгоритм, что /4(/)г?: ОРТ(/)+1 для всех индивидуальных за-
задач /. Хотя для задачи об упаковке такой алгоритм не изве-
известен, Горовитц и Сахни [222] показали, что его можно
построить для NP-трудной задачи об упаковке максимально воз-
возможного числа предметов в два контейнера. Подобных резуль-
результатов о разности \АA) — ОРТ(/)| для NP-трудных задач из-
известно немного, однако несколько задач, для решения которых
не известно полиномиального алгоритма, удается приблизить
подобным образом; см. [504, 286, 285].
6.2. ПРИМЕНЕНИЕ ТЕОРИИ NP-ПОЛНОТЫ
К ОТЫСКАНИЮ ПРИБЛИЖЕННЫХ РЕШЕНИЙ
До настоящего времени мы не привели никаких аргумен-
аргументов в пользу того, что выявленные различия в возможности
приближенного решения NP-трудных задач имеют объектив-
объективные причины, а не являются просто результатом нашего неуме-
6.2. Отыскание приближенных решений 175
ния находить хорошие приближенные алгоритмы. В настоящем
разделе будет показано, что некоторые из этих различий в дей-
действительности — неотъемлемая черта самих задач и что теорией
NP-полноты можно воспользоваться для того, чтобы очертить
границы возможностей приближенного решения конкретной за-
задачи.
Для оптимизационной задачи П назовем асимптотически
наилучшей достижимой относительной погрешностью величину
для решения задачи П существует такой
1: приближенный полиномиальный алго-
ритм А, что /?™ = г.
= inf <
I
На основе результатов, изложенных в предыдущем разделе,
можно предположить, что существуют NP-трудные задачи, для
которых /?м1н(П) = оо, существуют NP-трудные задачи, для
которых 1 < /?мш(П)< оо, а также NP-трудные задачи, для
которых /?м1и(П)= 1. Если реализуется последняя возмож-
возможность, то можно выделить следующие важные подслучаи: П мо-
может быть решена A) полиномиальной приближенной схемой,
B) вполне полиномиальной приближенной схемой, C) прибли-
приближенным полиномиальным алгоритмом А, для которого /?д = 1,
и D) приближенным полиномиальным алгоритмом, А, для ко-
которого при некотором фиксированном К выполнено неравен-
неравенство \АA) — ОРТ(/) | sg: К. Конечно, возможны и другие типы
оценок отклонения от оптимума, но перечисленные четыре типа
оценок в настоящее время наиболее изучены, и в дальнейшем
мы ограничимся только ими.
При поиске доказательства того, что для конкретной задачи
некоторые из перечисленных возможностей не могут быть реа-
реализованы, мы, как обычно, наталкиваемся на то обстоятель-
обстоятельство, что пока не известно, совпадают ли классы Р и NP. По-
Поэтому по-прежнему остается возможным, что все NP-эквнва-
лентные задачи поддаются решению точно за полиномиальное
время (все обсуждавшиеся до сих пор оптимизационные задачи
являются как NP-легкими, так и NP-трудными). По этой при-
причине мы опять ограничимся условными результатами, доказы-
доказывая, что если Р ф NP, то задача П не может быть решена
приближенным полиномиальным алгоритмом определенного
типа.
Вначале рассмотрим одну из наиболее естественных оценок
отклонения от оптимума, а именно результат вида "для всех
индивидуальных задач/ имеет место оценка |Л(/) — ОРТ(/) j г^
^ К, где К — константа". Пример задачи, для которой такая
оценка исключается, дает нам задача о рюкзаке; ее оптимиза-
оптимизационный вариант был определен в предыдущем разделе.
176 6. Подходы к решению NP-полных задач
Теорема 6.6. Если Р Ф NP, то не существует полиномиаль-
полиномиального приближенного алгоритма А для решения задачи о рюк-
рюкзаке с оценкой
где К — некоторая фиксированная константа.
Доказательство. Предположим противное, т. е. что А — ал-
алгоритм, обладающий этим свойством (не ограничивая общности,
можно предполагать, что К — положительное целое число). По-
Покажем, что алгоритм А можно применить для точного решения
задачи о рюкзаке за полиномиальное время, что противоречит
предположению Р ф NP. Соответствующая процедура очень
проста. Если задана любая индивидуальная задача о рюк-
рюкзаке /, построим по / новую индивидуальную задачу /', заме-
заменяя стоимость v{u) каждого предмета величиной (К + l)v(u),
и применим к задаче / алгоритм А. Очевидно, что все это мож-
можно осуществить за полиномиальное время. Более того, допусти-
допустимые решения задачи / оказываются точно такими же, как и у
задачи /, а величина решения задачи /' ровно в К + 1 Раз
больше величины соответствующего решения задачи /. По-
Поскольку величина любого решения задачи / — целое кратное
величины К+1. то из соотношения \АA')— ОРТ(/)|^/С не-
немедленно следует, что \А{1') — ОРТ(/')| = 0 и, следовательно,
| А' (/) - ОРТ (/) | = | А (/') - ОРТ (/') № + 1) = О,
где А' обозначает описанный выше алгоритм. Таким образом,
допустимое решение, конструируемое алгоритмом А', обяза-
обязательно будет оптимальным, так что А' — полиномиальный оп-
оптимизационный алгоритм решения задачи о рюкзаке, что про-
противоречит предположению Р ф NP. Ш
Единственное свойство, использовавшееся в этом доказа-
доказательстве, заключается в том, что величины всех решений можно
умножить на произвольную константу и; при этом множество
допустимых решений не изменится. Поскольку это свойство
выполняется и для многих других задач, например задачи о
коммивояжере (с неравенством треугольника), то легко ви-
видеть, что доказательства этого типа широко применимы. Менее
очевидно, что эта же идея применима к решению задач совер-
совершенно иной природы. Рассмотрим, например, задачу о макси-
максимальном независимом множестве. В этой задаче нет чисел, ко-
которые можно было бы умножить, поэтому "умножим" весь граф
целиком!
Теорема 6.7. Если Р Ф NP, то не существует приближенного
полиномиального алгоритма для решения задачи о максималь-
6.2. Отыскание приближенных решений 177
ном независимом множестве с оценкой
I Л (О) — ОРТ (G) К /С
для некоторой фиксированной константы К.
Доказательство. Предположим, что А— приближенный ал-
алгоритм, обладающий этим свойством, и опять предположим, что
К — положительное целое число. Как и в предыдущем доказа-
доказательстве, покажем, что А можно применить для построения по-
полиномиального оптимизационного алгоритма, что противоречит
предположению Р ф NP. Пусть граф G определяет индивиду-
индивидуальную задачу о вершинном покрытии. Процедура заключается
в построении нового графа G', состоящего из К + 1 экземпля-
экземпляров графа G. Нетрудно видеть, что OPT(G') = {K + l)OPT(G).
Более того, для графа G можно построить независимое множе-
множество, состоящее по крайней мере из [A(G')/(K-\- 1I вершин.
Для этого достаточно посмотреть, сколько вершин алгоритм А
выбирает из каждого экземпляра графа G, и среди этих под-
подмножеств взять подмножество максимальной мощности. По-
Поскольку
I A (GO - ОРТ (G') \-\A (G') - (К + 1) ОРТ (G) | < К,
то независимое множество для G будет содержать в точности
OPT(G) вершин. Следовательно, приведенная выше процеду-
процедура— оптимизационный алгоритм для решения задачи о макси-
максимальном независимом множестве. Этот алгоритм полиномиаль-
полиномиальный по времени, так как К— константа, не зависящая от G. ¦
В качестве упражнения читатель может попытаться вос-
воспользоваться этим подходом, чтобы доказать аналогичный ре-
результат для задачи отыскания минимального покрывающего
множества — оптимизационного аналога задачи МИНИМАЛЬ-
МИНИМАЛЬНОЕ ПОКРЫТИЕ, определенной в разд. 3.2.1.
Прежде чем от результатов о разности вернуться к резуль-
результатам об относительной погрешности, отметим, что возможны
результаты промежуточного типа. Несколько видоизменив тех-
технику, примененную в доказательстве теоремы 6.7, для задачи
о максимальном независимом множестве можно показать, чго
каковы бы ни были К и е > 0, не существует полиномиального
приближенного алгоритма с оценкой
\А (G) - ОРТ(G) |<К • ОРТ(GI"'
(если P=?^NP). Аналогичные результаты для этой и других
задач получены в работах [402] и [309]. Заметим, однако, что,
как видно из результатов Липтона и Тарьяна [354], упомяну-
упомянутых в конце предыдущего раздела, результаты этого типа не
178 6. Подходы к решению ЫР-полных задач
исключают возможности существования полиномиального при-
приближенного алгоритма с погрешностью Ra = 1. Единственный
известный способ доказательства того, что не существует поли-
полиномиального приближенного алгоритма А с асимптотической
погрешностью /?" = 1 (если Р ф NP), состоит в доказательстве
того, что из Р ф NP следует /?мич(П)> 1, т. е. принципиально
более сильное утверждение. Поскольку такие доказательства
удобнее считать доказательством нижней оценки для величины
Ялим(П) (в случае когда 1 </?min(II) <оо), то мы временно
отложим их обсуждение; вместо этого изучим вопрос о возмож-
возможности решения задачи П вполне полиномиальной приближенной
схемой.
Напомним, что в предыдущей главе было сказано, что все
известные вполне полиномиальные приближенные схемы для
решения NP-трудных задач имеют источником псевдополино-
псевдополиномиальные оптимизационные алгоритмы. В связи с этим не уди-
удивительно, что сильная NP-полнота оказывается связанной с
существованием таких схем. В действительности взаимосвязь
псевдополиномиальных алгоритмов с вполне полиномиальными
приближенными схемами носит двусторонний характер. Пусть
П — оптимизационная задача, a Length[/] и Мах[/] — две, свя-
связанные с ней меры индивидуальных задач (см. разд. 4.2), и
предположим, что величины всех решений — положительные
целые числа. Следующий результат доказан в работах Гэри и
Джонсона [151, 152].
Теорема 6.8. Если существует такой полином q, зависящий
от двух переменных, что для любой индивидуальной задачи
I e Dn выполнено соотношение
ОРТ (/) < q (Length [/], Max [/]),
то из существования вполне полиномиальной приближенной
схемы для решения задачи П следует существование псевдопо-
псевдополиномиального оптимизационного алгоритма решения задачи II.
Доказательство. Предположим, что А — подобная схема для
решения задачи П. Соответствующий оптимизационный алго-
алгоритм А' работает следующим образом. Пусть / — некоторая
индивидуальная задача, положим
e = ?(Length[/], Мах [ЛГ1
и применим к задаче / схему А при заданной точности е. За
время, ограниченное полиномом от Length[/], и
в (Length [/J, Мах I/])
6.2. Отыскание приближенных решений 179
и следовательно, за псевдополиномиальное время, алгоритм А
находит допустимое решение задачи / с погрешностью
/?„,(/)< 1+в.
Предположим, что П — задача максимизации (аналогичные
рассуждения применимы и в том случае, когда П — задача ми-
минимизации). Тогда, в силу определения е и предположения о q,
имеем
ОРТ(/)<A+е)Ле(/)
или
ОРТ(/)-Ле(/)<е • ОРТ(/) < 1.
Однако, поскольку значения всех решений — целые числа, от-
отсюда вытекает, что Л8(/) = ОРТ(/) и, следовательно, А' за
псевдополиномиальное время находит оптимальное решение,
что и требовалось доказать. ¦
В качестве следствия получаем метод доказательства не-
невозможности существования вполне полиномиальной оптимиза-
оптимизационной схемы для решения задачи П.
Следствие. Пусть П — оптимизационная задача с целочис-
целочисленными величинами решений, удовлетворяющая предположе-
предположениям теоремы 6.8. Если П является NP-трудной в сильном
смысле задачей, то {при Р ф NP) П не может быть решена
вполне полиномиальной приближенной схемой.
Два основных условия следствия заключаются в том, что
величины решений задачи П — не слишком большие целые чис-
числа и что П NP-трудна в сильном смысле. Эти условия выпол-
выполняются для многих представляющих интерес задач, включая,
например, задачи об упаковке, раскраске графа, о максималь-
максимальном независимом множестве и минимальном вершинном по-
покрытии. Таким образом, мы владеем общим весьма сильным
методом доказательства того, что не существует вполне поли-
полиномиальных приближенных схем.
Несколько труднее доказывать невозможность существова-
существования приближенных полиномиальных, но не вполне полиноми-
полиномиальных схем. Простейший способ заключается, по-видимому,
просто в доказательстве того, что если Р Ф NP, то для неко-
некоторого г > 1 не существует полиномиального приближенного
алгоритма А решения задачи П с погрешностью Ra < г. За-
Задача о раскраске графа представляет собой пример задачи.
для которой существование такого г очевидно. В самом деле,
180 5. Подходы к решению ЫР-полных задач
полиномиальный алгоритм А для решения задачи о раскраске
графа с погрешностью Ra < 4/3 должен был бы раскрашивать
3-раскрашиваемый граф не более чем в 3 цвета и, следователь-
следовательно, решал бы NP-полную задачу РАСКРАШИВАЕМОСТЬ
ГРАФА В 3 ЦВЕТА за полиномиальное время. Таким образом,
если Р Ф NP, то приближенного алгоритма с такой погреш-
погрешностью не существует и, следовательно, не существует полино-
полиномиальной приближенной схемы для задачи о раскраске графа.
Изложенную выше идею можно сформулировать в виде не-
несложной теоремы.
Теорема 6.9. Пусть П — задача минимизации, величины всех
решений которой — неотрицательные целые числа. Предполо-
Предположим, что для некоторого фиксированного К е Z+ задача рас-
распознавания: "Задана индивидуальная задача Ie Dn, верно ли,
что ОРТ(/)^/С?" является NP-трудной. Тогда если Р Ф NP,
то не существует полиномиального приближенного алгоритма А
решения задачи П с погрешностью Ra < 1 + 1//С и П не может
быть решена полиномиальной приближенной схемой.
Конечно, для задач максимизации имеет место аналогичный
результат. Теорема 6.9 применима также к задаче об упаковке
(при К = 2), задаче минимизации срока выполнения заданий,
возникающей из задачи РАСПИСАНИЕ С ОТНОШЕНИЕМ
ПРЕДШЕСТВОВАНИЯ из разд. 4.1 (при #=3), см. [336], и
множеству других задач. Однако имеется целый ряд задач, не
содержащих NP-трудных подзадач нужного вида, и для них
вопрос о существовании полиномиальной приближенной схемы
остается открытым.
Вернемся теперь к вопросу об отыскании нижней оценки ве-
величины /?мич(П). Заметим, что теорема 6.9 не дает возмож-
возможности получить такую оценку, поскольку в ее формулировке
участвует только RA, а наилучшая достижимая нижняя оценка
величины RA не обязательно справедлива для асимптотической
погрешности /?д. Это можно пояснить на примере задачи об
упаковке. Теорема 6.9 утверждает, что если Р Ф NP, то для
решения задачи об упаковке не может существовать полино-
полиномиального приближенного алгоритма А с погрешностью RA <
< 3/2. С другой стороны, как мы уже видели, R7fo = 11/9 <
< 3/2. На самом деле, даже предполагая, что Р ф NP, можно
лишь утверждать, что в задаче об упаковке имеет место нера-
неравенство 1 ==S#min(IIX 11/9.
Тем не менее для некоторых задач оценки, получаемые с
помощью теоремы 6.9, могут быть так усилены, что они окл-
жутся справедливыми и для асимптотической погрешности. По-
Поясним это на задаче о раскраске графов.
6.2. Отыскание Приближенных решений
181
Теорема 6.10. Если Р ф NP, то для решения задачи о рас-
раскраске графов не существует полиномиального приближенного
алгоритма А с асимптотической погрешностью Ra < 4/3.
Доказательство. Покажем, что с помощью любого такого
алгоритма А можно было бы получить полиномиальный алго-
алгоритм для задачи РАСКРАШИВАЕМОСТЬ ГРАФА В 3 ЦВЕ-
ЦВЕТА, что противоречит предположению Р ф NP. В конструкции
используется понятие "композиция" двух графов. Пусть Gi =
= (V\,Ei) и G2 = (V2,E2)— два графа. Композицией G =
= Gi[G2] этих графов называется граф с множеством вершин
V = Vi X V2 и множеством ребер
либо {ии Vi) e Ei,
либо «;¦=», и {и2, Vi) e Е2.
= { {(«ь «г).
Пример композиции двух графов представлен на рис. 6.6. Ком-
Композицию Gi[G2] удобнс представлять себе как результат за-
замены каждой вершины графа
G\ экземпляром графа G2 с по-
последующей заменой каждого
ребра графа Gi полным дву- а
дольным подграфом, соеди-
соединяющим каждую вершину эк-
экземпляра, соответствующего
одной вершине ребра, с каж-
каждой вершиной экземпляра, со-
соответствующего второй вер-
вершине этого ребра.
Рассмотрим следующий ал-
алгоритм для задачи РАСКРА-
РАСКРАШИВАЕМОСТЬ ГРАФА В 3
ЦВЕТА. Поскольку /?" < 4/3,
то существует такое неотрица-
(а,х)
(c,z) (c,y) (с,х)
GrlG2)
Рис. 6.6. Композиция G\ [Gi] графов
О, и G2.
у р
тельное целое число К е Z+,
что для всех графов G с
OPT(G)^/( выполняется со-
соотношение A{G) ^ D/3)
OPT(G). Пусть G = (V, E) — произвольная индивидуальная
задача РАСКРАШИВАЕМОСТЬ ГРАФА В 3 ЦВЕТА.
Пусть G' — полный граф на К вершинах. Положим G* =
= G'[G]. Заметим, что G* — это в точности К изоморфных эк-
экземпляров графа G, причем любые две вершины из различных
экземпляров соединены ребром, поэтому
182 6. Подходы к решению ЫР-полных задач
Более того, размер графа G* и время, необходимое для его
построения (поскольку К не зависит от G), ограничены поли-
полиномами от размера графа G. Поэтому время работы алгоритма
А на графе G* также будет ограничено полиномом от размера
графа G. Однако если G 3-раскрашиваем, то справедливы не-
неравенства
A (G*) < D/3) ¦ ОРТ (G*) < D/3) • 3/С = 4/0
С другой стороны, если G нераскрашиваем в 3 цвета, то
Следовательно, G можно раскрасить в три цвета тогда и толь-
только тогда, когда A(G*)<4K. Поэтому процедура, состоящая в
построении графа G* и применении к нему алгоритма А, даег
полиномиальный алгоритм для решения задачи РАСКРАШИ-
ВАЕМОСТЬ ГРАФА В 3 ЦВЕТА. Это приводит к противоре-
противоречию и завершает доказательство теоремы. Ш
Аналогичное доказательство оценки Rms (П) ^ 4/3 можно
получить для упоминавшейся выше задачи о построении распи-
расписания с отношением предшествования. Действительно, в то вре-
время как для задачи о раскраске графов не известен полино-
полиномиальный приближенный алгоритм с оценкой R°a < °°, для
задачи о построении расписания дело обстоит гораздо лучше.
Для ее решения полиномиальный приближенный алгоритм А
с оценкой погрешности/?™ = 2 был предложен Грэхемом [185],
и поэтому для этой задачи величина /?мш(П) удовлетворяет
неравенствам 4/3 ^ /?min (П) ^ 2 (в предположении P=/=NP).
Для задачи о раскраске графов нижняя оценка для вели-
величины #min(II), равная 4/3, может быть существенно улучшена
методом "увеличения" погрешности. Имеет место следующий
результат, доказанный в [146].
Теорема 6.11. Если Р ф NP, то для задачи о раскраске гра-
графов не существует полиномиального приближенного алгоритма
А с погрешностью Ra < 2.
Доказательство. Предположим, что такой полиномиальный
приближенный алгоритм А существует. Как и при доказатель-
доказательстве теоремы 6.10, покажем, что с помощью алгоритма А мож-
можно решить NP-полную задачу РАСКРАШИВАЕМОСТЬ ГРА-
ГРАФА В 3 ЦВЕТА за полиномиальное время. Для этого опять
воспользуемся операцией композиции графов. Однако нам по-
понадобится дополнительное понятие "мультираскраски" графа:
(к,т)-мультираскраской графа G=(V,E) называется функ-
функция /, сопоставляющая каждой вершине ceF множество
6.2. Отыскание приближенных решений 183
f(v)Е{1,2, .... К), такая, что |/(и)| = т для всех вершин v,
и если {и, v}^E, to f(u) и /(у) не содержат общих элементов.
На рис. 6.7 представлен пример E,2)-мультираскраски. пг-хро-
магическим числом графа G, %m(G), называется наименьшее
целое число k^l, такое, что существует (k, т)-мультирас-
краска графа G. Заметим, что (k, 1)-мультираскраска соответ-
соответствует обычной раскраске графа, а величина %\{G) совпадает
с OPT(G).
При доказательстве данной теоремы графы #„, п ^ 6, опре-
определяемые ниже, играют ту же роль, что и полные графы при
доказательстве теоремы 6.10. Граф Hn = {Vn,En) имеет п(п —
{1,2}
Рис. 6.7. E.2)-мультираскрашивание пятиугольника >/\.
С6; каждая вершина v помечена соответствующим C,5) <{ j [3,4}
множеством «цветов» / (и). Можно показать, что \ /
*(С.)-5. \ I
11,4} B,5)
— 1)(я— 2)/6 вершин, соответствующих различным 3-х эле-
элементным подмножествам множества {1,2, .... п). Причем две
вершины соединены ребром из Е„ тогда и только тогда, когда
соответствующие подмножества не пересекаются. Важнейшее
свойство этих графов, как доказано в работе [146], заклю-
заключается в том, что при п ^ 6 выполнены соотношения
Это свойство позволяет использовать графы в качестве "увели-
"увеличителя погрешности".
Поскольку Ra < 2, то существуют такие е > 0 и ^eZ+,
что для всех графов G с OPT(G)^ К выполнено свойство
/l(G)<B-e)OPT(G).
Пусть N^s max{6, К}— такое целое число, что 2N — 4>
> B — e)N. Рассмотрим следующий алгоритм проверки рас-
крашиваемости графа в 3 цвета.
Пусть G = (!/,?)—произвольный граф и нужно выяснить,
можно ли его раскрасить в 3 цвета. Вначале построим граф-
композицию G* = Hft[G] (это можно сделать за полиномиаль-
полиномиальное время, поскольку JV не зависит от G). Затем применим
к графу G* алгоритм А, что опять-таки потребует времени, ог-
ограниченного полиномом от размера графа G. Мы утверждаем,
что граф G раскрашиваем в 3 цвета тогда и только тогда, когда
A{G*)<2N — 4.
Предположим, что граф G раскрашиваем в 3 цвета. Тогда
граф G* можно раскрасить, используя только W цветов. Это
184 6. Подходы к решению №-полных задач
делается следующим образом. Фиксируем некоторое (W,3)-
мультираскрашивание графа HN (оно существует потому, что
^3(Я«) = Л/) и раскрасим каждый экземпляр графа G, содер-
содержащийся в G*, в три цвета, соответствующих вершине HN при
выбранном мультираскрашивании. Никакие две вершины раз-
различных экземпляров графа G, соединенные в G* ребром, не
будут окрашены в один цвет, поскольку соответствующие вер-
вершины графа HN соединены ребром, и, следовательно, соответ-
соответствующие им при мультираскрашивании множества не пересе-
пересекаются. Таким образом, мы получаем раскраску графа G* в N
цветов. Из определений N к г следует, что если G раскраши-
раскрашивается в 3 цвета, то
A (G*) < B - е) ОРТ (G*) < B - е) N < 2N - 4.
С другой стороны, предположим, что G нельзя раскрасить
в 3 цвета. Тогда при любой раскраске графа G* каждый эк-
экземпляр графа G должен содержать вершины не менее четы-
четырех разных цветов. По определению графа G*, любые два
экземпляра графа G, соответствующие соседним вершинам
графа HN, не должны содержать вершин одинакового цвета.
Поэтому любое раскрашивание графа G* в k цветов индуци-
индуцирует (k, 4)-мультираскрашивание графа HN, получаемое посред-
посредством сопоставления каждой вершине v e Vn любой четверки
цветов, используемых в соответствующем экземпляре графа G.
Однако поскольку %i(HN)=2N— 4, то отсюда следует, что
k~^2N — 4, т. е. G* не может быть раскрашен менее чем
в 2N — 4 цвета. Отсюда вытекает, что если G нельзя раскра*
сить в 3 цвета, то
A(G*)>OPT(G*)>2jv-4.
Таким образом, граф G раскрашиваем в 3 цвета тогда и
только тогда,когда A(G*)<.2N— 4, и построенный выше алго-
алгоритм является полиномиальным. Это противоречит предположе-
предположению, что Р ф NP, и теорема доказана. ¦
В качестве следствия из теоремы 6.11 получаем, что если
Р ф NP, то для задачи о раскраске графов 2 ^ Ямш(П) sg: oo.
Более сильных нижних оценок в настоящее время не известно,
хотя и существует предположение, что /?min (П) = сю.
Отметим, что все приведенные ранее нижние оценки вели-
величины /?мич(П) решающим образом зависели от того факта, что
у задачи П имелась NP-трудная подзадача вида: "Задано
/gDh, верно ли, что ОРТ(/)г^/(?" (или "Задано I^Dn,
верно ли, что ОРТ(/)^ /(?")— при некотором фиксированном
числе К. Если П не обладает этим свойством, то применяв-
применявшаяся выше схема доказательства не сработает. Тем не менее
6.2. Отыскание приближенных решений 185
даже в этом случае некоторые результаты удается сохранить.
Вернемся еще раз к задаче о максимальном независимом мно-
множестве. Для этой задачи не известен полиномиальный прибли-
приближенный алгоритм А с асимптотической погрешностью /?л < оо»
но при любом фиксированном значении К подзадача: "Задай
граф G, верно ли, что G содержит независимое множество
мощности не менее /С?" — разрешима за полиномиальное вре-
время. Докажем следующий результат.
Теорема 6.12. Имеет место одна из двух следующих воз'
можностей. Либо задачу о максимальном независимом множе-
множестве можно решить полиномиальной приближенной схемой,
либо для этой задачи не существует полиномиального прибли-
приближенного алгоритма А с /?" < оо.
Доказательство. Предположим, что Л—такой полиномиаль-
полиномиальный приближенный алгоритм решения этой задачи, что/?" < оо.
Поскольку можно считать, что А всегда находит независимое
множество мощности не менее 1, то RA < оо. Пусть Ra = г.
Построим приближенную схему следующим образом. Для лю-
любого е > О обозначим через Ne наименьшее целое число N, для
которого выполнено неравенство r1/w < 1 -J- е. (Поскольку
в дальнейших рассуждениях в фиксировано, то для краткости
индекс у We будем опускать.) Для произвольного графа G =
= (V, Е) укажем способ отыскания независимого множества
мощности М 5» OPT(G)/A -f e) за время, ограниченное поли-
полиномом от размера графа G.
Вначале определим по индукции граф GN = ( Vn, En) сле-
следующим образом: G\ = G, а для 1 < i ^ N положим Gi =
= G,_i[G]. Поскольку N зависит только от в, то при фиксиро-
фиксированном е граф G/, можно построить за полиномиальное время.
Более того, нетрудно видеть, что ОРТ(О() = (OPT(G))', 1<
< i <; N, и по любому независимому подмножеству Sn в Gn за
полиномиальное время можно построить такое независимое
множество S в G, что
Рассмотрим результат применения алгоритма А к графу Gn.
Поскольку Ra = г, то получаемое для графа О« независимое
множество Sn имеет мощность
| SN |> ОРТ (GN)/r = (ОРТ (G))»/r.
Используя это множество, для графа G можно построить не-
независимое множество S, такое, что
| 51> Г ((ОРТ (G))"/r)""l > ОРТ (G)/r"« ^ ОРТ (G)/(l + e;
1Й6 6. Подходы к решению HP-полных задач
(где последнее неравенство получено согласно определению
числа N). При фиксированном е описанная выше процедура
построения множества G может быть выполнена за полино-
полиномиальное время. Таким образом, на основе алгоритма А мы
построили полиномиальную приближенную схему решения за-
задачи о максимальном независимом множестве. Ш
В качестве следствия теоремы 6.12 получается следующий
результат: для задачи о максимальном независимом множе-
множестве имеются только две возможности: либо /?мш(П)= 1, либо
/?м1м(П)=оо; т. е. промежуточное значение величины /?мш(П)
невозможно. Таким образом, если бы удалось получить хоть
какой-нибудь полиномиальный алгоритм с асимптотической по-
погрешностью, меньшей с», то можно было бы построить поли-
полиномиальный алгоритм с любой, как угодно близкой к 1 асимп-
асимптотической погрешностью. С другой стороны, если бы для неко-
некоторого е > 0 нам удалось доказать, что не существует полино-
полиномиального приближенного алгоритма с погрешностью Ra < 1 +
-f- е, то отсюда вытекало бы, что у всех полиномиальных при-
приближенных алгоритмов RA = R™ = оо. Хотя мы и предпола-
предполагаем, что /?мш(П)=оо, нам не известны никакие перспектив-
перспективные подходы к доказательству этого утверждения.
Таким образом, мы приходим к последнему типу отрица-
отрицательных результатов. Для некоторых задач П все-таки удается
доказать, что RMiN(U)= оо (в предположении P=^=NP). Эти
доказательства очень похожи на уже рассмотренные доказа-
доказательства нижних оценок, отличие лишь в том, что теперь удает-
удается "увеличить погрешность" в гораздо большей степени. В ка-
качестве примера рассмотрим опять задачу о коммивояжере, не
предполагая на сей раз, что для расстояний между городами
выполнено неравенство треугольника. Следующая теорема до-
доказана в работе [469].
Теорема 6.13. Если Р Ф NP, то для задачи о коммивояжере
не существует приближенного полиномиального алгоритма с
асимптотической погрешностью R'a < с».
Доказательство. Предположим, что приближенный алго-
алгоритм, удовлетворяющий перечисленным в условии теоремы
свойствам, существует. Тогда для некоторого положительного
целого числа К существовал бы полиномиальный алгоритм А
с погрешностью Ra ^ К- Покажем, используя вариант сведе-
сведения ГЦ ос КМ из гл. 2, как с помощью алгоритма А может
быть решена NP-трудная задача ГАМИЛЬТОНОВ ЦИКЛ.
Пусть G = (V, Е)— произвольный граф. Построим соответ-
соответствующую индивидуальную |3адачу о коммивояжере /. Пусть
6.2. Отыскание приближенных решений 187
V — множество городов, и пусть расстояние между городами и
и v равно
il> если <«.'>е*
К • | V | в противном случае.
Ясно, что построить индивидуальную задачу / и применить к
ней алгоритм А можно за полиномиальное время (поскольку К
не зависит от G). Однако если в G есть гамильтонов цикл, го
OPT(/) = |F|, а если в G нет гамильтонова цикла, то
ОРТ(/)>/(• | V\. Таким образом, воспользовавшись оценкой
погрешности алгоритма А, получим, что Д(/)^/(-|У| тогда и
только тогда, когда в G имеется гамильтонов цикл. Следова-
Следовательно, из существования полиномиального приближенного ал-
алгоритма А с погрешностью Ra < оо следует, что КОММИВОЯ-
КОММИВОЯЖЕР лежит в классе Р, что противоречит предположению
Р ф NP. ¦
Эта теорема указывает на то, что неравенство треугольника
существенно для справедливости полученных в предыдущем
разделе положительных результатов, относящихся к задаче о
коммивояжере. Если неравенство треугольника выполнено, то
имеем оценку /?м1м(П)<; 3/2, а без неравенства треугольника
/?min(II) = oo (при условии P=^=NP). Некоторые результаты
относительно других задач, аналогичные теореме 6.13, можно
найти в работах [469] и [459].
Таким образом, относительно любого из возможных типов
поведения приближенных алгоритмов, перечисленных в разд. 6.1,
можно доказать негативные результаты, состоящие в том, что
если Р Ф NP, то для конкретной задачи П не существует при-
приближенного алгоритма с тем или иным поведением. Это наво-
наводит на мысль о том, что в предположении различия классов Р
и NP оптимизационные задачи можно классифицировать со-
согласно значению величины /?min(II) (а если #min(II)= 1, го
возможна еще более тонкая классификация). На рис. 6.8 пред-
представлены известные факты о такой классификации для некото-
некоторых задач, обсуждавшихся выше.
В заключение напомним читателю, что, несмотря на то что
мы выбрали для изучения особенно характерные виды погреш-
погрешностей, возможны также и другие виды погрешностей, рассмот-
рассмотренные в некоторых работах. Кроме того, эта область исследо-
исследований продолжает развиваться, и в ней постоянно получают но-
новые, как положительные, так и отрицательные результаты.
Дальнейшую информацию можно найти в работе Гэри и Джон-
Джонсона [147], где приведена аннотированная библиография работ
в этой области, опубликованных к середине 1976 г.
188
6. Подходы к решению NP-полных задач
8
V
С
"к
а;
V
8
и
В
Z
S
Рюкзак
Упакобка В
контейнеры
Минимальное
Вершинное
покрытие
Пакиша/ютк
неза5исимое
мнтестк
Коммивояжер
с неравенством
треугольника
Раскраска
графов
Коммивояжер
Расписание
с отношением
пр
Рис. вЛ. Классификация нескольких оптимизационных задач относительно
значений величины -^min (П). При /?M]N (П) = 1 имеются различные возмож-
возможности. Светлые прямоугольники указывают на открытые в настоящее время
вопросы. Затененные прямоугольники указывают на то, что соответствующая
возможность не имеет места либо потому, что это можно доказать при
условии Р ф NP, либо потому, что уже известен лучший алгоритм.
6.3. Оценки погрешности и поведение алгоритмов 189
6.3. ОЦЕНКИ ПОГРЕШНОСТИ И ПОВЕДЕНИЕ
АЛГОРИТМОВ «НА ПРАКТИКЕ»
Нетрудно понять причину, в силу которой очень желательно
иметь такие оценки погрешностей, какие обсуждались выше
для эвристических алгоритмов. Даже если конкретная оценка
погрешности и не столь сильна, как хотелось бы (решение, от-
отличающееся от оптимального на 50%,часто не может считаться
удовлетворительным), тем не менее весьма разумно начать ре-
решение задачи с простого алгоритма, имеющего такую оценку
погрешности, а затем улучшить ее, пользуясь более совершен-
совершенными эвристиками и методами локальной оптимизации. Кроме
того, некоторые доказанные оценки погрешности достаточно хо-
хороши и могут быть достигнуты без чрезмерных затрат машин-
машинного времени. В частности, весьма удовлетворительными могут
оказаться вполне полиномиальные приближенные схемы при
значениях е, меняющихся в разумных пределах. Более того, по-
поскольку погрешности оцениваются в расчете на худший случай,
то на практике приближенные алгоритмы ведут себя гораздо
лучше, чем можно было бы предположить на основе оценки их
погрешности.
Подчеркнем еще раз, что это имеет место "на практике".
Наибольший интерес для нас представляет то, в какой степени
наш алгоритм "на практике" будет приближать оптимальное
решение. В качестве альтернативы к анализу погрешности
"в худшем случае" можно было бы попытаться оценить по-
погрешность "в среднем". Такой анализ в действительности
имеет богатую историю и до .недавнего времени осуще-
осуществлялся преимущественно при помощи эмпирических ме-
методов.
Часто изучение поведения алгоритмов "в среднем" своди-
сводилось просто к формированию множества предположительно "ти-
"типичных" индивидуальных задач, прогонке соперничающих алго-
алгоритмов на этом множестве и сравнению полученных результа-
результатов. Конечно, полезность экспериментов такого рода зависела
от того, насколько "типична" рассматриваемая выборка инди-
индивидуальных задач, кроме того, не всегда достаточно просто об-
образовать подходящий набор индивидуальных задач.
Если можно считать, что индивидуальные задачи, предполо-
предположительно встречающиеся на практике, подчиняются некоторому
конкретному распределению вероятностей, то можно восполь-
воспользоваться более совершенными методами. В этом случае может
оказаться доступным метод построения "случайных" индиви-
индивидуальных задач, подчиняющихся заданному распределению ве-
вероятностей. На построенной таким образом выборке затем мож-
можно исследовать поведение алгоритмов.
190 6. Подходы к решению NP-полных задач
Некоторые эксперименты, выполненные в этом направлении,
подтверждают сделанное выше замечание, что поведение алго-
алгоритма в среднем гораздо лучше, чем поведение в худшем случае.
В работе Джонсона [262] алгоритмы "в первый подходящий"'
и в "первый подходящий в порядке убывания" для решения
задачи об упаковке анализировались методом Монте-Карло
при самых разных предположениях о распределении разме-
размеров предметов, причем в качестве оценки оптимума ОРТ(/) ис-
использовалась сумма размеров предметов. В результате исследо-
исследований было выяснено, что погрешность /?ff(/) в среднем равна
1.07, в то время как в худшем случае она равна 1.70, а погреш-
погрешность Rffd(I) в среднем равна 1.02, в то время как в худшем
случае она равна 1.22. (Интересно отметить, что взаимное ран-
ранжирование этих алгоритмов "в среднем случае" почти такое же,
как "в худшем случае".) В работе Сахни [466] было установ-
установлено, что одна конкретная вполне полиномиальная приближен-
приближенная схема для решения задачи об упорядочении с директив-
директивными сроками работает с погрешностью всего 1,005 даже в том
случае, когда е выбрано так, чтобы гарантировать погрешность
1.10, а алгоритм в действительности почти всегда находит оп-
оптимальное решение. Однако подобный сравнительный анализ
проведен лишь для очень небольшого числа алгоритмов, и в
настоящее время, вероятно, неразумно делать решительные и
поспешные выводы.
В некоторых недавних работах предложены более совер-
совершенные подходы, позволяющие доказывать теоремы об ожи-
ожидаемом поведении приближенных алгоритмов при различных
конкретных распределениях вероятностей. В работе [191], на-
например, в предположении "равновероятности" в некотором
смысле всех графов на п вершинах доказано, что некоторый
простой алгоритм раскраски А имеет среднюю погрешность
Ra(G), равную 2, хотя в худшем случае погрешность RA(G) мо-
может быть произвольно велика. Аналогичные результаты были по-
получены для задачи об упаковке, см. [484,541], для задачи
о максимальном независимом множестве, задачи о гамильто-
новом цикле и геометрических версий задач о коммивояжере
и дереве Штейнера, см. [282, 283, 284, 18]. Несмотря на то что
даже для простейших алгоритмов и распределений вероят-
вероятностей такой анализ может оказаться весьма затруднительным,
это направление представляется многообещающим и в ближай-
ближайшем будущем можно ожидать появления новых результатов
этого типа.
Конечно, анализ поведения алгоритмов в среднем, рассмат-
рассматриваемый как основа для оценки их поведения "на практике",
имеет свои недостатки. Для того чтобы вычислить среднее, не-
необходимо в первую очередь предположить, что индивидуальные
6.3. Оценки погрешности и поведение алгоритмов 191
задачи подчиняются некоторому распределению вероятностей,
и довольно часто оказывается не ясно, какое распределение
следует выбрать. (Интересный способ избежать этого путем
применения алгоритмов, обладающих внутренней рандомиза-
рандомизацией, обсуждается в работе [441].) Распределения вероят-
вероятностей, для которых, пользуясь методами., имеющимися на
сегодняшний день, можно анализировать алгоритмы, могут до-
довольно сильно отличаться от истинных распределений, встре-
встречающихся на практике, где преобладают задачи со сложной
структурой (что ведет к отклонениям, с большим трудом под-
поддающимся формализации). На практике также распределения
вероятностей могут непредсказуемым образом меняться со вре-
временем. Кроме того, результаты о погрешности в среднем ничего
не говорят о работе алгоритмов на конкретных задачах, в то
время как оценка погрешности в худшем случае дает по край-
крайней мере оценку поведения алгоритмов. Поэтому, если нужно
получить как можно больше информации о поведении прибли-
приближенных алгоритмов на практике, вероятно, лучше всего под-
подвергнуть их анализу всеми возможными способами как с точки
зрения поведения в худшем случае, так и с точки зрения пове-
поведения в среднем.
7. За пределами класса
NP-полных задач
В настоящей главе рассматривается несколько теоретиче-
теоретических вопросов, связанных с теорией NP-полных задач (и воз-
возникших благодаря ей). У читателя не предполагается никаких
дополнительных знаний, даже начинающий вполне может ос-
освоить основные положения этой главы и их связь с остальной
теорией. Читатели, заинтересовавшиеся результатами, приве-
приведенными в настоящей главе, смогут найти более подробные све-
сведения, включая доказательства этих результатов в статьях и
книгах, указанных в списке литературы. Следуя принятому ра-
ранее стилю изложения, мы будем определять новые понятия в
терминах языков и машин Тьюринга и обсуждать их нефор-
неформально в терминах массовых задач и алгоритмов.
В разд. 7.1 с точки зрения, изложенной в гл. 2, рассматри-
ааются известные результаты и гипотезы о структуре класса
NP и обсуждается существование в классе NP труднорешаемых
задач, не являющихся NP-полными. В разд. 7.2—7.4 обсуж-
обсуждаются вопросы "полноты" для классов задач, которые пред-
представляются более трудными, чем NP-полные задачи, однако
труднорешаемость этих задач также еще предстоит доказать.
В разд. 7.2, в частности, рассматривается "полиномиальная
иерархия", а в разд. 7.3 вводится понятие КР-полноты для за-
задач перечисления. В разд. 7.4 на основе понятия полноты с по-
полиномиальной памятью начинается обсуждение взаимосвязи ог-
ограничений по времени и по памяти. В разд. 7.5 это обсуждение
продолжается, при этом вводится понятие "сводимость с лога-
логарифмической памятью" и показывается, как оно может быть
использовано для исследования ограничений по памяти в зада-
задачах класса Р. Наконец, в разд. 7.6 мы вновь возвращаемся к
фундаментальной проблеме "верно ли, что Р = NP?". Хотя мы
считаем, что эти классы различны, но, по-видимому, имеются
серьезные препятствия для доказательства этого утверждения
современными методами, и мы обсуждаем возможные объясне-
объяснения этого факта.
7.1. СТРУКТУРА КЛАССА NP
В гл. 2 уже приводилась простая диаграмма класса NP,
изображенная на рис. 7.1. Напомним, что класс NP в качестве
подклассов содержит класс Р и класс NP-полных задач (сокра-
7.1. Структура класса NP 193
щенно NPC). В предположении Р ф NP эти два класса не
пересекаются.
Если Р ф NP, то NP не может совпадать также и с клас-
классом PLJNPC. Обозначим через NPI класс NP\(P|JNPC) за-
задач, имеющих "промежуточную" сложность (между Р и NP).
То, что класс NPI не пуст (в предположении, что P^NP),
есть следствие более общего результата, доказанного Ладнером
[312]. Для того чтобы сформулировать этот результат, напом-
напомним, что рекурсивным языком называет- __^_
ся любой язык, который можно распо- ^ЩЦЩ^ NP
знать некоторой (не обязательно поли-
полиномиальной) ДМТ-программой, останав-
останавливающейся на всех входах.
Теорема 7.1. Пусть В — такой рекур-
рекурсивный язык, что ВфР. Тогда существу-
существует распознаваемый за полиномиальное
время язык D е= Р, такой, что язык А =
= D Л В не принадлежит Р, Л ос В, но
не имеет места В ос A. f^tl'.1'
ГрЭММа
Эта теорема будет применяться следу- предположении, что
ющим образом. Пусть В — произвольный P=^NP).
NP-полный язык. Если P^NP, то В^Р,
поэтому условие теоремы выполняется. Более того, поскольку
ОеР и Be NP, то получающийся язык А принадлежит NP.
Из теоремы, следовательно, вытекает, что не имеет места
В ос Л, так что А не может быть >1Р-полным, и поскольку А е
е= Р, то А е NPI. Рассмотрим конкретный пример. Пусть В —
это NP-полная задача ГАМИЛЬТОНОВ ЦИКЛ. Тогда теорема
утверждает, что существует такой класс графов, распознавае-
распознаваемых за полиномиальное время, что задача ГАМИЛЬТОНОВ
ЦИКЛ, будучи рассмотрена на классе этих графов, не являет-
является NP-полной и не принадлежит классу Р (в предположении,
что Р ф NP).
Если Р ф NP, то теорема 7.1 утверждает не только не-
непустоту класса NPI, но также дает некоторую информацию о
структуре этого класса промежуточных задач. В предположе-
предположении Р Ф NP класс NPI должен состоять из бесконечного се-
семейства различных классов эквивалентности языков. Например,
если В — любая задача из класса NPI, то теорема 7.1 позво-
позволяет построить задачу, которая "проще", чем В, но все еще не
принадлежит классу Р. Ладнер [312] доказал также, что если
Р Ф NP, то класс NPI должен содержать такие пары языков С
и D, что ни С ос D ни D ос С. Таким образом, если Р ф NP, то
в классе NP относительно частичного порядка, который опре-
определяется отношением ос, должны быть несравнимые элементы.
194 f. За пределами класса UP-полных задач
После этих теоретических рассуждений можно задаться во-
вопросом: существуют ли "естественные" задачи, являющиеся
кандидатами на принадлежность классу NPI? В предположе-
предположении Р Ф NP для указания представителей этого класса может
быть использована теорема 7.1, но языки, которые при этом
получаются, оказываются весьма неестественными из-за слож-
сложной техники "диагонализации", применяемой для их построе-
построения. Конечно, любая "открытая" задача из класса NP, т. е. за-
задача, для которой не доказана ни принадлежность классу Р, ни
NP-полнота, может считаться кандидатом на принадлежность
классу NPI. Однако некоторые открытые задачи принято счи-
считать более вероятными кандидатами, поскольку они выдержали
проверку временем и им присущи некоторые свойства, видимо
отличающие их от задач, NP-полнота которых уже доказана.
В частности, три открытые задачи, приведенные в работе Карпа
[280], остаются открытыми, и в настоящее время и их часто
с различной степенью уверенности относят к задачам из класса
NPI.
ИЗОМОРФИЗМ ГРАФОВ
УСЛОВИЕ. Заданы графы G = (V,E) и G' = (V,E').
ВОПРОС. Верно ли, что графы G и G' изоморфны, т. е. суще-
существует ли взаимно-однозначная функция f: V-*-V, такая, что
{и, v} е? тогда и только тогда, когда {/(«), f(v)} e?'?
СОСТАВНЫЕ ЧИСЛА
УСЛОВИЕ. Задано положительное целое число К.
ВОПРОС. Существуют ли целые числа m и п; m, n > 1, такие,
что К = тл?
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ1)
УСЛОВИЕ. Заданы целочисленные векторы К,-== (у,[1], ...
...,Vi[n]), l<t<m, D = (di dm), С = (ci cm),
целое число В.
ВОПРОС. Существует ли такой вектор Х = (хи ..., х„) с ра-
рациональными координатами, что ViX ^ di, I ^ i ^ m, и СХ ^
2з В?
Исследователи, предпринимавшие попытки доказать, что за-
задача ИЗОМОРФИЗМ ГРАФОВ является NP-полной, отмечают,
что ее структура гораздо более ограничительна, чем структура
типичной NP-полной задачи, такой, например, как ИЗОМОР-
ИЗОМОРФИЗМ ПОДГРАФУ. Доказательства NP-полноты требуют оп-
определенной свободы действий в том смысле, что если искомая
') Л. Г. Хачиян [33*] доказал, что эта задача лежит в классе Р. —Прим.
ред.
7.1. Структура класса NP 195
структура X (подмножество, перестановка, расписание и т. д.)
существует, то она должна существовать и тогда, когда некото-
некоторые детали рассматриваемой индивидуальной задачи локально
изменяются. Например, функция f будет изоморфизмом графа
Я и подграфа графа G, даже если в G добавить или исключить
некоторые ребра, не принадлежащие образу отображения /.Од-
/.Однако если f есть изоморфизм Я и G, то любое изменение в С
должно сопровождаться соответствующим изменением в Я, в
противном случае f уже не будет изоморфизмом. Другими сло-
словами, доказательства NP-полноты, видимо, требуют определен-
определенной избыточности задачи, отсутствующей в задаче ИЗОМОР-
ИЗОМОРФИЗМ ГРАФОВ. К сожалению, отсутствие избыточности мало
помогает как при построении полиномиального алгоритма для
решения задачи ИЗОМОРФИЗМ ГРАФОВ, так и при доказа-
доказательстве того, что эта задача лежит в классе NPI.
Аргументы в пользу того, что задачи СОСТАВНЫЕ ЧИСЛА
и ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ, видимо, не являются
NP-полными, имеют другой источник. Напомним, что в гл. 2
было отмечено, что из принадлежности задачи П классу NP,
по-видимому, не следует, что в классе NP лежит дополнение
Пс этой задачи (т. е. задача с противоположным ответом:
Ync =Dn\ Уп). Определим
C0-NP = {nc: n
или в терминах языков
co-NP = {2* \ L: L — язык в алфавите 2 и LeNP}.
Основываясь на том, что многие задачи из класса co-NP, ви-
видимо, не принадлежат NP, вполне разумно предположить, что
NP Ф co-NP. Отметим, что, хотя аргументы в пользу этого
предположения близки к аргументам, приводившимся в пользу
того, что Р ф NP, предположение NP Ф co-NP "сильнее", чем
Р Ф NP. Класс Р замкнут относительно операции взятия до-
дополнения (т. е. Р = со-Р), поэтому из того, что NP^= co-NP,
следует, что Р ф NP, хотя неравенство Р Ф NP может иметь
место и в том случае, когда NP = co-NP. Тем не менее следую-
следующая несложная теорема показывает, что имеется тесная связь
между NP-полнотой задач СОСТАВНЫЕ ЧИСЛА и ЛИНЕЙ-
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ и предположением, что NP Ф
Ф co-NP.
Теорема, 7.2. Если существует такая NP-полная задача П.,
что IF <= NP, то NP = co-NP.
Доказательство этой теоремы аналогично доказательству
леммы 2.1 и получается непосредственно с помощью операции
композиции машин Тьюринга. В предположении, что Р Ф NP
196 7. За пределами класса tiP-полных задач
и NP ф co-NP, теорема 7.2 дает нам новую картину класса NP
и его окружения, изображенную на рис. 7.2.
В качестве следствия из теоремы 7.2 получаем, что задача
П е NP, для которой IF принадлежит классу NP, не может
быть NP-полной, если, конечно, NP ф co-NP. Поэтому было бы
естественно ожидать, что такая задача П не является NP-пол-
NP-полной. Однако и задача СОСТАВНЫЕ ЧИСЛА, и задача ЛИ-
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ обладают этим свойством.
co-NP y
tco-NPC
Рис. 7.2. Картина класса NP и его непосредственных соседей в предположе-
предположении, что P^=NP и NP^=co-NP. Класс Р может совпадать, а может н не
совпадать с классом NP Г) co-NP.
Очевидно, что задача СОСТАВНЫЕ ЧИСЛА лежит в клас-
классе NP. Дополнительной к ней задачей будет задача ПРОСТЫЕ
ЧИСЛА: "Дано положительное целое число К- Верно ли, что
К — простое?" Было [434] показано, что ПРОСТЫЕ ЧИСЛА
принадлежит классу NP, а именно было доказано, что для лю-
любого простого числа К имеется доказательство простоты этого
числа, достаточно короткое для того, чтобы его можно было
указать и проверить за время, ограниченное полиномом от
log К- Аналогичным образом с помощью фундаментальной тео-
теоремы двойственности из теории линейного программирования
можно доказать, что задача, дополнительная к задаче ЛИ-
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ, представляет собой ва-
вариант задачи линейного программирования и, значит, принад-
принадлежит классу NP.
Таким образом, если NP Ф co-NP, то ни задача СОСТАВ-
СОСТАВНЫЕ ЧИСЛА, ни задача ЛИНЕЙНОЕ ПРОГРАММИРОВА-
ПРОГРАММИРОВАНИЕ не могут быть NP-полными. Этот факт можно считать
довольно сильным аргументом в пользу того, что указанные
задачи не являются NP-полными. Если ни одна из них не мо-
может быть решена за полиномиальное время, то они принадле-
принадлежат классу NPI. Следующий аргумент, видимо, несколько сла-
слабее. Как уже отмечалось, симплекс-метод для решения задачи
линейного программирования, хотя и имеет экспоненциальную
временную сложность, очень часто работает настолько быстро,
7.1. Структура класса NP 197
что возникает ощущение, что можно построить другой алго-
алгоритм решения задачи линейного программирования, который
уже является полиномиальным. В случае задачи СОСТАВНЫЕ
ЧИСЛА мы в некотором смысле даже ближе к построению по-
полиномиального алгоритма.
Алгоритм для выяснения вопроса, является заданное число
простым или составным, предложен в работе Миллера [385j.
В этой работе также доказано, что если верна "расширенная
гипотеза Римана" из теории чисел, то алгоритм Миллера имеет
полиномиальную временную сложность. Таким образом, хотя
ни для одной из указанных задач не известно полиномиального
алгоритма1), мы почти уверены, что никто не будет утверж-
утверждать, что эти задачи NP-полны. (На самом деле доказатель-
доказательство того, что П е NP иПсё NP, может рассматриваться как
указание на то, что задача П может быть решена полиномиаль-
полиномиальным алгоритмом, хотя мы пока и не знаем, верно ли, что Р =
= NP П co-NP.)
Наличие таких (более или менее вероятных) кандидатов на
принадлежность классу NPI позволяет построить новые классы
"трудных" задач в классе NP. В частности, отношение поли-
полиномиальной сводимости ос позволяет построить классы экви-
эквивалентности для каждой из задач ИЗОМОРФИЗМ ГРАФОВ,
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ (LP) и СОСТАВНЫЕ
ЧИСЛА с очевидными следствиями. Например, если задача
П е NP обладает тем свойством, что П ос LP и LP ос П, то П
разрешима за полиномиальное время (или NP-полна, или ле-
лежит в классе NPI) тогда и только тогда, когда LP разрешима
за полиномиальное время (соответственно NP-полна или лежит
в классе NPI).
Обычно нетрудно видеть, что формулировки задачи линей-
линейного программирования, которые встречаются в самых разных
работах по линейному программированию, эквивалентны отно-
относительно отношения ос задаче LP. Рисе и Добкин [448] резю-
резюмировали основные результаты относительно этого класса задач
и несколько расширили его, Итаи [251] показал, что некоторые
задачи о рациональных потоках в сетях также эквивалентны
задаче LP. Задачи, полиномиально эквивалентные задаче
ИЗОМОРФИЗМ ГРАФОВ, были найдены Бусом [52], Ба-
баи [23], Миллером [386], Козеном [300, 304] и другими авто-
авторами. Однако большинство найденных задач этого класса либо
являются ограниченными версиями задачи ИЗОМОРФИЗМ
ГРАФОВ, либо задачами об изоморфизме объектов и структур
другого типа, так что все эти задачи одного и того же "типа".
Во многих работах по теории чисел формулируются утверждения
') См. сноску на стр. 194. —Прим. ред,
198 7. За пределами класса NP-полных задач
справедливые тогда и только тогда, когда некоторые числа
являются простыми, что позволяет построить класс задач, экви-
эквивалентных задаче СОСТАВНЫЕ ЧИСЛА. Некоторые из этих
эквивалентностей приведены среди открытых задач в прило-
приложении.
Если имеется задача из класса NP, которую мы считаем
трудной, но NP-полноту которой мы доказать не можем, то су-
существуют, конечно, более сильные способы подтверждения ее
труднорешаемости, чем доказательство эквивалентности этой
задачи одной из открытых задач. Один из методов, упомяну-
упомянутый в гл. 5, заключается в использовании сводимости по Тью-
Тьюрингу. Если удастся доказать, что некоторая известная задача
П' сводима по Тьюрингу за полиномиальное время к рассмат-
рассматриваемой задаче П, то, очевидно, П, подобно IT, разрешима за
полиномиальное время тогда и только тогда, когда Р = NP,
хотя мы и не можем доказать NP-полноту задачи П, поскольку
не известно, следует ли из сводимости П'осгП сводимость
П' ос П. (В общем случае из полиномиальной сводимости по
Тьюрингу не следует полиномиальная сводимость [316], хотя
такие примеры в классе NP не известны.)
Потенциально более полезная идея предложена в работе
[3]. Она состоит в использовании понятия "у-сводимость". Это
понятие позволяет доказывать труднорешаемость задачи не в
предположении, что Р ф NP, а в предположении, что NP ф со-
NP. Таким образом, понятие ^-сводимости слабее понятий сво-
сводимости по Тьюрингу и полиномиальной сводимости, но оно
позволяет дать существенное подтверждение предположению о
том, что рассматриваемая задача трудна.
В отличие от других рассмотренных нами понятий своди-
сводимости понятие 7"СВ°ДИМОСТИ имеет недетерминированный ха-
характер. Определим вначале понятие отношения Rm, вычисляе-
вычисляемого НДМТ-программой:
п _ f /„ иу существует слово г, такое, что на входе х и
м \ ^ 'у'~ догадке г программа М выдает у
(здесь "выдает" означает то же самое, что при вычислении
функций ДМТ-программами).
Будем говорить, что язык L\ в алфавите Si у-сводится
к языку Lz в алфавите Бг (обозначение: L\ ocyLz), если суще-
существует такая полиномиальная НДМТ-программа М, что для
каждого дсеХ* существует некоторое слово у s S5, такое, что
<х, уУ& Rm, и для всех <*, i/>e RM выполняется соотношение
x&Li тогда и только тогда, когда у^ Li- Другими словами, на
каждом входе х программы М имеется по крайней мере одно
останавливающееся вычисление, и все останавливающиеся на
7.1. Структура класса NP 199
х вычисления выдают элементы из L2 тогда и только тогда,
когда х е L\.
Нетрудно видеть, что отношение у-сводимости ocY, подобно
отношению полиномиальной сводимости ос, транзитивно, а
также, что из L\ ос L2 следует L\ ocY L2 (хотя не известно, верно
ли обратное). Язык L e NP называется у-полным, если для
всех Z/eNP, L'ocYL. Таким образом, все NP-полные языки
являются также и у-полными, но в принципе язык может быть
Y-полным, но не NP-полным. Примеры у-полных задач, NP-
полнота которых не известна, можно найти в работах [431,3].
Ниже приводится только один пример, взятый из последней
работы.
ЛИНЕЙНАЯ ДЕЛИМОСТЬ
УСЛОВИЕ. Заданы положительные целые числа а и с.
ВОПРОС. Существует ли такое целое число х, что с делится
на ах-\-1?
(Интересно отметить, что эта задача очень легко решается
за полиномиальное время, если ах +1 заменить на ах, посколь-
поскольку в последнем случае задача может быть переформулирована
так: "Делится ли с на а?" Заметим также, что рассматри-
рассматриваемую задачу можно решить за псевдополиномиальное время,
и, следовательно, ее предполагаемая труднорешаемость суще-
существенно зависит от соглашения, что числа представляются сло-
словами, длина которых ограничена полиномом от логарифмов ве-
величин этих чисел.)
Доказательство уполноты 'задачи ЛИНЕЙНАЯ ДЕЛИ-
ДЕЛИМОСТЬ основано на ^-сведении к ней задачи 3-ВЫП. При этом
используется недетерминированное угадывание большого числа
простых чисел, доказательств простоты и разложений на про-
простые множители. На самом деле все доказанные на сегодняш-
сегодняшний день результаты о ^-полноте касаются теоретико-числовых
задач и используют недетерминированность для угадывания
теоретико-числовых структур. Поэтому возможность широкого
применения понятия ^-сводимости еще требует своего подтверж-
подтверждения. Применение понятия 7-полноты к вопросам трудноре-
шаемости основано на следующей теореме [3].
Теорема 7.3. Если язык L является у-полным и Z. e NP f) со-
NP, то NP = co-NP.
В частности, поскольку Р <~ NP П co-NP, то из этой теоремы
следует, что если задача ЛИНЕЙНАЯ ДЕЛИМОСТЬ разре-
разрешима за полиномиальное время, то NP = co-NP. (Заметим
также, что в силу теоремы 7.3 v-полнота задач СОСТАВНЫЕ
ЧИСЛА и ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ мало
200 7. За пределами класса NP-полных задач
вероятна, так как они обе принадлежат классу NP ("I co-NP.) На
рис. 7.3 в общую картину класса NP включены также у-полные
задачи.
До сих пор довольно подробно обсуждалась структура
класса NP и особенно класса промежуточных задач NPI. В за-
заключение настоящего раздела рассмотрим структуру класса
NPC (класса NP-полных задач). Несмотря на то что все эти
задачи "эквивалентны" относительно полиномиальной своди-
сводимости, некоторые задачи из этого класса связаны между со-
собой гораздо теснее, чем другие. Вспомним, например, указан-
указанную в гл. 3 прямую сводимость друг к другу задач ВЕРШИН-
ВЕРШИННОЕ ПОКРЫТИЕ, КЛИКА и НЕЗАВИСИМОЕ МНОЖЕ-
со - у -полные задачи
Рис. 7.3. Еще раз уточненная картина класса NP (в предположении, что
P^NP и NP^co-NP).
СТВО. Эту тесную связь между задачами можно сформулиро-
сформулировать с помощью понятия "изоморфизм с полиномиальным вре-
временем". Будем говорить, что два языка L\ e SJ и Lz e Ъ\ изо-
изоморфны с полиномиальным временем (или полиномиально изо-
изоморфны), если существует взаимно-однозначное отображение
"на" /: 2*->25, такое, что / полиномиально сводит L\ к L2, а
f~l полиномиально сводит L2 к L\.
Легко проверить, что задачи ВЕРШИННОЕ ПОКРЫТИЕ,
КЛИКА и НЕЗАВИСИМОЕ МНОЖЕСТВО полиномиально
изоморфны; можно также предположить, что с помощью отно-
отношения полиномиального изоморфизма можно построить и дру-
другие классы эквивалентности. Исследования в этом направлении
были проведены в работах [39,200]. При этом был установлен
удивительный факт — все известные NP-полные задачи оказы-
оказываются полиномиально изоморфными! В этих работах даны
весьма общие методы преобразования обычной полиномиальной
сводимости в полиномиальный изоморфизм, и в настоящее
время не известно ни одной пары NP-полных задач, своди-
сводимость между которыми нельзя было бы преобразовать в изо-
изоморфизм, хотя, конечно, получаемые при этом "изоморфизмы"
оказываются совсем не такими простыми, как изоморфизм ме-
между задачами ВЕРШИННОЕ ПОКРЫТИЕ, КЛИКА и НЕЗА-
7.2. Полиномиальная иерархия 201
ВИСИМОЕ МНОЖЕСТВО. На основе этого Берман и Хартма-
нис предположили, что все NP-полные задачи полиномиально
изоморфны. Подобно многим другим, упоминавшимся выше
предположениям, из этого предположения следует, что Р ф NP.
Действительно, если бы Р совпадало с NP, то все языки из Р
были бы NP-полными и, в силу предположения, полиномиально
изоморфными. Однако Р содержит как конечные, так и беско-
бесконечные языки, поэтому все языки в Р не могут быть изоморф-
изоморфными.
7.2. ПОЛИНОМИАЛЬНАЯ ИЕРАРХИЯ
В предыдущем разделе были рассмотрены NP-полные задачи
и задачи, которые, возможно, "проще" их. В настоящем и сле-
следующих двух разделах будут обсуждаться NP-трудные задачи,
которые по крайней мере не "проще" NP-полных задач. Стан-
Стандартный пример NP-трудной задачи, которая, видимо, не яв-
является NP-легкой, дает следующая задача из работ [384, 500].
МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ
УСЛОВИЕ. Задано правильно построенное булевское выраже-
выражение Е, содержащее литералы из множества переменных V, по-
постоянные Т (истина) и F (ложь), логические связки А (и), V;
(или), 1 (не) и -*¦ (следует), а также неотрицательное целое
число К.
ВОПРОС. Существует ли правильно построенное булевское вы-
выражение Е', содержащее не более К вхождений литералов и
эквивалентное Е, т. е. такое, 4TQ для всех наборов значений ис-
истинности на множестве V выражения Е и Е' принимают одина-
одинаковые истинностные значения?
Эта задача NP-трудная, поскольку к ней сводится по Тью-
Тьюрингу задача ВЫПОЛНИМОСТЬ (выполнимое выражение Е,
имеющее вид конъюнктивной нормальной формы, либо ложно
при любом наборе значений истинности и, значит, эквивалентно
выражению F, либо не эквивалентно никакому выражению, не
содержащему литералов).
Однако, по-видимому, задача МИНИМАЛЬНОЕ ЭКВИВА-
ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ не является NP-легкой. До сих пор
никому не удалось показать, что эту задачу можно решить за
полиномиальное время с использованием в качестве оракула
задачу ВЫПОЛНИМОСТЬ (или любую другую задачу класса
NP). Такой оракул может оказаться полезным для проверки
эквивалентности выражений ?' и Е, но не для отыскания под-
подходящего кандидата для Е'.
Задачу МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ ВЫРАЖЕ-
ВЫРАЖЕНИЕ, однако, можно решить за полиномиальное время, если
202 7. За пределами класса NP-полных задач
вместо детерминированной ОМТ из гл. 5 использовать неде-
недетерминированную оракульную машину Тьюринга (НОМТ).
НОМТ представляет собой НДМТ, дополненную оракульной
лентой, аналогично тому, как ОМТ есть ДМТ, дополненная
оракульной лентой. Иначе говоря, НОМТ может с самого на-
начала сделать догадку, а также в процессе вычисления консуль-
консультироваться с оракулом. Неформально говоря, НОМТ с ораку-
оракулом П соответствует недетерминированному алгоритму с под-
подпрограммой для решения задачи П. Время работы НОМТ опре-
определяется так же, как для ОМТ и НДМТ.
Задачу МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ ВЫРАЖЕ-
ВЫРАЖЕНИЕ можно решить за полиномиальное время на НОМТ, если
в качестве оракула для класса NP взять задачу ВЫПОЛНИ-
ВЫПОЛНИМОСТЬ БУЛЕВСКОГО ВЫРАЖЕНИЯ (т. е. при заданном
правильно построенном булевском выражении Е спрашивается,
существует ли такой набор значений истинности, при котором Е
принимает значение "истина"). Последняя задача, хотя и пред-
представляет собой несколько более общую версию стандартной за-
задачи ВЫПОЛНИМОСТЬ, все равно принадлежит классу NP.
Для того чтобы узнать ответ для фиксированной индивидуаль-
индивидуальной задачи из задачи МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ
ВЫРАЖЕНИЕ, условие которой состоит из Е и К, достаточно
угадать выражение Е', содержащее не более К вхождений ли-
литералов, и с помощью оракула определить выполнимость выра-
выражения 1 ((?'-»- Е)'Л (?-»-?')). Если это выражение невыпол-
невыполнимо, то Е' — искомое выражение.
Только что приведенную недетерминированную программу
с оракулом можно назвать "(полиномиальной) недетерминиро-
недетерминированной сводимостью по Тьюрингу" задачи МИНИМАЛЬНОЕ
ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ к задаче ВЫПОЛНИ-
ВЫПОЛНИМОСТЬ БУЛЕВСКОГО ВЫРАЖЕНИЯ. Эта сводимость наво-
наводит на мысль определить новый, более широкий класс задач,
которые за полиномиальное время недетерминированно сво-
сводимы по Тьюрингу к задачам класса NP. Для этой цели вве-
введем соответствующие обозначения. Пусть У — некоторый класс
языков. Классы языков Ру и NPy определяются следующим
образом:
Ру = {L: существует такой язык L' e Y, что L ос TL'},
( существует такой язык L' e Y, что существует \
NP5' = \ L: полиномиальная недетерминированная своди- I.
( мость по Тьюрингу языка L к V )
Заметим, что PNP есть просто класс всех NP-простых языков.
Класс NPNP содержит язык МИНИМАЛЬНОЕ ЭКВИВАЛЕНТ-
ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ. Не известно, отличаются или совпадают
7.2. Полиномиальная иерархия
203
классы PNP и NPNP. Отнощения включения между двумя по-
построенными классами и классами Р, NP, co-NP изображены на
рис. 7.4.
На основе этой картины взаимоотношения классов языков
Мейер и Стокмейер [384] заметили, что процесс определения
новых классов языков исходя из старых может быть продол-
продолжен до бесконечности, при этом будут получаться классы, по-
видимому, все более сложных языков. В результате возникает
Рис 7.4. Отношения включения между классами языков, в том числе новыми
классами PNP и NPNP (в предположении, что P=/>NP).
так называемая полиномиальная иерархия. Классы языков этой
иерархии обозначаются через 2$, U% и Д& (где верхний ин-
индекс р используется только для того, чтобы отличать эти клас-
классы от аналогичных классов в арифметической иерархии Клини
(см. Роджерс [453]) и определяются следующим образом:
для всех k ^ 0
Л
(т. е. класс П?+1 состоит из всех задач, дополнительных зада-
задачам класса Ц+1). На самом деле Ilf = co-NP, Sf = NP и Af = P.
Аналогично, A§ = P , 2? = NP . На рис. 7.5 показаны взаимо-
взаимоотношения между классами языков этой иерархии.
Полиномиальная иерархия позволяет более детально клас-
классифицировать NP-трудные задачи распознавания свойств. Во-
первых, можно спросить, содержится ли вообще рассматривае-
рассматриваемая задача в иерархии (в разд. 7.4 будут указаны некоторые
задачи, по-видимому не содержащиеся в этой иерархии, хотя
204
7. За пределами класса NP-полных задач
до сих пор не известно даже, являются ли они труднорешае-
мыми). Для того чтобы выяснить, содержится ли рассматри-
рассматриваемая задача в иерархии, полезно иметь прямой способ дока-
доказательства того, что эта задача принадлежит некоторому клас-
классу иерархии, без последовательного применения индуктивного
определения. Для этого можно использовать понятие отноше-
отношения таким же образом, как Карп [280] воспользовался понятием
отношения для определения класса NP. Пусть Г—некоторый
Рис 7.5. Взаимоотношения между классами полиномиальной иерархии.
алфавит; отношением размерности k над Г* называется множе-
множество R, состоящее из наборов <Zi, Z2, .... z*> из k слов г„ 1 ^
^ i ^ k, в алфавите Г. Будем говорить, что отношение распоз-
распознаваемо за полиномиальное время, если найдется детерминиро-
детерминированная программа с полиномиальным временем работы, рас-
распознающая язык, который состоит в точности из всех наборов
по k слов, принадлежащих R. Следующая теорема доказана
в работе [536].
Теорема 7.4. Пусть L — язык в алфавите Г*, |Г|^2. Для
любого k 5= 1 язык LeS? тогда и только тогда, когда суще-
существуют такие полиномы р\, р2 р* и отношение R над Г*
размерности k-\-\, распознаваемое за полиномиальное время,
что для всех х е Г* имеет место
[(х,Уь Уг Vki^R],
где квантор Q перед переменной ук есть 3, если k нечетно, и
V, если k четно, а промежуточные кванторы чередуются.
Отметим, что задача МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ
ВЫРАЖЕНИЕ представляется в таком виде при k — 2, если
отношение R определить так: <(х, К), Уи У2У s R тогда и толь-
7.2. Полиномиальная иерархия 205
ко тогда, когда х и у\ — правильно построенные булевские вы-
выражения, причем j/i содержит не более К вхождений литера-
литералов, а «/г — набор значений истинности, выполняющий выраже-
выражение (х-*-yi)'A(y\-*-х). Можно получить аналогичное описание
класса П?, если в теореме 7.4 все кванторы Э и V поменять
местами (см. [536]).
Сформулированная теорема дает способ определения верх-
верхней границы для наименьшего из таких k, что L е 2*. Опреде-
Определение нижней границы (хотя бы даже условное) представляет-
представляется более трудной задачей. Один результат в этом направлении
был получен Легетом [333], он состоит в том, что если NP Ф
=^co-NP, то некоторые задачи распознавания, связанные с оп-
оптимизационными задачами, не могут лежать ни в NP, ни в
co-NP. Эти задачи распознавания отличаются от стандартных
тем, что в них формулируются некоторые утверждения отно-
относительно оптимальности. Простым примером является следую-
следующая задача.
КЛИКА МАКСИМАЛЬНОГО РАЗМЕРА
УСЛОВИЕ. Заданы граф G и положительное целое число К.
ВОПРОС. Верно ли, что наибольший полный подграф графа О
содержит ровно К вершин?
В отличие от вопроса: "Существует ли клика размера не ме-
менее /С?", — который формулируется в задаче КЛИКА, в рас-
рассматриваемой задаче спрашивается: "Будет ли К размером
максимальной клики?" Задача распознавания оптимальности,
соответствующая задаче МИНИМАЛЬНОЕ ЭКВИВАЛЕНТ-
ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ, формулируется следующим образом.
РАЗМЕР МИНИМАЛЬНОГО ЭКВИВАЛЕНТНОГО
ВЫРАЖЕНИЯ
УСЛОВИЕ. Заданы правильно построенное булевское выраже-
выражение Е и неотрицательное целое число К.
ВОПРОС. Верно ли, что не существует правильно построен-
построенного булевского выражения, эквивалентного Е и содержащего
не более К—1 литералов, но существует выражение, эквива-
эквивалентное Е и содержащее ровно К литералов?
В результатах Легета ключевым понятием является поня-
понятие "недетерминированная полиномиальная табличная своди-
сводимость", которая обозначается через ос^р и определена в работе
[316]. Смысл этого понятия заключается в том, что Locc L',
если некоторая недетерминированная оракульная программа,
останавливающаяся в состоянии "нет", когда ее оракул говорит
"нет", может проверить принадлежность языкуL с использова-
206 7. За пределами класса NP-полных задач
нием оракула для L'. Основная теорема Легета [333] в при-
применении к классу NP формулируется следующим образом.
Теорема 7.5. Если Lq, L\ и Li — такие языки, что L\ и L2 NP-
полны, Lc\ cx?PL0 и L\ oc?pLo (где Lc обозначает язык дополни-
дополнительный к L), то
/,„ е= NP U co-NP =>¦ NP = co-NP.
Эта теорема применима к задачам КЛИКА МАКСИМАЛЬ-
МАКСИМАЛЬНОГО РАЗМЕРА и РАЗМЕР МИНИМАЛЬНОГО ЭКВИВА-
ЭКВИВАЛЕНТНОГО ВЫРАЖЕНИЯ, а также ко многим другим подоб-
подобным задачам распознавания. Если эту теорему применять к за-
задаче КЛИКА МАКСИМАЛЬНОГО РАЗМЕРА, то в качестве
языков L\ и Z-2 можно взять язык, соответствующий задаче
КЛИКА. Нетрудно показать, что задача выяснения того, чго
граф не содержит полного подграфа на К вершинах, сводится
как к задаче КЛИКА МАКСИМАЛЬНОГО РАЗМЕРА, так и к
ее дополнению.
Комбинируя теоремы 7.4 и 7.5, можно довольно точно ука-
указать место рассматриваемой задачи в полиномиальной иерар-
иерархии, на нижних уровнях которой расположено большинство
естественно возникающих задач. Например, на основе этих тео-
теорем можно заключить, что если Р ф co-NP, то задача КЛИКА
МАКСИМАЛЬНОГО РАЗМЕРА лежит в классе Ц \ (Sf )
т. е. NP-проста, но не принадлежит ни NP, ни co-NP.
В основу попыток классификации задач, расположенных на
более высоких уровнях иерархии, положено обобщение понятия
NP-полноты задачи на соответствующем уровне иерархии. Если
удастся выявить "самую трудную" задачу класса 2*, то эта
задача не будет принадлежать классу 2?_t, если, конечно, эти
классы не совпадают. Понятие "самой трудной" задачи нам
уже знакомо. Язык L будем называть полным в классе 2?
(относительно полиномиальной сводимости), если?е2? и для
всех U е 5$, V ос L. Аналогичные определения полноты
можно дать для классов П§ и Д?. Легко показать, что если
язык L полон в классе 2ft и LeZ{.|, то 2t = 2ft-i (аналогич-
(аналогичные утверждения имеют место и для классов П? и А?). Таким
образом, доказательство полноты задачи в некотором классе
иерархии — это достаточно эффективный способ выяснения ме-
места этой задачи в иерархии.
Как и в случае NP-полноты, было бы гораздо проще дока-
доказывать полноту в классе иерархии, если известна некоторая
"первая" задача, полная в этом классе, т. е. задача, которая
играла бы такую же роль, какую ВЫПОЛНИМОСТЬ играет
7.2. Полиномиальная иерархия 207
в классе NP. Задачи В к, полные в классах 2* для всех k ^ 1,
были впервые указаны в работе [384]. Индивидуальная задача
из Вк представляет собой правильно построенное булевское вы-
выражение Е с множеством переменных X = {x[i, j]: 1 sg: i'^ k,
ls^/^m,}, где mi, m2 mk 5* 0 — некоторые целые числа.
Вопрос заключается в истинности следующего выражения:
(V*[2, I]...(V*[2, m2])
(Qjc[6, 1]) ... (Qx[h
где квантор Q есть квантор 3 при k нечетном и V при k чет-
четном, а остальные кванторы чередуются согласно значению пер-
первого параметра переменной х.
Отметим, что по теореме 7.4 BjeSj. Следующий результат
доказан в работах [384] и [536].
Теорема, 7.6. Для всех k ^ 1 язык Bk полон относительно
полиномиальной сводимости в классе 2?, а его дополнение —
язык В% полон относительно полиномиальной сводимости в
классе П?.
Таким образом, учитывая транзитивность отношения ос для
доказательства полноты задачи П в классе 2§, достаточно по-
показать, что IleSj и Bk ос П. Несмотря на это, до сих пор по-
получено мало результатов подобного типа. Козен [301] показал
существование аналогичной иерархии полных задач, формули-
формулируемых не в терминах булевских выражений, а в терминах ко-
конечно представленных алгебр, но результатов об индивидуаль-
индивидуальных задачах, представляющих самостоятельный интерес, мало.
Один из них, относящийся к задаче НЕЭКВИВАЛЕНТНОСТЬ
ЦЕЛОЧИСЛЕННЫХ ВЫРАЖЕНИЙ, получен в работе [500].
Если п е Z+, то двоичная запись числа п называется целочис-
целочисленным выражением, представляющим множество {п}. Если е
и f — целочисленные выражения, представляющие множества ?
и F, то (е U /) называется целочисленным выражением, пред-
представляющим Е U F, a (е -j- /) называется целочисленным выра-
выражением, представляющим множество {m + n: me E, nef}.
Индивидуальная задача из задачи НЕЭКВИВАЛЕНТНОСТЬ
ЦЕЛОЧИСЛЕННЫХ ВЫРАЖЕНИЙ — это пара <е,/> цело-
целочисленных выражений, а вопрос формулируется следующим об-
образом: "Верно ли, что ей/ представляют различные подмно-
подмножества Z+?". Стокмейер [500] доказал, что эта задача полна
в классе Ef- Кроме этого результата, даже о классе 2?
208 7. За пределами класса NP-полных задач
известно немного. Не известно, например, верно ли, что задача
МИНИМАЛЬНОЕ ЭКВИВАЛЕНТНОЕ ВЫРАЖЕНИЕ полна
в классе S?.
Не следует, однако, слишком переживать из-за отсутствия
результатов в этом направлении, так как различия задач, вы-
вытекающие из структуры полиномиальной иерархии, видимо,
имеют больше теоретическое, нежели практическое значение.
Это объясняется следующей теоремой Стокмейера [500].
Теорема 7.7. Если для некоторого k ^ 1 имеет место равен-
равенство 2? = П?, то 2Р = ПР = 2? для всех />/fe.
В частности, если Р = NP, то NP = 2Р = П? и поэтому Sf =
00
= Р для всех / :з= 0. Пусть РН = (J 2f — множество всех язы-
языков полиномиальной иерархии. Тогда Р = NP тогда и только
тогда, когда РН = Р, т. е. тогда и только тогда, когда все
языки иерархии можно распознать за полиномиальное время
и вся иерархия сжимается в один класс Р.
Таким образом, утверждение, что NP-трудная задача П ле-
лежит в классе РН, хотя и не эквивалентно NP-легкости задачи
П, но имеет те же следствия: П можно решить за полиномиаль-
полиномиальное время тогда и только тогда, когда Р = NP. Тонкие свой-
свойства задачи П, зависящие от ее положения в иерархии, с вы-
вычислительной точки зрения, видимо, не имеют большого значе-
значения еще и потому, что можно доказать, что любая задача клас-
класса РН может быть решена перебором за детерминированное
время ОBя(п)), где q — некоторый полином, п — длина записи
входа (этот же результат для класса NP был доказан в тео-
теореме 2.1).
Тем не менее в предположении Р ф NP полиномиальная
иерархия представляет теоретический интерес, а теорема 7.7
прибавляет к списку фундаментальных открытых вопросов еще
один: "Верно ли, что РН — бесконечная иерархия, т. е. верно
ли, что 2д,+1 \ S? не пусто для любого k ^ 1?" Заметим, вполне
может оказаться, что Р ф NP, NP ф co-NP и в то же время
вся иерархия сжимается в один класс Sf. хотя такой результат
и был бы весьма удивителен.
7.3. СЛОЖНОСТЬ ЗАДАЧ ПЕРЕЧИСЛЕНИЯ
Задачи перечисления относятся к числу естественных канди-
кандидатов на роль труднорешаемых задач даже в том случае, если
Р = NP. Для того чтобы определить такое понятие, как задача
перечисления, напомним понятие переборной задачи из гл. 5.
В переборной задаче П каждая индивидуальная задача /
7.3. Сложность задач перечисления 209
имеет ассоциированное с ней множество решений Sa (/) и при
заданном / требуется найти один элемент из множества Sn (/)
(в соответствующей задаче распознавания спрашивается, пусто
Sn(I) или нет). Задача перечисления, соответствующая пере
борной задаче П, формулируется так: "Задано /, какова мощ-
мощность множества Sn(/), т. е. сколько имеется решений?"
Со многими задачами распознавания,' которые мы обсуж-
обсуждали, можно естественным образом связать задачи перечисле-
перечисления. Например, с задачей ГАМИЛЬТОНОВ ЦИКЛ можно свя-
связать следующую задачу перечисления: "Задан граф G, сколько
различных гамильтоновых циклов имеется в G?" Задаче ВЫ-
ВЫПОЛНИМОСТЬ соответствует задача: "Задано множество
дизъюнкций С на множестве переменных V, сколько существует
наборов значений истинности, выполняющих одновременно все
дизъюнкции в С?"
Отметим, что в задаче перечисления не требуется предъ-
предъявить все элементы множества Sn(/), необходимо только опре-
определить их количество. Таким образом, хотя число гамильтоно-
гамильтоновых циклов в графе G может быть экспоненциально велико
(в зависимости от числа вершин) и для составления их списка
потребуется экспоненциальное время, ответ задачи перечисле-
перечисления может быть записан полиномиальным числом двоичных
знаков. Следовательно, "размер" ответа сам по себе не препят-
препятствует решению задачи за полиномиальное время.
В действительности некоторые нетривиальные задачи пере-
перечисления можно решить за полиномиальное время. В работе
[198], например, показано, что задача перечисления: "Дан граф
G, сколько в нем имеется различных остовных деревьев?" —
может быть решена за полиномиальное время с помощью "мат-
"матричной теоремы о деревьях" Кирхгофа и вычисления некоторых
определителей. Подобным же образом задача: "Задан граф G,
сколько в нем имеется эйлеровых путей?" — может быть ре-
решена за полиномиальное время.
Тем не менее многие задачи перечисления, по-видимому,
очень сложны. Задачи перечисления, соответствующие NP-пол-
ным задачам, очевидным образом являются NP-трудными, по-
поскольку если известна мощность множества Sn(I), то можно
легко определить, пусто это множество или нет. Некоторые
задачи перечисления, видимо, сложнее соответствующих задач
существования. Даже в том случае, если Р = NP и за полино-
полиномиальное время можно определить, содержит ли произвольный
граф гамильтонов цикл, совершенно не ясно, поможет ли это
подсчитать за полиномиальное время число гамильтоновых цик-
циклов в графе G.
Исходя из этого наблюдения, Вэльянт [522] предложил рас-
рассмотреть новый класс полиномиально эквивалентных задач —
210 7. За пределами класса UP-полных задач
класс "КР-полных задач), включающий многие задачи пере-
перечисления и имеющий целью подчеркнуть дополнительную слож-
сложность задач перечисления. (Аналогичное предложение было
сделано в работе [491].) Задача перечисления принадлежит
классу КР, если найдется недетерминированный алгоритм, та-
такой, что для каждой индивидуальной задачи / е Da число раз-
различных "догадок", ведущих к принятию /, равно в точности
Sn (/)|, а длина самого продолжительного принимающего вы-
вычисления ограничена полиномом от Length [/]. (Вэльянт [522]
определил этот класс задач в терминах так называемых "счи-
"считающих машин Тьюринга", которые аналогичны "пороговым
машинам" из работ [490, 491] и вероятностным машинам Тью-
Тьюринга из работы [171].)
Легко видеть, что рассмотренные выше задачи перечисле-
перечисления лежат в классе КР. В самом деле, если П — произвольная
переборная задача, для которой существует полином р, такой,
что для всех /efln и всех oeSn(/) "длина" не превосходит
р (Length [/]), а также для всех / и о за полиномиальное время
можно определить, верно ли утверждение oeSn(/), то не-
нетрудно видеть, что задача перечисления, соответствующая П,
лежит в классе КР. Таким образом, можно заключить, что
класс КР содержит по крайней мере большую часть тех задач
перечисления, которые было бы желательно рассмотреть, а
также что среди них имеется много трудных задач. Понятие
"полноты" в классе КР опять-таки используется для выявления
''самых трудных" задач этого класса. Задача перечисления П
называется КР-полной, если П е КР и для всех ГГ е КР,
П'осгП.
Заметим, что в этом определении используется полиномиаль-
полиномиальная сводимость по Тьюрингу, а не просто полиномиальная сво-
сводимость. Это объясняется тем, что рассматриваемые в данном
случае задачи являются не просто задачами распознавания, а
имеют в качестве ответов числа. Можно, однако, рассмотреть
следующий вариант понятия полиномиальной сводимости. Пусть
имеются две переборные задачи П и IT. Будем говорить, что
задача П (полиномиально) консервативно сводится к задаче IT,
если существует вычислимая за полиномиальное время функция
/: Dn-+Dn', такая, что для всех I<=DU, I Sn (/) I = I Sir (/(/)) |.
Заметим, что консервативная сводимость задачи П к задаче П'
в то же время является полиномиальной сводимостью одной за-
задачи к другой. Более важно, однако, заметить, что консерва-
консервативная сводимость задачи П к задаче П' автоматически дает
') Обозначение КР введено вместо используемого в оригинале символа
#Р; К — первая буква от слова «количество». Здесь речь идет о количестве
элементов в перечисляемом множестве. — Прим. ред.
7.8. Сложность задач перечисления 211
сводимость по Тьюрингу соответствующих задач перечисления.
Таким образом, консервативная сводимость может служить
ценным инструментом при доказательстве КР-полноты.
Этим инструментом впервые воспользовался Саймон [490].
Он заметил, что общая сводимость в доказательстве теоремы
Кука может быть сделана консервативной, и таким образом
получил следующий результат.
Теорема, 7.8. Задача подсчета числа выполняющих наборов
значений истинности для индивидуальной задачи ВЫПОЛНИ-
ВЫПОЛНИМОСТЬ является КР-полной.
Саймон [491] заметил также, что многие известные из ли-
литературы сводимости, использующиеся в доказательствах ре-
результатов об NP-полноте, являются консервативными, а в тех
случаях, когда они не консервативны, можно найти консерва-
консервативные сводимости (см. [521] и [135]). Отсюда можно заклю-
заключить, что, например, задачи перечисления, соответствующие
шести основным NP-полным задачам из гл. 3, являются КР-
полными (хотя мы и не утверждаем, что сводимости, исполь-
использовавшиеся в гл. 3, консервативны).
Может показаться удивительным тот факт, что некоторые
задачи перечисления являются КР-полными, в то время как
соответствующие переборные задачи могут быть разрешимы
за полиномиальное время. Рассмотрим следующую задачу: "За-
"Задан двудольный граф G, спрашивается, сколько различных со-
совершенных паросочетаний в нем содержится?" (Напомним, что
двудольным графом G = (V, Е) называется граф, множество
вершин которого разбито на два* подмножества Vi и V2, так
что любое ребро соединяет вершины только из разных подмно-
подмножеств. Совершенным паросочетанием называется такое подмно-
подмножество ребер Е', Е' s E, что любая вершина в V инцидентна
ровно одному ребру из Е'.) Эта задача перечисления особенно
интересна потому, что она эквивалентна вычислению "перма-
"перманента " матрицы 0-1 (перманент — аналог определителя, однако
в соответствующую сумму все произведения элементов матрицы
входят со знаком +). Указанная выше переборная задача хо-
хорошо известна еще и потому, что это просто "задача о бракосо-
бракосочетании", упоминавшаяся в разд. 3.1.2, и, как там указано, раз-
разрешима за полиномиальное время. Тем не менее в работе [522]
доказан следующий результат.
Теорема, 7.9. Задача о подсчете числа различных совершен-
совершенных паросочетаний в двудольном графе является КР-полной.
Таким образом, в то время как для одних переборных за-
задач, разрешимых за полиномиальное время, соответствующая
задача перечисления не может быть решена за полиномиальное
7. За пределами класса NP-полных задач
время при условии Р ф NP (и даже в случае Р = NP это мало
вероятно), для других задач, например задач об остовном де-
дереве или об эйлеровом пути, упомянутых в начале настоящего
раздела, соответствующие задачи перечисления могут быть ре-
решены за полиномиальное время. Было бы интересно продол-
продолжить эту классификацию. Частичные результаты в этом на-
направлении содержатся в работе [260]. В ней, в частности, до-
доказано, что некоторые задачи перечисления, основанные на
переборных задачах, разрешимых за полиномиальное время (на-
(например, задаче К-е ПО ПОРЯДКУ ПОДМНОЖЕСТВО, об-
обсуждавшейся в гл. 5), NP-трудны. Хотя в этой работе и не
рассматриваются вопросы о КР-полноте, нетрудно показать,
что обсуждаемые там задачи в действительности КР-полны.
Другие КР-полные задачи можно найти также в работе [523].
7.4. ПОЛНОТА С ПОЛИНОМИАЛЬНО
ОГРАНИЧЕННОЙ ПАМЯТЬЮ
До сих пор нам встречался только один "ресурс", исполь-
используемый для вычисления, — время, необходимое для его выпол-
выполнения. На практике в равной степени важен и другой ресурс —
объем памяти ЭВМ, или число ячеек, необходимых для вычис-
вычисления, который будет называться "емкостной" потребностью
алгоритма. Время, требующееся при вычислении на машине
Тьюринга, есть число шагов, выполняемых до момента перехода
в заключительное состояние. Память, требующаяся при вычис-
вычислении, есть число различных ячеек, которое при этом просмат-
просматривает читающая/пишущая головка. Поскольку число просмат-
просматриваемых ячеек не может превосходить числа шагов вычисле-
вычисления, то любая задача, разрешимая за полиномиальное время,
разрешима также и с полиномиальной памятью. Более того,
понятие полиномиальной памяти, как и понятие полиномиаль-
полиномиального времени, обладает свойством независимости от модели вы-
вычислительного устройства. Для всех реалистичных моделей ЭВМ
класс задач, разрешимых на них с полиномиальной памятью,
один и тот же. (В действительности в отношении памяти неза-
независимость от модели ЭВМ еще более ярко выражена, а именно
классы задач, разрешимых с памятью 0{nk) для любого це-
целого k > 0, одинаковы для всех стандартных моделей ЭВМ
[215].) В настоящем разделе мы подробно рассмотрим взаи-
взаимосвязь полиномиального времени и полиномиальной памяти.
Хотя все задачи, разрешимые за полиномиальное время, раз-
разрешимы также и с полиномиальной памятью, до сих пор не из-
известно, существуют ли задачи, разрешимые с полиномиальной
памятью, но неразрешимые за полиномиальное время. Гипотеза
7.4. Полнота с полиномиально ограниченной памятью 213
о существовании таких задач выглядит весьма правдоподобно,
поскольку все задачи класса NP, все задачи полиномиальной
иерархии и все задачи класса КР могут быть решены с поли-
полиномиальной памятью. Таким образом, если Р ф NP или Р ф
ф КР, то вычисления с полиномиальной памятью не эквива-
эквивалентны вычислениям с полиномиальным временем. Кроме того,
имеется много задач, разрешимых с полиномиальной памятью,
но, по-видимому, более сложных, чем задачи из перечисленных
выше классов. Для того чтобы выделить "наиболее сложные"
из этих задач, введем понятие "полноты" с полиномиальной
памятью.
Давая формальные определения, мы вновь ограничимся язы-
языками (задачами распознавания). Обозначим через P-SPACE
класс всех языков, распознаваемых ДМТ-программой, исполь-
использующей память, ограниченную полиномом и останавливающую-
останавливающуюся на всех входах. Теперь понятие полноты определяется стан-
стандартно: язык L называется P-SPACE-яаляьш (относительно по-
полиномиальной сводимости), если L e P-SPACE и любой язык
V из класса P-SPACE сводится к L, U ос L. Из этого опреде-
определения вытекает, что если язык L является P-SPACE-полным,
toIgP тогда и только тогда, когда Р = P-SPACE. Аналогич-
Аналогичное утверждение будет верно, если заменить класс Р на NP.
Поскольку может оказаться, что Р = NP, даже если Р ф Р-
SPACE, то P-SPACE-полнота задачи дает более сильное сви-
свидетельство ее труднорешаемости, чем NP-полнота. Факт Р-
SPACE-полноты задачи можно рассматривать так же, как ука-
указание о том, что задача не принадлежит ни классу NP, ни по-
полиномиальной иерархии. В работе [536] показано, что если
какая-нибудь P-SPACE-полная задача лежит в классе 2* для
некоторого k, то вся иерархия сжимается до класса P-SPACE,
т. е. 2," = 2g = P-SPACE для всех / ^ k.
Фундаментальная P-SPACE-полная задача и ее интересная
связь с задачами Вк, полными в классе 2*, обсуждавшимися
в разд. 7.2, были указаны в работе [503]. А именно, рассматри-
рассматривая задачи Вк как языки относительно одной общей схемы ко-
кодирования, можно получить P-SPACE-полный язык, полагая
00
Вш = U Bk. Для большей ясности, однако, рассмотрим язык
Вш как задачу распознавания, для чего Дадим ему подходящее
название и определение.
БУЛЕВСКИЕ ФОРМУЛЫ С КВАНТОРАМИ (БФК)
УСЛОВИЕ. Задана правильно построенная булевская формула
x2) ...(Qnxn)E,
214 7. За пределами класса NP-полных задач
где Е— булевское выражение с переменными хи х2 хп,
a Qt — один из кванторов "Н" или "V".
ВОПРОС. Верно ли, что F истинна?
Отметим, что существенное отличие задач БФК от В* со-
состоит в том, что в Bk допускаются индивидуальные задачи с за-
заранее ограниченным числом чередования кванторов (либо за
"V" следует ", либо за " следует "V"). В БФК, напро-
напротив, число изменений кванторов не ограничено. Принадлеж-
Принадлежность БФК классу P-SPACE следует из того, что истинность
формулы F можно проверить, перебирая все возможные наборы
значений истинности переменных х\, х2, ..., х„ и вычисляя зна-
значения выражения Е на этих наборах значений истинности.
Запись проверяемого набора значений истинности, проверку ис-
истинности Е и слежение за номером проверяемого набора значе-
значений истинности можно осуществить с использованием полино-
полиномиальной памяти, хотя для проверки всех ОBр(">) наборов зна-
значений истинности потребуется экспоненциальное время. То,что
любой язык L' е P-SPACE может быть сведен к языку БФК»
следует из аналога теоремы Кука, в котором вместо полино-
полиномиальных по времени вычислений моделируются вычисления,
полиномиальные по памяти. В действительности число шагов
вычисления может иметь порядок ОBр(л)), где р— полином, п —
длина входа (и в силу аналога теоремы 2.1, не может быть
больше), эта неприятность преодолевается нетривиальным при-
приемом, предложенным в работах [503, 500]. Таким образом,
можно получить следующий результат.
Теорема, 7.10. Задача БФК является P-SPACE-полной.
На основе задачи БФК класс P-SPACE-полных задач был
в значительной степени изучен. Хотя мы уже убедились в NP-
трудности большинства элементов этого класса задач, следует
принять во внимание дополнительное "подтверждение" трудно-
решаемости, которое дает P-SPACE-полнота. Для P-SPACE-
полной задачи мало вероятна принадлежность не только классу
Р, но и классу NP. Следовательно, свойства, проверка которых
P-SPACE-полна, вероятно, не могут быть проверены за полино-
полиномиальное время даже с использованием "догадки" полиноми-
полиномиальной длины. Более того, с теоретической точки зрения даже
приятно, что результаты о "полноте" в отличие от результатов
о "трудности" позволяют довольно точно определить сложность
задачи.
По мере расширения числа P-SPACE-полных задач класс
P-SPACE-полных задач приобретает новые характеристики. За-
Задачи, в нем содержащиеся, весьма отличаются от известных
NP-полных задач. В заключение настоящего раздела приведем
7.4. Полнота с полиномиально ограниченной памятью 215
несколько P-SPACE-полных задач, которые, как мы надеемся,
позволят читателю получить некоторое представление о том,
как они выглядят.
В первую очередь заметим, что аналогично тому, как задача
ВЫПОЛНИМОСТЬ сводится к задаче 3-ВЫП, задача БУЛЕВ-
БУЛЕВСКИЕ ФОРМУЛЫ С КВАНТОРАМИ может быть сведена к
своему ограниченному варианту 3-ВЫП С КВАНТОРАМИ, в
которой булевское выражение является индивидуальной зада-
задачей из 3-ВЫП (т. е. конъюнкцией 3 литеральных дизъюнкции).
Так что и эта ограниченная задача P-SPACE-полна, см. [503].
В доказательстве используется прием из работы [31], который
позволяет преобразовать произвольное булевское выражение,
содержащее связки "-»-" и ""|'\ в выражение нужного вида.
Роль "основной" P-SPACE-полной задачи, аналогичную роли
рассмотренных выше шести основных NP-полных задач, играет
задача 3-ВЫП С КВАНТОРАМИ.
Особенно богатый источник P-SPACE-полных задач пред-
представляют собой комбинаторные игры. Игры, интересные с этой
точки зрения, — это игры двух лиц. Их можно кратко описать,
задав общую "позицию" в множестве всех возможных "пози-
"позиций", критерий выявления игрока, имеющего "ход" в данной
позиции, способ изменения позиции в результате "хода", ука-
указания заключительной позиции (и победителя), а также ис-
ходной позиции. Назовем игроков БЕЛЫЕ и ЧЕРНЫЕ, обо-
обозначим через Ро исходную позицию, а также примем согла-
соглашение, что после достижения заключительной позиции все
последующие ходы ее не меняют. Утверждение, что БЕЛЫЕ, на-
начиная игру, имеют форсированный выигрыш за п ходов (п четно),
формализуется следующим образом:
Существует такой ход БЕЛЫХ из позиции Ро в позицию
Pi, что для всех ходов ЧЕРНЫХ из позиции Pi в позицию Рг,
существует такой ход БЕЛЫХ из позиции Р2 в позицию
Р3, что для любого хода ЧЕРНЫХ из позиции Р3 в пози-
позицию Р4,
существует такой ход БЕЛЫХ из позиции Р„_2 в позицию
Р„_ь что для любого хода ЧЕРНЫХ из позиции Рл_] в по-
позицию Р„, позиция Р„ выигрышна для БЕЛЫХ.
Заметим, что в этом утверждении имеется последователь-
последовательность "перемен кванторов", которая приводит к P-SPACE-пол-
ноте задачи БФК- Таким образом, не удивительно, что задача
распознавания вида: "Задана начальная позиция некоторой
игры, верно ли, что БЕЛЫЕ имеют форсированный выиг-
выигрыш?" — оказывается P-SPACE-полной.
216 7. За пределами класса NP-полных задач
Первый результат такого типа был получен в работе [119].
Задача, которую обсуждали авторы, формулируется следующим
образом.
ОБОБЩЕННЫЙ ГЕКС
УСЛОВИЕ. Задан неориентированный граф G~(V,E) с выде-
выделенными вершинами s, t e V.
ВОПРОС. Верно ли, что БЕЛЫЕ имеют форсированный выиг-
выигрыш в следующей игре на G? Позицией является разбиение
множества V на три таких подмножества <Vu У2> Уз>, что
{s, t} е Уз. Исходная позиция имеет вид <0, 0, У>, а все пози-
позиции вида <Vi, V2, {s, t}} заключительные. В позиции <Уь У2, V3>,
где Уз ^{s, ?}, если 11Л| + | У2| четно, то ходят БЕЛЫЕ, в про-
противном случае ходят ЧЕРНЫЕ. Ход БЕЛЫХ состоит в выборе
вершины и е У3\ {s, t) и замены текущей позиции на позицию
<ViU{w}, Vz, У3\{и}>. ЧЕРНЫЕ ходят аналогично, удаляя
вершину из У3 и добавляя ее к У2. В заключительной позиции
(V\, Vi, {s, t}} БЕЛЫЕ выигрывают тогда и только тогда, когда
индуцированный множеством ViU{s> 0 подграф графа G содер-
содержит путь из s в /.
Основная идея этой игры состоит в том, что БЕЛЫЕ и ЧЕР-
ЧЕРНЫЕ по очереди выбирают вершины из множества V\{s, t).
Цель БЕЛЫХ — построить путь из s в t, цель ЧЕРНЫХ —вос-
—воспрепятствовать этому. В дейетвительности игра ГЕКС имеег
гораздо более специальную форму, чем игра ОБОБЩЕННЫЙ
ГЕКС, и играется на графе регулярной структуры, похожей на
шахматную доску. Рассматриваемая задача лежит в классе
P-SPACE потому, что в ней возможно только полиномиальное
число шагов (если быть точным, то \V\ — 2). Доказательство
P-SPACE-полноты задачи получается с помощью сведения к
ней задачи 3-ВЫП С КВАНТОРАМИ.
Известна также P-SPACE-полнота некоторых других игр.
К их числу относятся: обобщение игры "география" — игра, в
которой игроки по очереди приводят название стран, причем
название новой страны начинается с той буквы, которой закан-
заканчивается название предыдущей [473], игра, получающаяся
обобщением головоломки Братьев Паркер "Instant Insanity"
[452], и обобщение игр в шахматы и Го на доски размера
«Хп (о двух последних играх, если не пользоваться специаль-
специальными правилами, обеспечивающими полиномиальность общего
числа ходов, установлена лишь P-SPACE-трудность) [127,345].
Другие примеры игр можно найти в списке приложения.
Кроме задач, связанных с играми, P-SPACE-полные задачи
возникают в теории языков и автоматов, в программировании;
при этом они часто оказываются ограниченными вариантами
7.4. Полнота й полиномиально ограниченной памятью 217
задач, труднорешаемость или даже неразрешимость которых
известна. Одна из таких задач указана в работах [384, 9].
В этой задаче речь идет о "регулярных выражениях". Она пред-
представляет интерес еще и потому, что в ней нет такой явной пере-
перемены кванторов, как в рассматривавшихся до сих пор задачах.
Определим вначале понятия "регулярное выражение" и "язык,
им представляемый". Пусть 2 — конечный алфавит. Регулярное
выражение над 2 и язык, представляемый им, определяются
индуктивно:
A) 0 есть регулярное выражение, представляющее пустое
множество слов;
B) е есть регулярное выражение, представляющее язык, со-
состоящий из пустого слова е;
C) для всех а е 2 а есть регулярное выражение, представ-
представляющее язык {а};
D) если а и р* —регулярные выражения, представляющие мно-
множества Л и В, то
(i) a + В есть регулярное выражение, представляющее язык
А[)В,
(ii) оф есть регулярное выражение, представляющее язык
АВ={ху:хеА, уе=В},
(Ш) а* есть регулярное выражение, представляющее язык
А'= О А1, где А° = {е) и АШ = А1А при />0.
2-0
P-SPACE-полная задача относительно регулярных выражений
формулируется следующим образом:
НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯРНОГО ВЫРАЖЕНИЯ
УСЛОВИЕ. Задано регулярное выражение а над конечным ал-
алфавитом 2.
ВОПРОС. Верно ли, что множество, представляемое регуляр-
регулярным выражением а, отлично от 2*?
Эта задача остается P-SPACE-полной даже в том случае,
если применять только фиксированный алфавит {0,1}. Однако
если расширить определение регулярного выражения, допуская
использование вместо а-а сокращения (аJ (и в частности,
вместо (((аJJJ сокращение (а)8), то возникающая в резуль-
результате задача превратится в труднорешаемую, и для ее решения,
как доказано в [384], требуется экспоненциальная память. До-
Доказательство P-SPACE-полноты этой задачи, приведенное в
книге [9], представляет интерес потому, что в нем построена
общая сводимость произвольного языка из класса P-SPACE, в
которой регулярные выражения используются для кодирования
218 7. За пределами класса NP-полных задач
отвергающих вычислений, а не принимающих. Таким обра-
образом, оно в некотором смысле двойственно к доказательству
P-SPACE-полноты задачи БФК, а именно если некоторое слово
не принадлежит множеству, представляемому построенным ре-
регулярным выражением, то это слово должно соответствовать
принимающему вычислению.
В заключение рассмотрим задачу, из P-SPACE-полноты ко-
которой следует интересное утверждение о самом классе P-SPACE.
Если задана ДМТ-программа, то ее можно стандартным обра-
образом модифицировать так, что ни одно вычисление на входе
длины п не потребует более п + 1 ячеек ленты, а все вычисле-
вычисления, уже обладавшие этим свойством, останутся неизменными.
Программа, возникающая в результате такой модификации, во-
вообще говоря, может и не распознавать прежний язык, но для
нее наверняка будет выполняться указанное ограничение по па-
памяти. Если же программа уже удовлетворяла этому ограниче-
ограничению по памяти, то она будет распознавать тот же язык, что
и раньше. Такие ДМТ-программы будут называться линейно
ограниченными. Используя хорошо известное рассуждение об
избыточном кодировании (см., например, [280]), можно дока-
доказать P-SPACE-полноту следующей задачи.
ПРИНЯТИЕ С ЛИНЕЙНОЙ ПАМЯТЬЮ
УСЛОВИЕ. Задана линейно ограниченная ДМТ-программа М
и конечное слово х во входном алфавите соответствующей ма-
машины.
ВОПРОС. Верно ли, что М принимает *?
На первый взгляд этот результат может показаться удиви-
удивительным. Он утверждает, что в некотором смысле задачи, раз-
разрешимые с полиномиальной памятью, не труднее задач, разре-
разрешимых с линейной памятью. Можно подумать, что он противоре-
противоречит существованию языков, распознаваемых с полиномиальной
памятью, но не распознаваемых никакой ДМТ-программой
с линейно ограниченной памятью (в существовании последних
мы убедимся в разд. 7.6). В действительности здесь нет про-
противоречия, ибо из P-SPACE-полноты задачи ПРИНЯТИЕ С
ЛИНЕЙНОЙ ПАМЯТЬЮ следует лишь, что линейная память
содержится в Р тогда и только тогда, когда P-SPACE g P, а не
то, что все задачи класса P-SPACE-разрешимы с линейной па-
памятью. На самом деле имеется более общий результат.
Теорема 7.11. Если для некоторого k ^ 1 класс языков, рас-
распознаваемых Д№7-программами, использующими память не бо-
более О(п"), содержится в Р (соответственно в NP), то Р =
= P-SPACE (соответственно NP).
7.4. Полнота с полиномиально ограниченной памятью 219
(Аналогичный результат можно получить для вычислений с
ограниченным временем: если для некоторого k'&s 1 класс язы-
языков, недетерминированно распознаваемых со временем О(пк),
содержится в Р, то Р = NP.)
Определив понятие P-SPACE-полноты, естественно пойти и
дальше, определив класс NP-SPACE, состоящий из языков,
распознаваемых программами для недетерминированных ма-
машин Тьюринга, с полиномиальной оценкой по памяти. Однако,
прежде чем мы сможем говорить об ограниченности недетер-
недетерминированного вычисления по памяти, необходимо уточнить
понятие памяти, требующейся для "угадывающего модуля
НДМТ». Для многих вычислений в действительности нет необ-
необходимости помнить все символы слова-догадки после того, как
они один раз уже просмотрены. В отличие от нашей модели
НДМТ, у которой в память, необходимую для вычисления,
включается память, необходимая для выписывания в начале
вычисления всего слова-догадки, стандартные модели НДМТ,
используемые для измерения памяти, обычно снабжаются до-
дополнительным устройством, вообще не требующим памяти, из
которого программа может в любой момент времени запраши-
запрашивать "следующий" символ слова-догадки. Программа записы-
записывает символ на ленте и тем самым расходует "память" для
этого символа только в том случае, если его нужно запомнить
для некоторой операции, выполняемой в будущем.
Нетрудно показать, что, хотя память, требуемая изменен-
измененной моделью НДМТ, измеряется иначе, эта измененная модель
эквивалентна относительно полиномиальной временной слож-
сложности НДМТ из гл. 2, и поэтому при ее использовании для
определения класса NP-SPACE сохранятся наши прежние ре-
результаты о недетерминированных вычислениях за полиномиаль-
полиномиальное время. Определив теперь класс NP-SPACE как класс язы-
языков, распознаваемых программами для этой модифицированной
модели НДМТ, требующими в своих принимающих вычисле-
вычислениях полиномиальной памяти, можно задаться вопросом о взаи-
взаимосвязи классов P-SPACE и NP-SPACE. Утверждение, что
P-SPACE = NP-SPACE, может показаться неожиданным. Оно
вытекает из следующего результата Сэвича [470].
Теорема, 7.12. Если язык L может быть распознан НДМТ-
программой с памятью Т(п), где T(n)^logn для всех п>1,
то L можно распознать также ЛМТ-программой с памятью
ТЦп).
Из теоремы 7.12 следует, что P-SPACE полнота —самый
сильный из известных в настоящее время результатов о полноте
и близок к результатам, из которых следует труднорешаемость.
Конечно, еще остается возможность доказывать, что задача
220 7. да пределами класса NP-полных задач
P-SPACE-трудна (т. е. доказывать, что некоторая P-SPACE-
полная задача сводима к ней по Тьюрингу, оставляя открытым
вопрос о принадлежности этой задачи классу P-SPACE), но
исключив эту возможность, мы попадаем в область трудноре-
шаемых задач, которые будут обсуждаться в разд. 7.6.
Настоящий раздел мы закончим упоминанием об одной от-
открытой проблеме, связанной с теоремой 7.12, которая до воз-
возникновения проблемы о взаимоотношении классов Р и NP была,
видимо, наиболее известной в теории сложности. Эта проблема
известна как "LBA-проблема". Назовем ДМТ-программу, кото-
которая требует памяти, не превосходящей величины п-\-\, детер-
детерминированным линейно ограниченным автоматом (DLB-автома-
том), а НДМТ-программу с тем же ограничением по памяти —
недетерминированным линейно ограниченным автоматом (NLB-
автоматом).
Множество языков, распознаваемых NLB-автоматами, совпа-
совпадает с множеством "контекстно-зависимых языков" (класс язы-
языков, имеющих специальное грамматическое определение,
см., например, [215]). По теореме 7.12 любой такой язык можно
распознать ДМТ-программой с оценкой по памяти (п-\-\)'2.
Вопрос заключается в следующем: "Можно ли все такие языки
распознать DLB-автоматами?" (Или еще более сильное утвер-
утверждение: "Можно ли в теореме 7.12 отбросить показатель 2?")
Этот вопрос относится к тому же предмету, что и вопрос о
взаимоотношении классов Р и NP, т. е. к соотношению между
детерминированностью и недетерминированностью, правда, в
более специальной форме. Он остается открытым и до настоя-
настоящего времени, хотя был поставлен в середине 60-х годов. Не-
Непосредственное обсуждение этого вопроса, следствий и некото-
некоторых связанных с ним предположений (включая аналог вопроса
о взаимоотношении классов NP и co-NP) можно найти в ра-
работе [202].
7.5. ЛОГАРИФМИЧЕСКАЯ ПАМЯТЬ
В предыдущем разделе были рассмотрены взаимоотношения
между классами временной сложности Р и NP, с одной сто-
стороны, и классом P-SPACE-функций, вычислимых с полино-
полиномиально ограниченной памятью, — с другой. В настоящем раз-
разделе будет продолжено обсуждение связей между сложностью
по времени и сложностью по памяти, но на этот раз мы обра-
обратимся к классу DLOG-SPACE, лежащему в Р и NP и состоя-
состоящему из языков, распознаваемых ДМТ-программами, которые
требуют памяти, ограниченной логарифмом от длины входа.
На первый взгляд понятие логарифмической памяти может
показаться бессмысленным, поскольку входное слово длины п
7.6. Логарифмическая память
221
само занимает я ячеек, так что любая ДМТ-программа, про-
просматривающая слово от начала до конца, должна потребовать,
самое меньшее, линейной памяти. Однако на практике часто
оказывается полезно проводить различие между памятью, за-
занимаемой входным словом, и дополнительной памятью, исполь-
используемой для выполнения вычисления. Например, если при слия-
слиянии двух отсортированных списков, записанных на магнитных
лентах, результат также пишется на магнитной ленте, то необ-
необходимая для слияния оперативная память в каждый момент
Читающая Входная
галоИка
Управляющее
устройство
...
0 12 3
—^ Пишущая Выходная
^\ гадобка лента
...
0 12 3
V Читающая/пишущая гамВка
...
•••
-3-2-10 1 2 3
Рис. 7.6. Схематическое изображение модели ДМТ, которая требует памяти
меньшей, чем линейная.
времени включает только две ячейки, в которых запоминается
по одному элементу из каждого списка. В действительности
здесь чрезвычайно важно то обстоятельство, что нет необходи-
необходимости в оперативной памяти, сравнимой по величине с длинами
входных слов.
Чтобы изучить вопрос о том, как можно уменьшить потреб-
потребность в памяти, так чтобы требовалась меньшая, чем линейная,
память, изменим нашу стандартную модель ДМТ, как показано
на рис. 7.6. Здесь добавлены входная лента с читающей го-
головкой, которая может передвигаться в двух направлениях, и
выходная лента с пишущей головкой. Входное слово, записан-
записанное на входной ленте, начинается в ячейке с номером 1, при-
причем ячейка с номером 0 пуста, что позволяет распознавать
левый конец слова. Само вычисление, как обычно, выполняется
на бесконечной в обе стороны рабочей ленте, с использованием
читающей/пишущей головки. Память, которая требуется при вы-
вычислении на этой модели, есть просто число ячеек, просмотренных
читающей/пишущей головкой. Следует отметить, что классы Р,
NP и P-SPACE при таком изменении модели вычислительного
222 7. За пределами класса NP-полных аадач
устройства не изменяются, зато появляется возможность затра-
затрачивать меньшее, чем линейное, количество памяти.
Исследования по использованию памяти, меньшей, чем ли-
линейная, сосредоточились на классе DLOG-SPACE языков, рас-
распознаваемых ДМТ-программами, требующими памяти не более
чем flog2(n+ 1I. где п — длина входного слова. С помощью
стандартной теоремы об "ускорении" (см., например, [215])
легко показать, что этот класс совпадает с классом языков, рас-
распознаваемых с памятью C[\ogi(n-\- 1) "J, для любой константы
С > О и не так уж беден, как может показаться на первый
взгляд. Более того, нетрудно видеть что DLOG-SPACE s P.
Первый возникающий вопрос, конечно, состоит в следующем:
"Верно ли, что DLOG-SPACE = Р?"
Хотя имеется много нетривиальных задач, которые могут
быть решены с логарифмической памятью (см., например, [355,
368]), по-видимому, DLOG-SPACE ф Р. Многие задачи из
класса Р, кажется, требуют для своего решения значительно
большей памяти, чем логарифмическая. Рассмотрим, например,
задачу РАЗБИЕНИЕ. В гл. 4 было показано, что эта задача
может быть решена за полиномиальное время, если размеры
всех предметов не превосходят, скажем, квадрата их количе-
количества. Однако в этом случае приведенный там алгоритм потре-
потребует памяти, пропорциональной кубу числа предметов, что пре-
превосходит квадрат длины входа, и не видно способа существенно
уменьшить количество необходимой памяти.
В работах [94, 95] приведены примеры задач класса Р, для
которых память, требуемая любым алгоритмом из весьма ши-
широкого класса, пропорциональна по меньшей мере п1/2 или л1/4.
Более того, известно, что не может быть одновременно Р =
= DLOG-SPACE и Р = P-SPACE (это следует из теоремы 7.15,
приведенной в следующем разделе). Таким образом, весьма ве-
вероятно, что некоторые задачи класса Р требуют памяти, боль-
большей, чем логарифмическая, и мы вновь воспользуемся резуль-
результатами о полноте, чтобы указать наиболее вероятных канди-
кандидатов.
Для нового понятия полноты нам нужен новый вид своди-
сводимости. Это объясняется тем, что полиномиальная сводимость
не может различать задачи класса Р. Пусть L\ и L2 — языки
в алфавитах Si и 2г соответственно. Будем говорить, что функ-
функция f: 2*->22 осуществляет log-space-сводимость языка Lx к
языку L2> если
(i) f может быть вычислена ДТМ-программой, использую-
использующей на входах длины п память, не превосходящую ве-
величины [ Iog2(tt + 1) 1. и
(и) xeLi тогда и только тогда, когда f(x)e Lj.
7.S. Логарифмическая пймяП 223
Если имеется log-space-сводимость языка Lx к языку L2, то
будем писать Z.iocLOgL2 и говорить, что при этом язык Ц log-
space сводится к языку L%. Отметим, что так как все функции,
вычислимые с логарифмически ограниченной памятью, вычис-
вычислимы также и за полиномиальное время, то сводимость L\ ос
ос log ^2 влечет сводимость Li ос L2. По аналогии со сводимостью
ос можно доказать следующие свойства сводимости ocLOg (до-
(доказательства, однако, не тривиальны, см. [503]).
Теорема 7.13. Предположим, что LiocLOGL2 и L2ocLOqL3.
Тогда
A) LocLOgL3;
B) L2 e= DLOG-SPACE =#> Ц е= DLOG-SPACE.
Будем говорить, что язык LeP log-space-полон в классе Р,
если Z/ocLogL для всех L'sP. Таким образом, мы имеем же-
желаемое свойство: если язык L log-space-полон в классе Р, то
L e DLOG-SPACE тогда и только тогда, когда DLOG-SPACE =
= Р. Более общий результат, доказанный в работе [270], со-
состоит в следующей теореме. (Здесь класс DLOG*-SPACE (k >
> 1) определяется аналогично классу DLOG-SPACE, с заме-
заменой границы riog2(n+l)l границей flog2(n+1)"| *.)
Теорема, 7.14. Если язык L log-space-полон в классе Р и
если L e DLOG-SPACE, то Р = DLOG*-SPACE.
Первая Iog-space-полная задача была явно сформулирована
Куком [94].
достижимость системой путей
УСЛОВИЕ. Заданы конечное множество "узлов" X, отношение
R^XX.Xy.X и два подмножества S, ГеХ, S — множество
"источников", Т — множество "конечных узлов".
ВОПРОС. Существует ли "достижимый" конечный узел? (Узел
хеХ называется достижимым, если j:eS или существуют до-
достижимые узлы у, г, такие, что <х, у, г> е R.)
Эта задача лежит в классе Р, поскольку множество всех
достижимых узлов тривиальным образом можно построить за
полиномиальное время. Доказательство log-space-полноты этой
задачи в классе Р состоит, как обычно, в общем сведении с ло-
логарифмической памятью произвольной задачи класса Р к рас-
рассматриваемой задаче. В работе [271] было указано аналогич-
аналогичное доказательство log-space-полноты в классе Р следующей
задачи.
ЕДИНИЧНАЯ РЕЗОЛЮЦИЯ
УСЛОВИЕ. Задано множество С дизъюнкций на множестве
переменных X={xi,X2, .... хп) (т. е. условие такое же, как
в задаче ВЫПОЛНИМОСТЬ).
224 ?. За пределами класса HP-полных Задач
ВОПРОС. Можно ли с помощью "единичной резолюции" вы-
вывести пустую дизъюнкцию (указывающую на противоречие) из
множества С? Иными словами, существует ли последователь-
последовательность дизъюнкций Сг, с2, .... ст, такая, что ст — пустая дизъ-
дизъюнкция, а с, — либо дизъюнкция из множества С, либо суще-
существуют ранее выведенные дизъюнкции с* и Ci (k,l<Zi), такие,
что с* = {*/}, ci = {?/} U ci (или ck = {х,}, ci = {xj} U а) для не-
некоторой переменной дс/ е X?
Другие log-space-полные задачи в классе Р можно найти
в работах [271, 313, 136, 527, 177, 300].
Использование сводимости с логарифмической памятью не
ограничивается доказательством результатов о полноте в клас-
классе Р. Например, задача ЛИНЕЙНОЕ ПРОГРАММИРОВА-
ПРОГРАММИРОВАНИЕ, как доказано в работе [103], является "log-space-труд-
ной для класса Р". Иными словами, хотя и не известно, что
наличие полиномиального алгоритма решения этой задачи при-
привело бы к равенству Р = NP, однако существование log-space-
алгоритма решения этой задачи привело бы к равенству DLOG-
SPACE =Р'). Более того, как было замечено в работах [269]
и [384], большинство (если не все) сводимостей, используемых
для доказательства результатов об NP-полноте, могут быть вы-
выполнены с логарифмической памятью (основная память, необ-
необходимая в таких сводимостях, затрачивается на вычисления
значения р(п) некоторого полинома р от длины записи п ис-
исходной информации, что может быть сделано с логарифмиче-
логарифмической памятью, если алфавит букв, которые пишутся на ленте,
имеет достаточное количество символов). Таким образом, класс
языков, "log-space-полных в классе NP", составляет по край-
крайней мере большой подкласс класса NP-полных задач, и если
хоть одна задача этого класса принадлежит классу DLOG--
DLOG-SPACE для некоторого k ^ 1, то все задачи класса NP принад-
принадлежат классу DLOG-SPACE.
Подобным же образом было замечено, что сводимости, ис-
используемые для доказательства результатов о P-SPACE-пол-
ноте, также являются log-space-сводимостями (в действитель-
действительности в некоторых работах P-SPACE-полнота определяется
непосредственно в терминах log-space-сводимости, а не в терми-
терминах полиномиальной сводимости). Однако это замечание для
класса P-SPACE не имеет таких следствий, как для класса NP,
ибо нам уже известно, что для всех k P-SPACE ф DLOG*-
SPACE, и даже более того, „
P-SPACE ф POLYLOG-SPACE = U DLOG-SPACE.
А-1
') Алгоритм Хачияна [33*] для решения задачи LP требует полиноми-
полиномиальной памяти, и, таким образом, вопрос о совпадении классов DLOG-SPACE
и Р остается открытым. — Прим. перев.
7.6. Доказательства труднорешаемости 225
Тем не менее, если язык L log-space-полон в классе P-SPACE,
то можно заключить, что существует константа г > 0, такая,
что для ДТМ-программы, распознающей L, необходима память,
пропорциональная пг для бесконечного числа входов (см., на-
например, [500]). Этот вывод сделать нельзя, если известна лишь
P-SPACE-полнота языка L в смысле определения из разд. 7.4.
Наконец, понятием сводимости с логарифмической памятью
можно воспользоваться для того, чтобы сформулировать еще
один вопрос о соотношении между детерминизмом и недетерми-
недетерминизмом, на этот раз уже на логарифмическом уровне. Пусть
NLOG-SPACE — это класс всех языков, распознаваемых неде-
недетерминированными машинами Тьюринга с памятью, ограни-
ограниченной flog2(n-f 1I (определенными таким образом, что
память, необходимая для записи входа и догадки, не учитывает-
учитывается). Вопрос состоит в следующем: "Верно ли, что DLOG-
SPACE = NLOG-SPACE?" Гипотеза заключается в том, что эти
классы не совпадают, а языки, log-space-полные в классе
NLOG-SPACE, можно считать кандидатами на языки класса
NLOG-SPACE, не принадлежащие классу DLOG-SPACE. При-
Примеры и другие детали можно найти в работах [471, 270, 507,
2731.
Мы закончим настоящий раздел кратким рассмотрением от-
отношений включения между обсуждавшимися выше классами
языков. Уже отмечалось, что DLOG-SPACE s P. Менее оче-
очевидный результат [92] состоит в том, что NLOG-SPACE s Р.
Однако совсем не ясно, верно ли включение POLYLOG-
SPACEsP или даже включение. DLOG2-SPACE = NP. Хотя
пока не доказано, что эти включения не имеют места, в работе
[48] показано, что Р ф POLYLOG-SPACE и NP Ф POLYLOG-
SPACE. Результаты, полученные в этой работе, особенно инте-
ресны потому, что из них не следует, что один класс содержится
в другом или что два класса несравнимы относительно вклю-
включения, хотя в них утверждается, что классы не могут совпа-
совпадать. Другие результаты относительно взаимосвязей между раз-
различными классами сложности по времени и памяти обсуждают-
обсуждаются в работах [46, 47, 384].
7.6 ДОКАЗАТЕЛЬСТВА ТРУДНОРЕШАЕМОСТИ
И ВЗАИМООТНОШЕНИЯ МЕЖДУ Р И NP
В качестве подтверждения гипотезы Р ф NP мы упоминали
тот факт, что было бесплодно потрачено много усилий на оты-
отыскание полиномиальных по времени алгоритмов решения NP-
полных задач. Видимо, точнее было бы сказать, что это яв-
является аргументом в пользу трудности доказательства того, что
Р = NP. В настоящем разделе будут приведены аргументы в
226 7. За пределами класса NP-полных задач
пользу того, что доказательство различия классов Р и NP так-
также не просто.
Начнем с рассмотрения некоторых частичных, но доказан-
доказанных результатов. Вместо того чтобы браться за решение во-
вопроса в полной общности, доказывая, что все алгоритмы реше-
решения некоторой NP-полной задачи работают в течение экспонен-
экспоненциального времени, некоторые исследователи с целью доказать
отсутствие полиномиальных алгоритмов решения этой задачи
ограничились рассмотрением определенных ограниченных клас-
классов алгоритмов. Например, Галил [137] (продолжая работу
Цейтина [515]) показал, что алгоритмы решения задачи ВЫ-
ВЫПОЛНИМОСТЬ, основанные на технике резолюций, должны
иметь экспоненциальную временную сложность. Для задачи
НЕЗАВИСИМОЕ МНОЖЕСТВО Хватал [76] рассмотрел весь-
весьма широкий класс алгоритмов, включающий алгоритм Тарьяна
и Трояновского [513], упомянутый в гл. 6, и доказал, что лю-
любой такой алгоритм работает экспоненциальное время (точнее,
для каждого такого алгоритма существует константа с> 1, та-
такая, что для "почти всех" графов на п вершинах время работы
алгоритма больше с"). Мак-Диармид [378] получил аналогич-
аналогичные результаты об алгоритмах для задачи РАСКРАШИВАЕ-
МОСТЬ ГРАФА В К ЦВЕТОВ.
Результаты этого типа имеют практическое значение по-
потому, что они позволяют исключить некоторые соблазнитель-
соблазнительные на первый взгляд подходы к построению 'Полиномиальных
алгоритмов. Однако, если даже дальнейшие исследования по-
позволят расширить класс непригодных подходов, кажется мало-
маловероятным, что, действуя таким "кусочным" методом, удастся
исключить все возможные подходы к построению алгоритмов.
Если мы хотим доказать, что Р ф NP, то нам необходимо полу-
получить нижнюю оценку временной сложности, которая выполня-
выполнялась бы для всех алгоритмов решения задачи. К сожалению,
даже самые сильные нижние оценки такого типа, доказанные
к настоящему времени, оставляют желать много лучшего.
Один из опробованных подходов к получению нижних оце-
оценок заключается в том, чтобы оценить число элементов в логи-
логических схемах, вычисляющих конечные функции. Такая функ-
функция получается, если ограничиться индивидуальными задачами
некоторой NP-полной задачи, имеющими фиксированный раз-
размер п. Если удастся показать, что число необходимых элемен-
элементов зависит от п экспоненциально, то отсюда будет следовать
труднорешаемость задачи. Самая сильная нижняя оценка, по-
полученная в рамках этой модели, потребовавшая большой изо-
изобретательности и находчивости, составляет всего лишь 2,5//.
(см. [422]). В действительности доказательство нижних оценок
для общей модели процесса вычислений, даже чуть-чуть более
7.6. Доказательства труОнорешаемости 227
сильных, чем линейные (таких, например, как в работе [428]),
в настоящее время оказывается очень трудным. Доказатель-
Доказательство такими методами экспоненциальных нижних оценок пред-
представляется делом далекого будущего.
Тем не менее, как упомянуто в гл. 1, труднорешаемость не-
некоторых задач, хотя и не принадлежащих «лассу NP, доказана.
Можно ли применить эти методы для доказательства того, что
Р ф NP? После того как мы ознакомимся с этими методами,
будет видно, что это также представляется маловероятным.
Все доказательства труднорешаемости, полученные до на-
настоящего времени, базируются, по существу, на двух основных
результатах теории сложности. Будем называть функцию F(n)
конструируемой по памяти, если существует ДМТ-программа,
которая, начав работать на слове, состоящем из п единиц, ос-
останавливается после того, как читающая/пишущая головка
просмотрит ровно F(n) ячеек ленты (предполагается, что у ДМТ
есть отдельная входная лента). Функция F(n) называется кон-
конструируемой по времени, если существует ДТМ-программа, ко-
которая, начав работать на слове, состоящем из п единиц, оста-
останавливается, выполнив ровно F(n) шагов1). Наиболее часто
встречающиеся функции, такие, как nk, 2cn, kcn, n\ и т. д., при
фиксированных целых положительных константах с и k кон-
конструируемы как по памяти, так и по времени. Функции
f]og2«l* при всех положительных целых k конструируемы по
памяти, но по очевидным причинам неконструируемы по вре*
мени. Два важных результата формулируются следующим об-
образом:
Теорема 7.15. Пусть F\(n) и F2(n) —функции, конструируе-
конструируемые по памяти, F^n)^ Iog2(n) для всех п^\. Если
= 0,
то существует язык L, распознаваемый некоторой ДМТ-про-
граммой со сложностью по памяти, ограниченной /^(л), но не
распознаваемый никакой ДМТ-программой, имеющей слож-
сложность по памяти, ограниченную F\ (л).
Теорема 7.16. Если Fi(n) и Р%(п)—функции, конструируе-
мые по времени, и
= 0,
то существует язык L, распознаваемый ЩАТ-программой, вре-
временная сложность которой ограничена функцией /72(n)-logr2
') В машине Тьюринга с несколькими головками на каждом шаге работы
обычно допускается одновременный сдвиг всех головок, — Прим, перев.
228 7. За пределами класса NP-полных задач
Ft(n), но не распознаваемый никакой JXMT-программой с ере-
меннбй сложностью, ограниченной функцией F\ (и).
Эти результаты были впервые получены в работах [203] и
[204] (см. также работу [215]). Основные выводы, которые
можно сделать на основе этих результатов, состоят в том, что
некоторые классы языков должны содержать языки, распозна-
распознавание которых —труднорешаем ая задача. Например, класс
EXP-TIME (состоящий из всех языков, распознаваемых с вре-
меннбй сложностью, ограниченной 2pW, где р — полином, п —
длина записи входа) для всех k ^ 1 должен содержать языки,
сложность которых по крайней мере 2"* Следует, однако, под-
подчеркнуть, что такие языки строятся с помощью "диагонального"
метода. Поэтому нельзя считать, что они соответствуют "есте-
"естественным" задачам, и с ними нельзя работать непосредственно.
По этой причине такие языки используются для доказательства
труднорешаемости естественных задач косвенным путем на ос-
основе понятий "полноты" и "трудности" в классе задач. Напом-
Напомним, что язык L называется полным в классе языков С (отно-
(относительно полиномиальной сводимости), если LeC и U <x L
для всех U е С (L называется С-трудным, если выполняется
второе свойство, но L не обязательно лежит в С). Теперь можно
сформулировать общий аналог леммы 2.1.
Лемма 7.1. Если язык L полон в классе С {или С-труден)
и С содержит труднорешаемую задачу, то L соответствует труд-
норешаемой задаче.
Доказательства труднорешаемости естественных задач бази-
базируются на этой лемме при выборе в качестве С различных кон-
конкретных классов языков. В работе [384] доказано, что задача
неэквивалентности регулярных выражений с операцией "возве-
"возведения в квадрат" полна в классе EXP-SPACE, в котором со-
содержится класс EXP-TIME и, следовательно, содержатся труд-
норешаемые задачи. В работе [122] доказано, что задача рас-
распознавания истинных утверждений в арифметике Прессбургера
С-трудна, где С = NEXP-TIME (недетерминированный аналог
класса EXP-TIME). В работах [68, 502] доказана полнота в
классе ЕХР-ТШЕ различных комбинаторных игр. В работе
[257] также доказана полнота в классе EXP-TIME "задачи
циркулярности в атрибутивных грамматиках".
В действительности многие из этих доказательств дают бо-
более сильные нижние границы сложности, чем "простая" труд-
норешаемость, а в некоторых доказательствах получены ниж-
нижние оценки сложности по памяти. Более того, если класс С
содержит достаточно сложные задачи, можно доказать астроно-
астрономические нижние оценки. Такие оценки получены в работе
7.6. Доказательства труднорешаемости 229
[381] для "слабой монадной теории следования второго по-
порядка", а именно здесь доказано, что любая ДМТ-программа,
распознающая истинные утверждения этой теории, должна
иметь временную сложность, большую, чем
.а»
22*'
дт! любого числа "этажей" в формуле. Мы не будем вдаваться
в детали методов доказательства, так как будет видно, что
этим подходом, по-видимому, нельзя воспользоваться для до-
доказательства того, что класс NP содержит труднорешаемые за»
д.-.чи.
Для того чтобы с помощью леммы 7.1 доказать утвержде-
утверждение Р Ф NP, необходимо уметь доказывать, что некоторый язык
L e NP полон в некотором классе С, содержащем трудноре-
труднорешаемые задачи. Однако легко понять, что подобный результат
имел бы и другие, кроме доказательства того, что Р Ф NP,
следствия, которые можно получить на основе следующей про-
простой леммы.
Лемма 7.2. Если язык L принадлежит классу NP и L полон
(относительно полиномиальной сводимости) в классе С, то С
содержится в NP.
Поэтому, если L e NP, то не представляется возможным
доказать, что L полон в классах EXP-SPACE или NEXP-SPACE.
В самом деле, по теореме 7.15 невозможно включение EXP-
SPACE = NP, ибо класс EXP-SPACE строго содержит класс
P-SPACE, который в свою очередь включает класс NP. Из не-
недетерминированного варианта теоремы 7.16, вытекающего из
результатов Кука [93] (см. также [475]), следует, что невоз-
невозможно включение NEXP-TIME = NP. Не следует также на-
надеяться, что удастся доказать неравенство Р Ф NP с исполь-
использованием понятия полноты в классе EXP-TIME, потому что
если бы некоторая задача класса NP была бы полна в классе
EXP-TIME, то имело бы место маловероятное (хотя пока и не
опровергнутое) включение EXP-TIME sNP. Отметим также,
что лемма 7.2 остается верной и в случае, если в ее условии
заменить класс NP классом P-SPACE, и аналогичные замеча-
замечания можно сделать относительно попыток доказательства этим
методом неравенства Р ф P-SPACE.
Таким образом, лемма 7.1 оказывается слишком неконкрет-
неконкретной, чтобы ее можно было использовать для доказательства
труднорешаемости на "нижнем" уровне иерархии, соответ-
соответствующем классу NP. Следовательно, вместо того чтобы пы-
пытаться доказать неравенство Р Ф^ NP посредством (хотя бы
230 7. За пределами класса ЫУ-полных задач
даже косвенного) сведения труднорешаемой задачи к задаче
класса NP, можно было бы с помощью метода диагонализа-
ции, используемого в доказательствах теорем 7.15 и 7.16, по-
попытаться построить труднорешаемую задачу в классе NP непо-
непосредственно. К сожалению, такого построения не известно, и
стандартные методы построения подобных задач, видимо, не-
неприменимы к доказательству утверждения Р Ф NP. Причины
этого можно пояснить с помощью понятия "релятивизация".
В работе [25] замечено, что обычные методы диагонализа-
ции (а также метод "моделирования", подобный методу дока-
зательства теоремы 2.1) применимы и в случае "релятивиза-
"релятивизации" относительно любого языка Lo, т. е. и в том случае, если
все программы для машин Тьюринга превращаются в програм-
программы для машин с оракулом Lo. Например, релятивизованная
версия теоремы 7.16 формулируется так:
Теорема, 7.16. (релятивизованная). Если функции Fi(n) и
F2(n) конструируемы по времени и
Iim inf 4ЧЙ-= °-
n->oo Fа (я)
то существует язык L, распознаваемый некоторой ОМЛ-про-
граммой с оракулом LQ и временной сложностью, ограниченной
Fi(n) *log2 Ft(ri), но не распознаваемый никакой ОМТ-програм-
ОМТ-программой с оракулом Lo и временной сложностью, ограниченной
Эта релятивизованная теорема верна для любого языка Lo.
То же самое верно и для релятивизованной версии теоремы 7.15.
Таким образом, если мы умеем доказывать, что Р Ф NP с по-
помощью метода диагонализации, то следует ожидать, что то же
самое доказательство верно и для утверждения PL ф NPL (где
pi и Npt — варианты классов Р и NP, определяемые с по-
помощью оракульных машин Тьюринга с оракулом L). С другой
стороны, если бы методами моделирования удалось доказать,
что Р = NP, то из этого следовало бы, что для любого языка
L верно утверждение PL = NPL, ибо методы моделирования
легко релятивизовать. Поскольку все основные методы доказа-
доказательства результатов подобного сорта относятся к двум упомя-
упомянутым выше типам, то следующие теоремы [25] выглядят не-
несколько обескураживающими.
что
Теорема, 7.18. Существуют рекурсивные языки А и В, такие,
i
A) рл =
B) Pfi^=
6. Доказательства труднорешаемости 231
Эта теорема дает яркое подтверждение тому, что современ-
современные методы доказательства не достаточны ни для доказатель-
доказательства того, что Р Ф NP, ни того, что Р = NP. Результаты, взя-
взятые из той же работы, приводимые ниже, указывают также на
то, что эти методы бесполезны и для решения других открытых
вопросов.
Теорема, 7.19. Существуют рекурсивные языки D, E, F и G,
такие, что:
A) NP°^co-NPD,
B) NP? = co-NP?, но РЕ Ф NP?,
C) Pf^=NPf, но Pf=NPf(lco-NPf,
D) Р° Ф NP0 П co-NP0, но NP0 ф co-NP°.
Более того, пользуясь этими результатами (а также резуль-
результатами работы [26]), можно сформулировать аналогичные ут-
утверждения относительно возможности доказательства современ-
современными средствами родственных утверждений, касающихся поли-
полиномиальной иерархии и вопроса о взаимоотношении классов Р
и P-SPACE. (В вопросе о памяти имеется, однако, неясность,
связанная с выбором соответствующей модели для получения
результатов о релятивизации, см. [315] и [369].)
Для решения вопросов о взаимоотношениях между классами
Р и NP, а также других, упомянутых выше классов языков,
вероятно, требуются совершенно иные методы доказательства.
В том случае, конечно, если вообще подобные вопросы можно
решить. Хартманис и Хопкрофт [201] применили методы реля-
релятивизации, близкие к рассмотренным выше, чтобы пояснить
возможность того, что, по крайней мере в принципе, вопросы
такого типа могут быть независимыми от теории множеств и,
следовательно, неразрешимыми при использовании стандартных
логических средств. Хотя авторы этой книги, как и многие дру-
другие специалисты в данной области, не так пессимистически
смотрят на разрешимость вопроса о взаимоотношении классов
Р и NP, никто не надеется, что этот вопрос будет решен в ско-
скором времени.
А. Приложение
Список NP-полных задач
В настоящее время при изучении задачи с вычислительной
точки зрения стало более или менее общепринятым формулиро-
формулировать вопрос об ее NP-полноте (или NP-трудности). Вследствие
этого в научной литературе появилось много результатов об
NP-полноте, а еще большее число полученных результатов не
опубликовано. В настоящем приложении собрано много подоб-
подобных результатов. Они представлены в виде списка задач, NP-
полнота или NP-трудность которых установлена.
В списке содержится более 300 основных элементов, а ком-
комментарии к ним в несколько раз увеличивают общее число фор-
формулируемых результатов. Каждый элемент списка состоит из
четырех частей: A) названия задачи, B) ее описания, C) ука-
указания источника, из которого взят соответствующий результат,
4) дополнительных комментариев.
Название задачи служит удобным сокращением, которое ис-
используется для ссылок в тексте книги. Из соображений согла-
согласованности сокращений в некоторых случаях названия задач
несколько отличаются от традиционных. Звездочка в скобках
(»), которая следует за названием некоторых задач, указывает
на тот факт, что принадлежность задачи классу NP не уста-
установлена, поэтому формулируемый результат следует понимать
как NP-трудность задачи, а не как ее NP-полноту.
Описание задач дано в стандартной форме, которой мы при-
придерживались на протяжении всей книги, при этом формули-
формулируются условие и вопрос задачи. (В качестве основных элемен-
элементов списка мы взяли лишь задачи распознавания свойств, хотя
в комментариях иногда упоминаются и другие типы задач.)
В большинстве случаев нам удалось сформулировать задачу на
языке теории множеств и тем самым дать полное ее описание.
Однако стремление сделать описание сжатым часто приводит
к тому, что задачи становятся интуитивно менее ясными, и п
этих случаях читатель может обратиться к литературным ис-
источникам. Некоторые общеизвестные термины не определяются,
а громоздкие определения, общие для целой группы задач, при-
приводятся только один раз, в первой задаче, для формулировки
которой они потребовались. Иногда полная формулировка за-
задачи весьма сложна или требует обширного подготовительного
материала. Поэтому мы даем только набросок формулировки,
пользуясь отдельными "ключевыми" словами. При этом явно
А. Приложение. Список ЫР-полных задач 233
указаны литературные источники, в которых можно найти бо-
более точную формулировку.
В части, относящейся к источнику задачи, указывается как
библиографический источник, откуда взят основной результат,
так и соответствующая "известная NP-полная (или NP-труд-
ная) задача", которой можно воспользоваться для доказатель-
доказательства результата. При этом мы выбирали задачи так, чтобы
доказательство сводимости было, с нашей точки зрения, наибо-
наиболее естественным, и часто исходили не из доказательства, при-
приводимого в литературном источнике, а из доказательств, упо-
упомянутых в комментариях, или из наших собственных, неопубли-
неопубликованных доказательств. Некоторые результаты представляются
настолько простыми, что некому за них воздать почести и не-
некого упрекнуть.
В разделе комментарий приводятся различные варианты ос-
основного результата. В комментариях обычно цитируются различ-
различные результаты, касающиеся разрешимости за полиномиальное
время и NP-трудности некоторых частных случаев и вариантов
основной задачи. Таким образом, список может служить полез-
полезным источником информации о том, какие задачи можно, а ка-
какие нельзя (при условии Р ф NP) решить за полиномиальное
время. Однако мы не пытались цитировать "наилучший" из из-
известных полиномиальных алгоритмов решения задачи, а лишь
принципиально обосновывали утверждение о разрешимости за-
задачи за полиномиальное время. В тех случаях когда это необ-
необходимо, упоминаются также результаты о труднорешаемости
и неразрешимости различных обобщений и вариантов основной
задачи. Для задач, принадлежность которых классу NP не из-
известна, приводится дополнительная информация о сложности
задачи, в частности сведения о P-SPACE-полноте задачи или
КР-полноте соответствующей задачи перечисления.
Задачи в списке разбиты на тематические группы. Они под-
подразделяются на двенадцать категорий:
А1 Теория графов
А2 Построение сетей
A3 Множества и разбиения
А4 Хранение и поиск данных
А5 Теория расписаний
А6 Математическое программирование
А7 Алгебра и теория чисел
А8 Игры и головоломки
А9 Логика
А10 Автоматы и языки
АН Оптимизация программ
А12 Разное
234 А. Приложение. Список NP-полных задач
Задачи каждой категории нумеруются индивидуально, при-
причем перед номером задачи пишутся первые буквы из названия
соответствующего раздела (например, ТГ 7 соответствует седь-
седьмой задаче из раздела теории графов). В тринадцатой "катего-
"категории" перечислено небольшое число открытых задач, выбранных
на основе нашего представления об их важности и сложности.
Другие открытые задачи рассеяны в комментариях к задачам
основного списка, а очевидные пробелы в списке могут подска-
подсказать еще большее число таких задач.
Многие задачи из списка вполне можно было бы отнести
к нескольким различным категориям, так что мы советуем чи-
читателю внимательно просмотреть список, чтобы получить луч-
лучшее представление о том, в каком разделе следует искать ту
или иную задачу. Следует также помнить, что комментарии
к задачам следует просматривать особенно тщательно, потому
что многие результаты упоминаются только в них. В указателе
мы попытались привести полезную "навигационную" инфор-
информацию.
Наконец, несколько слов о стандартах и методике, которой
мы придерживались при составлении списка. Как и все списки
подобного рода, список, приводимый ниже, в какой-то степени
отражает вкусы авторов, но мы пытались в разумных пределах
сделать его полным. При составлении списка мы не ограничи-
ограничились изучением публикаций, а пытались расширить нашу кол-
коллекцию сведений об NP-полноте из личных бесед, давали объ-
объявления в соответствующей периодике и на тематических кон-
конференциях с просьбой присылать нам неопубликованные ре-
результаты. При этом, однако, в список не вошел ни один резуль-
результат, для которого не было бы приведено соответствующего
подтверждения. Неопубликованные результаты включены в
список или на основе рукописных заметок автора, или на ос-
основе наброска доказательства, который проверили либо мы
сами, либо наши "доверенные эксперты". В отдельных случаях
мы проверяли результат, пытаясь получить для него новое, соб-
собственное доказательство (зачастую это оказывается проще, чем
проверять чужое доказательство).
Некоторые результаты мы не включили в список (хотя нас
все-таки можно упрекнуть в том, что мы включили в список не-
некоторые весьма специфические задачи). В большинстве случаев
мы избегали задач со слишком сложной формулировкой, огра-
ограничиваясь в таких случаях лишь ссылкой на литературу, это
не относится, однако, к задачам, которые, как нам казалось,
окажутся интересными для специалистов. Мы также не вклю-
включали в список задачи, NP-полнота которых непосредственно
вытекает из NP-полноты других задач списка, опять-таки делая
исключения для задач, представляющих значительный незави-
At. Теория графов 235
симый интерес, и для задач, подзадачи которых нам хотелось
бы прокомментировать. Таким образом, список не следует счи-
считать энциклопедически полным, содержащим все известные ре-
результаты об NP-полноте. Правильнее его считать, с одной сто-
стороны, аннотированной библиографией, служащей отправной
точкой для изучения литературы по теории NP-полноты, а с
другой стороны, базой данных, включающей обширный набор
NP-полных задач, которыми можно воспользоваться для дока-
доказательства NP-полноты других задач.
А1. ТЕОРИЯ ГРАФОВ
А1.1. Покрытие и разбиение
[ТГ 11 ВЕРШИННОЕ ПОКРЫТИЕ
УСЛОВИЕ. Заданы граф G(V,E) и положительное целое число
K<\V\.
ВОПРОС. Существует ли в графе G вершинное покрытие мощ-
мощности, не превосходящей К, т. е. существует ли подмножество
VsV, такое что |У'|^К и для любого ребра {и, и}е? по
крайней мере одна из вершин и или v принадлежит V"?
Источник [280]. К рассматриваемой задаче сводится задача
3-ВЫП (см. гл. 3).
Комментарий. При некоторых ограничениях на граф G эта за-
задача эквивалентна по сложности задаче НЕЗАВИСИМОЕ
МНОЖЕСТВО. Если потребовать, чтобы подграф, индуциро-
индуцированный множеством вершин V, был связен, то задача остается
NP-полной даже для планарных графов, у которых степени
всех вершин не превосходят 4, см. [149]. Задача легко решает-
решается за полиномиальное время, если потребовать, чтобы множе-
множество V было одновременно и вершинным покрытием и незави-
независимым множеством в графе G. Близкая по постановке задача
РЕБЕРНОЕ ПОКРЫТИЕ, в которой ищется наименьшее под-
подмножество ?' = ?, такое, что каждая вершина v e V принадле-
принадлежит по крайней мере одному ребру ее?', может быть решена
за полиномиальное время, если искать паросочетания в графе
(см., например, [324]).
[ТГ 2] ДОМИНИРУЮЩЕЕ МНОЖЕСТВО
УСЛОВИЕ. Заданы граф G=(V, ?) и положительное целое
число K^\V\.
ВОПРОС. Существует ли в графе G доминирующее множество,
состоящее не более чем из К элементов, т. е. подмножество
V's V, такое, что |V'|^ К и для всех вершин hug V\V су-
существует такая вершина и е V, что {и, у}е ??
236 А. Приложение. Список NP-полных задач
Источник. К этой задаче сводится задача ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной, если ограничиться
графами со степенью вершин не более 3 или планарными регу-
регулярными графами степени 4 [152]. Модификация этой задачи,
в которой требуется, чтобы индуцированный на множестве V
граф был связен, также является NP-полной, если ограничиться
планарными регулярными графами степени 4 [152]. Эта задача
будет NP-полной и в том случае, если потребовать, чтобы мно-
множество V" было одновременно доминирующим и независимым.
На деревьях задача разрешима за полиномиальное время [81].
Близкая задача ДОМИНИРУЮЩЕЕ МНОЖЕСТВО РЕБЕР,
в которой ищется подмножество Е' Е Е, состоящее не более чем
из К ребер, таких, что любое ребро из Е имеет общую вершину
по крайней мере с одним ребром из множества Е', является
NP-полной даже для пленарных и двудольных графов с макси-
максимальной степенью вершин, равной 3, однако на деревьях мо-
может быть решена за полиномиальное время [540], [390].
[ТГ 3] ЧИСЛО ДОМИНИРУЮЩИХ ПОДМНОЖЕСТВ
УСЛОВИЕ. Заданы граф G =(V,E) и положительное целое
число /С<|К|.
ВОПРОС. Верно ли, что в графе G имеется не менее К раз-
различных доминирующих множеств, т. е. можно ли V разбить на
k ^ К непересекающихся подмножеств V\, V% ..., Vk, таких,
что Vi есть доминирующее множество в графе G?
Источник [159]. К этой задаче сводится задача 3-ВЫП. Рас-
Рассматриваемая задача обсуждается в работе [82].
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного К ^ 3. (Если граф G не содержит изолированной
вершины, то число доминирующих подмножеств равно по край-
крайней мере 2).
[ТГ 4] РАСКРАШИВАЕМОСТЬ ГРАФА (ХРОМАТИЧЕСКОЕ
ЧИСЛО)
УСЛОВИЕ. Заданы граф G =(V, E) и положительное целое
число /(<|V|.
ВОПРОС. Верно ли, что граф G /(-раскрашиваем? (Граф на-
называется /(-раскрашиваемым, если существует такая функция
f: V-41,2, .-¦, К}, что если {u,v}<=E, то f(u)?=f(v).)
Источник [280]. К этой задаче сводится задача 3-ВЫП.
Комментарий. При К = 2 задача разрешима за полиномиаль-
полиномиальное время, но при всех фиксированных К ^ 3, а также для
A1. Теория графов 237
К = 3 и плоских графов, степени всех вершин которых не пре-
превосходят 4, задача NP-полна. Она остается также NP-полной
при К = Ъ, когда G— это граф пересечений отрезков прямых
линий на плоскости [112]. Задача NP-полна также для произ-
произвольного К и графов пересечения окружностей и дуг окруж-
окружностей (даже если графы представлены в виде семейства дуг).
Для графов пересечения дуг окружностей, представленных в
виде семейства дуг, при любом фиксированном К задача разре-
разрешима за полиномиальное время [153]. В общем случае задача
может быть решена за полиномиальное время для графов срав-
сравнимости [117], для триангулированных графов [163], для C,1)-
графов [532], а также для графов, не имеющих вершин степени
выше 3 [56].
[ТГ 5] АХРОМАТИЧЕСКОЕ ЧИСЛО
УСЛОВИЕ. Заданы граф G = (V,E) и положительное целое
число Яз?|К|.
ВОПРОС. Верно ли, что ахроматическое число графа б больше
/С? Иными словами, существует ли разбиение множества V на
непересекающиеся подмножества V\, Vj, ..., Vk, k~^ К, такие,
что все Vi являются независимыми множествами графа G (т.е.
никакие две вершины из Vi не соединены ребром из Е) и для
любой пары (Vi, Vj) различных подмножеств множество Vi U V]
не есть независимое подмножество в G?
Источник [540]. К этой задаче сводится задача МИНИМАЛЬ-
МИНИМАЛЬНОЕ ПО МОЩНОСТИ МАКСИМАЛЬНОЕ ПАРОСОЧЕТА-
НИЕ.
Комментарий. Задача остается NP-полной и в том случае, если
О есть дополнение к двудольному графу, и, следовательно, лю-
любое независимое подмножество содержит не более двух вершин.
[ТГ 6] МОНОХРОМАТИЧЕСКИЙ ТРЕУГОЛЬНИК
УСЛОВИЕ. Задан граф G = (V, Е).
ВОПРОС. Существует ли разбиение множества Е на два не-
непересекающихся подмножества Е\ и ?2, такие, что ни один из
графов Gi=(V,Ei) или 62= (V,E2) не содержит треуголь-
треугольника?
Источник [63]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Варианты этой задачи, в которых "треугольник"
заменяется любым фиксированным полным графом с большим
числом вершин, также NP-полны [63]. Варианты задачи, в ко-
которых "треугольник" заменяется на "Дг-звезду" (т. е. на граф,
у которого центральная вершина степени k соединена с k
238 А. Приложение. Список NP-полных задач
другими вершинами степени 1), разрешимы за полиномиальное
время [64].
{ТГ 7] МНОЖЕСТВО ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ
УСЛОВИЕ. Заданы ориентированный граф G=(V,A) и поло-
положительное целое число К =С | V\.
ВОПРОС. Существует ли подмножество V s V, такое, что
| V | ^ К и V содержит по крайней мере одну вершину любого
ориентированного цикла в G?
Источник [280]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной, если ограничиться
графами, у которых все вершины имеют степень захода (или
выхода) не больше 2, или плоскими графами со степенью за-
захода (или выхода) не более 3 [152], а также если ограничиться
реберными ориентированными графами [168]. Для редуцируе-
редуцируемых графов задача может быть решена за полиномиальное вре-
время [481]. Соответствующая задача для неориентированных гра-
графов также NP-полна.
[ТГ 8] МНОЖЕСТВО ДУГ, РАЗРЕЗАЮЩИХ КОНТУРЫ
УСЛОВИЕ. Заданы ориентированный граф G[V,A) и положи-
положительное целое число К ^ | А |.
ВОПРОС. Существует ли подмножество А'^А, такое, что
]Л'|^/С и А' содержит по крайней мере одну дугу из каждого
ориентированного цикла в G?
Источник [280]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной, если ограничиться
ориентированными графами, у которых все вершины имеют сте-
степень захода и выхода не более 3, или реберными ориентиро-
ориентированными графами [168]. Для пленарных ориентированных
графов задача разрешима за полиномиальное время [361]. Соот-
Соответствующая задача для неориентированных графов тривиаль-
тривиальным образом решается за полиномиальное время.
[ТГ 9] МНОЖЕСТВО ДУГ, ЧАСТИЧНО
РАЗРЕЗАЮЩИХ ЦИКЛЫ
УСЛОВИЯ. Заданы граф G = (V,?) и положительные целые
числа /ChL,*<|?|,L<|V|.
ВОПРОС. Существует ли подмножество Е' s Е, такое, что
|?'|^/С и Е' содержит по крайней мере одну дугу из каждого
ориентированного цикла в G, имеющего длину не более L?
A1. Теория графов 239
Источник [538]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного L ^s 3, а также для двудольных графов (с фиксиро-
фиксированным L^4). Однако если L=|V|, т. е. если отыскивается
множество ?', содержащее ребро из каждого цикла в G, то за-
задача легко решается за полиномиальное время.
[ТГ 10] МИНИМАЛЬНОЕ ПО МОЩНОСТИ
МАКСИМАЛЬНОЕ ПАРОСОЧЕТАНИЕ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число Ж|?|.
ВОПРОС. Существует ли подмножество Е' ? Е, такое, что
|?'|^/С и Е' — максимальное паросочетание, т. е. никакие
два ребра из ?' не имеют общего конца, а любое ребро из мно-
множества Е\Е' имеет общий конец с одним из ребер множе-
множества ?'?
Источник [540]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ для кубических графов.
Комментарий. Задача остается NP-полной, если ограничиться
планарными графами или двудольными графами, не имеющими
вершин, степени выше 3. Задача отыскания максимального из
"максимальных паросочетаний" аналогична обычной задаче о
паросочетании и разрешима за полиномиальное время (см., на-
например, [324]).
[ТГ 11] РАЗБИЕНИЕ НА ТРЕУГОЛЬНИКИ
УСЛОВИЕ. Задан граф G=(V,E), такой, что для некоторого
целого числа q: \ V\ = Zq.
ВОПРОС. Можно ли разбить вершины графа G на q непересе-
непересекающихся множеств V\, V2, ¦ ¦¦, Vq, таких, что каждое из них
содержит ровно 3 вершины и для всех Vi — {м<, я<, tw,}, 1 ^ i ^
^ q, ребра {ui,vi),{ui,Wi} и {у,, до,-} принадлежат множеству ??
Источник [472]. К этой задаче сводится задача 3-С (см. гл. 3).
Комментарий. Эта задача — частный случай задачи [ТГ 12].
[ТГ 12] РАЗБИЕНИЕ НА ИЗОМОРФНЫЕ ПОДГРАФЫ
УСЛОВИЕ. Заданы графы G(V,E) и H = (V',E'), такие, что
для некоторого целого числа q e Z+: | V\ = q\ V \.
ВОПРОС. Можно ли разбить вершины графа G на q непересе-
непересекающихся множеств V\, V2, .... Vq, таких, что при 1 sg: i ^ q
подграфы графа G, индуцированные множествами Vi, изо-
изоморфны графу Я?
240 А. Приложение. Список NP-полных задач
Источник [288]. К этой задаче сводится задача 3-С.
Комментарий. Задача остается NP-полнойдля любого фиксиро-
фиксированного графа Н, содержащего по крайней мере 3 вершины.
Если Н — любой фиксированный граф, содержащий связную
компоненту, имеющую не менее 3 вершин, то аналогичная за-
задача, в которой требуется, чтобы число вершин в подграфах,
индуцированных множествами Vi, было равно числу вершин
графа Я, а подграфы, индуцированные множествами V,-, содер-
содержали подграф, изоморфный Н, также NP-полна. Для любого
графа Н, не удовлетворяющего сформулированному выше тре-
требованию, обе последние задачи могут быть решены за полино-
полиномиальное время (с помощью паросочетаний).
[ТГ 13] РАЗБИЕНИЕ НА ГАМИЛЬТОНОВЫ ПОДГРАФЫ
УСЛОВИЕ. Задан ориентированный граф G = {V,A).
ВОПРОС. Можно ли разбить вершины графа G на непересе-
непересекающиеся подмножества Vu V2, • ¦ ¦. Vk, такие, что каждое Vi
содержит по крайней мере 3 вершины, а все индуцируемые
ими подграфы графа G содержали бы гамильтоновы циклы?
Источник [522]. К этой задаче сводится 3-ВЫП. (См. также
[208].)
Комментарий. С помощью метода паросочетаний задача разре-
разрешается за полиномиальное время, если потребовать, чтобы Vi
содержало не менее двух вершин [108]. Аналогичная задача
для неориентированных графов также может быть решена за
полиномиальное время, даже если требовать, чтобы |V,|^3.
Однако задача остается NP-полной, если требуется, чтобы
|У,|^6 [414] или в условии задачи имеется верхняя граница
К для величины k.
[ТГ 14] РАЗБИЕНИЕ НА ЛЕСА
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
число /C<|V|.
ВОПРОС. Можно ли разбить вершины графа G на k ^ К непе-
непересекающихся подмножеств V\, V2, ¦••, V*. таких, что для всех
I, I ^ i <: k, подграф, индуцированный множеством Vt, не со-
содержит циклов?
Источник [152J. К этой задаче сводится задача 3-РАСКРАШИ-
ВАЕМОСТЬ ГРАФА.
[ТГ 15] РАЗБИЕНИЕ НА КЛИКИ
УСЛОВИЕ. Заданы граф G=(V,E) и положительное целое
число /(|1/|
A1. Теория графов 241
ВОПРОС. Можно ли разбить вершины графа G на k ^ К не-
непересекающихся множеств V\, Vt, .... Vk, таких что для всех
('A ^ i ^ k) подграф, индуцированный множеством Vi, был бы
полным?
Источник [280]. (В этой работе задача названа ПОКРЫТИЕ
КЛИКАМИ.) К данной задаче сводится задача /С-РАСКРА-
ШИВАЕМОСТЬ ГРАФА.
Комментарий. Задача остается NP-полной для реберных гра-
графов [22], для графов, не содержащих полных подграфов на
4 вершинах (см. конструкцию в задаче РАЗБИЕНИЕ НА ТРЕ-
ТРЕУГОЛЬНИКИ в гл. 3), а также для всех фиксированных К ^ 3.
Для К ^ 2 задача решается с помощью паросочетания за поли-
полиномиальное время, если граф не содержит полных подграфов
на 3 вершинах. Она разрешима за полиномиальное время для
графов пересечения дуг окружностей (если задано их представ-
представление в виде семейства дуг) [165], для триангулированных гра-
графов [163] и для графов сравнимости [178].
[ТГ 16] РАЗБИЕНИЕ НА СОВЕРШЕННЫЕ
ПАРОСОЧЕТАНИЯ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число K<\V\.
ВОПРОС. Можно ли вершины графа О разбить на k {k ^ К)
непересекающихся множеств V\, Уг, ¦ •., Vk, таких, что для
всех i A^(^&) подграф, индуцированный множеством Vi,
является совершенным паросочетанием (или состоит только из
вершин степени 1)?
Источник [474]. К этой задаче сводится задача 3-ВЫП С
РАЗНОЗНАЧНЫМИ ЛИТЕРАЛАМИ.
Комментарий. Для К = 2 и для пленарных кубических графов
задача остается NP-полной.
[ТГ 17] ПОКРЫТИЕ КЛИКАМИ
УСЛОВИЕ. Заданы граф G=(V,E) и положительное целое
число Я<|Я|.
ВОПРОС. Существуют ли в множестве V k {k < К) подмно-
подмножеств Vi, V2, .... Vk, таких, что каждое подмножество индуци-
индуцирует полный подграф графа G и для каждого ребра {u,v)&E
существует подмножество Vi, содержащее как и, так и о?
Источник [298], [405]. К этой задаче сводится задача РАЗ-
РАЗБИЕНИЕ НА КЛИКИ.
.242 А. Приложение. Список HP-полных задач
[ТГ 18] ПОКРЫТИЕ ПОЛНЫМИ
ДВУДОЛЬНЫМИ ПОДГРАФАМИ
УСЛОВИЕ. Заданы двудольный граф G=(V, Е) и положи-
положительное целое число К ^ | Е |.
ВОПРОС. Существуют ли k{k ^ К) подмножеств V\, ..., Vk
множества V, таких, что каждое подмножество Vi индуцирует
полный двудольный подграф графа G и для каждого ребра
{и, и}е? существует некоторое Vi, содержащее как и, так и и?
Источник [405]. К этой задаче сводится задача РАЗБИЕНИЕ
НА КЛИКИ.
А1.2. Подграфы и надграфы
[ТГ 19] КЛИКА
УСЛОВИЕ. Заданы граф G =(V, E) и положительное целое
число Ж|У|.
ВОПРОС. Верно ли, что G содержит клику размера не менее
/С? Иными словами, существует ли подмножество V е V, та-
такое, что \V'\^K и любые две вершины в V соединены ребром
из ??
Источник [280]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ (см. гл. 3).
Комментарий. Задача разрешима за полиномиальное время для
следующих графов: ограниченной степени d, планарных, ребер-
реберных, триангулированных [163], графов сравнимостей [117].гра-
[117].графов пересечения окружностей [163], графов пересечения дуг
окружностей (если задано их представление в виде семейства
дуг) [165]. Вариант этой задачи, в котором при заданном г
@ < г < 1) спрашивается, верно ли, что G содержит клику не
менее чем на r\V\ вершинах, также NP-полон.
[ТГ 20] НЕЗАВИСИМОЕ МНОЖЕСТВО
УСЛОВИЕ. Заданы граф G = (V,E) и положительное целое
число/(<|V|.
ВОПРОС. Верно ли, что G содержит независимое множество
мощности не менее Ю Иными словами, верно ли, что суще-
существует подмножество V's V, такое, что | V'|^ К и никакие две
вершины из V не соединены ребром из Е?
Источник. К этой задаче сводится задача ВЕРШИННОЕ ПО-
ПОКРЫТИЕ (см. гл. 3).
Комментарий. Задача остается NP-полной для кубических пла-
планарных графов [157, 149, 372], реберных графов, ориентирован-
ориентированных графов [168], тотальных графов, двудольных графов [540J
A1. Теория графов 243
и для графов, не содержащих треугольников [433]. Задача ре-
решается за полиномиальное время для двудольных графов (с по-
помощью паросочетаний, см., например, [196]), реберных графов
(с помощью паросочетаний), графов, не имеющих вершин сте-
степени выше 2, триангулированных графов [163], графов пересе-
пересечения окружностей [164], графов пересечения дуг окружностей
(если задано представление в виде семейства дуг) [165], гра-
графов сравнимости [178] и для графов без -звезд" [389].
[ТГ 21] ИНДУЦИРОВАННЫЙ ПОДГРАФ
СО СВОЙСТВОМ П*
УСЛОВИЕ. Заданы граф G=(V, Е) и положительное целое
число 7(<|V|.
ВОПРОС. Существует ли подмножество V ^ V, такое, что
\V'\^K и подграф графа G, индуцированный множеством V,
обладает свойством П (см. комментарий, где указаны возмож-
возможные варианты выбора П)?
Источник [537,538,341].К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача NP-трудна для любого свойства П, вы-
выполняющегося для произвольно больших, но не всех графов и
обладающего "наследственностью" (т. е. свойство выполняется
для всех подграфов графа, если оно выполняется для самого
графа). Если в дополнение к этому для заданного графа за
полиномиальное время можно проверить выполнение свойства
П, то задача является NP-полной. Ниже приведены примеры
таких свойств П: "G есть клика",' "G есть независимое множе-
множество", "G— пленарный граф", "G — двудольный граф", "G —
внешнепланарный граф", "G — реберный граф", "G— триангу-
триангулированный граф", "G — граф сравнимости" и "G — лес". Те же
результаты остаются верными, если G ограничено лишь семей-
семейством пленарных (соответственно ациклических ориентирован-
ориентированных) графов, а ограничения, наложенные на свойство П, выпол-
выполняются для пленарных (соответственно ациклических ориенти-
ориентированных) графов. Более слабые результаты имеют место для
двудольных графов [538].
[ТГ 22] ИНДУЦИРОВАННЫЙ СВЯЗНЫЙ ПОДГРАФ
СО СВОЙСТВОМ П(*)
УСЛОВИЕ. Заданы граф G = (K,Е) и положительное целие
число /С ^ | V|.
ВОПРОС. Существует ли подмножество V ? V, такое, что
I V | ^ К и подграф графа G, индуцированный подмножеством
V', связен и обладает свойством П (возможные варианты вы-
выбора свойства П указаны в комментарии) ?
244 А. Приложение. Список ЫР-полных задач
Источник [538]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача NP-трудна для любого свойства с усло-
условием наследственности и выполняющегося для произвольно
больших связных, но не для всех связных графов. Если в до-
дополнение к этому для заданного графа за полиномиальное вре-
время можно проверить выполнение свойства П, то задача являег-
ся NP-полной. В качестве П можно взять любое из свойств, пе-
перечисленных в предыдущей задаче, кроме "G есть независимое
множество". Близкий по формулировке вопрос: "Верно ли, что
максимальный индуцированный подграф графа G, обладающий
свойством П, также является связным?" — не лежит ни в NP,
ни в co-NP, если NP ф co-NP [538].
[ТГ 23] ИНДУЦИРОВАННЫЙ ПУТЬ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число K<|V|.
ВОПРОС. Существует ли подмножество V s V, такое, что
\V'\^s К и подграф, индуцированный множеством V, является
простым путем на \V'\ вершинах?
Источник [539]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Заметим, что в даньом случае свойство не об-
обладает наследственностью, поэтому настоящий результат не
следует из двух предыдущих. Задача остается NP-полной, если
G — двудольный граф. Этот же результат имеет место для ва-
варианта задачи, в котором вместо "простого пути" отыскивается
"простой цикл". Задачи об отыскании самого длинного про-
простого пути или самого длинного простого цикла (не обязатель-
обязательно индуцированных) также являются NP-полными.
[ТГ 24]СБАЛАНСИРОВАННЫЙ ПОЛНЫЙ ДВУДОЛЬНЫЙ
ПОДГРАФ
УСЛОВИЕ. Заданы двудольный граф G = (V, E) и положи-
положительное целое число К ^ | V\.
ВОПРОС. Существуют ли два непересекающихся подмноже-
подмножества V\, V2SV, такие, что J Vi|^= | V'z| = /С, и из того, что us
е Vi, к g V2, следует, что {и, у}е ??
Источник [152]. К этой задаче сводится задача КЛИКА.
Комментарий. Близкая задача, в которой требование "|VM =
= \V2\ = К" заменено требованием " | V"i | -f— | Vjj [ == /С" для дву-
двудольных графов, разрешима за полиномиальное время (в силу
имеющейся в таких графах связи между паросочетаниями и не-
независимыми множествами, см., например, [196]), а для произ-
произвольных графов NP-полна [538].
At. Теория графов 245
[ТГ 25J ДВУДОЛЬНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы граф G=(V,E) и положительное целое
число К ^\Е\.
ВОПРОС. Существует ли подмножество E'sE, такое, что
|?'| ^ К и G' = (V, Е')— двудольный подграф?
Источник [157]. К данной задаче сводится задача МАКСИ-
МАКСИМАЛЬНАЯ 2-ВЫПОЛНИМОСТЬ.
Комментарий. Задача остается NP-полной для графов, не
имеющих вершин степени более 3 и не содержащих треуголь-
треугольников, и (или) если потребовать совязности искомого подграфа
[538]. Задача разрешима за полиномиальное время, если G —
пленарный граф [195, 406] или если К = \Е\.
[ТГ 26] СВЯЗНЫЙ ПОДГРАФ ОГРАНИЧЕННОЙ СТЕПЕНИ
УСЛОВИЕ. Заданы граф G = (V, E), неотрицательное целое
число d ^ |V| и положительное целое число К^|?|.
ВОПРОС. Существует ли подмножество ?' = ?, такое, что
\E'\^s К и подграф G' = {V, E') связен и не имеет вершин
степени более d?
Источник [538]. К этой задаче сводится задача ГАМИЛЬТО-
НОВ ПУТЬ.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного d ^ 2. Разрешима (с помощью техники паросочета-
ний, см. [108]) за полиномиальное время, если не требовать
связности G'. Соответствующая задача об индуцированном под-
подграфе, в которой отыскивается подмножество V s V, такое, что
\V'\^ К и подграф, индуцированный подмножеством V, не
имеет вершин степени выше d, является NP-полной для любого
фиксированного d^O [342а], а если потребовать связности
графа G', то NP-полна для любого фиксированного d > 2 [538].
[ТГ 27] ПЛАНАРНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
число К < | Е |.
ВОПРОС. Существует ли подмножество Е' = Е, такое, что
|?'| 5* К и граф G' = (V, Е') планарен?
Источник [358]. К данной задаче сводится ограниченная на
двудольные графы задача ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Соответствующая задача, в которой граф G' есть
подграф, индуцированный подмножеством V, содержащим не
менее К вершин, также NP-полна [306, 538]. Если К = \Е\, то
за полиномиальное время может быть решена первая задача,
246 А. Приложение. Список HP-полных задач
а если /С = | V| — то вторая (это объясняется тем, что проверку
планарности графа можно осуществить за полиномиальное
время; см., например, [213]). Близкая задача, в которой спра-
спрашивается: "Содержит ли G связный "внешнепланарный" под-
подграф с К или более вершинами", также NP-полна [538].
[ТГ 28] РЕБЕРНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число tfs=S|?|.
ВОПРОС. Существует ли подмножество Е' Е ?, такое, что
\Е'\^ К и подграф G' = (V, Е') есть реберный граф? (Граф
G' = (V,Е') называется реберным, если существует граф Н =
= (U,F), такой, что G' изоморфен графу с множеством вершин
F и множеством ребер, состоящим из всех пар ребер {е, /}, та-
таких, что ей/ имеют общий конец из множества U.)
Источник [538]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если в G нет вершины, степень которой больше 4. Если потре-
потребовать связности подграфа, то NP-полнота задачи сохранится
и при снижении ограничения на степень до 3. Реберные графы
можно распознать за полиномиальное время (см., например,
[196], где используется термин "реберные графы").
[ТГ 29] ТРАНЗИТИВНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) и поло-
положительное целое число К «^ \А\.
ВОПРОС. Существует ли подмножество A's А, такое, что
\А'\^К и граф G' = {V, А') транзитивен? (Граф G' = (V,A')
называется транзитивным, если для любой пары вершин и и v
существует третья вершина uel', такая, что (u, w), (w, v)^A',
то (и, о)е/4'.)
Источник [538]. К этой задаче сводится задача ДВУДОЛЬ-
ДВУДОЛЬНЫЙ ПОДГРАФ (в которой рассматриваются только под-
подграфы, не содержащие треугольников).
Комментарий. NP-полным является также вариант этой задачи,
в котором G —неориентированный граф, и спрашивается, су-
существует ли "подграф сравнимости", т. е. такой подграф, кото-
который с помощью выбора подходящей ориентации ребер можно
сделать транзитивным ориентированным графом. Этот вариант
остается NP-полным даже тогда, когда в G нет вершин степени
больше 3. В обоих случаях задачи остаются NP-полными, если
потребовать связности искомого подграфа.
A1. Теория графов 247
[ТГ 30] ОДНОСТОРОННЕ СВЯЗНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) и поло-
положительное целое число К ^ | А\.
ВОПРОС. Существует ли подмножество A's А, такое, что
\А'\~^ К и граф G' = (V, А') имеет по крайней мере один ори-
ориентированный путь между любой парой вершин?
Источник [370]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной и для ациклических
ориентированных графов.
[ТГ 31] МИНИМАЛЬНЫЙ К-СВЯЗНЫЙ ПОДГРАФ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительные целые
числа К и В (K<\V\,B^\E\).
ВОПРОС. Существует ли подмножество Е' = Е, такое, что
|Е'|^;5 и граф G' = (V, E') является /(-связным (граф назы-
называется /С-связным, если он остается связным после удаления
любых К—1 вершин (и инцидентных им ребер)).
Источник [72]. К этой задаче сводится задача ГАМИЛЬТО-
НОВ ЦИКЛ.
Комментарий. Соответствующая задача о реберно-связном гра-
графе также NP-полна. Обе задачи (о вершинной и реберной связ-
связности) NP-полны для любого фиксированного К ^ 2, а для
К = 1 тривиально решаются за 'полиномиальное время.
[ТГ 32] КУБИЧЕСКИЙ ПОДГРАФ
УСЛОВИЕ. Задан граф G = (V, Е).
ВОПРОС. Существует ли непустое подмножество Е' s E, та-
такое, что в графе G' = {V, E') любая вершина имеет степень,
равную 3 или 0?
Источник [75]. К этой задаче сводится задача 3-РАСКРАШИ-
ВАЕМОСТЬ ГРАФА.
[ТГ 33] МИНИМАЛЬНЫЙ ЭКВИВАЛЕНТНЫЙ
ОРИЕНТИРОВАННЫЙ ГРАФ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) и поло-
положительное целое число /С^[Л|.
ВОПРОС. Существует ли подмножество A's А, такое, что
|Л'|^К и для любой упорядоченной пары вершин и, »eV
в графе G' = {V, А') тогда и только тогда имеется ориентиро-
ориентированный путь из и к v, если такой путь имеется в G.
248 А. Приложение. Список NP-полных задач
[ТГ 34] ГАМИЛЬТОНОВО ПОПОЛНЕНИЕ
УСЛОВИЕ. Заданы граф G=(V,Е) и неотрицательное целое
число К ^ | V\.
ВОПРОС. Существует ли множество Е', содержащее множе-
множество Е и такое, что IfXfl^/C, а граф G' = (V, E') имеет
гамильтонов цикл?
Источник. К этой задаче сводится ГАМИЛЬТОНОВ ЦИКЛ.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного К ^ 0. Аналогичным образом построенные задачи
о пополнении для задач ГАМИЛЬТОНОВ ПУТЬ, ОРИЕНТИ-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ и ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ также NP-полны. Задачи ГА-
ГАМИЛЬТОНОВО ПОПОЛНЕНИЕ и ГАМИЛЬТОНОВ ПУТЬ
В ПОПОЛНЕНИИ могут быть решены за полиномиальное
время, если G— дерево (см. [45]).
[ТГ 35] ПОПОЛНЕНИЕ ДО ГРАФА ИНТЕРВАЛОВ
УСЛОВИЕ. Заданы граф G = (V,E) и неотрицательное целое
число К-
ВОПРОС. Существует ли множество Е', содержащее Е, такое,
что |?'\?|<;К и граф G' = (V, E') является графом интер-
интервалов?
Источник [140]. К данной задаче сводится задача ОПТИ-
ОПТИМАЛЬНОЕ ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ
Комментарий. Задача остается NP-полной, если ограничиться
только реберными графами. Для К = 0 задача разрешима за
полиномиальное время, см. [132, 54].
[ТГ 36] ПОПОЛНЕНИЕ ДО ГРАФА ПУТЕЙ
УСЛОВИЕ. Заданы граф G = (V,E) и неотрицательное целое
число К-
ВОПРОС. Существует ли множество ?', содержащее множе-
множество Е, такое, что jfi'XiiJl^JC и граф G' = (V, E') есть граф
пересечения семейства путей в неориентированном дереве?
Источник [169]. К этой задаче сводится ПОПОЛНЕНИЕ ДО
ГРАФА ИНТЕРВАЛОВ.
Комментарий. Соответствующая задача, в которой требуется,
чтобы G был графом пересечения ориентированных путей
в ориентированном дереве (т. е. корневом дереве с направле-
направлением дуг от корня), также является NP-полной.
A1. Теория графов 249
А 1.3. Упорядочение вершин
[ТГ 37] ГАМИЛЬТОНОВ ЦИКЛ
УСЛОВИЕ. Задан граф G = (V, Е).
ВОПРОС. Имеется ли в G гамильтонов цикл?
Источник [280]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ (см. гл. 3).
Комментарий. Задача остается NP-полной в следующих слу-
случаях: A) G— планарный, кубический, 3-связный и не имеет
граней, ограниченных меньше чем пятью ребрами [158], B) G—
двудольный [305], C) G — квадрат некоторого графа [75],
D) в условии задачи задан некоторый гамильтонов путь
в графе G [417], E) G — реберный граф. Задача разрешима
за полиномиальное время, если в G нет вершин степени больше 2
или если G — реберный граф (см., например, [357]). Куб не-
нетривиального связного графа всегда содержит гамильтонов
цикл, см. [277].
[ТГ 38] ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ЦИКЛ
УСЛОВИЕ. Задан ориентированный граф G = (V, А).
ВОПРОС. Имеется ли в G ориентированный гамильтонов цикл?
Источник [280]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ (см. гл. 3).
Комментарий. Задача остается NP-полной, если G — планар-
планарный граф, не имеющий вершин, инцидентных более чем трем
дугам [432]. Задача разрешима за полиномиальное время, если
степени захода (или выхода) всех вершин не превосходят 1,
а также если G — граф турнира, см. [393], или реберный граф
(см., например, [357]).
[ТГ 39] ГАМИЛЬТОНОВ ПУТЬ
УСЛОВИЕ. Задан граф G = (V,E).
ВОПРОС. Верно ли, что в G имеется гамильтонов путь?
Источник. К этой задаче сводится задача ВЕРШИННОЕ ПО-
ПОКРЫТИЕ (см. гл. 3).
Комментарий. Задача остается NP-полной в случаях A) и B)
из задачи ГАМИЛЬТОНОВ ЦИКЛ и разрешима за полино-
полиномиальное время при тех же предположениях, при которых раз-
разрешима и задача ГЦ. Соответствующая задача ОРИЕНТИРО-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ является NP-полной, к ней
также применимы комментарии из задачи ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГЦ. Задача остается NP-полной, если в условии указана
250 А. Приложение. Список NP-полных задач
начальная или конечная или обе точки пути. Задача ОРИЕН-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ может быть решена
за полиномиальное время для ациклических ориентированных
графов (см., например, [324J).
[ТГ 40] ШИРИНА
УСЛОВИЕ. Заданы граф G = (V,Е) и положительное целое
число /С<| V\.
ВОПРОС. Существует ли линейное упорядочение множества V,
такое, что его ширина не более /С? Иными словами: "Суще-
"Существует ли взаимно-однозначная функция f: V->-{l, 2 \V\},
такая, что для всех {и, и}е? выполнено соотношение \!{и) —
Источник [407]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Остается NP-полной для деревьев со степенью
вершин, не превышающей 3 [143]. Задача соответствует мини-
минимизации "ширины" симметрической матрицы путем одновре-
одновременных перестановок столбцов и строк.
[ТГ 41] ШИРИНА ОРИЕНТИРОВАННОГО ГРАФА
УСЛОВИЕ. Заданы ориентированный граф G =(V, А) и поло-
положительное целое число ^С^|У|.
ВОПРОС. Существует ли такая взаимно-однозначная функция
/: V-M1, 2 |V|}, что для всех (u,v)<=A, f{u)<f(v)
и (/(»)-/(«))< К?
Источник [143]. К этой задаче сводится задача 3-РАЗБИЕНИЕ.
Комментарий. Задача остается NP-полной для корневых ори-
ориентированных деревьев с максимальной степенью захода, рав-
равной 1, и максимальной степенью выхода 2. Последняя задача
соответствует минимизации "ширины" верхнетреугольной мат-
матрицы с помощью одновременных перестановок строк и столбцов.
[ТГ 42] ОПТИМАЛЬНОЕ ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число К.
ВОПРОС. Существует ли взаимно-однозначная функция /: V-*-
-Ml, 2 \V\), такая, что ? |/(«)-/(о)|<К?
{и, з)еЕ
Источник [157]. К задаче сводится задача ПРОСТОЙ МАКСИ-
МАКСИМАЛЬНЫЙ РАЗРЕЗ.
Комментарий. Задача остается NP-полной для двудольных гра-
графов [118] и разрешима за полиномиальное время, если G—¦¦
дерево [486, 176].
A1. Теория графов 251
[ТГ 43] ОПТИМАЛЬНОЕ ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ
ОРИЕНТИРОВАННОГО ГРАФА
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) и целое
число К.
ВОПРОС. Существует ли такая взаимно-однозначная функция
U V-+{1, 2 \V\}, что f(u)<f(v) для всех (u,v)<=A
и Е (f(v) -/(«))< К?
и. и о /4
Источник [118]. К этой задаче сводится задача ОПТИМАЛЬ-
ОПТИМАЛЬНОЕ ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ.
Комментарий. Задача разрешима за полиномиальное время,
если G — дерево, даже в том случае, если ребрам графа припи-
приписаны целые веса, а целевая функция является взвешенной сум-
суммой разностей [5].
[ТГ 44] ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ С МИНИМАЛЬНЫМ
РАЗРЕЗАНИЕМ
УСЛОВИЕ. Заданы граф G = {V,E) и положительное целое
число К.
ВОПРОС. Существует ли такая взаимно-однозначная функция
f: У-* {1,2 \V\), что для всех i, l<t<|V|,
\{{u,v}t=E: Hu)<i<f(o))\<K1
Источник [498, 168]. К этой задаче сводится задача ПРОСТОЙ
МАКСИМАЛЬНЫЙ РАЗРЕЗ.
[ТГ 45] ПРЕДСТАВЛЕНИЕ В ВИДЕ КОРНЕВОГО ДЕРЕВА
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число К-
ВОПРОС. Существует ли корневое дерево T = (U,F), где
|?/| = |V| и взаимно-однозначная функция f: V-*-U, обладаю-
обладающие следующими свойствами: для любого ребра {и, t>}e? су-
существует простой путь, начинающийся в корне и проходящий
через /(и) и f{v), такой, что X d{f(и), f (o)XК (здесь
{и, о}ес
d(x,y)—число ребер на пути от х до у в дереве Г)?
Источник [168]. К этой задаче сводится задача ОПТИМАЛЬ-
ОПТИМАЛЬНОЕ ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ.
[ТГ 46] УПОРЯДОЧЕННОЕ ИСКЛЮЧЕНИЕ
ДЛЯ ОРИЕНТИРОВАННОГО ГРАФА
УСЛОВИЕ. Заданы ориентированный граф G = (V, А), неот-
неотрицательное целое число К.
ВОПРОС. Существует ли для графа упорядочение исключе-
исключения, заполненность которого не более /С? Другими словами:
252 А. Приложение. Список NP-полных задач
"Существует ли взаимно-однозначная функция f: V-*- {1, 2, ...
\V\}, такая, что имеется самое большее К пар вершин
(u,v)^(V\V)\A, обладающие свойством: G содержит ориен-
ориентированный путь из и в v, проходящий только через такие вер-
вершины w, что f (.. ) < min {f (и), f(v)}7
Источник [454]. К этой задаче сводится 3-ВЫП.
Комментарий. Эта задача возникает при применении исключе-
исключения по Гауссу к разреженным матрицам. Для К = О задача
решается за полиномиальное время. Аналогичная задача для
неориентированных графов (соответствующих симметричным
матрицам) эквивалентна задаче ПОПОЛНЕНИЕ ДО ТРИАН-
ТРИАНГУЛИРОВАННОГО ГРАФА, сложность которой пока остается
не выясненной.
[ТГ 47] ПОСЛЕДОВАТЕЛЬНОЕ ИСКЛЮЧЕНИЕ
СТЕПЕНЕЙ
УСЛОВИЕ. Заданы граф G = (V, Е) и последовательность
< d\, d2, ..., d\v\> неотрицательных целых чисел, не превы-
превышающих | V|— 1.
ВОПРОС. Существует ли взаимно-однозначная функция /: К->-
-*-{1, 2, ..., |V|} со следующим свойством для всех /, 1 ^ i ^
^|V|: если f(v)=i, то существует в точности d% вершин и,
таких, что f(u) > i и {и, v) e E?
Источник [154]. К этой задаче сводится ТОЧНОЕ ПОКРЫТИЕ
3-МНОЖЕСТВАМИ.
Комментарий. Вариант этой задачи, в котором отыскивается та-
такая функция /, что для всех i, I ^ i ^ | V], из равенства f (v) = i
следует, что существует ровно di вершин и, таких, что {и, v} e
е? тривиально решается за полиномиальное время.
А1.4. Морфизмы и изоморфизмы
[ТГ 48] ИЗОМОРФИЗМ ПОДГРАФУ
УСЛОВИЕ. Заданы два графа G = (Vb?i) и Я = (К2, Е2).
ВОПРОС. Содержит ли граф G подграф, изоморфный графу Я?
Иначе говоря, существуют ли подмножества V и Е, V s V\,
Е<=Е\, такие, что |V| = |V2j, |?| = |^2|, и такая взаимно-од-
взаимно-однозначная функция /: =V2-»-V/, что {и, и}е? тогда и только
тогда, когда {f(u),f(,v)} e??
Источник [91]. К этой задаче сводится задача КЛИКА.
Комментарий. Частные случаи этой задачи:
КЛИКА, ПОЛНЫЙ ДВУДОЛЬНЫЙ ПОДГРАФ, ГАМИЛЬТО-
НОВ ЦИКЛ и т. д. Задача может быть решена за полиноми-
At. Теория графов
альное время, если G —лес, а // — дерево, см. [111, 449]. Ос-
Остается NP-полной, если G— дерево, а Н — лес (см. гл. 4) или
если G — произвольный граф, а Н — дерево (ГАМИЛЬТОНОВ
ПУТЬ). Варианты этой задачи для ориентированных графов
также NP-полны даже в том случае, если G —ациклический
граф, а Н — дерево [13]. Однако если G.— ориентированный
лес, а Н — ориентированное дерево, то задачу можно решить
за полиномиальное время. Если |Vi| = |V2| и |?i| = |E2|, то
эта задача превращается в задачу ИЗОМОРФИЗМ ГРАФОВ,
сложность которой остается неизвестной для ориентированных
и неориентированных графов.
[ТГ 49] НАИБОЛЬШИЙ ОБЩИЙ ПОДГРАФ
УСЛОВИЕ. Заданы два графа G = (Vi,?i). H=(V2,E2) и по-
положительное число К.
ВОПРОС. Существуют ли подмножества ?!s?i и ?;?4
такие, что \E\\ — \Ei\>K и подграфы G' = {V, ?{) иЯ' =
= (V2, Е2) изоморфны?
Источник. К этой задаче сводится задача КЛИКА.
Комментарий. Задачу можно решить за полиномиальное время,
если G и Н — деревья, см. [111].
[ТГ 50] МАКСИМАЛЬНОЕ ПАРОСОЧЕТАНИЕ ПОДГРАФОВ
УСЛОВИЕ. Заданы два ориентированных графа G = {V\, А\),
Н = (V2, А2) и положительное целое число К.
ВОПРОС. Существует ли такое подмножество R S V\ X V*, что
\R\^K и для всех <и, и'}, <t>, t»'>e/J дуга (и, v) принадлежит
множеству А\ тогда и только тогда, когда (u', v') e Л2?
Источник [152]. К этой задаче сводится задача КЛИКА. Она
обсуждается также в работе [29].
[ТГ 51] СТЯГИВАЕМОСТЬ ГРАФА
УСЛОВИЕ. Заданы два графа G = (Vb?j) и H = {Va,E2).
ВОПРОС. Можно ли последовательностью стягиваний ребер
графа G получить граф, изоморфный Я? (Последовательность
стягиваний ребер — это последовательность шагов, на каждом
из которых две соседние вершины и и v заменяются одной вер-
вершиной w, соединенной ребрами с теми и только теми верши-
вершинами, с которыми были соединены и или и.)
Источник [494]. К данной задаче сводится задача 3-ВЫП.
Комментарий. Задача может быть решена за полиномиальное
время, если Н — треугольник.
254 А. Приложение. Список NP полных задач
[ТГ 52] ГОМОМОРФИЗМ ГРАФОВ
УСЛОВИЕ. Заданы два графа G=(VU Et) и H = (V2, Е2).
ВОПРОС. Можно ли из графа G последовательностью отожде-
отождествления несоседних вершин получить граф //? (Последователь-
(Последовательность отождествления несоседних вершин — это последователь-
последовательность шагов, заменяющих две несоседние вершины и и v одной
вершиной до, соединенной в точности с теми вершинами, с кото-
которыми были соединены вершины и или v.)
Источник [340]. К этой задаче сводится задача К-РАСКРА-
ШИВАЕМОСТЬ ГРАФА.
Комментарий. Задача остается NP-полной, если Н — треуголь-
треугольник, но если Н — одно ребро, то решается за полиномиальное
время.
[ТГ 53] D-МОРФИЗМ ОРИЕНТИРОВАННЫХ ГРАФОВ
УСЛОВИЕ. Заданы два ориентированных графа G — (Vu Ai)
и H = {V2,A2).
ВОПРОС. Существует ли D-морфизм графа G в граф //?
(D-морфизмом называется такая функция /: V\-*-V2, что A)
для каждой пары (u,v)^A\ либо (/(и), Ду))е А2, либо
(f(v),f(u))s А2. B) для всех ие V\ и у'еК2, если (Ды),у')е
е А2, то существует такая вершина v, v^f-l(v'), для которой
(и,о)е4)
Источник [129]. К данной задаче сводится задача НУМЕРА-
НУМЕРАЦИЯ ГРАФА ПО ГРУНДИ.
А1.5. Разное
[ТГ 54] ПУТЬ С ЗАПРЕЩЕННЫМИ ПАРАМИ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А), набор
С = {{a\,bi), ..., (ап, Ьп)} пар вершин из V и две выделенные
вершины s,/eV.
ВОПРОС. Существует ли в G ориентированный путь из s в /,
.одержащий не более одной вершины из каждой пары на-
набора С?
Источник [134]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача остается NP-полной, если ограничиться
ациклическими графами, не имеющими вершин со степенями
захода или выхода более 2. Вариант этой задачи, в котором
запрещены не вершины, а дуги, также NP-полон (при анало-
аналогичных предположениях). Обе задачи остаются NP-полными,
если вершины любой пары из заданного набора не являются
соседними.
At. Теория графов 255
[ТГ 55] ПАРОСОЧЕТАНИЕ СО МНОГИМИ ВАРИАНТАМИ
УСЛОВИЕ. Заданы граф G = (V,Е), разбиение множества Е
на непересекающиеся множества Е\, Е2, .... Ej и положитель-
положительное целое число К.
ВОПРОС. Существует ли подмножество Е' s E, такое, что
\E'\^z К, никакие два ребра из Е' не имеют общей вершины
и для всех i A ^ i ^ /) Е' П Et ф 0.
Источник [524, 253, 255]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача остается NP-полной и в том случае, если
G— двудольный граф, каждое из множеств Ei содержит, самое
большее, 2 ребра и K = \V\/2. Если каждое из множеств ?, со-
состоит из одного ребра, то задача превращается в обычную за-
задачу о паросочетании в графе, разрешимую за полиномиальное
время.
[ТГ 56] НУМЕРАЦИЯ ГРАФА ПО ГРУНДИ
УСЛОВИЕ. Задан ориентированный граф G = (V, A).
ВОПРОС. Существует ли такая функция f: V-+Z+, что для
всех вершин t/eV f(v) есть наименьшее неотрицательное це-
целое число, не содержащееся в множестве {f(u): «eV, (v, ы)е=
Л}?
Источник [526]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача остается NP-полной, если ограничиться
только планарными графами, у которых все вершины имеют
степень захода или выхода не более 5 (см. [129]).
[ТГ 57] ЯДРО
УСЛОВИЕ. Задан ориентированный граф G = (V, A).
ВОПРОС. Верно ли, что в G есть ядро? (Ядром ориентирован-
ориентированного графа G = {V, А) называется такое подмножество вершин
V, что никакие две вершины из V не соединены дугой из А
и для каждой вершины вб VW найдется такая вершина
UE V, что (и, у)е А.)
Источник [73]. К этой задаче сводится задача 3-ВЫП.
[ТГ 58] К-ЗАМЫКАНИЕ
УСЛОВИЕ. Заданы ориентированный граф G — (V,A) и поло-
положительное целое число К ^ | V\.
ВОПРОС. Существует ли такое подмножество V s V, что
v<?V?
\V'\^LK и для любой дуги (u, v)^A либо иеГ, либо
Источник [439]. К данной задаче сводится задача КЛИКА.
256 А. Приложение. Список NP-полных задач
[ТГ 59] БАЗИС ГРАФА ПЕРЕСЕЧЕНИИ
УСЛОВИЕ. Заданы граф G=(V,Е) и положительное целое
число /С<||?|.
ВОПРОС. Верно ли, что G — граф пересечений семейства мно-
множеств, объединение которых имеет мощность не более /С?
Иными словами: "Существует ли /(-элементное множество S
и подмножества S[v] E S, ое V, такие что {и, v} e Е тогда
и только тогда, когда S[«]nS[w] =^= 0?"
Источник [298]. К этой задаче сводится ПОКРЫТИЕ КЛИ-
КЛИКАМИ.
[ТГ 60] МНОЖЕСТВО ДУГ, РАЗЛИЧАЮЩИЕ ПУТИ
УСЛОВИЕ. Задан ориентированный граф G = (V, А), в кото-
котором выделены две вершины s, t и положительное целое число
К^[А\.
ВОПРОС. Существует ли такое подмножество A's А, что
|Л'|^/С и для каждой пары путей р\ и р2 из s в t найдется
дуга из А', принадлежащая ровно одному из них?
Источник [370]. К этой задаче сводится задача ВЕРШИННОЕ
ПОКРЫТИЕ.
[ТГ 61] МЕТРИЧЕСКАЯ РАЗМЕРНОСТЬ
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
число /C<|V|.
ВОПРОС. Существует ли базис метрик на графе G мощности
не более /С? (Подмножество V SV называется базисом метрик
графа G, если для каждой пары вершин и, oeF существует
такая вершина w e V, что длина кратчайшего пути от и к w
отлична от длины кратчайшего пути между v и w.)
Источник [152]. К данной задаче сводится задача 3-С. Понятие
метрической размерности определяется в работе [197].
[ТГ 62] РАЗМЕРНОСТЬ НЕШЕТРИЛ — РЁДЛ
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
С|?|
<||
ВОПРОС. Существует ли такая взаимно-однозначная функция
f:V^{(alta2 а*): 1 <а, <| F| при 1</</С},
что пара вершин и, dgV соединена ребром {и, v} eE тогда
и только тогда, когда f(u) и f{v) различны по всем К коорди-
координатам?
Источник [400]. К этой задаче сводится 3-РАСКРАШИВАЕ-
МОСТЬ ГРАФА. Понятие размерности определяется в ра-
работе [401].
AI. Теория графов 257
[ТГ 63] ПОРОГОВОЕ ЧИСЛО
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число Ж|?|.
ВОПРОС. Существует ли разбиение множества Е на такие не-
непересекающиеся подмножества Е\, Е2, ..., Ек, что каждый из
графов Gi = (V, E{), lsglis^ К, является "пороговым"?
Источник [78]. К этой задаче сводится задача НЕЗАВИСИ-
НЕЗАВИСИМОЕ МНОЖЕСТВО (ограниченная на графы, не имеющие тре-
треугольников) .
Комментарий. При К = 1 задача решается за полиномиальное
время.
[ТГ 64] ОРИЕНТИРОВАННЫЙ ДИАМЕТР
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
число /<<| V\.
ВОПРОС. Можно ли так ориентировать ребра графа G, чтобы
возникший в результате ориентированный граф был сильно свя-
связен и имел диаметр не более /С?
Источник [79]. К этой задаче сводится задача РАСЩЕПЛЕ-
РАСЩЕПЛЕНИЕ МНОЖЕСТВА.
Комментарий. Вариант задачи, в котором "диаметр" заменен
на "радиус", также NP-полон. Обе задачи остаются NP-пол-
ными при К = 2.
[ТГ 65] ВЗВЕШЕННЫЙ ДИАМЕТР
УСЛОВИЕ. Заданы граф G = {V,E), и набор С, состоящий
из |?| неотрицательных целых чисел (не обязательно различ-
различных), и положительное целое число К.
ВОПРОС. Существует ли такая взаимно-однозначная функция
/: ?->-С, что при интерпретации f(e) как длины ребра е диа-
диаметр графа G не превосходит /С? (Т. е. между любыми двумя
вершинами и, v e V имеется путь длины не более К.)
Источник [425]. К этой задаче сводится задача 3-РАЗБИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле даже в том
случае, когда G — дерево. Вариант задачи, в котором "диаметр"
заменяется "радиусом", имеет такую же сложность. Если С
состоит только из нулей и единиц, то оба варианта (с диамет-
диаметром и радиусом) для деревьев разрешимы за полиномиальное
время, а для общих графов остаются NP-полными, даже если К
фиксировать равным 2 (диаметр) или 1 (радиус). Для общих
графов вариант задачи, в котором ищется функция, дающая
258 А. Приложение. Список HP-полных задач
диаметр не менее К, NP-полон в сильном смысле, для деревьев
в случае диаметра задача разрешима за полиномиальное время,
а в случае радиуса NP-полна.
А2. ПОСТРОЕНИЕ СЕТЕЙ
А2.1. Остовные деревья '
[ПС 1] ОСТОВ ОГРАНИЧЕННОЙ СТЕПЕНИ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительное целое
число /С<| V|.
ВОПРОС. Существует ли в графе G остов, у которого степени
всех вершин не превосходят /(?
Источник. К этой задаче сводится задача ГАМИЛЬТОНОВ
ПУТЬ.
Комментарий. Для любого фиксированного К ^ 2 задача
остается NP-полной.
[ПС 2] ОСТОВ С МАКСИМАЛЬНЫМ ЧИСЛОМ ВИСЯЧИХ
ВЕРШИН
УСЛОВИЕ. Заданы граф G = (V, E) и положительное целое
число К ^ | V\.
ВОПРОС. Существует ли в графе G остов, у которого не менее
К вершин степени 1?
Источник [152]. К указанной задаче сводится задача ДОМИ-
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО.
Комментарий. Задача остается NP-полной, если G — регуляр-
регулярный граф степени 4 или если G — планарный граф, степени вер-
вершин которого не превосходят 4.
[ПС 3] ОСТОВ С КРАТЧАЙШИМ ПОЛНЫМ ПУТЕМ
УСЛОВИЕ. Заданы граф G = (V,E), целое число BeZ+.
ВОПРОС. Существует ли такой остов Т графа С, что сумма
(по всем парам вершин и, t/sG) длин путей от и до и в Г не
превосходит /С?
Источник [266]. К этой задаче сводится задача ТОЧНОЕ ПО-
ПОКРЫТИЕ 3-МНОЖЕСТВАМИ.
[ПС 4] ОСТОВ ОГРАНИЧЕННОГО ДИАМЕТРА
УСЛОВИЕ. Заданы граф G — (V, E), вес au(e)eZ+ каждой
вершины ее?, а также положительные числа В и D^|V|.
') Как синонимы часто употребляются термины: дерево-остов, остов
графа, или просто остов. — Прим. ред.
A2. Построение сетей 259
ВОПРОС. Существует ли в графе G такой остов Т, что сумма
весов ребер из Т не превосходит В и в Г нет простого пути,
число ребер которого не превосходит ?>?
Источник [125]. К этой задаче сводится задача ТОЧНОЕ ПО-
ПОКРЫТИЕ 3-МНОЖЕСТВАМИ.
Комментарий. Задача остается NP-полной при любом фиксиро-
фиксированном D ^ 4 даже в том случае, если веса ребер принимают
два значения: 1 или 2. Легко решается за полиномиальное
время, если D ^ 3 или если веса всех ребер равны.
[ПС 5] ОСТОВ С ОГРАНИЧЕННОЙ ПРОПУСКНОЙ
СПОСОБНОСТЬЮ
УСЛОВИЕ. Заданы граф G=(V,E) с выделенной вершиной
Vq е V, пропускные способности с (е) е Zo" и длина / (е) е Zo"
каждого ребра ве?, потребность г (ц) е Zo^ для каждой вер-
вершины не V\{u0} и граница fleZo".
ВОПРОС. Существует ли в графе G такой остов 7", что сумма
длин его ребер не превосходит В и для каждого ребра е в Т
выполнено соотношение ? f(u)^c(e) (где U(e)—множе-
()
ство вершин, для которых путь в Т, соединяющий эту вершину
с вершиной vq, содержит ребро е)?
Источник [409]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача NP-полна в сильном смысле даже в том
случае, если все потребности равны 1, а все пропускные спо-
способности равны 3. Если же все потребности равны 1, а про-
пропускные способности равны 2, то задача решается за полино-
полиномиальное время с помощью метода взвешенных паросочетаний.
Если все потребности равны 0 или 2, а все пропускные способ-
способности равны 1, то задача также может быть решена за полино-
полиномиальное время (с помощью алгоритмов построения потоков
минимальной стоимости, см., например, [ПО]), но если все
пропускные способности равны 2, а потребности и длины ребер
равны либо 0, либо 1, то задача остается NP-полной [115].
[ПС 6] ГЕОМЕТРИЧЕСКИЙ ОСТОВ С ОГРАНИЧЕННОЙ
ПРОПУСКНОЙ СПОСОБНОСТЬЮ
УСЛОВИЕ. Заданы множество PsZXZ точек плоскости, вы-
выделенная точка ро е Р, потребность г (р) е Zt для каждой р е
е Р\ро, пропускная способность csZ+ и граница SgZ+.
ВОПРОС. Существует ли в полном графе G = (Р, Е) такой
остов Т = (Р,Е'), что Z d(e)<fl (где d((xlt */,), (х2, у2)) =
260 А. Приложение. Список NP-полных задач
"! — дискретное евклидово расстояние),
причем Y, г(и)^с для каждого ребра ее?' (где U(e) —
BEfflt)
)
множество таких вершин v, что путь в дереве Т, соединяющий v
с ро, содержит ребро е)?
Источник [409]. К этой задаче сводится задача ТП-3.
Комментарий. Задача остается NP-полной и в том случае, если
все потребности равны между собой.
[ПС 7] ОПТИМАЛЬНЫЙ КОММУНИКАЦИОННЫЙ ОСТОВ
УСЛОВИЕ. Заданы полный граф G = (V,E), вес w(e)<=Z$
каждого ребра ее?, потребность г ({и, о}) g Zo+ для каждой
пары {и, v} вершин из V, граница Be Zo".
ВОПРОС. Существует ли в G такой остов Т, что
Z W({u, v))- r ({и, о})< В,
и, oeV
где W({u,v}) обозначает сумму весов ребер пути в Т, соеди-
соединяющего и и и?
Источник [266]. К этой задаче сводится задача ТП-3.
Комментарий. Задача остается NP-полной даже тогда, когда
все потребности равны между собой. Если все веса равны
между собой, то задача разрешима за полиномиальное время
[227].
[ПС 8] ИЗОМОРФНЫЙ ОСТОВ
УСЛОВИЕ. Заданы граф G = (V,E), дерево T = (VT, Ет).
ВОПРОС. Верно ли, что G содержит остовное дерево, изоморф-
изоморфное 7"?
Источник. К этой задаче сводится задача ГАМИЛЬТОНОВ
ПУТЬ.
Комментарий. Задача остается NP-полной в следующих слу-
случаях: (а) Т — путь, (б) Т — полное бинарное дерево, см. [418],
(в) 7" —3-звезда (т. е. VT = {v0} U {щ, vt, wi: 1 < i sg; я}, Ет =
= {{vo,ui}, {ui.vi}, {vt, wi} : 1 </<ra}), см. [152]. Если G —
граф паросочетания или 2-звезда, то задача разрешима за по-
полиномиальное время. Классификацию сложности этой задачи
для других типов деревьев см. в [418].
[ПС 9] К НАИЛУЧШИХ ОСТОВОВ (*)
УСЛОВИЕ. Заданы граф G = (V, Е), вес w (e) e Zt каждого
ребра ее?, положительные целые числа К и В.
At. Построение сетей 261
ВОПРОС. Существует ли в О К различных остовов, общий
вес которых не превосходит В?
Источник [260]. К этой задаче сводится по Тьюрингу задача
ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Принадлежность этой задачи классу NP не уста-
установлена. Задача может быть решена за псевдополиномиальное
время (время, ограниченное полиномом от \V\, К, log В,
max {logo»(е):ее?}), см. [322], и, следовательно, при любом
фиксированном К может быть решена за полиномиальное
время. Соответствующая задача перечисления является КР-пол-
ной. Однако вариант задачи перечисления, в котором отсут-
отсутствуют веса, решается за полиномиальное время (см., напри-
например, [198]).
[ПС 10] ЛЕС С ОГРАНИЧЕННЫМИ КОМПОНЕНТАМИ
УСЛОВИЕ. Заданы граф G = (V,?), вес ад (о) eZ/ каждой
вершины tisV, положительные целые числа К и fl(/C^|V|).
ВОПРОС. Можно ли вершины из V так разбить на непересе-
непересекающиеся множества V\, V2, .... V* (k^K), что подграф
графа G, индуцированный множеством Vi, является деревом,
а сумма весов вершин из Vt не превосходит В?
Источник [194]. К этой задаче сводится задача РАЗБИЕНИЕ
НА ПУТИ ДЛИНЫ 2.
Комментарий. Задача остается NP-полной и тогда, когда все
веса равны 1, а В — произвольное фиксированное целое число,
большее 2 [152]. Задача может быть решена за полиномиаль-
полиномиальное время, если G — дерево или если все веса равны 1 и В = 2
[194].
[ПС 11] ВЕТВЛЕНИЕ СО МНОГИМИ ВАРИАНТАМИ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А), вес
a;(a)eZ+ каждой дуги оеД разбиение множества А на не-
непересекающиеся множества Аи А%, .... Ат и положительное
целое число К.
ВОПРОС. Существует ли такое подмножество A'S А, что
X w(a)^K, никакие две дуги из А' не оканчиваются в одной
as А'
вершине, А' не содержит циклов и А' содержит не более одной
дуги из каждого множества Ai, I ^ i ^ п?
Источник [152]. К этой задаче сводится задача 3-ВЫП.
Комментарий. Задача остается NP-полной даже тогда, когда G
сильно связан и если все веса равны между собой. Если |А] = 1
262 А. Приложение. Список HP-полных задач
для всех i, то задача превращается просто в задачу отыскания
"ветвления максимального веса", т. е. задачу отыскания пере-
пересечения двух матроидов, разрешимую за полиномиальное время
(см., например, [512]). (В сильно связном графе ветвление
максимального веса можно рассматривать как ориентирован-
ориентированный остов максимального веса). Аналогичным образом если
граф симметричен, то задача становится эквивалентной задаче
об остове со многими вариантами (другой задаче о пересечении
двух матроидов) и оказывается разрешимой за полиномиальное
время [509].
[ПС 12] ДЕРЕВО ШТЕЙНЕРА НА ГРАФЕ
УСЛОВИЕ. Заданы граф G —(К, Е), secw(e)^Zo каждого
ребра ее?, подмножество R ? V и положительная целая гра-
граница В.
ВОПРОС. Существует ли в графе G такое поддерево, содержа-
содержащее все вершины из R, что сумма весов ребер этого поддерева
не превосходит В?
Источник [280]. К этой задаче сводится задача ТОЧНОЕ ПО-
ПОКРЫТИЕ 3-МНОЖЕСТВАМИ.
Комментарий. Задача остается NP-полной и в том случае, если
G — двудольный граф, не имеющий ребер, соединяющих вер-
вершины множества R или V\R (см. [37]), или если G — планар-
ный граф [149].
[ПС 13] ГЕОМЕТРИЧЕСКОЕ ДЕРЕВО ШТЕЙНЕРА
УСЛОВИЕ. Заданы множество Р ^ Z X Z точек на плоскости
и положительное число К.
ВОПРОС. Существует ли такое конечное подмножество Qe
sZXZ, что для множества вершин P[)Q существует остов
с весом не более К (где вес ребра {(*i, y\), (х2, у2)} равен
\ ((х\ — x2J + (yi — г/гJI/21 — дискретному евклидову расстоя-
расстоянию между (хиу\) и (х2, у2))?
Источник [142]. К этой задаче сводится задача ТП-3.
Комментарий. Задача NP-полна в сильном смысле. Остается
NP-полной, если дискретное расстояние заменить "метрикой
типа Z.i": |a'i —jc2| + |#i—#г| (см. [149]) "или метрикой типа
La,": max{|.Vi — х2\, \у\ — у2\) (последняя метрика при пово-
повороте на 45° эквивалентна метрике L\). Задача остается NP-труд-
ной в сильном смысле, если принять (недискретизированное)
евклидово расстояние {{х\ — лг2J + (г/i — t/гJI/2, но в послед-
последнем случае принадлежность задачи классу NP не установлена
[142]. Некоторые полиномиальные алгоритмы для специальных
случаев метрики типа Ly предложены в работе [6].
A2. Построение сетей 263
А2.2 Разрезы и связность
[ПС 14] РАЗБИЕНИЕ ГРАФА
УСЛОВИЕ. Заданы граф G = (V,A), вес w(v)^Z+ каждой
вершины ogV, длина /(е)е Z+ каждого ребра ее?, а также
положительные целые числа К и /.
ВОПРОС. Существует ли такое разбиение множества V на не-
непересекающиеся подмножества V\, V2 Vm, что
X w(v)^.K (для всех i, I ^.i ^К),
ВЕК,
и если Е'^Е— множество ребер, имеющих концы в разных
множествах Vi, то
? /(*)</?
ее=?'
Источник [243]. К этой задаче сводится задача РАЗБИЕНИЕ
НА ТРЕУГОЛЬНИКИ.
Комментарий. Задача остается NP-полной для фиксированного
К~^Ъ даже в том случае, если все веса равны 1. При К = '2
задача может быть решена за полиномиальное время методом
паросочетаний.
[ПС 15] АЦИКЛИЧЕСКОЕ РАЗБИЕНИЕ
УСЛОВИЕ. Заданы ориентированный граф G = (V,A), вес
о;(у)е Z+ каждой вершины iief, стоимость е(а)е Z+ каждой
дуги а^А, положительные целые числа В я К.
ВОПРОС. Существует ли такое, разбиение множества V на не-
непересекающиеся множества Vi, V2, ¦ ¦ ¦, Vm, что ориентирован-
ориентированный граф О' = (Г,Л') (где V' = {Vi,Vt Vm) и (Vi,V,)e-
S/4' тогда и только тогда, когда (y;,i>;)e А для некоторых
Pi e Vi и Vj e V/) является ациклическим, сумма весов вер-
вершин каждого из множеств Vi не превосходит В и сумма стои-
стоимостей всех дуг, имеющих концы в разных множествах, не пре-
превосходит /С?
Источник [152]. К этой задаче сводится задача ТП-3.
Комментарий. Задача остается NP-полной и в том случае, если
w(v)=\ для всех веУи с(а)= 1 для всех а^А. Задача мо-
может быть решена за полиномиальное время, если G содержит
некоторый гамильтонов путь. Последнее свойство для ацикли-
ациклических графов может быть проверено за полиномиальное время
(см. [287]). Если G — дерево, то общая задача NP-полна в
обычном смысле, но может быть решена за псевдополиномиаль-
псевдополиномиальное время (см. [365]). Все три задачи могут быть решены за
полиномиальное время, если веса всех ребер равны между
264 А. Приложение. Список NP-полных задач
собой (см. [194]) или если веса всех вершин равны между со-
собой (см. [152]).
[ПС 16] МАКСИМАЛЬНЫЙ РАЗРЕЗ
УСЛОВИЕ. Заданы граф G={V, Е), вес ai(e)GZ+ каждого
ребра йе?, положительное целое число К-
ВОПРОС. Существует ли разбиение множества V на два таких
непересекающихся множества V\ и Vz, что сумма весов ребер
из Е, соединяющих вершины из множеств V\ и V2, не менее К?
Источник [280]. К этой задаче сводится задача МАКСИМАЛЬ-
МАКСИМАЛЬНАЯ 2-ВЫПОЛНИМОСТЬ.
Комментарий. Задача остается NP-полной, если w (е) = 1 для
всех ее=? (она называется ПРОСТОЙ МАКСИМАЛЬНЫЙ
РАЗРЕЗ), см. [157], и если, кроме того, в графе нет вершин
степени более 3 см. [538]. Если G— пленарный граф, то за-
задача может быть решена за полиномиальное время [195,406].
[ПС 17] МИНИМАЛЬНЫЙ РАЗРЕЗ С ОГРАНИЧЕНИЯМИ
УСЛОВИЕ. Заданы граф G=(V, E) с двумя выделенными вер-
вершинами s, /eV, вес oj(e)eZ+ каждого ребра ее?, а также
положительные целые числа В и К (В ^ | V\).
ВОПРОС. Существует ли разбиение множества V на два та-
таких подмножества V\ и V2, что seVi, /e^, | V\ | ^ В, \ Vz\ ^
^В и сумма весов ребер из Е, соединяющих вершины из V\
и Vz, не превосходит /С?
Источник [157]. К этой задаче сводится задача ПРОСТОЙ
МАКСИМАЛЬНЫЙ РАЗРЕЗ.
Комментарий. Задача остается NP-полной для B = \V\/2 и
если w(e)=l для всех ее?. Если В = |У|, то она может
быть решена за полиномиальное время стандартными методами
теории потоков в сетях.
[ПС 18] ДВУСВЯЗНОЕ ПОПОЛНЕНИЕ
УСЛОВИЕ. Заданы граф G=(V,E), вес w({u, »})eZ+ каж*
дой неупорядоченной пары {и, v} вершин из V и положитель-
положительное целое число В.
ВОПРОС. Существует ли такое множество Е', состоящее из
неупорядоченных пар вершин V, что 2 ш(е)<Ви граф G' =
ее В'
= (V,E{jE') — двусвязен (граф называется двусвязным, если
после удаления любой отдельной вершины он остается связ-
связным)?
A2. Построение сетей 265
Источник [113]. К данной задаче сводится задача ГАМИЛЬ-
ТОНОВ ЦИКЛ.
Комментарий. Близкая задача, в которой граф G' реберно свя-
связан (т. е. не распадается после удаления одного ребра), также
NP-полна. Обе задачи остаются NP-полными, если все веса
равны либо 1, либо 2 и ? пусто. Обе задачи могут быть решены
за полиномиальное время, если все веса равны между собой.
[ПС 19] СИЛЬНО СВЯЗНОЕ ПОПОЛНЕНИЕ
УСЛОВИЕ. Заданы ориентированный граф G = {V,А), вес
w(и, v)e Z+ каждой упорядоченной пары вершин («,»)eVXV
и положительное целое число В.
ВОПРОС. Существует ли такое множество А' упорядоченных
пар вершин из V, что ? w(a)^.B и граф G' = (V, A[)A')
as А'
сильно связен?
Источник [113]. К этой задаче сводится ГАМИЛЬТОНОВ
ЦИКЛ.
Комментарий. Задача остается NP-полной, если все веса рав-
равны 1 или 2, а Л пусто. Может быть решена за полиномиальное
время, если все веса равны между собой.
[ПС 20] НАДЕЖНОСТЬ СЕТИ (*)
УСЛОВИЕ. Заданы граф G = (V,E), подмножество V'sV,
для каждого es? рациональное число р{е), 0^р(е)^1,—
вероятность неисправности, положительное рациональное число
ВОПРОС. Верно ли, что с вероятностью, не меньшей q, любые
две вершины из V соединены по крайней мере одним путем, не
содержащим неисправных ребер. (Предполагается, что неис-
неисправности в ребрах возникают независимо.)
Источник [458]. К этой задаче сводится ДЕРЕВО ШТЕИНЕРА
НА ГРАФЕ.
Комментарий. Принадлежность этой задачи классу NP не уста-
установлена. Задача остается NP-полной даже в том случае, если
|У'|^2 [523]. Аналогичная задача, в которой требуется,чтобы
каждую пару вершин из V соединяли по крайней мере два не-
непересекающихся пути, NP-трудна даже тогда, когда V' = V,
[28]. Если G — ориентированный граф и требуется выяснить,
существует ли ориентированный путь, соединяющий любую
пару упорядоченных вершин в V, то задача NP-трудна как
при |V'| = 2 [523], так и при V = V [27]. Многие задачи
266 А. Приложение. Список NP-полных задач
перечисления подграфов, удовлетворяющих указанным выше
свойствам, КР-полны (см. [523]).
[ПС 21] ВЫЖИВАЕМОСТЬ СЕТИ (*)
УСЛОВИЕ. Заданы граф G=(V, E), для каждого x(eeV\JE
рациональное число р(х), 0^р(х)^\,— "вероятность неис-
неисправности", положительное рациональное число <7^=1-
ВОПРОС. Верно ли, что вероятность того, что для всех {и, у}е
е Е по крайней мере один элемент и, v или {«, v} неисправен,
не меньше q? (В предположении, что неисправности ребер и
вершин независимы.)
Источник [458]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Принадлежность этой задачи классу NP не уста-
установлена.
А.2.3. Задачи о маршрутах
[ПС 22] КОММИВОЯЖЕР
УСЛОВИЕ. Заданы множество С, включающее m городов, рас-
расстояние i(Cj,C()eZ+ между каждой парой городов с,-, С/ е С
и положительное целое число В.
ВОПРОС. Существует ли маршрут длины не более В, прохо-
проходящий через все города из С? Иными словами, существует ли
такая перестановка городов <сЛ(п, cnB), .... cn(m)>, что
? d (ся U)> cn u+d) + d (с„ (m)) cn (,)) < В?
Источник. К задаче сводится задача ГАМИЛЬТОНОВ ЦИКЛ.
Комментарий. Задача остается NP-полной и в том случае,
когда d(с,-, Су) е {1,2} для всех d, Cj e С. Особые, разрешимые
за полиномиальное время случаи этой задачи обсуждаются в
работах [172, 160, 510]. Вариант этой задачи, в котором ищется
маршрут со средним временем прибытия, не превосходящим В,
также NP-полон (см. [469]).
[ПС 23] ГЕОМЕТРИЧЕСКАЯ ЗАДАЧА О КОММИВОЯЖЕРЕ
УСЛОВИЕ. Заданы множество PsZXZ точек на плоскости
и положительное целое число В.
ВОПРОС. Существует ли маршрут длины, не большей В, для
индивидуальной задачи КОММИВОЯЖЕР, в которой С=Р и
d((xu у\), (х2, у2)) — Г ((-«1 — х2J + (#i—{/2JI/21 —евклидово
дискретное расстояние?
Источник [410, 141]. К этой задаче сводится задача ТП-3.
A2. Построение сетей 267
Комментарий. Задача NP-полна в сильном смысле. Она оста-
остается NP-полной в сильном смысле даже в том случае, если рас-
расстояние заменить метрикой типа L\ [141] (или метрикой ?«,,
которая после поворота на 45° становится эквивалентной мет-
метрике Ц). Задача остается NP-трудной в сильном смысле, если
принять обычную (не дискретную) евклидову метрику, но в
этом случае принадлежность этой задачи классу NP не уста-
установлена [141].
[ПС 24] ЗАДАЧА КОММИВОЯЖЕРА С ОГРАНИЧЕННЫМИ
РАССТОЯНИЯМИ
УСЛОВИЕ. Заданы множество С, состоящее из m городов,
расстояние d(c,-,c,)?Z4 между каждой парой городов d,Cj^C
и положительное целое число В.
ВОПРОС. Существует ли маршрут, проходящий через все го-
города и не содержащий ребер длины, большей 5? Т. е. сущест-
существует ли такая перестановка городов <сЛ(п, слB) cn(m)>, что
d(cn(o, Сл«+1)Х В при 1<|</ли d(cnim), слA)Х В?
Источник. К данной задаче сводится ГАМИЛЬТОНОВ ЦИКЛ.
Комментарий. Задача остается NP-полной, даже если d (с,-, с/)е
е{1,2} для всех с,, с,^С. Важный частный случай задачи,
разрешимый за полиномиальное время, описан в работе [172].
[ПС 25] КИТАЙСКИЙ ПОЧТАЛЬОН ДЛЯ СМЕШАННЫХ
ГРАФОВ
УСЛОВИЕ. Заданы смешанный граф G =(V,A,E), где А —
множество ориентированных ребер, Е — множество неориенти-
неориентированных ребер в V; длина l(e)eZ+0 каждого ребра е&А{]Е,
граница В е Z+.
ВОПРОС. Существует ли в графе G цикл длины не более В,
включающий по крайней мере один раз каждое ориентирован-
ориентированное и каждое неориентированное ребро, причем ориентирован-
ориентированные ребра должны входить в цикл только с правильной ориен-
ориентацией?
Источник [480]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если длины всех ребер равны между собой, граф G планарен
и максимум степеней вершин в нем равен 3. Если либо А, либо
Е пусто (т. е. G — либо ориентированный, либо неориентирован-
неориентированный граф), то задача может быть решена за полиномиальное
время [109].
[ПС 26] ЗАДАЧА О ПОДЪЕМНОМ КРАНЕ
УСЛОВИЕ. Заданы смешанный граф G = {V,A, E), длина
Zo" каждого элемента e^A\JE, граница BeZ+,
268 А. Приложение. Список HP-полных задач
ВОПРОС. Существует ли в графе G цикл длины не более В,
включающий каждое ориентированное ребро из А по крайней
мере один раз и проходящий их только в правильном направ-
направлении?
Источник [130]. К этой задаче сводится ГАМИЛЬТОНОВ
ЦИКЛ.
Комментарий. Задача остается NP-полной даже в том случае,
если длины всех ребер равны 1. Аналогичная задача о пути
(с заранее выбранными концами или без них) также NP-полна.
[ПС 27] СЕЛЬСКИЙ ПОЧТАЛЬОН
УСЛОВИЕ. Заданы граф G = (V, Е), длина /(e)eZjf каждого
ребра вЁ?, подмножество Е'SЕ и граница В е Z$.
ВОПРОС. Существует ли в О цикл, включающий каждое ребро
из Е' и имеющий длину не более В?
Источник [335]. К данной задаче сводится ГАМИЛЬТОНОВ
ЦИКЛ.
Комментарий. Задача остается NP-полной даже тогда, когда
/(е)=1 для всех ве?. То же самое верно для ориентирован-
ориентированных графов.
[ПС 28] САМЫЙ ДЛИННЫЙ ЦИКЛ
УСЛОВИЕ. Заданы граф G = (V,E), длина !(e)eZ+ каждого
ребра 6е?, положительное целое число К.
ВОПРОС. Существует ли в G цикл длины не менее К (т. е. та-
такой цикл, сумма длин ребер которого не менее К) ?
Источник. К этой задаче сводится ГАМИЛЬТОНОВ ЦИКЛ.
Комментарий. Задача остается NP-полной и в том случае, если
/(<?)= 1 для всех е??. То же самое верно и для ориентиро-
ориентированных циклов в ориентированных графах. Если G — ориенти-
ориентированный граф турнира и /(е)=1 для всех ее?, то задача
может быть решена за полиномиальное время [393]. Аналогич-
Аналогичные задачи для ориентированных и неориентированных графов,
в которых ищется цикл длины, не превосходящей К, могут быть
решены за полиномиальное время (см., например, [254]), но
если допускаются ребра отрицательной длины, то задача NP-
полна.
[ПС 29] САМЫЙ ДЛИННЫЙ ПУТЬ
УСЛОВИЕ. Заданы граф G = (V,E), длина l(e)eZ+ каждого
ребра 6е?, положительное целое число К, выделенные вер-
вершины s, /eV.
A2. Построение сетей 289
ВОПРОС. Существует ли в графе G простой путь длины, не
меньшей К (т. е. путь, у которого сумма длин ребер не
меньше /С)?
Источник. К этой задаче сводится ГАМИЛЬТОНОВ ПУТЬ
МЕЖДУ ДВУМЯ ВЕРШИНАМИ.
Комментарий. Задача остается NP-полной и тогда, когда /(е) =
= 1 для всех е е Е. То же самое верно для аналогичной задачи
отыскания ориентированного пути в ориентированных графах.
Для ациклических графов задача в общем виде может быть
решена за полиномиальное время [324]. Аналогичные задачи
об ориентированном и неориентированном "кратчайшем пути"
для произвольных графов могут быть решены за полиномиаль-
полиномиальное время (см., например, [324]), но становятся NP-полными,
если допускаются ребра отрицательной длины.
[ПС 30] КРАТЧАЙШИЙ ПУТЬ С ОГРАНИЧЕНИЕМ
ПО ВЕСУ
УСЛОВИЕ. Заданы граф G=(V, Е) с двумя выделенными
вершинами s, /еУ, длина /(e)sZ+, вес o>(e)eZ+ каждого
ребра ее?и положительные целые числа К и W.
ВОПРОС. Существует ли в G простой путь из s в t, веса не
более W и длины не более К}
Источник [380]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Для ориентированных графов задача также NP-
полна. Обе задачи разрешимы за полиномиальное время, если
все веса или все длины равны между собой.
[ПС 31] К КРАТЧАЙШИХ ПУТЕЙ (*)
УСЛОВИЕ. Заданы граф G = (V,E) с двумя выделенными вер-
вершинами s, /еУ, длина l(e)eZ+ каждого ребра ;е?и поло-
положительные целые числа В и К-
ВОПРОС. Существует ли в О К различных путей от s до t,
веса которых не превосходят В?
Источник [260]. К этой задаче сводится по Тьюрингу ГАМИЛЬ-
ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Принадлежность этой задачи классу NP не уста-
установлена. Аналогичная задача о кратчайших циклах также NP-
трудна. Обе задачи остаются NP-трудными и тогда, когда
1(е)= 1 для всех ееЕ. То же самое верно для аналогичных
задач в ориентированных графах. Однако все варианты этой
задачи могут быть решены за псевдополиномиальное время
(т. е. время, ограниченное полиномом от [V\, К и log В) и,
270 А. Приложение. Список NP-полных задач
следовательно, за полиномиальное время при любом фиксиро-
фиксированном значении числа К- Соответствующие перечислительные
задачи КР-полны.
А2.4. Потоковые задачи
[ПС 32] ПОТОК МИНИМАЛЬНОЙ РЕБЕРНОЙ СТОИМОСТИ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) с двумя
выделенными вершинами s и t, пропускная способность с{а)(=
eZ+ и стоимость р (а) е Zo" каждой дуги яеЛ, потребность
R e Z+, граница В е Z+.
ВОПРОС. Существует ли потоковая функция /: А->2ц, обла-
обладающая следующими свойствами:
A) f(a)^.c(a) для всех а е А;
B) ? f ((«¦ "))= Z f((v, и)) для всех v^V\ {s, t) (т. е.
(и, 1)еД (о, и)^А
во всех вершинах v е V \ {s, t] поток сохраняется);
C) ? f((u, t))- X f((t, u))^R (т. е. в вершину / вте-
(u, t)eBA (t, и)ЕЛ
кает поток величины не меньше /?);
D) Е р(а)^В, где Л' = {аеЛ: /(а)=^0}?
А'
Источник [115]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной и тогда, когда
с(а) = 2 и р(а)е{0, 1} для всех аеЛ. Она разрешима за по-
полиномиальное время, если с(а)=1 для всех аеЛ [115] или
если условие D) заменить условием 2 Р (а) ¦ f (a) ^ В (см., на-
пример, [324]). Однако задача остается NP-полной, если усло-
условие D) заменить условием X (р, (a) f (aJ + p2 (a) f (а)Х В [208]-
[ПС 33] ЦЕЛОЧИСЛЕННЫЙ ПОТОК В СЕТИ
С УМНОЖИТЕЛЯМИ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А), выде-
выделенные две вершины s и t, заданы "умножитель" A(w)e Z+ для
каждой вершины v^ V\{s, t}, пропускная способность с(а)^
е Z+ каждой дуги а е А и потребность R e Z+.
ВОПРОС. Существует ли потоковая функция /: A->Zo, такая
что выполнены условия:
A) f(a) ^ с(а) для всех а е Л;
B) для вершин и е V\{s, t} выполнено соотношение
Z А(|»)./((и, о))= S /((»,«));
(u, t|e/ (u, и)е Л
C) в вершину t притекает поток, не меньший R1
A2. Построение сетей 271
Источник [463]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Если h(v)=\ для всех t/e V\{s, t}, то она мо-
может быть решена за полиномиальное время стандартными ме-
методами теории потоков в сетях. Аналогичная задача, в которой
допускаются нецелочисленные потоки, может быть решена ме-
методом линейного программирования.
[ПС 34] ПОТОК В СЕТИ С ОГРАНИЧЕНИЯМИ
УСЛОВИЕ. Заданы ориентированный граф G = {V,A) с двумя
выделенными вершинами s и t, пропускная способность
c(fl)eZ+ каждой дуги а^А, набор Р ориентированных путей
в G и потребность R e Z+.
ВОПРОС. Существует ли такая функция g: P->Zq, что если
/: A—*-Zo —потоковая функция, задаваемая соотношением
f(e) = X ё(р) (гДе Р (a) s P — множество всех путей из Р,
содержащих дугу а), то / удовлетворяет условиям:
A) Да) <; с (а) для всех а е А;
B) в каждой вершине ие V\{s,/} поток сохраняется;
C) в вершину t втекает поток, не меньший /??
Источник [436]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, если все с (а) рав-
равны 1. Аналогичная задача для нецелочисленных потоков экви-
эквивалентна задаче ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ, но
вопрос о не совпадении наилучшего рационального и наилуч-
наилучшего целочисленного потоков является NP-полным.
[ПС 35] ЦЕЛОЧИСЛЕННЫЙ ПОТОК В СЕТИ
С ГОМОЛОГИЧНЫМИ ДУГАМИ
УСЛОВИЕ. Заданы ориентированный граф G = (V,A) с вьц^
ленными двумя вершинами sat, пропускная способность
c(a)eZ+ каждой дуги а^А', потребность R e Z+ и множе-
множество Н ? А X А "гомологичных" пар дуг.
ВОПРОС. Существует ли такая потоковая функция /: A-^-Zq,
что:
A) /(a) sg: с(а) для всех а е А;
B) во всех вершинах ye V\{s, г} поток сохраняется;
C) f{a)= f(a') для всех пар гомологичных дуг <a, a'>e#;
D) в вершину t втекает поток, не меньший /??
Источник [463]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной и в том случае, если
с(а) = 1 для всех аеА (Это можно доказать с помощью
272 А. Приложение. Список NP-полных задач
модификации конструкции из работы [114].) Аналогичная за-
задача с нецелочисленными потоками полиномиально эквивалент-
эквивалентна задаче ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ [251].
[ПС 36] ЦЕЛОЧИСЛЕННЫЙ ПОТОК В СЕТИ
С РАССЛОЕНИЯМИ
УСЛОВИЕ. Заданы ориентированный граф G = (V, А) с выде-
выделенными вершинами s и / и такие "расслоения" /и /2, ..., /* S
Е А, что U // = А, пропускные способности расслоений
ch а, .... ck e Z+, потребность R e Z+.
ВОПРОС. Существует ли такая потоковая функция /: Л-^Zo",
что выполнены следующие условия:
A) X /(а)<С/Для всех /, 1</<й;
B) в каждой вершине v e V\{s, f) поток сохраняется;
C) в вершину / втекает поток, не меньший /??
Источник [463]. К этой задаче сводится НЕЗАВИСИМОЕ
МНОЖЕСТВО.
Комментарий. Если все пропускные способности равны 1 и
каждое расслоение включает только две дуги, то задача остает-
остается NP-полной. Аналогичная задача для нецелочисленных по-
потоков может быть решена с помощью линейного программиро-
программирования.
[ПС 37] НЕОРИЕНТИРОВАННЫЙ ПОТОК,
ОГРАНИЧЕННЫЙ СНИЗУ
УСЛОВИЕ. Заданы граф G = (V, E) с выделенными верши-
вершинами s, t, пропускная способность с(е)е Z+ и нижняя граница
'(e)eZo' для каждого ребра е^Е, потребность i?eZ+.
ВОПРОС. Существует ли такая потоковая функция
f: {(и, v), (v, и) : {и, v}<=E}-+ Zo+,
что выполняются следующие условия:
A) для любого {и, а}е ? либо {((и, v)) = 0, либо f((v, u)) = 0;
B) /(e)<max{/((u,w)), f({v,u))}^c(e) для всех е = {«,и}е=
C) во всех вершинах v e У\{я, t} поток сохраняется;
D) в вершину / втекает поток, не меньший R?
Источник [251]. К этой задаче сводится ВЫПОЛНИМОСТЬ.
Комментарий. Задача NP-полна в сильном смысле даже в слу-
случае нецелочисленных потоков. Аналогичная задача для ориен-
ориентированных графов может быть решена за полиномиальное вре-
A2. Построение сетей 273
мя даже в том случае, если вместо потока, не меньшего R, ис-
искать поток, не больший R [1251 (см. также [324]). Аналогич-
Аналогичная задача ОРИЕНТИРОВАННЫЙ М-ПРОДУКТОВЫИ ПО-
ПОТОК, ОГРАНИЧЕННЫЙ СНИЗУ при всех М ^ 2 и нецелочис-
нецелочисленных потоках, полиномиально эквивалентна задаче ЛИНЕЙ-
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ [251].
[ПС 38] ОРИЕНТИРОВАННЫЙ ДВУХПРОДУКТОВЫИ
ЦЕЛОЧИСЛЕННЫЙ ПОТОК
УСЛОВИЕ. Заданы ориентированный граф G = (V,A) с выде-
выделенными вершинами sit $2, t\ и /г, пропускная способность
c(h)gZ+ каждой дуги а^А, потребности R\, SjeZ+.
ВОПРОС. Существуют ли такие две потоковые функции fu /2:
A-*-Zq, что
A) /i(o)+ /2(a)^ с(а) для всех ае А;
B) поток /,- (ie{l,2}) сохраняется во всех вершинах иг
{f};
C) для is{1,2} поток fi, втекающий в вершину U, не мень-
меньше R?
Источник [114]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если с(а)=\ для всех аеЛ и R{ = 1. Вариант задачи, в ко-
котором s\ = s2, ti = t2 и по дугам может передаваться только
один конкретный продукт (для каждой дуги свой), также яв-
является NP-полным (это следует из работы [114]). Аналогичная
М-продуктовая задача с нецелочисленными потоками при всех
М ^ 2 полиномиально эквивалентна задаче ЛИНЕЙНОЕ ПРО-
ПРОГРАММИРОВАНИЕ [251].
[ПС 39] НЕОРИЕНТИРОВАННЫЙ ДВУХПРОДУКТОВЫИ
ЦЕЛОЧИСЛЕННЫЙ ПОТОК
УСЛОВИЕ. Заданы граф G = (V,E) с выделенными верши-
вершинами Si, 5г, U и h, пропускная способность c(«)eZ+ каждой
дуги ее?, потребности Ru /?as Z+.
ВОПРОС. Существуют ли такие две потоковые функции
/ь /2: {(«1 w)t (»t «): {«• о}} -> Z^, что выполняются следующие
условия:
A) для любого {u,v}^E и ('г{1,2} либо fi((u,v)) = 0, либо
f{((v,u)) = 0;
B) для всех {ы, о} е ? выполнено соотношение max{f,((«, о)),
/i((o. «))} + max{/2((«, о)), /, ((о, м))}<с({и, о»;
C) поток f( (ie(l,2}) сохраняется во всех вершинах не
274 А. Приложение. Список NP-полных задач
D) для ie{l,2} поток fi, втекающий в вершину U, не мень-
меньше /?,-.
Источник [114]. К этой задаче сводится ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ДВУХПРОДУКТОВЫИ ЦЕЛОЧИСЛЕННЫЙ ПОТОК.
Комментарий. Задача остается NP-полной даже в том случае,
если с(е)=1 для всех ее?. Она разрешима за полиномиаль-
полиномиальное время, если с(е) четно для всех ееЕ. Аналогичная задача
для нецелочисленных потоков может быть решена за полино-
полиномиальное время.
[ПС 40] НЕПЕРЕСЕКАЮЩИЕСЯ СОЕДИНЯЮЩИЕ
ПУТИ
УСЛОВИЕ. Заданы граф G = (V, Е) и набор непересекающих-
непересекающихся пар вершин (SlJl), (S2,t2), ¦•-, {SkJk).
ВОПРОС. Верно ли, что в G содержится k путей, попарно не
имеющих общих вершин и соединяющих s, и U (для всех i,
?
Источник [269, 281, 366]. К этой задаче сводится 3-ВЫП.
Комментарий. Для пленарных графов задача остается NP-пол-
NP-полной [366]. Для любого фиксированного k ^ 2 сложность за-
задачи остается открытой, но для планарных или транзитивных
графов при k = 2 задача разрешима за полиномиальное время
[424]. (Для общей задачи при k = 2 полиномиальный алгоритм
был анонсирован в работе [487].) Аналогичная задача для пла-
планарных или ациклических ориентированных графов G при k = 2
разрешима за полиномиальное время, а для общих ориентиро-
ориентированных графов NP-полна [424].
[ПС 41] МАКСИМАЛЬНОЕ ЧИСЛО ОГРАНИЧЕННЫХ
НЕПЕРЕСЕКАЮЩИХСЯ ПУТЕЙ
УСЛОВИЕ. Заданы граф G = (V, E) с выделенными верши-
вершинами s и t, а также положительные целые числа / и K(J,K^.
<\v\).
ВОПРОС. Верно ли, что в графе G содержится не менее У пу-
путей из s в t, попарно не имеющих общих вершин и включаю-
включающих не более К ребер?
Источник [252]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного К ^ 5. При К ^ 4 она разрешима за полиномиаль-
полиномиальное время. Задача, в которой ищутся пути, не пересекающиеся
только по ребрам, NP-полна при всех фиксированных К ^ 5,
она разрешима за полиномиальное время для К ^ 3 и открыта
для К — 4. Те же самые результаты имеют место и в том слу-
A2 Построение сетей 275
чае, если граф и искомые пути ориентированы. Задача отыска-
отыскания максимального числа непересекающихся путей из s в / без
ограничения на их длину стандартными потоковыми методами
разрешается за полиномиальное время (как в случае путей, не
пересекающихся по вершинам, так и в случае путей, не пересе-
пересекающихся по ребрам).
[ПС 42] МАКСИМАЛЬНОЕ ЧИСЛО
НЕПЕРЕСЕКАЮЩИХСЯ ПУТЕЙ
ФИКСИРОВАННОЙ ДЛИНЫ
УСЛОВИЕ. Задан граф G = {V, E) с выделенными вершинами
s и t а заданы положительные целые числа / и /((У, К ^| V\).
ВОПРОС. Верно ли, что в G содержится не менее У путей
из s в t, попарно не пересекающихся по вершинам и включаю-
включающих ровно К ребер?
Источник [252]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для всех К ^ 4. При
Л"^ 3 она разрешима за полиномиальное время. Аналогичная
задача для путей, не пересекающихся по ребрам, NP-полна для
любого фиксированного К ^ 4, задача разрешима за полино-
полиномиальное время при К ^ 2 и открыта при К = 3. Эти же ре-
результаты имеют место для ориентированных графов и путей, с
той лишь разницей, что вариант задачи, в котором ищутся пути,
не пересекающиеся по дугам, разрешается за полиномиальное
время при К = 3 и открыт при К = 4.
А2.5. Разное
[ПС 43] КВАДРАТИЧНАЯ ЗАДАЧА О НАЗНАЧЕНИИ
УСЛОВИЕ. Заданы неотрицательные целочисленные стоимости
сц, 1 =?^ с, / ^ п, расстояния йы, 1 ^ k, I =^ m, и граница fleZf.
ВОПРОС. Существует ли такое однозначное отображение
f: {1,2, ..., п}->{1,2, ..., т},что
л П
Zj Cijdf a) f (i) ^ B?
/-i
Источник [469]. К этой задаче сводится ГАМИЛЬТОНОВ
ЦИКЛ.
Комментарий. Частный случай этой задачи, когда dki = k — /,
сц = сц и с,/<={0, 1}, называется задачей ОПТИМАЛЬНОЕ
ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ и является NP-полной. Общая
задача обсуждается, например, в книге [161].
276 А. Приложение. Список HP-полных задач
[ПС 44] МИНИМИЗАЦИЯ ЧИСЛА ФИКТИВНЫХ РАБОТ
В СЕТИ ПЕРТ
УСЛОВИЕ. Заданы ациклический граф G = (V, А) (в котором
вершины представляют задания, а дуги — ограничения пред-
предшествования) и положительное целое число K^|V|.
ВОПРОС. Существует ли сеть типа ПЕРТ, соответствующая
графу G и имеющая не более К фиктивных дуг? Иными сло-
словами, существует ли такой ориентированный ациклический
граф G' = (V, А') (где V' = {vj; v+:v,f=V) и {(v;, v+:vte
eV}s.A'}), что | A' |^| V | + К и в G' существует путь от vf
к vj тогда и только тогда, когда в G существует путь от vt
К О/?
Источник [307]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
[ПС 45] ТРИАНГУЛЯЦИЯ С ОГРАНИЧЕНИЕМ
УСЛОВИЕ. Заданы граф G = (V, Е), координаты x(v), t/(o)s
г Z каждой вершины иеУ.
ВОПРОС. Существует ли такое подмножество Е' s E, что мно-
множество прямолинейных отрезков {[(х(и), у {и)), (x(v), y(v))]}:
: {и, и}е?' на плоскости представляет собой триангуляцию
множества точек {(x(v), y(ti)):»e V}?
Источник [359].
Комментарий. Задача является NP-полной в сильном смысле.
[ПС 46] ГРАФ ПЕРЕСЕЧЕНИЯ ОТРЕЗКОВ РЕШЕТКИ
УСЛОВИЕ. Заданы граф G=(V, E) и положительные целые
числа М, N.
ВОПРОС. Верно ли, что G представляет собой граф пересече-
пересечения множества прямолинейных отрезков решетки MX.N}
Иначе говоря, существует ли такое взаимно-однозначное ото-
отображение f множества вершин V в множество прямолинейных
отрезков плоскости с концами (х, у) и (г, ш) (где l^x^z^.M,
I ^ у ^w ^ N и либо х = z, либо y = w), что {и, v) e E
тогда и только тогда, когда отрезки f (и) и f(v) пересекаются?
Источник [168]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Аналогичная задача, в которой спрашивается:
„Верно ли, что G представляет собой граф пересечения прямо-
прямоугольников решетки МУ(№" также является NP-полной
[168],
A2. Построение сетей 877
[ПС 47] ВЛОЖЕНИЕ РЕБЕР В РЕШЕТКУ
УСЛОВИЕ. Заданы граф G = (V, Е) и положительные целые
числа М и N.
ВОПРОС. Существует ли такое взаимно-однозначное отобра-
отображение /: V-*{1, 2 M}X{L 2 N), что если {и, v)<=E,
f(u) = (xi,yi) и f(v)~(x2,if2), то либо хх = ха, либо у\=уг
(т. е. /(и) и f(v) расположены на общей для них "линии" ре-
решетки) ?
Источник [168]. К этой задаче сводится 3-РАЗБИЕНИЕ.
[ПС 48] ГЕОМЕТРИЧЕСКИ СВЯЗАННОЕ
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО
УСЛОВИЕ. Заданы множество точек на плоскости .P = ZXZ,
положительные целые числа В и К.
ВОПРОС. Существует ли такое подмножество Р' s P, что
|/"|<;/С, каждая точка множества Р\Р' находится на евкли-
евклидовом расстоянии, не превосходящем В, от некоторой точки мно-
множества Р' и граф G = (Рг, Е) связен (в графе G две вершины
соединены ребром тогда и только тогда, когда евклидово рас-
расстояние между ними не превосходит В)?
Источник [344]. К этой задаче сводится ПЛАНАРНАЯ 3-ВЫП.
Комментарий. Задача остается NP-полной и в том случае, если
евклидова метрика заменяется метрикой типа L\ или Loo [152].
[ПС 49] МИНИМАЛЬНОЕ ВРЕМЯ ПЕРЕДАЧИ
СООБЩЕНИЯ
УСЛОВИЕ. Заданы граф G = (V, Е), подмножество VoSV ъ
положительное целое число К.
ВОПРОС. Можно ли за время, не превосходящее К, "передать"
сообщение от базисного множества Vo ко всем другим верши-
вершинам? Иначе говоря, существует ли такая последовательность
Vo, Eh Vi, Еъ .... EKt VK, что ViS V, ?/ = ?, V* = V и для
всех t", I ^ i ^ К, выполнены условия: A) ровно один конец
каждого ребра из множества Ei принадлежит множеству Vi-\\
B) никакие два ребра из множества ?< не имеют общего конца
и C) Vi = Vi-i U {v: {и, v} e= ?,}?
Источник [152]. К этой задаче сводится 3-С. Дальнейшие све-
сведения об этой задаче можно найти в работе [121].
Комментарий. При любом фиксированном К ^ 4 задача ЛФ-пол-
на, а при К = 1 решается за полиномиальное время с помощью
метода паросочетаний. В случае когда | Vo | = 1, задача остается
278 А. Приложение. Список HP-полных задач
NP-полной, но если G — дерево, то она разрешима за полино-
полиномиальное время [83].
[ПС 50] МИНИМАКСНОЕ МНОЖЕСТВО ЦЕНТРОВ
УСЛОВИЕ. Заданы граф G = (V, Е), вес w (v) e Zt каждой вер-
вершины »еУ, длина i(c)eZj каждого ребра ее?, положи-
положительное целое число ^^ |V| и положительное рациональное
число В.
ВОПРОС. Существует ли такое множество Р мощности К, "со-
"состоящее из точек на G" (точкой на G называется либо вершина
графа G, либо точка на ребре йе?, где е рассматривается как
прямолинейный отрезок длины 1{е)), что если d(v) — длина
кратчайшего пути от вершины v до ближайшей к ней точке из
Р, то max{d(v)-w(v): !;el/}<B?
Источник [278]. К этой задаче сводится ДОМИНИРУЮЩЕЕ
МНОЖЕСТВО.
Комментарий. Эта задача известна также под названием задачи
о "р-центрах". Задача остается NP-полной и тогда, когда
ги(и)= 1 для всех сеУи /(е) = 1 для всех ее?. Для любого
фиксированного К и для произвольного К при условии, что
G — дерево, задача разрешима за полиномиальное время [278].
Вариант этой задачи, в котором Р — подмножество вершин, так-
также NP-полон, но если К фиксировано или G — дерево, то раз-
разрешим за полиномиальное время [493].
[ПС 51] МНОЖЕСТВО ЦЕНТРОВ С МИНИМАЛЬНОЙ
СУММОЙ
УСЛОВИЕ. Заданы граф G = (V, Е), вес w (v) e Zo" каждой вер-
вершины оеУ, длина /(e)eZ0+ каждого ребра ее?, положи-
положительное целое число /С^|У| и положительное рациональное
число В.
ВОПРОС. Существует ли такое множество Р, состоящее из К
"точек на G", что если d{v)—длина кратчайшего пути от v до
ближайшей к ней точки из Р, то X d (v) ¦ w (v) ^ В?
не V
Источник [279]. К этой задаче сводится ДОМИНИРУЮЩЕЕ
МНОЖЕСТВО.
Комментарий. Эта задача известна также под названием за-
задачи о "р-медиане". Можно показать, что условие Р ^ V не
ограничивает общности задачи. Задача остается NP-полной,
если ш(у)= 1 для всех oel/ и /(е)= 1 для всех е^Е. Если
К фиксировано или если К произвольно, a G — дерево, то за-
задача разрешима за полиномиальное время.
A3. Множества и разбиения 279
A3. МНОЖЕСТВА И РАЗБИЕНИЯ
А3.1. Покрытие, представители и расщепление
[МР 1] ТРЕХМЕРНОЕ СОЧЕТАНИЕ C-С)
УСЛОВИЕ. Задано подмножество Mgf-Х^ХУ (где W, X,
У—непересекающиеся множества, содержащие по q элементов).
ВОПРОС. Верно ли, что в М содержится 3-сочетание? Иными
словами, существует ли такое подмножество М' s М, что \М'\ =
= q и никакие два элемента не имеют ни одной одинаковой
координаты?
Источник [280]. К этой задаче сводится 3-ВЫП (см. разд. 3.1.2).
Комментарий. Задача остается NP-полной и в том случае, если
М "совместимо по парам", т. е. для любых элементов a, b н с
имеет место свойство: если существуют такие элементы до, х и у,
что (а, Ь, «/) е М, (а, х, с) е М и (до, Ь, с)е М, то (а, Ь, с)еМ
(это утверждение следует из доказательства теоремы 3.1.2). За-
Задача остается NP-полной и тогда, когда ни один элемент не
входит более чем в три тройки, однако если нет элементов, со-
содержащихся более чем в двух тройках, то задача разрешима
за полиномиальное время [152]. Близкая задача ПАРОСОЧЕ-
ТАНИЕ (в которой MgfX^) также разрешима за полино-
полиномиальное время (см., например, [324]).
[МР 2] ТОЧНОЕ ПОКРЫТИЕ 3-МНОЖЕСТВАМИ (ТП-3)
УСЛОВИЕ. Заданы множество Х- (такое, что |.К| = 3<7), набор
С подмножеств множества /Y, содержащих по 3 элемента.
ВОПРОС. Верно ли, что С содержит точное покрытие множе-
множества X, т. е. такой поднабор С s С, что любой элемент из X
принадлежит ровно одному подмножеству семейства С?
Источник [280]. К этой задаче сводится 3-С.
Комментарий. Задача остается NP-полной и тогда, когда ни
один элемент из X не принадлежит более чем трем подмножест-
подмножествам семейства С, но если ни один элемент не принадлежит более
чем двум подмножествам семейства С, то задача разрешима
за полиномиальное время [152]. Близкая задача ТОЧНОЕ ПО-
ПОКРЫТИЕ 2-МНОЖЕСТВАМИ также разрешима за полино-
полиномиальное время (с помощью метода паросочетаний).
[МР 3]УПАКОВКА МНОЖЕСТВ
УСЛОВИЕ. Заданы набор С конечных множеств, положитель-
положительное число К ^ |С\.
ВОПРОС. Верно ли, что множество С содержит по крайней
мере К непересекающихся множеств?
280 А. Приложение. Список NP-полных задач
Источник [280]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной, даже если |с|^3
для всех сеС. С помощью метода паросочетаний задача ре-
решается за полиномиальное время, когда |с|^2 для всех се С.
[МР 4] РАСЩЕПЛЕНИЕ МНОЖЕСТВА
УСЛОВИЕ. Задан набор С подмножеств множества 5.
ВОПРОС. Существует ли такое разбиение множества 5 на два
подмножества, что ни одно подмножество из С не содержится
целиком ни в Si, ни в S2?
Источник [360]. К этой задаче сводится 3-ВЫП ПРИ РАЗ-
РАЗЛИЧНЫХ ЛИТЕРАЛАХ. Эта задача известна также под на-
названием РАСКРАШИВАЕМОСТЬ ГИПЕРГРАФА В ДВА
ЦВЕТА.
Комментарий. Задача остается NP-полной, даже когда |с|^3
для всех се С. Если |с|^2 для всех се С, (такая задача
называется РАСКРАШИВАЕМОСТЬ ГРАФА В ДВА ЦВЕТА),
то задача разрешима за полиномиальное время.
[МР 5] МИНИМАЛЬНОЕ ПОКРЫТИЕ
УСЛОВИЕ. Заданы набор С подмножеств конечного множества
S, положительное целое число /С^ \С\.
ВОПРОС. Верно ли, что С содержит покрытие мощности не
более Ю Иными словами, существует ли такое подмножество
С'^С, что |С'|<;/( и любой элемент из S принадлежит по
крайней мере одному подмножеству из С?
Источник [280]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной даже тогда, когда
|с|^3 для всех се С. С помощью метода паросочетаний за-
задача решается за полиномиальное время, если |с|^2 для всех
се С.
[МР 6] МИНИМАЛЬНОЕ МНОЖЕСТВО ТЕСТОВ
УСЛОВИЕ. Заданы набор С подмножеств конечного множества
S и положительное целое число /С^|С|.
ВОПРОС. Существует ли такой поднабор Се С, что |С'|^/С
и для каждой пары различных элементов и, veC существует
тест С е С, содержащий ровно один из них?
Источник [152]. К этой задаче сводится 3-С.
Комментарий. Задача остается NP-полной, если |с|^3 для
любого се С1). Вариант этой задачи, когда С может содер-
') Дж. К. Ленстра указал нам, что эта задача остается NP-лолной даже
в том случае, когда |с| ^ 2 для любого с «С— Дополнение авторов.
A3. Множества и разбиения 281
жать не только множества из С, но и их объединения, также
NP-полон [247].
[МР 7] БАЗИС СЕМЕЙСТВА МНОЖЕСТВ
УСЛОВИЕ. Заданы набор С подмножеств конечного множества
S и положительное целое число К <[ \С\.
ВОПРОС. Существует ли такой набор В подмножеств мно-
множества S, что \В\ = К и для каждого подмножества сеСвВ
существует такой поднабор, что объединение множеств этого
поднабора совпадает с с?
Источник [499]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача NP-полна, если |с|<! 3 для любого се С,
и становится тривиальной, если |с|^2 для каждого се С.
[МР 8] МНОЖЕСТВО ПРЕДСТАВИТЕЛЕЙ
УСЛОВИЕ. Заданы набор С подмножеств конечного множества
S и положительное целое число #^|S|.
ВОПРОС. Существует ли такое подмножество S' = S, что
|S'|^ К и S' содержит по крайней мере один элемент каждого
подмножества из С?
Источник [280]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной даже в том случае,
если |с| sg: 2 для всех се С.
[МР 9] МОДЕЛЬ ПЕРЕСЕЧЕНИЯ МНОЖЕСТВ
УСЛОВИЕ. Задана матрица А = (ац) порядка лХ«с элемен-
элементами из Z*.
ВОПРОС. Существует ли такой набор множеств С = {Си Сг,...
..., Сп), что для всех f, / A ^ i, j^n) имеет место равенство
|СС|?
Источник [77]. К этой задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В ТРИ ЦВЕТА.
Комментарий. Задача остается NP-полной даже тогда, когда
аи =s 3 для всех i, I ^ i < m (и следовательно, все множества
С/ имеют мощность, равную 3). Если аи = 2, то задача экви-
эквивалентна задаче о распознавании реберного графа и, следова-
следовательно, разрешима за полиномиальное время (см., например,
[196]).
282 А. Приложение. Список NP-полных задач
[МР 10] СРАВНИТЕЛЬНОЕ СОДЕРЖАНИЕ
УСЛОВИЕ. Заданы два набора R = {Ru R2, ..., Rk) и S =
= {Si, S2, ..., 5;} подмножеств конечного множества X и для
всех /и у A ^ i ^ k, 1 < / < /) веса w (/?,). шEу)е Z+.
ВОПРОС. Существует ли такое подмножество Y^X, что
Источник [429]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной даже в том случае,
если все подмножества из наборов R и S имеют веса, равные 1
[152].
[МР 11] ПЕРЕСЕЧЕНИЕ ТРЕХ МАТРОИДОВ
УСЛОВИЕ. Заданы три матроида: (?, F\), (E, F2), (Е, F3) и
положительное целое число /С^|?|. (Матр'оидом (Е, F) на-
называется множество элементов Е и такое непустое семейство F
подмножеств множества Е, что выполнено два условия: A) если
Sef, то и любое подмножество множества 5 принадлежит F,
если для двух множеств S, S'eF выполнено соотношение
|S'|-f- 1, то найдется такой элемент eeSXS', что
lf)
Sef, то
и B) есл
|S| = |S'|
(S'UWl
ВОПРОС. Существует ли такое подмножество Е' е Е, что
\Е'\ = К nE'^Fxr\F2()F3->
Источник. К этой задаче сводится 3-С.
Комментарий. Аналогичная зада.ча ПЕРЕСЕЧЕНИЕ ДВУХ
МАТРОИДОВ может быть решена за полиномиальное время
даже в том случае, если матроиды заданы посредством поли-
полиномиальных алгоритмов, распознающих его составляющие. При
этом можно допустить даже, чтобы элементы ее? имели веса
ay(e)eZ+, а цель заключается в отыскании такого множества
Е1 е F\f\F2, что его вес максимально возможный (см., напри-
например, [324]).
А3.2. Задачи о множествах с взвешенными элементами
[МР 12] РАЗБИЕНИЕ
УСЛОВИЕ. Заданы конечное множество А и размеры s(a)eZ+
всех элементов оёА
ВОПРОС. Существует ли такое подмножество Af ^ А, что
I s(e)= E s(a)?
А' А\А'
Источник [280]. К этой задаче сводится 3-С (см. разд. 3.1.5).
A3. Множества и разбиения 283
Комментарий. Задача остается NP-полной даже в том случае,
если потребовать, чтобы | А'\ = | /4|/2, или если задано упоря-
упорядочение аи а2, ... а2п элементов множества А и требуется,
чтобы А' содержало ровно один элемент из каждой пары
Я21-1, a2i (I ^t^rt). Все эти задачи, однако, могут быть ре-
решены методом динамического программирования за псевдопо-
псевдополиномиальное время (см. разд. 4.2).
[МР 13] СУММА РАЗМЕРОВ
УСЛОВИЕ. Заданы конечное множество А, размеры s(a) = Z+
всех элементов а е А и положительное целое число В.
ВОПРОС. Существует ли такое подмножество А''¦= А, что
сумма размеров его элементов равна В?
Источник [280]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача разрешима за псевдополиномиальное
время (см. разд. 4.2).
[МР 14] ПРОИЗВЕДЕНИЕ РАЗМЕРОВ
УСЛОВИЕ. Заданы конечное множество А, размеры s(fl)eZ+
всех элементов а е А и положительное целое число В.
ВОПРОС. Существует ли такое подмножество A's А, что про-
произведение размеров его элементов равно В?
Источник [538]. К этой задаче сводится ТП-3.
Комментарий1). Задача разрешима за псевдополиномиальное
время от |А|, max{s(a): оеЛ}.,
[МР 15] 3-РАЗБИЕНИЕ
УСЛОВИЕ. Заданы множество А, состоящее из Зт элементов,
граница 6gZ+ и такие размеры s(a)eZ+ всех элементов
а <= Л, что В/4 < s(a)< В/2 и ? s(a)=mB.
аеА
ВОПРОС. Можно ли множество А так разбить на m непересе-
непересекающихся подмножеств А\, Л2, ;.., Ат, что для любого i
A^/^m) выполнено соотношение X s{a) = B (заметим,
оеЛ(
что каждое множество А должно содержать ровно три эле-
элемента)?
Источник [145]. К этой задаче сводится 3-С (см. разд. 4.2).
Комментарий. Задача NP-полна в сильном смысле.
') На неточность в комментарии к этой задаче, допущенную в первом
издании, указал нам Т. Ибараки. — Дополнение авторов.
284 А. Приложение. Список NP-полных задач
[МР 16] ТРЕХМЕРНОЕ СОЧЕТАНИЕ С ОГРАНИЧЕНИЯМИ
ПО ВЕСУ
УСЛОВИЕ. Заданы непересекающиеся множества W, X и У, со-
содержащие по т элементов каждое, размер s(q)eZ+ каждого
элемента a^W[}X\JY и граница В е Z+.
ВОПРОС. Можно ли множество W\JX[)Y так разбить на т
непересекающихся множеств Аи А2 ..., Ат, что каждое А со-
содержит по одному элементу из каждого множества W, X и У и
для всех i A ^ i s^ m) выполнены соотношения
Источник [152]. К этой задаче сводится 3-С (см. доказатель-
доказательство теоремы 4.4).
Комментарий. Задача NP-полна в сильном смысле.
[МР 17] ПАРОСОЧЕТАНИЕ С ОГРАНИЧЕНИЯМИ ПО ВЕСУ
УСЛОВИЕ. Заданы непересекающиеся множества X и У, каж-
каждое из которых содержит m элементов, размеры s(a)eZ+ всех
элементов a^XTJY и вектор ограничений <Bi, В2, ..., Вту
с положительными целыми координатами.
ВОПРОС. Можно ли множество X [} У так разбить на т непере-
непересекающихся множеств А\, А2, ..., Ат, каждое из которых со-
содержит по одному элементу из X и У, что 2 s (°)е Bi Для
всех i A ^/ < т)?
Источник. К этой задаче сводится ТРЕХМЕРНОЕ СОЧЕТА-
СОЧЕТАНИЕ С ОГРАНИЧЕНИЯМИ ПО ВЕСУ.
Комментарий. Задача NP-полна в сильном смысле, но разре-
разрешима за полиномиальное время, если В\ = В2 = ... = Вт.
[МР 18] МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ СУММЫ
КОМПОНЕНТ
УСЛОВИЕ. Заданы набор С m-мерных векторов v = (vi, v2, ...
..., vm) с целыми неотрицательными координатами, положи-
положительные целые числа К а В.
ВОПРОС. Можно ли так разбить С на непересекающиеся под-
подмножества Си Сг, .... Ск, что
Источник [152]. К этой задаче сводится ТП-3. Эта задача была
предложена в работе [534] и соответствует задаче об отыскании
A3. Множества и разбиения 285
разбиения, максимизирующего математическое ожидание наи-
наибольшей из сумм компонент в предположении, что все мно-
множества разбиения равновероятны.
Комментарий. Задача NP-полна даже тогда, когда все компо-
компоненты векторов есть 0 или 1. Разрешима за полиномиальное
время, если К фиксировано. Вариант этой задачи, в котором
ищется разбиение на К непустых множеств, дающее сумму не
более В, является NP-полным и тогда, когда К = 3 и все ком-
компоненты векторов есть 0 или 1.
[МР 19] МИНИМУМ СУММЫ КВАДРАТОВ
УСЛОВИЕ. Заданы конечное множество А, размер s(a)sZ+
каждого элемента аеД положительные целые числа К и /
(К<\А\).
ВОПРОС. Можно ли множество А так разбить на К непересе-
непересекающихся множеств Аи А2, .... Ак, что
Источник. К этой задаче сводится РАЗБИЕНИЕ или 3-РАЗ-
БИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле. Она NP-
полна в обычном смысле и разрешима за псевдополиномиаль-
псевдополиномиальное время при любом фиксированном К. Варианты этой задачи,
в которых ограничение числа множеств К заменяется либо огра-
ограничением на максимальную мощность множеств, либо ограни-
ограничением на максимум общего размера множеств, также NP-пол-
ны в сильном смысле [535]. Во всех случаях NP-полнота
задачи сохраняется при замене показателя 2 на любое рацио-
рациональное число a > 1.
[МР 20] К-е ПО ПОРЯДКУ ПОДМНОЖЕСТВО (*)
УСЛОВИЕ. Заданы конечное множество А, размер s(o)eZ+
каждого элемента а е А, положительные целые числа К я В.
ВОПРОС. Верно ли, что существует не менее К различных под-
подмножеств А' = А, сумма размеров элементов которых не пре-
превосходит В?
Источник [260]. К этой задаче сводится СУММА РАЗМЕРОВ.
Комментарий. Принадлежность этой задачи классу NP не уста-
установлена. Задача разрешима за псевдополиномиальное время
(за время, ограниченное полиномом от К, \А\ и In2s(a)) [322].
Соответствующая задача перечисления КР-полна.
286 А. Приложение. Список NP-полных задач
[МР 21] ВЕКТОР К-й ПО ВЕЛИЧИНЕ (*)
УСЛОВИЕ. Заданы подмножества Хи Х2, ..., Хт = Z+, размер
5 (х) е Z+ каждого элемента х е Xi A ^ i ^ т) и положитель-
положительные целые числа К, В.
ВОПРОС. Верно ли, что существует не менее К различных
m-мерных векторов (jci, х2, .... хт)еХ\XХ2X ... Х^т, та-
ких, что X s (*г) sS* В?
Источник [261]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Принадлежность этой задачи классу NP не из-
известна. Задача разрешима за полиномиальное время при фик-
фиксированном К, а в общем случае разрешима за псевдополино-
псевдополиномиальное время (время, ограниченное полиномом от К, ^\Xi\
и ln^s(x)). Соответствующая задача перечисления КР-полна.
А4. ХРАНЕНИЕ И ПОИСК ДАННЫХ
А4.1. Хранение данных
[ХП 1] УПАКОВКА В КОНТЕЙНЕРЫ
УСЛОВИЕ. Заданы конечное множество U предметов, размер
s(u)eZ+ каждого предмета u^U, положительное целое число
В — вместимость контейнера, положительное целое число К.
ВОПРОС. Существует ли такое разбиение множества V на не-
непересекающиеся подмножества U\, Uz, ¦ ¦ ¦, Uk, что сумма раз-
размеров предметов из каждого подмножества щ не превосходит В?
Источник К этой задаче сводятся РАЗБИЕНИЕ И 3-РАЗБИЕ-
НИЕ.
Комментарий. Задача NP-полна в сильном смысле. Для каж-
каждого фиксированного К ^ 2 она NP-полна и разрешима за
псевдополиномиальное время. Методом полного перебора при
любом фиксированном В задача решается за полиномиальное
время.
[ХП 2] ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ
УСЛОВИЕ. Заданы множество элементов данных Л, размер
s(a)eZ+ каждого элемента данных аеД время поступления
r(a)^Z? и время d(a)eZ+ окончания работы с элементом
данных а^А, положительное целое число D — размер области
памяти.
ВОПРОС. Существует ли для множества элементов данных А
допустимое распределение памяти? Иначе говоря, существует
A4. Хранение и поиск данных 287
ли такая функция о: /4-»- {1, 2 D}, что для каждого эле-
элемента аеЛ интервал
!{a) = [o(a),o(a) + s(a)-l]
содержится в [1, D], причем для любых а, а'^А, если мно-
множество 1(а)(]1(а') не пусто, то либо d(a)^ г(а'), либо d(a')s?i
()?
Источник [501]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле даже в том
случае, если s(a)e {1, 2} для всех as А Если размеры всех
элементов данных одинаковы, то задача решается за полино-
полиномиальное время алгоритмами раскраски интервальных графов
(см., например, [163]).
[ХП 3] МИНИМИЗАЦИЯ ПАМЯТИ ДЛЯ СТРУКТУРЫ
ДАННЫХ «PRUNED TRIE»1)
УСЛОВИЕ. Заданы конечное множество S, семейство F функ-
функций вида /: S-»-Z+ и положительное целое число К.
ВОПРОС. Существует ли такая последовательность f: 5-»-Z+
различных фУнкЦии из F< что Для каждой пары элементов
a, 6gS существует такое / (l^i's^m), что fi(a)=? fi(b) и
m
X N (i) ^ К (где N @ — число различных i-мерных векторов
i — \
Х = (х\, х2, .... Xi), для которых имеются по крайней мере 2
элемента cud, такие, что (f\{c), fi(c), .... А(С)) = (ЫО
hid) f X
Источник [87]. К этой задаче сводится 3-С.
Комментарий. Задача остается NP-полной и тогда, когда все
f^F принимают значения в множестве {0, 1}. Варианты за-
задачи, возникающие при замене структуры данных "pruned trie"
структурой данных "full trie", "collapsed trie" или "pruned
O-trie", также NP-полны. Близкая задача "минимизация вре-
времени доступа" также NP-полна для задачи со структурой дан-
данных pruned trie, в которой ищется последовательность (f\, f2, ...
• ••. fn) функций из F, различающих (как и выше) любые два
элемента из S, и обладающая тем свойством, что ? L (а) < К,
ac=S
(где время доступа L(a) к элементу ае5 определяется как
наименьшее из таких i, для которых не существует такого
') Термин "trie" восходит к работе Е. Fredkin "Trie memory". Comm. of
the ACM, 1960, 3, 9, и происходит, по-видимому, от слова reTRIEval. — Прим.
ред.
288 А. Приложение. Список ЫР-полных задач
элемента fteS, что последовательность (fi(b), fi(b) fi(b))
совпадает с (fi(a), f2(a), ..., f()))
[ХП 4] ОЖИДАЕМАЯ СТОИМОСТЬ ПОИСКА
УСЛОВИЕ. Заданы множество R записей, рациональное число
р(г)е[0, 1] — вероятность обращения к записи геЛ (причем
X M—l). число сегментов т и положительное целое число К.
ВОПРОС. Существует ли разбиение множества R на такие не-
непересекающиеся подмножества /?ь /?2, ..., Rm, что сумма по
всем упорядоченным парам i, j (ls^i, j ^ m) величин p(Ri)-
• p(Ri)-d(i, j) не превосходит К (где p(R{)= ? Р(г) и стои-
мость перехода d(i, j) равна / — i—1, если l^i</^m, и
равна т — i + /— 1, если 1 ^ j ^ i ^ m)?
Источник [84]. К этой задаче сводятся РАЗБИЕНИЕ и 3-РАЗ-
БИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле. Для каж-
каждого фиксированного m ^ 2 она NP-полна и разрешима за
псевдополиномиальное время.
[ХП 5] ОРГАНИЗАЦИЯ ПАМЯТИ В ВИДЕ КОРНЕВОГО
ДЕРЕВА
УСЛОВИЕ. Заданы конечное множество X, набор С =
= {^1,^2, ..., Х„} подмножеств множества X, положительное
целое число К.
ВОПРОС. Существует ли такой набор С = {Х[, Х'2 Х'п)
подмножеств множества X, что Xi^X't при всех / (l^i^n),
п
Y,\X'i — Xi\^.K и существует ориентированное корневое
дерево Т(х, А), в котором элементы каждого из подмножеств
Х\, 1^/^л, образуют ориентированный путь?
Источник [168]. К этой задаче сводится ПРЕДСТАВЛЕНИЕ
В ВИДЕ КОРНЕВОГО ДЕРЕВА.
[ХП 6] РАЗМЕЩЕНИЕ ФАЙЛА С ДУБЛИРОВАНИЕМ
УСЛОВИЕ. Задан граф G = (V, ?),для каждой вершины и eV
заданы количество обращений u(ii)gZ+ и стоимость запоми-
запоминания s (у) е Z+, а также положительное целое число К-
ВОПРОС. Существует ли такое подмножество V s V, что
s(v)+ S d(v)-u
A4. Хранение и поиск данных 289
(Здесь d(v) означает число ребер кратчайшего пути в G, от v
до множества V.)
Источник [529]. К данной задаче сводится ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Задача NP-полна в сильном смысле даже в том
случае, когда все вершины v e V имеют одинаковые величины
u(v) и одинаковые величины s(v).
[ХП 7] ВЫБОР ПРОПУСКНЫХ СПОСОБНОСТЕЙ
УСЛОВИЕ. Заданы множество С линий связи, множество про-
пропускных способностей M = Z+, функция стоимости g: CX.M-*~Z+,
функция d: Cy^M-*-Z+ штрафа за задержку, такие, что для
всех с^С и ( < /, /, /gM выполнены неравенства g{c,i)^
^g(c<i) и d(c,j)^d(c,j), а также заданы положительные
целые числа /Си/.
ВОПРОС. Существует ли такой выбор пропускных способно-
способностей о: С-+-М, что общая стоимость X g(c, а (с)) не превосхо-
ее=С
дит К, а общий штраф за задержку Sd(c, a(c)) не превосхО'
дит /?
Источник [529]. К этой задаче сводится СУММА РАЗМЕРОВ.
Комментарий. Задача разрешима за псевдополиномиальное
время.
А4.2. Сжатие и представление информации
[ХП 8] КРАТЧАЙШАЯ ОБЩАЯ
НАДПОСЛЕДОВАТЕЛЬНОСТЬ
УСЛОВИЕ. Заданы конечный алфавит 2, конечное множество
R слов в алфавите 2 и положительное целое число К.
ВОПРОС. Существует ли такое слово ше2*, что |ш|^/С и
каждое слово х е R есть подпоследовательность слова ш
(т. е. w=w0xiwlx2w2 ... xkWk, где tw.eS*, a x=xu х2
Источник [371]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной даже тогда, когда
|2| = 2. Если |#| = 2, то она решается за полиномиальное вре-
время (для чего вначале вычисляется наибольшая общая подпо-
подпоследовательность). То же самое верно, если |х|^2 для всех
*е/?.
[ХП 9] КРАТЧАЙШЕЕ ОБЩЕЕ сНАДСЛОВО»
УСЛОВИЕ. Заданы конечный алфавит S, конечное множество
R слов из 2* и положительное целое число К.
290 А. Приложение. Список HP-полных задач
ВОПРОС. Существует ли такое слово ше2*, что |ш|^/С и
любое слово xeJ? есть подслово w, т. е. w = Woxu>\, где
Wi ёГ?
Источник [372]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ для кубических графов.
Комментарий. Задача остается NP-полной и в том случае, если
121 = 2 или если | х | ^ 8 для всех слов х е R и все слова из R
не содержат повторяющихся символов. Когда |л:|^2 для всех
х е R, то задача разрешима за полиномиальное время.
[ХП 10] ОБЩАЯ ПОДПОСЛЕДОВАТЕЛЬНОСТЬ
НАИБОЛЬШЕЙ ДЛИНЫ
УСЛОВИЕ. Заданы конечный алфавит 2, конечное множество
R слов из 2* и положительное целое число К-
ВОПРОС. Существует ли такое слово шеИ* что \w\^ К и
w — подпоследовательность каждого слова из /??
Источник [371]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной даже тогда, когда
|2| = 2. Если К или \R
полиномиальное время
вания (см., например,
фиксировано, то задача решается за
методом динамического программиро-
531]). Аналогичная задача ОБЩЕЕ
ПОДСЛОВО НАИБОЛЬШЕЙ ДЛИНЫ тривиально решается
за полиномиальное время.
[ХП 11] ОГРАНИЧЕННОЕ СООТВЕТСТВИЕ СООБЩЕНИЙ
УСЛОВИЕ. Заданы конечный алфавит 2, две последователь-
последовательности o=(ai, а% ..., ап) и 6 = (frb&2, ..., bn) слов из 2* и
положительное целое число К^п.
ВОПРОС. Существует ли такая последовательность iu i2 /*,
состоящая из k, k e К (не обязательно различных), целых чи-
чисел из отрезка [1,/г], что словаа*,, а,-2, ..., aik и bi{, bi2, ..., bi/t
совпадают?
Источник [88]. Общая сводимость1).
Комментарий. Если на k не наложено верхнее ограничение, то
задача неразрешима (см., например, [215]).
[ХП 12] ПРЕДСТАВЛЯЮЩЕЕ СЛОВО
УСЛОВИЕ. Задано конечное множество А слов в алфавите
{0, 1, *}, имеющих длину, равную п.
') Имеется в виду сводимость, описанная при доказательстве теоремы
Кука. — Прим. ред.
A4. Хранение и поиск данных 291
ВОПРОС. Существует ли такое слово хе{0, 1}*, что |л:| = л и
для каждого слова оеД найдется такое i, I ^ i ^ п, что в сло-
словах хна i-e символы совпадают?
Источник [120]. К этой задаче сводится 3-ВЫП.
[ХП 13] СЖАТИЕ РАЗРЕЖЕННОЙ МАТРИЦЫ
УСЛОВИЕ. Заданы (т X п) -матрица А с элементами а,-,-е
е{0,1}, 1 ^ i ^ ш, 1 s?: у ^ п, и положительное целое число
К^пгп.
ВОПРОС. Существует ли такая последовательность (Ьх, Ъг, ...
..., Ьп+к), состоящая из целых чисел bt, 1 ^ ?>< ^S m, и такая
функция s: {1,2, ..., т}-»-{1,2, ..., К}, что для всех i и j
A ^ i ^ m, 1 ^ У ^ п) а,-/ = 1 тогда и только тогда, когда
Источник [116]. К этой задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В 3 ЦВЕТА.
Комментарий. Задача остается NP-полной при К = 3.
[ХП 14] ПОДМАТРИЦА СО СВОЙСТВОМ СВЯЗАННОСТИ
УСЛОВИЕ. Заданы (т X п) -матрица А с элементами 0 и 1 и
положительное целое число К..
ВОПРОС. Существует ли в матрице А подматрица В порядка
пгУСК, обладающая свойством "связности единиц" (т. е. под-
подматрица В, столбцы которой можно так переставить, что в
каждой строке все единицы идут подряд) ?
Источник [51]. К этой задаче сводится ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Вариант этой задачи, в котором ищется подмат-
подматрица В, обладающая свойством "циклической связности", т. е.
подматрица, столбцы которой можно переставить так, что в
каждой строке либо все единицы, либо все нули идут подряд,
также NP-полон. Обе задачи могут быть решены за полино-
полиномиальное время, если К = п (т. е. если спрашивается: "Верно
ли, что нужным свойством обладает сама матрица А?"). См.,
например, [132, 54].
[ХП 15] РАЗБИЕНИЕ НА ПОДМАТРИЦЫ СО СВОЙСТВОМ
связности
УСЛОВИЕ. Задана @— 1)-матрица А порядка ту. п.
ВОПРОС. Можно ли так разбить строки матрицы на две под-
подгруппы, чтобы получившиеся в результате матрицы порядков
гп\ X п и /Иг X п (mi + тг = т) обладали свойством связности
единиц?
292 А. Приложение. Список NP-полных задач
Источник [352]. К этой задаче сводится ГАМИЛЬТОНОВ
ПУТЬ в кубическом графе.
[ХП 16] ДОПОЛНЕНИЕ ДО МАТРИЦЫ СО СВОЙСТВОМ
связности
УСЛОВИЕ. Заданы @—1)-матрица А порядка тХл и поло-
положительное целое число К-
ВОПРОС. Существует ли матрица А', получаемая из матрицы
А заменой в ней не более К нулевых элементов единицами, та-
такая, что А обладает свойством связности единиц?
Источник [51,407]. К этой задаче сводится ЛИНЕЙНОЕ УПО-
УПОРЯДОЧЕНИЕ.
Комментарий. Вариант задачи, когда ищется матрица А, обла-
обладающая свойством циклических единиц, также NP-полон.
[ХП 17] МИНИМИЗАЦИЯ ЧИСЛА БЛОКОВ
УСЛОВИЕ. Заданы @—1)-матрица А порядка тХл и поло-
положительное целое число К-
ВОПРОС. Существует ли такая перестановка столбцов матрицы
А, что получившаяся в результате матрица В имеет не более К
блоков из последовательно идущих единиц, т. е. не более К та-
таких пар индексов i, j, что Ьц = 1 и либо bi, /+i = 0, либо / = л?
Источник [297]. К этой задаче сводится ГАМИЛЬТОНОВ
ПУТЬ.
Комментарий. Если свойство "/ = п" заменить свойством "/ =
= п и Ьц = 0", то задача остается NP-полной [51]. Если К
равно числу строк (матрицы Л), содержащих хотя бы одну еди-
единицу, то эти задачи эквивалентны задачам о проверке наличия
у матрицы А свойства связности единиц или циклической связ-
связности соответственно, и они могут быть решены за полино-
полиномиальное время.
[ХП 18] ПРЕДСТАВЛЕНИЕ СО СВОЙСТВОМ СВЯЗНОСТИ
УСЛОВИЕ.Заданы конечный алфавит 2,набор C = {2i,22, ...
.... Sn} подмножеств множества 2 и положительное целое
число К-
ВОПРОС. Существует ли такое слово шеЕ1, что |да|^/С и
для каждого i элементы множества 2г образуют в слове w под-
слово ДЛИНЫ |Si|?
Источник [297]. К данной задаче сводится ГАМИЛЬТОНОВ
ПУТЬ.
Комментарий. Вариант задачи, в котором требуется только,
чтобы элементы каждого множества 2/ образовывали подслово
A4. Хранение и поиск данных 293
длины |2*| в слове ww (т. е. допускаются полслова слова да),
записанном по окружности, также NP-полон [51].Если К равно
числу различных символов из 2/, то эти задачи эквивалентны за-
задачам выяснения того, обладает ли матрица свойством связ-
связности или циклической связности единиц соответственно, и раз-
разрешимы за полиномиальное время.
[ХП 19] РАЗБИЕНИЕ СО СВОЙСТВОМ СВЯЗНОСТИ
УСЛОВИЕ.Заданы конечный алфавит 2 и набор C = {2i, 22, ...
..., 2„} подмножеств из 2.
ВОПРОС. Существует ли разбиение 2 на такие непересекаю-
непересекающиеся множества Хи Х2, ..., Xk, что каждое из Xt имеет не
более одного общего элемента с каждым из 2/ и для каждого
2/еС существует такой индекс /(/), что множество 2/ содер-
содержится в множестве
Хщ)[] Хщ)+\ U ... U
Источник [350,351]. К этой задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В ТРИ ЦВЕТА.
Комментарий. Если 12/1 ^ 5 для всех 2/ е С, то задача остает-
остается NP-полной, но если |2/|ssC2 для всех 2/е С, то она разре-
разрешима за полиномиальное время.
[ХП 20] РЕДАКТИРОВАНИЕ СЛОВА
УСЛОВИЕ. Заданы конечный алфавит 2, два слова х, jeS*
и положительное целое число /С»
ВОПРОС. Можно ли получить из слова х слово у, применив
не более К операций вычеркивания символа и перестановки
соседних символов?
Источник [530]. К этой задаче сводится ПОКРЫТИЕ МНО-
МНОЖЕСТВА.
Комментарий. Задача разрешима за полиномиальное время,
если в множество операций дополнительно включить операции
замены и вставления отдельной буквы даже тогда, когда пере-
перестановка букв не допускается (см., например, [531]), или тогда,
когда единственной операцией является операция перестановки
соседних букв [530]. В указанных работах приводятся также
и другие аналогичные результаты для задач, в которых различ-
различные операции имеют различную стоимость.
[ХП 21] ГРУППИРОВКА С ПОМОЩЬЮ ТРАНСПОЗИЦИЙ
УСЛОВИЕ. Заданы конечный алфавит 2, слово *е2* и поло-
положительное целое число К.
294 Л. Приложение. Список NP-полных задач
ВОПРОС. Существует ли последовательность, состоящая не
более чем из К транспозиций соседних символов и превращаю-
превращающая слово х в слово у, у которого все вхождения каждого сим-
символа ое! образуют один блок (т. е. в слове у нет подпосле-
подпоследовательностей вида aba, где a, ieS и аф Ь)?
Источник [224]. К этой задаче сводится МНОЖЕСТВО ДУГ,
РАЗРЕЗАЮЩИХ КОНТУРЫ.
[ХП 22] СЖАТИЕ ВНЕШНИХ МАКРОДАННЫХ
УСЛОВИЕ. Заданы конечный алфавит 2, слово s e 2*, стои-
стоимость указателя h e Z+ и граница В е Z+.
ВОПРОС. Существуют ли такие слова D (слово-словарь) и С
(сжатое слово) в алфавите B U{Pi: 1 <! i ^г s\}) (символы р,
называются "указателями"), что A) |D| + |C + (Л — 1) • (число
вхождений указателей в слова О и С)<В и B) существует
такое соответствие указателей с полсловами слова D, что сло-
слово S может быть получено из слова С последовательной заме-
заменой указателей из С соответствующими полсловами из D?
Источник [505,506]. К этой задаче сводится ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Если h — любое фиксированное целое число, не
меньшее 2, то задача остается NP-полной. Многие ее варианты,
в том числе задачи, в которых D не содержит указателей и/или
если указатели соответствуют неперекрывающимся словам,
также являются NP-полными. Если алфавит содержит фиксиро-
фиксированное число букв (но не менее 3) и стоимость указателя равна
|"ftlog|s|"|, то задача также NP-полна. В упомянутых выше
работах приводятся другие варианты задачи, в том числе за-
задачи с "исходными указателями".
[ХП 23] СЖАТИЕВНУТРЕННИХ МАКРОДАННЫХ
УСЛОВИЕ. Заданы алфавит 2, слово s e 2*, стоимость fteZ+
указателя и граница В е Z+.
ВОПРОС. Существует ли такое слово СB U{Pi: 1 < * =^|s|})*,
что A) |C|-j-(A—1)-(число вхождений указателей в слово С)
^В и B) существует такое соответствие указателей с под-
словами слова С, что слово s может быть получено из С при
использовании С одновременно в качестве "слова-словаря" и
сжатого слова способом, изложенным в предыдущей задаче?
Источник [505, 506]. К этой задаче сводится ВЕРШИННОЕ
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной даже тогда, когда
h — любое фиксированное целое число, не меньшее 2. Другие
A4. Хранение и поиск данных 295
NP-полные варианты этой задачи (как и для предыдущей) ука-
указаны в упомянутых работах.
[ХП 24] ПОДСТАНОВКА РЕГУЛЯРНОГО ВЫРАЖЕНИЯ
УСЛОВИЕ. Заданы два алфавита X = {х\, х2, ..., х„) и У =
= {уи «/2, .... Ут}, регулярное выражение R над X[)Y, регу-
регулярные выражения R\, /?2. ¦¦-, Rn над У и слово w e У*.
ВОПРОС. Существуют ли в языках, определяемых регуляр-
регулярными выражениями R и /?,A ^ i ^ п), такие слова г и wi со-
соответственно, что если каждое слово wi подставить в слово г
вместо каждого вхождения символа *«, то получившееся в ре-
результате слово будет совпадать с ш?
Источник [15]. К этой задаче сводится ТП-3.
[ХП 25] ПРЯМОУГОЛЬНОЕ СЖАТИЕ КАРТИНКИ
УСЛОВИЕ. Заданы @—1)-матрица М порядка «Хпи поло-
положительное целое число К-
ВОПРОС. Можно ли покрыть все единичные элементы мат-
матрицы А не более чем К прямоугольниками? Иначе говоря, су-
существует ли такая последовательность четверок (щ, bt, Ct, di),
1 ^ i < К. где at < bi, ct < di, 1 < i < К, что для каждой
пары индексов (t, /), 1 ^ i, j «^ n, Мц равно 1 тогда и только
тогда, когда существует такое k, 1 < k < К, что ак ^ / < Ьк и
ск < / < dkf
Источник [374]. К этой задаче сводится 3-ВЫП.
А4.3. Задачи о базах данных
[ХП 26] НАИМЕНЬШИЙ ПО МОЩНОСТИ КЛЮЧ
УСЛОВИЕ. Заданы множество "имен атрибутов" А, семейство
F упорядоченных пар подмножеств из А (называемых "функ-
"функциональными зависимостями" на А) и положительное целое
число М.
ВОПРОС. Существует ли для реляционной системы (Л.^ключ
мощности не более М? Иначе говоря, существует ли такое под-
подмножество К^А, что |/C|^Af и упорядоченная пара (К, А)
принадлежит "замыканию" F* семейства F? (Замыкание F* се-
семейства F определяется следующим образом:
A) F^F", B) из того что BsC^A, следует, что (C,5)ef*,
C) из того что (В, С), (В, D)<=F*, следует, что (В, D)^F*, и
D) из того, что (В, С), (В, D)e=F*, следует, что (В, C\JD)<=
ef.)
Источник [362,350]. К этой задаче сводится ВЕРШИННОЕ
ПОКРЫТИЕ. Общие основы баз данных с реляционными си-
системами можно найти в книге [101].
296 А. Приложение. Список tiP-полных задач
[ХП 27] ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ
УСЛОВИЕ. Заданы множество имен атрибутов Л, семейство F
функциональных зависимостей на Л, подмножество /? = Л и
множество К ключей для реляционной схемы </?, F}.
ВОПРОС. Верно ли, что R имеет ключ, не содержащийся в К?
Иначе говоря, верно ли, что существует такое подмножество
/?'?/?, что R'&K, (/?',/?)eF*, и не существует такого под-
подмножества R" s R', что (R", /?)<= F*?
Источник [34]. К этой задаче сводится МНОЖЕСТВО ПРЕД-
ПРЕДСТАВИТЕЛЕЙ.
[ХП 28] ПРИМИТИВНОЕ ИМЯ АТРИБУТА
УСЛОВИЕ. Заданы множество имен атрибутов А, семейство F
функциональных зависимостей на Л и выделенное имя атрибута
*ёА
ВОПРОС. Верно ли, что х является "примитивным именем ат-
атрибута" для (Л,/7)? Иными словами, существует ли такой ключ
К для (A,F}, что дсе/С?
Источник [362]. К этой задаче сводится НАИМЕНЬШИЙ ПО
МОЩНОСТИ КЛЮЧ.
[ХП 29] НАРУШЕНИЕ НОРМАЛЬНОЙ ФОРМЫ БОЙСА —
КОДДА
УСЛОВИЕ. Заданы множество имен атрибутов А, семейство
F функциональных зависимостей на Л и подмножество А' ^ Л.
ВОПРОС. Верно ли, что множество Л нарушает нормальную
форму Бойса—Кодда для реляционной системы (Л.У*1)? Иначе
говоря, существуют ли подмножество ХеЛ'й два имени атри-
атрибутов у, г^А'\Х, такие, что {X, {у})^ F* и (X, {г})е F* (где
F* — замыкание F)l
Источник [40,34]. К данной задаче сводится МНОЖЕСТВО
ПРЕДСТАВИТЕЛЕЙ.
Комментарий. Задача остается NP-полной и в том случае, если
потребовать, чтобы Л' имело "третью нормальную форму"
(т. е. если X ^ А' — ключ для реляционной системы <ЛГ, /¦">
и два имени атрибутов у, z^A'\X таковы, что (X, {у})^ F*
и (X, {z})^F*, то г — примитивное имя атрибута для реля-
реляционной системы <Л', F».
[ХП 30] ПРЕОБРАЗУЕМОСТЬ КОНЪЮНКТИВНОГО
ЗАПРОСА
УСЛОВИЕ. Заданы конечный домен D, семейство отношений
R={R\,Ri, ..., Rm} (где Ri есть подмножество множества rf,-
мерных кортежей с элементами из D), множество выделенных
A4. Хранение и поиск данных 297
переменных X, множество невыделенных переменных Y и два
запроса Qi и Q2 над X, Y, D и R; запрос Q имеет вид
(*,, х2, .... xk)Cjfi, у2, .... y«)Mi Л А2 Л ... Л Аг)
для некоторых k, I я г, где ^/ = {jCi> jc2, .... л;й} = А^, J" =
— {yi,y2 yt}^Y, и каждое At имеет вид /?/(«!, «2, ...
..., «d,). «s s D U X' U У» 1 ^ « ^ dt; интерпретация таких выра-
выражений в терминах баз данных дана в работе [67].
ВОПРОС. Существует ли такая функция a: Y-*-X[)Y[j D, что
если для каждого ^еУ вместо любого вхождения у в Qj под-
подставить символ а(у), то в результате получится запрос Q
Источник [67]. К данной задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В 3 ЦВЕТА.
Комментарий. Задача изоморфизма конъюнктивных запросов
(два запроса называются изоморфными, если они совпадают
с точностью до взаимно-однозначного переименования перемен-
переменных, переупорядочения конъюнктивных членов и переупорядо-
переупорядочения кванторов) полиномиально эквивалентна задаче об изо-
изоморфизме графов.
[ХП 31] КОНЪЮНКТИВНЫЙ БУЛЕВСКИЙ ЗАПРОС
УСЛОВИЕ. Заданы домен Д набор отношений R = {/?ь R2, ...
.... Rm) (где Rt есть подмножество множества Ddi)t конъюнк-
конъюнктивный булевский запрос Q над R и D, т. е. запрос вида
C#1, У2, .... yi)(AlAA2A ... А Аг),
где At имеет вид R}{u.\, u2 иа,), а переменные и принадле-
принадлежат множеству ({уи у2 yi)\]D).
ВОПРОС. Верно ли, что Q истинен при интерпретации его как
утверждения об R и D?
Источник [67]. К этой задаче сводится КЛИКА.
Комментарий. Если заменить конъюнктивный запрос произволь-
произвольным предложением первого порядка, включающим предикаты
из набора R, то задача становится P-SPASE-полной (даже если
Р={0, 1».
[ХП 32] ЭКВИВАЛЕНТНОСТЬ ТАБЛИЦ
УСЛОВИЕ. Заданы множество имен атрибутов А, семейство F
упорядоченных пар подмножеств множества А, множество вы-
выделенных переменных X, множество невыделенных переменных
У, для каждого а^А множество констант Са, две "таблицы"
Г, и Т2 над X, Y и С„. (Таблица, по существу. — это матрица,
298 А. Приложение. Список NP-полных задач
в которой каждому имени атрибута соответствует столбец, а
элементами являются пустой символ и элементы множеств X,
Y и Са. Детали определения и интерпретацию в терминах ре-
реляционных выражений можно найти в работе [12].)
ВОПРОС. Верно ли, что Т\ и Т2 "слабо эквивалентны"?
Т. е. верно ли, что Т\ и 7"j при "универсальной интерпретации"
определяют идентичные отношения?
Источник [12]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной в следующих слу-
случаях: A) таблицы получаются из "выражений", не содержащих
операций "выбрать"; B) таблицы получаются из выражений,
содержащих операцию "выбрать", при этом семейство F пусто;
C) семейство F пусто, таблицы не содержат констант, причем
таблицы необязательно получаются из каких-то выражений. Для
"простых" таблиц задача решается за полиномиальное время.
Аналогичные результаты имеют место для "сильной эквива-
эквивалентности", при которой таблицы должны представлять иден-
идентичные отношения при всех интерпретациях. Задача "включе-
"включения" таблиц, однако, NP-полна даже для простых таблиц и еще
более ограниченных видов таблиц [462].
[ХП 33] СОГЛАСУЕМОСТЬ ИСТОРИИ БАЗ ДАННЫХ
УСЛОВИЕ. Заданы множество V переменных базы данных, на-
набор Т "транзакций" (Rit Wi), I ^ i < п (где Rt и Wt — подмно-
подмножества множества V, называемые "читаемое множество" и "за-
"записываемое множество" соответственно), и "история" Н набора
Т (где "история" есть такая перестановка множеств Ri и Wi,
в которой любое множество Rt идет раньше соответствующего
множества Wi).
ВОПРОС. Существует ли согласованная история #' набора Г
(т. е. такая история, в которой каждое Ri идет непосредственно
перед соответствующим множеством Wt), эквивалентная исто-
истории Я? (История Н называется эквивалентной истории Н', если
A) обе истории имеют одинаковое множество "живых" тран-
транзакций (транзакция (Ri, Wi) называется живой в истории Н,
если существует такая переменная osV, что либо Wt — по-
последнее записываемое множество, содержащее v, либо Wt —
последнее записываемое множество, содержащее переменную v
перед некоторой живой транзакцией, содержащей v в читае-
читаемом множестве) и B) для любых двух живых транзакций
{Rt, Wt) и {Ri, Wi) и любой переменной v e Wtf\Ri множество
Wi является последним записываемым множеством, содержа-
содержащим v перед Ri в истории Н, тогда и только тогда, когда Wi —
последнее записываемое множество, содержащее у перед /?, в
истории Н'.)
A4. Хранение и поиск данных 299
Источник [415,413]. К этой задаче сводится МОНОТОННАЯ
3-ВЫП.
Комментарий. Другие варианты и подслучаи этой задачи, раз-
разрешимые за полиномиальное время, можно найти в работе
[413].
[ХП 34] БЕЗОПАСНОСТЬ СИСТЕМЫ ТРАНЗАКЦИИ БАЗЫ
ДАННЫХ (*)
УСЛОВИЕ. Заданы множество V переменных базы данных и
набор Г "транзакций" (/?,, Wi), 1 < i < п, где Ri и №, —под-
—подмножества V.
ВОПРОС. Верно ли, что любая история Я транзакции Т экви-
эквивалентна некоторой согласованной истории?
Источник [415]. К этой задаче сводится МНОЖЕСТВО ПРЕД-
ПРЕДСТАВИТЕЛЕЙ.
Комментарий. Не известно, принадлежит ли задача к классу
NP или к классу co-NP. Проверка того, что любая история //
набора Т "D-эквивалентна" некоторой согласованной истории,
может быть осуществлена за полиномиальное время (две исто-
истории называются D-эквивалентными, если одна из них может
быть получена из другой такой последовательностью перестано-
перестановок соседних множеств, что после каждой перестановки новая
история остается эквивалентной предыдущей).
[ХП 35] СОВМЕСТИМОСТЬ ТАБЛИЦ ЧАСТОТ БАЗЫ
ДАННЫХ
УСЛОВИЕ. Заданы множество А имен атрибутов, для каждого
а е А домен Da, множество объектов V, набор F таблиц частот
для некоторых пар элементов о, 6еД (таблицей частот для
имен атрибутов а, Ъ е А называется функция fa, ь: DaX.Db-*-
-»-Z+, у которой сумма значений !а,ь(х, у) по всем хеД, и
y^Dt равна | V|) и множество К троек (v, а, х), где оеУ,
а е А и х е Da, представляющее множество известных значений
атрибутов.
ВОПРОС. Совместимы ли таблицы из набора F с известными
значениями атрибутов из /С? Иначе говоря, существует ли та-
такой набор функций ga: V-*-Da (для каждого а^А), что A)
ga (у) = х, если (v, a, x)&K, и B) для всех fa,b^F, x^D0 и
у^Ьь число таких wsV, для которых ga(v) = x и gb(o) = y,
совпадает с fa, ь (х, у) ?
Источник [447]. К этой задаче сводится 3-ВЫП.
Комментарий. Из результата, сформулированного выше, сле-
следует, что если Р ф NP, то не существует полиномиального
300 А. Приложение. Список NP-полных задач
алгоритма для "согласования" базы данных на основе ее таблиц
часто посредством вывода заранее указанных имен (детали см.
в [447]).
[ХП 36] НАДЕЖНОСТЬ СИСТЕМ ЗАЩИТЫ ФАЙЛОВ (*)
УСЛОВИЕ. Заданы множество R "полномочий", множество
объектов О, множество S^O субъектов, множество Р(s, о) =
? R полномочий для каждой упорядоченной пары s e 5 и ое
s О, конечное множество С команд (каждая из которых имеет
вид, если п(=Р(Хи Yi), r2<=P(X2, Y2) и ...rm^P(Xm, Ym),
то 0], 02, ..., 0т для всех т, п ^ 0 и каждое 9; имеет вид
"ввести п в Р(Х/, Yk)" или "вывести п из P(Ki, Yk)") и выде-
выделенное "полномочие" г' е R.
ВОПРОС. Существует ли такая последовательность команд из
С и метод идентификации всех п, Xj и Yk конкретными элемен-
элементами из множеств R, S и О соответственно, что в некоторый
момент исполнения последовательности полномочие г' заносится
в множество P{s,o), не содержавшее г' до этого момента? (Де-
(Детали о работе таких последовательностей см. в указанной ниже
работе.)
Источник [199]. К этой задаче сводится ДОПУСКАЕМОСТЬ
ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ.
Комментарий. Задача P-SPACE-полна. Если допускаются опе-
операции, позволяющие создать или убрать "объекты" и "субъек-
"субъекты", то задача неразрешима даже тогда, когда для некоторых
"фиксированных" систем допускается изменение начальных зна-
значений P(s,o). Если ни одна из команд не может содержать
более одной операции, то в общем случае задача является NP-
полной и разрешима за полиномиальное время для фиксирован-
фиксированных систем.
А5. ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ
А5.1. Задачи составления расписания в случае одного
процессора
[ТР 1] УПОРЯДОЧЕНИЕ С НЕОДНОВРЕМЕННЫМ
ПОСТУПЛЕНИЕМ И ДИРЕКТИВНЫМИ СРОКАМИ
УСЛОВИЕ. Заданы множество Т заданий, а также для каж-
каждого задания 1е7 длительность l(f)e Z+, момент его поступ-
поступления r(t)& Z+o и директивный срок d(t)^ Z+.
ВОПРОС. Существует ли однопроцессорное расписание выпол-
выполнения заданий из Т, согласованное с моментами поступления
и директивными сроками, т. е. существует ли однозначная функ-
функция о: Г-^Zo", такая, что, во-первых, из условия а(/)> a(t')
A5 Задачи теории расписаний 301
следует, что a(t)^s a(tr)+ /(/'). и, во-вторых, для всех /бГ
@>@ (t)+l{)d()?
Источник [150]. К этой задаче сводится 3-РАЗБИЕНИЕ (см.
разд. 4.2).
Комментарий. Рассматриваемая задача NP-полна в сильном
смысле. Она разрешима за псевдополиномиальное время, если
число значений, принимаемых величинами r(t) и d(t), ограни-
ограничено константой, и остается NP-полной (в обычном смысле),
даже когда эта константа равна 2. В тех случаях когда все
длительности равны 1, либо разрешены прерывания, либо все
моменты поступления заданий равны 0, задача может быть
решена за полиномиальное время, при этом в условии задачи
могут присутствовать ограничения предшествования [323],
[319]. Задача решается за полиномиальное время также и
тогда, когда моменты поступления и директивные сроки яв-
являются произвольными рациональными числами и, кроме того,
имеются ограничения предшествования; для этого требуется,
чтобы все задания имели одинаковые длительности [65, 492,
156], либо чтобы разрешались прерывания [41].
[ТР 2] МИНИМИЗАЦИЯ ЧИСЛА НЕВЫПОЛНЕННЫХ
ЗАДАНИИ
УСЛОВИЕ. Заданы множество Т заданий, частичный порядок
<¦ на Т, для каждого задания /еГ длительность /(/)eZ+ ди-
директивный срок d(/)eZ+ неположительное целое число
К>\Т\.
ВОПРОС. Существует ли однопроцессорное расписание о для
заданий из Г, удовлетворяющее ограничениям частичного по-
порядка (т. е. такое, что из t<-t' следует a(t)+ l{t)<. a(t')) и
такое, что существует не более К заданий из Т, для которых
(t)+l(t)d(t)?
Источник [148]. К этой задаче сводится КЛИКА (см. разд. 3.2.3).
Комментарий. Задача остается NP-полной, даже если все дли-
длительности равны 1 и если условия частичного порядка имеют вид
"цепочки" (каждое задание имеет не более чем одно непосред-
непосредственно предшествующее и не более чем одно непосредственно
за ним следующее) [334]. Она разрешима за полиномиальное
время, если К = 0 [323] или если отношение < пусто [392,
488]. В случае когда отношение < пусто, задача остается поли-
полиномиально разрешимой, если в нее добавить "согласованные"
моменты поступления заданий (это значит, что из условий
r(t)<r{t') следует d(t)^a{t')) [289]. Если же эти моменты
302 А. Приложение. Список NP-полных задач
поступления произвольны, то задача NP-полна (см. предыду-
предыдущую задачу).
[ТР 3] МИНИМИЗАЦИЯ ВЕСА НЕВЫПОЛНЕННЫХ
ЗАДАНИИ
УСЛОВИЕ. Заданы множество Т заданий, а также для каж-
каждого задания /еГ длительность /(/)eZ+, вес w(t)^Z+, дирек-
директивный срок d(/)eZ+ и положительное число К-
ВОПРОС. Существует ли однопроцессорное расписание о для
заданий из Т, такое, что сумма весов 2.w(t) (взятая по тем
/еГ, для которых a{t)-\-l(t)> d(t)) не превосходит К?
Источник [280]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача может быть решена за псевдополиноми-
псевдополиномиальное время (время, полиномиальное относительно \T\,^l(t)
и logX w(t) [332]). Она разрешима за полиномиальное время,
если веса ""согласованы", т. е. если из w(t)<.w(t') следует
l()l(t') [326].
[ТР 4] МИНИМИЗАЦИЯ ВЗВЕШЕННОГО МОМЕНТА
ОКОНЧАНИЯ
УСЛОВИЕ. Заданы множество Т заданий, частичный поря-
порядок <• на Т, для каждого значения /еГ длительность /(/)е Z+,
вес !D(l)eZ+ и положительное число К-
ВОПРОС. Существует ли однопроцессорное расписание о для
заданий из Т, удовлетворяющее условиям частичного порядка
и такое, что
Источник [330]. К этой задаче сводится ОПТИМАЛЬНОЕ ЛИ-
ЛИНЕЙНОЕ УПОРЯДОЧЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле и остается
таковой, даже если все длительности равны 1 или если все веса
равны 1. Она разрешима за полиномиальное время, если поря-
порядок < является "лесом" [217, 5, 139, 489] или последовательно-
параллельным графом [293, 330, 4, 391].
Если вместо условий < в задачу ввести индивидуальные ди-
директивные сроки, задача будет NP-полной в сильном смысле
[334], если же все веса заданий равны, то она станет полино-
полиномиально разрешимой [334]. Если директивные сроки заменить
индивидуальными моментами поступления, полученная задача
будет NP-полна в сильном смысле, даже если все веса заданий
равны 1 [338]. Версия последней задачи, в которой допустимы
прерывания, NP-полна в сильном смысле [311], однако может
AS. Задачи теории расписаний 303
быть решена за полиномиальное время, если все веса равны
[186].
[ТР 5] МИНИМИЗАЦИЯ ШТРАФА ЗА НЕВЫПОЛНЕНИЕ
ЗАДАНИИ
УСЛОВИЕ. Заданы множество Т заданий, а также для каж-
каждого задания /еГ длительность /@eZ+, вес w(t)&Z+, ди-
директивный срок d(/)eZ+ и положительное целое число К.
ВОПРОС. Существует ли однопроцессорное расписание а для
заданий из Т, такое, что сумма ? (а @ +1U) — d (t)) w (t), взя-
взятая по тем t^T, для которых a(t)-\-l(t)> d(t), не превосхо-
превосходит/С?
Источник [328]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле. Если все
веса равны, она разрешима за псевдополиномиальное время
[328], ее NP-полнота (в обычном смысле) не установлена. Если
все длительности равны (а веса произвольны), задача разре-
разрешима за полиномиальное время с помощью двудольных паросо-
четаний. Если добавить условия предшествования, то она будет
NP-полной, даже в случае равных длительностей и равных ве-
весов [336]. Если же вместо этого добавить моменты поступления
заданий, то задача будет NP-полной в сильном смысле при рав-
равных весах (см. задачу УПОРЯДОЧЕНИЕ С НЕОДНОВРЕ-
НЕОДНОВРЕМЕННЫМ ПОСТУПЛЕНИЕМ И ДИРЕКТИВНЫМИ СРО-
СРОКАМИ), причем при равных длительностях и произвольных ве-
весах эта задача полиномиально разрешима с помощью двудоль-
двудольных паросочетаний [186].
[ТР 6] УПОРЯДОЧЕНИЕ С ДИРЕКТИВНЫМИ СРОКАМИ
И ВРЕМЕНАМИ ПЕРЕНАЛАДОК
УСЛОВИЕ. Заданы: множество С "компиляторов", множество
Т заданий, для каждого задания /еГ длительность /(*)eZ+,
директивный срок d(^)eZ+, свой компилятор ft(/)eC, а также
для каждого с^С "время переналадки" /(с)е Zj".
ВОПРОС. Существует ли однопроцессорное расписание а для
заданий из Tt удовлетворяющее всем директивным срокам и сле-
следующему дополнительному ограничению: если задание t начи-
начинается раньше /' (т. е. a(t)<. a{t')), причем задания t и V "со-
"сопряженные", то a{t')^o(t)+l(t)+Hk{t')O (Задания / и f,
где a(t)<. a(t'), называются "сопряженными", если между ними
нет промежуточного задания (т. е. такого t", что a(t)<. o(f')<.
<a(t')) и у них различные компиляторы, k(t)=?k{tr).)
Источник [60]. К этой задаче сводится РАЗБИЕНИЕ,
304 А. Приложение. Список NP-полных задач
Комментарий. Задача остается NP-полной, если все времена пе-
переналадки равны. Имеется близкая задача, в которой времена
переналадок заменены стоимостями переналадок, и требуется
выяснить, существует ли расписание, удовлетворяющее всем
директивным срокам и имеющее суммарную стоимость перена-
переналадок не больше К; эта задача NP-полна, даже если все стои-
стоимости переналадок равны. Обе задачи могут быть решены за
псевдополиномиальное время, когда число различных значений,
принимаемых директивными сроками, ограничено константой.
Если это число не ограничено, не известно, являются ли эти
задачи NP-полными в сильном смысле.
[ТР 7] МИНИМИЗАЦИЯ МАКСИМАЛЬНЫХ ЗАТРАТ
УСЛОВИЕ. Заданы множество заданий Т, частичный порядок
< на Т, "затраты" c(/)eZ для каждого /е7 (если c(t)<C.O,
их можно рассматривать как "доход") и константа XeZ.
ВОПРОС. Существует ли однопроцессорное расписание а для
заданий из Т, которое удовлетворяет условиям частичного по-
порядка и имеет следующее свойство: для каждого t e 7"
Е
':o(«')
Источник [1]. К этой задаче сводится ДОСТАТОЧНОСТЬ
ЧИСЛА РЕГИСТРОВ.
Комментарий. Задача остается NP-полной, даже если c(i)e
е {—1, 0, 1} для всех <еГ Она разрешима за полиномиальное
время, если условия частичного порядка с представимы в виде
параллельно-последовательного графа [2, 391].
А5.2. Многопроцессорные расписания для параллельных
процессоров
[ТР 8] МНОГОПРОЦЕССОРНОЕ РАСПИСАНИЕ
УСЛОВИЕ. Заданы множество заданий Т, число процессоров
meZ+, длительность /(<)gZ+ для каждого (еГ и общий ди-
директивный срок D e Z+.
ВОПРОС. Существует ли /n-процессорное расписание для зада-
заданий из Т, которое удовлетворяет общему директивному сроку
D? Другими словами, существует ли функция а: Т—>Zo~, такая,
О tT
ру уу фу
что для всех ы^О число заданий t^T, для которых ()
^ и < а@+ /@» не превышает m и, кроме того, для всех
(бГ имеет место a(t)+ l{t)D?
Источник — настоящая книга. К этой задаче сводится задача
РАЗБИЕНИЕ (см. разд. 3,2.1).
AS. Задачи теории расписаний 305
Комментарий. Задача остается NP-полной при /л = 2; она раз-
разрешима за псевдополиномиальное время при любом фиксиро-
фиксированном т. Задача NP-полна в сильном смысле при произволь-
произвольном т (задача 3-РАЗБИЕНИЕ — ее частный случай). Если все
задания имеют одинаковую длительность, задача тривиально
решается за полиномиальное время, даже если процессоры
имеют различные производительности.
[ТР 9] РАСПИСАНИЕ С УСЛОВИЯМИ
ПРЕДШЕСТВОВАНИЯ
УСЛОВИЕ. Заданы множество заданий Т, каждое из которых
имеет длительность /@=1, число процессоров meZ+, частич-
частичный порядок <¦ на Т и директивный срок D e Z+.
ВОПРОС. Существует ли m-процессорное расписание о для за-
заданий из Т, которое удовлетворяет общему директивному сроку
D и условиям предшествования (т. е. из соотношения t<rtf сле-
@@+/(/) @+1)?
Источник [518]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной при D = 3 [336].
Она разрешима за полиномиальное время, если m = 2 (см. на-
например [85]), а также если ш произвольно, а условия <• пред-
ставимы в виде "леса" [225] или имеют дополнением триангу-
триангулированный граф [419]. Для случая, когда условия <• общего
вида, a m фиксировано (т^З), сложность задачи не уста-
установлена. При m = 2 задача становится NP-полной, если дли-
длительности заданий принимают значения 1 и 2 [518]. Если для
каждого задания t назначен процессор p(t), задача является
NP-полной при т = 2 и произвольных условиях <•, а также
когда т произвольно, а условия <• — "лес"; она разрешима за
полиномиальное время, если т произвольно, а условия <• —
"циклический лес" [184].
[ТР 10] РАСПИСАНИЕ С ОГРАНИЧЕННЫМИ РЕСУРСАМИ
УСЛОВИЕ. Задано множество заданий Т, каждое из которых
имеет длительность /@= 1. число процессоров msZ+ число
видов ресурсов reZ+, границы ресурсов Bi, I ^ i sg: r, потреб-
потребности в ресурсах /?<@> 0«^/?г@^Я; (для всех заданий t и
ресурсов 0, и общий директивный срок DeZt
ВОПРОС. Существует ли /п-процессорное расписание а для за-
заданий из Т, которое удовлетворяет общему директивному сроку
D и ограничениям на ресурсы (последнее условие означает, что
если через S(u) обозначить множество всех тех заданий t из Т,
для которых a(t) ^ и ¦<. a {t)-{-1(t), то для всех и > 0 и всех
видов ресурсов i сумма Y> Ri @ не превышает В,?
306 А. Приложение. Список NP-полных задач
Источник [145]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Задача является NP-полной в сильном смысле,
даже если г = 1 и m = 3. Она решается за полиномиальное
время с помощью техники паросочетаний при m = 2 и произ-
произвольном г. Если добавить к условию задачи отношения частич-
частичного порядка <•, она становится NP-полной в сильном смысле
при r=\, m = 2 и условиях <•, представимых в виде "леса".
Если потребности в ресурсах принимают дискретные значения
0 или Bi, задача является NP-полной при т = 2, г = 1 и усло-
условиях <• общего вида [519].
[ТР 11] РАСПИСАНИЕ С ИНДИВИДУАЛЬНЫМИ
ДИРЕКТИВНЫМИ СРОКАМИ
УСЛОВИЕ. Заданы множество заданий Т, каждое из которых
имеет длительность l{t)= 1, число процессоров meZ+, частич-
частичный порядок <• на Т и для каждого /е7 директивный срок
d()Z
()
ВОПРОС. Существует ли m-процессорное расписание а для
заданий из Т, которое удовлетворяет условиям предшествования
и всем директивным срокам (т. е. a(t)-\-l(t)^d{t) для всех
/еГ)?
Источник [58]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача остается NP-полной, даже если условия
<• представимы в виде "прямого дерева" (т. е. у каждого зада-
задания имеется не более одного непосредственно за ним следую-
следующего). Она разрешима за полиномиальное время, если m — 2,
а условия <• общего вида [148], причем этот факт справедлив,
даже если включить в условие задачи индвидуальные моменты
поступления [150]. Если условия предшествования <• отсут-
отсутствуют, задача решается за полиномиальное время с помощью
техники паросочетаний для произвольного значения гп, даже
если в условии есть моменты поступления и имеется один вид
ресурса, потребность в котором 0 или 1 [43, 44].
[ТР 12] РАСПИСАНИЕ С ПРЕРЫВАНИЯМИ
УСЛОВИЕ. Заданы множество заданий Т, число процессоров
meZ+, частичный порядок <• на Т, длительности /(?)eZ+ для
всех /еГи общий директивный срок D e Z+.
ВОПРОС. Существует ли m-процессорное расписание для за-
заданий из Т, которое допускает прерывания заданий и удовле-
удовлетворяет как условиям предшествования, так и общему дирек-
директивному сроку? (Такое расписание а идентично обычному т-про-
цессорному расписанию, за исключением того, что разрешается
A5. Задачи теории расписаний 30?
разбивать каждое задание <еГ на любое число "частичных
заданий" t\, *2, .... U, таких, что
Е/(/,) = /(') и а (/,+,)> а (/,) + /(О
для всех i, I ^ i ^ k. Условия частичного предшествования рас-
распространяются на частичные задания следующим образом: каж-
каждое частичное задание, полученное из t, предшествует всем ча-
частичным заданиям f, если t <¦('.)
Источник [518]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача разрешима за полиномиальное время в
следующих случаях: если m = 2 [394], если ограничения <• —
"лес" [395], если ограничений предшествования нет и добав-
добавлены индивидуальные директивные сроки [219]. Когда "одно-
"однородные" процессоры имеют "различные производительности",
задача разрешима за полиномиальное время при пг = 2 или при
отсутствии ограничений предшествования [223, 183]; если вы-
выполнено последнее условие, задача остается полиномиально
разрешимой при наличии индивидуальных директивных сроков
[467]; если же одновременно m = 2 и отсутствуют ограничения
предшествования, то задача полиномиально разрешима, даже
если добавлены целочисленные моменты поступления работ
и директивные сроки [311]. В случае «независимых» процессо-
процессоров задача решается за полиномиальное время при фиксиро-
фиксированном m и отсутствии ограничений предшествования [180];
при произвольном пг и отсутствии ограничений предшествования
она может быть решена методом линейного программирования
[331].
[ТР 13] МИНИМИЗАЦИЯ ВЗВЕШЕННОГО МОМЕНТА
ОКОНЧАНИЯ (т ПРОЦЕССОРОВ)
УСЛОВИЕ. Заданы множество заданий Т, число процессоров
meZ+, для каждого задания /еТ длительность l(/)eZ+ и вес
ui(/)gZ+, а также положительное целое число К.
ВОПРОС. Существует ли m-процессорное расписание а для за-
заданий из Т, такое, что
Источник [338]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача остается NP-полной при m = 2, она яв-
является NP-полной в сильном смысле при произвольном m [318].
Задача разрешима за псевдополиномиальное время при фикси-
фиксированных значениях т. Эти результаты сохраняются, если
308 А. Приложение. Список NP-полных задач
допустимы "прерывания" заданий [379]. Задача решается (с по-
помощью техники паросочетаний) за полиномиальное время, если
все длительности равны. Если же длительности не равны, а все
веса равны между собой, то она разрешима за полиномиальное
время даже для процессоров разной производительности [90]
и для "независимых» процессоров [218, 59]. В случае процес-
процессоров разной производительности она разрешима за полино-
полиномиальное время и тогда, когда разрешены прерывания [179].
Если добавлены ограничения предшествования, исходная за-
задача NP-полна в сильном смысле, даже если все веса равны,
т = 2 и частичный порядок есть либо "внутреннее дерево",
либо "внешнее дерево" [478]. Если в условия добавить ограни-
ограничения на ресурсы, то частные случаи, приведенные в задаче
РАСПИСАНИЕ С ОГРАНИЧЕННЫМИ РЕСУРСАМИ, будут
все NP-полными, даже если все веса равны [42].
А5.3. Многопроцессорные расписания конвейерного типа
[ТР 14] ОТКРЫТОЕ КОНВЕЙЕРНОЕ РАСПИСАНИЕ
УСЛОВИЕ. Заданы число процессоров т е Z+, множество за-
заданий /, каждое из которых состоит из т операций (т. е. зада-
задание /е/ состоит из операций t\[f\, t%[j\, ..., tm[j], причем опе-
операция ti[j] выполняется процессором i), длительность /(^)eZ
для каждой операции t и общий директивный срок D e Z+.
ВОПРОС. Существует ли открытое расписание для заданий
из /, удовлетворяющее директивному сроку? Другими словами,
существует ли набор из т однопроцессорных расписаний
at: 7->Z^, I ^i^m, таких, что: A) из условия о,;(/) > о,- (k)
следует а/(/):^ о,-(А)+/(*/[?]); B) для каждого /е/ все ин-
интервалы [ot(j),at(j)-i-l(U[j)) не пересекаются и C) оч(/) +
+ W[i]XD Для всех /, /: 1 < i<m, I /|/|?
W[i]X / /||
Источник [181]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача остается NP-полной при m = 3, но раз-
разрешима за полиномиальное время, если пг = 2. Она является
NP-полной в сильном смысле, если m произвольно [334]. В об-
общем случае задача разрешима за полиномиальное время, если
разрешены прерывания заданий [181], этот факт остается
в силе и тогда, когда заданы два различных момента поступле-
поступления заданий [69]. При пг = 2 и разрешенных прерываниях она
разрешима за полиномиальное время, даже если заданы произ-
произвольные моменты поступления заданий; в общем случае задача
с разрешенными прерываниями, произвольными моментами по-
поступления и директивными сроками сводится к задаче линей-
линейного программирования [69].
A5. Задачи теории расписаний 309
[ТР 15] ПОСЛЕДОВАТЕЛЬНОЕ КОНВЕЙЕРНОЕ
РАСПИСАНИЕ
УСЛОВИЕ. Заданы: число процессоров meZ+, множество за-
заданий /, причем каждое задание /е/ состоит из m операций
h [/]. h [j], ..-, tm [j], длительность операции / (/) e Zo" для каж-
каждой операции t, общий директивный срок D e Z+.
ВОПРОС. Существует ли последовательное расписание для за-
заданий из /, удовлетворяющее общему директивному сроку?
(Последовательным расписанием называется открытое распи-
расписание, удовлетворяющее следующему дополнительному ограни-
ограничению: для всех /е/ и l^i^m <tt+i(/)^ 0/(/)+/(й[/'].)
Источник [155]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле при m = 3.
Она разрешима за полиномиальное время при т = 2 [268].
Эти два результата справедливы, если допустимы прерывания
[182], однако, если добавить моменты поступления заданий,
задача будет NP-полной в сильном смысле даже при m = 2
[69]. Если добавить условие
то полученная задача (без прерываний) будет NP-полна в силь-
сильном смысле, даже если пг = 2 [155].
[ТР 16] ПОСЛЕДОВАТЕЛЬНОЕ'РАСПИСАНИЕ БЕЗ
ОЖИДАНИЯ
УСЛОВИЕ. То же самое, как и в предыдущей задаче, ПОСЛЕ-
ПОСЛЕДОВАТЕЛЬНОЕ РАСПИСАНИЕ.
ВОПРОС. Существует ли последовательное расписание для за-
заданий из /, удовлетворяющее директивному сроку и дополни-
дополнительному условию, для всех /е / и 1 ^ i s?C m, Oi+\()) = <Т/(/) +
+ /(*/[/])?
Источник [338]. К этой задаче сводится ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Задача NP-полна в сильном смысле для любого
фиксированного т^4 [416]. Она разрешима за полиномиаль-
полиномиальное время при m = 2 [172], однако NP-полна в сильном смысле
при m = 2, если допускаются задания не имеющие операций,
выполняемых на первом процессоре [468]. Сложность не уста-
установлена для случая пг = 3. Если добавить условие
310 А. Приложение. Список NP-полных задач
а т — произвольно, то задача будет NP-полной в сильном
смысле [338], причем если т фиксировано (/п^2), то слож-
сложность такой задачи не установлена. Аналогично версии задач
ОТКРЫТОЕ РАСПИСАНИЕ и ОБЩЕЕ КОНВЕЙЕРНОЕ
РАСПИСАНИЕ (см. ниже), когда добавлено условие, запре-
запрещающее ожидание, являются NP-полными в сильном смысле
при т = 2 [468].
[ТР 17] ДВУХПРОЦЕССОРНОЕ ПОСЛЕДОВАТЕЛЬНОЕ
РАСПИСАНИЕ С БУФЕРОМ
УСЛОВИЕ. То же самое, как в задаче ПОСЛЕДОВАТЕЛЬНОЕ
РАСПИСАНИЕ, при условии, что т = 2 и дополнительно за-
задана "емкость буфера" В е Zo".
ВОПРОС. Существует ли последовательное расписание для за-
заданий из /, удовлетворяющее общему директивному сроку
и следующему условию: для любого и ^ 0 число заданий /е/,
для которых одновременно oi(/)+ f(M/])^" и 02(/)>и, не
превосходит В?
Источник [416]. К этой задаче сводится ТРЕХМЕРНОЕ СО-
СОЧЕТАНИЕ С ОГРАНИЧЕНИЯМИ ПО ВЕСУ.
Комментарий. Задача NP-полна в сильном смысле для любого
фиксированного В, 1 ^ В <Z oo. Она разрешима за полиноми-
полиномиальное время, если 5 = 0 [172] или если В^|/|—1 [268].
[ТР 18] ОБЩЕЕ КОНВЕЙЕРНОЕ РАСПИСАНИЕ
УСЛОВИЕ. Заданы: число процессоров m e Z+, множество за-
заданий / (причем каждое задание / е / состоит из упорядочен-
упорядоченного набора операций /*[/], 1 ^ *<!"/)> для каждой операции
t длительность l(t) e Zo", определенный процессор
р(/)е={1, 2, .... ш}, где p(tk[j])^p(tk+l[i\)
для всех / е / и 1 ^ k ^ щ, и директивный срок D e Z+.
ВОПРОС. Существует ли общее конвейерное расписание для
заданий из /, удовлетворяющее общему директивному сроку?
Другими словами, существует ли набор однопроцессорных распи-
расписаний di, отображающих множество {/: p(t) = i} в Zo", 1 <л ^ m
и удовлетворяющих следующим условиям:
A) из ot(t)>oi{f) следует, что oi{t)^ Oi(f)+ l(tf);
B) а(/»+1Ш)^а(МЛ)+/(/*[/])
(где индексы соответствуют расписанию а) для всех /е/
и 1 ^ k ^ щ\
C) для всех/е/
(t[i]) + i(t[i
(где опять индексы соответствуют расписанию а)?
A5. Задачи теории расписаний 311
Источник [155]. К этой задаче сводится 3-РАЗБИЕНИЕ.
Комментарий. Задача NP-полна в сильном смысле при m = 2.
Она может быть решена за полиномиальное время, если m = 2
и п/^ 2 для всех /е/ [256]. Она NP-полна (в обычном
смысле), если т = 2 и щ <: 3 для всех /е/ или если т = Ъ
и щ г^ 2 для всех /е/ [182]. Все эти результаты имеют место
и в случае, когда разрешаются прерывания заданий [182]. Если
прерывания не разрешаются и все операции имеют одинаковую
длительность, задача NP-полна для т = 3; при т = 2 ее слож-
сложность не установлена [337]').
А5.4. Разные задачи
[ТР 19] СОСТАВЛЕНИЕ УЧЕБНОГО РАСПИСАНИЯ
УСЛОВИЕ. Заданы множество Н "рабочих часов", множество
С "преподавателей", множество Т "учебных дисциплин", для
каждого с^С дано подмножество А(с)sH, называемое "до-
"допустимыми часами для преподавателя с", для каждой дисцип-
дисциплины /Е71 — подмножество /l(/)s#, называемое "допусти-
"допустимыми часами для дисциплины t", и для каждой пары (с, *)е
еСХГ — число R(c, *)eZo", называемое "требуемой на-
нагрузкой».
ВОПРОС. Существует ли учебное расписание, обслуживающее
все дисциплины? Другими словами, существует ли функция
/: СХГХ^-*{0, 1} (где f(c,t,h)=l означает, что препода-
преподаватель с занимается дисциплиной / в момент Л), удовлетворяю-
удовлетворяющая следующим условиям: A) f(c,t,h)= 1 только тогда, когда
йе Л(с)П A(t), B) для каждого пеЯ и се С существует не
более одного <ef, такого, что f(c, t, A)= 1, C) для каждого
ЛеЯ и /еГ существует не более одного с&С, такого, что
f(c,t,h)=l, D) для каждой пары (с, t)^CXT существует
ровно R(c, t) значений Л, для которых f(c, t,h)= 1?
Источник [114]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если |#| = 3,
A(t) = H для 1еГи все R(c, /)е {0, 1}. Общая задача разре-
разрешима за полиномиальное время, если \А{с) \ <: 2 для всех
с&С или если A(c)=A(t) = H для всех се С и /еГ
[ТР 20] КОМПЛЕКТОВАНИЕ ШТАТА ИСПОЛНИТЕЛЕЙ
УСЛОВИЕ. Заданы положительные целые числа m и k, набор
С m-мерных векторов, каждый из которых состоит из k единиц
и m — k нулей (и представляет собой возможное распределение
') В. Г. Тиыковский показал, что последняя задача принадлежит клас-
классу Р (результат еще не опубликован). — Прим. ред.
312 А. Приложение. Список NP-полных задач
исполнителей), /n-мерный вектор R неотрицательных чисел
(называемый векотором «потребностей») и число исполните-
исполнителей п.
ВОПРОС. Существует ли расписание /: C->-Z*, такое, что
2 f(c)*?n и ? f(c)-c>R?
С С
Источник [152]. К этой задаче сводится ТП-3.
Комментарий. Задача разрешима за полиномиальное время,
если все се С обладают свойством цикличности (т. е. все еди-
единицы расположены в одном и том же порядке, если считать, что
первая позиция следует за позицией т) [30]. Этот случай соот-
соответствует ситуации, когда исполнители доступны в определен-
определенные часы рабочего дня или дни недели.
[ТР 21] ПЛАНИРОВАНИЕ ПРОИЗВОДСТВА
УСЛОВИЕ. Заданы число п е Z+ плановых периодов, для
каждого периода /, 1^/^п, „потребность" ri e Zo\ „пропу-
„пропускная способность производства" Ci e Zo', стоимость перена-
переналадок производства b{ e Zo", коэффициент приращения стоимо-
стоимости продукции Pi e Zo", коэффициент стоимости запасов hi e
е Zo", общая граница В е Z+.
ВОПРОС. Существуют ли объемы производства xt e Zo" и
соответствующие уровни запасов //=?(*/ — гД 1^
такие, что все Xf^Ci, все /(>0 и
tpti + htlt+ Z *1<Я?
i-i xt>0
Источник [339]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача разрешима за псевдополиномиальное
время; она остается NP-полной, даже если все "потребности"
равны, все стоимости переналадок равны и все стоимости запа-
запасов равны 0. Если все пропускные способности равны, то задача
разрешима за полиномиальное время [124]. Упомянутые алго-
алгоритмы можно обобщить на случай произвольных монотонных
неубывающих выпуклых функций стоимости (если они вычис-
вычислимы за полиномиальное время).
[ТР 22] ИЗБЕЖАНИЕ ТУПИКА
УСЛОВИЕ. Заданы множество диаграмм переходов для m про-
процессов {Pi, Pz Pm} (где каждая диаграмма представляет
ориентированный ациклический граф), множество Q "ресурсов",
состояние 5 системы, задающее текущий "активный" узел для
A6. Математическое программирование 313
каждого процесса, и "распределение ресурсов" (подробности
можно найти в указанных ниже работах).
ВОПРОС. Является ли состояние S "опасным"? Другими сло-
словами, существуют ли управляющие потоки для различных про-
процессов, такие, что никакое распределение и перераспределение
ресурсов не переведет систему из состояния S в некоторое "ко-
"конечное" состояние?
Источник [21, 508]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если требова-
требования к размещению "правильные" и каждое из них относится не
более чем к двум ресурсам. В указанной литературе приводятся
дополнительные результаты по сложности этой задачи. В ра-
работе [175] даны результаты и алгоритмы, относящиеся к близ-
близкой задаче о тупиковых ситуациях.
А6. МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
[МП 1] ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ
УСЛОВИЕ. Заданы конечное множество X, состоящее из пар
(х, Ь) (где х есть m-мерный целочисленный вектор, Ь — целое
число), m-мерный целочисленный вектор с и целое число В.
ВОПРОС. Существует ли такой m-мерный вектор у с целыми
координатами, что х-у^Ь для всех (х, Ь)еХ и с-у^В (где
произведение m-мерных векторов п = («ь иг, ..., ит) и v =*
m \
= (fi, vit ..., vm) задается формулой п • б = ? ui°tу
Источник [280, 55]. К этой задаче сводится 3-ВЫП. Во второй
работе доказана принадлежность задачи классу NP.
Комментарий. Задача NP-полна в сильном смысле. Ее вариант,
когда ищется вектор у, координаты которого принадлежат мно-
множеству {0, 1} (так называемая задача 0-1 ЦЕЛОЧИСЛЕННОЕ
ПРОГРАММИРОВАНИЕ), остается NP-полным даже в том
случае, когда каждое Ъ, все координаты векторов х и все коор-
координаты вектора с принадлежат множеству {0, 1}. NP-полной
является задача с тем же условием, но в которой спрашивается
о существовании такого вектора у с неотрицательными целыми
компонентами, что х-у = Ь для всех (х, Ь)еХ, или такого це-
целочисленного вектора у, что х-у^0 для всех (х, ft)eX
(см. [463]I)-
1) Из результата, полученного X. У. Ленстрой-младшим [19811, следует,
что эта задача при каждом фиксированном \U\ разрешима за полиномиаль-
полиномиальное время. — Прим. ред.
314 А. Приложение. Список NP-полных задач
[МП 2] КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ (*)
УСЛОВИЕ. Заданы конечное множество X, состоящее из пар
(х, Ь) (где х есть m-мерный вектор с рациональными координатами,
Ъ — рациональное число), два /га-мерных вектора с и 3 с рацио-
рациональными координатами и рациональное число В.
ВОПРОС. Существует ли такой m-мерный вектор у с рацио-
рациональными координатами, что х-у^Ь для всех пар (х, 6)еА
т
и И (С1У21 + ^-lUi) ^ ^> гДе с<> #< и ^' —эт0 '"е компоненты век-
векторов с, у и 3 соответственно?
Источник [463]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Если не все компоненты вектора с неотрицатель-
неотрицательны, то принадлежность задачи классу NP не установлена [290].
Если ограничения квадратичны, а целевая функция линейна
(в противоположность сформулированной выше задаче), то за-
задача NP-трудна [463]. Если к последней задаче добавить усло-
условие, что все компоненты вектора у целочисленны, то задача
станет неразрешимой [258].
[МП 3] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
С ПАРАМЕТРИЧЕСКОЙ ЦЕЛЕВОЙ ФУНКЦИЕЙ
УСЛОВИЕ. Заданы конечное множество X, состоящее из пар
(Jc, b) (где х_ есть m-мерный целочисленный вектор, Ь — целое
число), множество /s{l, 2 пг) и положительное рацио-
рациональное число q.
ВОПРОС. Существует ли такой m-мерный вектор с с рацио-
рациональными координатами, что (c-c)m^Lq и минимум по всем
УеУ сумм вида 2 ciVi больше, чем
Vjmax {| с, |: / е= /} + ? min {0, с,},
где У — множество всех m-мерных векторов с неотрицатель-
неотрицательными рациональными координатами, удовлетворяющих условию
х-у^Ь для всех пар (х, b)eX}
Источник [259]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного q > 0. Она возникает при анализе влияния ошибок
первого порядка в задаче линейного программирования.
[МП 4] ПРОДОЛЖЕНИЕ ДО ДОПУСТИМОГО БАЗИСА
УСЛОВИЕ. Заданы целочисленная матрица А порядка тХл,
m <C п, вектор-столбец а размерности m и подмножество
S(|S|m) множества столбцов матрицы Л.
A6. Математическое программирование 315
ВОПРОС. Существует ли для системы уравнений Ах = а, х^ О,
такой допустимый базис В, что В содержит все столбцы из
множества S? (Допустимым базисом называется неособая,
имеющая порядок тУСпг подматрица В матрицы А, такая, что
B-ia 3* 0.)
Источник [396]. К этой задаче сводится ГАМИЛЬТОНОВ
ЦИКЛ.
[МП 5] МИНИМАЛЬНОЕ ПО ВЕСУ РЕШЕНИЕ СИСТЕМЫ
ЛИНЕЙНЫХ УРАВНЕНИЙ
УСЛОВИЕ. Заданы конечное множество X, состоящее из пар
(х, Ь) (где х есть m-мерный целочисленный вектор, b — целое
число) и положительное целое число К ^ т.
ВОПРОС. Существует ли такой m-мерный вектор у с рацио-
рациональными координатами, что у имеет не более К отличных от
нуля координат и для всех (х.Ь)^Х выполнено равенство
х-9 = Ь?
Источник [152]. К этой задаче сводятся ТП-3.
Комментарий. Задача NP-полна в сильном смысле. Разрешима
за полиномиальное время, если К = т.
[МП 6] ОТКРЫТАЯ ПОЛУСФЕРА
УСЛОВИЕ. Заданы конечное множество X m-мерных векторов
и положительное целое число Я^|Х|.
ВОПРОС. Существует ли такой /п-мерный вектор у с рацио-
рациональными координатами, что х-у>0 по крайней мере для К
векторов х е X?
Источник [267]. К этой задаче сводится МАКСИМАЛЬНАЯ
2-ВЫПОЛНИМОСТЬ
Комментарий. Задача NP-полна в сильном смысле, но для лю-
любого фиксированного m разрешима за полиномиальное время,
даже во «взвешенном» варианте. Аналогичные результаты
имеют место для задачи ЗАМКНУТАЯ ПОЛУСФЕРА, в кото-
которой ищется вектор у, удовлетворяющий условиям х-yz^b не
менее чем для К векторов х^Х [267]. Если /С = 0 или К =
= \Х\, обе задачи полиномиально эквивалентны задаче линей-
линейного программирования [448].
[МП 7] К-ОПРЕДЕЛЯЕМОСТЬ
УСЛОВИЕ. Заданы конечное множество X, состоящее из пар
(х, Ь) (где х есть m-мерный целочисленный вектор, Ь — целое
число) и положительное целое число /С^|^|
316 А. Приложение. Список NP-полных задач
ВОПРОС. Существует ли подмножество X' s X, такое, что
|Л^'|^/С и для всех m-мерных векторов у с рациональными
координатами из условия х-y^b для всех (х.Ь)^Х' следует,
что х-у ^ b для всех (х, b) e X?
Источник [448]. К этой задаче сводится ТП-3.
Комментарий. Задача NP-полна в сильном смысле. При К =
= \Х\—1 эквивалентна задаче линейного программирования
[448]. В этой же работе можно найти другие NP-полные за-
задачи этого вида, в которых стандартная задача линейного про-
программирования дополнена вопросом о выполнении нужного
свойства для некоторого подмножества, состоящего из К огра-
ограничений.
[МП 8] НЕСМЕЖНОСТЬ ВЕРШИН МНОГОГРАННИКА
ЗАДАЧИ О КОММИВОЯЖЕРЕ
УСЛОВИЕ. Заданы граф G = (V, E) и два гамильтоновых
цикла С и С в графе G.
ВОПРОС. Верно ли, что С и С соответствуют несмежным вер-
вершинам "многогранника задачи о коммивояжере" для графа G?
Источник [411]. К этой задаче сводится 3-ВЫП.
Комментарий. Результат остается справедливым и в "несим-
"несимметричном" случае, когда G — ориентированный граф, а С
и С — ориентированные гамильтоновы циклы. Аналогичные за-
задачи о несмежности вершин многогранников, соответствующих
паросочетанию и КЛИКЕ, могут быть решены за полиномиаль-
полиномиальное время [74].
[МП 9] РЮКЗАК
УСЛОВИЕ. Заданы конечное множество U, размер s(«)eZ+
и стоимость c(ii)gZ+ каждого ые?/, положительные целые
числа В и К-
ВОПРОС. Существует ли такое подмножество U' s U, что
? s(«)<B и ?
(elf' ue
Источник [280]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача остается NP-полной, если s(u)=v(u)
для всех u&U (СУММА РАЗМЕРОВ). С помощью метода ди-
динамического программирования задача может быть решена за
псевдополиномиальное время (см., например, [98, 324]).
[МП 10] ЦЕЛОЧИСЛЕННЫЙ РЮКЗАК
УСЛОВИЕ. Заданы конечное множество U, размер s(a)eZ+
A6. Математическое программирование 317
и стоимость »(u)eZ+ каждого элемента ue(i, а также поло-
положительные целые числа В и К.
ВОПРОС. Можно ли так сопоставить каждому элементу ы s I/
целое число с (и), чтобы выполнялись неравенства
? c(«)>s(«)<B и ? с(и)-1>(и)Ж?
Источник [364]. К этой задаче сводится СУММА РАЗМЕРОВ.
Комментарий. Задача остается NP-полной, если s(u)=v(u)
для всех ue ?Л Методом динамического программирования
разрешима за псевдополиномиальное время. Если |f/| = 2, то
задача разрешима за полиномиальное время [210].
[МП 11] НЕПРЕРЫВНЫЙ РЮКЗАК С КРАТНЫМ
ВЫБОРОМ ЭЛЕМЕНТОВ
УСЛОВИЕ. Заданы конечное множество U, размеры s(«)eZ+
и стоимость u(«)eZ+ каждого элемента из множества U, раз-
разбиение множества U на непересекающиеся подмножества U\,
?/2 Um, положительные целые числа В и К.
ВОПРОС. Можно ли так выбрать по одному элементу щ из
каждого подмножества Ui, I ^ i ^ m, и так сопоставить им
рациональные числа п, 0 ^ ti <L, 1, что будут выполнены нера-
неравенства
Источник [245]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача разрешима за псевдополиномиальное
время, но остается NP-полной даже в том случае, если | Ul\ ^
sg: 2, 1 ^ ( ^ пг. Если | Ui\ = 1 при 1 ^ i ^ m или если потре-
потребовать только, чтобы п &s 0, но не устанавливать для п верх-
верхней границы, то она разрешима за полиномиальное время
"жадными" алгоритмами [246].
[МП 12] ЧАСТИЧНО УПОРЯДОЧЕННЫЙ РЮКЗАК
УСЛОВИЕ. Заданы конечное множество U, отношение частич-
частичного порядка <• на U, размер s(u)eZ+ и стоимость u(a)eZ+
каждого элемента ае?/, положительные целые числа В и К-
ВОПРОС. Существует ли такое подмножество V ? U, что если
ие(/'и«' <•«, то и'еУ'и выполнены неравенства
«'elf
318 А. Приложение. Список NP-полных задач
Источник [152]. К этой задаче сводится КЛИКА. Рассматри-
Рассматриваемая задача обсуждается также в работе [249].
Комментарий. Задача NP-полна в сильном смысле, даже если
s(u)= у (и) для всех u^U. Общая задача разрешима за псев-
псевдополиномиальное время, если <¦ есть частичное "древовидное"
упорядочение [152].
[МП 13] ПОКООРДИНАТНЫЕ НЕРАВЕНСТВА
МЕЖДУ ВЕКТОРАМИ
УСЛОВИЕ. Заданы два множества X = {хи х2, ..., **} и У =
= {уг, уг yt}, состоящие из m-мерных целочисленных век-
векторов.
ВОПРОС. Существует ли такой m-мерный целочисленный век-
вектор г, что число векторов xi, для которых выполнено неравен-
неравенство xt Г> 2, не меньше числа таких векторов pj, для которых
выполнено неравенство y~j ^ z (здесь соотношение ы ^ v выпол-
выполняется тогда и только тогда, когда у вектора п нет ни одной
координаты, которая была бы меньше соответствующей коор-
координаты вектора v)?
Источник [429]. К этой задаче сводится ПОКОМПОНЕНТНОЕ
ВКЛЮЧЕНИЕ (с равными весами).
Комментарий. Задача остается NP-полной, даже если все ком-
компоненты векторов Xi или г// принадлежат множеству {0, 1}.
А7. АЛГЕБРА И ТЕОРИЯ ЧИСЕЛ
А7.1. Задачи о делимости
[АТЧ 1] КВАДРАТИЧНЫЕ СРАВНЕНИЯ
УСЛОВИЕ. Заданы положительные целые числа а, Ь и с.
ВОПРОС. Существует ли положительное целое число х < с,
такое, что х2 =з= a (mod b) ?
Источник [373]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если в условии
даны разложение числа b на простые множители и решение
данного сравнения по всем простым модулям, входящим в раз-
разложение числа Ь. Задача решается за полиномиальное время,
если с = оо (т. е. отсутствует ограничение на х сверху) и за-
задано разложение b на простые множители. В предположении
истинности расширенной гипотезы Римана при простом b за-
задача решается за полиномиальное время. В общем виде она
тривиально разрешима за псевдополиномиальное время.
AT. Алгебра и теория чисел 319
[АТЧ 2] СИСТЕМА НЕСРАВНИМОСТЕЙ
УСЛОВИЕ. Задан набор {(аи Ь\), .... (ая, &„)} упорядоченных
пар положительных целых чисел, таких, что а,- ^ bi при 1 ^
< i < п.
ВОПРОС. Существует ли такое целое число х, что х =s
= a, (mod 6,), I < t^n?
Источник [503]. К этой задаче сводится 3-ВЫП.
[АТЧ 3] СОВМЕСТНАЯ ДЕЛИМОСТЬ ЛИНЕЙНЫХ
МНОГОЧЛЕНОВ (*)
УСЛОВИЕ. Заданы векторы ai = (ai[0] аЛ!) И &< =
= (ft([0] bi[m\), l^i^n, с положительными целыми
координатами.
ВОПРОС. Существуют ли такие положительные целые числа
m m
xu х2, ..., хт, что at [0] + Ц а/ [/] */ Делит bt [0] + ? bt [j] x{i
Источник [348, 349]. К этой задаче сводится задача КВАДРАТ-
КВАДРАТНЫЕ ДИОФАНТОВЫ УРАВНЕНИЯ.
Комментарий. Не известно, принадлежит ли задача классу NP,
но при любом фиксированном п она принадлежит NP. При лю-
любом фиксированном п ^ 5 задача NP-полна. В общем виде она
неразрешима при условии, что компоненты векторов х/ могут
принимать значения в кольце "целых" вещественного квадра-
квадратичного расширения поля рациональных чисел. В указанных
выше работах приведены другие, близкие результаты о разреши-
разрешимости и неразрешимости.
[АТЧ 4] СРАВНИТЕЛЬНАЯ ДЕЛИМОСТЬ
УСЛОВИЕ. Заданы две последовательности аи а%, ..., ап
и Ь\, &2. • • •. bm положительных целых чисел.
ВОПРОС. Существует ли положительное целое число с, для ко-
которого число таких i, что с делит at, больше числа таких /, что
с делит bfi
Источник [429]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, если все 6/ раз-
различны и все а, различны [152].
[АТЧ 5] ДЕЛИМОСТЬ ПОКАЗАТЕЛЬНОГО
ВЫРАЖЕНИЯ (*)
УСЛОВИЕ. Заданы две последовательности а\, аг. • • •. ап
и b\, b2, .... bm положительных целых чисел и целое число q.
m n
ВОПРОС. Делится ли число П iffl— 0 на П0?°' — 0?
320 А. Приложение. Список NP-поЛных задач
Источник [429]. К этой задаче сводится 3-ВЫП.
Комментарий. Не известно, принадежит ли задача классу NP
или классу co-NP, но она решается за псевдополиномиальное
время обычным алгоритмом отыскания наибольшего общего де-
делителя. Остается NP-трудной для любого фиксированного зна-
значения <7, |<7| > 1 даже тогда, когда а,- и bt являются произве-
произведениями различных простых чисел.
[АТЧ 6] НЕДЕЛИМОСТЬ ПРОИЗВЕДЕНИЯ
МНОГОЧЛЕНОВ
УСЛОВИЕ. Заданы последовательности Ai=(,(ai[l], bi[l]), ...
..., (flf[i(], bi[K])y, lsSTi^m, таких пар целых чисел, что
bi [/] = 0, а также целое число N.
m / k ч
ВОПРОС. Верно ли, что многочлен ТТI У, at [j] • zbt {1] 1 не де-
лится на многочлен zN—1?
Источник [430, 431]. К этой задаче сводится 3-ВЫП. Доказа-
Доказательство принадлежности классу NP нетривиально и получено
во второй из указанных работ.
Комментарий. Близкая задача: "Заданы две последовательно-
последовательности <ai, а% ат> и <&ь Ъг й„> положительных целых
п m
чисел, требуется выяснить, делится ли Ц(гь' — l) на П(га' —
,-i 1-1
— 1)?" —также NP-полна [429].
[ДТЧ 7] НЕТРИВИАЛЬНЫЙ НАИБОЛЬШИЙ ОБЩИЙ
ДЕЛИТЕЛЬ (*)
УСЛОВИЕ. Заданы последовательности Л*=<(а/[1], 6<[1]), ...
.... (ai[K], bi[K])}, l^i^m, nap целых чисел, таких, что
ЬЛП>0.
ВОПРОС. Верно ли, что наибольший общий делитель много-
к
членов X аЛЯ • z*'1". l<i^m, имеет положительную сте-
степень?
Источник [430]. К этой задаче сводится 3-ВЫП.
Комментарий. Не известно, принадлежит ли задача NP или
co-NP. Задача остается NP-трудной, если все at[j] равны —1
или +1 [429] или если т = 2 [431]. Аналогичная задача,
в условии которой дано также положительное целое число К
и спрашивается верно ли, что наименьшее общее кратное за-
заданных многочленов имеет степень меньше К при тех же огра-
A7. Алгебра и Теория чисел 321
ничениях, является NP-трудной. С помощью стандартных алго-
алгоритмов обе задачи могут быть решены за псевдополиномиаль-
псевдополиномиальное время.
А7.2. Разрешимость уравнений
[АТЧ 8] КВАДРАТНЫЕ ДИОФАНТОВЫ УРАВНЕНИЯ
УСЛОВИЕ. Заданы положительные целые числа а, & и с.
ВОПРОС. Существуют ли положительные целые числа х и у,
такие, что ах2 + by = с?
Источник [373]. К этой задаче сводится 3-ВЫП.
h
Комментарий. Диофантовы уравнения вида axk = с и ^1aixl =
= с разрешимы в целых числах за полиномиальное время для
произвольных ft. Общая диофантова задача: "Задан полином от
ft переменных с целыми коэффициентами, имеется ли у него
целый корень?" — неразрешима уже при ft = 13 [377]. Однако
данная задача может быть значительно обобщена (на системы
уравнений с несколькими переменными), оставаясь при этом
в классе NP, для этого достаточно, чтобы только одна перемен-
переменная входила нелинейным образом в уравнение системы [192].
[АТЧ 9] АЛГЕБРАИЧЕСКИЕ УРАВНЕНИЯ В ПОЛЕ GF[2]
УСЛОВИЕ. Заданы полиномы Pi(x\, х* х„), 1 ^ i: ^ ш,
над GF [2] (любой моном любого полинома есть либо 1, либо
произведение различных *,•).
ВОПРОС. Существуют ли такие и\, ич, ..., и„е{0, 1}, что
Pi(ui, «2. ¦¦•. ы„) = 0, 1 ^ t ^ пг, причем арифметические опе-
операции выполняются в поле GF [2], т. е. 1 + 1 = 0. Ы = 1
и т. д.?
Источник [129]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной даже в том случае,
когда ни в одном из многочленов нет мономов, содержащих бо-
более двух переменных [524]. Легко решается за полиномиальное
время, если в многочленах нет мономов, содержащих более
одной переменной или если i= 1. Вариант этой задачи, в кото-
котором щ принимают значения в алгебраическом замыкании GF
[2], является NP-трудным, даже если в многочленах нет моно-
мономов, содержащих более двух переменных [129].
[АТЧ 10] КОРНИ ПО МОДУЛЮ РАВНЫЕ 1 (*)
УСЛОВИЕ. Задан набор упорядоченных пар (a[i], b[i]), I s^
^ i ^ п, целых чисел, причем b [i] ^ 0.
322 А. Приложение. Список ЫР-полных задач
ВОПРОС. Верно ли, что многочлен ?а[г]-2Ь|'> имеет корень
на единичной окружности комплексной плоскости? Иными сло-
словами, существует ли комплексное число q, \q\=\, такое, что
Источник [431]. К этой задаче сводится 3-ВЫП.
Комментарий. Не известно, принадлежит ли задача NP или
co-NP.
[АТЧ 11] ЧИСЛО КОРНЕЙ ПРОИЗВЕДЕНИЯ
ПОЛИНОМОВ (*)
УСЛОВИЕ. Заданы последовательности А = <(а,[1], &<[1]), ...
..., (ai[k\, &,[?])> пар целых чисел, причем все bi[j]^O,
а также положительное целое число К.
m / k s
ВОПРОС. Верно ли, что полином XII Z1 я* [Л ш% I имеет ме-
нее К различных комплексных корней?
Источник [430]. К этой задаче сводится 3-ВЫП.
Комментарий. Не известна принадлежность задачи ни NP, ни
co-NP. Задача остается NP-трудной, если каждое а,-[у] равно
—1 или +1 или если в условии имеется число М и спраши-
спрашивается, существует ли у произведения многочленов не более К
корней кратности М [430].
[АТЧ 12] ПЕРИОДИЧЕСКОЕ РЕШЕНИЕ
РЕКУРРЕНТНОГО УРАВНЕНИЯ (*)
УСЛОВИЕ. Задана последовательность (с,-, Ы), 1 ^ i ^ ш, упо-
упорядоченных пар целых чисел с положительными bi.
ВОПРОС. Существует ли такая последовательность целых чи-
чисел ао, а\, ..., an_i, n^ max {bi}, что бесконечная последова-
последовательность а0, а\, .... определяемая рекуррентным уравнением
для всех i^n удовлетворяет соотношению а, = й
Источник [431]. К этой задаче сводится 3-ВЫП.
Комментарий. Не известна принадлежность задачи ни классу
NP, ни co-NP. В указанной работе приведены близкие резуль-
результаты.
A7. Алгебра и теория чисел 823
А7.3. Разное
[АТЧ 13] ВЫЧИСЛЕНИЕ ПЕРМАНЕНТА(*)
УСЛОВИЕ. Заданы @—1)-матрица М порядка лХп и поло-
положительное целое К ^ п\
ВОПРОС. Верно ли, что значение перманента матрицы М
равно /С?
Источник [522]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача является NP-трудной, но не известно,
принадлежит ли она классу NP. То же самое справедливо для
варианта, в котором спрашивается, верно ли, что значение пер-
перманента не больше К или не меньше К. Задача вычисления
значения перманента матрицы М КР-полна.
[АТЧ 14] ИНТЕГРАЛ ОТ ПРОИЗВЕДЕНИЯ КОСИНУСОВ
УСЛОВИЕ. Задана последовательность (аь аг, .... ап) целых
чисел.
ВОПРОС. Верно ли, что И П cos ^а'е^)dQ = 0?
о \г-1 /
Источник [429]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Задача разрешима за псевдополиномиальное
время. В указанной работе приведены близкие результаты
о сложности задач интегрирования.
[АТЧ 15] ТОЧКА РАВНОВЕСИЯ
УСЛОВИЕ. Заданы набор {Ff- 1 ^»^ п} многочленов с це-
целыми коэффициентами от переменных х\, дг2, ..., х„ и конечные
области определения переменных М,- = Z, 1 ^ i ^ п.
ВОПРОС. Существует ли такая последовательность у\, у%, ...
..., у„, yi e Mi, 1 ^ I ^ п, что для всех у е Mi выполнены
неравенства
Fi(yu У2, •••. yt-i, Уь Уi+i, ••-. Уп)>
>Fi(Vu Уг Уt-\, У, У1+ь ••-, Уп)?
Источник [463]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если Mi =
= {0, 1}, l<i^/i
[АТЧ 16] УНИФИКАЦИЯ С КОММУТАТИВНЫМИ
ОПЕРАТОРАМИ
УСЛОВИЕ. Заданы множество переменных V, множество кон-
констант С, упорядоченные пары (ft,/i) "выражений". (Выражением
324 А. Приложение. Список NP-полных задач
называется либо переменная из V, либо константа из С, либо
(e + f), где е и /—выражения.)
ВОПРОС. Можно ли так сопоставить каждой переменной чеУ
выражение I(v), не содержащее переменных, что /(e,)s=/(/,)
при 1 ^ i ^ п (где 1{е)—выражение, получающееся заменой
каждой переменной v, входящей в е, выражением I(v), а отно-
отношение тождества определяется так: е = /, если е = / или если
e = (a-{-b), f = (c-\-d) и либо а = с, Ъ = d, либо а == d,
ft и с)?
Источник [479]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если каждое
выражение е, и /,¦ содержит не более 7 вхождений постоянных
и переменных. Вариант задачи, в котором оператор + не ком-
коммутативен, т. е. е = / и тогда и только тогда, когда е = /, раз-
разрешим за полиномиальное время [421].
[АТЧ 17] УНИФИКАЦИЯ ДЛЯ КОНЕЧНО-
ОПРЕДЕЛЕННЫХ АЛГЕБР
УСЛОВИЕ. Задана алгебра А, конечно-определенная с множе-
множеством образующих G, набором операторов О различных конеч-
конечных арностей и набором Г определяющих соотношений на пра-
правильно построенных выражениях над G и О. Заданы также
два правильно построенных выражения ей/ над G и О и мно-
множество переменных V (детали см. в указанных ниже работах).
ВОПРОС. Можно ли каждой переменной v e V сопоставить
единственный "терм" f(v) над О и О так, что если 1(е) и I(f)
обозначают выражения, получающиеся заменой каждой пере-
переменной вей/ соответствующим термом, то /(е) и /(/) пред-
представляют один и тот же элемент Л?
Источник [300, 299]. К этой задаче сводится 3-ВЫП. Доказа-
Доказательство того, что задача принадлежит классу NP, нетриви-
нетривиально и содержится во второй работе.
Комментарий. Задача остается NP-полной, если только е или
только / содержит символы переменных. В работе [301] изло-
изложены кванторные версии рассматриваемой задачи, которые яв-
являются полными в классе P-SPACE и в различных уровнях
полиномиальной иерархии.
[АТЧ 18] ПРЕДСТАВИМОСТЬ ЦЕЛОЧИСЛЕННЫМ
ВЫРАЖЕНИЕМ
УСЛОВИЕ. Заданы целочисленное выражение е над операто-
операторами U и + (целочисленное выражение определяется рекур-
рекурсивно: двоичное представление числа «eZ+ есть целочисленное
AS. Игры и головоломки 325
выражение, представляющее множество {л}, если fag есть
целочисленные выражения, представляющие множества F и G,
то f\jg есть целочисленное выражение, представляющее мно-
множество F[)G, а / + g есть целочисленное выражение, представ-
представляющее множества jm + n:meF и neG), а также положи-
положительное целое число К.
ВОПРОС. Принадлежит ли К множеству, представляемому вы-
выражением е?
Источник [503]. К этой задаче сводится СУММАРНЫЙ ВЕС
ПОДМНОЖЕСТВА.
Комментарий. Близкая задача НЕЭКВИВАЛЕНТНОСТЬ ЦЕ-
ЦЕЛОЧИСЛЕННЫХ ВЫРАЖЕНИЙ: "По двум заданным цело-
целочисленным выражениям ей/ определить, представляют ли они
различные множества?" — является NP-трудной и на самом
деле полна в классе 2? полиномиальной иерархии ([503, 500],
см. также разд. 7.2). Если допустить применение оператора
"~1", где ~\е представляет множество всех целых чисел, не пред-
представляемых е, то обе задачи о представимости и неэквивалент-
неэквивалентности становятся P-SPACE-полными, см. [503].
А8. ИГРЫ И ГОЛОВОЛОМКИ
[ИГ 1] ОБОБЩЕННЫЙ ГЕКС (*)
УСЛОВИЕ. Задан граф G = (V, E), в нем выделены две вер-
вершины s, /еУ.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в опи-
описанной ниже игре на графе G?
Описание игры. Игроки поочередно выбирают вершину из
l/\{s,/}; вершины, выбранные игроком 1, "окрашиваются"
в синий цвет, а выбранные игроком 2 — в красный. Игра про-
продолжается до тех пор, пока не будут окрашены все выбранные
вершины, причем игрок 1 выигрывает тогда и только тогда,
когда найдется путь из s в / в графе G, проходящий только
через синие вершины.
Источник [119]. К этой задаче сводятся БУЛЕВСКИЕ ФОР-
ФОРМУЛЫ С КВАНТОРАМИ (БФК) (см. разд. А9.2).
Комментарий. Задача является P-SPACE-полной. Версия за-
задачи, в которой игроки поочередно выбирают ребра, а не вер-
вершины (известная под названием "переключательная игра Шен-
Шеннона на ребрах"), разрешима за полиномиальное время [62].
Если граф G ориентирован и игрок 1 стремится получить синий
ориентированный путь из s в t, то обе задачи (т. е. выбор вер-
вершин и выбор ребер) являются P-SPACE-полными [119].
326 А. Приложение. Список NP-полных задач
[ИГ 2] ОБОБЩЕННАЯ ГЕОГРАФИЯ (*)
УСЛОВИЕ. Задан ориентированный граф G=(V, А) и выде-
выделенная в нем вершина v0 e V.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в описан-
описанной ниже игре на G?
Описание игры. Игроки поочередно выбирают новую дугу
из А. Первая дуга должна иметь своим началом вершину vq,
а каждая последующая выбранная дуга должна иметь своим
началом конец последней выбранной до этого дуги. Игрок, кото-
который первым окажется не в состоянии выбрать новую дугу, про-
проигрывает.
Источник [473]. К этой задаче сводится БУЛЕВСКИЕ ФОР-
ФОРМУЛЫ С КВАНТОРАМИ (БФК) (см. разд. А9.2).
Комментарий. Задача P-SPACE-полна, даже если граф дву-
двудольный, пленарный и имеющий степени захода и выхода, не
превосходящие 2, и степени вершин не превосходят 3 (ПЛА-
НАРНАЯ ГЕОГРАФИЯ) [345]. Игра является обобщением из-
известной игры "география", или "города", в которой игроки по-
поочередно называют города, причем название каждого города
должно начинаться с той буквы, на которую оканчивается на-
название предыдущего города.
[ИГ 3] ОБОБЩЕННЫЕ «КЕЙЛИ»(*)
УСЛОВИЕ. Задан граф G = (V,E).
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в описан-
описанной ниже игре на G?
L Описание игры. Игроки поочередно выбирают вершину
в графе, причем эта вершина и все ей смежные выбрасываются
из графа. Игрок 1 выигрывает тогда и только тогда, когда
игрок 2 оказывается первым игроком, который не может вы-
выбрать вершину, так как они уже все выброшены.
Источник [473]. К этой задаче сводится БФК (см. разд. А9.2).
Комментарий. Задача P-SPACE-полная. Рассмотрим версию
задачи, в которой G = (Vi U V2, Е)— двудольный граф, каждое
ребро которого имеет одну вершину в V\, а другую — в V2,
и, кроме того, игрок i может выбирать вершины из множества
V, (причем все смежные вершины, как и раньше, выбрасы-
выбрасываются), эта задача также' является P-SPACE-полной. Описа-
Описание игры в "кейли", на которой основано приведенное выше
обобщение, можно найти в [89].
[ИГ 4] ПОСЛЕДОВАТЕЛЬНОЕ ПРИСВОЕНИЕ ЗНАЧЕНИЙ
ИСТИННОСТИ (*)
УСЛОВИЕ. Заданы последовательность переменных U =(и\,
A8. Игры и головоломки 327
«2 «н> и семейство С дизъюнкций над U (так же как
в задаче ВЫПОЛНИМОСТЬ).
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в опи-
описанной ниже игре на С и С?
Описание игры. Игроки поочередно присваивают значение
истинности переменным из U, причем на i-м ходу игрок 1 при-
присваивает значение переменной ы2/—ь а игрок 2 — переменной иц.
Игрок 1 выигрывает тогда и только тогда, когда в результате
присвоения переменным значений истинности все дизъюнкции
из С оказываются выполненными.
Источник [503]. К этой задаче сводится БФК (см. разд. А9.2).
Комментарий. Задача P-SPACE-полная, даже если все дизъюнк-
дизъюнкции в С содержат только три литерала. Она разрешима за по-
полиномиальное время, если каждая дизъюнкция содержит не
более двух литералов [474].
[ИГ 5] ПРИСВОЕНИЕ ИСТИННОСТИ С РАЗБИЕНИЕМ
МНОЖЕСТВА ПЕРЕМЕННЫХ (*)
УСЛОВИЕ. Задано множество переменных V и семейство С
дизъюнкций над V.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в опи-
описанной ниже игре на U и С?
Описание игры. Игроки поочередно выбирают переменные из
U до тех пор, пока не будут выбраны все переменные. Игрок 1
выигрывает тогда и только тогда, когда набор значений "ис-
"истина" у переменных игрока 1 и значений "ложь" у переменных
игрока 2 приводит к выполнению-всех дизъюнкций из С.
Источник [473]. К этой задаче сводится БФК (см. разд. А9.2).
Комментарий. Задача P-SPACE-полная, даже если все дизъ-
дизъюнкции содержат литералы без отрицаний (т. е. не содержат
литералов вида п, если ие(/). Аналогичные результаты для
нескольких других игр на логических выражениях можно найти
в [473].
[ИГ 6] ФИЛЬТР (*)
УСЛОВИЕ. Заданы два семейства А и В подмножеств конеч-
конечного множества X, причем Л и В не имеют общих подмножеств.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в описан-
описанной ниже игре на А, В и X?
Описание игры. Игроки поочередно выбирают элементы из
X до тех пор, пока множество X' всех выбранных элементов не
будет пересекаться либо с каждым подмножеством из А, либо
с каждым подмножеством из В. Игрок 1 выигрывает тогда
и только тогда, когда множество X' всех выбранных элементов
пересекается с каждым подмножеством из В, причем если
328 А. Приложение. Список NP-полных задач
последний ход сделан игроком 1, то X' не должно пересекаться
с каждым подмножеством из А.
Источник [473]. К этой задаче сводится БФК (см. А9.2).
Комментарий. Задача P-SPACE-полная.
[ИГ 7] НАКРЫВАЮЩЕЕ МНОЖЕСТВО (*)
УСЛОВИЕ. Задано семейство С подмножеств базисного мно-
множества В.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в опи-
описанной ниже игре на С и 5?
Описание игры. Игроки поочередно выбирают новые эле-
элементы из В до тех пор, пока для каждого сеС не окажется
выбранным какой-то элемент из с. Игрок, ход которого приво-
приводит к этой ситуации, проигрывает.
Источник [473]. К этой задаче сводится БФК (см. разд. А9.2).
Комментарий. Задача P-SPACE-полная, даже если все множе-
множества в С содержат не более двух элементов (исходная задача
НАКРЫВАЮЩЕЕ МНОЖЕСТВО в этом случае полиномиально
разрешима). Если поменять местами выигрывающего и проиг-
проигрывающего, задача будет P-SPACE-полной, даже когда все
множества в С содержат не более трех элементов.
[ИГ 8] МАКСИМАЛЬНОЕ ВЗВЕШЕННОЕ
ПАРОСОЧЕТАНИЕ (*)
УСЛОВИЕ. Заданы граф G = (V, Е), веса »(e)eZ+ для всех
ее?и граница В е Z+.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в описан-
описанной ниже игре на G?
Описание игры. Игроки поочередно выбирают новое ребро
из Е, при этом выбранное ребро не должно иметь общих концов
с выбранными ранее ребрами. Как только сумма весов всех
выбранных ребер превосходит В, игрок 1 выигрывает.
Источник [102]. К этой задаче сводится БФК (см. разд. А9.2).
Комментарий. Задача P-SPACE-полная, хотя соответствующая
задача о максимальном взвешенном паросочетании разрешима
за полиномиальное время [324].
[ИГ 9] УНИЧТОЖЕНИЕ (*)
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= (V, А), семейство {Л,-11 ^ i ^ г} (возможно, пересекающих-
пересекающихся) подмножеств множества А, функция /о, отображающая V
в {0, 1,2 г}, где /о(у) = t > 0 означает, что пометка типа i
A8. Игры и головоломки 329
присвоена вершине v, a fo(v) = 0 означает, что v не помечена.
ВОПРОС. Имеет ли игрок 1 форсированный выигрыш в опи-
описанной ниже игре на G?
Описание игры. Позицией называется /: V->-{0, 1, ..., г},
причем /о — это начальная позиция. Игроки делают ходы по
очереди. Ход каждого игрока состоит в .том, что он выбирает
некоторую вершину cel'c пометкой f{v) > 0 и дугу (и, к>)е
е Af(V) и затем переносит пометку с вершины v на вершину w.
Точнее, новая позиция /' имеет тот же вид, что и f, за исклю-
исключением того, что f (и) = 0 и
П \={ 0> еСЛИ ^>0;
\f(v), если /(ш) = 0.
(Это значит, что если /(до)>0, то пометка, перенесенная на w,
и пометка, присвоенная ранее вершине до, "взаимно уничто-
уничтожаются".) Игрок 1 выигрывает тогда и только тогда, когда
игрок 2 оказывается неспособным сделать очередной ход.
Источник [129]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Задача NP-трудна и принадлежит P-SPACE, но
не известно, является ли она P-SPACE-полной. Она остается
NP-трудной, даже если г = 2 и Aif\A2 = 0. Задача разрешима
за полиномиальное время, если /¦=! [128]. Аналогичные ре-
результаты, устанавливающие NP-трудность для других игр с по-
пометками на ориентированных гр'афах, можно найти в [129].
[ИГ 10] ШАШКИ НА ДОСКЕ N X N (*)
УСЛОВИЕ. Заданы: положительное число JV; разбиение черных
полей на шахматной доске размером NX.N на три группы:
(а) пустые поля, (б) поля, занятые черными дамками, и
(в) поля, занятые красными дамками; информация, чей ход
первый (красных или черных).
ВОПРОС. Имеют ли черные форсированный выигрыш в задан-
заданной позиции в игре, играемой по стандартным правилам шашек
на расширенной доске размером NX.N (при соответственно
увеличенном числе шашек)?
Источник [127]. К этой задаче сводится ПЛАНАРНАЯ ГЕО-
ГЕОГРАФИЯ-
Комментарий. Задача P-SPACE-трудна. При некоторых прави-
правилах она P-SPACE-полна. Близкая задача, в которой спраши-
спрашивается, могут ли черные взять все шашки красных за один ход,
разрешима за полиномиальное время.
330 А. Приложение. Список NP-полных задач
[ИГ 11] ГО НА ДОСКЕ N X N (*)
УСЛОВИЕ. Заданы: положительное число N; разбиение "точек"
на доске для игры в "го" размером NX.N на три группы:
(а) пустые, (б) занятые черными фишками, (в) занятые белыми
фишками; информация, кто ходит первым, белые или черные.
ВОПРОС. Имеют ли белые форсированный выигрыш в задан-
заданной позиции в игре, играемой по стандартным правилам "го"
на расширенной доске?
Источник [345]. К этой задаче сводится ПЛАНАРНАЯ ГЕО-
ГЕОГРАФИЯ.
Комментарий. Задача P-SPACE-трудна.
[ИГ 12] ЛЕВЫЙ —ПРАВЫЙ ХАКЕНБУШ
УСЛОВИЕ. Заданы: отдельный предмет из "гарнитура красного
дерева", представимый в виде связного графа С =(V, E) с вы-
выделенной вершиной оеУ, называемой "основанием"; разбиение
ребер графа на множества L и R, где L — множество ребер,
содержащих вершину v и называемых "ножками", a R = E\L,
причем каждая "ножка" имеет общую вершину не более чем
с одним ребром из R, называемым ее "стойкой" (не все ребра
в R, однако, являются "стойками"); положительное целое
число К.
ВОПРОС. Найдется ли "цена" игры ЛЕВЫЙ-ПРАВЫЙ ХА-
ХАКЕНБУШ на графе G, меньшая и равная 2~к?. Описание игры
и определение "цены игры" см. в [89].
Источник [37]. К этой задаче сводится ПОКРЫТИЕ МНО-
МНОЖЕСТВ.
Комментарий. Задача остается NP-полной даже для двудоль-
двудольного графа G. Она разрешима за полиномиальное время, если
граф G — дерево. Следствием этого результата является то, что
задача выяснения, имеется ли в этой игре выигрыш для иг-
игрока 1, является NP-трудной.
[ИГ 13] ОБЛИЦОВКА КВАДРАТА
УСЛОВИЕ. Заданы: множество красок С; семейство ГдС4
"керамических плиток", где <а, Ь, с, d} обозначает плитку, у ко-
которой верх, правая сторона, низ, левая сторона окрашены
соответственно в цвета а, Ь, с, d; положительное целое число
<||
ВОПРОС. Существует ли покрытие квадрата размером
плитками из Г, т. е. можно ли поставить в соответствие каждой
паре (t, /), 1 ^ i ^ N, 1 ^ / ^ N, некоторую плитку А =
= Л(/,/)е7" так, что, во-первых, если f(i, /)= <а, Ь, с, d>
A8. Игры и головоломки 331
и f(i -f 1,/)= (а', Ь', с', d'}, то а = с', и, во-вторых, если
f(i,j)=(a,b,c,d> и f(i,j+l)=<a',b',c',d'y, то 6 = d'?
Источник [154]. К этой задаче сводится ОРИЕНТИРОВАН-
ОРИЕНТИРОВАННЫЙ ГАМИЛЬТОНОВ ПУТЬ.
Комментарий. Вариант задачи, когда спрашивается, можно ли
с помощью множества Т покрыть плитками всю плоскость
(ZXZ) "периодически" с периодом меньшим, чем N, также
является NP-полной задачей. В общем случае задача "выяс-
"выяснить, можно ли с помощью некоторого множества плиток по-
покрыть всю плоскость", неразрешима [36], точно так же как
и задача "выяснить, можно ли с помощью некоторого множе-
множества плиток покрыть плоскость периодически".
[ИГ 14] СОСТАВЛЕНИЕ КРОССВОРДА
УСЛОВИЕ. Заданы конечное множество слов We2* и мат-
матрица А из нулей и единиц размером лХл.
ВОПРОС. Можно ли составить кроссворд размером п X п из
слов множества W так, чтобы слова записывались в клетки,
соответствующие нулям в Л? Другими словами, если Е— это
множество пар (*',/), таких, что Ац = 0, то существует ли
отображение /: ?->-2, такое, что буквы, приписываемые любой
горизонтальной или вертикальной последовательности (макси-
(максимальной длины) элементов из Е, образуют слово из W?
Источник [342]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной, даже если все эле-
элементы матрицы А есть нули.
[ИГ 15] ОБОБЩЕННАЯ ИГРА «ИНСТАНТ ИНСАНИТИ»
УСЛОВИЕ. Заданы конечное множество С "красок" и множе-
множество Q кубиков, |Q| = |C| и все грани кубиков из Q окрашены
в заданные цвета из С.
ВОПРОС. Можно ли кубики Q выстроить в один вертикальный
столбик так, чтобы каждый цвет из С появлялся ровно один
раз на каждой из четырех сторон столбика?
Источник [452]. К этой задаче сводится ТОЧНОЕ ПОКРЫТИЕ.
Комментарий. Имеется соответствующая игра двух лиц, в кото-
которой игроки по очереди помещают очередной кубик на верх
столбика, причем игрок 1 пытается построить столбик, удовле-
удовлетворяющий сформулированному выше условию, а игрок 2
препятствует этому. Задача "выяснить, имеет ли игрок 1 форсиро-
форсированный выигрыш в этой игре", является P-SPACE-полной. На-
Название ИНСТАНТ ИНСАНИТИ (INSTANT INSANITY) —тор-
—торговый знак, принадлежащий фирме Parker Brothers, Inc.
3?2 А. Приложение. Список NP-полных задач
А9. ЛОГИКА
А9.1. Пропозициональная логика
(ЛОГ 1] ВЫПОЛНИМОСТЬ
УСЛОВИЕ. Заданы множество переменных U и набор С дизъ-
дизъюнкций над U (определение см. в разд. 2.6).
ВОПРОС. Существует ли для набора дизъюнкций С выполняю-
выполняющий набор истинностных значений?
Источник [91]. NP-полнота задачи доказана в теореме Кука.
Комментарий. Задача остается NP-полной даже в том случае,
если |с| = 3 для всех с^С C-ВЫП) или если |с|^3 для
всех с^С, а также если для каждой переменной u^U
имеется не более трех дизъюнкций, содержащих и или п. За-
Задача NP-полна и тогда, когда |с|^3 для всех се С и дву-
двудольный граф G = (V,E) планарен (ПЛАНАРНАЯ 3-ВЫП)
(здесь V = U\]C, a E состоит из таких пар {и, с}, что и или п
принадлежит дизъюнкции с). Общая задача разрешима за по-
полиномиальное время, если |с|^2 для всех с^С (см., напри-
например, [114]).
[ЛОГ 2] 3-ВЫПОЛНИМОСТЬ C-ВЫП)
УСЛОВИЕ. Заданы множество переменных U и такой набор С
дизъюнкций над 11, что |с| = 3 для каждой дизъюнкции с^С.
ВОПРОС. Существует ли для набора дизъюнкций С выполняю-
выполняющий набор истинностных значений?
Источник [91]. К этой задаче сводится ВЫПОЛНИМОСТЬ.
Комментарий. Задача остается NP-полной даже в том случае,
если каждая дизъюнкция содержит только сами переменные
или только их отрицания (МОНОТОННАЯ 3-ВЫП) [174] или
если для каждой переменной не более 5 дизъюнкций из С со-
содержат или литерал и или п.
[ЛОГ 3] 3 ВЫП ПРИ РАЗЛИЧНЫХ ЛИТЕРАЛАХ
УСЛОВИЕ. Заданы множество переменных U и такой набор С
дизъюнкций над U, что |с| = 3 для каждой дизъюнкции с^С.
ВОПРОС. Существует ли для набора С такой выполняющий
набор истинностных значений, что в каждой дизъюнкции из С
найдется по крайней мере один истинный и один ложный ли-
литерал?
Источник [474]. К этой задаче сводится 3-ВЫП.
A9. Логика 333
[ЛОГ 4] 3-ВЫП ПРИ ОДНОМ ИСТИННОМ ЛИТЕРАЛЕ
УСЛОВИЕ. Заданы множество переменных U и такой набор С
дизъюнкций над U, что |с| —3 для каждой с^С.
ВОПРОС. Существует ли для U такой выполняющий набор
истинностных значений, что для каждой дизъюнкции в С
имеется в точности один истинный литерал?
Источник [474]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если ни одна сеС не содержит отрицаний переменных.
[ЛОГ 5] МАКСИМАЛЬНАЯ 2-ВЫПОЛНИМОСТЬ
УСЛОВИЕ. Заданы множество переменных U; такой набор С
дизъюнкций над U, что |с| = 2 для всех се С; положительное
целое число К *?k\C\.
ВОПРОС. Существует ли для V набор истинностных значений,
выполняющий не менее К дизъюнкций из набора С?
Источник [157]. К этой задаче сводится 3-ВЫП.
Комментарий. Разрешима за полиномиальное время при К =
= |С| (см., например, [114]).
[ЛОГ 6] ОБОБЩЕННАЯ ВЫПОЛНИМОСТЬ
УСЛОВИЕ. Заданы положительные целые числа k\, k2, ..., km,
последовательность 5 = </?i, R2, • ¦., #m> подмножеств R{ s
s {T, F}fe'. множество переменных U и для всех i, 1 ^ i ^ m,
множества Ct, состоящие из наборов по kt переменных из мно-
множества U.
ВОПРОС. Существует ли такой набор истинностных значений
t: U-+{T,F), что для всех i, I ^ i ^ m, и для всех наборов
(ы[1], и[2], .... и[?,])еС,- имеет место
(/(«[1]), t(u[2]) t(u[k,]))eRt?
Источник [474]. К этой задаче сводится 3-ВЫП.
Комментарий. Если для заданной последовательности S не вы-
выполняется одна из шести перечисленных ниже возможностей,
то задача NP-полна, в противном случае она разрешима за по-
полиномиальное время. Упомянутые возможности таковы:
A) каждое Ri содержит {Г}*'»
B) каждое /?, содержит {F}*'".
C) каждое Rt логически "эквивалентно" некоторому выра-
выражению, имеющему конъюнктивную нормальную форму и содер-
содержащему в каждой дизъюнкции по крайней мере одно отри-
отрицание;
334 А. Приложение. Список ЛР-полных задач
D) каждое /?, логически "эквивалентно" некоторому выра-
выражению, имеющему конъюнктивную нормальную форму и содер-
содержащему в каждой дизъюнкции по крайней мере один литерал
без отрицания;
E) каждое /?, логически "эквивалентно" некоторому выра-
выражению, имеющему конъюнктивную нормальную форму и содер-
содержащему в каждой дизъюнкции не более двух литералов;
F) каждое Ri есть "множество решений" некоторой системы
уравнений над GF [2].
NP-полнота задач 3-ВЫП, 3-ВЫП ПРИ РАЗЛИЧНЫХ ЛИ-
ЛИТЕРАЛАХ и 3-ВЫП ПРИ ОДНОМ ИСТИННОМ ЛИТЕРАЛЕ
вытекает из приведенной классификации. Если допустить при-
принадлежность ^-мерных наборов из множества d множеству
(С/ П {Т, F}ki) ("формулы с константами"),то задача NP-полна
даже в том случае, если выполнены условия A) или B), но
по-прежнему разрешима за полиномиальное время, если выпол-
выполняется одно из условий C) — F). Квантифицированная версия
задачи "с константами", в которой дополнительно задана по-
последовательность Qi, Q2, ..., Qn кванторов V и 3 и вопрос за-
заключается в истинности формулы
(QiU,)(Q2u2) ... {Qnun) [с е /?, для всех c(=Ch I <i < m],
является P-SPACE-полной, даже если зафиксировать последо-
последовательность S, не удовлетворяющую свойствам C) — F). Если
последовательность S удовлетворяет одному из свойств C)—
F), то последняя задача разрешима за полиномиальное время.
[ЛОГ 7] ВЫПОЛНИМОСТЬ БУЛЕВСКИХ ВЫРАЖЕНИЙ
УСЛОВИЕ. Заданы множество переменных U и подмножество
В множества всех 16 возможных двуместных булевских связок,
а также правильно построенное булевское выражение Е над 1)
и В.
ВОПРОС. Существует ли набор истинностных значений пере-
переменных множества U, при котором выражение Е выполнено?
Источник [91]. Общая сводимость1).
Комментарий. Задача остается NP-полной, если В состоит
только из четырех булевских связок {Л, V, -*¦, ~\} или любого
другого полного набора булевских связок. Задача NP-полна
также для любого неполного множества булевских связок, со-
содержащего в качестве подмножества одно из следующих мно-
множеств: {т4}, {V1}, {?*, V} или {Ф, Л}, см. [341]. Задача раз-
') Имеется в виду сводимость, описанная при доказательстве теоремы
Кука, см. стр. 57. — Прим. ред.
A9. Логика 335
решима за полиномиальное время для любого неполного набора
булевских связок, не включающего ни одного из четырех пере-
перечисленных выше множеств.
[ЛОГ 8] ОТСУТСТВИЕ ТАВТОЛОГИИ
УСЛОВИЕ. Задано булевское выражение Е на множестве пе-
переменных U, в котором используются булевские связки "П"
(не), "V" (или), "Л" (и) и "-*-" (следует).
ВОПРОС. Верно ли, что Е не тавтология, т. е. существует ли
такой набор истинностных значений переменных множества U,
что Е принимает значение "ложь"?
Источник [91]. К этой задаче сводится ВЫПОЛНИМОСТЬ.
Комментарий. Задача остается NP-полной даже тогда, когда
Е имеет "дизъюнктивную нормальную форму", каждый дизъюнк-
дизъюнктивный член которой содержит не более трех литералов.
[ЛОГ 9] МИНИМАЛЬНАЯ ДИЗЪЮНКТИВНАЯ
НОРМАЛЬНАЯ ФОРМА
УСЛОВИЕ. Заданы множество переменных U = {и\, Ыг, ..., ип},
множество А = {Г, F}n "наборов истинностных значений" и по-
положительное целое число К.
ВОПРОС. Существует ли над множеством переменных U такая
дизъюнктивная нормальная форма Е, содержащая не более К
дизъюнктивных членов, что Е истинна только для наборов
истинностных значений из множества А?
Источник [173]. К этой задаче сводится МИНИМАЛЬНОЕ ПО-
ПОКРЫТИЕ.
Комментарий. Вариант задачи, в котором условие содержит
полную таблицу истинностных значений, т. е. два непересекаю-
непересекающихся подмножества А и В, A, B^{T,F}n, A\jB={T,F}n,
и спрашивается, будет ли Е истинно для наборов истинностных
значений из множества А и ложно для наборов истинностных
значений из множества В, также NP-полон, хотя в последнем
случае длина записи условия может быть гораздо больше [374].
[ЛОГ 10] ПОЛНОТА НАБОРА СВЯЗОК
УСЛОВИЕ. Заданы множество переменных U и набор С пра-
правильно построенных булевских выражений над U.
ВОПРОС. Верно ли, что набор С полон? Набор С называется
полным, если существует такое полное множество логических
связок (т. е. унарных и бинарных операторов) D = {0i, 02, ...
.... 8*}, что для каждого оператора 0/^D найдется выражение
Бе С и отображение s: ?/->-{а,&}, для которых s(?) = a9ife
или s(E)== Bia (в зависимости от унарности или бинарности 0().
336 А. Приложение. Список NP-полных задач
А9.2. Разное
[ЛОГ 11] БУЛЕВСКИЕ ФОРМУЛЫ
С КВАНТОРАМИ БФК (*)
УСЛОВИЕ. Заданы множество переменных U = {иь ы2, . • ¦, ип)
и правильно построенная булевская формула с кванторами
F = (Q\U\) {Q2U2) ... (Qnun)E, где Е— булевское выражение,
a Q есть либо V, либо 3.
ВОПРОС. Верно ли, что F истинна?
Источник [503]. Общая сводимость.
Комментарий. Задача P-SPACE-полна даже в том случае,
когда Е — дизъюнктивная нормальная форма и каждая дизъ-
дизъюнкция содержит не более трех литералов C-ВЫП С КВАН-
КВАНТОРАМИ). Но если в каждой дизъюнкции имеется не более
двух литералов, то задача разрешима за полиномиальное время
[474]. Если ограничиться только формулами, содержащими не
более k перемен кванторов (т. е. такими формулами F, что
имеется не более k таких индексов i, что Qi?=Qi+i), то задача
полна в некотором зависящем от k и Q\ классе полиномиальной
иерархии (см. разд. 7.2).
[ЛОГ 12] ТЕОРИЯ ПЕРВОГО ПОРЯДКА
С РАВЕНСТВОМ (*)
УСЛОВИЕ. Заданы конечное множество переменных U =
= {"i, «2, ..., "п}, предложение S над U в теории первого по-
порядка с равенством. (Предложения этой теории определяются
индуктивно следующим образом: "выражением" называется фор-
формула вида "и = и", где и, уе(/, либо формула вида "!?"',
"(?Vf)", "(EAF)" или U(E=$F)", где Е и F — выражения.
Предложением называется формула вида (QiU]){Q2u2) ...
... (Qnun)E, где Е — выражение, a Q,- — один из кванторов V
или 3.)
ВОПРОС. Верно ли, что предложение 5 истинно во всех моде-
моделях теории?
Источник [503]. Общая сводимость.
Комментарий. Задача P-SPACE-полна. Аналогичная задача
P-SPACE-трудна для любой теории первого порядка, имеющей
модель, в которой какой-нибудь предикатный символ интерпре-
интерпретирован в виде не тождественно истинного отношения [233].
[ЛОГ 13] Бб-ВЫПОЛНИМОСТЬ МОДАЛЬНОЙ ЛОГИКИ
УСЛОВИЕ. Задана правильно построенная модальная формула
А над конечным множеством переменных U. Модальная фор-
формула— это либо переменная иеУ, либо формула вида
A9. Логика 337
"(А А В)", " \А" или "ПА", где А и В — модальные формулы.
ВОПРОС. Верно ли, что формула А является "Эб-выполнимой"?
Иначе говоря, существует ли модель {W, Rt V), где W — множе-
множество, R— рефлексивное, транзитивное и симметричное бинарное
отношение на W, а V — такое отображение множества UXW
в множество {Т, F}, что для некоторого аде W выполняется ра-
равенство V(A,w)=T? Отображение V продолжается на фор-
формулы согласно следующим правилам: V(AAB, w)=T тогда
и только тогда, когда V(A, w)= V{B, w)= T; V{ \A,w) = T
тогда и только тогда, когда V(A,w)=F; V(DA,w)=T тогда
и только тогда, когда V(A,w') = T для всех ад'е W, таких, что
Источник [314]. К этой задаче сводится 3-ВЫП. Доказатель-
Доказательство принадлежности задачи к классу NP-нетривиально.
[ЛОГ 14] ДОКАЗУЕМОСТЬ В МОДАЛЬНОЙ ЛОГИКЕ (*)
УСЛОВИЕ. Заданы правильно построенная модальная фор-
формула А, модальная система Ss {K,T,54}. (Детали см. в [314]
или [229].)
ВОПРОС. Доказуема ли формула А в системе 5?
Источник [314]. К этой задаче сводится БФК.
Комментарий. Задача P-SPACE-полна для фиксированной си-
системы 5 е {К, Т, S4} или для любой другой фиксированной мо-
модальной системы, в которой можно доказать все доказуемое
в К и нельзя доказать ничего недоказуемого в 54.
[ЛОГ 15] ЛОГИКА ПРЕДИКАТОВ БЕЗ ОТРИЦАНИЯ
УСЛОВИЕ. Заданы множество переменных U = {щ, щ.,... и„},
множество символов функций F = { /"', /™2 f™*}, множество
символов отношений /? = {/?'", Rr22, .... R^l] (jn^O и rtко-
rtкоразмерности соответствующих функций и отношений), пра-
правильно построенное логическое предложение А без отрицаний
над U, F и R. (Такие предложения определяются индуктивно:
терм есть переменная и е U или выражение вида /™'(^,»<2 '„),
где // — терм. Формула есть выражение вида /] = t2, где /] и t2 —
термы, или выражение вида /?^(/,, /2, ..., /Г/), где tl — терм,
или выражение вида (А А В), (А V В), Ущ (А), Зщ (А), где А
и В — формулы, щ е U. Предложением называется формула,
на каждую переменную которой навешен квантор, предшест-
предшествующий ее вхождению в формулу.)
ВОПРОС. Верно ли, что предложение А истинно при всех
интерпретациях F и /??
338 А. Приложение. Список NP-полных задач
Источник [302]. К этой задаче сводится 3-ВЫП. Доказатель-
Доказательство того, что задача принадлежит классу NP, нетривиально.
Комментарий. Задача остается NP-полной даже тогда, когда
отсутствуют кванторы общности, символы отношений и имеются
только две функции размерности 0 (т. е. константы).
[ЛОГ 16] ВЫПОЛНИМОСТЬ КОНЪЮНКЦИЙ
ВЫРАЖЕНИЙ, ВКЛЮЧАЮЩИХ ФУНКЦИИ
И НЕРАВЕНСТВА
УСЛОВИЕ. Заданы множество переменных U, множество F
одноместных символов функций и набор С выражений вида
U*V, где *-один из символов "<', " > ", "=" или "ф", а
U а V представляют собой один из символов ", ", "и",
'7@)", "/A)" или '7(и)" для некоторых feF и aeF,
ВОПРОС. Можно ли так присвоить всем переменным из uet/
и всем /(и) (где u^U и f^F) целочисленные значения, что
все выражения из С будут истинны при стандартной интерпре-
интерпретации отношений ^, >, = и Ф?
Источник [435]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже тогда, когда
отношения = и ф не используются. Задача разрешима за
полиномиальное время, если не используются отношения ^
и > [398] или если не используются отношения = и ф и от-
отсутствуют символы функций [356]. Вариант задачи, в котором
W и V имеют вид "ы" или "и-{-с" (где wet/, ceZ), является
NP-полным, если разрешается использовать все четыре отно-
отношения, но разрешим за полиномиальное время, если можно
пользоваться одной из пар отношений ^ и > или = и ф [66].
[ЛОГ 17] МИНИМАЛЬНОЕ МНОЖЕСТВО АКСИОМ
УСЛОВИЕ. Заданы конечное множество "предложений" 5,
подмножество Т *=S "истинных предложений", "отношение сле-
следования" R, состоящее из пар (As), где /4sSoseS,a также
положительное целое число К ^ |5|.
ВОПРОС. Существуют ли подмножество So s .7", |50|^ К и по-
положительное целое число п, такие, что Sn = T? (Здесь Si, 1^
^ / ^ п, — множество, состоящее в точности из таких предло-
предложений s^S, что либо s e St~\, либо существует U s Si-и для
которого (U,s)eR.)
Источник [437]. К этой задаче сводится ТП-3.
Комментарий. Задача NP-полна даже тогда, когда Т = S.
A.10. Теория автоматов и языков 339
[ЛОГ 18] ПОСЫЛКА ПЕРВОГО ПОРЯДКА
УСЛОВИЕ. Заданы конечное множество "символов перемен-
переменных" II, конечное множество "символов функции" С, набор
Е = {Ei, Е2, ..., Ет) выражений над U[)C, набор F = {FU
F2, .., Fт) выражений над С.
ВОПРОС. Существует ли подстановка S,, отображающая каж-
каждую переменную ые?/ в такое выражение s(u) над С, что
{s(?i), s(E2) s(Em)} есть подмножество множества {Л,
^2, ••-, ^л}? (Здесь s(Ei) обозначает результат подстановки
вместо каждого вхождения в ?, переменной ue.ll соответ-
соответствующего выражения s(u).)
Источник [32, 33]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для любого фикси-
фиксированного п ^ 3, но при любом фиксированном m разрешима
за полиномиальное время.
[ЛОГ 19] ПОДТВЕРЖДЕНИЕ ВТОРОГО ПОРЯДКА
УСЛОВИЕ. Заданы два "выражения логики второго порядка"
Е\ и Е2, причем второе выражение не содержит переменных
(в выражении второго порядка функции могут быть перемен-
переменными, детали см. в [32]).
ВОПРОС. Существует ли такой набор значений переменных •)
из Ei, что в результате подстановки получается выражение,
идентичное Е2?
Источник [32]. К этой задаче сводится 3-ВЫП. Доказательство
принадлежности задачи классу NP нетривиально.
Комментарий. Разрешимость более общей задачи — УНИФИ-
УНИФИКАЦИЯ ВТОРОГО ПОРЯДКА, в которой и Е2, и Ei могут
содержать переменные и спрашивается, существует ли такой
набор значений переменных, что в результате соответствующих
подстановок Е\ и Е2 становятся идентичными, не известна. За-
Задача УНИФИКАЦИЯ ТРЕТЬЕГО ПОРЯДКА неразрешима
[228], а задача УНИФИКАЦИЯ ПЕРВОГО ПОРЯДКА разре-
разрешима за полиномиальное время [32, 421].
А10. ТЕОРИЯ АВТОМАТОВ И ЯЗЫКОВ
А 10.1. Теория автоматов
[ТАЯ 1] НЕЭКВИВАЛЕНТНОСТЬ КОНЕЧНЫХ
АВТОМАТОВ (*)
УСЛОВИЕ. Заданы два недетерминированных конечных авто-
автомата А\ и А2 с общим входным алфавитом S." (Недетерминиро-
') В данном случае значением переменной может быть любой терм.—
Прим. ред.
340 А. Приложение. Список NP-полных задач
ванный конечный автомат А = (Q, S, б, q0, F) состоит из конеч-
конечного множества состояний Q, входного алфавита Е, функции пе-
перехода б, отображающей QX2 в подмножества множества Q,
начального состояния q0 и множества допускающих состояний
F, Fs/C (см., например, [215]).)
ВОПРОС. Верно ли, что А\ и А^ распознают различные языки?
Источник [292]. К этой задаче сводится НЕУНИВЕРСАЛЬ-
НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯРНОГО ВЫРАЖЕНИЯ.
Комментарий. Задача P-SPACE-полна даже в том случае, когда
|2| = 2 и А2 — тривиальный автомат, распознающий 2*. Общая
задача NP-полна, если |2|= 1 или если оба автомата А] и А2
распознают конечные языки (последнее свойство может быть
проверено за полиномиальное время [215]). Задача разрешима
за полиномиальное время, если А\ и А2 — детерминированные
конечные автоматы (см., например, [215]).
[ТАЯ 2] НЕТРИВИАЛЬНОСТЬ ДВУСТОРОННЕГО
КОНЕЧНОГО АВТОМАТА (*)
УСЛОВИЕ. Задан двусторонний недетерминированный конеч-
конечный автомат A = (Q, S, б, qo, F), где Q, Е, б, qo и F обозначают
то же самое, что и для одностороннего недетерминированного
конечного автомата, а функция перехода б отображает Q X 2
в подмножества множества QX{—1, 0, 1} (см., например,
[215]).
ВОПРОС. Существует ли слово jeJ', допускаемое автома-
автоматом А?
Источник [231]. К этой задаче сводится ДОПУСКАЕМОСТЬ
ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ.
Комментарий. Задача P-SPACE-полна даже тогда, когда
|2| = 2 и А — детерминированный автомат. Если |2|=1, то
общая задача NP-полна [136]. Если |2| — односторонний неде-
недетерминированный конечный автомат, то общая задача может
быть решена за полиномиальное время (см., например, [215]).
Аналогичные результаты о конечности языка, распознаваемого
автоматом А, можно найти в указанных выше работах.
[ТАЯ 3] ДОПУСКАЕМОСТЬ КОНЕЧНЫМ АВТОМАТОМ (*)
УСЛОВИЕ. Заданы "линейно ограниченный автомат" А с вход-
входным алфавитом S (определение см. в книге [215]) и слово
ВОПРОС. Верно ли, что автомат А допускает слово х?
Источник [280]. Общая сводимость.
A. 10. Теория автоматов и языков 341
Комментарий. Задача P-SPACE-полна даже в том случае, если
Л— детерминированный автомат (см. задачу ДОПУСКАЕ-
ДОПУСКАЕМОСТЬ В ЛИНЕЙНОЕ ВРЕМЯ из разд. 7.4). Кроме того, су-
существуют конкретные детерминированные линейно ограничен-
ограниченные автоматы, для которых задача P-SPACE-полна.
[ТАЯ 4] ДОПУСКАЕМОСТЬ АВТОМАТОМ
КВАЗИРЕАЛЬНОГО ВРЕМЕНИ
УСЛОВИЕ. Заданы многоленточная машина Тьюринга М
(в нашей терминологии — программа для машины Тьюринга),
у которой читающая головка входной ленты на каждом такте
работы сдвигается вправо, причем если читающая головка ви-
видит пустой символ, то машина обязана остановиться, а также
слово х, принадлежащее входному алфавиту 2 машины М.
(Более полное описание машин этого типа и их эквивалентное
задание можно найти в работе [50].)
ВОПРОС. Верно ли, что М допускает х?
Источник [46]. Общая сводимость.
Комментарий. Задача остается NP-полной даже в том случае,
если кроме входной ленты М имеет только одну рабочую ленту.
См. также задачу ПРИНАДЛЕЖНОСТЬ ЯЗЫКУ КВАЗИРЕ-
КВАЗИРЕАЛЬНОГО ВРЕМЕНИ (языки, допускаемые автоматами квази-
квазиреального времени, совпадают с квазиреальными по времени
языками, определенными в [ТАЯ 18]).
[ТАЯ 5] ДОПУСКАЕМОСТЬ НЕСТИРАЮЩИМ СТЕКОВЫМ
АВТОМАТОМ (*)
УСЛОВИЕ. Заданы "односторонний нестирающий стековый ав-
автомат А AНСС-автомат) с входным алфавитом 2 (определение
см. в книге [215]) исловодсеЁ*.
ВОПРОС. Верно ли, что автомат А допускает слово лс?
Источник [136, 214]. К этой задаче сводится ДОПУСКАЕ-
ДОПУСКАЕМОСТЬ ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ. Во
второй работе доказано, что задача принадлежит классу Р-
SPACE.
Комментарий. Задача P-SPACE-полна даже в том случае, если
слово JteJ* фиксировано и А — "допускающий стековый ав-
автомат" (определение см. в работе [188]). Если х — пустое сло-
слово и на А наложить дополнительное ограничение, состоящее
в том, что А—допускающий стековый автомат с одним стеко-
стековым символом, то задача становится NP-полной .[136]. Если же
х меняется, а А фиксирован, то задача принадлежит классу NP
для любого 1НСС-автомата, то же самое верно, если А — про-
342 А. Приложение. Список NP -полных задач
извольный "вложенный стековый автомат" [460]. Существуют
конкретные ШСС-автоматы, для которых упомянутая задачэ
NP-полна [460], эти 1НСС-автоматы можно взять из класса
допускающих стековых автоматов [482], которые одновременно
являются "читающими магазинными автоматами" [232]. Од-
Однако если А— "односторонний недетерминированный магазин-
магазинный автомат", то задача разрешима за полиномиальное время
(даже если А может меняться); последнее утверждение верно
и для "двусторонних недетерминированных магазинных авто-
автоматов" [8].
[ТАЯ 6] ПЕРЕСЕЧЕНИЕ ДЛЯ КОНЕЧНЫХ АВТОМАТОВ (*)
УСЛОВИЕ. Задана последовательность А\, Лг Ап детер-
детерминированных конечных автоматов, имеющих общий входной
алфавит S.
ВОПРОС. Существует ли слово jcg2*, допускаемое всеми ав-
автоматами Ai, I ^ i ^ га?
Источник [300, 301]. К этой задаче сводится ДОПУСКАЕ-
ДОПУСКАЕМОСТЬ С ЛИНЕЙНОЙ ПАМЯТЬЮ.
Комментарий. Задача P-SPACE-полна. Для любого фиксиро-
фиксированного п она разрешима за полиномиальное время [215].
[ТАЯ 7] РЕДУКЦИЯ НЕ ПОЛНОСТЬЮ ОПРЕДЕЛЕННОГО
АВТОМАТА
УСЛОВИЕ. Заданы не полностью определенный детерминиро-
детерминированный конечный автомат А = (Q, 2, 6, <7о, F) (где Q — множе-
множество состояний, 2 — входной алфавит, б — "частичная" функция
перехода, отображающая некоторое подмножество множества
QXS в Q, начальное состояние q0 e Q, F<=Q — множество
"допускающих состояний") и положительное целое число К-
ВОПРОС. Можно ли функцию перехода б так продолжить до
всюду определенной функции, отображающей Q X 2 в Q, что
у получающегося в результате полностью определенного ав-
автомата имеется эквивалентный "редуцированный автомат", чис-
число состояний которого не превосходит Ю
Источник [426]. К этой задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В 3 ЦВЕТА.
Комментарий. Задача остается NP-полной при любом фикси-
фиксированном К ^ 6. Близкая задача, в которой допускается "рас-
"расщепление состояний" (как, например, в работе [423]), также
NP-полна для. любого фиксированного К ^6 (см. [426]). Если
наряду с "расщеплением состояний" допускается также "рас-
"растепление символов", как, например, в работе [187], то анало*
АЛО. Теория автоматов и языков 343
гичная задача, когда у приведенного автомата сумма числа
состояний и числа символов не должна превосходить К, также
NP-полна [427]. Задача отыскания детерминированного конеч-
конечного автомата с минимальным числом состояний, эквивалент-
эквивалентного заданному полностью определенному автомату, разрешима
за полиномиальное время (см., например,, [211] или [14]). Ана-
Аналогичная задача для полностью определенного недетерминиро-
недетерминированного конечного автомата P-SPACE-полна (см. задачу НЕ-
НЕЭКВИВАЛЕНТНОСТЬ КОНЕЧНЫХ АВТОМАТОВ).
[ТАЯ 8] МИНИМАЛЬНЫЙ РАЗДЕЛЯЮЩИЙ КОНЕЧНЫЙ
АВТОМАТ
УСЛОВИЕ. Заданы конечный алфавит 2, два конечных под-
подмножества S, Т е 2* и положительное целое число К.
ВОПРОС. Существует ли такой детерминированный конечный
автомат А, имеющий К состояний, что распознаваемый им язык
L s 2* обладает свойством, согласно которому SsL, 7 s
<= 2*\L?
Источник [174]. К этой задаче сводится МОНОТОННАЯ 3-ВЫП.
Комментарий. Если для некоторого п справедливо S U Т = 2(л)
(где 2(л)— множество всех слов над 2, длины, не превосходя-
превосходящей п), то задача разрешима за полиномиальное время [514].
Однако для любого фиксированного е > 0 задача NP-полна
даже в том случае, если ограничиться индивидуальными зада-
задачами, в которых (SUT)^W) и |2<л> — EиП|^|2(л'|е [17].
А10.2. Формальные языки
[ТАЯ 9] НЕЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ
ВЫРАЖЕНИИ (*)
УСЛОВИЕ. Заданы два регулярных выражения ?t и Е2 с опе-
операторами {U, •.*} и алфавит 2 (определение см. в разд. 7.4).
ВОПРОС. Верно ли, что Ei и Е2 представляют различные
языки?
Источник [503,497]. Общая сводимость. Во второй работе до-
доказано, что задача лежит в классе P-SPACE.
Комментарий. Задача P-SPACE-полна, даже если 121 = 2 и
?2 = 2» (НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯРНОГО ВЫРА-
ВЫРАЖЕНИЯ, см. разд. 7.4). В действительности задача P-SPACE-
полна, если Е2 — любое фиксированное выражение, представ-
представляющее "неограниченный" язык [237]. Для фиксированного Е%,
представляющего некоторый бесконечный "ограниченный"
язык, задача NP-полна, но разрешима за полиномиальное время
344 А. Приложение. Список NP-полных задач
для любого фиксированного выражения Е2, представляющего
любой конечный язык. Общая задача остается P-SPACE-
полной, если Е\ и Е2 имеют фиксированную "высоту относи-
относительно *", равную k, k :> 1 [503,230]. Задача остается NP-пол-
ной, если Е\ или Е\ и ?2 представляют ограниченные языки
(последнее свойство проверяемо за полиномиальное время)
[237] или если |2|=1 [503]. В цитированных работах ука-
указаны другие близкие результаты и труднорешаемые обобщения
(см. также [231] и [236]).
[ТАЯ Ю] МИНИМАЛЬНОЕ РАЗДЕЛЯЮЩЕЕ РЕГУЛЯРНОЕ
ВЫРАЖЕНИЕ
УСЛОВИЕ. Заданы конечный алфавит 2, два конечных под-
подмножества S, T s 2* и положительное целое число К-
ВОПРОС. Существует ли такое регулярное выражение Е над
2, содержащее не более К символов из 2, что язык L, опреде-
определяемый выражением Е, обладает свойством: 5 s L и 7"s2*\L?
Источник [17]. К данной задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, даже если ограни-
ограничиться только выражениями Е, не содержащими оператора "U"
или оператора "*" [16].
[ТАЯ И] ПОКРЫТИЕ РЕИНОЛЬДСА
ДЛЯ БЕСКОНТЕКСТНЫХ ГРАММАТИК
УСЛОВИЕ. Заданы две бесконтекстные грамматики Gi =
= (NU 2, III, Si) и G2 = (N2, 2, П2, 52), где 2 — конечное мно-
множество терминальных символов, Ni— конечное множество не-
нетерминальных символов, Si e Ni — начальный символ и IL —
множество "продукций" вида "А -*¦ w", где А е= Ni и w e
e=(tf,UZ)«.
ВОПРОС. Верно ли, что G2 —"покрытие Рейнольдса"для грам-
грамматики Gi? Иными словами, существует ли такая функция /,
отображающая JV: U 2 в ЛГ2 U 2, что f{x) = x для всех хеН,
/(Л)еЛ'2 для всех А е Nu f(Si) = S2 и для каждой продукции
вида A^-xiXz ... хп из IIi ее образ f(A)-*-f(xi)f(xa) ... f(xn)
есть продукция из П?
Источник [235]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной, если Gi и G2 — "ре-
"регулярные) грамматики. Аналогичные результаты верны для
близких вопросов: "Верно ли, что G2 — "слабое покрытие Рен-
') Регулярной называется бесконтекстная грамматика, каждая продук-
продукция которой имеет вид А-+аВ или А^-а, где А, В е N и а е 2. — Прим.
ред.
АЛО. Теория автоматов и языков 346
нольдса для Gi?" и "Верно ли, что G2— "гомоморфный образ"
грамматики Gfi" Задача: "Задана грамматика G, существует
ли такая LL (k) -бесконтекстная грамматика Н, что И — покры-
покрытие Рейнольдса для грамматики G?"— разрешима за полино-
полиномиальное время. То же самое верно для задач, получающихся
заменой класса LL(k) на LR{k) или на один из нескольких
других классов грамматик (см. [235]).
[ТАЯ 12] ПОКРЫТИЕ ЛИНЕЙНЫХ ГРАММАТИК (*)
УСЛОВИЕ. Заданы две линейные бесконтекстные грамматики
G\ =(N\, 2,IIi,Si) и G2 =(W2, 2,П2, S2) (в таких грамматиках
не допускаются продукции, содержащие в правой части более
одного нетерминального символа).
ВОПРОС. Существует ли такая функция Л: Pi->P2UM (гДе
К обозначает пустую продукцию), что при отображении h грам-
грамматика G\ покрывает G2? (Говорят, что при отображении h
грамматика Gx покрывает грамматику G2, если для всех слов
шеЕ' выполнены два свойства: A) если до выводимо из S}
посредством некоторой последовательности продукций ри р2, ...
..., рп, то до выводимо из 52 последовательностью продукций
A (pi), ft(p2), -.-, А(Рп); B) если до выводимо из S2 посред-
посредством продукций <7ь <72> • • •. Яп из Ш, то существует такая по-
последовательность продукций ри pi, ..., pm, выводящая до в
грамматике G\, что ft(pi), h(p2l, ¦¦¦, h (pm) совпадает с </ь Чь •••
.... qn.)
Источник [237,238]. К этой задаче сводится НЕУНИВЕРСАЛЬ-
НОСТЬ РЕГУЛЯРНОГО ВЫРАЖЕНИЯ. Во второй работе
доказана принадлежность задачи классу P-SPACE.
Комментарий. Задача P-SPACE-полна даже для "регулярных"
грамматик. Для произвольных бесконтекстных грамматик за-
задача неразрешима. В работе [235] приведены близкие резуль-
результаты.
[ТАЯ 13] СТРУКТУРНАЯ НЕЭКВИВАЛЕНТНОСТЬ
ЛИНЕЙНЫХ ГРАММАТИК (*)
УСЛОВИЕ. Заданы две бесконтекстные грамматики G\ =
= (Nu S, Пь S,) и G2 = (W2, 2, П2, 52).
ВОПРОС. Верно ли, что G\ и G2 — "структурно неэквивалент-
неэквивалентны"? (Грамматики G\ и G2 называются структурно неэквива-
неэквивалентными, если грамматики со скобками, получаемые из G\ и
G2 заменой каждой продукции вида Д-»-до продукцией вида
А-*-(до) (где "(" и ")" — новые терминальные символы), по-
порождают различные языки.)
Источник [237]. К этой задаче сводится НЕУНИВЕРСАЛЬ-
НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯРНОГО ВЫРАЖЕНИЯ.
346 А. Приложение. Список NP-полных задач
Комментарий. Задача P-SPACE-полна, если Gi и G2 регулярны
и |2| = 2. Она NP-полна, если |2|= 1. Для произвольных бес-
бесконтекстных языков задача разрешима, но принадлежность ее
классу P-SPACE не установлена.
[ТАЯ 14] НЕЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ
ГРАММАТИК (*)
УСЛОВИЕ. Заданы две регулярные грамматики Gi=(A/],2,
Пь Si) и G2 = (N2, 2, П2, S2). Регулярной грамматикой назы-
называется бесконтекстная грамматика, в которой каждая продук-
продукция имеет вид А-+аВ или А-+а, где A, B^N, oeE.
ВОПРОС. Верно ли, что G\ и G2 порождают различные языки?
Источник [70]. К этой задаче сводится НЕЭКВИВАЛЕНТ-
НЕЭКВИВАЛЕНТНОСТЬ КОНЕЧНЫХ АВТОМАТОВ.
Комментарий. Задача P-SPACE-полна даже в том случае, если
|2| = 2 и G2— фиксированная грамматика, порождающая 2*
(задача НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯРНОЙ ГРАММА-
ГРАММАТИКИ). Общая задача NP-полна, когда |2|= 1 или когда обе
грамматики порождают конечные языки (последнее свойство
проверяется за полиномиальное время; см., например, [215]).
Если G\ — произвольная линейная грамматика, a G2— фикси-
фиксированная грамматика, порождающая 2* (задача НЕУНИВЕР-
НЕУНИВЕРСАЛЬНОСТЬ ЛИНЕЙНОЙ ГРАММАТИКИ), то задача стано-
становится неразрешимой [237].
[ТАЯ 15] НЕ Ы*(К)-БЕСКОНТЕКСТНАЯ ГРАММАТИКА
УСЛОВИЕ. Заданы бесконтекстная грамматика G и положи-
положительное целое число К, представленное в унарной записи.
ВОПРОС. Верно ли, что G не является LR(K) -грамматикой
(определение см. в [242])?
Источник [242]. Общая сводимость.
Комментарий. При любом фиксированном К задача разрешима
за полиномиальное время. Если К представлено в двоичной
записи (что и требуется при нашем стандартном кодировании),
то задача полна в классе NEXP-TIME и, следовательно, труд-
норешаема. Вопрос о существовании такого К, что G есть
LR(К)-грамматика, неразрешим [239]. Аналогичные резуль-
результаты имеют место и тогда, когда свойство "LR(K)" заменяется
свойством "LL{K), "LC(K)", "SLR(К)" или любым другим из
большего числа свойств (см. указанные выше работы). Однако
в случае свойства "LL(K)", если известно, что для некоторого
К' грамматика G обладает свойством LR(K'), то за полино-
полиномиальное время можно выяснить вопрос о существовании та-
такого К, что грамматика G обладает свойством "LL(K)" [241].
A. 10. Теория автоматов и языков 847
[ТАЯ 16] НЕПУСТОТА ETOL-ГРАММАТИКИ (*)
УСЛОВИЕ. Задана ETOL-грамматика G = (N, S, {6i,62, ...
.... 8л}, S), где N— конечное множество "нетерминальных"
символов, 2 — конечное множество "терминальных" символов,
S е N — начальный символ, каждое б, представляет собой "таб-
"таблицу" продукций, переводящих символы множества N U 2 в сло-
слова языка (Л/ U 2)* (на каждом шаге вывода каждый символ
имеющегося в наличии слова заменяется посредством некото-
некоторой продукции из заранее выбранной таблицы (см., например,
[207])).
ВОПРОС. Верно ли, что язык, порожденный грамматикой G,
не пуст?
Источник [275]. К этой задаче сводится НЕУНИВЕРСАЛЬ-
НОСТЬ РЕГУЛЯРНОГО ВЫРАЖЕНИЯ.
Комментарий. Задача P-SPACE-полна, даже если G является
"EDTOL-грамматикой без е". Задача NP-полна и в том случае,
если G содержит ровно одну таблицу и для каждого символа
ровно одну продукцию (т. е. если G есть "EDOL-грамматика").
Для вопроса о том, порождает ли G бесконечный язык, верны
аналогичные результаты. Для бесконтекстных грамматик эти
задачи разрешимы за полиномиальное время, а для контекст-
контекстных грамматик — неразрешимы (см., например, [215]).
[ТАЯ 17] ПРИНАДЛЕЖНОСТЬ БЕСКОНТЕКСТНОМУ
ЯЗЫКУ С УПРАВЛЯЕМЫМ ВЫВОДОМ
УСЛОВИЕ. Заданы бесконтекстная грамматика с управляемым
выводом G = (N, 2,П, S) без е й слово JteJ1. (В таких грам-
грамматиках все продукции из П имеют вид Л->-до(Г) (F), где
4eJV, w^(N\JI,*)\b, Т и F— подмножества множества П,
указывающие, в зависимости от применимости или непримени-
неприменимости предыдущей продукции, подмножество в П, из которого
должна быть выбрана следующая продукция [456].)
ВОПРОС. Верно ли, что х принадлежит языку, порожденному
грамматикой G?
Источник [482]. К этой задаче сводится 3-ВЫП. Отсутствие е
обеспечивает принадлежность классу NP.
Комментарий. Задача остается NP-полной даже в том случае,
если потребовать, чтобы все продукции A-+w(T) (F) из П
имели T = F [525]. Если для всех продукций из П Т = F = П
и если допускается применение продукций к пустому слову е,
то получается задача принадлежности контекстно свободным
языкам, которая разрешима за полиномиальное время (см., на-
например, [215]).
348 А. Приложение. Список NP-яолкых задач
[ТАЯ 18] ПРИНАДЛЕЖНОСТЬ ЯЗЫКУ КВАЗИРЕАЛЬНОГО
ВРЕМЕНИ
УСЛОВИЕ. Заданы бесконтекстные грамматики G], G2 и G3,
имеющие общий терминальный алфавит 2, второй конечный
алфавит Г, функция A: 2 -> Г и слово да е Г*.
ВОПРОС. Верно ли, что w принадлежит "языку квазиреаль-
квазиреального времени", определяемому грамматиками G\, G2, G3 и функ-
функцией h, т. е. языку L = Л (L] П Lj П ^з), состоящему из вс°х слов
из Г* вида h(x\)h{xi) ... Л(**)> таких, что х\, х2 ... xk e Ц (]
П L2 П Ls, где Lj, L2 и L3 — языки, порождаемые грамматиками
G\, G2 и G3 соответственно?
Источник [230, 188]. К этой задаче сводится 3-ВЫП.
Комментарий. Если h — взаимно-однозначная функция, то за-
задача решается за полиномиальное время (стандартным мето-
методом разбора бесконтекстных грамматик; см., например, [215]).
Задача остается NP-полной и тогда, когда L3 совпадает с S*,
т.е. L == h{Li[] L2) [188], но разрешима за полиномиальное
время, если L2 и L3 совпадают с 2*. т. е. L = ft(Z)
[ТАЯ 19] ПРИНАДЛЕЖНОСТЬ ETOL-ЯЗЫКУ (*)
УСЛОВИЕ. Заданы ETOL-грамматика G = (N, 2, {бьб2, ..,
.... бя}, S) и слово ш е 2*.
ВОПРОС. Принадлежит ли слово w языку, порождаемому грам-
грамматикой G?
Источник [525]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача P-SPACE-полна, даже если G есть
"ETOL-грамматика без в" [275]. Если G фиксирована, то за-
задача принадлежит классу NP, в этом случае существуют конк-
конкретные грамматики, для которых она NP-полна. Последний
факт имеет место даже тогда, когда G есть "TOL-грамматика"
(т. е. не имеет нетерминальных символов) и не содержит е
[525]. Задача разрешима за полиномиальное время для фик-
фиксированной G, если G есть "EDTOL-грамматика" [276] либо
если G есть "EOL-грамматика" (т. е. имеет только одну таб-
таблицу) [404].
[ТАЯ 20] ПРИНАДЛЕЖНОСТЬ КОНТЕКСТНОМУ
ЯЗЫКУ (*)
УСЛОВИЯ- Заданы контекстная грамматика G = (N, 2,11,5)
и слово шбХ' (в контекстной грамматике каждая продукция
имеет вид х-+у, где х и у — непустые слова над алфавитом
WU2 и \у\>\х\).
ВОПРОС. Принадлежит ли w языку, порожденному граммати-
грамматикой G?
АН. Оптимизация программ 349
Источник [310]. К этой задаче сводится ДОПУСКАЕМОСТЬ
ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ.
Комментарий. Задача P-SPACE-полна даже для детерминиро-
детерминированных контекстных грамматик. Более того, существуют конк-
конкретные контекстные грамматики, для которых задача NP-полна.
Существует также конкретная "линейная по времени" контек-
контекстная грамматика, для которой задача NP-полна [49]. (Для
любой конкретной контекстной грамматики задача принадле-
принадлежит классу NP.)
[ТАЯ 21] ПРИНАДЛЕЖНОСТЬ ЯЗЫКУ,
ОПРЕДЕЛЯЕМОМУ ДРЕВОВИДНЫМ
ПРЕОБРАЗОВАТЕЛЕМ (*)
УСЛОВИЕ. Заданы "преобразователь сверху-вниз с древовид-
древовидной структурой" М и его выходной алфавит Г, бесконтекстная
грамматика О и слово щеГ' (детали см. в указанных ниже
работах).
ВОПРОС. Принадлежит ли w "результату" "поверхностного
множества", определяемого преобразователем М и граммати-
грамматикой G?
Источник [446]. Общая сводимость.
Комментарий. Задача P-SPACE-полна. Для фиксированных М
и G она принадлежит классу NP. Существуют конкретные М
и G, для которых задача NP-полна [460]. Если потребовать
линейности преобразователя М, то общая задача разрешима за
полиномиальное время. Если М — "детерминированный" преоб-
преобразователь, то для фиксированного М задача разрешима за
полиномиальное время [447].
АН. ОПТИМИЗАЦИЯ ПРОГРАММ
А11.1. Генерация кода программы
[ОП 1] ДОСТАТОЧНОСТЬ ЧИСЛА РЕГИСТРОВ
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= (V, А), положительное целое число К.
ВОПРОС. Существует ли вычисление для G, использующее не
более К регистров? Иными словами, существуют ли упорядоче-
упорядочение i»i, V2, ..., vn вершин множества V, где n=|V|, и после-
последовательность So, Si Sn подмножеств множества V, такие,
что: A) |S,|^^( для всех i\ B) So — пусто, Sn содержит все
вершины из графа G со степенью захода 0; C) для всех /,
1 ^ « ^ п, vi e Si, S,\ {vi} ? Si-i и St-i содержит все вершины
и, такие, что [vi, и)е А?
350 А. Приложение. Список NP-полных задач
Источник [477]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если степени выхода всех вершин графа G не превосходят 2.
Вариант этой задачи, в котором допускается "перевычисление"
(т. е. ищутся последовательности Vi, v% ..., vm и So, Si Sm
без априорной оценки числа m и вершины в первой последова-
последовательности могут повторяться, но все остальные сформулирован-
сформулированные выше условия выполняются), является NP-трудным, и его
принадлежность классу NP не установлена.
[ОП 2] ДОПУСТИМОСТЬ НАЗНАЧЕНИЯ РЕГИСТРОВ
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= {V, А), положительное целое число К и назначение регистров
ВОПРОС. Существует ли вычисление для G, использующее
указанное назначение регистров? Иными словами, существуют
ли упорядочение v\, vi vn вершин из множества V и после-
последовательность Sb S2, ..., Sn подмножеств множества V, удов-
удовлетворяющие всем условиям, сформулированным в задаче ДО-
ДОСТАТОЧНОСТЬ ЧИСЛА РЕГИСТРОВ, и дополнительному ус-
условию, заключающемуся в том, что для всех / и / A ^/^/С,
1 ^ i ^ п) существует не более одной вершины и е S/, такой,
что f («) = /?,-?
Источник [477]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если степени выхода всех вершин графа G не превосходят 2.
[ОП 3] ДОСТАТОЧНОСТЬ ЧИСЛА РЕГИСТРОВ
ДЛЯ РЕАЛИЗАЦИИ ЦИКЛОВ
УСЛОВИЕ. Заданы множество V параметров циклов, длина
цикла N е Z+, для каждого параметра v начальное время
s(o)eZo" и продолжительность l(i))eZ+, целое положительное
число К.
ВОПРОС. Достаточно ли К регистров для запоминания пара-
параметров циклов? Иными словами, существует ли такое назначе-
назначение регистров /: F->{1,2 К}, что если f(u) — f(v) для не-
некоторых и, tieF, и ф v, то из неравенства s(u)^s(v) сле-
следует, что «(«)+ l(u)s^s(v) и s(u)+ I (v) (mod N)^s (иI?
Источник [153]. К этой задаче сводятся ОБРАЗУЮЩИЕ ПЕ-
ПЕРЕСТАНОВКИ.
Комментарий. Для любого фиксированного К задача разре-
разрешима за полиномиальное время.
All. Оптимизация программ 351
[ОП 4] ГЕНЕРАЦИЯ КОДА НА МАШИНЕ
С ОДНИМ РЕГИСТРОМ
УСЛОВИЕ. Заданы ациклический ориентированный граф G —
= (V, А), у которого степени выхода всех вершин не превосхо-
превосходят 2, и положительное целое число К-
ВОПРОС. Существует ли программа в кодах ЭВМ, содержа-
содержащая не более К команд, вычисляющая на- машине с одним ре-
регистром все корневые (т. е. со степенью захода равной 0) вер-
вершины графа G, причем в начальный моменте памяти находятся
все "листья" графа G (т. е. вершины со степенью выхода рав-
равной 0) и в программе используются только команды "загру-
"загрузить", "запомнить" и "выполнить"? (Команда "загрузить" пе-
передает в регистр определенную вершину. Команда "запомнить"
передает вершину из регистра в память. Новая вершина v мо-
может быть вычислена с помощью команды "выполнить" при ус-
условии, что в регистре находится такая вершина и, что (v, и) е
еЛ, а любая другая вершина и', для которой (и, и')^А, нахо-
находится в памяти. В результате исполнения команды "выпол-
"выполнить" вершина и, находящаяся в регистре, заменяется верши-
вершиной v. Вычисление новой вершины не закончено, пока она не
помещена в память с помощью операции "запомнить".)
Источник [61]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если все вершины, имеющие степень захода больше 1, соеди-
соединены ребрами только с листьями графа G [10]. Задача разре-
разрешима за полиномиальное время, если G — ориентированный
лес [480].
[ОП 5] ГЕНЕРАЦИЯ КОДА С НЕОГРАНИЧЕННЫМ
ЧИСЛОМ РЕГИСТРОВ
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= (V,А), не имеющий вершин со степенью выхода большей 2,
разбиение множества А на такие два непересекающихся мно-
множества L и /?, что любые две дуги, исходящие из одной вер-
вершины, принадлежат различным множествам, положительное це-
целое число К-
ВОПРОС. Существует ли программа вычисления всех корне-
корневых вершин графа G, отвечающая следующим требованиям: A)
программа состоит не более чем из К команд, B) программа
начинает вычисление с листьев графа G, занесенных в память,
C) в программе используются только команды вида "п-*-г"
или "п-*~п ор г/", i, /eZ+ (где вершина и со степенью вы-
выхода, равной 2, и исходящими дугами (у, м)е? и (v,w)^R
может быть вычислена только с помощью команды п-*-п ор г/,
в которой п содержит и, а г/ содержит v)?
352 А. Приложение. Список NP-полных задач
Источник [10]. К этой задаче сводится МНОЖЕСТВО ВЕР-
ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ.
Комментарий. Задача остается NP-полной даже в том случае,
если только листья графа G имеют степень захода, превосхо-
превосходящую 1. "Коммутативный" вариант задачи, в котором допу-
допускаются также команды вида "г,--*-/*,- ор г", является NP-пол-
ным [11]. Если G — лес или если допускаются трехадресные
команды вида "п-*-г/ ор гн, то обе задачи могут быть решены
за полиномиальное время [10].
[ОП 6] ГЕНЕРАЦИЯ КОДА ДЛЯ ПАРАЛЛЕЛЬНЫХ
ПРИСВАИВАНИИ
УСЛОВИЕ.Заданы множество переменных V ={vlt v<l, ..., vn},
множество операторов присваивания А ={А\,А2, .... А,,}, где
каждое Л,- имеет вид "t>i-*-op(B,-)" (Б, — некоторое под-
подмножество множества V), и положительное целое число К-
ВОПРОС. Существует ли такое упорядочение vnw, иЛB). • • ¦
.... уя(п) множества V, для которого имеется не более К значе-
значений /, 1 ^ i ^ п, таких, что для некоторого / > i имеет место
принадлежность иЛ(,-) е Вя</)?
Источник [476]. К этой задаче сводится МНОЖЕСТВО ВЕР-
ВЕРШИН, РАЗРЕЗАЮЩИХ КОНТУРЫ.
Комментарий. Задача остается NP-полной и в том случае, если
| Bi | ^ 2 для всех В«.
[ОП 7] ГЕНЕРАЦИЯ КОДА С АДРЕСНЫМИ
ВЫРАЖЕНИЯМИ
УСЛОВИЕ. Заданы последовательность команд I = (Iitl2, ...
..., In), для каждой команды /,• е / выражение g(/<) вида
"//', '7/ + k", "Ij — k" или "А", где /, <= / и keZ+, а также
положительные целые числа В, С и М.
ВОПРОС. Можно ли команды из последовательности / запом-
запомнить в виде одно- и двухбайтовых команд, так чтобы общая
память, используемая при этом, не превзошла М? Иными сло-
словами: определим функцию h(Ij), полагая ее равной f(//),
f(Ii)±k или k, в зависимости от того, равняется ли g{f,) соот-
соответственно //, // ± k или k\ существует ли такое взаимно-одно-
взаимно-однозначное отображение f: I-*- {1, 2, .... М}, что f(h) </(//) при
«</ и либо — С </(/;)—h{Ii)<zB, либо f (/()+! не принад-
принадлежит области значений f?
Источник [511]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для некоторых конк-
конкретных значений В и С, например равных соответственно 128 и
All. Оптимизация программ 353
127 (можно взять также и гораздо меньшие значения). Задача
разрешима за полиномиальное время, если в условии нет "па-
талогических" выражений (детали см. в указанной выше ра-
работе) .
[ОП 8] ГЕНЕРАЦИЯ КОДА ПРОГРАММЫ
С НЕФИКСИРОВАННЫМИ АДРЕСАМИ
ПЕРЕМЕННЫХ
УСЛОВИЕ. Заданы последовательность команд / = (/ь /2, ...
..., 1п), конечное множество переменных V, назначение g: 1-*-
-+¦ / U V и положительные целые числа ВиМ.
ВОПРОС. Можно ли команды из /, рассматриваемые как одно-
и двухбайтовые слова, с переменными между ними так распо-
расположить в памяти, что используемый при этом объем памяти не
превзойдет М? Иными словами, существует ли такое взаимно-
взаимнооднозначное отображение f: I[)V -*{\,2, ..., М}, что A) при
»</ fUi)<f{f/) и B) для всех i, I s$ i < п, либо \f{h) —
— f(gUt))\< В, либо f{It)-\-\ не принадлежит области значе-
значений функции ft
Источник [450]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже для некоторых
фиксированных В, например для В = 31. Если V пусто, то за-
задача разрешима за полиномиальное время.
[ОП 9] ВЫЧИСЛЕНИЕ СЕМЕЙСТВА
УСЛОВИЕ. Заданы набор С подмножеств конечного множе-
множества А и положительное целое число /.
ВОПРОС. Существует ли последовательность
S = {2i<-*i U yu Z2«-*2 U 1/2 2t<-X, U У,}, /</,
операторов "объединения", где каждое из Xi и yi есть либо {а}
для некоторого а^А, либо z* для некоторого k < i, причем
для всех i, l^i^ /, Xi и yi не пересекаются и для каждого
подмножества с^С найдется такое zi, I ^ i ^/, что соответ-
соответствующее множество совпадает с с?
Источник [152]. К этой задаче сводится ВЕРШИННОЕ ПО-
ПОКРЫТИЕ (см. разд. 3.2.2).
Комментарий. Задача остается NP-полной даже в том случае,
если |с|г^3 для всех с&С. Аналогичная задача, в которой не
требуется, чтобы х, и yi не пересекались, также NP-полна при
тех же ограничениях.
354 А. Приложение. Список NP-полных задач
[ОП 10] ОПТИМИЗАЦИЯ ЧИСЛА БИТ МИКРОКОДА
УСЛОВИЕ. Заданы конечное множество "микрокоманд" А, на-
набор С = {с\, Cz, ..., ст} подмножеств множества А (подмно-
(подмножество множества микрокоманд называется микроинструкцией)
и положительное целое число К.
ВОПРОС. Существует ли для данного набора микроинструкций
/(-битовый формат? Иными словами, существует ли такое раз-
разбиение множества А на непересекающиеся подмножества А\,
Аг, ..., Ап, что ни одна пара подмножеств At и С/ не содержит
более одного общего элемента и
Источник [451]. К этой задаче сводится 3-С.
А11.2. Программы и схемы
[ОП 11] НЕЭКВИВАЛЕНТНОСТЬ ПРОГРАММ
С МАССИВАМИ
УСЛОВИЕ. Заданы конечные множества X, в и /? переменных,
операторов и переменных массивов соответственно, две про-
программы Р\ и Р2, составленные из команд следующего вида:
х0-*• вх1Х2 ••• х, ("выполнить"), a\xi\-*r-Xj ("изменить"), х,ч-
¦+-a[Xj] ("выбрать"), где Xi&X, веб, г — число аргументов
оператора 9, asi?, а также конечное множество значений V
и интерпретация каждого оператора 8е6 как функции из
V в V.
ВОПРОС. Можно ли придать переменным из X такие началь-
начальные значения из V, что для некоторой переменной из X про-
программы дадут различные конечные значения? (Детали о работе
таких программ см. в [104].)
Источник [104]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если в программах отсутствуют команды "выполнить" и имеет-
имеется только одна переменная массива. Если отсутствуют команды
"изменить" или команды "выбрать" или отсутствуют перемен-
переменные массивов, то задача разрешима за полиномиальное время.
[ОП 12] НЕЭКВИВАЛЕНТНОСТЬ ПРОГРАММ
С ПРИСВАИВАНИЯМИ
УСЛОВИЕ. Заданы конечное множество переменных X, две
программы Pi и Pi, представляющие собой последовательности
команд присваивания, имеющих вид "хо-*-еслих1 = х2то х^иначе
All. Оптимизация программ 35Й
х*", где Х{ — переменные из X, и конечное множество значе-
значений V.
ВОПРОС. Можно ли всем переменным из X придать такие на-
начальные значения из V, что для некоторой переменной из X
программы дадут различные конечные значения? (Детали о ра-
работе таких программ см. в [104].)
Источник [104]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже в том случае,
если V = {0,1}- Она содержится в качестве частного случая
во многих задачах о неэквивалентности простых программ и,
следовательно, доказывает, что они NP-трудные [104, 528].
[ОП 13] НЕЭКВИВАЛЕНТНОСТЬ ПРОГРАММ
С КОНЕЧНОЙ ПАМЯТЬЮ (*)
УСЛОВИЕ. Заданы конечное множество переменных X, конеч-
конечный алфавит 2, две программы Pi и Р2, каждая из которых
представляет собой последовательность команд /ь /2, .... !,п
(Pi и Р2 не обязательно имеют одинаковую длину т). Коман-
Команды имеют вид "прочитать х", "записать v", "*,-«-у/', "если
vi = vk, перейти к I", "принять", "стоп", где лс, е X, v/, w* e
e*U2|J{$} и /т — команда вида "стоп" или "принять".
ВОПРОС. Существует ли такое слово да е 2*, что, начав ра-
работать на этом слове, программы Pi и Р2 дадут различные ре-
результаты? (Детали о работе программ такого типа см.
в [274].)
Источник [274]. К этой задаче сводится ДОПУСКАЕМОСТЬ
ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ.
Комментарий. Задача P-SPASE-полна даже тогда, когда Р2 —
фиксированная программа, не содержащая команд типа запи-
записать и, следовательно, не дающая результата. В указанной
выше работе приведено много специальных случаев этой за-
задачи и различных ее вариантов, которые или P-SPACE-полны
или еще труднее.
[ОП 14] НЕЭКВИВАЛЕНТНОСТЬ ПРОГРАММ
БЕЗ ВЛОЖЕННЫХ ЦИКЛОВ
УСЛОВИЕ. Заданы конечное множество переменных X, под-
подмножество входных переменных УеХ, выделенная выходная
переменная *о. Две программы с циклами, но без вложенных
циклов Pi и Р2 (т. е. последовательности команд вида "х-*-у",
"хчг-x+l", "х+-0", "цикл х" и "конец", где х, у^Х, причем
вслед за командой цикл, команда конец должна предшество-
предшествовать следующей команде )
356 А. Приложение. Список HP-полных задач
ВОПРОС. Существует ли такое отображение /: У-vZ", сопо-
сопоставляющее входным переменным начальные значения, что в
результате работы обеих программ выходная переменная хй по-
получает разные значения? (Подробности о программах этого
типа см. в указанных ниже работах.)
Источник [88, 516]. К этой задаче сводится 3-ВЫП. Во второй
работе доказана принадлежность задачи классу NP.
Комментарий. Если допустить вложенные циклы (даже глу-
глубины 2), то задача становится неразрешимой [382]. Если не
допускаются циклические команды, то задача разрешима за по-
полиномиальное время [516]. Основной результат обобщен в ра-
работе [233].
[ОП 15] НЕЭКВИВАЛЕНТНОСТЬ ПРОСТЫХ ФУНКЦИЙ
УСЛОВИЕ. Заданы множество X переменных, два выражения f
и g над X. Каждое выражение есть композиция функций из
следующего набора: "s(x) = x -+- 1", "p{x) = max [x— 1, 0}",
«plus(x, y)=x + y", "div(x, 0=Г*/П", mod(x, t)=x-l ¦ Гх/П",
uw (х, у) = если у — 0тох иначе 0" и "выбрать |* (jcp х2 хп) =
= х" где х, у, Xi^X; l, в, /eZ* и i^.n.
ВОПРОС. Существуют ли такие неотрицательные целые значе-
значения переменных из X, для которых выражения / и g различны?
Источник [516]. К этой задаче сводится НЕЭКВИВАЛЕНТ-
НЕЭКВИВАЛЕНТНОСТЬ ПРОГРАММ БЕЗ ВЛОЖЕННЫХ ЦИКЛОВ.
Комментарий. Задача остается NP-полной, если fag опреде-
определяются только в терминах функции w(x,у), или в терминах
функций plus и mod, или в терминах функций plus и р [346].
NP-полны также варианты этой задачи, в которых f и g опре-
определяются только в терминах функций plus и "sub I (x) —
— тах{0, 1—х}" или только в терминах функций "minus (х, у) =
= тах{0,х — у}" (где х, у е= X [} Z+) [88].
[ОП 16] СИЛЬНАЯ НЕЭКВИВАЛЕНТНОСТЬ СХЕМ ЯНОВА
УСЛОВИЕ. Заданы конечные множества F и Р, состоящие со-
соответственно из символов функций и символов предикатов,
одна переменная х и две схемы Янова над F, Р и х. Схемой
Янова называется последовательность /ь /2 1т команд
вида "x-*-f(x)"t "если р(х) то перейти к I/ иначе перейти к /ft"
и "стоп", где / е F и р е Р.
ВОПРОС. Верно ли, что две заданные схемы Янова не яв-
являются строго эквивалентными? Иными словами, существуют ли
область определения D, для каждой функции /ef интерпре-
интерпретация в виде отображения /: D-+D, для каждого предиката
All. Оптимизация программ 357
реР интерпретация в виде отображения р: D-*-{T,F), на-
начальное значение Хо е D переменной х, такие что либо обе за-
заданные схемы останавливаются с различными конечными зна-
значениями переменной х, либо одна останавливается, а другая —
нет?
Источник [88,461]. К этой задаче сводится 3-ВЫП. Принад-
Принадлежность классу NP доказана во второй работе.
Комментарий. Задача остается NP-полной даже в том случае,
если ни одна из программ не содержит циклов, а Р2— три-
тривиальная программа, оставляющая значение х неизменным. За-
Задача о сильной эквивалентности схем Янова с двумя перемен-
переменными неразрешима, даже если предположить, что |/7| = |/>|^1
[363]. Аналогичные результаты о других свойствах, таких, как
"слабая эквивалентность", "дивергенция", "остановка" и т. д.,
см. в работах [234] и [240]. За полиномиальное время может
быть проверена сильная эквивалентность "сильно свободных''
схем Янова, т. е. таких схем, в которых между двумя после-
последовательными проверками предикатов применяется хотя бы
одна функция (см. [88]). Задача о сильной эквивалентности
"свободных" схем Янова в настоящее время открыта.
[ОП 17] СИЛЬНАЯ НЕЭКВИВАЛЕНТНОСТЬ МОНАДНЫХ
РЕКУРСИВНЫХ СХЕМ
УСЛОВИЕ. Заданы конечные множества F и Р, состоящие из
символов функций и символов предикатов соответственно, мно-
множество G "определенных" символов функций (не пересекаю-
пересекающееся с F), выделенный символ foeG и две линейные монад-
ные рекурсивные схемы Si и S2 (такая схема для каждой /eG
представляет собой набор утверждений вида "fx = если рх то
ах иначе рх, где реР, a, pe(/7U G)*, причем аир содержат
по крайней мере одно вхождение символа из множества G).
ВОПРОС. Существуют ли множество определения D, интерпре-
интерпретация каждого /е/7 в виде отображения f: D-*-D, интер-
интерпретация каждого реР в виде отображения р: D-*-{T,F}
и начальное значение ХоеД такие, что два значения /о(-*о).
определяемые согласно рекурсивным схемам Si и S2, либо раз-
различны, либо одно из них определено, а другое нет.
Источник [88]. К этой задаче сводится СИЛЬНАЯ НЕЭКВИ-
НЕЭКВИВАЛЕНТНОСТЬ СХЕМ ЯНОВА. Доказательство принадлеж-
принадлежности задачи классу NP нетривиально.
Комментарий. Задача остается NP-полной и в том случае, если
одна из схем тривиально полагает fo(*) = *. а другая "линейна
справа", т. е. а и р содержат определенный символ (из
358 А. Приложение. Список HP-полных задач
множества G) в виде крайней оправа буквы. В указанной выше
работе приведены Другие результаты об NP-полноте и NP-труд-
ности задач о линейных монадных рекурсивных схемах.
[ОП 18] ОТНОШЕНИЕ НЕВКЛЮЧЕНИЯ
СВОБОДНЫХ В-СХЕМ
УСЛОВИЕ. Заданы две свободные В-схемы Si и 52. (Свобод-
(Свободной В-схемой называется корневой ориентированный ацикли-
ациклический граф G = (V, А), часть вершин которого имеют степень
выхода, равную 0 (листья), а остальные (тестовые) — степень
выхода 2, причем дуги, исходящие из тестовой вершины, поме-
помечены метками L и /?.) Кроме того, зафиксировано: A) множе-
множество В символов булевских переменных и каждой тестовой вер-
вершине v сопоставлена такая метка /(w)eB, что никакие две
тестовые вершины графа, расположенные на общем ориентиро-
ориентированном пути, не имеют одинаковых меток; B) множество F-сим-
волов функций, причем каждому листу и е V сопоставлена
метка /(o)eFUM.
ВОПРОС. Верно ли, что схема S[ не "содержится" в схеме S2?
Иными словами, существует ли такое отображение /: Bi\JB2-y
-*-{L,R}, что если два пути из корневых вершин графов G\ и
G2 в листья этих графов, образованные согласно правилу "из
тестовой вершины выход по дуге с меткой t(l(v))", — заканчи-
заканчиваются в листьях, помеченных символами /i и f2 соответственно,
то U Ф U и U Ф Q?
Источник [126]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача о "сильной неэквивалентности свободных
В-схем (т. е. неэквивалентности в том же смысле, что и выше,
но с одним условием — fr Ф f2) остается открытой. Если же
одна из схем Si или S2 есть упорядоченная fl-схема, то послед-
последняя задача разрешима за полиномиальное время. Открытый
вариант задачи эквивалентен по Тьюрингу задаче о сильной
неэквивалентности свободных схем Янова (см. задачу СИЛЬ-
СИЛЬНАЯ НЕЭКВИВАЛЕНТНОСТЬ СХЕМ ЯНОВА).
[ОП 19] НЕСВОБОДНОСТЬ СХЕМ ПРОГРАММ
БЕЗ ЦИКЛОВ
УСЛОВИЕ. Заданы конечные множества F и Р, состоящие из
символов функций и символов предикатов соответственно, мно-
множество переменных X, монадная без циклов схема программ S
над F, Р и X. Такая схема состоит из последовательности
команд /ь /2, ..., /т вида "x+-f(y)", если р(х) то перейти к I/
иначе перейти к h и "стоп", где jteX,/ef иреР, ив соот-
соответствующем "графе переходов" не должно быть ориентирован-
ориентированных циклов.
A12. Разное 359
ВОПРОС. Верно ли, что схема S несвободна? Иными словами,
существует ли в графе переходов, соответствующем схеме S,
ориентированный путь, вдоль которого не может пройти ни
одно вычисление по программе S, вне зависимости от того, ка-
какая интерпретация придается функциям из F, предикатам из Р
и какие начальные значения придаются переменным из К}
Источник [88]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной для |Jf| = 2. Если
|Х|= 1, то она разрешима за полиномиальное время. Если до-
допускаются циклы, а \Х\ произвольно, то задача неразрешима
[420].
[ОП 20] ПРОГРАММЫ С ФОРМАЛЬНО РЕКУРСИВНЫМИ
ПРОЦЕДУРАМИ
УСЛОВИЕ. Заданы конечное множество А идентификаторов
процедур, алголоподобная программа Р, содержащая описание
процедур из А, и обращение к ним (подробности см. в работе,
указанной ниже).
ВОПРОС. Верно ли, что некоторая процедура из А формально
рекурсивна в программе Р (в смысле работы [320])?
Источник [533]. К этой задаче сводится 3-ВЫП.
Комментарий. В указанной работе приведены близкие резуль-
результаты о задачах, в которых спрашивается: "Обладает ли про-
программа Р свойствами "формально самый последний", "коррект-
"корректность формальных параметров", "формальное макросвойство
и др?"
А12. РАЗНОЕ
[РАЗ 1] СООТНОШЕНИЕ сМЕЖДУ»
УСЛОВИЕ. Заданы конечное множество А и набор упорядо-
упорядоченных троек (а, Ь, с) различных элементов из множества А.
ВОПРОС. Существует ли такая взаимно-однозначная функция
/: А-*-{1,2, .... \А\}, что для каждой тройки (а,Ь, с) выпол-
выполнено одно из свойств: либо f(a) < f(b) < f(c), ибо f(c) < f(b) <
/()?
Источник [403]. К этой задаче сводится РАСЩЕПЛЕНИЕ
МНОЖЕСТВА.
[РАЗ 2] ЦИКЛИЧЕСКОЕ УПОРЯДОЧЕНИЕ
УСЛОВИЕ. Заданы конечное множество А, набор С упорядо-
упорядоченных троек (а, Ь, с) различных элементов из А.
ВОПРОС. Существует ли такая взаимно-однозначная функция
/: Л-»-{1, 2, ..., \А\}, что для каждой тройки (а, Ь, с)^С
360 А. Приложение. Список NP-полных задач
выполнено одно из свойств: либо /(а) < f(b) <C f (с), либо f(b) <C
< f(c)<f(a), либо f(c)< f(a)< /(б)?
Источник [138]. К этой задаче сводится 3-ВЫП.
[РАЗ 3] НЕВЫЖИВАЕМОСТЬ СЕТЕЙ ПЕТРИ
СО СВОБОДОЙ ВЫБОРА
УСЛОВИЕ. Задана сеть Петри Р = (п, Мо, Т), где neZ+, Mo
есть n-мерный вектор с целыми неотрицательными координа-
координатами, Т — множество переходов вида <а, &>, где а и b — это
п-мерные @—1)-векторы, причем предполагается выполнен-
выполненным свойство "свободы выбора", состоящее в том, что для
каждой пары <а, й)е Т либо у а имеется ровно одна отличная
от нуля координата, либо во всех остальных переходах <с, d>e
е Т вектор с имеет 0 во всех тех позициях, в которых а имеет 1.
ВОПРОС. Верно ли, что Р не "выживает"? Иными словами, су-
существует ли такой переход ^еГи такая последовательность о
переходов из Т, что для любой последовательности т переходов
из Т последовательность ait не "уничтожающая" в Мо? (По-
(Последовательность <ai,6i>, <a2, Й2> (,a.m,brn> называется
уничтожающей в Мо тогда и только тогда, когда последова-
последовательность Мо, М], ..., М2т, В КОТОРОЙ М2(+1 = M2i — Щ И
Af2f+2 = M2»+i + bi, 0 <; i < m, не содержит векторов с отрица-
отрицательными координатами.)
Источник [272]. К этой задаче сводится 3-ВЫП. Доказатель-
Доказательство принадлежности классу NP нетривиально и основано на
результатах [193].
[РАЗ 4] ДОСТИЖИМОСТЬ ДЛЯ
1-КОНСЕРВАТИВНЫХ СЕТЕЙ ПЕТРИ (*)
УСЛОВИЕ. Заданы 1-консервативнаясеть Петри Р = (п, Мо, Т),
т. е. такая сеть, что для каждого перехода <a, &>e T векторы
а и b имеют одинаковое число единиц, и n-мерный вектор М
с неотрицательными координатами.
ВОПРОС. Верно ли, что в сети Р вектор М достижим из Л10?
Иными словами, существует ли такая последовательность
<ai, &i>, <а2,6г>, ¦••. (am,bmy переходов из Т, что последова-
последовательность Мо, Mi, ..., М2т, получаемая так же, как в преды-
предыдущей задаче, не содержит векторов с отрицательными коорди-
координатами и М2т = М?
Источник [272]. К этой задаче сводится ДОПУСКАЕМОСТЬ
ЛИНЕЙНО ОГРАНИЧЕННЫМ АВТОМАТОМ.
Комментарий. Даже в том случае, когда рассмотренная сеть Р
является сетью Петри со свободой выбора, задача P-SPACE-
A12. Разное 361
полна. Для произвольных сетей Петри разрешимость задачи не
установлена, но известно, что для ее решения необходима но
крайней мере экспоненциальная память [353]. Аналогичный
результат имеет место для задачи о "доминировании": "Су-
"Существует ли достижимый из Мо вектор М', у которого каждая
координата не меньше соответствующей координаты вектора
ЛГ'? Близкая задача о "/(-ограниченности" (заданы сеть Р и
целое число К, верно ли, что не существует вектора, достижи-
достижимого из Мо, у которого все координаты превосходят /С?)
P-SPACE-полна как для произвольных сетей Петри, так и для
1-консервативных сетей со свободой выбора. Дополнительные
детали и близкие результаты см. [272, 233].
[РАЗ 5] ПРЕДСТАВИМОСТЬ КОНЕЧНОЙ ФУНКЦИИ (*)
УСЛОВИЕ. Заданы конечное множество А, набор F функций
f: А-*-А и выделенная функция А: А-*-А.
ВОПРОС. Может ли функция h быть представлена в виде ком-
композиции функций из семейства F?
Источник [303]. К этой задаче сводится ПЕРЕСЕЧЕНИЕ КО-
КОНЕЧНЫХ АВТОМАТОВ.
Комментарий. Задача P-SPACE-полна.
[РАЗ 6] РАЗЛОЖЕНИЕ ПОДСТАНОВКИ
УСЛОВИЕ. Заданы подстановка а множества {1, 2 N} и
последовательность Si, 52, ..., Sm подмножеств множества
{1,2, .... N}.
ВОПРОС. Можно ли представить подстановку а в виде компо-
композиции подстановок: о = а\, Ог ... ат (где для каждого i, I ^
sg: i sg: m, подстановка о< оставляет неподвижными элементы
множества {1,2, ..., N}\Si)?
Источник [153]. К этой задаче сводится ТП-3.
Комментарий. При любом фиксированном N задача разрешима
за полиномиальное время.
[РАЗ 7] ДЕКОДИРОВАНИЕ ЛИНЕЙНЫХ КОДОВ
УСЛОВИЕ. Заданы @ —1)-матрица А—(ац) порядка /пХ«.
@—1)-вектор у = {у\, t/2. •.., Ут) и положительное целое
число К-
ВОПРОС. Существует ли такой @—1)-вектор х = (хих2, ...
..., х„), имеющий не более К отличных от нуля координат, что
? (и yt (mod 2) для всех /, 1
362 А. Приложение. Список ЫР-полных задач
Источник [38]. К этой задаче сводится 3-С.
Комментарий. Если вектор у нулевой и, следовательно, ищется
"кодирующее слово", у которого вес по Хеммингу не превосхо-
превосходит К, то задача открыта. Вариант задачи, в котором ищется
вектор х, содержащий ровно К единиц, является NP-полным
даже тогда, когда у фиксирован и равен 0.
[РАЗ 8] КОЭФФИЦИЕНТ ИЗБИРАТЕЛЯ ПО ШЕПЛИ -
ШУБИНУ
УСЛОВИЕ. Заданы упорядоченное множество избирателей
V={vitV2 vn), число голосов a»;eZ+ для каждого изби-
избирателя йеУи квота q e Z+.
ВОПРОС. Верно ли, что избиратель V\ имеет коэффициент по
Шепли — Шубику, не равный 0? (Коэффициентом p(v) изби-
избирателя oeV называется величина A/л1), умноженная на чис-
число таких подстановок п множества {1,2, .... п}, что
Источник [152]. К этой задаче сводится РАЗБИЕНИЕ. Опре-
Определение коэффициента избирателя взято из работы Шепли и
Шубика [485].
Комментарий. Задача вычисления коэффициента заданного из-
избирателя по [485] является КР-полной, однако методом дина-
динамического программирования она может быть решена за псеа»
дополиномиальное время.
[РАЗ 9] СКОПЛЕНИЯ
УСЛОВИЕ. Заданы конечное множество X, расстояния
d {x, y)^Z$цля каждой пары х, (/элементов из X и два поло-
положительных целых числа К и В.
ВОПРОС. Существует ли такое разбиение множества X на не-
непересекающиеся множества Хи Х2, ..., X*, что для всех х,
y(=Xi d{x, 1/)<Впри1<1^ ft?
Источник [57]. К этой задаче сводится РАСКРАШИВАЕ-
МОСТЬ ГРАФА В 3 ЦВЕТА.
Комментарий. Задача NP-полна, даже если К = 3, а все рас-
расстояния лежат в интервале [0,1]. При /( = 2 она разрешима
за полиномиальное время. Варианты этой задачи, в которых
ищутся такие разбиения, что сумма по всем Xi величин
max{d(x,у): х, y^Xi} не превосходит В или X d(x,
A12. Разное 363
для всех Xi, также являются NP-полными (причем последняя
задача NP-полна даже при К = 2).
[РАЗ 10] ТЕСТ СЛУЧАЙНОСТИ ДЛЯ ПАР (*)
УСЛОВИЕ. Заданы последовательность (хиу\), (х^уг),...
. ¦ •. (*п, У п.) упорядоченных пар целых чисел, неотрицательное
целое число К-
ВОПРОС. Существуют ли не менее К подмножеств S s{l, 2, ...
..., п), для каждого из которых
Источник [483]. К этой задаче сводится РАЗБИЕНИЕ.
Комментарий. Принадлежность классу NP не установлена. Со-
Соответствующая задача перечисления КР-полна, но методом ди-
динамического программирования решается за псевдополиноми-
псевдополиномиальное время.
[РАЗ 11] РАНЖИРОВАНИЕ ПО
МАКСИМУМУ ПРАВДОПОДОБИЯ
УСЛОВИЕ. Заданы матрица А = (ац) размером п X п с це-
целыми элементами, которые удовлетворяют соотношению ац-\-
-j-a/i==O для всех i, /г{1,2 п}, и положительное целое
число С.
ВОПРОС. Существует ли матрица В = (й//), получаемая из А
одновременной перестановкой строк и столбцов, такая, что
min {Ьц, 0} > — С?
Источник [442]. К этой задаче сводится МНОЖЕСТВО ДУГ,
РАЗРЕЗАЮЩИХ КОНТУРЫ.
Комментарий. Задача NP-полна в сильном смысле.
[РАЗ 12]ДОМИНИРУЮЩЕЕ МНОЖЕСТВО МАТРИЦЫ
УСЛОВИЕ. Заданы @—1)-матрица М размером пХя и по-
положительное целое число К.
ВОПРОС. Существует ли в М доминирующее множество, со-
состоящее не более чем из К ненулевых элементов? Иными ело*
вами, существует ли такое подмножество С={1,2, ..., п}Х
Х{1,2, ..., п} мощности не более К, что Мц = 1 для всех
(i,j)eC и если Мц = I, то существует элемент (j',/')eC.
для которого или i = »"', или / = /'?
Источник [540]. К этой задаче сводится МИНИМАЛЬНОЕ ПО
МОЩНОСТИ МАКСИМАЛЬНОЕ ПАРОСОЧЕТАНИЕ.
364 А. Приложение. Список NP-полных задач
Комментарий. Задача остается NP-полной даже в том случае,
когда Af-верхнетреугольная матрица.
[РАЗ 13] ПОКРЫТИЕ МАТРИЦЫ
УСЛОВИЕ. Заданы матрица А = (а,/) размером яХп с неот-
неотрицательными целыми элементами и целое число К-
ВОПРОС. Существует ли такое отображение f: {1,2, ..., п}->
-Ч-l.+l}, что
? atif(i)fU)>K?
Источник [152]. К этой задаче сводится МАКСИМАЛЬНЫЙ
РАЗРЕЗ.
Комментарий. Задача NP-полна в сильном смысле и остается
таковой даже в том случае, если требовать положительной оп-
определенности матрицы А.
[РАЗ 14] ПРОСТО ОТКЛОНЯЕМЫЕ ДИЗЪЮНКЦИИ
УСЛОВИЕ. Задан набор М m-мерных векторов (Mi[1],
Mi [2], ..., Mi [m]), 1 ^ i ^ n, координаты которых прини-
принимают значения 0, 1 или х.
ВОПРОС. Существует ли такое разбиение множества {1,2, ...
..., гп} на непересекающиеся подмножества /, / и такое ото-
отображение /: {1,2 т}-у{0, 1}, что если Ф обозначает фор-
формулу V (М [/] = / (/)), а У - формулу V (М [/] = / (/)), то Ф и V
просто отклоняемы в Л4? (Дизъюнкции Ф и W называют-
называются просто отклоняемыми в М, если произведение числа таких
Mi е М, что Ф и f истинны для Mi, с числом таких Mi e M,
что Ф и f ложны для Mi, больше произведения числа таких
Mi е М, что Ф истинна, a W ложна для Mi, с числом таких
Mi е М, что Ф ложна, а Ч истинна для Mi.) Определение по-
понятия "простой отклоняемости" взято из работы [205].
Источник [438]. К этой задаче сводится МАКСИМАЛЬНЫЙ
РАЗРЕЗ.
Комментарий. Задача остается NP-полной даже тогда, когда
/(/)=! при 1 ^ / ^ т. Если все Mi[j] принимают значения 0
или 1, то задача разрешима за полиномиальное время. Другие
близкие результаты можно найти во второй из указанных выше
работ.
[РАЗ 15] ДЕРЕВО РЕШЕНИЙ
УСЛОВИЕ. Заданы конечное множество объектов X, набор
Т = {ТиТ2, ..., Тт} бинарных тестов 7,: *->-{0, 1}, положи-
положительное целое число К-
A12. Разное 365
ВОПРОС. Существует ли для X дерево решений с использова-
использованием тестов Ti, обладающее внешним путем длины, не превос-
превосходящей /С? (Деревом решений называется бинарное дерево,
в котором каждая "невисячая вершина" (не лист) помечена
каким-либо тестом из Т, а каждая "висячая вершина" помечена
каким-либо объектом из X. При этом предполагается также,
что ребро, ведущее от "невисячей вершины" к ее левому по-
потомку, помечено 0, а к правому—1, а также если Г,,, Otl, 7\2,
Oi% Tik, Oik—последовательность меток вершин и ребер на
некотором пути, ведущем из корня к некоторой "висячей вер-
вершине", помеченной объектом *еХ, то х — единственный объ-
объект, для которого при всех /, 1 ^ /' ^ k, выполнено соотноше-
соотношение TtAx) = Ot.. Общей длиной внешнего пути такого дерева
называется сумма по всем листьям числа ребер в пути от корня
до этого листа.)
Источник [243]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной даже в том случае,
когда для каждого теста 7\- е Т существует не более трех
объектов *е X, таких, что Ti(x) = 1.
[РАЗ 16] ЛОГИЧЕСКИЙ ПОДГРАФ
УСЛОВИЕ. Задан ориентированный ациклический граф G =
= (V,А), имеющий ровно одну вершину sg V со степенью за-
захода, равной нулю; для каждой вершины iieV, степень вы-
выхода которой больше нуля, задано значение Ди)е{и, или}, за-
заданы также вес m(a)EZ+ каждой дуги и целое положительное
число К-
ВОПРОС. Существует ли в графе G такой подграф G'= (V, A'),
что A) se V; B) если иеУ'и /(до) = и, то все дуги (из мно-
множества А), исходящие из и, содержатся в А'\ C) если oeF
и f (v) = или,то по крайней мере одна из дуг (множества А), ис-
исходящих из v, принадлежит А'; D) сумма весов дуг из мно-
множества А' не превосходит Ю
Источник [463]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной и тогда, когда
до(а)=1 для всех аеЛ [152]. Для корневых деревьев задача
решается за полиномиальное время методом динамического про-
программирования.
[РАЗ 17] ВЫЯВЛЕНИЕ НЕИСПРАВНОСТИ
В ЛОГИЧЕСКОЙ СЕТИ
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= (V,A) с единственной вершиной v* e V, имеющей степень
Збб А. Приложение. Список NP-полных задач
выхода 0; отображение /: (V\{v*})-*•{/, и, или, не}, такое, что
из f(v) = I следует, что степень захода вершины v равна 0, из
/(и) = не следует, что степень захода вершины v равна 1, из
Дс) = и (или /(и) = или) следует, что степень захода вер-
вершины v равна 2; задано также подмножество V"? V.
ВОПРОС. Можно ли любую одиночную неисправность среди
вершин из множества V выявить путем экспериментов со вхо-
входами и выходами? Иными словами, рассмотрим G как логиче-
логическую сеть со входными вершинами /, выходом v* и логическими
элементами для реализации функций и, или, не, помещенными
в соответствующие вершины. Можно ли для каждой вершины
uet" и каждого хе{Т, F] сопоставить каждой вершине из /
такое значение из множества {Т, Е}, что выход сети на этом
входе отличается от выхода той же сети, в которой логический
элемент в вершине v "застопорился" в состоянии х?
Источник [250]. К этой задаче сводится 3-ВЫП.
Комментарий. Задача остается NP-полной даже тогда, когда
V = V или если V содержит ровно одну вершину, для кото-
которой f(v)=I.
[РАЗ 18] ВЫЯВЛЕНИЕ НЕИСПРАВНОСТИ
В ОРИЕНТИРОВАННОМ ГРАФЕ
УСЛОВИЕ. Заданы ориентированный ациклический граф G =
= (V,А) (где выделены множество вершин /sV со степенью
захода 0 и Ое V — множество вершин со степенью выхода 0),
а также положительное целое число К-
ВОПРОС. Существует ли "множество тестов" мощности, не
превосходящей К, позволяющее определить любую "одиночную
неисправность" в G? Иными словами, существует ли такое под-
подмножество ГеГХО, что |Г|^/С и для каждой вершины
веУ существует пара {u\,U2)^.T, для которой вершина v на-
находится на одном из ориентированных путей из и\ в иг?
Источник [247]. К этой задаче сводится ТП-3.
Комментарий. Задача остается NP-полной, даже если |О|=1.
Вариант этой задачи, в котором ищется множество Т, позво-
позволяющее "локализовать" одиночную неисправность (т. е. такое
множество тестов Т, что для каждой пары вершин и, v' e V
существует тест («i,m2)^ T, при котором v находится на одном
из ориентированных путей из и\ в и%, a v' не находится), также
является NP-полным для |О|=1. Если /С^|/|-|О], то обе
задачи решаются за полиномиальное время.
A.13. Открытые задачи 367
[РАЗ 19] ВЫЯВЛЕНИЕ НЕИСПРАВНОСТИ
С ПОМОЩЬЮ ТЕСТОВЫХ ТОЧЕК
УСЛОВИЕ. Заданы ориентированный ациклический граф G ==
= (V, А) (имеющий ровно одну вершину s e V со степенью за-
захода, равной 0, и ровно одну вершину /el' со степенью вы-
выхода, равной 0), а также положительное целое число К.
ВОПРОС. Можно ли любую "одиночную неисправность" в О
локализовать с помощью "подсоединения" к дугам из А не бо-
более К "тестовых точек" (т. е. существует ли такое подмно-
подмножество А' ^А, что |/4'|^ К и множество тестов
Т = ({s} U {«,: (п.. «г) е А'})Х№ U Ы (««. «г) е Л'})
обладает тем свойством, что для каждой пары вершин v, v' s
е V\{s,/} существует такой тест («i,«j)er, что v находится
на одном из ориентированных путей, ведущих от и\ к «г, a w'
не находится)?
Источник [247]. К этой задаче сводится ТП-3.
Комментарий. Варианты этой задачи, в которых требуется ло-
каллзовать все одиночные неисправности с использованием не
более К "тестовых соединений" или "блокирующих элементов",
также являются NP-полными. То же самое верно для задачи
отыскания при наличии "тестовых точек", "тестовых соедине-
соединений" или "блокирующих элементов" такого множества тестов
Т, что |Г|<:/(. (Дальнейшие уточнения см. в указанной выше
работе.)
А13. ОТКРЫТЫЕ ЗАДАЧИ
[03 11 ИЗОМОРФИЗМ ГРАФОВ
УСЛОВИЕ. Заданы два графа Gi = (Vi,?i) и G2 = (Vt, Ег).
ВОПРОС. Верно ли, что графы Gi и Ga изоморфны? Иначе го-
говоря, существует ли такая взаимно-однозначная функция
/: V\-+V2, что {и, v}^Ei тогда и только тогда, когда {/(«),
f()}??
Комментарий1). Задача остается открытой и в том случае, если
G\ и (?2 принадлежат к следующим типам графов: регулярные,
двудольные, графы линий, графы сравнимостей, графы хорд,
графы неориентированных путей (т. е. графы пересечений для
множества путей в неориентированном дереве), см. [209, 23, 52,
386]. Задача разрешима за полиномиальное время для планар-
ных графов (см., например, [216]) и для графов интервалов.
•) Ряд частных случаев задачи ИЗОМОРФИЗМ ГРАФОВ, разрешимых
за полиномиальное время, можно найти в работах [7*, J0*, I*, 4*, 9*].—
Дополнение цеторор.
368 А. Приложение. Список tiP-полных задач
Для "транзитивных по дугам" кубических графов задача ле-
лежит в классе NPDco-NP [386]. Задаче ИЗОМОРФИЗМ ГРА-
ГРАФОВ полиномиально эквивалентны следующие задачи: изомор-
изоморфизм ориентированных графов, изоморфизм бесконтекстных
грамматик [235], изоморфизм конечно-определенных алгебр
[300], изоморфизм полугрупп [52], изоморфизм конъюнктив-
конъюнктивных запросов [67], изоморфизм графа своему дополнению [86],
изоморфизм и задача о вычислении числа различных изомор-
изоморфизмов между Gi и G2 [24,375]. Частный вариант задачи
КЛИКА, полиномиально эквивалентный задаче ИЗОМОРФИЗМ
ГРАФОВ, указан в работе [304]. Задачи об изоморфизме групп
и латинских квадратов могут быть решены за время O(nlog")
[387] и, видимо, проще задачи ИЗОМОРФИЗМ ГРАФОВ.
[03 2] ПОДГРАФ, ГОМЕОМОРФНЫИ
ФИКСИРОВАННОМУ ГРАФУН
УСЛОВИЕ. Задан граф G=(V,E).
ВОПРОС. Содержит ли G подграф, гомеоморфный графу И
(т. е. такой подграф G' = (V, Е'), который может быть преоб-
преобразован в граф, изоморфный графу Я последовательностью за-
замен вершин степени 2 на ребро, соединяющее ее соседей)?
Комментарий'1). Если включить Я в качестве дополнительной
переменной в условие задачи, то задача станет NP-полной, по-
поскольку в качестве частного случая она будет содержать за-
задачу ГАМИЛЬТОНОВ ЦИКЛ. Для некоторых фиксированных
графов Я (например, если Я— треугольник) задача разрешима
за полиномиальное время. Существует ли некоторый фиксиро-
фиксированный граф Я, для которого задача NP-полна? Если такого
графа не существует, то можно ли указать конкретный граф
Я = (?/, F), для которого NP-полна следующая, близкая по
смыслу задача: "Заданы граф G=(V, E) и взаимно-однознач-
взаимно-однозначное отображение f:U-*-V. Существует ли подграф G' = (V, Е'),
который указанным выше способом можно преобразовать в
граф, изоморфный Я, причем так, чтобы отображение / осу-
осуществляло искомый изоморфизм?" Известно, что эта последняя
задача также является NP-полной, если граф Я не фиксиро-
фиксировать, а включить в условие задачи (поскольку эта задача со-
содержит в качестве частного случая задачу НЕПЕРЕСЕКАЮ-
НЕПЕРЕСЕКАЮЩИЕСЯ СОЕДИНЯЮЩИЕ ПУТИ). Для некоторых конкрет-
конкретных графов Я, например "треугольник" и "два различных реб-
ребра", найдено несколько сложных полиномиальных алгоритмов
[321, 487]. Не известно, существует ли конкретное целое число
') Для ориентированных графов аналогичная задача решена в работе
[2*]. Была получена полная характеризация графов Н, для которых эта
задача NP-полна или разрешима за полиномиальное время. — Дополнение
авторов.
A.13. Открытые задачи 369
К, такое, что для графа Н, состоящего из К непересекающихся
ребер, задача NP-полна.
[03 3] РОД ГРАФА
УСЛОВИЕ. Заданы граф G=(V,E), положительное целое
число К.
ВОПРОС. Можно ли граф G так вложись в поверхность рода
К, что никакие два ребра не пересекутся?
Комментарий. При К = 0 (в этом случае вопрос заключается
в планарности графа G) задача разрешима за полиномиальное
время (см., например, [213]). Полиномиальный алгоритм для
кубических графов и /С = 1 анонсирован в работе [123], а в ра-
работе [443] предложен полиномиальный алгоритм для произ-
произвольных графов и любого фиксированного значения К- Кроме
того, для некоторых специальных классов графов, в том числе
для клик, кубов и полных двудольных графов, получены про-
простые замкнутые формулы для рода (см., например, [196]).Хотя
для произвольных G и К рассматриваемая задача в настоящее
время является открытой, тесно связанная с ней задача ПРО-
ПРОДОЛЖЕНИЕ ВЛОЖЕНИЯ (в которой по заданным G, К и
вложению подграфа графа G в поверхности рода К требуется
выяснить, можно ли продолжить заданное вложение на весь
граф)—NP-полна [443]. К числу открытых задач, обобщающих
задачу о планарности графа, относятся следующие задачи:
"Верно ли, что граф G имеет не более К пересечений, т. е.
можно ли G так вложить в плоскость, что будут пересекаться
не более К пар ребер?", "Вернр ли, что толщина графа G не
превосходит К, т. е. можно ли множество Е так разбить на не-
непересекающиеся множества Е\, Е2, .... Ek, k^ К, чтобы каж-
каждый из подграфов G =(V,Ei) был планарен?" К числу близких
NP-полных задач относятся задачи ПЛАНАРНЫИ ПОДГРАФ
и ИНДУЦИРОВАННЫЙ ПЛАНАРНЫИ ПОДГРАФ (см. за-
задачу ИНДУЦИРОВАННЫЙ ПОДГРАФ СО СВОЙСТВОМ П).
[03 4]ПОПОЛНЕНИЕ ДО ТРИАНГУЛИРОВАННОГО
ГРАФА
УСЛОВИЕ. Заданы граф G=(V,E) и положительное целое
число К-
ВОПРОС. Существует ли множество Е' неупорядоченных пар
вершин из V, содержащее множество Е и удовлетворяющее ус-
условию \Е — Е'\^К, такое, что граф С —(V, ?') — триангули-
триангулированный, т. е. такой, что для любого простого цикла, содержа-
содержащего более трех вершин, существует ребро, не принадлежащее
циклу, но соединяющее некоторые две его вершины?
Комментарий. Эта задача эквивалентна неориентированному
варианту задачи (ТГ 46] и соответствует минимизации
370 А. Приложение. Список NP-полных задач
"заполненности" матрицы при применении исключения по Гаус-
Гауссу к симметрической матрице (см., например, [455]). Другая
характеризация транзитивных графов дана в работе [166].
[03 5] ХРОМАТИЧЕСКИЙ ИНДЕКС1
УСЛОВИЕ. Заданы граф G =(V, Е) и положительное целое
число К-
ВОПРОС. Верно ли, что хроматический индекс графа G не пре-
превосходит Ю Иначе говоря, существует ли такое разбиение мно-
множества Е на непересекающиеся подмножества Е\, ?г, .... ?*,
где k ^ К, что для всех i, I ^ i ^ к, никакие два ребра из ?<
не имеют в С общего конца?
Комментарий. В силу теоремы Визинга [35], хроматический
индекс графа G равен либо А, либо h-\-l, где к — максимум
степеней вершин в графе G. Поэтому задача может быть пере-
переформулирована так: "Задан граф G. Верно ли, что хроматиче-
хроматический индекс графа G равен максимуму степеней вершин?" Для
двудольных графов ответ всегда положителен [35], причем су-
существуют полиномиальные алгоритмы для того, чтобы в этом
случае построить искомое разбиение (см., например, [133]).
Частный класс графов, для которого задача открыта, — куби-
кубические графы (т. е. регулярные графы степени 3). В последнем
случае задачу можно переформулировать следующим образом:
"Задан граф G. Можно ли вершины графа G покрыть простыми
непересекающимися циклами, имеющими четное число вер-
вершин?" Последняя задача — одна из многих открытых задач,
связанных с паритетом. Другая задача этого типа формули-
формулируется так: "Задана система С подмножеств конечного множе-
множества X. Существует ли такая непустая подсистема С s С, что
каждый элемент леЛ принадлежит четному числу (может
быть и не одному) подмножеств из С?" Последняя задача эк-
эквивалентна открытой задаче, упомянутой в комментарии к за-
задаче ДЕКОДИРОВАНИЕ ЛИНЕЙНЫХ КОДОВ.
[03 6] ОСТОВНОЕ ДЕРЕВО С ПАРИТЕТОМ2
УСЛОВИЕ. Заданы граф G=(V,E) и разбиение множества Е
на непересекающиеся двухэлементные множества Е\,Е2, .... Ет.
ВОПРОС. Существует ли в G такое остовное дерево Т —
= (V, E'), что для всех i,-l^i^m, выполнено условие: или
Ei <= Е' или Ei П Е' = 0?
') В работе [5*] к этой задаче была сведена задача 3-ВЫП, что дока-
доказывает NP-полноту задачи ХРОМАТИЧЕСКИЙ ИНДЕКС. Эта задача оста-
остается NP-полной даже для кубических графов. — Дополнение авторов.
2) В работе [8*] было доказано, что эта задача, как и общая задача
о паритете для «представимых» матроидов, разрешима за полиномиальное
время. — Дополнение авторов.
АЛ. Открытые задачи 371
Комментарий. Эта задача представляет собой типичный част-
частный случай задачи "матроид с паритетом" (см., например,
[324]). Последняя задача сама есть обобщение задач о паро-
сочетании в графе и о пересечении двух матроидов, которые
разрешимы за полиномиальное время (в случае матроида не-
необходимо предположение о существовании полиномиального
алгоритма, распознающего в матроиде независимые множе-
множества). Близкая задача об "остовном дереве со многими выбо-
выборами", в которой ищется такое остовное дерево 7 = (V, Е'),
что в Е' содержится, самое большее, один элемент из каждого
множества ?;, представляет собой частный случай задачи о пе-
пересечении двух матроидов и, следовательно, может быть решена
за полиномиальное время (см. задачу ВЕТВЛЕНИЕ С МНО-
МНОГИМИ ВЫБОРАМИ).
[03 7] РАЗМЕРНОСТЬ ЧАСТИЧНОГО УПОРЯДОЧЕНИЯ
УСЛОВИЕ. Заданы ориентированный ациклический транзитив-
транзитивный граф G = (V,А) (граф G называется транзитивным, если
из того, что (и, o)Ei4 и (v, ш)еЛ, следует, что (и, ш)е=Л),
а также положительное целое число К ^ | V\a.
ВОПРОС. Существует ли набор, включающий не более К ли-
линейных упорядочений множества V, такой, что (и, »)еД тогда
и только тогда, когда и меньше v в смысле каждого из задан-
заданных упорядочений?
Комментарий. При К = 2 задача решается за полиномиальное
время [327]. Для произвольного К и для фиксированного
К ^ 3 в настоящее время она является открытой.
[03 8] РАСПИСАНИЕ С ОТНОШЕНИЕМ
ПРЕДШЕСТВОВАНИЯ ДЛЯ ТРЕХ ПРОЦЕССОРОВ
УСЛОВИЕ. Заданы множество Т заданий единичной длитель-
длительности, частичный порядок <• на множестве Т и директивный
срок D e Z+.
ВОПРОС. Можно ли составить такое расписание выполнения
заданий из множества Г на 3 процессора, что выполняются все
условия предшествования и директивный срок D не будет на-
нарушен? Иными словами, существует ли такое расписание
а: Т-*~{0, 1, ..., D—1}, что соотношение t<-t' влечет нера-
неравенство a(t) < o(f) и для любого /, 0 sg: i ^ D— 1, имеется не
более трех заданий fe= T, таких, что o{t)= »"?
Комментарий. Аналогичная задача для двух процессоров ре-
решается за полиномиальное время [131,85], даже когда каждое
задание имеет индивидуальный директивный срок и момент по-
поступления [147]. Если число процессоров входит в условие как
параметр,то задача является NP-полной [518]. Дополнительные
372 А. Приложение. Список NP-полных задач
подробности указаны в комментарии к задаче РАСПИСА-
РАСПИСАНИЕ С ОТНОШЕНИЕМ ПРЕДШЕСТВОВАНИЯ. Не известно,
существует ли конкретное значение К, для которого вариант
этой задачи с К процессорами NP-полон.
[ОЗ 9] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ1
УСЛОВИЕ. Заданы целочисленные векторы V,- = (u«[l],
vi [2] v,[n]), 1^/</п, D=(dud2, .... d«), C =
= {cu ci cn) и целое число В.
ВОПРОС. Существует ли такой вектор X = (x\,Xi хп)
с рациональными координатами, что для всех /, 1 ^ i ^ т, вы-
выполнены неравенства VfX ^ d,- и С-Х ^ В?
Комментарий. Задача лежит в пересечении NP f) co-NP (при-
(принадлежность классу co-NP следует из фундаментальной тео-
теоремы двойственности линейного программирования). Для лю-
любого фиксированного пг она разрешима за полиномиальное вре-
время. Имеется много вариантов задачи линейного программиро-
программирования, полиномиально эквивалентных ей (см., например, [448]).
Один из них получается, если из условия изъять вектор С, а из
вопроса — неравенство СХ^В (см. также [412]). Примеры
задач о потоках в сетях, полиномиально эквивалентных задаче
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ, упомянуты в коммен-
комментариях к задачам НЕОРИЕНТИРОВАННЫЙ ПОТОК С НИЖ-
НИЖНЕЙ ОЦЕНКОЙ, ПОТОК В СЕТИ С ОГРАНИЧЕНИЯМИ
НА ПУТИ и ДВУХПРОДУКТОВЫЙ ЦЕЛОЧИСЛЕННЫЙ
ПОТОК. Обобщение задачи ЛИНЕЙНОЕ ПРОГРАММИРОВА-
ПРОГРАММИРОВАНИЕ— задача "линейная дополнительность" хотя и лежит в
классе NP, но в настоящее время остается открытой2) [397].
[03 10] АБСОЛЮТНАЯ УНИМОДУЛЯРНОСТЬ3
УСЛОВИЕ. Задана матрица М размером mXnc элементами
из множества {—1,0, 1}.
ВОПРОС. Верно ли, что М — не вполне унимодулярная мат-
матрица? Иными словами, существует ли в М квадратная подмат-
подматрица, определитель которой не принадлежит множеству
{-1,0,1}?
') Л. Г. Хачиян [6*] доказал, что эта задача лежит в классе Р. При-
Примененный при этом метод эллипсоидов получил широкое освещение даже
в популярных изданиях. Однако практическое значение этого метода еще
предстоит выяснить [3*]. — Дополнение авторов.
2) Задача линейная дополнительность NP-полна. На этот факт нам ука-
указали несколько специалистов. — Дополнение авторов.
8) В работе [11*] дана элементная теорема о характеризации абсолютно
унимодулярных матриц и на ее основе построен полиномиальный алгоритм
решения задачи АБСОЛЮТНАЯ УНИМОДУЛЯРНОСТЬ. — Дополнение ав-
авторов.
A.18. Открытые задачи 373
Комментарий. Задача открыта и в том случае, когда все эле-
элементы матрицы М принадлежат множеству {0, 1}. Значение
вполне унимодулярных матриц для целочисленного программи-
программирования обсуждается, например, в работе [324] и книге [161]').
[03 11] СОСТАВНОЕ ЧИСЛО
УСЛОВИЕ. Задано положительное целое ч"исло N.
ВОПРОС. Существуют ли такие целые числа тип (т, п > 1),
что N = т-п?
Комментарий. Задача лежит в пересечении NPf|co-NP [434].
Несмотря на то что для ее решения не известно полиномиаль-
полиномиального алгоритма, известен алгоритм, работающий полиномиаль-
полиномиальное время в предположении истинности "расширенной гипоте-
гипотезы Римана" [385]. Такой алгоритм, однако, не известен для
отыскания простых делителей числа N. Последняя задача мо-
может оказаться труднее соответствующей задачи распознавания.
Конечно, все эти задачи легко решаются за псевдополиномиаль-
псевдополиномиальное время.
[03 12] ТРИАНГУЛЯЦИЯ МИНИМАЛЬНОЙ ДЛИНЫ
УСЛОВИЕ. Заданы набор С — {(at, bi): I ^ / ^ п} пар целых
чисел (определяющих координаты п точек плоскости) и поло-
положительное целое число В.
ВОПРОС. Существует ли триангуляция множества точек, опре-
определяемого набором С, общая "дискретно-евклидова" длина ко-
которой не превосходит В? (Триангуляцией называется набор не-
непересекающихся прямолинейных .отрезков, соединяющих по две
точки из С каждый, который разбивает внутренность выпук-
выпуклой оболочки множества С на треугольники. Дискретно-евкли-
Дискретно-евклидова длина отрезка, соединяющего точки (ai, &,) и (а/, Ь/), оп-
определяется формулой Г((а< — OjJ+(bi — &/J)|/21, а общая
длина триангуляции есть сумма длин, образующих ее отрез-
отрезков.)
Комментарий. Аналогичная задача для метрики типа L\ также
открыта. В работе [359] приведены контрпримеры, опровергаю-
опровергающие несколько предположений о полиномиальности ряда алго-
алгоритмов решения этой задачи, и показано, что близкая задача
ОГРАНИЧЕННАЯ ТРИАНГУЛЯЦИЯ является NP-полной.
') См. также [226]. — Прим. ред.
ЛИТЕРАТУРА
1. Abdel-Wahab, H. M. [1976], Scheduling with Applications to Register Allocation and
Deadlock Problems, Doctoral Thesis, Dept. of Electrical Engineering, University
of Waterloo, Waterloo, Ontario. (ASA)
2. Abdel-Wahab, H. M., and T. Kameda 11978], "Scheduling to minimize max-
maximum cumulative cost subject to series-parallel precedence constraints," Opera-
Operations Res. 26, \4\-\SS. (A5.1)
3. Adleman, L., and K. Manders [1977], "Reducibility, randomness, and intracta-
intractability (Abstract)," Proc. 9th Ann. ACM Symp. on Theory of Computing, Associa-
Association for Computing Machinery, New York, 151-163. G.1)
Adleman, L. See also Manders, K.
4MD0LPHS0N, D. [1977], "Single machine job sequencing with precedence con-
constraints," SIAMJ. Comput. 6, 40-54. (A5.1)
5.ADOLPHSON, D., and Т. С. Ни [1973], "Optimal linear ordering," SIAMJ. Appl.
Math. 25, 403-423. (A1.3; A5.1)
6. AHO, A. V., M. R. Garey, and F. K. Hwang [1977], "Rectilinear Steiner trees:
efficient special case algorithms," Networks 7, 37-58. (A2.1)
7. Aho, A. V., M. R. Garey, and J. D. Ullman [1972], "The transitive reduction of
a directed graph," SIAMJ. Comput. 1, 131-137. (A1.2)
fl. Aho, A. V., J. E. Hopcroft, and J. D. Ullman [1968], "Time and tape complexi-
complexity of pushdown automaton languages," Information and Control 13, 186-206.-
(A10.1)
9, AHO, A. V., J. E. Hopcroft, and J. D. Ullman [1974], The Design and Analysis of
Computer Algorithms, Addison-Wesley, Reading, MA. A.3; 2.3; 4.0; 6.1; 7.4)
10. Aho, A. V., S. С Johnson, and J. D. Ullman [1977a], "Code generation for ex-
expressions with common subexpressions," J. Assoc. Comput. Mach. 24, 146-160.
(All.l)
11. Aho, A. V., S. С Johnson, and J. D. Ullman [1977b], private communication.
(A U.I)
12. Aho, A. V., Y. Sagiv, and J. D. Ullman [1978], "Equivalences among relational
expressions," unpublished manuscript. (A4.3)
Литература 375
13. Ано, А. V., and R. Strni [1977J, private communication. (.41.4)
34. Ано, А. V., AND J. D. ULLMAN-11972], The Theory of Parsing, Translation, and
Compiling — Volume 1; Parsing, Prentice-Hall, Inc., Englewood Gliffs, NJ.
(A 10.1)
15. Ано, A.-V., AND J. D. Ullman [1977], private communication. (A4.2)
16. ANGLUIN, D. [1976], An Application of the Theory of Computational Complexity to the
Study of Inductive Inference, Doctoral Thesis, Dept. of Electrical Engineering and
Computer Science, University of California, Berkeley, CA. (AI0.2)
17. Angluin, D. [1977], "On the complexity of minimum inference of regular sets,"
unpublished manuscript. (A 10.1; A 10.2)
16. Angluin, D., and L. G. Valiant [1977], Fast probabilistic algorithms for Hamil-
(onian circuits and matchings," Proc. 9th Ann. ACMSymp. on Theory of Comput-
Computing, Association for Computing Machinery, New York, 30-41. F.3)
13. Appel, K., and W. Haken [1977a], "Every planar map is 4-colorable — 1:
Discharging," ///. J. Math. 21, 429-490. D.1)
20. Appel, K., and W, Haken [1977b], "Every planar map is 4-colorable - 2: Reduci-
bilily," ///. / Math. 21, 491-567.-. D.1)
Z\. Araki, Т., Y. Sugiyama, T. Kasami, and J. Okui [1977], "Complexity of the
deadlock avoidance problem," Proc. 2nd IBM Symp. on Mathematical Foundations
of Computer Science, IBM Japan, Tokyo, 229-252. (A5.3)
Araki, T. See also Sugiyama, Y.
22. Arjomandi, E. [1977], private communication. (A1.1J
23. Babai, L. [1976], private communication. G.1; A13)
24. Babai, L. [1977], private communication. (A13)
25. Baker, Т., J. Gill, and R. Solovay [1975], "Relativizations of the P -?NP ques-
question," S1AMJ. Comput. 4, 431-442. G.6)
26. Baker, T. P., and A. L. Selman [1976], "A second step toward the polynomial
hierarchy," Proc. 17th Ann. Symp. on Foundations of Computer Science, IEEE
Computer Society, Long Beach, CA, 71-75. G.6)
27. Ball, M. O. [1977a], Network Reliability and Analysis: Algorithms and Complexity,
Doctoral Thesis, Operations Research Dept., Cornell 'University, Ithaca, NY.
(A2.2)
Z8. Ball, M. O. [1977b], private communication. (A2.2)
29. Barrow, H. G., an» R. M. Burstall [1976], "Subgraph isomorphism, matching
relational structures and maximal cliques," Information Processing Lett. 4, 83-84.
(A 1.4)
30. Bartholdi, J. J., Ill, J. B. Orlin, and H. D. Ratliff [1977], "Circular ones and
cyclic staffing," Report No. 21, Dept. of Operations Research, Stanford Univer-
University, Stanford, CA. (A5.4)
Barzdin, Y, M. See Trakhtenbrot, B. A.
31. Bauer,.M., D. Bran», M. Fischer, A. Meyer, and M. Paterson [1973], "A note
on disjunctive form tautologies," SIGACTNews 5:2, 17-20. 0.4) .
376 Литература
J2.Baxter, L. D. [1976], The Complexity of Unification, Doctoral Thesis, Depl. of
Computer Science, University of Waterloo, Waterloo, Ontario. (A9.2)
SIBaxter, L. D. [1977], "The NP-completeness of subsumption," unpublished
manuscript. (A9.2)
34.Beeri, C, and P. A. Bernstein [1978], "Computational problems related to the
design of normal form relational schemes," unpublished manuscript. (A4.3)
Beeri, C. See also Bernstein, P. A.; Shamir, E.
S&Berge, С [1973], Graphs and Hypergraphs, North-Holland, Amsterdam. (A13)
36.Berger, R. [1966], The Undecidability of the Domino Problem (Mem. Amer. Math.
Soc., No. 66), American Mathematical Society, Providence, RL A.4; A8)
37.Berlekamp, E. R. [1976], private communication. (A2.1;A8)
3&Berlekamp, E. R., R. J. McEliece, and H. С A. van Tilborg [1978], "On the in-
inherent intractability of certain coding problems," IEEE Trans. Information Theory
(to appear). (A 12)
39.Berman, L., and J. Hartmanis [1977], "On isomorphisms and density of NP and
other complete sets," SIAMJ. Comput. 6, 305-322. G.1)
Berman, L. See also Hartmanis, J.
4O.BernstE!N, P. A., and C. Beeri [1976], "An algorithmic approach to normalization
of relational database schemas," Report CSRG-73, Computer Systems Research
Group, University of Toronto, Canada. (A4.3)
Bernstein, P.. A. See also Beeri, C; Papadimitriou, С. Н.
Blattner, W. 0. See Dantzig, G. B.
4LBlazewicz, J. [1976], "Scheduling dependent tasks with different arrival times to
meet deadlines," in H. Beilner and E. Gelenbe (eds.), Modelling and Performance
Evaluation of Computer Systems, North Holland, Amsterdam, 57-65. (A5.1)
42.Blazewicz, J. [1977a], "Mean flow time scheduling under resource constraints,"
Report No. PR-19/77, Institute of Control Engineering, Technical University of
Poznan, Poland. (AS.2)
43.Blazewicz, J. [1977b], "Scheduling with deadlines, and resource constraints," Re-
Report PR-25/77, Institute of Control Engineering, Technical University of
Poznan, Poland. (A5.2)
44.Blazew[cs, J. [1978], "Deadline scheduling of tasks with ready times and resource
constraints," unpublished manuscript. (A5.2)
45.Boesch, F. Т., S. Chen, and J. A. M. McHugh [1974], "On covering the points of
a graph with point disjoint paths," in Graphs and Combinatorics (Proc. Capitol
Conf. on Graph Theory and Combinatorics), Lecture Notes in Math., Vol. 46,
Springer, Berlin, 201-212. (A1.2)
46.BOOK, R. V. [1972], "On languages accepted In polynomial time," SIAM J. Com-
Comput. 1,281 -287. G.5;A10.1)
47.BOOK, R. V. [1974], "Comparing complexity classes," J. Comput. System Sci 9,
213-229.. G.5)
•W.BOOK, R. V. [1976], "Translalional lemmas, polynomial time, and (logrt)'-space,"
Theor. Comput. Sci. 1, 215-226. G.5)
Литература 377
¦W.Boojc, R. V. [1978J, "On the complexity of formal grammars," Acta Inform'- 9,
171-182. (A10.2)
50. BOOK, R. V., and S. Greibach [19701, "Quasi-realtime languages," Math. Systems
Theory 4,9ЫП. (А10.1)
51. Booth, K. S. [1975], PQ Tree Algorithms, Doctoral Thesis, Dept. of Electrical En-
Engineering and Computer Science, University of California, Berkeley, CA. (A4.2)
51.Booth, K. S. [1978], "Isomorphism testing for graphs, semigroups, and finite auto-
automata are polynomial^ equivalent problems," SIAMJ. Comput. 7, 273-279. G.1;
AW
53. Booth, K. S., and.G. S. Lueker [197S], "Linear algorithms to recognize interval
graphs and test for the consecutive ones property," Proc. 7th Ann. ACM Symp.
on Theory of Computing, Association for Computing Machinery, New York,
255-265. (A13)
5*.Booth, K. S., and G. S. Lueker [1976], "Testing for the consecutive ones proper*
ty, interval graphs, and graph planarity using PQ-tree algorithms," J. Comput.
System Sci. 13,335-379. (A1.2)
55.BOROSH, I., and L. B. Treybig [1976], "Bounds on positive integral solutions of
linear Diophantine equations," Proc. Amer. Math. Soc. 55, 299-304. (A6)
Brand, D. See Bauer, M.
56.Brooks, R. L. 11941], "On coloring the nodes of a network," Proc Cambridge Phi'
bs. Soc. 37, 194-197. D.1; Al.l)
5ZBRUCKER, P. [1978], "On the complexity of clustering problems," in R. Henn, B.
Korte, and W. Oletti (eds.), Optimierung und Operations Research, Lecture Notes
in Economics and Mathematical Systems, Springer, Berlin (to appear). (A 12)
58.Brucker, P., M. R. Garey, and D. S. Johnson [1977], "Scheduling equal-length
tasks under treelike precedence constraints to minimize maximum lateness,"
Math. Oper. Res. 2, 275-284. (A5.2)
Brucker, P. See also Lenstra, J. K.
59. Bruno, J., E. G. Coffman, Jr, and R. Sethi [1974]', "Scheduling independent
tasks to reduce mean finishing time," Comm. ACM 17, 382-387. (A5.2)
60.Bruno, J., and P. Downey [1978], "Complexity of task scheduling with deadlines,
set-up times and changeover costs," SIAMJ. Comput (to appear). (AS.l)
61.BRUNO, J., and R. Sethi [1976], "Code generation for a one-register machine," /.
Assoc. Comput- Mach. 23, 502-510. (AU.l)
62.BRUNO, J., and L. Weinbero [1970], "A constructive graph-theoretic solution of
the Shannon switching game," IEEE Trans. Circuit Theory CT-17, 74-81.- (A8)
Burkhard, W. A. See Walsh, A. M.
63.BURR, S. [1976], private communication. (Al.l)
«.Burr, S., P.Erdos, and L. Lovasz [1976]'; "On graphs of Ramsey type." Ars
Combinatorica 1,167-190. (Al.l)
Burstall, R. M. See Barrow, Ц. G.
65.Caruer, J. [1978], "Probleme a une machine," Report No. 78.05, Institut de Pro-
grammation, Universi'te de Pierre et Marie Curie, Paris, France. (A.S.I)
378 Литература
G6.CHAN, Т. 11977], "An algorithm for checking PL/CV arilhmelic inferences," Re-
Report No. 77-326, Dept. of Computer Science, Cornell University, Ithaca, NY.
(A9.2)
B7.CHANDRA, A. K., and P. M. Merlin [1977], "Optimal implementation of conjunc-
conjunctive queries in relational-data bases," Proc. 9th Ann. ACM Symp. on Theory of
Computing, Association for Computing Machinery, New York, 77-90. (A4.3;
A13)
68.CHANDRA, A. K., and L. J. Stockmeyer [1976], "Alternation," Proc. 17th Ann.
Symp. on Foundations of Computer Science, IEEE Computer Society, Long Beach,
CA, 98-108. G.6)
Chandra, A. K. See also Stockmeyer, L. G.
Chandy, К. М. See van Sickle, L.
Chen, S. See Boesch, F. T.
(й.Сно, Y., and S. Sahni 11978), "Preemptive scheduling of independent jobs with
release and due limes on open, flow, and job shops," unpublished manuscript.
(AS.3)
Cho', Y. See also Sahni, S.
70.Choms.KY, N.. and G. A. Miller [1958], "Finite state languages," Information and
Control 1,91-112. (AJ0.2)
71.Christofides, N. [1976], "Worst-case analysis of a new heuristic for the travelling
salesman problem," Technical Report, Graduate School of Industrial Adminis-
Administration, Carnegie-Mellon University, Pittsburgh, PA. F.1)
72.Chung, F. R. K., and R. L. Graham [1977], private communication. (A1.2)
73.Chvatal, V. [1973], "On the computational complexity of finding a kernel," Re-
Report No. CRM-300, Centre de Recherches Mathematiques, Universiie de
Montreal. (A1.5)
74.Chvatal, V. [1975], "On certain polytopes associated with graphs," J. Combinatori-
Combinatorial Theory Ser. В 18, 138-154. (A6)
75.Chvatal, V. [1976], private communication. (AI.2; A1.3)
75.CHVATAL, V. [1977], "Determining the stability number of a graph," SIAM J.
Comput. 6, 643-662. G.6)
7ZCiivatal, V. [1978], private communication. (A3A)
78.ChvataL, V., and P. L. Hammer.[1975], "Aggregation of inequalities in integer
programming," Report No. STAN-CS-75-518, Computer Science' Dept., Stan-
Stanford University, Stanford. CA. (A 1.5)
79.CHVATAL, V., and G. Thomassen [1978], "Distances in orientations of graphs," J.
Combinatorial Theory Ser. В 24, 61-75. (A1.5)
60.COBHAM, A. [1964], "The intrinsic computational difficulty of functions," in Y.
Bar-Hillel (ed.), Proc. 1964 International'Congress for Logic Methodology and Phi-
Philosophy of Science, North Holland, Amsterdam, 24-30. A.3; 5.2)
BI.Cockayne, E., S. Goodman, and S. Hedetniemi [1975], "A linear algorithm for
the domination number of a tree," Information Processing Lett. 4, 41-44. (Al.l)
aiCocKAYNE, E. J., and S. T. Hedetniemi [1975], "Optimal domination in graphs,"
IEEE Trans. Circuits and Systems CAS-22, 855-857. (A 1.1)
Литература 379
81C0CKAYNE, Е. J., S. Т. Hedetniemi, and P. J. Slater [1978], private communica-
communication. (A2.S)
W,Cody, R. A., and E. G. Coffman, Jr [1976], "Record allocation for minimizing
expected retrieval costs on drum-like storage devices," J. Assoc. Comput.
Mach. 23,103-115. (A4.1)
85.Coffman, E. G., Jr, and R. L. Graham [1972], "Optimal scheduling for two-
processor systems," Acia Informal. 1, 200-213. (A5.2;A13)
Coffman, E. G., Jr. See also Bruno, J.; Cody, R. A.; Muntz, R. R.
W.COLBOURN, M. J., and С J. Colbourn [1978]; "Graph isomorphism and self-
complementary graphs," SIGACTNem 10:1, 25-29. (AW
Colbourne, С J. See Colbourne, M. J.
SZComer, D., and R. Sethi [1976], "Complexity of Trie index construction (Extend-
ed abstract)," Proc, 17th Ann. Symp. on Foundations of Computer Science, IEEE
Computer Society, Long Beach, CA, 197-207. (A4.1)
«.Constable, R. L., H. B. Hunt, HI, and S. Sahni [1974], "On the computational-
complexity of scheme equivalence," Report No. 74-201 ,'Dept. of Computer Sci-
Science, Cornell University, Ithaca, NY. (Extended abstract appeared in Proc. Sth
Am. Princeton Conf. on Information Sciences and Systems, Dept. of Electrical En-
Engineering, Princeton University, Princeton, NJ, 15-20). (A4.2; AJ1.2)
69. Con way, J. H. [1976], On Numbers and Games, Academic Press, New York. (AS)
90.CONWAY, R. W., W. L. Maxwell, and L. W. Miller [1967], Theory of Scheduling,
Addison-Wesley, Reading, MA. (AS. 2)
SI.Cook, S. A. [1971a], "The complexity of theorem-proving procedures," Proc. 3rd
Ann. ACM Symp, on Theory of Computing, Association for Computing
Machinery, New York, 151-158. A.5; 2.6; 3.1.1; 5.2; A1.4; A9.1)
92.COOK, S. A. [1971b], "Characterizations of pushdown machines in terms of time-
bounded computers,7' / Assoc. Comput..Mach. 18, 4-18. G.5)
ЗХСоок, S. A. [1973], "A hierarchy for nondeterministic time complexity," J. Com-
Comput. System Scl.l, 343-353. G.6)
M.COOK, S. A. [1974], "An observation on time-storage trade off," /. Comput. System.
Set. 9, 308-316. G.5)
95.COOK, S., and R. Sethi [1976], "Storage requirements for deterministic polynomial
time recognizable languages," /. Comput. System Scf. 13, 25-37 G.5).
SRCornuejols, G., M. L. Fisher, and G. L. Nemhauser [1977], "Location of bank
accounts to optimize float: an analytic study of exact and approximate algo-
algorithms," Management Sci. 23, 789-810. F.1)
37.CORNUEIOLS, G., AND G. L. Nemhauser [1978], "Tight bounds for Christofides'
traveling salesman heuristic," Math. Programming 14,116-121. F.1)
Cresswell, M. J. See Hughes, G. E.
Culik, K., II See Opatrny, J.
9aDANTZiG, G. B. [1957], "Discrete-variable extremum problems," Operations Res. 5,
266-277. D.2.2; A6)
99.Dantzig, G.. B. [1960], "On the significance of solving linear programming prob-
problems with some integer variables," Econometrica 28, 30-44. A,5)
380 Литература
IDUDantzig, G. В., W. О. Blattner, and M. R. Rao [1967], "All shortest routes
from a fixed origin in a graph," in Theory of Graphs: International Symposium,
Gordon and Breach, NY, 85-90. A.5)
101. Date, C. J. [1975], An Introduction to Database Systems, Addison-Wesley, Reading,
MA. (A4.3)
DemerS, A. See Johnson, D. S.
Deo, N. See Krisiinamoorthy, M. S.; Reingold, E. M.
102.DOHK1N, D., and R. E. Ladner [1978], private communication. (A8)
103.DOBKIN. D., R. LlPTON, AND S. Reiss [1976K "Linear programming is P-complete,"
in (same authors), "Excursions into geometry," Report No. 71, Dept. of Com-
Computer Science, Yale University, New Haven, CT. G.5)
Dobkin, D. See also Reiss, S. P.
Dorfman, Y. G. See Orlova, G. I.
HW.DOWNEY, P. J., and R. Sethi [1976], ."Assignment commands and array struc-
structures," Proc. 17th Ann. Symp. on Foundations of Computer Science, IEEE Com-
Computer Society, Long Beach, CA, 57-66. (All.2)
Downey, P. J. See also Bruno, J.
Edelberg, M. See Hirschberg, D.
105.Edmonds, J. [1962], "Covers and packings in a family of sets," Bull. Amer. Math.
Soc. 68, 494-499. A.5)
IOS.Edmonds, J. [1965a], "Paths, trees, and flowers," Canad. J. Math. 17, 449-467.
A.3,-5.2)
Ш Edmonds, J. [1965b], "Minimum partition of arnatroid into independent subsets."
J. Res. Nat. Bur. Standards Sect. В 69, 67-72. E.2)
MEdmonds, J., and E. L. Johnson [1970], "Matching: a well-solved class of integer
linear programs," in Combinatorial Structures and their Applications, Gordon and
Breach, New York, 89-92. (Al.I; A1.2)
,1BJ.Edmonds, J., and E. L. Johnson [1973], "Matching, Euler tours, and the Chinese
postman," Math. Programming 5, 88-124. (A2.3)
UD.EdmoNDS, J., and R. M. Karp [1972], "Theoretical improvements in algorithmic
efficiency for network flow problems," J. Assoc. Comput. Mach. 19, 248-264.
(A2.1)
UJ.Edmonds, J., and D. W. Matula [1975], private communication. D.2.2; A1.4)
I12.EHRLICH, G., S. Even, and R. E. Tarjan [19761, "Intersection graphs of curves in
the plane," J. Combinatorial Theory Ser. В 21, 8-20. (Al.I)
Erdos, P. See BURR, S.
113.ESWAREN, К. P, AND R. E. Tarjan [1976], "Augmentation problems," SI AM J.
Comput. 5, 653-665. (A2.2)
1K.EVEN, S., A. Itai, AND A. Shamir [1976], "On the complexity of timetable and.
multicommodity flow problems," SI AM J: Comput. 5, 691-703. O.J.I; 3.2.3;
A 2.4; A5.3; A9.I)
H5.EVEN, S., and D, S. Johnson [1977], unpublished results. (A2.1; A2.4)
Литература 381
H6.EVEN, S., D. I. Lichtenstein, and Y Shiloach [1977], "Remarks on Zeigler's
method for matrix compression," unpublished manuscript. (A4.2)
117.Even, S., A. Pnueli, and A. Lempel [1972], "Permutation graphs and transitive
graphs," J. Assoc. Comput. Mach. 19, 400-410. (AU;A1.2)
U&Even, S., and Y. Shiloach [1975], "NP-completeness of several arrangement
problems," Report No. 43, Dept. of Computer Science, Technion, Haifa, Israel.
(A1.3)
H9.Even, S., and R. E. Tarjan [1976], "A combinatorial problem which is complete
in polynomial space," /. Assoc. Comput. Mach. 23, 710-719. G.4; AS)
Even, S. See also Ehrlich, G.
IZHFagin, R. [1974], "Generalized first-order spectra and polynomial time recogniz-
recognizable sets," in R. M. Karp (ed.). Complexity of Computation, American
Mathematical Society, Providence, RI, 43-73. (A4.2)
I2I.Farley, a., S. Hedetniemi, S. Mitchell, and A. Proskurowski [1977],
"Minimum broadcast graphs," Report No. CS-TR-77-2, Dept. of Computer Sci-
Science, University of Oregon, Eugene, OR. (A2.5)
1Z2.F1SCHER, M. J., and M. O. Rabin [1974], "Super-exponential complexity of Pres-
burger arithmetic," in R. M. Karp (ed.). Complexity of Compulation, American
Mathematical Society, Providence, RI, 27-41-. A.4; 7.6)
Fischer, M. J. See also Bauer, M.; Seiferas, J. I.; Wagner, R. A.
Fisher, M. L. See Cornuejols, G.; Nemhauser, G. L.
1Z3.Filotti, I. S. [1978], "An efficient algorithm for determining whether a cubic graph
is toroidal,'' Proc. 10th Ann. ACM Symp. on Theory of Computing, Association for
Computing Machinery, New York, 133-142. (A13)
I24.Florian, M., and M. Klein [1971], "Deterministic production planning with con-
concave costs and capacity constraints," Management Sci. 18, 12-20. (A5.4)
Florian, M. See also Lenstra, J. K.
125.Ford, L. R., and D. R. Fulkerson [1962], Flows in Networks, Princeton University
Press, Princeton, NJ. (A2.4)
126.Fortune, S., J. E. Hopcroft, and E. M. Schmidt [1977], "The complexity of
equivalence and containment for free single variable program schemes," Report
No. TR77-310, Dept. of Computer Science, Cornell University, Ithaca, NY.
(A 11.2)
I27.f-RAENKEL, A. S., M. R. Garey, D. S. Johnson, T. Schaefer, and Y. Yesha
[19.78], "The complexity of Checkers on an NxN board - Preliminary report,"
Proc. 19th Ann. Symp. on Foundations of Computer Science, IEEE Computer So-
Society, Long Beach, CA, 55-64. G.4; A8)
1Z8.Fraenkel, A. S., and Y. Yesha [1976], "Theory of annihilation games," Bull.
Amer. Math. Soc. 82,.775-777. (A8)
12S.Fraenkel, A. S., and Y. Yesha [1977], "Complexity of problems in games,
graphs, and algebraic equations," unpublished manuscript. (A1.4; Al.S; A7.2;
AH)
IM-Frederickson, G. N.. M. S. Hecht, and С. Е. Kim [1978], "Approximation algo-
algorithms for some routing problems," S1AMJ. Comput. 7, 178-193. (A2.3)
382 Литература
131.FUJH, М., Т. Kasami, and К. Ninomiya I1969), "Optimal sequencing of two
equivalent processors," SIAM J. Appl. Math. 17, 784-789. Erratum [1971],
SIAM J. Appl. Math. 20, 141. (A 13)
13Z.Fulkerson, D. R., and D. A. Gross [1965], "Incidence matrices and interval
graphs," Pacific J. Math. 15, 835-855. (A1.2)
Fulkerson, D. R. See also Ford, L. R.
Fuller, S. H. See Stone, H. S.
I35.Gabow, H. N. [19761, "Using Euler partitions to edge color bipartite multigraphs,"
Internal. J. Comput. Information Sci. 5, 345-355. (A 13)
M.Gabow, H. N., S. N. Maheshwari, and L. Osterweil [1976], "On two problems
in the generation of program test paths," IEEE Trans. Software Engrg. SE-2,
227-231. (A1.5)
135.GALIL, Z. [1974], "On some direct encodings of nondeterminislic Turing machines
operating in polynomial time into P-complete problems," S/GACT News 6:1,
19-24. G.3)
I3«.Galil, Z. [1976], "Hierarchies of complete problems," Acta Informal. 6, 77-88.
G.5; AW. 1)
mGALiL, Z. [1977], "On resolution with clauses of bounded size," SIAM J. Com-
Comput. 6, 444-459. G.6)
I38.Galil, Z., and N. Megiddo [1977], "Cyclic ordering is NP-complete," Theor.
Comput. Sci. 5, 179-182. (A 12)
133.GAREY, M. R. [1973], "Optimal task sequencing with precedence constraints,"
Discrete Math. 4, 37-56. (AS.l)
MO.Garey, M. R., F. Gavril, and D. S. Johnson [1977], unpublished results. (At.2)
W.Garey, M. R., R. L. Graham, and D. S. Johnson [1976], "Some NP-complele
geometric problems," Proc. 8th Ann. ACMSymp. on Theory of Computing, Asso-
Association for Computing Machinery, New York, 10-22. (A2.3)
IUGarey, M. R., R. L. Graham, and D. S. Johnson [1977], "The complexity of
computing Steiner minimal trees," SIAM J. Appl. Math. 32, 835-859. (A2.1)
1«.Garey, M. R., R. L. Graham, D. S. Johnson, and D. Ё. Knuth [1978], "Com-
"Complexity results for bandwidth minimization," SIAM J. Appl. Math. 34, 477-495.
C.2.2; AtJ)
m.GAREY, M. R., R. L. Graham, D. S. Johnson, and A. C. Yao [1976], "Resource
constrained scheduling as generalized bin packing," J. Combinatorial Theory Ser.
A 21, 257-298. F.1)
W.Garey, M. R., and D. S. Johnson [1975], "Complexity results for multiprocessor
scheduling under resource constraints," SIAM J. Comput. 4, 397-411. (A3.2;
A5.2)
M6.Garey; M. R., and D. S. Johnson [1976a], "The complexity of near-optimal graph
coloring," /. Assoc. Comput. Mach. 23, 43-49. F.2)
W.Garey, M. R., and D. S. Johnson [1976b], "Approximation algorithms for com-
combinatorial problems: an annotated bibliography," in J. F. Traub (ed.), Algorithms
and Complexity: New Directions and Recent Results^ Academic Press, Ne.w York,
41-52. F.2)
Литература 383
H8.Garey, M. R., and D. S. Johnson A976c), "Scheduling tasks with nonuniform
deadlines on two processors," J. Assoc. Comput. Mack 23, 461-467. (A5.1;
A5.2)
1W.Garey, M. R., and D. S. Johnson [1977a], "The rectilinear Steiner tree problem is
NP-complete," SIAMJ. Appl. Math. 32, 826-834. (All; A1.2;A2.1)
150.GXREY, M. R., and D. S. Johnson [1977b], "Two-processor scheduling with start-
times and deadlines," SIAMJ. Comput. 6, 416-426.. (ASA; A5.2; A13)
151.Garey, M. R., and D. S. Johnson [1978], "Strong NP-completeness results:
motivation, examples, and implications," / Assoc. Comput. Mack 25, 499-S08.
E.2; 6.2)
15Z.GAREY, M. R., and D. S. Johnson [ ], unpublished results. (Al.l; Al.2; A1.4;
A1.5; A2.I; A2.2; A2.5; A3.1; A3.2; ASA; A6; A7.1; All.l; AW
153.Garey, M. R., D. S. Johnson, G. L. Miller, and С. Н. Papadimitriou [1978],
unpublished results. (Al.l; All.l; A12)
1H.Garey, M. R., D. S. Johnson, and С. Н. Papadimitriou [1977], unpublished
results. (A1.3;A8)
I&Garey, M. R., D. S. Johnson, and R. Sethi [1976], "The complexity of flowshop
and jobshop scheduling," Math. Oper. Res. 1, 117-129. C.2.2; A5.3)
156.Garey, M. R., D. S. Johnson, B. B. Simons, and R. E. Tarjan [19781, "Schedul-
"Scheduling unit time tasks with arbitrary release times and deadlines," unpublished
manuscript. (A5.1)
157.Garey, M. R., D. S. Johnson, and L. Stockmeyer [1976], "Some simplified NP-
complete graph problems," Theor. Comput. Sci. 1, 237-267. C.2.2; 4.1; Al.l;
A1.2;A1.3;A2.2;A9.1)
IS8.Garey, M. R., D. S. Johnson, and R. E. Tarjan [1976a], "The planar Hamiltoni-
ari circuit problem is NP-complete," SIAMJ. Comput. 5, 704-714. C.2.3; A1.3)
IH.Garey, M. R., D. S. Johnson, and R. E. Tarjan [1976b], unpublished results.
(Al.l)
Garey, M. R. See also Am, A. V.; Brucker, P.; Fraenkel, A. S.; Johnson, D. S.
16B.Garfinkel, R. S. [1977], "Minimizing wallpaper waste. Part 1: a class of traveling
salesman problems," Operations Res. 25, 741-751. (A2.3)
ISLGarfinkel, R. S., and G. L. Nemhauser [1972], Integer Programming, John Wiley
& Sons, New York. F.0; A2.3; A13)
MZ.Gavett, J. [1965], "Three heuristic rules for sequencing jobs to a single production
facility," Management Sci. 11, B166-B176. F.1)
I&Gavril, F. [1972], "Algorithms for minimum coloring, maximum clique,
minimum covering by cliques, and maximum independent set of a chordal
graph," SIAMJ. Comput. 1, 180-187. (Al.l; Al.2;A4.1)
UM.Gavril, F. [1973], "Algorithms for a maximum clique and a maximum indepen-
independent set of a circle graph," Networks 3, 261-273. (Al.2)
I6S.Gavril, F. [1974a], "Algorithms on circular-arc graphs," Networks 4, 357-369.
(Al.l; Al.2)
JU.Gavril, F. [1974b], "The intersection graphs of subtrees in trees are exactly the
chordal graphs," J. Combinatorial Theory Ser. В 16, 47-56. (A 13)
384 Литература
167.Gavril, F. 11974c], private communication. F.1)
IBJiGavril, F. [1977a], "Some NP-complete problems on graphs," Prqc. 11th Con/, on
Information Sciences and Systems, Johns Hopkins University, Baltimore, MD,
91-95. (Al.l; A1.2; A1.3; A2.S; A4.1)
BIGavril, F. [1977b], private communication. (A1.2)
Gavril, F. See also Garey, M. R.; Yannakakis, M.
Geldmacher, R. С See Liu, P. С
17B.Geoffrion, A. M. 11974], "Lagrangian relaxation and its uses in integer program-
programming," Math. Prog. Study 2, 82-114. F.0)
171.Gill, J. Т., Ill [1977], "Computational complexity of probabilistic Turing
machines,'1 S1AMJ. Comput. 6, 675-695. G.3)
Gill, J. Т., HI. See also Baker, T.
17Z.Gilmore, P. C, and R.E. Gomory [1964], "Sequencing a one state-variable
machine: a solvable case of the traveling salesman problem," Operations Res. 12,
655-679. (A2.3; A5.3)
ra.GtMPEL, i. F. [1965], "A method of producing a Boolean function having an arbi-
arbitrarily prescribed prime implicant table," IEEE Trans. Computers 14, 485-488.
A.5; A9.1)
IM.GOLD, E. M.- [1974], "Complexity of automaton identification from given data,"
unpublished manuscript. (A9.1; A 10.1)
175.GOLD, E. M. [1978], "Deadlock protection: easy and difficult cases," SUM J. Com-
put. 7, 320-336. (A5.3)
OT.Gol'Dberg, M. K., and I. A. Klipker [1976], "Minimal placing of trees on a
line," Technical Report, Physico-Technical Institute of Low Temeperatures,
Academy of Sciences of Ukranian SSR, USSR (in Russian). (A1.3)
17ZGoldschlager, L. M. [1977], "The monotone and planar circuit value problems
are log space complete for P," SIGACTNews 9:2, 25-29. G.5)
CT.Golumbic, M. С [1977], "The complexity of comparability graph recognition and
coloring," Computing 18, 199-208. (Al.l; AJ.2)
Gomory, R. E. See Gilmore, P. С
17J.Gonzalez, Т. [1977], "Optimal mean finish time preemptive schedules," Report
No. 220, Computer Science Dept., Pennsylvania State University, University
Park, PA. (A5.2)
IM.Gonzalez, Т., Е. L. Lawler, and S. Sahni [1978], "Optimal preemptive schedul-
scheduling of a fixed number of unrelated processors in polynomial time," unpublished
manuscript. (AS.2)
10I.GONZALEZ, Т., and S. Sahni [1976], "Open shop scheduling to minimize finish
time," J. Assoc. Comput. Mack 23, 665-679. (A5.3)
182.GONZALEZ, Т., and S. Sahni [1978a], "Flowshop and jobshop schedules: complexi-
complexity and approximation," Operations Res. 26, 36-52. (A5.3)
W.Gonzalez, Т., and S. Sahni [1978b], "Preemptive scheduling of uniform proces-
processor systems," J. Assoc. Comput. Mach. 25,:92-101. (A5.2)
Gonzalez, T. See also Sahni, S.
Литература 385
Goodman, S. See Cockayne, E.; Morrow, С
IM.Goyal, D. K. [1976], "Scheduling processor bound systems," Report No. CS-76-
036, Computer Science Department, Washington State University, Pullman,
WA. (AS.2)
185. Graham, R. L. [1966], "Bounds for certain multiprocessing anomalies," BellSyst:
Tech. J. 45, 1563-1581. F.2)
166. Graham, R. L., E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan
[1978], "Optimization and approximation in deterministic sequencing and
scheduling: a survey," Ann. Discrete Math, (to appear). (A5.1)
Graham, R. L. See also Chung, F. R. K.; Coffman, E. G., Jr; Garey, M. R.;
Johnson, D. S.
187. Grasselli, A., and F. Luccio 11966], "A method for the combined row-column
reduction of flow tables," Proc. 7th Ann. Symp.- on Switching and Automata
Theory, IEEE Computer Society, Long Beach, CA, 136-147. (A 10.1)
188. Greibach, S. [1969], "Checking automata and one-way stack languages," J. Corn-
put. System Scl. 3, 196-217. (AW. 1)
189. Greibach, S, A. [1973a], "Jump PDA's, deterministic context-free languages, prin-
principal AFDL's and polynomial time recognition-Extended abstract," Proc. 5th
Ann. ACM Symp. on Theory of Computing, Association for Computing
Machinery, New York, 20-28. (A10.2)
190., Greibach, S. A. [1973b], "The hardest context-free language," SI AM J. Com-
put. 2, 304-310. (A10.2)
Greibach, S. See also Book, R. V.
01. GtfiMMET, G. R., and С J. H. McDiarmid [1975], "On colouring random graphs,"
Math. Proc. Cambridge Philos. Soc. 77, 313-324. F.3)
Gross, D. A. See Fulkerson, D. R.
192. Gurari, E. M., and О. Н. Ibarra [1978], "An NP-complete number theoretic
problem," Proc. 10th Ann. ACM Symp. on Theory of Computing, Association for
Computing Machinery, New York, 205-215. (A7.2)
193. Hack, M. [19721, "Analysis of production schemata by Petrl nets," Report No.
TR-94, Project MAC, Massachusetts Institute of Technology, Cambridge, MA.
(A12)
m. Hadlock, F. O. [1974], "Minimum spanning forests of bounded trees," Proc. 5th
Southeastern Conference on Combinatorics, Graph Theory, and Computing, Utilitas
Malhematica Publishing, Winnipeg, 449-460. (A2.1; A2.2)
1M. Hadlock, F. O. [1975], "Finding a maximum cut of a planar graph in polynomial
time," SIAMJ. Comput. 4, 221-225. D.1; A1.2; A2.2)
Haken, W. See Appel, K.
Hakimi, S. L. See Kariv, O.
Hammer, P. L. See Chvatal, V.
19R.HARARY, F. [1969], Graph Theory, Addison-Wesley, Reading, MA. (A1.2; A3.H
A13)
197. Harary, P., and R. A. Melter [1976], "On the metric dimension of a graph,"
Ars Combinatorial 1,191-195. (A1.5)
386 Литература
138. Harary, F., and E. M. Palmer 11973], Graphical Enumeration,. Academic Press,
New York. G.3; A2.1)
133-Harrison, M. A., W. L. Russo, and J. D. Ullman [1976], "Protection in operat-
operating systems," Comm. ACM 19, 461-471. (A4.3)
ZOO, Hartmanis, J., and L. Berman [1978], "On polynomial time isomorphisms of
some new complete sets," J. Comput. System Set. 16, 418-422. G.1)
201. Hartmanis, У, and J. E. Hopcroft [1976], "Independence results in computer
science," SIGACTNews 8:4, 13-24. G.6)
ZOZ. Hartmanis, J., and H. B. Hunt, III [1974], "The LBA problem and its importance
in the theory of computing," in R. M. Karp (ed.). Complexity of Computation,
American Mathematical Society, Providence, RI, 1-26. G.4)
Ш Hartmanis, J., P. M. Lewis, and R. E. Stearns [1965], "Classification of compu-
computations by lime and memory requirements," Proc. 1F1P Congress 1965, Spartan,
New York, 31-35. G.6)
Z04. Hartmanis, J., and R. E. Stearns [1965], "On the computational complexity of
algorithms," Trans. Amer. Math. Soe. 117, 285-306. A.4; 7 6)
Hartmanis, 1. See also Berman, L.
Hasegawa, T. See Ibaraki, T.
ДО. Havranek, T. [1975], "Statistical quantifiers in observational.calculi: an application
in GUHA methods," Theory and Decision 6, 213-230. (All)
Hecht, M. S. See Frederickson, O. N.
Hedetniemi, S. T. See Cockayne, E.; Farley, A.; Mitchell, S.
206. Held, M., and R. M. Karp [1971], "The traveling salesman problem and
minimum spanning trees: part II," Math. Programming 6, 62-88. F.0)
Hell, P. See Kirkpatrick, D. O.
Ш Herman, G. Т., and G. Rozenberg [1975], Developmental Systems and Languages,
North-Holland, Amsterdam. (A10.2)
Ш Herrmann, P. P. [1973], "On reducibility among combinatorial problems," Report
No. TR-113, Project MAC, Massachusetts Institute of Technology, Cambridge,
MA. (A1.1;A2.4)
203. Hirschberg, D., and M. Edelberg [1973], "On the complexity of computing
graph isomorphism," Report No. TR-130, Computer Science Lab., Dept. of
Electrical Engineering, Princeton University, Princeton, NJ. (A 13)
Z10. Hirschberg, D. S., and С. К. Wong [1976], "A polynomial-time algorithm for the
Knapsack problem with two variables," J. Assoc. Comput. Mach. 23, 147-154.
(A6)
III Hopcroft, J. E. [1971], "An nlogn algorithm for minimizing states in a finite au-
automaton," in Z. Kohavi and A. Paz (eds.), Theory of Machines and Computations,
Academic Press, New York, 189-196. (A10.1)
212. Hopcroft, i. E., and R. M. Karp [1973.], "An ni/2 algorithm for maximum
matchings in bipartite graphs," SUM J. Comput. 2, 225-231. C.1:2)
213. Hopcroft, J. E., and R. E. Tarjan [1974], "Efficient planarity testing," J. Assoc.
Comput. Mach. 21, 549-568. D.1; A1.2; A13)
Литература 387
ZVt. Мокко! т, J. E., and J. U. UllmaN 11967], "Nonerasing slack automata," J. Corn-
put. -System ScL 1, 166-186. (A 10.1)
215.. Hopckoft, J. E., and J. D. Ullman [1969], Formal Languages and their Relation to
Automata, Addison-Wesley, Reading, MA. A.3; 2.2; 2.3; 7.4; 7.5; 7.6; A4.2;
A10.1.A10.2)
216. Hopcroft, J. E., and J. K. Wong [1974], "Linear time algorithm for isomorphism
of planar graphs (Preliminary report)," Proc. 6th Ann. ACM Symp. on Theory of
Computing, Association for Computing Machinery, New York, 172-184. (AJ3)
Hopcroft, J. E. See also Ано, A. V.; Fortune, S.; Hartmanis, J.
217. Horn, W. A. [1972], "Single-machine job sequencing with treelike precedence ord-
ordering and linear delay penalties," S/AMJ. Appl. Math. 23, 189-202. (AS.l)
218. Horn, W. A. [1973], "Minimizing average flow time with parallel machines,"
Operations Res. 21, 846-847. (A5.2)
219. Horn, W. A. [1974], "Some simple scheduling algorithms," Naval Res. Legist.
Quart. 21, 177-185. (A5.2)
ZZH Horowitz, E., and S. Saiini [1974], "Computing partitions with applications to the
knapsack problem," J. Assoc. Comput. Mach. 21, 277-292. F.0)
221. Horowitz, E., and S. Sahni [1976], "Exact and approximate algorithms for
scheduling nonidentical processors-," J. Assoc. Comput. Mach. 23, 317-327.
D.2.2;6.1)
222. Horowitz, E., and S. Sahni [1978], Algorithms: Design and Analysis, Computer Sci-
Science Press, Potomac, MD. F.1)
22i Horvath, E. C, S. Lam, and R. Sethi [1977], X'A level algorithm for preemptive
scheduling," J. Assoc.Comput. Mach. 24, 32-43. (AS.2)
IV*. Howell, T. D. [1977], "Grouping by swapping is NP-complete," unpublished
manuscript. (A4.2)
22S.Hu, Т. С [1961], "Parallel sequencing and assembly line problems," Operations
Res. 9, 841-848. (A5.2)
22fcHu, Т. С [1969], Integer Programming and Network Flows, Addison-Wesley. Read-
Reading, MA. F.0)
227. Ни, Т. С. [1974], "Optimum communication spanning trees," S1AM J. Comput. 3,
188-195. (A2.1)
Ни, Т. С. See also Adolphson, D.
228. HUET, G. P. [1973], "The undecidability of unification in third order logic," Infor-
Information and Control 22, 257-267. (A9.2)
229. Hughes, G. E., and M. J. Cresswell [1968], An Introduction to Modal Logic,
Methuen, London. (A9.2)
230. Hunt, H. В., HI [1973a]. On the Time and Tape Complexity of Languages, Doctoral
Thesis, Dept. of Computer Science, Cornell University, Ithaca, NY. (A 10.2)
231. Hunt, H. В., Ill [1973b], "On the time and tape complexity of languages I," Proc.
5th Ann. ACM Symp. on Theory of Computing, Association for Computing
Machinery, New York, 10-19. (A10.1; A10.2)
23Z.Hunt, H. В., Ill [1976], "On the complexity of finite, pushdown, and stack auto-
automata," Math Systems Theory 10, 33-52. (A 10.1)
888 Литература
233. Hunt, Н. В., 111 [1977], "A complexity uieory of compulation structures: prelim-
preliminary report," unpublished manuscript. 619.2; All.2; AI2)
Z34.HUNT, H. В., Ill [1978], "Uniform lower bounds on scheme equivalence," unpub-
unpublished manuscript. (All.2)
235. Hunt, H. В.; Ill, and D. J. Rosenkrantz [1977), "Complexity of grammatical
similarity relations: preliminary report," Proc. Con/, on Theoretical Computer Sci-
Science, Dept. of Computer Science, University of Waterloo, Waterloo, Ontario,
139-148. (А Ю.2; AW
Z36 Hunt, H. В., Ill, and D. J. Rosenkrantz [1978], "Computational parallels
between regular and context-free languages," SI AM J. Comput. 7, 99-114.
(A 10.2)
Z37.HUNT, H. В., Ill, D. J. Rosenkrantz, and T. G. Szymanski [1976a], "On the
equivalence, containment, and covering problems for the regular and context-
free languages," J. Comput. System Sci. 12, 222-268. (AW.2)
23»..Hunt, H. В., Ill, D. J. Rosenkrantz, and T. G. Szymanski [1976b], "The cover
ing problem for linear context-free grammars," Theor. Comput. Sci. 2, 361-382
64/0.2J
Z39. Hunt, H. В., HI, and T. G. Szymanski [1976a], "Complexity metatheorems for
context-free grammar problems," / Comput. System Sci. 13, 318-334. (A 10.2)
Ш. Hunt, H. В., Ill, and T. G. Szymanski [1976b], "Dichotimization, reachability,
and the forbidden subgraph problem (Extended abstract)," Proc. 8th Ann. ACM
Symp. on Theory of Computing, Association for Computing Machinery, New
York, 126-134; (A11.2)
Vt\. Hunt, H. В., Ill, and T. G. Szymanski [1978], "Lower bounds and reductions
between grammar problems," J. Assoc. Comput. Mack 25, 32-51. (A10.2)
Z«.Hunt, H. В., HI, T. G. Szymanski, and J. D. Ullman [1975], "On the complexity
of LR(k) testing," Comm. ACM 18, 707-716. (A10.2)
Hunt, H. В., HI. See also Constable, R. L.; Hartmanis, J.
Hwang, F. K. See Am, A. V.
Z«. Hyafil, L., and R. L. RivesT [1973], "Graph partitioning and constructing optimal
decision trees are polynomial complete problems,'-' Report No. 33, IR1A-
Laboria, Rocquencourt, France. (A2.2)
Vik Hyafil, L., and R. L. Rivest [1976], "Constructing optimal binary decision trees is
NP-complete," Information Processing Lett. 5, 15-17. (A 12)
Z45. Ibaraki, T. [1978], "Approximate algorithms for the multiple-choice continuous
knapsack problem," unpublished manuscript. (A6)
VA. Ibaraki, Т., Т. Hasegawa, К. Teranaka, and J. Iwase [1978], "The multiple-
choice knapsack problem," J. Oper. Res. Soc. Japan 21, 59-94. (A6)
W. Ibaraki, Т., Т. Kameda, and S. Toida [1977], "NP-complete diagnosis problems
on systems graphs," unpublished manuscript. (A3.1; A12)
Ibaraki, T. See also Kise. H.
MS. Ibarra, О. Н., and С. Е. Kim [1975a], "Fast approximation algorithms for the
knapsack and sum of subset problems," J. Assoc. Comput. Mach. 22, 463-468
F.1)
Литература
ZW.Ibarra, О. Н., AND С. Е. Kim [1975b], "Scheduling for maximum profit," Report
No. 75-2, Compuier Science Dept., University of Minnesota, Minneapolis, MN.
(A6)
Z50.Ibarra, O. H., and S. K. Saiini [1975], "Polynomially complete fault detection
problems," IEEE Trans. Computers C-24, 242-249. (A12)
Ibarra, O. H. See also Gurari, E. M.
251.ITAI, A. [1977], "Two commodity flow," Report No. 93, Dept. of Computer Sci-
Science, Technion, Haifa, Israel. G.1: A2.4)
Z52.ITA1, A., Y. Pkrl, and Y. Shiloach [1977], "The complexity of finding maximum
disjoint paths with length constraints," Report No. 94, Dept. of Computer Sci-
Science, Technion, Haifa, Israel. (A2.4)
Z53.Itai, A., and M. Rodeh [1977a], "Some matching problems," in Automata,
Languages, and Programming, Lecture Notes in Computer Science, Vol. 52,
Springer, Berlin; 258-268. (A 1.5)
25<Utai, A., and M. Rodeh [1977b], "Finding a minimum circuit in a graph," Proc.
9th Ann. ACM Symp. on Theory of Computing, Association for Computing
Machinery. New York, 1-10. (A2.3)
Z5S.ITAI, A., M. Rodeh, and S. L. Tanimota [1978], "Some matching problems for bi-
bipartite graphs," J. Assoc. Comput. Mach. (to appear). (A1.5)
Itai, A. See also Even, S.
Iwase, J. See Ibaraki, T.
255. Jackson, J. R. [1956], "An extension of Johnson's results on job lot scheduling,"
Naval Res. Login. Quart. 3, 201-203. (AS.3)
257.Jazayeri, M., W. F. Ogden, and W. С Rounds [1975], "The intrinsically ex-
exponential complexity of the circularity problem for attribute grammars," Comm.
ACM 18, 697-706. G.6)
Z58.JEROSLOW, R. G. [1973], "There cannot be any algorithm for integer programming
with quadratic constraints," Operations Res. 21, 221-224. (A6)
Z59.Jeroslow, R. G 11976], "Bracketing discrete problems by two problems of linear
optimization," Proc. First Symp. on Operations Research (at Heidelberg), Verlag
Anton Hain, Meisenheim, 205-216. (A6)
ZGO.JOHNSON, D. В., and S. D. Kashdan [1976], "Lower bounds for selection in X+Y
and other multisets," Report No. 183, Computer Science Department, Pennsyl-
Pennsylvania State University, University Park, PA (to appear J. Assoc. Comput.
Mach.). E.1; 7.3; A2.1; A2.3; A3.2)
261.Johnson, D. В., and T. Mizoguchi [1978], "Selecting the Kih element in X+Y
and Xt+X2+ • • • +Х„," SIAMJ. Comput. 7, 147-153. (A3.2)
262.JOHNSON, D. S. [1973], Near-Optimal Bin Packing Algorithms, Doctoral Thesis, Depi.
of Mathematics, Massachusetts Institute of Technology, Cambridge, MA. F.1;
6.3).
25S.Johnson, D. S. [1974a], "Approximation algorithms for combinatorial problems,"
J. Comput. System Sci. 9, 256-278. F.1/
390 Литература
гбЪ Johnson, D. S. [1974b), "Worst case behavior of graph coloring algorithms," I'nu
5th Southeastern Conference on Combinatorics. Graph Theory, and Computing, Util-
itas Mathematica Publishing, Winnipeg,-513-527. F.1)
-Z6S.. Johnson, D. S., A. Demers, J. D. Ullman, M. R. Garlv, and R. l. Graham
[1974], "Worst-case performance bounds for simple one-dimensional packing al-
algorithms," S1AMJ. Comput. 3, 299-325 F.1)
266. Johnson, D. S., J. K. Lenstra, and A. H. G. Rinnooy Kan [1978], "The com-
complexity of the network design problem," Networks (to appear). (A2.1)
W. Johnson, D. S., and F. P. Preparata [1978], "The densest hemisphere problem,
Theor. Comput. Sci. 6, 93-107, (A 6)
Johnson, D. S. See also Brucker, P.; Even, S.; Fraenkkl, A. S.; Garby, M. R.
Johnson, E. L. See Edmonds, J.
Johnson, S. C. See Ано, A. V.
Z68. Johnson, S. M. [1954], "Optimal two- and three-stage production schedules with
setup times included," Naval Res. Legist. Quart. 1, 61-68. (A5.3)
26? Jones, N. D. [1973], "Reducibility among combinatorial problems in log/; space,"
Proc. 7th Ann. Princeton Con/, on Information Sciences and Systems, Dept. of
Electrical Engineering, Princeton University, Princeton, NJ, 547-551. G.5)
270. Jones, N. D. [1975], "Space-bounded reducibility among combinatorial problems,"
J. Comput. System Sci. 11, 68-85. G.5)
271. Jones, N. D., and W. T. Laaser [1976], "Complete problems for deterministic po-
polynomial, time," Theor. Comput. Sci. 3, 105-117. G.5)
272. Jones, N. D., L. H. Landweber, and Y. E. Likn [1977], "Complexity of some
problems in Petri nets," Theor. Comput. Sci. 4, 277-299. (A 12)
П1 Jones, N. D., Y. E. Lien, and W. T. Laaser [1976], "New problems complete for
nondeterministic log space," Math. Svstems Theory 10, 1-17. G.5)
274. Jones, N. D., and S. S. Muchnik [1977], "Even simple programs are hard to
analyze," /. Assoc. Comput. Mach. 24, 338-35Q. (All:2)
275. Jones, N. D., and S. Skyum [1976], ''Complexity of some problems concerning L
systems (preliminary report)," Report No. DAIMI PB-67, University of Aarhus,
Aarhus, Denmark. (A10.2)
27ft Jones, N. D., and S. Skyum [1977], "Recognition of deterministic ETOL languages
in logarithmic space," Information and Control 35, 177-181. (A10.2)
Kameda, T. See Abdel-Wahab, H. M.; Ibaraki,' T.
Kanellakis, P. С See Papadimitriou, С. Н.
П7. Karaganis, J. J. [1968], "On the cube of a graph," Canad; Math. Bull. 11, 295-
296. (A 1.3)
Z78. Kariv, O., and S. L. Hakimi [1976a], "An algorithmic approach to network loca-
location problems — Part I: the p-centers," unpublished manuscript: (A2.5)
278. Kariv, O., and S. L. Hakimi [1976b], "An algorithmic approach to network loca:
'ion problems — Part 2: the p-medians," unpublished manuscript. (A2.5J
Литература 391
280.KARP, R. M. 11972], "Reducibility among combinatorial problems," in R. E. Miller
and J. W. Thatcher (eds.), Complexity of Computer Computations, Plenum Press,
New York, 85-103. A.5; 3.1; 5.2; 7.1; 7.4; Al.l; A1.2; A1.3; A2.1; A2.2; A3.1;
A3.2; A5.1; A6; A10.1)
ZBI.Karp, R. M. [1975al, "On the complexity of combinatorial problems," Networks 5,
4S-68. (A2.4)
28Z.Karp, R. M. [1975b], "The fast approximate solution of hard combinatorial prob-
problems," Proc. 6th Southeastern Conference on Combinatorics, Graph Theory, and
Computing, Utilitas Mathematics Publishing, Winnipeg, 15-31. F.3)
Z83.KARP, R. M. [1976], "The probabilistic analysis of some combinatorial search algo-
algorithms," in J. F. Traub (ed.), Algorithms and Complexity: New Directions and Re'
cent Results, Academic Press, New York, 1-19. F.3)
2№Karp, R. M. [1977], "Probabilistic analysis of partitioning algorithms for the
traveling-salesman problem in the plane," Math. Oper. Res. 2, 209-224. F.3)
285Karp, R. M., A. C. McKellar, and С. К. Wong [1975], "Near-optimal solutions
to a 2-dimensional placement problem," SIAMJ. Comput. 4, 271-286. F.1)
Karp, R. M. See also Edmonds, J.; Held, M.; Hopcroft, J. E.
Kasami, T. See Araki, Т.; Fujii, M.; Suoiyama, Y.
Kashdan, S. D. See Johnson, D. B.
ZM.Kaufman, M. T. [1974], "An almost-optimal algorithm for the assembly line
scheduling problem," IEEE Trans. Computers C-23, 1169-1174. F.1)
Z87.KERN1GHAN, B. W. [1971], "Optimal sequential partitions of graphs," J. Assov.
Comput. Mach. 18, 34-40. (A2.2)
Kim, С. Е. See Frederickson, G. N.; Ibarra, О. Н.
ZMKirkpatrick, D. O., and P. Hell [1978], "On the complexity of a generalized
matching problem," Proc. 10th Ann.. ACM Symp. on Theory of Computing, Asso«
ciation for Computing Machinery, New York, 240-245. (Al.l)
289.KISE, H., T/ Ibaraki, and H. Mine [1978], "A solvable case of the one-machine
scheduling problem with ready and due times," Operations Res. 26, 121-126.
(A5.1)
290.Ki.ee, V. [1978], private communication. (A6)
Z91.Klee, V., and O. J. Minty [1972], "How good is the simplex algorithm?," in 0.
Shisha (ed.), Inequalities III, Academic Press, New York, 159-175". A.3)
292XLBENB, S. C. [1956], "Representation of events in nerve nets and finite automa»'
ta," in С E. Shannon and M. McCarthy (eds.). Automata Studies, Annals of
Math. Studies, No. 34, Princeton University Press, Princeton, NJ, 3-41. (A10.1)
Klein, M. See Florian, M.
Klipker, I. A. See Gol-dberg, M. K.
ШКжян, D. E. [1973], private communication. D5.1)
29*Knuth, D. E. [1974a], "A terminological proposal," SIGACT News 6:1, 12-18.
W5.Knuth, d. E. [1974b], "Postscript about NP-hard problems," SIGACT News 6:2,
If-lfc E.2)
392 Литература
296, Knuth, D. E. [1974c], private communication. (A2.4)
Knuth, D. E. See also Carey, M. R.
W. Kou, L. T. [1977], "Polynomial complete consecutive information retrieval prob-
problems," SIAMJ. Comput. 6, 67-75. (A4.2)
ПВ. Kou, L. Т., L. J. Stockmeyer, and С. К. Wong [1978], "Covering edges by
cliques with regard to keyword conflicts and intersection graphs," Comm.
ACM21, 135-138. (AU-.AU)
291 Kozen, D. [1976], "Complexity of finitely presented algebras," Report No. 76-294,
Dept. of Computer Science, Cornell University, Ithaca, NY. (A7.3)
3UL Kozen, D. [1977a], "Complexity of finitely presented algebras," Proc. 9th Ann.
ACM Symp. on Theory of Computing, Association for Computing Machinery,
New York, 164-177. G.1; 7.5; A7.3; A13)
301. Kozen, D. [1977b], "Finitely presented algebras and the polynomial time hierar-
hierarchy," Report No. 77-303, Dept. of Computer Science, Cornell University, Itha-
Ithaca, NY. G.2.-A7.3)
302. Kozen, D. [1977c], "First order predicate logic without negation is NP-complele,"
Report No. 77-307, Dept. of Computer Science, Cornell University, Ithaca, NY.
(A9.2)
303. Kozen, D. [1977dl, "Lower bounds for natural proof systems." Proc. 18th Ann.
Symp. on Foundations of Computer Science, IEEE Computer Society, Long Beach,
CA, 254-266. (A10.1;A12)
3Ml Kozen, D. [1978], "A clique problem equivalent to graph Isomorphism," unpub-
unpublished manuscript. G.1; A13)
305. Krishnamoorthy, M. S. [1975], "An NP-hard problem in bipartite graphs,"
SIGACTNews 7:1, 26. (A 1.3)
301 Krishnamoorthy, M. S., and N. Deo [1977a], "Node deletion NP-complete prob-
problems," Technical Report, Computer Centre, Indian Institute of Technology,
Kanpur, India. (A 1.2)
307. Krishnamoorthy, M. S., and N. Deo [1977Ы, "Complexity of the minimum
dummy activities problem in a Pert network," Technical Report, Computer Cen-
Centre, Indian Institute of Technology, Kanpur, India. (A2.5)
Ш Kruskal, J. B. [1956], "On the shortest spanning subtree of a graph and the trav-
traveling salesman problem," Proc. Amer. Math. Soc. 7, 48-50. F.1)
301Kucera, L. [1976], "The complexity of clique finding algorithms," unpublished
manuscript. F.2)
310. Kuroda, S. Y. [1964], "Classes of languages and linear-bounded automata," Infor-
Information and Control 7, 207-223. (A10.2)
Laaser, W. T. See Jones, N. D.
311. Labetoulle, J., E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan [1978],
"Preemptive scheduling of uniform machines," unpublished manuscript. {A5.1;
AS.2)
Labetoulle, J. See also Lawler, E. L.
3I1Ladner, R. E. [1975a], "On the structure of polynomial time reducibilily," J. As-
soc. Comput. Mad: 22, 155-171, G.1)
Литература
3K. Ladner, R. E. [1975b], "The circuit value problem is log space complete for P,"
SIGACTNews 7:1,18-20. G.5).
314. Ladner, R. E [1977], "The computational complexity of provability in systems of
modal prepositional logic," S1AMJ. Comput. 6, 467-480; (A9.2)
315. Ladner, R. E., and N. Lynch [1976], "Relativization of questions about log space
computability," Math. Systems Theory 10, 19-32. G.6)
316.. Ladner, R. E., N. A. Lynch, and A. L. Selman [1975], "A comparison of poly-
polynomial time reducibilities," Theor. Comput. Set. 1, 103-123.' G.1; 7.2)
Ladner, R. E. See also Dobkin, D.
317. Laoeweo, B. J., E. L. Lawler, J. K. Lenstra, anp A. H. O. Rinnooy Kan
[1978], "Computer aided complexity classification of deterministic scheduling
problems," unpublished manuscript, Mathematisch Centrum, Amsterdam.
E.2)
318. Laoeweo, B. J., and J". K. Lenstra [1977], private communication. (AS.2)
311 Lageweo, B. J.', J. K. Lenstra, and A. H. G. Rinnooy Kan [1976], "Minimizing
maximum lateness on one machine: computational experience and some applica-
applications," Statlstlca Neerlandica 30, 25-41. (A5.1)
Lam, S. See Horvath, E. C.
Landweber, L. H. See Jones, N. D.
32O.Langmaack, H. [1973], "On correct procedure parameter transmission in higher
programming languages," Ada Informal 2,110-142. (All.2)
321. LaPaugh, A. S., and R. L. Rivest [1978], "The subgraph homeomorphism prob-
problem," Proc. 10th Ann. ACMSymp. on Theory of Computing, Association for Com-
Computing Machinery, New York, 40-50. (A 13)
322.. Lawler, E. L. [1972], "A procedure for computing the К best solutions to discrete
optimization problems and its application to the shortest path problem,"
Management Sci. 18, 401-405. E.1; A2.1; A3.2)
325. Lawler, E. L. [1973], "Optimal sequencing of a single machine subject to pre-
precedence constraints," Management Sci. 19, 544-546. (A5.1)
324,Lawler, E. L. [1976a], Combinatorial Optimization: Networks and Matroids, Holt,
Rinehari and Winston, New York. F.1; Al.l; A1.3; A2.3; A2.4; A3.1; A6; A8;
A13)
325. Lawler, E. L. [1976b], "A note on the complexity of the chromatic number prob-
problem," Information Processing Lett. 5, 66-67. F.0)
326. Lawler, E. L. [1976c], "Sequencing to minimize the weighted number of tardy
jobs," Rev. Francalse Automat. Informal. Recherche Operationnelle Ser. Bleue 10.5
(suppl.), 27-33. (AS. I)
IV. Lawler, E. L. [1976d], private communication. (A13)
321 Lawler, E. L. [1977a], "A pseudopolynomial algorithm for sequencing job».to
minimize total tardiness," Ann. Discrete Math. 1, 331-342. D.2.2; ASA)
«29. Lawler, E L. [1977b], "Fast approximation algorithms for knapsack problems,"
Proc. 18th Ann. Symp. on Foundations of Computer Science, IEEE Computer Sc
dety. Long Beach, CA, 206-213. F.1)
894 Литература
J31Lawler, E. L. [1978], "Sequencing jobs to minimize total weighted completion
time subject to precedence constraints," Ann. Discrete Math. 1, 75-90. (AS.l)
33LLawler, E. L., and J. Labetoulle [1978], "Preemptive scheduling of unrelated
parallel processors," J. Assoc. Comput. Mach. (to appear). (AS.2)
332.LAWLER, E. L., AND J. M. Moore [1969], "A functional equation and its applica-
applications to resource allocation and sequencing problems," Management Sci. 16, 77-
84. D.2.2; A5.1)
Lawler, E. L. See also Gonzalez, Т.; Graham, R. L.; Labetoulle, J.; Lageweg,
B.J.
333.LEGGETT, E. W., Jr [1977], Tools and Techniques for Classifying NP~Hard Problems,
Doctoral Thesis, Dept. of Computer and Information Sciences, Ohio State
University, Columbus, OH. G.2)
Lempel, A. See Even, S.
SM.Lenstra, J. K. [1977], private communication. (AS.l; A5.3)
335.Lenstra, J. K., and A. H. G. Rinnooy Kan [1976], "On general routing prob»
lems," Networks 6, 273-280. (A2.3)
33«.Unstra, J. K., and A. H. G. Rinnooy Kan [1978a], "Complexity of scheduling
under precedence constraints," Operations Res. 26, 22-35. F.2; AS.l; AS.2)
337.LENSTRA, J. K., and A. H. G. Rinnooy Kan [1978b], "Computational complexity
of discrete optimization problems,." Ann. Discrete Math, (to appear). (A5.3)
331Lenstra, J. К., А. Н. G. Rinnooy Kan, and P. Brucker [1977] "Complexity оГ
machine scheduling problems," Ann. Discrete Math. 1, 343-362. (AS.l; AS.2:
AS.3)
ЯЗ-Lenstra, J. K., A. H. G. Rinnooy Kan, and M. Florian [1978], "Deterministic
production planning: algorithms and complexity," unpublished manuscript.
(ASA)
Lenstra, J. K. See also Graham, R. L.; Johnson, D. S.; Labetoulle, J.;
Lageweg, B. J.
3WLEV1N, L. A. [1973], "Universal sorting problems," Problemy Peredaci Informacii 9,
115-116 (in Russian). English translation in Problems of Information Transmis-
Transmission 9, 265-266. (S.2; A1.4)
3W.Lewis, H. R. [1978], "Satisfiability problems for prepositional calculi," unpublished
manuscript. (A9.1)
34Z.Lewis, H. R., and С. Н. Papadimitriou [1978], private communication. (AS)
SZiLewis, J. M. [1976], private communication. (A 1.2)
Vtf.LEWis, J. M. [1978], "On the complexity of the maximum subgraph problem,"
.Proc. 10th Ann. ACMSymp. on Theory of Computing, .Association for Computing
Machinery, New York, 265-274. (A1.2)
Lewis, P. M. See Hartmanis, J.; Rosenkrantz, D. J.
3M.Lichtenstein, D. [1977], "Planar .satisfiability and its uses," S1AMJ. Comput. (to
appear). (A2.S.A9.1)
3«.Lichtenstein, P., and M. Sipser [1978], "GO is Pspace hard," Proc. 19th Ann.
Symp. on Foundations of Computer Science, IEEE Computer Society, Long Beach,
CA, 48-54. G.4; AS)
Литература 395
Lichtenstein, D. 1. See also Even, S.
31LLieberherr, K. [1977], private communication. (All.2)
Lien, Y. E. See Jones, N. D.
347.LIN, S. [197S], "Heuristic programming as an aid to network design," Networks 5,
33-43. F.0)
348.LIPSHIT2, L. [1977], "A remark on the Diophantine problem for addition and divisi-
divisibility," unpublished manuscript. (A7.1)
519.LIPSHITZ, L. [1978], "The Diophantine problem Tor addition and divisibility,"
Trans. Amer. Math. Soc. 235, 271-283. (A7.1)
350.L1PSKY, W., Jr [1977a], "Two NP-complete problems related to information re-
retrieval," in Fundamentals of Computation Theory, Lecture Notes in Computer Sci-
Science, Springer, Berlin, (to appear). (A4.3)
351.Lipsky, J., Jr [1977b], "One more polynomial complete consecutive retrieval prob-
problem," Information Processing Lett. 6, 91-93. (A4.2)
352.Lipsky, W., Jr [1978], private communication. (A4.h
353.L1PTON, R. J. [1975], "The reachability problem requires exponential space," Re*
port No. 62, Dept. of Computer Science, Yale University, New Haven. CT.
(AW
3SM.1PTON, R. J., AND R. E. Tarjan [1977], "Applications of a planar separator
theorem,"- Proc. 18th Ann. Symp. on Foundations of Computer Science, IEEE
Computer Society, Long Beach, CA, 162-170. F.1; Ъ.2)
SKLLipton, R. J., and Y. Zalcstein [1977], "Word problems solvable in logspace," J.
Assoc. Comput. Mach. 24, 522-526. G.5)
Lipton, R. J. See also Dobkin, D.
3StLrrviNTCHOUK, S. D., and V. R. Pratt [1977], "A proof checker for dynamic log-
logic," Proc. 5th Internal. Joint Conf. on Artificial Intelligence, International Joint
Conferences on Artificial Intelligence, Dept. of Computer Science, Carnegie-
Mellon University, Pittsburgh, PA, 552-558. (A9.2)
357.Liu, С L. [1968], Introduction to Combinatorial Mathematics, McGraw-Hill, New
York. F.1; AU)
351Lil. P. <;.. and R. С Geldmacher [1978], "On the deletion of nonplanar edges of
a graph,' SIAMJ. Comput. (to appear). C.1.4; 3.2.2; A1.2)
359.1.LOYD, fc. L. 11977], "On triangulations of a set of points in the plane," Proc. 18th
Ann. Symp. on Foundations of Computer Science, IEEE Computer Society, Long
Beach, CA, 228-240. (A2.5; A13)
JffUloVASZ, L. [1973], "Coverings and colorings of hypergraphs," Proc. 4th
Southeastern Conference on Combinatorics, Graph Theory, and Computing, Utilitas
Mathematka Publishing, Winnipeg, 3-12. (A3.1)
I.ovasz, L. See also Burr, S.
361.Lucx.hesi, C. L. [1976], A Minimax Equality for Directed Graphs, Doctoral Thesis,
University 01 Waterloo Waterloo, Ontario. (Al.l)
362i.uct.HESi, <.. L., and S. I.. Osbokn 11977], "Candidate keys for relations," J. Com-
put. System Sci. (to appear;. \A4.3t
896 Литература
Luccio, F. See Grasseixi, A.
881 Luckham, D. C, D. M. Park, and M. S. Paterson [1970], "On formalised com-
computer programs," J. Comput. System Sci. 4, 220-249. (Ali.2)
ЗБ*, Lueker, G. S. [1975], "Two NP-complele problems in nonnegalive integer pro-
programming," Report No. 178, Computer Science Laboratory, Princeton Universi-
University, Princeton, NJ. (At)
Lueker, G. S. See also Booth, k. S.; Rose, D. J.
265. Lukes, J. A. [1974], "Efficient algorithm for the partitioning of trees," IBMJ. Res.
Develop. 18, 217-224. (A2.2)
866. Lynch, J. F. [1975], "The equivalence of theorem proving and the interconnection
problem," ACMS1GDA Newsletter5:3. (A2.4)
367. Lynch, J. F. [1976], private communication. (A2.4)
368. Lynch, N. [1977], "Log space recognition and translation of parenthesis
languages," J. Assoc. Comput. Mach. 24, 583-590. G.5)
ЗБ9. Lynch, N. [1978], "Log space machines with multiple oracle tapes," Theor. Com-
put. Sci. 6, 25-39. G.6)
Lynch, N. See also Ladner, R. E.
370. Maheshwari, S. [1976], "Traversal marker placement problems are NP-complete,"
Report No. CU-CS-092-76, Dept. of Computer Science, University of Colorado,
Boulder, CO. (AU.-AI.5)'
Maheshwari, S. N. See also Gabow, H. N.
571. Maier, D. [1977], "The complexity of some' problems on subsequences and su-
persequences," J. Assoc. Comput. Mach. 25, 322-336. (A4.2)
372. Maier, D., and J. A. Storer [1977], "A note on the complexity of the superstring
problem," Report No. 233, Computer Science Laboratory, Princeton University,
Princeton, NJ. (Al.2;A4.2)
373. Manders, K., and L. Adleman [1978], "NP-complete decision problems for
binary quadratics," J. Comput. System Sci. 16, 168-184. (A7.I; A7.2)
Manders, K: See also Adleman, L.
374.Masek, W. J. [1978], "Some NP-complete set covering problems," unpublished
manuscript. (a4.2;A9.1)
375. Mathon, R. [1978], "A note on the graph isomorphism counting problem," Infor-
Information Processing Lett, (to appear). (A 13)
376. Matuasevic, Y. V. [1970], "Enumerable sets are Diophantine," Dokl. Akad. Nauk
SSSR 191, 279-282 (in Russian). English translation in Soviet Math. Dokl. 11,
354-357. A.4)
V7. Matuasevic, Y., and J. Robinson 11975], "Reduction of an arbitrary Diophantine
equation to one in 13 unknowns," Ada Arith. 27, 521-553. (A7.2)
Matula, D. W. See Edmonds, J.
Maxwell, W. L. See Conway, R. W.
378. McDiarmid, С [1976], "Determining the chromatic number of a graph," Report
No. STAN-CS-76-576, Computer Science Dept., Stanford University, Stanford.
CA. G.6)
Литература
McDiarmid, С. See also Grimmet, G. R.
McEliece, R. J. See Berlekamp, E. R.
McHugh, J. A. M. See Boesch, F. T.
McKellar, A. C. See Karp, R. M.
379.McNaughton, R. 11959], "Scheduling with deadlines and loss .functions,"
Management Sci. 6, 1-12. ( 5.2)
381MEGIDDO, N. [1977], private communication. (A2.3)
Megiddo, N. See also Gaul, Z.
Melter, R. A. See Harary, F.
Merlin, P. M. See Chandra, A. K.
381.Meyer, A. R. [1975], "Weak monadic second order theory of successor is not ele-
elementary recursive," in R. Parikh (ed.), Logic Colloquium, (Proc. Symposium on
Logic, Boston, 1972), Lecture Notes In Mathematics, Vol. 453, Springer, Berlin,
132-154. G.6)
382.MEYER, A. R., and D. M. Ritchie [1967], "The complexity of loop programs,"
Proc. 22nd Nail. Conf. of the ACM, Thompson Book Co., Washington, DC, 465-
469. (A11.2)
3«3.MeVer, A. R., and M. I. Shamos [1977], "Time and Space," in A. K. Jones (ed.).
Perspectives on Computer Science, Academic Press, New York, 125-146. G.5)
JW.MEYER, A. R., and L. J. Stockmeyer [1972], "The equivalence problem for regu-
regular expressions with squaring requires exponential time," Proc. 13th Ann. Symp.
on Switching and Automata Theory, IEEE Computer Society, Long Beach, CA,
125-129. A.4; 7.2; 7.4; 7.6)
Meyer, A. R. See also Bauer, M.; Seiferas, J. I.; Stockmeyer, L. J.
Miller, G. A. See Chomsky, N.
385.MILLER, G. L. [1976], "Riemann's Hypothesis and tests Tor primality," J. Comput.
System Sci. 13, 300-317. G.1; A13)
386.Miller, G. L. [1977], "Graph isomorphism, general remarks," Proc. 9th Ann.
ACM Symp. on Theory of Computing, Association for Computing Machinery,
New York, 143-150. G.1; A/3)
387.Miller, G. L. [1978], "On the л10*" isomorphism technique: A preliminary re-
report," Proc. 10th Ann. ACM Symp. on Theory of Computing, Association for
Computing Machinery, New York, 51-58. (A 13)
Miller, G. L. See also Garey, M. R.
Miller, L. W. SeeCoNWAY, R. W.
Mine, H. See Kise, H.
3M.MINSKY, M. [1967], Computation: Finite and Infinite Machines, Prentice Hall, Engle^
wood Cliffs, NJ. B.2)
389.MINTY, G. J. 11977], "On maximal independent sets of vertices in claw-fre
graphs," unpublished manuscript. (A 1.2)
Minty, G. J. See also Klee, V.
398 Литература
390. Mitchell, S., and S. Hedetniumi [1977], "Edge domination in trees," Proc. 8i/j
Southeastern Conference on Combinatorics, Graph Theory, and Computing, Utilitas
Malhematica Publishing, Winnipeg, 489-509.: (Al.l)
Mitchell, S. See also Farley, A.
Mizoguchi, T. See Johnson, D. B.
391. Monma, С L., and J. B. Sidney 11977],, "A general algorithm for optimal job
sequencing with series-parallel, precedence constraints," Report No. 34.7, School
of Operations Research, Cornell University, Ithaca, NY. (AS.'l)
392. Moore, J, M. [1968], "An n job, one machine sequencing algorithm for minimiz-
minimizing the number of late jobs," Management Sci. 15, 102-109. D5.1)
Moore, J. M. See also Lawler, E. L.
393. Morrow, C.', and S. Goodman [1976], "An efficient algorithm for finding a long-
longest cycle in a tournament," Proc. 7th Southeastern Conference on Combinatorics,
Graph Theory, and Computing, Utilitas Mathematics Publishing, Winnipeg; 453-
462. (A1J;A2.3)
Muchnik, S. S. See Jones, N. D.
Munro, I. See Robertson, E.
39^. Muntz, R. R., and E. G. Coffman, Jr A969], "Optimal preemptive scheduling on
two-processor systems," IEEE Trans. Computers C-18, 1014-1020. (AS.2)
395. Muntz, R. R., and E. G. Coffman, Jr [1970], "Preemptive scheduling of real-
realtime tasks on multiprocessor systems," J. 4ssoc. Comput. Afach. 17, 324-338-.
D5.2)
396., Murty, K. G. [1972], "A fundamental problem in linear inequalities with applica-
applications to the traveling salesman problem," Math. Programming.!, 296-308. (A6)
397. Murty, K. G. [1976], Linear and Combinatorial Programming, John Wiley and. Sons,
Inc., New York. (A13)
398. Nelson, G., and D. С Oppen [1977], "Fast decision algorithms based on union
and find," Proc. 18th Ann. Symp- on Foundations, of Computer Science, IEEE
Computer Society, Long Beach, CA, 114-119. (A9.2)
399,, Nemhauser, G. L., L. A. Wolsey, and M. L. Fisher U978J, "An analysis of ap-
approximations for maximizing submodular set functions — I," Math. Program-
Programming 14, 265-294. F.1)
Nemhauser, G. L. See also Cornuejols, G., Garfinkel, R. S.
Ш. Nesetr'il, J., anp A. Pultr [1977], "The complexity of a dimension of a graph,'
Proc. Wroclaw Conf. on Foundations of Computer Science (to appear). (A1.5)
¦ЧИ.. Nesetril, J., and V. Rodl [1977], "A simple proof of Galvin-Ramsey properties
of finite graphs and a dimension of a graph," unpublished manuscript. (A 1.5)
NieVergelt, J, See Reingold, E. M.
402. Nigmatullin, R. G. [1975], "Complexity of the approximate solution of combina-
combinatorial problems," Dokl. Akad. Nauk. SSSR Z24, 289-292 (in Russian). English
translation in Soviet Math. Dokl. 16. 1199-1203,, F.2)
Ninomiya, K. See Fujii, M.
n. W. F. See /azayek'i. M.
Литература 399
Okui. J. See Araki, Т.; Sugiyama, Y.
403. Opatrny, J. [1978], "Total ordering problem," unpublished manuscript. (A 12)
4W. Opatrny, J., and K. Culik, II [1975], "Time complexity of L languages,"
Abstracts of Papers: Conference on Formal Languages, Automata, and Development,
University of Utrecht, Netherlands. (A10.2)
Oppen, D. С See Nelson, G.
4DS, Orlin, J. [1976], "Contentment in graph theory: covering graphs with cliques,," un-
unpublished manuscript. (Al.l)
Orlin, J. B. See also Bartholdi, J. J., III.
406. Orlova, G. I., and Y. G. Dorfman [1972], "Finding the maximum cut in a
graph," Engrg. Cybernetics 10, 502-506. D.1; A1.2; A2.2)
Osborn, S. L. See Lucchesi, C. L.
Osterweil, L. See Gabow, H. N.
Palmer, E. M. See Harary.F.
407. Papadimitriou, С. Н. [1976a], 'The NP-completeness of the bandwidth minimiza-
minimization problem," Computing 1«, 263-270. (A1.3-.A4.2)
404 Papadimitriou, С H. [1976b], "On the complexity of edge traversing," /. Assoc.
Comput. Mach. 23,. 544-554. (A2.3)
409. Papadimitriou, С. Н. [1976c], "The complexity of the capacitated tree problem,"
Report No. TR-21-76, Center for Research in Computing Technology, Harvard
University, Cambridge, MA. (A2.1)
410. Papadimitriou, С H. [1977], "The Euclidean traveling salesman problem is NP-
complete," Theor. Comput Set. 4, 237-244. (A2.3)
411 Papadimitriou, С. Н. [1978a], "The adjacency relation on the traveling salesman
polytope is NP-complete," Math. Programming 14, 312-324. (A6)
4И. Papadimitriou, С H. [1978b], "Efficient search for rationals," Report No. TR-01-
78, Center for Research in Computing Technology, Harvard University, Cam-
Cambridge, MA. (A13)
413. Papadimitriou, С H. [1978c], "Serializability of concurrent updates," Report No.
TR-14-78, Center for Research in Computing Technology, Harvard University,
Cambridge, MA. (A4.3)
414 Papadimitriou, С H. [1978d], private communication. (Al.l)
415. Papadimitriou,.С H., P. A. Bernstein, and J. B. Rothnie [1977], "Some compu-
computational problems related to database concurrency control," Proc. Conf. on
Theoretical Computer Science, University of Waterloo, Waterloo, Ontario, 275-
282. (A4.3)
416 Papadimitriou, С H., and P. С Kanellakis [1978], "Flowshop scheduling with
limited temporary storage," unpublished manuscript. (AS.3)
417. Papadimitriou, С H., and K. Steiglitz [1976], "Some complexity results for the
traveling salesman problem," Proc. 8th Ann. ACM Symp. on Theory of Comput-
Computing, Association for Computing Machinery, New York, 1-9. (A 1.3)
41& Papadimitriou, С. Н., and M. Yannakakis [1978a], "On the complexity of
minimum spanning tree problems," unpublished manuscript. (A2.1)
400 Литература
4IJ;Papadimitkiou, С. Н., and M. Yannakakis [1978b], "Scheduling interval-ordered
tasks," Report No. TR-11-78, Center for Research in Computing Technology,
Harvard Universty, Cambridge, MA. (A5.2)
Papadimitriou, С H. See also Garey, M. R.; Lewis, H. R.
Park, D. M. See Luckham, D, C.
420. Paterson, M. S. 11967], Equivalence Problem in a Model of Computation, Doctoral
Thesis, Cambridge University, Cambridge, England. (A11.2)
Ш,Paterson, M. S., and M. N. Wegman [1978], "Linear unification," J. Comput.
SystemSci. 16, 158-167. (A7.3;A9.2)
Paterson, M. S..See also Bauer, M.; Luckham, D. C,
hll. Paul, W. J. [1977], "А 2.5л lower bound on the combinational complexity of
Boolean functions," SIAMJ. Comput. 6, 427-443. G,6)
4Z3.Paull, M., and S, Unger [1959], "Minimizing the number of states in incom-
incompletely specified sequential switching functions," IRE Trans. Electron.
Comput. EC-8, 356-367. (AW. 1)
Ш. Perl, Y., and Y. Shiloach [1978], "Finding two disjoint paths between two pairs
of vertices in a graph," J. Assoc. Comput. Mack 25,1-9. (A2.4)
4?5.Perl, Y., and S. Zaks [1978], private communication. (A1.5)
Perl, Y. See also Itai, A.
42E Pfleeger, С F. [1973], "State reduction in incompletely specified finite-Stale
machines," IEEE Trans. Computers C-22,1099-1102. (A10.1)
hV, Pfleeger, C. F. [1974], Complete Sets and Time and Space Bounded Computation,
Doctoral Thesis, Computer Science Dept., Pennsylvania State University,
University Park, PA. (A 10.1)
«h;Pippenger, N., and L. G. Valiant [1976], "Shifting graphs and their applica-
applications," J. Assoc. Comput. Mach. 23, 423-432. G.6)
Ш Plaisted, D. [1976], "Some polynomial and integer divisibility problems are NP-
hard," Proc. 17th Ann. Symp. on Foundations of Computer Science, IEEE Comput-
Computer Society, Long Beach, CA, 264-267. (A3.1; A6; All; A7.2; A7.3)
430. Plaisted, D. [1977a], "Sparse complex polynomials and polynomial reducibility,"
J. Comput. System Scl. 14, 210-221. (A7.1; A7.2)
431; Plaisted, D. [1977b], "New NP-hard and NP-complete polynomial and integer
divisibility problems," Proc. 18th Ann. Symp. on Foundations of Computer Science,
IEEE Computer Society, Long Beach, CA, 241-253. G.1; A 7.1; A 7.2)
432. Plesni'k, J. [1978], "The NP-compIeteness of the Hamiltonian cycle problem in
planar digraphs with degree bound two," unpublished manuscript. (A1.3)
Pnueli, A. See Even, S.
435.POLJAK, S. [1974], "A note on stable sets and colorings of graphs," Comment.
Math. Univ. Carolinae 15, 307-309. (A1.2)
Wi Pratt, V. [1975], "Every prime has a succinct certificate," S1AM J. Comput. 4,
214-220. G.1.-A1.3)
435. Pratt, V. [1977], "Two easy theories whose combination is hard," unpublished
manuscript, (A9.2J
Литература 401
Pratt, V. See also Litvintchouk, S. D.
Preparata, P. P. See Johnson, D. S.
4J6.Pr6mel, H. J. [1978], private communication. (A2.4)
Proskurowski, A. See Farley, A.
457. Pudlak, P. [197S], "Polynomial^ complete problems in the logic of automated
discovery," in Mathematical Foundations of Computer Science, Lecture Notes in
Computer Science, Vol. 32, Springer, Berlin, 358-361. (A9.2)
4JJ. Pudlak, P., and F. N. Sprinosteel [1975], "Complexity in mechanized hypothesis
formation," unpublished manuscript. (A 12)
Pultr, A. See Nesetril, J.
•«S.Qjueyranne, M. [1976], private communication. (Al.S)
ViO.Rabin, M. O. [1958], "Recursive unsolvability of group theoretic problems," Ann.
of Math. 67,172-194. A.4)
4U Rabin, M. O. [1976], "Probabilistic algorithms," in J. F. Traub (ed), Algorithms
and Complexify: New Directions and Recent Results, Academic Press, New York,
21-39. F.3)
Rabin, M. O. See also Fischer, M. J.
442. Rafsky, L. [1977], private communication. (All)
Чао, М. R. See Dantzig, О. В.
Ratliff, H. D. See Bartholdi, J. J., HI.
441Reif, J. H. [1978a], "A/note on the complexity of imbedding extension problems,"
unpublished manuscript. (A IS)
4№Reif, H. J. [1978b], "Polynomial time recognition of graphs of fixed genus,1' un-
unpublished manuscript. (A 13)
445.REINGOLD, E. M., J. NlEVERGELD, AND N. Deo [1977], Combinatorial Algorithms:
Theory and Practice, Prentice-Hall, Inf., Englewood Cliffs, NJ. D.0)
446. Reiss, S. P. [1977a], Inverse Translation: the Theory of Practical Automatic Program-
Programming, Doctoral Thesis, Dept. of Computer Science, Yale University, New
Haven, СТ. (А10.2)
W. Reiss, S. P. [1977b], "Statistical database confidentiality," Report No. 25, Depl. of
Statistics, University of Stockholm, Stockholm, Sweden. (A4.3)
4*8. Reiss, S. P., and D. P. Dobkin [1976], "The complexity of linear programming."
Report No. 69, Dept. of Computer Science, Yale University, New Haven, CT.
G.1; A6; A13)
lEISS, S. P. See also Dobkin, D.
44&'Reyner. S. W. [1977], "An analysis of a good algorithm for the subtree problem,"
S1AMJ. Comput. 6, 730-732. D.2.2; A1.4)
Rinnooy Kan, A. H. G. See Graham, R. L.; Johnson, D. S.; Labetoulle, J.:
Lageweg, B. J.; Lenstra, J. K.
Ritchie, D. M. See Meyer, A. R.
Rivest, R. L. See Hyafil, L; LaPaugh, A. 5,
402 Литература
451 Robertson, E. L. [1977], "Code generation for short/long address machines," Re-
Report No. 1779, Mathematics Research Center, University of Wisconsin, Madis-
Madison, WI. (A1J.1)
451. Robertson, E. L. [1978], "Microcode bit optimization is NP-complete," IEEE
Trans. Computers (to appear). (All.I)
45Z. Robertson, E., and I. Munro [1978], "NP-completeness, puzzles, and games,"
Utilitas Math. 13, 99-116. G.4; A8)
Robinson, J. See Matuasevic, Y.
Rodeh, M. See Itai, A.
Rodl, V. See Nesetril, J.
453., Rogers, H., Jr [1967], Theory of Recursive Functions and Effective Computability,
McGraw-Hill, New York. G.2)
454. Rose, D. J., and R. E. Tarjan [1978], "Algorithmic aspects of vertex elimination
on directed graphs," S/AMJ. Appl. Math. 34, 176-197. (A 1.3)
455. Rose. D., R. Tarjan, and G. Lueker [1976], "Algorithmic aspects of vertex elim-
elimination on graphs," S/AMJ. Comput. 5, 266-283. (A13)
456. Rosenkrantz, D. J. [1969], "Programmed grammars and classes of formal
languages," J. Assoc. Comput. Mach. 16, 1077131. (A10.2)
457 Rosenkrantz, D. J., R. E. Stearns, and P. M. Lewis [1977], "An analysis of
several heuristics for the traveling salesman problem," SIAM J. Comput. 6,
563-581. F.1)
Rosenkrantz, D. J. See also Hunt, H. В., III.
458 Rosenthal, A. [1974], Computing Reliability of Complex Systems, Doctoral Thesis,
Dept. of Electrical Engineering and Computer Science, University of California,
Berkeley, CA. (A2.2)
45S Rosenthal, A. [1977], "Computing the reliability of a complex network," S/AMJ.
Appl. Math. 32, 384-393. F.2)
Rothnie, J. B. See Papadimitriou, С. Н.
460. Rounds, W. С [1973], "Complexity of recognition in intermediate level
languages," Proc. 14th Ann. Symp. on Switching and Automata Theory, IEEE
Computer Society, Long Beach, CA,-145-158. 64/0./; A10.2)
Rounds, W. С See also Jazayeri, M.
Rozenberg, G. See Herman, G. T.
Russo, W. L. See Harrison, M. A.
461. Rutledge, J. [1964], "On Ianov's program schemata," J. Assoc. Comput.
Mach. 11,1-9. (A11.2)
4RZ.Sagiv, Y., and M. Yannakakis [1978], "Equivalencce among relational expres-
expressions with the union and difference operations," Report No. 241, Dept. of
Electrical Engineering and Computer Science, Princeton University, Princeton,
NJ. (A4.3)
Sagiv, Y. See also AHO, A. V.
¦WJ.SAHN1, S. [1974], "Computationally related problems," SIAM J. Comput. 3, 262-
279. E.2; A1.2; A2.4; A6; A 7.3; A12)
Литература 403
464. Sahni, S. [1975], "Approximate algorithms for the u/i knapsack problem," J. As-
Assoc. Comput. Mack 22, 115-124. F.1)
W5. Sahni, S. [1976], "Algorithms for scheduling independent tasks," J. Assoc. Comput.
Mach. 23, 116-127. D.2.2; 6.1)
466. Sahni, S. [1977], "General techniques for combinatorial approximation," Opera-
lions Res. 25, 920-936. F.3)
467-Sahni, S., and Y. Cho [1977a], "Scheduling independent tasks with due times on a
uniform processor system," Report No. 77-7, Computer Science Dept., Univer-
University of Minnesota, Minneapolis, MN. (A5.2)
468. Sahni, S., and Y. Cho [1977b], "Complexity of scheduling shops with no wait in
process," Report No. 77-20, Computer Science Dept., University of Minnesota,
Minneapolis, MN. (AS.3)
469. Sahni, S., and T. Gonzalez [1976], "P-complete approximation problems," / As-
Assoc. Comput. Mach. 23, 555-565. F.2; A2.3)
Sahni, S. See also Cm, Y.; Constable, R. L.; Gonzalez, Т.; Horowitz, E; Ibar-
Ibarra, O. H.
470. Savitch, W. J. [1970], "Relationship between nondeterministic and deterministic
tape complexities," J. Comput. System Sci. 4, 177-192. G.4)
471. Savitch, W. J. [1974], "Nondeterministic log n space," Proc. 8th Ann. Princeton
Conf. on Information Sciences and Systems, Dept. of Electrical Engineering,
Princeton University, Princeton, NJ, 21-23. G.5)
472.Schaefer, T. J. [1974], private communication. (Al.l)
473.SCHAEFER, T. J. [1978a], "Complexity of some two-person perfect-information
games," J. Comput. System-Sci. 16, 185-225. G.4; AS)
mScHAEFER, T. J. [1978b], "The complexity of satisfiability problems," Proc. 10th
Ann. ACM Symp. on Theory of Computing, Association for Computing
Machinery, New York, 216-226. (Al.l; A9.1; A9.2)
Schaefer, T. See also Fraenkel, R. S.
Schmidt, E. M. See Fortune, S.
TO.,Seiferas, J. I., M. J. Fischer, and A. R. Meyer [1978], "Separating nondeter-
nondeterministic time complexity classes," / Assoc. Comput. Mack 25; 146-167. G.6)
Selman, A. L. See Baker, T. P.; Ladner, R. E.
W. Sethi, R. [1973], "A note on implementing parallel assignment instructions," In-
Information Processing Leu. 2, 91-95. (All.l)
411.Sethi, R. [1975], "Complete register allocation-problems," S1AM J. Comput. 4,
226-248. C.2.3; All.l)
47& Sethi, R. [1977a], "On the complexity of mean flow time scheduling," Math. Oper.
Res. 2, 320-330. (A5.2)
479.Sethi, R. [1977b], private communication. (A7.3)
i, R., and J. D. Ullman [1970], "The generation of optimal code for arith-
arithmetic expressions," J. Assoc. Comput. Mach. 17, 715-728. (All.l)
Sethi, R. See also Ано, A. v.; Bruno, J.; Comer, D.; Cook, S.; Downey, P. J.;
GarBY, M. R,; Horvath. E. С
404 Литература
481. Shamir, A. 11977], "Finding minimum cutsets in reducible graphs," Report No.
MlT/LCS/TM-85, Laboratory for Computer Science, Massachusetts Institute of
Technology, Cambridge, MA. (AI.I)
Shamir, A. See also Even, S.
4BZ. Shamir, В., and C. Bef.ri [1974], "Checking stacks and context-free programmed
grammars accept P-complete languages," in J. Loeckx (ed.), Proc. 2ndColloq. on
Automata, Languages, and Programming, Lecture Notes in Computer Science,
Vol. 14, Springer, Berlin, 27-33. (AIO.I; AI0.2)
483. Shamos, M. I. [1976], "Geometry and statistics: problems at the interface," in J. F.
Traub (ed.). Algorithms and Complexity: New Directions and Recent Results,
Academic Press, New York, 251-280. (A 12)
Shamos, M. I. See also Meyer, A. R.
484. Shapiro, S. D. [1977], "Performance of heuristic bin packing algorithms with seg-
segments of random length," Information and Control 35, 146-158. F.3)
485. Shapley, L. S., and M. Shubik [1954], "A method of evaluating the distribution
of power in a committee system," Amer. Pol. Sci. Rev. 48, 787-792. (A12)
486. Shiloach, Y. 11976], "A minimum linear arrangement algorithm for undirected
trees," Report, Dept. of Applied Mathematics, Weizmann Institute, Rehovot,
Israel. (A 1.3)
487. Shiloach, Y. [1978], "The two paths problem is polynomial," Report No. STAN-
CS-78-654, Computer Science Department, Stanford University, Stanford, CA.
(A2.4.A13)
Shiloach, Y. See also Even, S.; Itai, A.; Perl, Y.
Shubik, M. See Shapley, L. S.
488. Sidney, J. B. [1973], "An extension of Moore's due date algorithm," in S. E. El-
maghraby (ed.), Symposium on the Theory of Scheduling and its Applications, Lec-
Lecture Notes in Economics and Mathematical Systems, Vol. 86, Springer, Berlin,
393-398. (AS. 1)
489. Sidney, J. B. [1975], "Decomposition algorithms for single-machine sequencing
with precedence relations and deferral costs," Operations Res. 23, 283-298.
(A5.1)
Sidney, J. B. See also Monma, С L.
490. Simon, J. [1975], On Some Central Problems in Computational Complexity, Doctoral
Thesis, Dept. of Computer Science, Cornell University, Ithaca, NY. G.3)
491. Simon, J. [1977], "On the difference between the one and the many (preliminary
version)," in Automata, Languages, and Programming, Lecture Notes in Comput-
Computer Science, Vol. 52, Springer, Berlin, 480-491. G.3)
49Z. Simons, B. [1978], "A fast algorithm for single processor scheduling," Proc. 19th
Ann. Symp. on Foundations of Computer Science, IEEE Computer Society, Long
Beach, CA, 246-252. (AS.l)
Simons, B. See also Garey, M. R.
Sipser, M. See
Skyum, S. See Jones, N. D.
Литература 405
WSlater, P. J, [1976], "Я-domination in graphs," / Assoc. Compui. Mach. 23, 446-
450. (A3.S)
Slater, P. J. See also Cockayne, E.
4H.SMITH, W. E. [1956], "Various optimizers for single-state production," Naval Res.
Legist. Quart. 3, 59-66. (A5.1)
Solovay, R. See Baker, T.
Springsteel, F. N. See PudlaK, P.
4S5.Statman, R. [1976], private communication. (A1.4;A9.I)
Stearns, R. E. See Hartmanis, J.; Rosenkrantz, D. J.
Steiolitz, K. See Papadimitriou, С. Н.
«6.STOCKMEYER, L. J. [1973], "Planar 3-colorabilily is NP-complete," S1GACT
News 5:3, J9-25. C.2.3; 4.1)
4S7.Stockmeyer, L. J. [1974a], The Complexity of Decision Problems in Automata Theorf
and Logic, Doctoral Thesis, Dept. of Electrical Engineering, Massachusetts Instl<
tute of Technology, Cambridge, MA. (AI0.2)
49aSTOCKMEYER, L. J. [1974b], private communication. (A 1.3)
499.STOCKMEYER, L. J. [1975], "The set basis problem is NP-complete," Report No
RC-5431, IBM Research Center, Yorktown Heights, NY. (A3.1)
500.Stockmeyer, L. J. [1976a], "The polynomial-time hierarchy," Theor. Compui.
Sci. 3, 1-22. G.2; 7.4; 7.5; A7.3)
501.Stockmeyer, L. J. [1976b], private communication. (A4.1)
50IStockmeyer, L. J., and A. K. Chandra [1978], "Provably difficult combinatorial
games," Report No. RC-6957, IBM Thomas J. Watson Research Center, York-
town Heights, NY. G.6)
503.STOCKMEYER, L. J., and A. R. Meyer [1973], "Word problems requiring exponen-
exponential time," Proc. 5th Ann. ACM Symp. qn Theory of Computing, Association for
Computing Machinery, New York, 1-9. G.4; 7.5; A7.1;A7.3; A8;A9.2; A10.2)
Stockmeyer, L. J. See also Chandra, A. K.; Garey, M. R.; Kou, L. Т.; Meyer,
A. R.
5045TONE, H. S., and S. H. Fuller [1973], "On the near-optimality.of the shortest-
latency-time-first drum scheduling discipline," Comm. ACM 16, 352-353. F.1)
505-Storer, J. A. [1977], "NP-completeness results concerning data compression," Re-
Report No. 234, Dept. of Electrical Engineering and Computer Science, Princeton
University, Princeton, NJ. (A4.2)
506.STORER, J. A., and T. G. Szymanski [1978], "The macro model for data compres-
compression (Extended abstract)," Proc. 10th Ann. ACM Symp. on Theory of Computing,
Association for Computing Machinery, New York, 30-39. (A4.2)
Storer, J. A. See also Maier, D.
607.Sudborough, I. H. [1975], "A note on tape-bounded complexity classes and linear
context-free languages," J. Assoc. Comput. Mach. 11, 499-500. G.5)
5O8.Sugiyama, Y., T. Araki, J. Okui, and T. Kasami [1977], "Complexity of the
deadlock avoidance problem," Trans. IECE Japan 60-D, 251-258 (in Japanese)
Ш)
406 Литература
Sugiyama, Y. See also Araki, T.
509.SUURBALLE, J. W. [1975], "Minimal spanning trees subject to disjoint arc set con*
straints," unpublished manuscript. (A2.1)
510.Syslo, M. M. [1973], "A new solvable case of the traveling salesman problem,"
Math. Programming 4, 347-348. (A2.3)
511. Szymanski, T. G. [1978], "Assembling code for machines with span-dependent in-
instructions," Comm. ACM 21, 300-308. C.2.2; A1U)
Szymanski, T. G. See also Hunt, H. В., Ill; Storer, J. A.
TANIMOTA, S. L. See Itai, A.
SIZJarjan, R. E, [1977], "Finding optimum branchings," Networks 7, 25-35. (A2.1)
513.Tarjan, R. E., and. A. E. Trojanowski [1977], "Finding a maximum independent,
set," SIAMJ. Comput. 6, 537-546. F.0; 7.6)
TARJAN, R. E. See also EhrlicH, G.; Eswaren, K. P.; Even, S.; GAREY, M. R.;
Hopcroft, J. E.; Lipton, R. J.; Rose, D. J,
Teranaka, K. See Ibaraki, T.
Thomassen, G. See Chvatal, V.
Toida, S. See Ibaraki, T.
SW.Trakhtenbrot, B. A., and Y. M. Barzdin [1973], Finite Automata, North-
Holland, Amsterdam. (A 10.1)
Treybio, L. B. See Borosh, I.
Trojanowski, A. E. See Tarjan» R. E.
515.Tseitin, G. S. [1970], "On the complexity of derivation in prepositional calculus,"
in A. O. Slisenko (ed.), Studies in Constructive Mathematics and Mathematical
Logic — Part 11, Consultants Bureau,- New York, 115-125. G.6)
516.Tsichritzb, D. [1970], "The equivalence problem of simple programs," /. Assoc.
Comput Mack.17, 729-738. (AU.2)
517.TURING, A. [1936], "On computable numbers, with an application to the
Entscheidungsproblem," Proc. London Math. Soc. Ser. 2 42, 230-265 and 43,
544-546. A.4)
518.ULLMAN, J. D. [1975], "NP-complete scheduling problems," /. Comput. System
Scl. 10, 384-393. D.1; A5.2; A13)
5W.Uli.man, J. D. [1976], "Complexity of sequencing problems," in E. G. Coffman,
Jr., (ed.). Computer and Job/Shop Scheduling Theory, John Wiley & Sons, New
York, 139-164. (A5.2)
Ullman, J. D. See also Am, A. V.; Harrison, M. A.; Hopcroft, J. E.; Hunt, H
В., Ill; Johnson, D. S.; Sethi, R.
Ungbr, S. See Pauix, M.
32O.Vauant, L. G. [1976a], "Relative complexity of checking and evaluating," In/or*
motion Processing Lett. 5, 20-23. E.1)
52I.Valiant, L. G. [1976b], "A polynomial reduction of satisfiability to Hamiltonian
circuits that preserves the number of solutions," unpublished manuscript. G.3)
Литература
52Z.Valiant, L. G. [1977a], "The complexity of computing the permanent," Report
No. CSR-14-77, Computer Science Department, University of Edinburgh, Edin-
Edinburgh, Scotland, do appear Theor. Comput. Sci.). G.3; AI.I.A7.3)
MS.Vauant, L. G. [1977b], "The complexity of enumeration and reliability prob-
problems," Report No. CSR-15-77, Computer Science Dept., University of Edin-
Edinburgh, Edinburgh, Scotland. G.3; A2.2)
824.Valiant, L. G. [1977c], private communication. (Al.S; A7.2)
Valiant, L. G. See also Anoluin, D.; Pippenger, N.
SZ5.VAN Leeuwen, J. [1975], "The membership question for ETOL-languages is poly-
nomially complete," Information Processing Lett. 3, 138-143. (A 10.2)
526.VAN Leeuwen, 1. [1976a], "Having a Grundy-numbering is NP-comp!ete," Report
No. 207, Computer Science Dept., Pennsylvania State University, University
Park, PA. (Al.S)
527, van Lheuwen, J. [1976b], "Variations on a new machine model," Proc. 17th Ann.t
Symp. on Foundations of Computer Science, IEEE Computer Society, Long Beach,
CA, 228-235. G.5)
52J.VAN Leeuwen, J. [1977], "Inequivalence of program-segments and NP-com-
pleteness," Report No. 216, Computer Science Dept., Pennsylvania State
University, University Park, PA. (A1I.2)
62S.VAN Sickle, L., and К. М. Chandy [1977], "The complexity of computer network
design problems," unpublished manuscript. (A4.1)
van Tilborg, H. С A. See Berlekamp, E. R.
830.Wagner, R. A. [1975], "On the complexity of the extended string-to-string correc-
correction problem," Proc. 7th Ann. ACM Symp. on Theory of Computing, Association
for Computing Machinery, New York, 218-223. (A4.2)
531.Wagner, R. A., AND M. J. Fischer [1974], "The string-to-string correction prob-
problem," J. Assoc. Comput Mack 21,168.173. (A4.2)
532.Wai.sh, A. M., and W. A. Burkhard [1977], "Efficient algorithms for C,1)
graphs," Information Sci. 13,1-10. (Al.l)
Wegman, M. N. See Paterson, M. S.
Weinberg, L. See Bruno, J.
SSlWiNKLMANN, K. A. [1977], A Theoretical Study of Some Aspects of Parameter Passing
In ALGOL-60 and in Similar Programming Languages, Doctoral Thesis, Purdue
University, Lafayette, IN. (A11.2)
SW.WrtSENHAUSEN, H. S. [1978], "Information aspects of stochastic control," unpub-
unpublished manuscript. (A3.2)
Wolsey, L. A. See Nemhauser, G. L.
535.Wong, С. К., AND A. C. Yao [1976], "A combinatorial optimization problem relat-
related to data set allocation," Rev. Francaise Automat. Informal Recherche Operation-
ntlkSer. Bleue 10.5 (suppl.), 83-95. (A3.2)
Wong, С K. See also Hirschberg, D. S.; Karp, R. M.; Kou, L. T.
Wong, J. K. See Hopcroft, J. E.
408 Литература
536.WraThall, С. [1976], "Complete sets and the polynomial-time hierarchy," Theor.
Comput. Scl. 3, 23-33. G.2; 7.4)
537.Yannakakis, M. [1978al, "The node deletion problem for hereditary properties,"
Report No. TR-240, Computer Science Laboratory, Princeton University, Prince-
Princeton, NJ. (A1.2)
538.Yannakakis, M. [1978b], "Node- and edge-deletion NP-complete problems,"
Proc. 10th Ann. ACMSymp. on Theory of Computing, Association for Computing
Machinery, New York, 253-264. (Al. 1; A1.2; A2.2)
539.Yannakakis, M. [1978c], private communication. (A 1.2)
540.YANNAKAKIS, M., and F. Gavril [1978], "Edge dominating sets in graphs," un-
unpublished manuscript. (Al.l;AI.2;A12)
Yannakakis, M. See also Papadimitriou, С. Н.; Sagiv, Y.
Э^.Уло, А. С [1976], private communication. F.3)
54Z.YAO, А. С. [1978а], "New algorithms for bin packing," Report.No. STAN-CS-78-
662, Computer Science Department, Stanford University, Stanford, CA. F.1)
ЬЧЪХкО, А. С [1978b], private communication. (A3.2)
Yao, A. C. See also Garey, M. R.; Wong, С. К.
Yesha, Y. See Fraenkel, A. S.
544.ZADEH, N. [1973], "A bad network problem for the simplex method and othet
minimum cost flow algorithms," Math. Programming 5, 255-266. A.3)
Zaks, S. See Perl, Y.
Zalcstein, Y. See Upton., R. J.
Работы, переведенные на русский язык
или первоначально изданные в СССР
[8] Ахо А., Хопкрофт Дж., Ульман Дж. Временная и ленточная сложность
языков магазинных автоматов. В сб. «Языки и автоматы». — М.: Мир,
1975, 185—197.
[9] Ахо А. Хопкрофт Дж., Ульман Дж. Построение и анализ вычисли-
вычислительных алгоритмов.—М.: Мир, 1979.
[14] Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и ком-
компиляции. Т. 1. Синтаксический анализ. — М: Мир, 1978.
[90] Конвей Р., Максвелл В., Миллер Л. Теория расписаний. — М.: Наука,
1975.
[91] Кук С. А. Сложность процедур вывода теорем. — Киб. сб., нов. сер.,
вып. 12. — М.: Мир, 1975, 5—15.
{1011 Дейт К. Введение в системы баз данных. — М.: Наука, 1980.
1961 Харари Ф. Теория графов. — М.: Мир, 1973.
204] Хартманис Дж., Стирнз Р. О вычислительной сложности алгорит-
алгоритмов. — Киб. сб., нов. сер., вып. 4. — М.: Мир, 1967, 57—85.
[211] Хопкрофт Дж. Е. —Киб. сб., Нов. сер., вып. П. —М.: Мир, 1974,
177—184.
[226] Ху Т. Целочисленное программирование и потоки в сетях. — М.: Мир,
1974.
[280] Карп Р. М. Сводимость комбинаторных задач. — Киб. сб. — М.: Мир,
1975, 16-38.
[340] Левин А. А. Универсальные задачи перебора. — Проблемы передачи
информации, 9, № 3, 1973, 115—116.
Литература 409
[373] Мандерс К., Эдлимэн Л. NP-полные проблемы разрешения для квад-
квадратных уравнений с двумя неизвестными. — Киб. сб., нов. сер.,
вып. 17. — М.: Мир, 1980.
[376] Матиясевич Ю. В. Диофантовость перечнслвмых множеств. — ДАН
СССР, 191, 2, 1970, 279—282.
[3881 Минский М. Вычисления и автоматы. — М.: Мир, 1971.
402] Нигматулин Р. Г. О приближенных алгоритмах с ограниченной абсо-
абсолютной погрешностью для дискретных экстремальных задач. — Кибер-
Кибернетика, № 1, 1978, 95—101.
[453] Роджерс X. Теория рекурсивных функций и эффективная вычисли-
вычислимость. — М.: Мир, 1972.
[514] Трахтенброт Б. А., Бардзинь Я. М. Конечные автоматы: поведение и
синтез.—М.: Наука, 1976.
Литература, дополненная авторами при переиздании
1*. Пшгп, I. S., and J. N. Mayer [1980], "A polynomial-time algorithm for determining
the isomorphism of graphs of fixed genus," Proc. 12Л Ann. ACM Symp. on Theory of
Computing, Association for Computing Machinery, New York.
2*. Fortune, S., J. Hofcroft, and J. Wyljje [1980], "The directed subgraph homeomor-
phism problem," Theor. Comput. Set. 10,111-121.
3*. Gacs, P., and L. Lovasz [1979], "Khacfaian's algorithm for linear programming,"
Math. Prog. Studies (to appear).
4*. Hoffmann, C. [1980], 'Testing isomorphisms of cone graphs," Proc. 12th Ann. ACM
Symp. on Theory of Computing, Association for Computing Machinery, New York.
5*. Holyer, L private communication.
6*.Khachian, L. O. [1979], "A polynomial algorithm in linear programming," DoU.
Akad. NaiA. SSSR 244, 1093-1096 (in Russian). English translation in Soviet Math.
DoU. 20,191-194.
7*. Lkhtenstein, D. [1980], "Isomorphism lor graphs embeddabie on the protective
plane," Proc. 12th Ann. ACM Symp. on Theory of Computing, Association for Com-
Computing Machinery, New York.
6*. Lovasz, L. [1978], "The matroid parity problem," Proc. Conf. Algebraic Methods in
Graph Theory (Szeged, 1978) (to appear).
Э*. Luks, B. M. [1980], "A polynomial time algorithm for isomorphism of bivalent
graphs " (to appear).
Vf. MnXER, G. L. [1980], "Isomorphism testing for graphs of bounded genus," Proc. 12th
Ann. ACM Symp. on Theory of Computing, Association for Computing Machinery,
New York.
11*.Seymour, P. D. [1979], "Decomposition of regular matroids," Report No. CORR 79-
8, Department of Combinatorics and Optimization, University of Waterloo, Water-
Waterloo, Ontario.
Литература, дополненная при переводе на русский язык
[12*] Адельсон-Вельский Г. М., Диниц Е. А., Карзанов А. В. Потоковые
алгоритмы. — М.: Наука, 1975.
[13*1 Бабат Л. Г. Приближенное вычисление линейной функции на верши-
вершинах единичного л-мерного куба. В сб. «Исследования по дискретной
оптимизации». — М.: Наука, 1975.
410 Литература
[14*1 Бабат Л. Г. Линейные функции на я-мерном единичном кубе. ДАН
СССР, т. 221, № 4, 1975.
[15*] Гене Г. В., Левнер Е. В. Эффективные приближенные алгоритмы для
комбинаторных задач. Препринт. — М.: ЦЭМИ АН СССР, 1981.
[16*] Гене Г. В., Левнер Е. В., Фрумкин М. А. О вычислительной сложности
экстремальных комбинаторных задач. — Советско-польский научный
семинар по математическим методам в планировании и управлении
экономикой. Сборник тезисов. —М.: ЦЭМИ АН СССР, 1979.
[17*] Диниц Е. А., Карзанов А. В. Об экспоненциальной сложности алго-
алгоритмов решения общей и транспортной задач линейного программиро-
программирования. В сб. «Управление сложными системами:». — М.: ИАТ, 1974,
32—41.
{18*1 Исследования по дискретной математике. — М.: Наука, 1973.
19*1 Исследования по дискретной оптимизации. — М.: Наука, 1976.
20*] Кнут Д. Искусство программирования для ЭВМ. — Т. 1. Основные
алгоритмы. — М.: Мир, 1976; Т. 2. Получисленные алгоритмы, М., Мир,
1977; Т. 3. Сортировка и поиск. — М.: Мир, 1978.
[21*] Комбинаторные методы в потоковых задачах. ВНИИСИ, сб. трудов,
вып. 3. — М.: 1979.
[22*] Кристофидес Н. Теория графов. Алгоритмический подход. — М.: Мир,
1978.
[23*] Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика
для инженера. — М.: Энергия, 1980.
[24*] Леонтьев В. К. Дискретные экстремальные задачи 25. — Итоги науки
и техники, сер. Теория вероятностей, матем. статистики, теория кибер-
кибернетики, т. 16. — М.: 1979, ВНИИТИ, 39—102.
[25*] Лившиц Э. М., Рублинецкий В. И. О сравнительной сложности неко-
некоторых задач дискретной оптимизации. В сб. «Вычислительная матема-
математика и вычислительная техника». Вып. 3. — Харьков, 1972, 78—85.
[26*] Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Физматгиз,
1965.
[27*] Матиясевич Ю. В. Диофантовы множества. — Успехи матем. наук,
т. XXVI, вып. 5 A67), 1972 A85—222).
[28*] Пахомов С. В. Машинно-независимое описание некоторых машинных
классов сложности. — Записки науч. семинаров ЛОМИ, т. 88, 176—185.
[29*] Прим Р. К. Кратчайшие связывающие сети и некоторые обобщения. —
Киб. сб., вып. 2, 1961. 95—107.
[30*] Тарьян Р. Э. Сложность комбинаторных алгоритмов. — Киб. сб., нов.
сер., вып. 17.
[31*] Фридман А. А., Фрумкин М. А., Хмелевский Ю. И., Левнер Е. В. Ис-
Исследование эффективных алгоритмов для дискретных и комбинаторных
задач. Теории сводимости, универсальные задачи. — М.: ЦЭМИ АН
СССР, 1976.
[32*] Фрумкин М. А. Сложность дискретных задач. — М.: ЦЭМИ АН СССР,
1981.
[33*] Хачиян Л. Т Полиномиальный алгоритм в линейном программирова-
программировании. ДАН СССР, т. 244, вып. 5, 1979.
[34*] Шоломов Л. А. Основы теории дискретных логических и вычислитель-
вычислительных устройств. — М.: Наука, 1980.
[35*] Grotschel M., Lovasz L., Schrijyer A. The ellipsoid method and its con-
consequences in combinatorial optimisation. Institut fur Okonometric and
Operation Res, Rheinische Friedrich — Wilchelms — Universitat» Behn.
1980. Report N80151 — OR.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Алгоритм 17
— «в наилучший из подходящих»
(best fit) 159
— «в первый подходящий» (first
fit) 157
в порядке убывания 160
— «жадный» (greedy) 171
— недетерминированный 44
— полиномиальный 19
— приближенный 156
— псевдополиномиальный (pseudo po-
polynomial time algorithm) 121
— эвристический 155
— экспоненциальный 19
Алфавит 18, 33
Асимптотическая погрешность алго-
алгоритма (asymptotic performance ra-
ratio) 162
Бандерснечи 13 „
БУЛЕВСКИЕ ФОРМУ, ПЬ1 С КВАН-
КВАНТОРАМИ (БФК) 213
Быстродействие ЭВМ 19
Величина решения (solution value) 156
ВЕРШИННОЕ ПОКРЫТИЕ (ВП)
(vertex cover) 65, 74
Вполне полиномиальная приближен-
приближенная схема 173
Временная сложность алгоритма
(time complexity function) 18, 137
НДМТ-программы 48
Входная длина задачи (input length)
18
Выигрыш форсированный (forced
win) 215
ВЫПОЛНИМОСТЬ (ВЫП) 56—57
3-ВЫПОЛНИМОСТЬ C-ВЫП) 65, 67
ВЫЧИСЛЕНИЕ СЕМЕЙСТВА (en-
(ensemble computation) 88
ГАМИЛЬТОНОВ ПУТЬ (Path) 81
— ЦИКЛ (ГЦ) (circuit) 53, 66, 77
Граф ориентированный (directed) 81
— пленарный 113
ДЕЛИМОСТЬ НА ЧЕТЫРЕ 41
Дерево 135
ДЕРЕВО ШТЕИНЕРА 100
Детерминированная одноленточная
машина Тьюринга, или ДМТ 38
Дизъюнкция (clause) 56
Длина решения задачи (solution
length) 25
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО
100
ДМТ [см. Детерминированная одно-
одноленточная машина Тьюринга]
— программа 38—40
линейно ограниченная (linear
bounded) 218
полиномиальная 42
ДОСТРОЙКА МАРШРУТА КОММИ-
КОММИВОЯЖЕРА (ДМК) (extension)
147
ЕДИНИЧНАЯ РЕЗОЛЮЦИЯ (unit
resolution) 223
Задача (problem) 16
— выполнимости (satisfiability) 27
— индивидуальная (instance) 16
— комбинаторная оптимизационная
156
— массовая 16
— перечисления (enumeration) 209
— распознавания свойств (decision
problem) 27, 31—32
— с числовыми параметрами (num-
(number problem) 122
— труднорешаемая (intractable) 21
Игры комбинаторные .(combinatorial
games) 215
Иерархия полиномиальная 203
ИЗОМОРФИЗМ ГРАФОВ 194
— ПОДГРАФУ 32, 43, 86
— ПОДЛЕСУ (subforest) 135
Изоморфность языков полиномиаль-
полиномиальная 200
Индивидуальная задача (instance) 16,
139
Класс
DLOQ-SPACE 220
EXP-SPACE 228
EXP-TIME 228
КР 210
КР-полных задач (P-complete)
210
NEXP-SPACE 229
NEXP-TIME 228
NLOQ-SPACE 225
NP 27, 28, 45, 48
NP-полных задач (NPC) 45
NPI 193
NP-SPACE 219
Р 42
P-SPACE 213
P-SPACE — полных задач 23
КЛИКА 65, 242
— МАКСИМАЛЬНОГО РАЗМЕРА
(maximum size clique) 205
КОММИВОЯЖЕР (KM) 32, 43-44
Композиция графов 181
412
Предметный указатель
КРАТЧАЙШИЙ ПУТЬ МЕЖДУ
ДВУМЯ ВЕРШИНАМИ 112
Кука теорема 57
Лес (forest) 134
ЛИНЕЙНАЯ ДЕЛИМОСТЬ 200
ЛИНЕЙНОЕ ПРОГРАММИРОВА-
ПРОГРАММИРОВАНИЕ 194
Логарифмическая память 220
Локальная замена (local replacement)
88
Максимальная полиномиально разре-
разрешимая подзадача 108
МАКСИМАЛЬНЫЙ РАЗРЕЗ (maxi-
(maximum cut) 113
Машина недетерминированная 26, 46
— Тьюринга 24, 46
Минимальная NP-полная подзадача
108
Минимальное остовное дерево (span-
(spanning tree) 165
МИНИМАЛЬНОЕ ПОКРЫТИЕ 86
— ЭКВИВАЛЕНТНОЕ ВЫРАЖЕ-
ВЫРАЖЕНИЕ 201
МИНИМАЛЬНЫЙ НАБОР ТЕСТОВ
95
— ЭКВИВАЛЕНТНЫЙ ОРИЕНТИ-
ОРИЕНТИРОВАННЫЙ ГРАФ 87, 112
МИНИМУМ СУММЫ КВАДРАТОВ
99
МНОЖЕСТВО ВЕРШИН, РАЗРЕ-
РАЗРЕЗАЮЩИХ КОНТУРЫ (feedback
vertex set) 100
— ПРЕДСТАВИТЕЛЕЙ (hitting set)
86
Мультираскраска графа 182
Набор значений истинности (truth as-
assignment) 56
НАИБОЛЬШИЙ ОБЩИЙ ПОДГРАФ
99
НДМТ-программа 46
Недетерминированная машина 26
— одноленточная машина Тьюринга,
или НДМТ 46
— оракульная машина Тьюринга, или
НОМТ 202
НЕЗАВИСИМОЕ МНОЖЕСТВО 74
Неразрешимая задача (undecidable) 25
НЕУНИВЕРСАЛЬНОСТЬ РЕГУЛЯР-
РЕГУЛЯРНОГО ВЫРАЖЕНИЯ 217
НЕЭКВИВАЛЕНТНОСТЬ РЕГУЛЯР-
РЕГУЛЯРНОГО ВЫРАЖЕНИЯ, НЕ СО-
СОДЕРЖАЩЕГО ЗВЕЗДОЧЕК 100
— ЦЕЛОЧИСЛЕННЫХ ВЫРАЖЕ-
ВЫРАЖЕНИЙ 207
НУМЕРАЦИЯ ГРАФА ПО ГРУНДИ
101
ОБОБЩЕННЫЙ ГЕКС (generalized
Hex) 216
ОМТ-программа 144
Оптимальное решение задачи 156
Оракульиая машина Тьюринга, или
ОМТ (oracle) 141
Остовное дерево (spanning tree) 86,
165, 258
ОСТОВНОЕ ДЕРЕВО ОГРАНИЧЕН-
ОГРАНИЧЕННОЙ СТЕПЕНИ 86
Отношение R« (relation) 198
Параметр 16
— числовой 122
Паросочетапие (matching) 167, 169
— максимальное 169
Переборная задача (search problem)
139
Погрешность алгоритма (performance
ratio) 162
Подзадача (subproblem) 105
Покрытие множества (cover) 86
Полиномиальная ДМТ-программа 42
— ОМТ-программа 144
— память (space) 212
— схема 173
— сводимость (polynomial transfor-
transformation) 51—52
Полиномиально эквивалентны (poly-
nomialy related) 35
Построение компоненты (component
design) 84, 96
Правильно построенное слово (stru-
(structured string) 36
Принимаемое программой слово (ac-
(accepted) 39
ПРИНЯТИЕ С ЛИНЕЙНОЙ ПА-
ПАМЯТЬЮ 218
Программа ДМТ (DTM) 38
— НДМТ (NDTM) 46
Псевдополиномиальная сводимость
(pseudo-polynomial transformation)
130
Псевдополиномиальный алгоритм 121
РАЗБИЕНИЕ (partition) 66, 81
— НА ГАМИЛЬТОНОВЫ ПОДГРА-
ПОДГРАФЫ 99
ПУТИ ДЛИНЫ 2 100
ТРЕУГОЛЬНИКИ 90-91
3-РАЗБИЕНИЕ 124
4-РАЗБИЕНИЕ 125
Размер задачи (size) 17—18
РАЗМЕР МИНИМАЛЬНОГО ЭКВИ-
ЭКВИВАЛЕНТНОГО ВЫРАЖЕНИЯ 205
Предметный указатель
413
РАСКРАШИВАЕМОСТЬ ГРАФА В
3 ЦВЕТА C-colorability) 101, 110,
182
РАСПИСАНИЕ ДЛЯ МУЛЬТИПРО-
МУЛЬТИПРОЦЕССОРНОЙ СИСТЕМЫ 87
ОБРАТНОГО ДЕРЕВА ЗАДА-
ЗАДАНИИ 112
ПРЯМОГО ДЕРЕВА ЗАДА-
ЗАДАНИИ 112
— С ОТНОШЕНИЕМ ПРЕДШЕСТ-
ПРЕДШЕСТВОВАНИЯ (precedence constrained
scheduling) 107
Распознавание языка (recognition)
РАСЩЕПЛЕНИЕ МНОЖЕСТВА
(splitting) 100
РЕБЕРНОЕ ПОКРЫТИЕ (edge co-
cover) 112
Регулярное выражение 217
Релятивизация 230
Решение задачи алгоритмом (solu-
(solution) 17
РЮКЗАК (knapsack) 87, 171
САМЫЙ ДЛИННЫЙ ПУТЬ 99, 112
Сводимость консервативная (parsi-
(parsimonious transformation) 210
— по Куку 150
— полиномиальная 51—52
— по Тьюрингу 141
— псевдополиномиальная 130
— log-space 222
— у (Y-reducibility) 198
Словарное отношение (string rela-
relation) 140
Слово алфавита (string) 33
правильно построенное (stru-
(structured) 36
Сложность алгоритма временная
(time complexity function) 18, 137
СОСТАВНЫЕ ЧИСЛА (composite
numbers) 194
Степень вершины графа (degree) ПО
Сужение задачи (restriction) 85
Схема кодирования (encoding sche-
scheme) 18
— приближенная 173
«разумная» 24, 34, 36
Теория графов 110
ТОЧНОЕ ПОКРЫТИЕ 3-МНОЖЕ-
СТВАМИ (ТП-3) 73
4-МНОЖЕСТВАМИ 100
ТРАНЗИТИВНАЯ РЕДУКЦИЯ 112
ТРЕХМЕРНОЕ СОЧЕТАНИЕ C-С)
65,70
Угадывающее устройство (guessing
device) 47
Упаковка в контейнеры 157
УПАКОВКА МНОЖЕСТВ 99
УПОРЯДОЧЕНИЕ ВНУТРИ ИНТЕР-
ИНТЕРВАЛОВ (sequencing within inter-
intervals) 93
— С МИНИМАЛЬНЫМ ЗАПАЗДЫ-
ЗАПАЗДЫВАНИЕМ (tardiness) 97
Управляющее устройство ДМТ (fi-
(finite state control) 38
Функция, конструируемая по време-
времени (time constructible) 227
— — по памяти (space constructib-
Цепочка символов (string) 18 [ел*.
также Слово алфавита]
Цикл простой в графе (simple cir*
cuit) 53
Числовой параметр (number) 122
Читающая/пишущая головка ДМТ 38
Эвристический алгоритм 155
Эйлеров граф 166
— маршрут (tour) 166
Эквивалентность полиномиальная 35
Язык в алфавите 33—34
— контекстно-зависимый (context-sen-
(context-sensitive) 220
— распознаваемый программой 39, 47
— рекурсивный 193
— log-space-полный 223
— NP-полный 55
— v-полный 199
DLB-автомат детерминированный ли-
нейно ограниченный 220
GA-алгоритм 171
К-е ПО ПОРЯДКУ ПОДМНОЖЕ-
ПОДМНОЖЕСТВО (K-th largest set subset)
145
КР-полная задача (#P-complete) 210
Length [Л 35. 119
Max [/] И9—120
ММ-алгоритм 167—168
MST-алгоритм 166
NLB-автомат (недетерминированный
линейно ограниченный) 220
NN-алгоритм 163—164
NP-легкая задача (easy)i 149
NP-полная задача 27, 45, 48, 51
в сильном смысле 123
NP-трудная задача (haraV i*o
NP-эквивалентная »»Дача„ 14S
P-space-полная задача 213
ОГЛАВЛЕНИЕ
От редактора перевода . 5
Предисловие .10
1. Вычислительные машины, сложность и труднорешаемые задачи .... 13
1.1. Введение 3
1.2. Задачи, алгоритмы и сложность 16
1.3. Полиномиальные алгоритмы и труднорешаемые задачи 19
1.4. Задачи, труднорешаемость которых доказуема 25
1.5. NP-полные задачи 26
1.6. О содержании книги 28
2. Теория NP-полных задач 31
2.1. Задачи распознавания, языки и кодирование . 31
2.2. Детерминированные машины Тьюринга и класс Р 38
2.3. Недетерминированное вычисление и класс NP 43
2.4. Взаимоотношения между классами Р и NP 49
2.5. Полиномиальная сводимость и NP-полные задачи 51
2.6. Теорема Кука 56
3- Доказательство результатов об NP-полноте 64
3.1. Шесть основных NP-полных задач 64
3.1.1. 3-выполнимость 67
3.1.2. Трехмерное сочетание 69
3.1.3. Вершинное покрытие и Клика 73
3.1.4. Гамильтонов цикл 77
3.1.5. Разбиение 81
3.2. Некоторые методы доказательства NP-полноты 84
3.2.1. Сужение задачи 85
3.2.2. Локальная замена 88
3.2.3. Построение компонент 96
3.3. Упражнения 99
4. Применение теории NP-полноты для анализа задач 102
4.1. Анализ подзадач 105
4.2. Задачи с числовыми параметрами и сильная NP-полнота . . . .117
4.2.1. Некоторые дополнительные определения 119
4.2.2. Доказательство результатов о сильной NP-полноте .... 123
4.3. Временная сложность как функция натуральных параметров . . 136
5. NP-трудные задачи 139
5.1. Сводимость по Тьюрингу и NP-трудные задачи 139
5.2. Историческая справка 150
Оглавление 415
Подходы к решению NP-полных задач 154
6.1. Оценки погрешности приближенных алгоритмов 156
6.2. Применение теории NP-полноты к отысканию приближенных реше-
решений 174
6.3 Оценки погрешности и поведение алгоритмов «на практике» . .189
За пределами класса NP-полных задач . . . .• 192
7.1. Структура класса NP 192
7.2. Полиномиальная иерархия 201
7.3. Сложность задач перечисления 208
7.4. Полнота с полиномиально ограниченной памятью 212
7.5. Логарифмическая память 220
7.6. Доказательства труднорешаемости и взаимоотношения между Р и
NP 225
. Приложение. Список NP-полных задач 232
А1. Теория графов 235
А1.1. Покрытие и разбиение 235
А1.2. Подграфы и надграфы 242
А1.3. Упорядочение вершин 249
А1.4 Морфизмы и изоморфизмы 252
А1.5. Разное 254
А2. Построение сетей 258
А2.1. Остовные деревья 258
А2.2. Разрезы и связность 263
А2.3. Задачи о маршрутах 266
А2.4. Потоковые задачи 270
А2.5. Разное 275
A3. Множества и разбиения 279
А3.1. Покрытие, представители я расщепление 279
А3.2. Задачи о множествах с взвешенными элементами .... 282
А4. Хранение и поиск данных 286
А4.1. Хранение данных 286
А4.2. Сжатие и представление информации 289
А4.3. Задачи о базах данных 295
А5. Задачи теории расписаний 300
А5.1. Задачи составления расписания в случае одного процессора 300
А5.2. Многопроцессорные расписания для параллельных процессо-
процессоров 304
А5.3. Многопроцессорные расписания конвейерного типа .... 308
А5.4. Разные задачи 311
А6. Математическое программирование 313
А7. Алгебра и теория чисел 318
А7.1. Задачи о делимости 318
А7.2. Разрешимость уравнений 321
А7.3. Разное 323
А8. Игры в головоломки 325
А9. Логика 332
А9.1. Пропозициональная логика 332
А9.2. Разное 336
416 Оглавление
А10. Теория автоматов и языков 339
А10.1. Теория автоматов 339
А10.2. Формальные языки 343
АН. Оптимизация программ 349
А11.1. Генерация кода программы 349
А11.2. Программы и схемы 354
А12. Разное 359
А13. Открытые задачи 367
Литература 374
Предметный указатель 411
Майкл Гэри, Дэвид Джонсон
ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ И ТРУДНОРЕШАЕМЫЕ ЗАДАЧИ
Научный редактор К. Г. Батаев. Мл. научный редактор Н. С. Полякова. Художник
В. А. Чернецов. Художественный редактор В. И. Шаповалов. Технический редактор
3. И. Резник. Корректор Н. Н. Яковлева
ИБ № 2947
Сдано в набор 04.12.81. Подписано к печати 20.07.82. Формат 60x90/16. Бумага типограф-
типографская № I. Гарнитура латинская. Печать высокая. Объем: 13,00 бум. л. Усл. печ. л. 26,00.
Усл.-кр. отт. 26,00. Уч.-изд. л. 25,97. Изд. № 1/1764. Тираж 8000 экз. Зак. 49. Цена 2 р. 90 к.
ИЗДАТЕЛЬСТВО «МИР»
129320, Москва, И-110, ГСП, 1-й Рижский пер., 2.
Ленинградская типография Ш 2 головное предприятие ордена Трудового Красного
Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой
Союзполиграфпрома при Государственном комитете СССР по делам издательств,
полиграфии и книжной торговли. 198052, г. Ленинград, Л-52, Измайловский проспект, 29.