.
Экспоненциальная задержка сыграла огромную роль в самом начале успешного функционирования ALOHAnet в 1971 году, а в 1980-х она была внедрена в протокол ТСР, став важной частью интернета (и она до сих пор является таковой). Как гласит один важный документ, «для порта, встроенного в сеть неизвестной топологии, с неизвестным, непознаваемым и постоянно меняющимся количеством конкурирующих диалогов, только одна схема имеет шансы на успех – экспоненциальная задержка». Но есть и другое применение данного алгоритма, более директивное и более значительное. Помимо избегания столкновений, экспоненциальная задержка стала способом обработки почти всех случаев падения сети или ее ненадежности, применяемым по умолчанию. Например, когда ваш компьютер пытается зайти на сайт, который, похоже, не грузится, он использует экспоненциальную задержку, совершая повторные попытки секундой позже, потом – спустя еще несколько секунд после этого и так далее. Это хорошо для всех участников процесса: такой подход предотвращает ситуацию, в которой хост-сервер выйдет из строя под валом повторных запросов, стоит ему едва только заработать вновь, а компьютер не тратит впустую слишком много усилий, чтобы выжать кровь из камня. Но что интересно, это к тому же не заставит ваш компьютер (да и не даст ему) вовсе прекратить попытки.
Экспоненциальная задержка также является важным звеном сетевой безопасности: последовательное неоднократное введение неверного пароля при попытке войти в свой аккаунт штрафуется экспоненциально возрастающим временем блокировки. Это предотвращает попытки хакеров атаковать аккаунт «перебором по словарю», подбирая пароль за паролем до тех пор, пока в конце концов не повезет. В то же время решается еще одна задача: реальный владелец аккаунта, каким бы забывчивым он ни был, не рискует навсегда быть заблокирован после произвольного выключения из работы.
В нашем же обществе мы склонны предоставлять людям некоторое количество шансов, прежде чем окончательно сдаться. Три попытки – и выбываешь из игры. Эта модель по умолчанию превалирует в любой ситуации, где идет речь о прощении, снисхождении или упорстве. Проще говоря, там, где мы, вероятно, делаем что-то неправильно.
Одна наша подруга недавно вспоминала своего друга детства, у которого была обескураживающая привычка ломать все планы. Что же делать? Решить, что с нее довольно и пора раз и навсегда закончить эти отношения? Это казалось необоснованным и жестким вариантом, но и продолжать постоянно менять свои планы было глупо, это привело бы к бесчисленным разочарованиям и впустую потраченному времени. Выход: экспоненциальная задержка по ставке приглашений. Попробуйте перенести дату на неделю позже, потом на две, потом на четыре, потом на восемь. Показатель повторной передачи стремится к нулю, но при этом вам не приходится окончательно ставить точку.