2018년 9월 16일 일요일

지구 종말에 대비해 소수를 선발하는 알고리즘?

곧 추석이 다가온다고 그러는지, 주말에 공중파 방송에서 외화들을 방영했다.
대단한 신작은 아니고 개봉한지 한참을 지난 영화지만...딥 임팩트라는 재난 영화였다.

지구로 돌진하는 소행성을 맞이하여 고군분투...그러나 역부족... 극소수만이 방주로 피신하고 대다수는 포기해야만 하는 암울한 종말.

이 영화에서는 무작위 혹은 인류에게 꼭 필요한 인재들을 선발하여 피신시킨다는 대목이 나오는데, 비슷한 재난 영화로 2012에서는 거금의 기부를 한 재벌들과 소수의 꼭 필요한 인재들을 선발해서 방주에 승선하는 대목이 나온다.


과연, 정말로 이런 상황이 닥친다면, 어떤 사람을 어떤 식으로 선발해야 하는 걸까 하는 고민을 해 보았다.

좀 극단적인 경우를 가정해서, 지구가 아닌 다른 행성으로의 이주를 하는 경우라면?

아주 대략적으로만 알고 있고, 세세한 부분은 알지 못하며, 어떤 상황이 닥칠지 예측이 불가능한 그런 곳에서 인류가 충분히 생존하기 위해서는 무엇이 필요할까?


다윈의 진화론을 인정한다면, 인류 진화의 방향은 사방 팔방 모든 방향으로 뻗쳐 나간다는 것을 인정해야 한다.
인간은 큰 키와 작은 키, 큰 몸집과 작은 몸집, 큰 용량의 뇌와 작은 용량의 뇌, 어떤 것도 치우치지 않는다.
진화의 방향은 "다양함"에 있다.
그 다양함은 전체 인간 종족의 입장에서는 환경에 대한 적응의 확률을 높이기 때문이다.


미지의 세계로의 이주를 위해서는, 가능한 다양한 분포를 이루도록 선발해야 할 필요가 있다.
어떤 요소를 대상으로 할 것인가가 실제로는 매우 중요한 요소가 되겠지만, 이것이 일단 정해졌다고 가정을 하자.
아마도 특정 요소를 기준으로 사람들의 분포를 모두 조사하면 가우시안 분포를 보일 것이다.
하지만, 이건 지구라는 환경에 적응한 결과일 뿐이다. 새로운 세상에서는 중심 축이 이동할 가능성은 얼마든지 있으며 이 또한 예측 불가능하다.


자, N개의 평가 요소가 주어졌다.
선발 대상으로 주어진 사람은 모두 M이라고 하자.

이제 M명의 사람들에 대해서 N개의 평가 요소에 대한 일종의 점수가 모두 매겨져 있다면,
과연 어떤 방법으로 선발을 하는 것이 가장 고른 분포를 이루게 할 것인지,
또 대단히 큰 수의 M명에 대해서 어떻게 효율적으로 빠르게 이 계산을 끝낼 수 있을까?
(단, 각 평가 요소는 서로에 대해 독립적이라고 가정한다.)