Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Book-advanced-algorithms.pdf
Скачиваний:
310
Добавлен:
27.03.2016
Размер:
5.11 Mб
Скачать

Предметный указатель

2-Sa sfiability

Задача, 266 2-Выполнимость

Задача, 266 2SAT, 266

Задача, 266 3-Sa sfiability

Задача, 265267, 304, 307 3-Выполнимость

Задача, 265267, 304, 307 3SAT, 265267, 304, 307

Задача, 265267, 304, 307 3Выполнимость-Максимизация

Задача, 304, 305, 309

APX, 13, 44, 309, 311314, 318, 319

APX PB, 318

BPP, 250, 271, 282285, 287, 288, 294

coDTIME, 257

coNP, 257, 258, 261, 269271, 278, 291 coNSPACE, 257

coNTIME, 257 Cook

Сводимость, 261

coRP, 271, 275280, 292, 299, 334 coZPP, 334

DNF coun ng, 167, 168 Задача, 167, 168 DSPACE, 248, 251, 257 DTIME, 75, 248, 250, 257

coDTIME, 257

Euler cycle

345

346

Алгоритм, 94 EXPTIME, 250252

FPRAS, 163, 166, 168, 169

FPTAS, 110

GCD

Алгоритм, 21

hal ng problem, 245, 253 Задача, 245, 253

K-covering, 76

Задача, 76

Knapsack, 89, 90, 104, 105, 107, 109, 111, 145 Алгоритм, 105, 107, 109

Жадный, 89, 92, 115

Алгоритм Немхаузера – Ульмана, 107, 109, 145, 155, 156

Задача, 89, 90, 104, 105, 107, 109, 111, 145 Knapsack-SAT

Алгоритм, 104

Literal, 163

Machine

Turing, 273

Предметный указатель

MAX SNP, 315, 318, 319

MAX-3SAT, 304, 305, 309 Задача, 304, 305, 309

MAX-CUT, 194, 195, 197, 200

Алгоритм Вероятностный, 197

Задача, 194, 195, 197, 200 MAX-CUT(VP), 196, 200

Задача, 196, 200 MAX-CUT(ЦП), 195, 196, 200

Задача, 195, 196, 200

MAX-SAT, 186, 188, 204, 205, 207, 304

Алгоритм Вероятностный, 190, 196, 207 Дерандомизация, 208

Задача, 186, 188, 204, 205, 207, 304 Maximal

Independent Set, 210 Maximal independent set, 210 MAXSNP, 317

Mergesort

Алгоритм, 45, 47

Minimum Spanning Tree, 36, 38, 65, 72, 251

Алгоритм

Предметный указатель

Прима, 36, 38, 65, 72 Задача, 36, 251

NEXP, 298

NP, 6, 7, 1014, 34, 40, 41, 43, 44, 63, 70, 72, 73, 75, 95, 100, 104, 118, 119, 123, 131, 139, 173, 185, 250, 252, 253, 257266, 269271, 277, 278, 290, 291, 293, 295297, 299302, 305307, 309311, 314, 318, 334, 336

coNP, 257, 258, 261, 269271, 278, 291

NPC, 262, 266, 267, 269, 270, 302, 305, 307, 309 NPO, 311, 312, 318

NSPACE, 257 coNSPACE, 257 NTIME, 257, 298 coNTIME, 257

P, 1013, 43, 131, 250254, 258, 261263, 266, 269, 270, 293, 301, 314, 318

Packing, 122, 123, 128 Алгоритм, 125, 126, 128, 129 Задача, 122, 123, 128

PCP, 7, 12, 75, 250, 293, 295302, 305, 306, 308, 309, 314, 336

Система, 300

347

PP, 271, 288291, 294

PSPACE, 250252, 258, 290

PTAS, 312314, 317, 318, 320

Quicksort

Алгоритм, 47, 49, 50, 274

Randomized

Turing Machine, 273, 276, 289, 299 RP, 250, 271, 275281, 288, 292, 294 coRP, 271, 275280, 292, 299, 334

Sa sfiability, 131, 263, 265, 266 Задача, 131, 263, 265, 266 Semidefinite programming, 193

Set

Maximal Independent, 210 Set Cover, 73, 76

Задача, 73, 76 Shortest Path

Задача, 27, 61, 251

Shortest Path Problem, 27, 61, 251

Traveling Salesman Problem, 24, 3436, 39, 43, 61, 93, 94, 98, 254, 255, 258, 259, 261

TSP

348

Алгоритм Переборный, 25, 26, 66

Задача, 24, 3436, 39, 43, 61, 93, 94, 98, 254, 255, 258, 259, 261

Метрическая Алгоритм, 95, 97, 99

Turing

machine, 273

Randomized Machine, 273, 276, 289, 299

Vector programming, 193, 195 Vertex Cover, 87

Vertex Covering, 78, 81, 85, 86, 267 Задача, 78, 81, 85, 86, 267

ZPP, 250, 291294 coZPP, 334

Алгоритм

Euler cycle, 94 GCD, 21 Knapsack-SAT, 104 MAX-CUT

Вероятностный, 197 MAX-SAT

Вероятностный, 190, 196, 207

Предметный указатель

Дерандомизация, 208 Mergesort, 45, 47 Minimum Spanning Tree

Прима, 36, 38, 65, 72 Quicksort, 47, 49, 50, 274 TSP

Метрическая, 95, 97, 99 Переборный, 25, 26, 66

Дейкстры, 27, 2931, 36, 65, 250

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

Knapsack, 105, 107, 109 Packing, 125, 126, 128, 129

Жадный

Knapsack, 89, 92, 115 Рюкзак, 89, 92, 115

Коммивояжер Метрический, 95, 97, 99 Переборный, 25, 26, 66

Минимальное остовное дерево, 36, 38, 65, 72 НОД, 21

Немхаузера – Ульмана, 107, 109, 145, 155, 156

Переполнение памяти умножением, 65, 66, 253, 254

Полиномиальный в среднем, 121, 126

Предметный указатель

Приближенный, 110, 302, 311

Рюкзак, 105, 107, 109

Сортировка Быстрая, 47, 49, 50, 274

Слиянием, 45, 47 Сумма размеров, 104

Упаковка, 125, 126, 128, 129

Флойда – Уоршолла, 33 Эйлеров цикл, 94

Векторное программирование, 193, 195 Вершинное покрытие, 87

Задача, 78, 81, 85, 86, 267

Выполнимость Задача, 131, 263, 265, 266

Выполнимость-Максимизация Задача, 186, 204, 205, 304

Выполнимость-Максимизация Задача, 188, 207

ДНФ посчет выполняющих наборов, 167, 168

Дейкстры Алгоритм, 27, 2931, 36, 65, 250

Доминирующее подмножество Рюкзак, 145, 147

349

Задача

2-Sa sfiability, 266

2-Выполнимость, 266 2SAT, 266

3-Sa sfiability, 265267, 304, 307 3-Выполнимость, 265267, 304, 307 3SAT, 265267, 304, 307

3Выполнимость-Максимизация, 304, 305, 309 DNF coun ng, 167, 168

hal ng problem, 245, 253 K-covering, 76

Knapsack, 89, 90, 104, 105, 107, 109, 111, 145 MAX-3SAT, 304, 305, 309

MAX-CUT, 194, 195, 197, 200 MAX-CUT(VP), 196, 200 MAX-CUT(ЦП), 195, 196, 200 MAX-SAT, 186, 188, 204, 205, 207, 304 Minimum Spanning Tree, 36, 251 Packing, 122, 123, 128

Sa sfiability, 131, 263, 265, 266 Set Cover, 73, 76

Shortest Path, 27, 61, 251

TSP, 24, 3436, 39, 43, 61, 93, 94, 98, 254, 255, 258, 259, 261

350

Vertex Covering, 78, 81, 85, 86, 267

Вершинное покрытие, 78, 81, 85, 86, 267

Выполнимость, 131, 263, 265, 266

Выполнимость-Максимизация, 186, 204, 205, 304

Выполнимость-Максимизация, 188, 207 К-покрытие, 76

Коммивояжер, 24, 3436, 39, 43, 61, 93, 94, 98, 254, 255, 258, 259, 261

Коммивояжера метрическая, 98 Кратчайшие пути, 27, 61, 251 Максимальный разрез, 194, 195, 197, 200 Максимальный разрез(VP), 196, 200 Максимальный разрез(ЦП), 195, 196, 200 Минимальное остовное дерево, 36, 251 Остановки, 245, 253 Покрытие множества, 73, 76

Рюкзак булев, 89, 90, 104, 105, 107, 109, 111, 145

Сумма размеров, 104

Упаковка, 122, 123, 128

Инцидентность, 123 К-покрытие

Задача, 76

Предметный указатель

Карп Сводимость, 262, 305

Класс

APX, 13, 44, 309, 311314, 318, 319 APX PB, 318

BPP, 250, 271, 282285, 287, 288, 294 DSPACE, 248, 251, 257

DTIME, 75, 248, 250, 257 coDTIME, 257

EXPTIME, 250252 FPRAS, 163, 166, 168, 169 FPTAS, 110

MAX SNP, 315, 318, 319 MAXSNP, 317

NEXP, 298

NP, 6, 7, 1014, 34, 40, 41, 43, 44, 63, 70, 72, 73, 75, 95, 100, 104, 118, 119, 123, 131, 139, 173, 185, 250, 252, 253, 257266, 269271, 277, 278, 290, 291, 293, 295297, 299302, 305307, 309311, 314, 318, 334, 336

coNP, 257, 258, 261, 269271, 278, 291

NPC, 262, 266, 267, 269, 270, 302, 305, 307, 309 NPO, 311, 312, 318

NSPACE, 257

Предметный указатель

coNSPACE, 257 NTIME, 257, 298 coNTIME, 257

P, 1013, 43, 131, 250254, 258, 261263, 266, 269, 270, 293, 301, 314, 318

PCP, 7, 12, 75, 250, 293, 295302, 305, 306, 308, 309, 314, 336

PP, 271, 288291, 294 PSPACE, 250252, 258, 290 PTAS, 312314, 317, 318, 320

RP, 250, 271, 275281, 288, 292, 294 coRP, 271, 275280, 292, 299, 334 ZPP, 250, 291294

coZPP, 334

Коммивояжер

Алгоритм Переборный, 25, 26, 66

Задача, 24, 3436, 39, 43, 61, 93, 94, 98, 254, 255, 258, 259, 261

Метрический Алгоритм, 95, 97, 99

Кратчайшие пути Алгоритм Дейкстры, 27, 2931, 36, 65, 250

Алгоритм Флойда – Уоршолла, 33

351

Задача, 27, 61, 251

Кук

Сводимость, 261 Литерал, 163 Максимальное

Независимое множество, 210 Максимальный разрез

Задача, 194, 195, 197, 200

Максимальный разрез(VP)

Задача, 196, 200

Максимальный разрез(ЦП)

Задача, 195, 196, 200

Матрица Инцидентности, 123

Машина Тьюринга, 273

Тьюринга Вероятностная, 273, 276, 289, 299 Метрическая

Задача коммивояжера, 98 Минимальное остовное дерево Алгоритм, 36, 38, 65, 72

Задача, 36, 251

Множество Максимальное независимое, 210

352

НОД Алгоритм, 21

Независимое множество, 210 Остановки

Задача, 245, 253

Парето-набор Рюкзак, 145, 147

Покрытие множества Задача, 73, 76

Полиномиальный в среднем, 121, 126 Полуопределенное программирование, 193 Приближенный

Алгоритм, 110, 302, 311

Рюкзак

Алгоритм Динамическое программирование, 105, 107,

109 Жадный, 89, 92, 115

Алгоритм Немхаузера – Ульмана, 107, 109, 145, 155, 156

Доминирующее подмножество, 145, 147 Парето-набор, 145, 147

Рюкзак булев Задача, 89, 90, 104, 105, 107, 109, 111, 145

Предметный указатель

Сводимость Карп, 262, 305

Кука, 261 Система

PCP, 300

Сортировка Быстрая, 47, 49, 50, 274

Слиянием, 45, 47 Сумма размеров, 104

Алгоритм, 104 Задача, 104

Тьюринга Машина, 273

Машина Вероятностная, 273, 276, 289, 299 Упаковка

Алгоритм Динамическое программирование, 125, 126,

128, 129 Задача, 122, 123, 128

Флойда – Уоршолла Алгоритм, 33

Эйлеров цикл Алгоритм, 94

Список иллюстраций

1.1Работа алгоритма 6 «TSP-перебор» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.2

Работа алгоритма 7 «Дейкстры» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

1.3

Иллюстрация работы алгоритма 8

«Флойда – Уоршолла» . . . . . . . . . . . . . . . . . . .

33

1.4

Иллюстрация работы алгоритма 9

«MST Прима» . . . . . . . . . . . . . . . . . . . . . . . .

38

1.5Работа «Quicksort» с разными методами выбора оси . . . . . . . . . . . . . . . . . . . . . . 51

1.6

Карта-памятка раздела 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

1.7

RAM — машина с произвольным доступом . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

1.8

Моделирование циклов для RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

2.1

«Плохой» граф для жадного алгоритма вершинного покрытия . . . . . . . . . . . . . . . .

80

2.2Неоптимальность жадного алгоритма для вершинного покрытия . . . . . . . . . . . . . . . 82

2.3«Ленивый» и «жадный» алгоритмы вершинного покрытия на «плохих» графах . . . . . . . 83

2.4 «Ленивый» и «жадный» алгоритмы вершинного покрытия на случайных графах . . . . . . 84

2.5Карта-памятка разделов 2.1.2и 2.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

2.6 Наборы и ~ в «жадном» алгоритме для «рюкзака» . . . . . . . . . . . . . . . . . . . . . 93

Sg Sg

353

354

Список иллюстраций

2.7Карта-памятка раздела 2.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

2.8Карта-памятка раздела 2.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

3.1Работа алгоритма 28 «Упаковка-ДинПрог» . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

3.2Алгоритм 28 «Упаковка-ДинПрог» на случайных данных . . . . . . . . . . . . . . . . . . . . 129

3.3Карта-памятка раздела 3.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

3.4 «Обнуляющие» наборы для трехскобочной КНФ . . . . . . . . . . . . . . . . . . . . . . . . 133

3.5Карта-памятка раздела 3.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

3.6Граф зависимостей утверждений в разделе 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . 153

3.7Алгоритм 25 «Рюкзак Немхаузера–Ульмана» на случайных данных . . . . . . . . . . . . . . 156

4.1Множества U, G, H в задаче 18 «DNF#» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

4.2Карта-памятка раздела 4.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

4.3PRAM Parallel Random Access Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

4.4

График функции 1

(1 x/k)k при различных k . . . . . . . . . . . . . . . . . . . . . . . .

189

4.5

График функции

 

2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

198

(1

cos )

4.6

Вектора в вероятностном округлении «MAX-CUT» . . . . . . . . . . . . . . . . . . . . . . .

199

4.7Карта-памятка раздела 4.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

5.1Дерандомизация на основе минимизации оценок математического ожидания . . . . . . . 206

5.2Карта-памятка раздела 5.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

6.1Машина Тьюринга: удвоение строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

6.2Машина Тьюринга: унарное сложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

6.3

Машина Тьюринга: распознавание четных строк . . . . . . . . . . . . . . . . . . . . . . . .

235

6.4

Пример МТ: «Количество 0 и 1 равно?» . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

236

Список иллюстраций

355

6.5Выполнение МТ «Количество 0 и 1 равно?» . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

6.6Трехленточная универсальная МТ для одноленточных МТ . . . . . . . . . . . . . . . . . . . 241

6.7Карта-памятка раздела 6.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

6.8Отображение выполнимой КНФ на граф . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

6.9 Классы NP, coNP, P, NPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

6.10Карта-памятка раздела 6.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

6.11Классы сложности RP и coRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

6.12Классы сложности: BPP и его «соседи» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

6.13 Вероятностные классы сложности: ZPP, RP, BPP, PP . . . . . . . . . . . . . . . . . . . 294

6.14Карта-памятка раздела 6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

6.15Карта-памятка раздела 6.3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

6.16Карта-памятка раздела 6.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

6.17Пример схемы: сравнение двух строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

?

6.18 Пример коммуникационного протокола для «x1x2 = y1y2» . . . . . . . . . . . . . . . . . . 330 6.19 Иерархия некоторых классов сложности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]