Три двери и автомобиль
Простейшее объяснение парадокса Монти Холла
Парадокс Монти Холла — это одна из тех математических задач, над решением которой уже долгое время бьются многие умы, и даже всемирно известных математиков она приводит в затруднение. Хотя идея, лежащая в основе этого парадокса, предельно ясна и понятна. Задача эта, строго говоря, и не парадокс вовсе, но называется так из-за неочевидности и парадоксальности предлагаемых решений и объяснений, которые становятся поводом для самых жарких дискуссий в Интернете. Их накал уступает, пожалуй, лишь спорам из-за оптической иллюзии так называемого «платья раздора» и аудиоиллюзии «Янни и Лорел». Предлагаемое здесь объяснение призвано раз и навсегда развеять все связанные с этим парадоксом вопросы и очень доходчиво разъяснить всем интересующимся его суть.
Парадокс
Парадокс впервые был сформулирован американским математиком Стивом Селвином ещё в 1975 году, но широкую известность он приобрёл благодаря популярному игровому шоу «Давайте заключим сделку». В честь ведущего этой телевикторины, которого звали Монти Холл, парадокс и получил своё название.
В чём же суть парадокса Монти Холла?
Представьте, что перед вами три двери, как показано на рисунке ниже. За двумя дверьми находятся козы, за одной — автомобиль. Надо угадать дверь с автомобилем, и он ваш.
Казалось бы, ничего сложного. Но, как говорилось в одном фильме: «Если бы задача так просто решалась, то армянское радио этим бы не занималось». В своей передаче, после того как участник выбирал дверь, Монти всегда открывал одну из дверей с козой и предлагал ему поменять свой выбор. А вы поменяли бы или нет?
Этот вопрос многих ставит в тупик. Люди обычно думают: «Ну какая разница: остались две двери, и машина может с одинаковой вероятностью 50% оказаться как за одной, так и за другой дверью?». … И оказываются неправы. Правильный ответ — всегда менять первоначальный выбор. Поступая так, вы удваиваете свои шансы на победу.
Удивлены? Такой ответ для многих становится откровением: мало кто ожидает этого. Давайте подробно разберёмся, как так получается.
Итак, вы выбрали одну из трёх дверей. Вероятность того, что машина окажется именно за ней, составляет 1/3. А вероятность того, что она окажется за одной из двух оставшихся (то есть не выбранных вами) дверей, будет 2/3. Это должно быть понятно.
На рисунке у нас наглядно показаны эти вероятности: 1/3 слева и 2/3 справа.
Теперь Монти открывает одну из невыбранных дверей — тех, что справа. И открывает он всегда ту, за которой коза.
Вероятности остаются неизменными: 1/3 слева (ваш первоначальный выбор) и 2/3 справа. Изменилось лишь то, что справа одна дверь теперь открыта, но вероятность для оставшейся неоткрытой двери здесь та же, что была прежде для обеих.
Если не совсем понятно, попробуем объяснить на примере с десятью дверьми.
Выбранная вами дверь будет слева, остальные девять — справа (как на рисунке ниже). Вероятность того, что вы угадали дверь с машиной, будет 1/10. Вероятность того, что вы не угадали и машина окажется за одной из оставшихся девяти дверей, будет 9/10.
Дальше Монти открывает восемь из этих невыбранных девяти дверей, причем за всеми восемью — козы. Как поступить теперь: поменять свой выбор или нет? Конечно, поменять! Ведь теперь восемь из девяти дверей справа открыты, а вероятность того, что машина окажется за оставшейся девятой дверью (как мы уже посчитали ранее), равна 9/10.
Ответ на вопрос станет ещё очевиднее, если представить, что Монти даёт вам возможность открыть не одну оставшуюся справа неоткрытой дверь, а сразу все девять!
Вот и всё. Это так просто! Однако важно не забывать, что всегда есть вероятность проигрыша. Верное решение определяется стратегией. Правильная стратегия — делать так, чтобы шансы на победу были максимальными или хотя бы такими, которые позволяют больше выигрывать, чем проигрывать.
Усложняем задачу
Предположим, Монти хочет усложнить для вас задачу и открывает лишь одну дверь с правой стороны. Как вы поступите теперь: выберите одну из восьми закрытых дверей справа или не станете менять свой выбор?
Здесь придётся кое-что посчитать. Вероятность того, что машина окажется за одной из девяти дверей справа, равна 9/10. Разделим её на количество оставшихся неоткрытыми дверей (8):
Это будет вероятность того, что машина окажется за одной из восьми остающихся закрытыми дверей справа. И она чуть больше вероятности 0,1 (1/10), что первоначально выбранная вами дверь слева окажется с машиной. Поэтому вам всё же предпочтительнее поменять свой выбор, хотя шансы выиграть машину и в этом случае будут очень низкими. По этой же формуле можно посчитать вероятность для любого количества неоткрытых дверей.
Вот и весь парадокс Монти Холла вкратце. Не знаю, можно ли придумать более простое его объяснение? Я лишь выношу на ваш суд свой взгляд, отличный от тех, что изложены в большинстве других объяснений, в которых вы можете тоже почерпнуть много полезного. Надеюсь, что после прочтения статьи вы приблизились к пониманию парадокса Монти Холла.
Джип для эгоиста: 3-дверные внедорожники прошлого и настоящего
Своим обликом Isuzu VehiCross обязан концепту 1993 года, с которого серийную модель скопировали чуть ли не полностью. Хотя «мотоциклетная» приборная панель с выезжающей из нее навигатором и два амортизатора на каждое в серию все же не пошли. Турбомотор 1,6 у концепта поменяли на V6 в 3,2 и 3,5 литра, а вместо задней независимой подвески поставили неразрезной мост. За 1997-2001 годы сделали всего 5958 машин. По «серым» каналам часть из их успели завезти и России. И у нас с этих почти раритетов пылинки не сдувают, а часто «юзают» по прямому назначению – при всем своем футуризме рамный VehiCross еще и достойный «проходимец»!
Isuzu Trooper второго поколения
Isuzu Amigo Hard Top
Трехдверный Jeep Wrangler – неотделимая часть истории и наследия этой модели, восходящая еще к его дедушке «Виллису». Поэтому короткий «Ренглер», видимо, будет жить, пока существует сама модель. В США, например, такой Wrangler до сих пор крайне востребован и в прокате, и в индустрии тюнинга, и среди любителей полазать по скалам и бездорожью.
Причем автомобиль можно легко «раздеть», сняв двери и крышу, превратив рамный внедорожник в пляжный автомобиль. Понемногу, но официально продается 3-дверный Wrangler и в России. Только цены… «Коротыш» нового поколения стоит от 3 500 000 до 4 100 000 рублей за версию Rubicon!
Немало моделей из нашего обзора со сменой поколений лишились трехдверных версий. Производители просто посчитали, что на фоне низкого спроса на «коротыши» нет смысла городить второй кузов. Но компании Land Rover такое бы точно не простили, вздумай она сделать такое с живой классикой в лице Defender 90!
Его корни уходят еще в 83 год, за свою историю он был пикапом, фургоном, кабриолетом, не говоря про традиционный вариант с жестким верхом. В 2016 году путь «Дефа», которого мы знаем, закончился. Но дело его живет: новое поколение Defender, потеряв раму и мосты, сохранит трехдверную модификацию с бессменным индексом 90.
Сегодня он уже подзабыт, но с трехдверного кузова и начиналась история знаменитого «Гелика» в далеком 1979 году – сначала с утилитарных и армейских, а потом дошло и до более дорогих версий.
В модельном ряду существовал не только вариант с жестком крышей, но даже такой непривычный вариант, как короткий кабриолет со складным мягким верхом! Трехдверки прожили в модельном ряду компании до 2011 года. Когда в честь окончания выпуска коротких машины выпустили прощальную версию G350 BlueTec BA3 Final Edition (на фото).
Говорим Mitsubishi – подразумеваем трехдверный Pajero, марафон «Дакар» и вот это вот все! Короткая версия идет сквозь всю историю модели – от первого поколения, вышедшего в 1982 году, и до текущей, четвертой генерации от 2006 года. А фанаты «Поджарого» еще с придыханием вспоминают знаменитую «заряженную» версию Evolution 1997 года, выпущенную в ограниченную серию ради получения омологации для дакаровского Pajero в категории Т3.
Впрочем, из-за падения спроса сегодня трехдверный Pajero продается лишь на некоторых рынках. Изрядное количество этих машин осело и в нашей стране: в продаже можно найти немало вариантов, включая интересные варианты с дизелем 3,2 л и полным приводом Super-Select.
Когда в 2010 году вышло нынешнее, шестое поколение «Патруля» с индексом Y62, у фанатов модели, что называется, упало. Всемирно известный поджарый «проходимец» со сменой генерации остался без дизелей, неразрезных мостов – и привычных 3-дверных исполнений. Но японцы, к счастью, пока еще предлагают для некоторых рынков (в основном это Ближний Восток) прошлый Patrol Y61 – классический «утилитарник» на мостах (задний – с блокировкой) спереди и сзади, который выпускается с 1997 года.
В гамме моторов встречался 3-литровый турбодизель (150 л.с.), но основным является рядная бензиновая «шестерка» объемом 4,8 л и отдачей до 280 л.с. Причем бензиновый мотор, как и дизель, сочетается не только с автоматом, но и с 5-ступенчатой «механикой». Есть даже версия с лебедкой! Ее легко узнать по колпаку с прорезями на переднем бампере (на фото). Трехдверный Nissan Patrol Y61 в богатых версиях может иметь климат-контроль, кожаный салон, систему стабилизации, навигатор, люк, камеру заднего вида с парктрониками.
На фоне мирового падежа «трехдверок» Toyota сегодня одна из очень немногих компаний, кто сегодня сохранил не одну, а даже две трехдверные модели. Самая свежая – это рестайлинговый Land Cruiser Prado, который уже вышел на некоторые рынки в 3-дверном исполнении. Причем есть как обычные, так и коммерческие модели вроде Utility для Великобритании: у нее тканевый салон, штампованные колеса и дизель 2,8 л в паре только с МКПП. В Арабских Эмиратах такой Prado уже выглядит побогаче, но оснащается 2,7-литровой «бензинкой» с автоматом.
Само собой, не забудем и легендарную Toyota Land Cruiser 70 с неразрезными мостами и задней рессорной подвеской, которую выпускают еще с 1984 года, например, для Африки, Австралии и арабских стран. Причем в 3-дверном кузове существует не только «коротышка», но и растянутый вариант длиной 5,2 м! В списке заводского оснащения TLC 70 для Австралии, к примеру, есть разнокалиберные «кенгурятники», шноркели, жесткие блокировки обоих межколесных «диффов», топливные баки на 130 или 180 л. Есть и электрическая лебедка фирмы Warn усилием в 4082 кг.
Трехдверную модель Korando (Korea Can Do, то есть «Корея может!») первого поколения 1983-1996 годов, которая была копией Jeep CJ-7, сегодня помнят разве что знатоки. А вот второй Korando, запущенный в 1996 году, россиянам отлично знаком и до сих пор бегает по нашим дорогам! Внедорожник с очень спорной внешностью от Кена Гринли создали на укороченном рамном шасси от флагманской модели Musso.
От него же взяли и лицензионные моторы Mercedes – дизели объемом 2,3 и 2,9 л, а также бензиновые движки в 2,3 и 3,2 л. Причем выпускался и редкий вариант со съемной крышей над зидними сиденьями! В Корее этот Korando прекратили выпускать в 2006 году, а затем он переехал в Россию – и с 2008 по 2014 годы его по лицензии выпускали на ТагАЗе под именем Tager.
Компания Suzuki на «коротышах» акита-ину съела! И мы не только Jimny и породившего его Samurai имеем в виду. Вспомнить хотя бы модель Vitara, первое поколение которой вышло в 1988 году. Она же – Escudo и Sidekick, она же – Geo Tracker. И в гамме «Витары» был не только 3-дверный вариант, но и 2-дверный кабриолет. Трехдверки продавались и в России (и были у нас на тесте), а рассталась Vitara с этим кузовом только в нынешнем, четвертом поколении от 2014 года.
Кстати, была у Suzuki и откровенная экзотика. Помните такую модель, как X-90 на базе той же Vitara? Двухдверное и двухместное внедорожное купе с задним или полным приводом имело съемные секции крыши, а запаска ездила под полом в маленьком багажнике. Необычная, но тесная и непрактичная машина прожила на конвейере недолго: с 1995 по 1997 годы выпустили всего около 10 000 машин, причем X-90 продавали не только в Японии, но в США и Европе.
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Парадокс Монти Холла (объяснение)
Я думаю, большая часть из вас, дорогие пикабушники, слышала об этом парадоксе, который по сути-то и не является настоящим парадоксом. Он назван так только потому, что простая человеческая интуиция никак не может принять обоснованный логический ответ и упорно сопротивляется. В этом посте я хотел бы рассказать об этом парадоксе тем, кто о нем не слышал, и постараться объяснить на пальцах, почему решение именно такое.
Ну что ж, начнем с самой формулировки:
«Представьте, что вы стали участником игры, в которой вам нужно выбрать одну из трёх дверей. За одной из дверей находится автомобиль, за двумя другими дверями — козы. Вы выбираете одну из дверей, например, номер 1, после этого ведущий, который знает, где находится автомобиль, а где — козы, открывает одну из оставшихся дверей, например, номер 3, за которой находится коза. После этого он спрашивает вас — не желаете ли вы изменить свой выбор и выбрать дверь номер 2? Увеличатся ли ваши шансы выиграть автомобиль, если вы примете предложение ведущего и измените свой выбор?»
Сначала попробуйте подумать сами над этой задачей и прийти к ответу.
Многие отвечают, что если изменить выбор двери, то ничего изменится, т.к. дверей осталось всего две, то есть вероятность выигрыша 50 на 50. Но это неверный ответ. Правильный ответ таков, что при смене двери шансы выиграть автомобиль увеличиваются аж в 2 РАЗА! Однако, казалось бы, почему если в конце произвольный выбор из двух дверей, то вероятность должна быть не 50 на 50? А все потому, что от начального выбора двери (когда их 3 закрытых),и будет зависеть то, какая дверь будет выбрана в конце.
Давай-те же теперь подробно разберемся, почему так происходит.
1)Предположим, что в начале игрок выбрал дверь с автомобилем (вероятность этого 1/3)
а)Игрок не меняет дверь, он выиграл АВТОМОБИЛЬ! (+)
б)Игрок меняет дверь и уходит домой с одной козой :(( (-)
2)Предположим, что в начале игрок выбрал дверь с козой (вероятность этого 2/3)
а)Игрок не меняет дверь и, опечалившись, уходит домой с козой (-)
б)Игрок меняет дверь и радостный уезжает на АВТОМОБИЛЕ домой (+)
Посмотрев на все возможные варианты развития событий, можно заметить, что при смене двери игрок уходит с козой, только если изначально была выбрана верная дверь, вероятность чего 1/3, а в ином случае с вероятность 2/3, он забирает ключи и валит из этого заведения на новенькой (или не очень) машине.
Ну вот и все, надеюсь Вам было интересно и понятно, что я написал. Также надеюсь, что Вам стал понятен ответ в этой вызывающей споры и большие дискуссии задаче 🙂
Всем пока и удачного дня)
P.s. Мой первый пост, однако судите, как хотите. Мне не нужны все эти «судите не строго», мне нужна конструктивная критика.
Вероятность попадания 1-1/3=2/3. И никаких парадоксов.
У меня делема по поводу тех трех дверей. Действительно вероятность успеха при смене двери повышается в 2 раза, но зато вероятность неудачи при условии того что дверь не меняется падает в 2 раза.
Ну если на выбор 10 дверей. За одной дверью приз, за остальными нет. Вы указываете на одну дверь. Ведущий открывает оставшиеся 8 неверных дверей, кроме одной.
То это сразу понятно. А с тремя дверьми надо считать уже.
Не поверю, пока сам не проверю!
разрушители мифов по этому поводу наглядный эксперимент проводили. Очень убедительный
хоть и баян но я все равноне догоняяяюююююююююююююю
Так менять или нет. Объясни!
9l c4uTalO 4To Hy>l
Я понял =) попробую объяснить тем кто ещё не вшаривает.
Ведущий, точно зная где машина выбрал ту ячейку в которой осел и не выбрал ту которую выбрал игрок.
Проще говоря выбор во второй раз предлагают только тому кто заведомо выбрал неверный вариант!
В фильме «21» хорошо рассказано
Если вам предложат много раз выбирать и менять решение после того как открыли одну дверь, то все верно. Статистически доказано, что в большинстве раз вы будете в выигрыше. Но что будет, если вам предложат выбирать, и менять или не менять решение лишь один раз?
Вы ведь по-прежнему не знаете, за какой дверью автомобиль. Вам придется выбирать из двух дверей, а это50/50.
Давайте рассмотрим задачу, которая предлагалась на Московской олимпиаде 1955 года
Добрый день! Сегодня мы с вами разберем задачу, которая предлагалась на Московской олимпиаде 1955 года. Само задание не очень сложное, по ощущениям на 4 из 10.
Для доказательства этого утверждения нам понадобится принцип математической индукции.
Итак, покажем, что наше утверждение верно для n=0.
Теперь предположим, что наше утверждение верно для произвольного номера и покажем, что оно верно для следующего номера. В математической формулировке это утверждение имеет вид:
Итак, мы на финишной прямой. Доказав делимость выражения выше на 133, наше доказательство по индукции будет окончено.
Задача решена! Теперь можно идти и со спокойным сердцем пить чай)
Вероятность
История проблемы равенства классов P и NP
В 2000 году Математический институт Клэя определил 7 математических задач, решение которых не могли найти в течение многих лет. За решение каждой из них была назначена награда в размере 1 миллиона долларов. Эти 7 задач известны как «задачи тысячелетия», и на сегодняшний день только одна из них была решена — гипотеза Пуанкаре. В этой статье пойдет речь о вопросе равенства классов P и NP, ответ на который может сильно повлиять на всю IT-сферу.
Равенство P и NP классов отсылает нас к теории алгоритмов, а именно к классам сложности. Первое, с чего стоит начать, это то, что классы P и NP классифицируют языки, а не задачи. Пока что это звучит довольно абсурдно, поэтому для понимания разберемся в некоторых деталях.
Пусть А — алфавит и L ⊆ А*, тогда L называется языком над А. Для любого алфавита пустое множество и А* являются тривиальными языками. При этом пустое множество часто называют пустым языком. Однако не стоит путать пустой язык и язык, содержащий пустое слово e, — они различны. Языки могут быть как бесконечными, так и нет, но обязательно счетными. Т. е. множество всех действительных чисел языком нельзя назвать, т. к. такой набор является неисчисляемым.
Говоря про абстрактный исполнитель, чаще всего имеют в виду машину Тьюринга, поэтому в дальнейшем под АИ будем подразумевать именно её. Итак, машина Тьюринга имеет неограниченное линейное хранилище, сгруппированное в ячейки. Каждая ячейка может содержать ровно один символ алфавита в любой момент времени. Вдоль ячеек идет считывающая головка, имеющая конечное число состояний. За одну итерацию она может считать значение только одной ячейки, переписать её значение, изменить свое состояние и перейти на одну позицию вправо/влево.
Устройство машины Тьюринга
На основе машины Тьюринга определим так называемую разрешающую машину над языком. Для начала введем определение характеризующей функции X(w). Функция X определяет, принадлежит ли слово w языку L. Если да, то значение функции равно «1»; если нет, то «0». Формально это можно записать так:
Разрешающей машиной D для языка L называется такая машина, которая для каждого w∈A вычисляет характеризующую функцию X(w) за конечное время.
В дополнение к разрешающей машине идет верификатор. Машина V, которая принимает слова w и c и выводит 0 или 1 после конечного числа шагов, называется верификатором для L, если она обладает следующими свойствами:
— выводит 1, только если w входит в язык L;
— для любого w в языке L существует такое c, что V(w,c) = 1.
Классы сложности и формулировка проблемы
Окей, мы рассмотрели несколько понятий. На первый взгляд, все это больше походит на лингвистику: алфавиты, слова, языки… Причем тут задачи? Чтобы ответить на этот вопрос, обратимся к понятию задача разрешимости (англ. Decision problem). Это такой вопрос (сформулированный в формальной системе), требующий ответа «да» или «нет», зависящего, возможно, от значений некоторых входных параметров. Например, «является ли данное натуральное число x простым?» или «даны два числа: x и y; делится ли x на y?« Метод решения в виде алгоритма называется разрешающей процедурой. Теория вычислимости имеет дело в основном с задачами разрешимости и приведенные выше конструкции наглядно соотносятся с таким типом задач: так разрешающая машина над языком является формализацией разрешающей процедуры. Но как же быть с задачами, такими как задача коммивояжера? На них нельзя дать бинарный ответ. В таких случаях применяют приемы приведения к версии decision problem. В случае коммивояжера проблема по-новому формулируется так: «существует ли маршрут не длиннее, чем заданное значение k?»
В класс сложности NP входят все языки L, для которых существует такой верификатор, что для каждого (w,c) время его работы полиномиально. Иными словами, NP включает в себя задачи разрешимости, для которых при подходящем сертификате для данного w мы быстро сможем удостовериться в том, что w действительно принадлежит L (ответ на вопрос можно довольно быстро проверить). Отсюда и название «верификатор». В качестве примера задачи в NP можно привести определение наличия в графе гамильтонова цикла. Сертификат в данном случае — последовательность вершин, образующих гамильтонов цикл.
Помимо этих классов можно выделить ещё 2: NP-hard и NP-Complete. Они основываются на приводимости одного языка к другому за полиномиальное время: пусть языки A и B — языки над одним алфавитом. Язык А будет приводимым за полиномиальное время к языку B, если существует такая функция f(w), что
— функция f может быть вычислена машиной Тьюринга за полиномиальное время.
Тогда в класс NP-hard будут входить языки, к которым приводимы все языки в NP (причем NP-hard язык может входить в NP, а может и нет), а в NP-Complete те языки, которые являются одновременно NP-hard и NP. Примером NP-Complete является язык выполнимых булевых формул (SAT). Таким образом, NP-Complete задачи образуют в некотором смысле подмножество «типовых» задач в классе NP: если для какой-то из них найден «полиномиально быстрый» алгоритм решения, то и любая другая задача из класса NP может быть решена так же «быстро».
Отношение между классами при равенстве и неравенстве
Теперь, немного погрузившись в теорию алгоритмов, более конкретно обозначим проблему равенства данных классов. Итак, множество P входит в множество NP, но неизвестно, существуют ли языки, которые входят в NP и не входят в P. Что это означает на практике? Итак, простыми словами класс NP можно охарактеризовать как «трудно решить, легко проверить». Классическим примером задачи, входящей в NP, является задача коммивояжера, для решения которой на данный момент известен лишь один алгоритм — старый добрый перебор (мы не рассматриваем эвристические методы). Однако, получив ответ, его будет не так сложно проверить. Класс P же вобрал в себя те задачи, для которых существует эффективный алгоритм решения, позволяющий решать их за полиномиальное время. И равенство или, наоборот, неравенство этих классов пока не доказано. Если эти классы равны, то это будет значить, что для всех задач, которые сейчас решаются путем перебора или другим неэффективным методом, существует(-ют) полиномиальные алгоритмы. А если не равны, то придется смириться с неоптимальностью решения этих задач.
История проблемы равенства P и NP началась в 1928 году, когда Давид Гильберт сформулировал проблему, названную Entscheidungsproblem (нем. задача разрешения). Ее суть заключается в нахождении алгоритма, определяющего доказуемость данного утверждения из аксиом с использованием правил логики. По названию очевидно, что это задача является задачей разрешения (выводит «да» или «нет»).
В ходе решения этой проблемы потребовалось определить термины «алгоритм» и «вычислимая функция». В 1936 году Алонзо Чёрч и Алан Тьюринг независимо показали, что общее решение Entscheidungsproblem невозможно, предположив, что интуитивное понятие «эффективная вычислимость» соответствует вычислимости функции на машине Тьюринга. Эта гипотеза сегодня известна как тезис Чёрча-Тьюринга.
20 марта 1956 в письме к Джону фон Нейману Курт Гёдель впервые поставил вопрос о вычислительной сложности. Гёдель интересовался, можно ли получить доказательство теоремы (в математико-логическом смысле слова) за квадратичное или линейное время. К сожалению, письмо было обнаружено лишь в 1989 году и получило широкую огласку, когда Юрис Хартманис опубликовал перевод и комментарий.
Статья Алана Кобэма 1965 года под названием «The intrinsic computational difficulty of functions» является одним из первых упоминаний класса сложности P, состоящего из разрешимых за полиномиальное время задач. Тезис Кобэма-Эдмондса (известный также как расширенный тезис Чёрча-Тьюринга), названный в честь Алана Кобэма и Джека Эдмондса, утверждает, что любая разумная модель вычислений может быть выражена через другую модель с замедлением, не более чем полиномиальным по размеру входных данных. Кобэм предположил, что класс P может быть хорошим способом для описания множества реально вычислимых задач. Любая проблема, не содержащаяся в P, невозможна, но если задача реального мира может быть решена с помощью алгоритма, существующего в P, то такой алгоритм в конечном итоге будет открыт.
В 1965 году Юрис Хартманис и Ричард Стернс опубликовали статью «On the Computational Complexity of Algorithms», отмеченную премией Тьюринга. В ней даются более точные определения сложности алгоритма и класса сложности. Хартманис и Стернс определили класс сложности как совокупность всех задач, которые можно решить за установленные временные рамки. В их статье показано, что существует бесконечная иерархия классов сложности (например, задачи, для которых наиболее быстрый алгоритм имеет время, пропорциональное n, n log n, n^2, n^3, 2^n и т. д.), где небольшое увеличение временного интервала позволяет решать больше задач. Во второй статье Хартманис совместно с Филипом М. Льюисом показали, что подобная иерархия существует и для количества памяти (функция от размера входа) при решении задачи на машине Тьюринга.
В 1967 году Мануэль Блюм разработал аксиоматическую теорию сложности, которая основана на его собственных аксиомах (аксиомы Блюма), и получил важный результат — теорему об ускорении. До этого мы говорили по большей части о сложности алгоритма. Хотелось бы аналогичным образом определить и сложность задачи: например, какова сложность самого эффективного (по времени и емкости) алгоритма, решающего эту задачу. Теорема об ускорении гласит, что есть некоторые задачи, для которых не существует самого быстрого алгоритма, потому что любой алгоритм для такой задачи можно «ускорить», построив более быстрый алгоритм.
Точная формулировка проблемы равенства P и NP была представлена в 1971 году. Тогда американский ученый Стивен Кук и работавший независимо советский ученый Леонид Левин доказали, что существуют практически актуальные проблемы, которые являются NP-полными. В США Стивен Кук опубликовал статью «The complexity of theorem proving procedures», в которой формализовал понятия редукции за полиномиальное время и NP-полноты, а также доказал существование NP-полной задачи (задача выполнимости булевых формул, SAT). Теорема была независимо доказана Леонидом Левиным и, таким образом, получила название «теорема Кука-Левина».
В 1972 году Ричард Карп сделал рывок в знаменитой статье «Reducibility among Combinatorial Problems», в которой показал, что около 20 разнообразных задач из комбинаторики и теории графов, известных своей вычислительной трудностью, являются NP-полными.
В августе 2010 года Виней Деолаликар, работавший в исследовательском отделении Hewlett-Packard в Пало-Альто в Калифорнии, заявил, что разгадал загадку P vs NP. Он утверждал, что P не равняется NP, однако научное сообщество нашло в его доказательстве фатальную ошибку. В начале 2002 года SIGACT News провел опрос среди 100 ученых, задав им вопрос о равенстве классов NP и P. 61 человек ответили, что «неравны», 9 — «равны», 22 затруднились ответить и 8 сказали, что гипотеза не выводима из текущей системы аксиом и, таким образом, не может быть доказана или опровергнута.
К чему приведет решение проблемы
Окей, теория вычислимости, формализация алгоритмов и абстрактные математические теории — все это конечно интересно, но как решение проблемы равенства NP и P классов отразится на практике? На самом деле, алгоритмы для решения NP-задач используются каждый день во многих сферах. Например, в криптографии, криптовалютах, восстановлении поврежденных файлов, системах блокировки спама, оптимизации в логистике и т. д. Более эффективные решения могли бы значительно сэкономить время и деньги, так как мы пользуемся в основном эвристическими методами, дающими лишь приближенные решения.
Однако существует и обратная сторона монеты. Солидная часть криптографии (криптосистемы с открытым ключом, технологии доказательства выполнения работы в блокчейне, системы блокировки спама) основывается на предположении о неравенстве NP и P классов. Если окажется, что некоторые задачи, для которых, как считалось, не существует эффективных алгоритмов, можно решать быстро, то многие методы защиты устареют.
Может оказаться и так, что последствия решения окажутся не такими тривиальными, как это часто и бывает в математике. В качестве примера рассмотрим континуум-гипотезу о существовании мощности, меньшей континуума и большей мощности счетного множества. Оказывается, существование такого кардинала нельзя ни доказать, ни опровергнуть в аксиоматике ZFC. Так что мы вправе считать, что такие мощности бывают (впрочем, как и считать, что не бывают). Однако ясно, что мы не можем конструктивно построить соответствующее множество. Возможно, точно также окажется и с алгоритмами для NP-задач в случае равенства NP и P (к слову, некоторые математики в опросе SIGACT News так и ответили: гипотеза не выводима из существующей системы аксиом, то есть не может быть доказана или опровергнута).
Пока что существующих методов доказательств недостаточно для строго математического ответа, но не нужно терять надежду. В марте 2001 года Ричард Карп предсказал, что проблема будет решена молодым математиком (до 30 лет) с использованием подхода, о котором еще никто не думал. Стивен Кук заявил, что кто-нибудь предоставит убедительное доказательство в ближайшие 20 лет.