Алгоритмы для жизни: Простые способы принимать верные решения - [90]

Шрифт
Интервал

не является простым числом», эти уравнения говорят «я не видел n раньше»). Если вас устроит коэффициент погрешности 1–2 %, хранение полученных результатов в такой вероятностной структуре данных, как фильтр Блума, позволит вам сэкономить очень много времени и пространства. И польза подобных фильтров не ограничивается только поисковыми системами: фильтры Блума интегрированы в большинство современных браузеров для сверки URL-адресов со списком известных вредоносных сайтов, они также являются важной частью пиринговых платежных систем вроде Bitcoin.

По словам Миценмахера, «идея ошибочного компромисса пространства – думаю, основная проблема в том, что люди не связывают это с вычислениями. Они полагают, что компьютер должен просто выдать ответ. Поэтому, когда на лекции, посвященной алгоритмам, вы слышите: "У вас должен получиться один ответ; но этот ответ может быть неправильным", – мне нравится думать, что это заставляет их [студентов] собраться. Думаю, люди просто не осознают, насколько часто они сталкиваются с этим в своей жизни, и не могут принять это».

Холмы, долины и ловушки

Река извивается, потому что она не умеет думать.

Ричард Кенни

Случайность также зарекомендовала себя как мощное оружие в борьбе с проблемами дискретной оптимизации, такими как создание расписания баскетбольных матчей NCAA или поиск кратчайшего маршрута для коммивояжера. В предыдущей главе мы увидели, как релаксация помогает снизить количество подобных проблем, но тактическое использование случайности стало, возможно, даже более значимым способом.

Представьте себе, что вы планируете путешествовать по миру и посетить десять городов. Ваша собственная версия проблемы коммивояжера: вы улетаете и прилетаете в Сан-Франциско и планируете побывать в Сиэтле, Лос-Анджелесе, Нью-Йорке, Буэнос-Айресе, Лондоне, Амстердаме, Копенгагене, Стамбуле, Дели и Киото. Вас не слишком волнует общая протяженность маршрута, но вы, вероятно, стремитесь снизить расходы на поездку. Первое, что стоит здесь отметить: хотя десять городов – это не так уж и много, но количество возможных вариантов маршрута – это 10! (10 факториал) – более 3,5 млн. Иными словами, у вас нет никакой практической возможности проверить каждую комбинацию и выбрать самую низкую цену. Придется получше пораскинуть мозгами.

В качестве первой попытки построить маршрут вы можете рассмотреть самый дешевый рейс из Сан-Франциско (скажем, в Сиэтл), а затем найти самый дешевый рейс оттуда в любой из оставшихся городов (пусть это будет Лос-Анджелес), потом самый дешевый оттуда (например, в Нью-Йорк) и т. д., пока вы не дойдете до десятого города, откуда вам нужно будет лететь обратно в Сан-Франциско. Это пример так называемого жадного алгоритма, который можно еще назвать близоруким: на каждом этапе пути он близоруко выбирает лучший вариант из тех, что под рукой. В теории планирования, которую мы рассмотрели в главе 5, жадный алгоритм – например, выполнение самой простой и занимающей меньше всего времени работы из доступных, не заглядывая далеко вперед, – порой может стать именно тем, что требуется для решения проблемы. В этом случае решение проблемы коммивояжера, которое может предложить жадный алгоритм, не самое плохое, но далекое от лучшего из возможных.

После того как вы построили базовый маршрут, вам стоит проверить возможные альтернативы, меняя последовательность городов, и посмотреть, получается ли лучше. Например, если мы решили сперва лететь в Сиэтл, а потом в Лос-Анджелес, можно попробовать поменять их местами: сначала Лос-Анджелес, затем Сиэтл. Для любого заданного маршрута мы, таким образом, можем переставить местами два города 11 раз. Скажем, мы перепробуем все варианты и выберем тот, который позволит нам максимально сэкономить. С этого момента у нас есть новый построенный маршрут, с которым мы будем работать дальше, и мы можем снова заняться перестановкой, чтобы извлечь какие-то дополнительные выгоды. Этот алгоритм называется «восхождение на холм», поскольку поиск лучших и худших решений среди множества вариантов можно рассматривать как путешествие по холмистой местности с целью взобраться на самую высокую гору.



В конечном итоге вы найдете наилучшее решение из всех возможных перестановок. И не важно, какие соседние города вы меняете местами: оно останется таковым. Именно здесь заканчивается ваше восхождение на холм. Означает ли это, что вы нашли единственно возможный наилучший маршрут? К сожалению, нет. Вы могли найти только так называемый локальный максимум, но не глобальный максимум всех вероятностей. Холмистый ландшафт к тому же окутан туманом. Вы можете сделать вывод, что стоите на вершине холма, только на основе того факта, что вокруг вас видны уходящие вниз склоны. Но, возможно, за долиной есть гора и повыше, скрытая за облаками.

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


Рекомендуем почитать
Особенности личностного и семейного функционирования родственников наркозависимых

В монографии представлен аналитический обзор современной литературы, отражающий основные научные подходы к изучению родственников больных с аддиктивными расстройствами. В работе описываются особенности личностного и семейного функционирования различных категорий родственников больных, страдающих героиновой наркоманией, в сопоставлении с показателями их сверстников из нормативной выборки. Нормативная группа включала практически здоровых лиц, не имеющих выраженных нарушений социальной адаптации. Среди членов семьи нормативной группы отсутствовали лица, страдающие наркотической зависимостью, выраженными нервно-психическими или тяжелыми хроническими соматическими заболеваниями. Описан характер семейной и личностной дисфункциональности родственников наркозависимых, в частности, среди показателей семейного функционирования особое внимание уделено таким, как: нарушение семейного климата и уровня организации семьи, снижение показателей семейной социокультурной ориентации.


Страх ничего не решает

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


На пути к новой пенитенциарной ролевой парадигме

Монографическое исследование на основе ролевой теории (теории ролей), современных концепций психологии, социологии, конфликтологии и юриспруденции представляет собой нестандартный анализ пенитенциарного процесса. В результате исследования выявляются универсальные факторы, которые приводят процесс исполнения наказания в виде лишения свободы в состояние криминального кризиса. Краеугольным камнем исследования стал вывод о том, что первопричиной конфликтов в местах лишения свободы с криминальной динамикой является наличие у сотрудников архаичной пенитенциарной парадигмы применения власти.


Психологика успешности от А до Я

Успешность – это реальность или призрак? Ради неё многие люди готовы на всё! Но как её достичь? Использовать логику или довериться случаю? Эта книга поможет достичь подлинной успешности и счастья в жизни! Почему бы не начать её читать? Несомненно вы найдёте много полезного для своей жизни!


Кокология 2

«Кокология» – модная японская игра, представляющая собой серию увлекательных психологических тестов, – входит сегодня в число популярнейших американских бестселлеров. «Кокология-2» предлагает читателям более 50 совершенно новых тестов, рассчитанных как на опытных кокологов, так и на новичков. Кокология – наука, занимающаяся изучением кокоро, что по-японски значит «ум» или «дух», – предлагает вам совершенно безобидные на первый взгляд вопросы вроде «Какая комната в вашем воображаемом доме самая чистая?», после чего выдает на основе полученных ответов описание вашего характера, ваших помыслов и предпочтений.


Матрица `Матрице` - рознь

(О рецепте обретения “свободы” в фильме «Матрица») 1. Вот такое кино 2. Охота на человека и вопросы жизни и смерти 3. Математика и Божий Промысел 4. «Матричное» управление 5. О матрицах и эгрегорах 6. Освобождение — в Преображении содержания, а не в смене обличий.