人類がインターネットを発明する遥か前からアリは餌探しでTCPと同じアルゴリズムを使っていたことがスタンフォード大の調べで明らかになり、早速「アンターネット」という世にもラブリーな名前がつきましたよ。
発見したのは、アリんこ研究歴20余年のデボラ・ゴードン(Deborah Gordon)生物学教授とバラジュ・プラバカー(Balaji Prabhakar)コンピュータサイエンス教授。
TCPは最初のパケットで帯域が小さいと判断するとデータ転送量を絞って調整しますけど、収穫アリも最初の食料探し隊の帰りがあまりにも遅いと「食料があんまりない山だな」と判断し、次に送る兵の数を絞っていたんですね。
スタンフォード・ニュースはこう伝えています。
収穫アリ(単独行動で種を探し回る)が巣から餌探しに出るスピードと食料入手可能性は比例している。
食料探し隊は原則、食料が見つかるまで巣には戻らない。種が豊富にあれば、そのぶん巣への戻りも速くなり、もっと沢山のアリが巣から餌を探しに出るが、逆に手ぶらで帰るアリが出始めると、餌探しのスピードも鈍り、場合によっては中止となる。
アリはなんとTCPの「スロースタート」技術もちゃっかり使いこなしていたんです。つまり数を大小調整する前に餌探し隊(パケット)をドッと送り込んで食料備蓄量(帯域)の大まかなところを把握する技。ネットでは送り手がパケット送信を止めると接続がタイムアウトになりますが、アリも20分間1匹も蟻が戻ってこないと次の蟻を餌探しに出すのを止めるんですね。
プラバカー教授は、もしこの行動がインターネットより前の時代に発見されてたら、ネットのデザインにも影響を与えていたかもしれない、と話していますけど、この餌探しのプロセスは悠久の時間の風化に耐えてきたものなのだし、まだそこから学べる何かが残っているのかも。こういう話を聞くと、使えるアルゴリズムは自然界にまだいろいろ眠ってて、ただ静かに発見の時を待っている...そんな気がしてきますね。
UPDATE:タイトル「万」加筆しました!
[Stanford News]関連:レイヤ4 TCP 輻輳制御
Eric Limer(原文/satomi)