Но если вы обратитесь к программисту с просьбой помочь вам как-то внедрить этот процесс, то первый вопрос, который он задаст, – а нужна ли вам вообще эта сортировка?
Компьютерная наука, по крайней мере как ее преподают студентам, есть наука о компромиссах. И у нас уже была возможность наблюдать это в сложных отношениях в парах «отмерь – отрежь» и «исследуй – эксплуатируй». Одним из самых ключевых компромиссов здесь является компромисс между начальной сортировкой и последующим поиском. Основной вывод: усилия, затраченные на начальную сортировку материалов, ничтожно малы по сравнению с теми усилиями, которые придется затратить, чтобы позже попытаться что-нибудь найти, воспользовавшись этой самой сортировкой. При этом точный баланс усилий должен основываться на конкретной оценке ситуации, потому что попытка представить сортировку как что-то ценное и необходимое для поддержки будущего поиска приводит нас к удивительному умозаключению: ошибка на стороне беспорядка.
Попытка сортировать то, что вы никогда не будете потом искать, – пустая трата времени. Но, с другой стороны, искать что-либо, что вы никогда не сортировали, – просто неэффективно.
Неизбежно возникает вопрос: как же заранее определить, чем вы воспользуетесь в будущем?
Для понимания преимуществ использования сортировки стоит обратить внимание на работу поисковой системы, например Google. Трудно даже представить, что Google может взять фразу, которую вы набрали в поисковой строке и затем в поисках совпадений «прочесать» весь интернет менее чем за полсекунды. Это просто невозможно, это и не нужно. На месте Google вы были бы почти уверены, а) что ваши данные будут искать, б) что эти данные будут искать неоднократно и в) что время, необходимое для сортировки, будет куда менее ценным, чем время, необходимое для поиска. Вот почему сортировка производится машинным способом намного раньше того момента, когда вам потребуется результат поиска, а поиском занимаются пользователи, для которых время – крайне важный критерий. Все эти факторы демонстрируют огромную пользу предварительной сортировки, которую производит Google и другие его «коллеги» – поисковые системы.
И что, станете ли вы теперь расставлять ваши книги в алфавитном порядке? Для вашей домашней библиотеки в большинстве случаев ни одно из условий, которое может оправдать сортировку, не выполняется. Довольно редко мы ищем книгу под конкретным названием. Затраты на поиск среди неотсортированных книг довольно низки: мы можем достаточно быстро и точно протянуть руку к каждой книге, если хотя бы примерно знаем, где она находится на полке. И поэтому разница между двумя секундами, которые требуются, чтобы найти книгу на отсортированной полке, и десятью секундами, чтобы найти книгу на неотсортированной, вряд ли так важна для нас. Редко случается, что нам необходимо настолько срочно найти конкретную книгу, что мы готовы заранее тратить часы на подготовку поиска, чтобы потом сэкономить несколько секунд непосредственно в поиске. Более того, можно сказать, что глаза находят быстро, а руки сортируют медленно.
Вердикт очевиден: приведение в порядок вашей книжной полки потребует больше времени и энергии, нежели просто поиск конкретной книги, если она вам когда-нибудь понадобится.
Но если к вашей книжной полке вы не слишком часто обращаетесь, то про электронную почту такого уже не скажешь. И это еще одна сфера, в которой поиск преобладает над сортировкой. Сортировка по директориям электронных сообщений вручную потребует примерно столько же времени, как и раскладывание бумажных документов по папкам. Однако поиск среди электронных писем может быть гораздо более эффективным по сравнению с поиском среди их бумажных собратьев. Поскольку затраты на поиск снижаются, сортировка становится менее значимой.
Стив Уиттакер – один из мировых экспертов, специализирующихся на особенностях работы с электронной почтой. Ученый-исследователь IBM и профессор Калифорнийского университета в Санта-Круз, Уиттакер почти два десятилетия изучает, как люди управляются со своей персональной информацией. (Статью о перегрузке электронной почты он написал в 1996 году – задолго до того, как многие люди стали таковой пользоваться.) В 2011 году Уиттакер возглавил исследование, касающееся привычек пользователей при поиске и сортировке электронных писем. В результате появилась статья под названием «Стоит ли тратить свое время на организацию электронной почты?». Вывод автора был однозначным: да. «С одной стороны, это эмпирическое заключение, но, с другой стороны, это также результат опытов, – указывает Уиттакер. – Но когда я интервьюирую людей на тему такого рода организационных проблем, то они обычно говорят, что впустую тратят на это часть своей жизни».
Компьютерная наука демонстрирует, что обе опасности – путаница и порядок – как ни странно, поддаются измерению. И более того, для оценки их стоимости может быть использована общая валюта – время. Попытка оставить что-либо в несортированном виде может рассматриваться как факт отложенного платежа – перекладывания ответственности на самого себя в будущем, поскольку, если мы решим не платить за это сейчас, потом придется заплатить с довеском. Но в общем и целом все это трудноуловимо. Иногда выбор в пользу беспорядка не означает просто выбор легкого пути. Зачастую это оптимальный выбор.
Сортировка и спорт
Итак, в поисках компромисса между поиском и сортировкой можно прийти к выводу, что более эффективным будет оставить все в беспорядке. Возможная экономия времени не единственная причина, по которой мы сортируем вещи: иногда наведение порядка является самоцелью. И нигде это не проявляется так наглядно, как на спортивной арене.
В 1883 году преподавателю математики из Оксфорда Чарльзу Лютвиджу Доджсону довелось испытать необычные чувства, которые он описал следующим образом:
Однажды в качестве зрителя я случайно оказался на турнире по теннису, где – из-за переживаний одного из игроков – обратил внимание на процесс вручения призов.
Этот игрок, хоть и проиграл в самом начале турнира (потеряв, таким образом, все шансы на призовое место), тем не менее испытывал горькое чувство обиды, видя, как приз за второе место уходит к теннисисту, который, как он считал, был намного слабей его самого.
Обычные зрители могли бы списать сетования спортсмена на горечь поражения, но слух Доджсона уловил еще и нечто иное. И жалобы теннисиста подтолкнули его к началу глубоких исследований природы спортивных соревнований.
Стоит отметить, что Доджсон был не просто математиком из Оксфорда. По его воспоминаниям, он был чуть ли не единственным математиком. На сегодня этот человек более известен под творческим псевдонимом Льюис Кэрролл, его перу принадлежат «Приключения Алисы в Стране чудес» и многие другие любимые произведения литературы ХIХ века. Объединив математический талант с литературным, Доджсон создал одно из своих менее известных произведений «Соревнования по теннису: верные правила присуждения призов с обоснованием ошибочности ныне действующих правил».
Жалоба Доджсона была направлена организаторам очередного турнира на выбывание, по правилам которого игроки должны были попарно играть друг с другом и выбывать из соревнований после первого же проигрыша. Доджсон решительно утверждал, что в реальности вторым по мастерству игроком может быть любой из игроков, выбывших даже на предварительном этапе, не обязательно тот, кто проиграл чемпиону. Как ни странно, даже на современных Олимпийских играх специально проводится дополнительный матч за бронзовую медаль. И даже такой подход вынуждает нас, по всей видимости, признать, что формат турнира на выбывание не дает нам достаточно информации, чтобы выявить заслуженного претендента на третье место
[9]. По сути, такой подход не дает нам достаточно оснований для определения второго или третьего места; в реальности – ничего, кроме определения победителя. Как выразился Доджсон: «Существующий способ распределения призовых мест, за исключением приза за первое место, полностью лишен смысла». Из его слов становится очевидно, что серебряная медаль – это фикция.