Читаем Величайшие математические задачи полностью

Определение Кука подразумевает, что все NP-полные задачи существуют на равных основаниях. Доказать, что одна из них на самом деле относится к классу P, означает доказать, что к классу P относятся все такие задачи. Это открывает некоторые тактические возможности: может оказаться, что с некоторыми NP-полными задачами работать проще, чем с остальными. Но стратегически это означает, что с тем же успехом можно выбрать любую конкретную NP-полную задачу и работать именно с ней. Все NP-полные задачи ведут себя одинаково, и поэтому на любой из них можно моделировать все остальные. А любую NP-задачу можно конвертировать в частный случай NP-полной задачи при помощи процедуры «шифрования» — с использованием шифра, на применение которого требуется полиномиальное время.

Чтобы представить себе характер этой процедуры, рассмотрим типичную NP-полную задачу: поиск гамильтонова цикла в сети. Требуется найти замкнутый маршрут по ребрам сети, которые прошел бы через каждый узел (т. е. через каждую точку) ровно один раз. «Замкнутый» означает, что в конце концов маршрут возвращается в начальную точку. Размер входных данных здесь — это число ребер, меньшее или равное квадрату числа точек, поскольку каждое ребро соединяет две точки. (Считаем, что любую заданную пару соединяет не больше одного ребра.) Нам не известно ни одного алгоритма класса P, который решал бы эту задачу, но предположим — гипотетически, — что такой алгоритм существует. Теперь выберем какую-нибудь другую задачу и назовем ее задачей X. Пусть задача X может быть переформулирована в терминах поиска такого маршрута в некоей сети, связанной с задачей X. Если метод перевода данных задачи X в данные об этой сети и наоборот, может быть применен за полиномиальное время, то мы автоматически получаем алгоритм класса P для задачи X. Примерно так:

1. Переводим задачу X в задачу поиска гамильтонова цикла в связанной с задачей сети. Это можно сделать за полиномиальное время.

2. Находим такой цикл за полиномиальное время при помощи того самого гипотетического алгоритма для задачи с сетью.

3. Переводим полученный гамильтонов цикл обратно в решение задачи X, что опять же можно проделать за полиномиальное время.


Поскольку все три полиномиальных шага вместе можно проделать тоже за полиномиальное время, этот алгоритм относится к классу P.

Чтобы показать, как это работает, я рассмотрю менее амбициозную версию задачи о поиске гамильтонова цикла, где искомый маршрут не обязан быть замкнутым. В таком виде она называется задачей о поиске гамильтонова пути. Сеть может иметь гамильтонов путь и при этом не иметь цикла (см. пример на рис. 42 слева). Так что решение задачи о поиске гамильтонова цикла может не означать решения задачи о поиске гамильтонова пути. Однако задачу о поиске гамильтонова пути можно переформулировать в задачу о поиске гамильтонова цикла на близкой, но несколько иной сети. Для этого в сеть добавляется одна дополнительная точка, соединенная со всеми точками первоначальной сети, как на рис. 42 справа. Любой гамильтонов цикл в новой сети может быть превращен в гамильтонов путь: для этого достаточно исключить из него добавленный узел и два подходящих к нему ребра цикла. И наоборот, любой гамильтонов путь в первоначальной сети дает цикл в новой: достаточно просто соединить два конца пути с новой точкой. Это «превращение» задачи о поиске пути в задачу о поиске цикла вводит в сеть всего одну новую точку и по одному ребру на каждую точку первоначальной сети, так что эта процедура — и обратная ей тоже — выполняется за полиномиальное время.



Конечно, я здесь всего лишь зашифровал одну конкретную задачу, превратив ее в задачу о поиске гамильтонова цикла. Чтобы доказать, что такая задача является NP-полной, нам нужно проделать то же самое с любой NP-задачей. Это реально: первое доказательство нашел Ричард Карп в 1972 г. в знаменитой статье, где доказывалась NP-полнота 21 различной задачи.

Задача о коммивояжере является «почти» NP-полной, но здесь есть одна техническая сложность: мы не знаем, относится ли она к классу NP. Известно более 300 конкретных NP-полных задач в различных областях математики, включая логику, теорию графов, комбинаторику и оптимизацию. Доказать, что любая из них может (или не может) быть решена за полиномиальное время, означало бы доказать то же для всех них без исключения. Несмотря на богатство выбора, задача P/NP по-прежнему остается открытой. И я бы не удивился, если бы узнал, что она останется таковой и 100 лет спустя.

12. Потоковое мышление. Уравнение Навье — Стокса

Перейти на страницу:

Все книги серии Библиотека фонда «Династия»

Ружья, микробы и сталь
Ружья, микробы и сталь

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

Джаред Даймонд , Джаред Мэйсон Даймонд

Культурология / История / Прочая научная литература / Образование и наука
Бог как иллюзия
Бог как иллюзия

Ричард Докинз — выдающийся британский ученый-этолог и популяризатор науки, лауреат многих литературных и научных премий. Каждая новая книга Докинза становится бестселлером и вызывает бурные дискуссии. Его работы сыграли огромную роль в возрождении интереса к научным книгам, адресованным широкой читательской аудитории. Однако Докинз — не только автор теории мемов и страстный сторонник дарвиновской теории эволюции, но и не менее страстный атеист и материалист. В книге «Бог как иллюзия» он проявляет талант блестящего полемиста, обращаясь к острейшим и актуальнейшим проблемам современного мира. После выхода этой работы, сегодня уже переведенной на многие языки, Докинз был признан автором 2006 года по версии Reader's Digest и обрел целую армию восторженных поклонников и непримиримых противников. Споры не затихают. «Эту книгу обязан прочитать каждый», — считает британский журнал The Economist.

Ричард Докинз

Научная литература

Похожие книги

История математики. От счетных палочек до бессчетных вселенных
История математики. От счетных палочек до бессчетных вселенных

Эта книга, по словам самого автора, — «путешествие во времени от вавилонских "шестидесятников" до фракталов и размытой логики». Таких «от… и до…» в «Истории математики» много. От загадочных счетных палочек первобытных людей до первого «калькулятора» — абака. От древневавилонской системы счисления до первых практических карт. От древнегреческих астрономов до живописцев Средневековья. От иллюстрированных средневековых трактатов до «математического» сюрреализма двадцатого века…Но книга рассказывает не только об истории науки. Читатель узнает немало интересного о взлетах и падениях древних цивилизаций, о современной астрономии, об искусстве шифрования и уловках взломщиков кодов, о военной стратегии, навигации и, конечно же, о современном искусстве, непременно включающем в себя компьютерную графику и непостижимые фрактальные узоры.

Ричард Манкевич

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Математика / Научпоп / Образование и наука / Документальное