떼 지어 다니는 정어리는 봤어도 혼자 있는 정어리는 보기 힘들죠? 이유는 몸집이 작은 우리가 큰 물고기에게 잡히지 않기 위해 실시간으로 계산해 움직이기 때문이에요. 컴퓨터보다 빠른 계산 실력을 자랑하는 우리가 바로 수학왕 아닐까요?
사자, 원숭이, 사슴 등 무리지어 생활하는 동물은 많습니다. 터전을 옮기거나 먹이를 찾을 때 그리고 적과 싸울 때도 무리를 지어 행동하죠. 몸집이 작은 우리 정어리도 무리를 지어 상어처럼 큰 물고기가 위협할 때 거대한 하나의 물고기처럼 행동합니다.
그런데 다른 동물들과 큰 차이가 있습니다. 사자의 경우 숫사자 한 마리가 리더의 행동을 쫓아 움직입니다. 그런데 우리는 리더 없이 주변 동료들의 움직임을 보고 행동한다는 겁니다.
리더가 없는 우리는 바로 옆에 있는 동료들의 움직임을 실시간으로 파악해야 합니다. 각자가 옆 정어리의 행동을 살피고 똑같은 규칙에 따라 행동하면 마치 거대한 물고기 한 마리가 움직이는 것처럼 행동할 수 있죠. 어떻게 하냐고요?
사실 타고난 습성이라 뭐라 설명하기 쉽지 않았었는데 1987년 미국 수학자 크레이그 레이놀즈가 수학적으로 명확하게 규칙을 세워줬죠. 이 규칙을 이용해 정어리가 한 몸처럼 움직일 수 있는 알고리듬도 만들었어요. 위에 그림을 보시죠!
무리 짓기가 중요한 이유
무리 짓기 알고리듬에 관한 연구는 현재도 진행 중입니다. 최근에는 인공지능 분야에서도 연구합니다. 무리가 이동하는 것뿐 아니라 갑작스럽게 장애물을 만났을 때 피하는 방법이나 먹이를 사냥하는 행동 등 여전히 연구할 게 많지요.
무리 짓기 알고리듬은 다양한 곳에 활용할 수 있어요. 컴퓨터 그래픽을 사용하는 영화와 게임에서
물고기나 새의 모습을 재현할 때 이 알고리듬을 이용해 움직임을 나타내고, 드론이나 로봇 같은 기계가 무리를 지어 움직일 때도 이용할 수 있죠.
이렇게 동료들과 어울리는 데 도가 튼 제가 수학왕이 되면 학문도 나날이 발전할 겁니다. 누구도 반박할 수 없을 거예요!