Ваш город
По вашему запросу ничего не найдено.
Города России
Области России
0
Поиск
Вернуться к списку

7 лайфхаков математиков для решения любых жизненных задач

Мы каждый день сталкиваемся с целой кучей вопросов, проблем, необходимостью сделать выбор. А потом раздумываем, правильно ли мы поступили. Авторы книги «Алгоритмы для жизни. Простые способы принимать верные решения» Брайан Кристиан и Том Гриффитс предлагают решать любые жизненные задачи — от поиска второй половины до наведения порядка в шкафу — с помощью алгоритмов, которые используют программисты и математики. 

1. Правило 37%

Представьте, что вы ищете квартиру в Сан-Франциско — городе с самой катастрофической ситуацией в этом плане. Стремительно растущий технологический сектор и жесткое законодательство по зонированию городской территории, ограничивающее строительство новой недвижимости, привели к тому, что объявления о выставленных на продажу квартирах исчезают за считанные минуты, на осмотр свободного дома собираются толпы, и зачастую ключи от квартиры оказываются в руках у того, кто первым успел всучить чек арендодателю. Жестокие законы рынка не оставляют возможности для принятия взвешенного решения (а именно такие решения должны бы принимать рациональные потребители).

Так что же делать? Если вы хотите максимально увеличить свои шансы на получение лучшей квартиры, потратьте 37% вашего времени и усилий (11 дней, если вы задались целью найти квартиру за месяц) на изучение вариантов без каких бы то ни было обязательств. Оставьте вашу чековую книжку дома, вы просто примеряетесь. Но после этого будьте готовы действовать незамедлительно — внести депозит и уладить прочие формальности — ради того варианта, который превзойдёт по всем параметрам остальные. Это не просто компромисс между тем, чтобы отмерить и отрезать. Это обоснованно оптимальное решение. Мы знаем это, потому что поиск квартиры принадлежит к разряду математических задач — «задач об оптимальной остановке». Почему 37%? Подбирая квартиру, вы можете совершить две ошибки: остановиться либо слишком рано, либо слишком поздно. Если вы прекращаете поиски рано, существует большой риск, что лучшую квартиру вы ещё не успели встретить. Если останавливаетесь слишком поздно, вы продолжаете ждать идеальный вариант, которого не существует. Оптимальная стратегия требует от вас баланса между чрезмерным и недостаточным поиском.

Это же правило поможет понять, когда перестать искать идеальное место для парковки, когда выйти из рискованного проекта, когда согласиться на предложенную покупателем цену на квартиру и даже когда пора жениться.

2. Решение задачи многорукого бандита

Ваш желудок урчит от голода. Вы пойдёте в ваш давно любимый итальянский ресторан или в недавно открывшийся тайский? Возьмёте с собой лучшего друга или нового знакомого, которого хотите узнать поближе? О нет, это слишком сложно. Вероятно, вы просто предпочтете остаться дома. Приготовите ужин по проверенному рецепту или порыскаете по Интернету в поисках чего-нибудь новенького? Пустяки, можно же просто заказать пиццу! Возьмете «как обычно» или поинтересуетесь новинкой? Каждый день мы вынуждены выбирать между вариантами, которые отличаются друг от друга по одному специфическому признаку: попробуем ли мы что-то новое или останемся верны старым проверенным вариантам?

Решить эту дилемму поможет «проблема многорукого бандита». Представьте, что вы входите в зал казино, полный разных игровых автоматов, каждый из которых даёт шанс на выигрыш. Закавыка в том, что вы не знаете ничего об этих шансах заранее: пока вы не начнёте играть, вы не поймёте, какие автоматы наиболее прибыльные, а какие только вытянут из вас все денежки.

Для понимания всех тонкостей данной задачи представьте, что у вас есть только два игровых автомата. На одном из них вы сыграли 15 раз; 9 раз он выдал вам выигрыш, а 6 раз — нет. На другом вы сыграли всего дважды; один раз выиграли и один раз проиграли. Какой из автоматов перспективнее? Просто разделите количество выигрышей на общее количество раз, что вы дернули ручку, и вы получите «ожидаемую выгоду». Согласно этому способу, первый автомат явно лидирует. Его соотношение 9:6 даёт нам 60% ожидаемой выгоды, в то время как у второго соотношение 1:1 даёт всего 50%. Но это ещё не всё. В конце концов, всего две игры — это не слишком показательно, и можно предположить, что мы просто пока не знаем, насколько хорош второй автомат. Выбор ресторана или музыкального альбома по сути своей — это тот же выбор, за какую ручку дернуть в жизненном казино.

Когда мы пытаемся найти равновесие между старыми любимыми впечатлениями и новыми, ничто так ни важно для нас, как продолжительность времени, в течение которого мы собираемся ими наслаждаться. Ценность исследования, поисков нового фаворита исчезает с течением времени, в то время как возможность наслаждаться найденным остаётся. Даже если вы обнаружите очаровательное кафе в свой последний вечер в городе, у вас уже не будет шанса ещё раз туда вернуться. Обратная же сторона медали в том, что ценность эксплуатации со временем только возрастает. Чудеснейшее кафе, о котором вы знаете сегодня, по меньшей мере настолько же чудесно, как и те чудеснейшие кафе, о которых вы знали в прошлом месяце. Так что исследуйте, если у вас будет возможность насладиться впоследствии полученными результатами, и эксплуатируйте, когда будете готовы покинуть игру. Этот промежуток и определяет стратегию.

3. Правило кеширования в шкафу

У вас проблема. Ваш шкаф переполнен: ботинки, рубашки и нижнее белье — всё вываливается на пол. Вы думаете, что пора бы навести порядок. Теперь у вас две проблемы. А именно: сначала вам необходимо решить, какие вещи оставить, а затем — как их разложить. К счастью, в мире есть несколько профессионалов, которые зарабатывают себе на жизнь, размышляя об этих задачах, и они будут весьма рады дать вам совет. Что касается задачи «какие вещи оставить», Марта Стюарт рекомендует сначала ответить себе на следующие вопросы: «Как давно у меня эти вещи?», «Их всё ещё можно носить?», «Возможно, у меня есть другие аналогичные или очень похожие вещи?», «Когда в последний раз я их надевала?».

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

В конце 1960-х годов в суперкомпьютер IBM 360/85 внедрили память, которая получила название «кеш». Когда кеш заполнится, потребуется освободить место для хранения дополнительной информации. В компьютерной науке процесс освобождения места называется «замещением кеша». Оптимальная политика замещения кеша заключается в том, чтобы, когда кеш полностью заполнен, вытеснить любой его элемент, который максимально нескоро нам понадобится.

Другой подход — вытеснение по давности использования — замещается тот фрагмент информации, к которому дольше всего не было обращений (вопрос Марты Стюарт «Когда в последний раз я это надевала или использовала?»). Получается, что эти две мантры Марты Стюарт предлагают две разные стратегии. Более того, одна из них явно превосходит другую.

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

4. Алгоритмы планирования

Сейчас утро понедельника, и ваш график до сих пор не сформирован, зато у вас есть огромный список задач. К каким-то задачам вы можете приступить только после выполнения других (вы не можете загрузить грязную посуду в посудомоечную машину, не достав из неё чистую), а некоторые вы можете сделать только спустя определённое время. У некоторых задач есть чёткие сроки исполнения, другие могут быть решены в любое время, а срочность большинства задач представляет собой нечто среднее. Некоторые имеют высокую срочность, но при этом не важны. Другие крайне важны, но могут подождать. Так что же делать, когда и в каком порядке?

Первый оптимальный алгоритм планирования можно рассмотреть на примере прачечной. Когда вы стираете вещи, в первую очередь они проходят через стиральную машину, а потом отправляются в сушилку. Количество времени, которое займёт каждый процесс, напрямую зависит от того, что вы загружаете. Если одежда сильно запачкана, то времени на стирку потребуется больше, при этом время на сушку не будет отличаться от обычного. Большее количество вещей будет дольше сушиться, но стирка займёт то же время, что и в случае меньшей загрузки. И здесь математик-исследователь Селмер Джонсон задал вопрос: «Если за один подход вам необходимо постирать и посушить несколько условных комплектов вещей, как это лучше организовать?».

Ответ был таков: вам необходимо определить, какой процесс займёт у вас меньше всего времени, то есть выбрать тот комплект, стирка или сушка которого займёт минимальное время. Если комплект быстро постирается, начните именно с него. Если же минимальное количество времени требуется для сушки, займитесь этим комплектом в последнюю очередь. Повторите те же действия в отношении остальных комплектов вещей, двигаясь от начала и конца расписания к середине. Алгоритм Джонсона работает, потому что вне зависимости от выбранной последовательности загрузки белья в самом начале будет работать только стиральная машина, при этом сушилка будет простаивать (а в самом конце, когда останется только посушить выстиранные вещи — наоборот). Если в самом начале стирать вещи на коротких программах, а в конце сушить наименьшее количество вещей, то мы увеличим период, когда и стиральная машина, и сушильная работают одновременно. Таким образом, у нас получится свести к минимуму время, проведенное в прачечной.

5. Закон Лапласа

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

По теории французского математика Пьера-Симона Лапласа, если мы ничего не знаем о розыгрыше лотерей наперёд, то после вытаскивания счастливого билета с первой же попытки мы будем ожидать, что доля выигрышных билетов во всём выпуске составляет 2/3. Если мы покупаем три билета, и все они оказываются выигрышными, то ожидаемая нами доля выигрышных билетов становится уже 4/5. На самом деле, для вытаскивания w выигрышных билетов за n попыток ожидание равняется количеству выигрышей плюс один, разделённых на количество попыток плюс два: w + 1/n + 2.

Эта невероятно простая схема для оценки вероятностей также известна как закон Лапласа, и её легко применить в любой ситуации, когда вам предстоит оценить шансы грядущего события, основываясь на его истории. Если вы предпринимаете десять попыток чего-либо, и пять из них оказываются успешными, закон Лапласа оценивает ваши общие шансы как 6/12, или 50%, что отвечает нашим ожиданиям. Если вы предпринимаете только одну попытку, и она срабатывает, то оценка шансов в 2/3 (по закону Лапласа) будет более разумной, чем предположение, что теперь вы каждый раз будете выигрывать.

Закон Лапласа предлагает нам первое простое правило для сопоставления малых данных в реальном мире. Даже если мы произвели всего лишь несколько исследований (или всего одно), он даёт нам практические рекомендации. Хотите высчитать вероятность опоздания вашего автобуса? Узнать шансы на победу вашей любимой команды? Подсчитайте, сколько раз это уже случалось в прошлом, и прибавьте к этому числу один, а затем разделите на количество возможностей плюс два. Красота закона Лапласа в том, что он работает одинаково хорошо как в том случае, когда у нас есть всего одно значение величины, так и в том, когда их миллионы.

6. Ограниченная релаксация

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

Хотя большинство из нас не сталкивались с формальной алгоритмической версией ограниченной релаксации, её основная идея знакома каждому, кто много размышлял над жизненными вопросами. «Что бы вы сделали, если бы не боялись?» — гласит мантра, которую вы не раз могли видеть в кабинете школьного психолога или на семинарах по мотивации. «Что бы вы сделали, если бы знали, что не потерпите неудачу?». Аналогичным образом, когда мы касаемся вопросов профессии и карьеры, мы интересуемся, «что вы сделаете, если выиграете в лотерею?» или, если зайти с другой стороны, «что бы вы делали, если бы все работы оплачивались одинаково?». Смысл этих мысленных упражнений точно такой же, как и в ограниченной релаксации: сделать неразрешимое легко решаемым, добиться успеха в идеализированном мире, чтобы потом перенести результат в мир реальный. Если вы не можете решить стоящую перед вами проблему, попробуйте решить её упрощенную версию и посмотрите, даст ли вам это решение отправную точку, послужит ли маяком для работы с полномасштабной проблемой. Возможно, что да.

7. Имитация отжига

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

В качестве первой попытки построить маршрут вы можете рассмотреть самый дешёвый рейс из Сан-Франциско (скажем, в Сиэтл), а затем найти самый дешёвый рейс оттуда в любой из оставшихся городов (пусть это будет Лос-Анджелес), потом самый дешёвый оттуда (например, в Нью-Йорк) и т. д., пока вы не дойдёте до десятого города, откуда вам нужно будет лететь обратно в Сан-Франциско. Это пример так называемого жадного алгоритма, который можно ещё назвать близоруким: на каждом этапе пути он близоруко выбирает лучший вариант из тех, что под рукой. Жадный алгоритм — не самое плохое, но далекое от лучшего из возможных. После того как вы построили базовый маршрут, вам стоит проверить возможные альтернативы, меняя последовательность городов, и посмотреть, получается ли лучше. С этого момента у нас есть новый построенный маршрут, с которым мы будем работать дальше, и мы можем снова заняться перестановкой, чтобы извлечь какие-то дополнительные выгоды. Этот алгоритм называется «восхождение на холм», поскольку поиск лучших и худших решений среди множества вариантов можно рассматривать как путешествие по холмистой местности с целью взобраться на самую высокую гору. В конечном итоге вы найдете наилучшее решение из всех возможных перестановок. Означает ли это, что вы нашли единственно возможный наилучший маршрут? К сожалению, нет. Вы могли найти только так называемый локальный максимум, но не глобальный максимум всех вероятностей. Вы можете сделать вывод, что стоите на вершине холма, только на основе того факта, что вокруг вас видны уходящие вниз склоны. Но возможно, за долиной есть гора и повыше, скрытая за облаками.

С задачей оптимизации справился физик Скотт Киркпатрик. В начале 1980-х годов Киркпатрик работал в компании IBM, где самой сложной и важной проблемой было нанесение электросхем на чипы, производимые компанией. В физике то, что мы называем температурой, на самом деле является скоростью — хаотичное движение частиц на молекулярном уровне. Это очень похоже, рассуждал Киркпатрик, на хаотичное «дрожание», которое может применяться вместе с алгоритмом восхождения на холм, чтобы иногда отказываться от лучших решений в пользу худших. И что же случится, вопрошал Киркпатрик, если вы попробуете решить проблему оптимизации как проблему отжига — сперва «нагреете» её, а затем медленно «охладите»? На сегодняшний день имитация отжига остается одним из наиболее перспективных подходов к решению известных проблем оптимизации.

Возвращаясь к задачке с десятью городами, мы могли бы начать с «высокой температуры», выстраивая первый маршрут полностью случайным образом, выбирая один из множества возможных вариантов решения независимо от цены. После этого мы можем медленно «остужать» наши поиски, бросая кубик каждый раз, когда рассматриваем изменение последовательности посещения городов. Выбор лучших вариантов всегда обоснован, но мы будем выбирать худшие, когда нам выпадает, скажем, два очка или больше. Через какое-то время мы ещё немного «снизим температуру», выбирая более дорогие варианты, если на кубике выпадет 3 или больше — а потом 4, а потом 5. В конечном итоге мы практически взойдём на холм, отступая назад только иногда, когда выпадет 6. Наконец мы начали бы идти только в гору и остановились бы, достигнув следующего локального максимума.

Автор: Валентина Фомина, источник фото – shutterstock.com, gratisography.com, unsplash.com