Исследователи из Стэнфордского университета (США) обнаружили, что красный американский муравей-жнец (Pogonomyrmex barbatus) выбирает, сколько особей следует отправить за едой, во многом таким же образом, как интернет-протокол TCP узнаёт, сколько трафика доступно для передачи данных.
Исследователи называют это «антернетом» (anternet, от слова ant — «муравей»).За насекомыми наблюдала биолог Дебора Гордон, а мысль о файлах пришла в голову профессору компьютерных наук по имени Баладжи Прабхакар.
Transmission Control Protocol (TCP) представляет собой алгоритм, выполняющий обязанности регулировщика на «перекрёстках» интернет-потоков. Благодаря ему Сеть за считанные годы выросла с нескольких десятков до миллиардов узлов. Работает он вот как: источник (А) передаёт файл в пункт назначения (Б), причём он разбит на несколько пакетов. С получением каждого пакета Б отправляет соответствующее уведомление (ack) в адрес А.
Обратная связь необходима для предотвращения перегрузки: если уведомления приходят медленнее, чем отправлялись данные, — значит, пропускная способность снизилась, и отправлять данные следует постепенно. В противном случае источник повышает скорость передачи.
Оказывается, Pogonomyrmex barbatus ведут себя почти аналогичным образом. Скорость, с которой муравьи отправляются за пропитанием, соответствует скорости поступления продовольствия. Фуражир не вернётся в гнездо, пока не найдёт корм. Если семян в окрестностях очень много, жнецы возвращаются быстрее, и в этом случае к ним присоединяется всё больше муравьёв. Если же разведчики начинают возвращаться с пустыми руками, конвейер замедляется и даже останавливается.
Г-н Прабхакар написал алгоритм для прогнозирования поведения муравьёв в зависимости от количества пищи (то есть пропускной способности), и он оправдал себя. «Муравьи обнаружили этот алгоритм миллионы лет назад», — резюмирует специалист.
Любопытно, что насекомые знают и о двух других фазах TCP. Одна из них известна как медленный старт: первым делом источник отправляет большую порцию пакетов, дабы измерить пропускную способность. Точно так же муравьи поначалу отправляются на поиск пищи большой группой.
Другой протокол («тайм-аут») используется, когда связь нарушается и источник прекращает передачу пакетов. Если фуражиры не возвращаются в гнездо в течение 20 минут, отправка новых разведчиков приостанавливается.
Г-н Прабхакар отмечает, что это открытие относительно муравьёв было сделано ещё в 1970-х годах и, чем чёрт не шутит, могло повлиять на создателей Интернета. Возможно, у муравьёв ещё много секретов, которые помогут нам усовершенствовать нашу Сеть. При этом муравьиные алгоритмы должны быть простыми, распределёнными и масштабируемыми — как раз то, что нам сейчас очень надо.