개미가 길을 찾는 방법을 컴퓨터 네트워크(라우팅)에 이용하는 것은 "자연을 흉내내어서 기술적 혁신을 얻는" 많은 사례 중의 하나이다.
RichardFeynman이 어렸을 때 일화다. 그는 개미가 길을 찾는 방식이 무지무지 궁금했다. 그래서 이런 실험을 했다고 한다. 개미 집에서 조금 떨어뜨린 곳에 꿀단지를 놓고, 집과 꿀의 사이에 조그마한 종이 한 장을 바닥에 깔아 놓는다. 개미들은 꿀을 찾아 떠나기 시작할테고, 그 종이 위를 지나다니게 될 것이다. 적당한 시간이 흐른 후에 그 종이의 각도를 90도 틀어본다. 그러면 흥미롭게도 개미들은 꿀이 없는 영 엉뚱한 방향으로 열심히 기어가기 시작한다.
이유는 개미들의 페로몬 때문이다. 개미는 자신이 지나는 곳에 페로몬을 남기며, 길을 찾을 때엔 다른 개미가 남긴 페로몬이 있는 길을 선택한다. 가장 빠른 길을 택한 개미가 가장 먼저 돌아오기 쉽고 따라서 복합작용에 의해(일종의 positive feedback) 가장 빠른 길의 페로몬이 가장 강화된다. 예를 들어, 개미집과 꿀 사이에 통로가 갑, 을 두가지만 있을 때, 갑이 을보다 2배 더 오래 걸리는 길이라고 하자. 갑을 택한 개미가 한참 달리고 있을 때, 을을 택한 개미는 꿀단지까지 다녀오게 된다. 이 때에 개미집에서 갑으로 나가는 길목에는 개미 한마리가 한번 지나간 만큼의 페로몬이, 을로 나가는 길목에는 두번 지나간(왕복한) 만큼의 페로몬이 남아있다. 따라서, 다음번의 개미는 페로몬이 더 강한 을을 택하게 된다. 덕분에 개미들은 최단경로를 택할 확률이 높아진다. 중앙 집권적인 제어가 없이도 창발성에 의해 이런 조직적 구조가 발현하는 것이다.
이런 개미의 방식을 컴퓨터 네트워크에 적용한 연구가 최근 복잡성 과학이니, 창발성이니, 자기조직적이니 하는 유행과 함께 세간의 주목을 받고 있다. 네트워크를 떠돌아 다니는 데이타 패킷이 개미의 역할을 하는 것이고, 이 "개미들"은 자기가 지나가는 곳에 일종의 인공 페로몬을 남긴다 -- 뒤에 오는 개미들을 위해.
See also (as in the order)
- ABC 뉴스 기사 http://abcnews.go.com/sections/science/dailynews/ant000706.html
- 뉴욕 타임즈 기사 http://www.nytimes.com/2001/09/13/technology/circuits/13ANTS.html
- Bonabeau E. and Theraulaz G. Swarm Smarts. ScientificAmerican, March 2000, pp. 72-79.
- Future of Software http://www.futureofsoftware.net/eb0010/eb0010.asp
- 산타페 연구소 보나뷰 박사의 논문 http://www.santafe.edu/sfi/publications/Abstracts/99-01-009abs.html
- Cal Tech의 Swarm Intelligence 수업 http://www.micro.caltech.edu/Courses/EE141/course.html
태양을 이용한 개미의 GPS 시스템
또한 개미는 페로몬(Pheromone) 뿐만 아니라, 태양의 위치를 기준으로 방향을 잡기도 한다. 꿀벌이 밖에서 좋은 꽃밭을 발견하고는 집에 돌아와서 꽃밭의 위치를 알려주는 춤을 춘다는 사실은 초등학교때 교과서에서 누구나 배워서 알고 있을 것이다. 아쉽게도 개미는 이러한 춤기술은 없지만, 페로몬 물질을 통해서 동료들을 유인할 수는 있다. 그렇다면, 먹이까지 가서 먹이를 발견하는 데까지는 성공했다치더라도 어떻게 다시 집으로 돌아갈 수 있는가 하는 의문이 생긴다. 꿀벌이 춤추는 스탭(?)은 태양의 위치를 기준으로 원을 그린다. 그런데, 꿀벌이 집으로 돌아오는 동안 태양의 위치는 변한다. 놀랍게도 꿀벌은 태양의 수정된 위치를 기준으로 춤을 춘다.
개미의 경우도 마찬가지이다. 개미는 태양의 위치를 기준으로 자신이 움직인 거리며 방향 등을 뇌속에 기억한다. 지그재그로 이리저리 돌아다니다가 집으로 돌아갈때면, 직선거리로 바로 이동한다. 이 사실은 개미가 자신의 움직인 거리와 위치를 기억하고 있다가 최단거리를 계산해내는 것이라고 밖에 설명할 길이 없다. 더욱 놀라운 사실은 태양의 위치변동을 그 '계산'에 변수로 대입한다는 것인데, 의도적으로 태양빛을 일정시간동안 차단하더라도 생체시계로 태양의 위치변동 계산을 대체해서 그 '계산'을 해낸다는 것이다.