Хакни рутину. Как алгоритмы помогают справляться с беспорядком, не тупить в супермаркете и жить проще
Шрифт:
«Как производится закапывание и откапывание? Есть много способов. Один – вести список таких заметок в одной или нескольких стандартных линиях задержки (1024), где самая недавняя запись становится последней. Положение самой недавней записи хранится в фиксированном временном хранилище, и эта ссылка изменяется каждый раз, когда зависимая позиция начинается или заканчивается».
Этот поразительный текст рассказывает о том, как концепции, которые мы сегодня считаем интуитивными, вообще появились на свет. Они стали очевидными, только
Поэтому бывает смешно читать старые тексты и трактаты – они показывают нам, как далеко мы продвинулись. Помню, я открыл однажды «Руководство по хорошим манерам для детей» авторства Дезидериуса Эразмуса, изданную в 1530 году, и нашел такой совет: «Не давайте соплям скапливаться в носу, так поступают только неряхи. Еще Сократа критиковали за этот порок». Для человека из XXI столетия это правило выглядит само собой разумеющимся, но в контексте того времени оно блистало новизной.
Разговор Тюринга о вспомогательных операциях напоминает еще одну жизненную ситуацию, где стеки были бы полезны. Представьте, что на следующее утро к дому Яна подъезжает почтальон и не смотрит ему в глаза. По щекам почтальона катятся слезы, а губы дрожат от обиды.
«Простите, не сделал ли я чего-то такого, что обидело вас?» – спрашивает Ян.
«Ну, вообще-то сделали. Так и есть», – сказал почтальон, отводя взгляд.
Как же Яну вспомнить, каким образом он обидел почтальона? Ему нужно изучить верхние пункты из нужного стека воспоминаний – стека под названием «почтальон». Причина наверняка кроется в их последнем общении.
Есть ли в нашей повседневной жизни вещи, которые работают как стеки? Как насчет Всемирной паутины? Каждый раз, когда вы кликаете по ссылке, вы помещаете данный сайт в стек. Заходя на эту ссылку еще раз, вы берете веб-адрес из стека. Вам все равно, сколько сайтов вы посетили, пока вы можете вернуться к последнему и от него к другому, стоящему раньше, и так далее.
Можно надеяться, что Ян сумеет разобраться в своем стеке, чтобы внести поправки в манеру общения с почтальоном, и научится лучше определять, когда ему идти за продуктами.
4
Выход из лабиринта
Как-то
Есть еще одна греческая история. Когда родился Минотавр, полубык-получеловек, великий архитектор Дедал построил лабиринт, куда было заточено это злое и коварное существо.
«Оказавшись внутри, он бродил по извилистым тропинкам, но так никогда и не нашел выхода. В это место периодически отправлялись молодые афиняне, которых отдавали на съедение Минотавру. И не было у них никакой возможности спастись».
К счастью для Тесея, который тоже должен был стать жертвой Минотавра, дочь царя Ариадна влюбилась в него и разработала план его побега.
Она послала за Дедалом и велела ему показать выход из лабиринта. Тесею она обещала спасение, если он возьмет ее в Афины и там женится на ней. Ариадна дала ему ключ, полученный от Дедала, и клубок пряжи, который Тесей должен был прикрепить к двери и разматывать нить по мере продвижения. Так он и сделал и, конечно же, когда понадобилось, смог проделать путь в обратном направлении. Он смело прошел по лабиринту, нашел Минотавра спящим, убил его и вышел наружу».
Запомните эту историю. Мы скоро вернемся к ней снова. А пока давайте опишем три метода, которые Иоаннис мог бы использовать, чтобы найти выход из мастерской.
ЦЕЛЬ: ВЕРНУТЬСЯ К ВЫХОДУ
МЕТОД 1: ИДТИ ПО ПРОХОДАМ. СВОРАЧИВАТЬ НАУГАД, ПОКА НЕ НАЙДЕШЬ ВЫХОД.
МЕТОД 2: ДЕРЖАСЬ ПРАВОЙ РУКОЙ ЗА СТЕНУ, ИДТИ ВДОЛЬ НЕЕ, СВОРАЧИВАЯ КАЖДЫЙ РАЗ ТОЛЬКО НАПРАВО.
МЕТОД 3: ВЗЯТЬ С ПОЛКИ КАТУШКУ С НИТКАМИ И РАЗМАТЫВАТЬ ЕЕ ПО МЕРЕ ДВИЖЕНИЯ ПО ПРОХОДУ. ЕСЛИ ПОПАДЕШЬ В ТУПИК ИЛИ НАТКНЕШЬСЯ НА СВОЮ ЖЕ НИТКУ, ТО ПОВЕРНУТЬ НАЗАД И ПОЙТИ ПО ДРУГОМУ ПРОХОДУ.
Метод 1 имитирует путь мыши в лабиринте. Никаких продвинутых умственных способностей для него не требуется – просто беспорядочное хождение от одной точки до другой, пока по случайности не наткнешься на кусок сыра. Иногда его так и называют – метод беспорядочной мыши. Как вы можете догадаться, результат достигается крайне медленно.
Конец ознакомительного фрагмента.