[책을 읽고] 리처드 도킨스, <확장된 표현형> (3) - 국소 최적화
다음은 국소 최적화에 관한 이야기다.
맞다. 최적화 알고리즘에 등장하는 바로 그 국소 최적화다.
경사하강법과 같은 최적화 알고리즘의 불구대천의 원수 중 하나다.
한 등산가가 안개가 자욱한 히말라야 산맥에서 제일 높은 봉우리를 찾는다고 생각해보자.
위성 사진은 물론 드론도 사용할 수 없고, 고도계 정도만 사용이 가능한 상황이다.
볼 수 있는 거리는 현재 서 있는 지점에서 한 발짝 정도다.
현재 발을 딛고 있는 지점에서 어느 방향이든 높이가 높아지는 방향으로 한 발짝 이동한다.
또 거기에서 같은 방식으로 한 발짝 이동한다.
이렇게 무작위적 시행착오를 거듭하여, 어느 쪽으로 움직이더라도 고도가 낮아지는 지점에 도착한다.
이쯤 되면 적어도 그 주변에서는 가장 높은 봉우리라 할 만하다.
그러나 이 지점은 에버레스트나 K2는커녕, 그냥 히말라야 산맥 구석 어딘가의 낮은 봉우리일 수 있다.
그 봉우리도 주변에서는 제일 높은 봉우리다.
문제가 있다면, 처음 시작한 지점에서 저렇게 한 발짝씩 움직여 찾을 만한 봉우리는 이것뿐이라는 점이다.
에버레스트나 K2에 도달하려면, 헬기에서 내릴 때부터 그 근방 산허리에 내리는 운이 따랐어야 했다.
이것이 국소 최적화의 딜레마다.
그런데 이것이 진화와 무슨 상관일까?
***
수렴진화는 진화의 강력한 증거 중 하나다.
그런데 새는 깃털 달린 날개로 나는 반면, 박쥐는 가죽 날개로 난다.
이에 대한 흔한 설명은, 주어진 것을 활용해서 적응한다는 것이다.
이 설명을 확장하면, 날아야 하는 상황인데 날개가 없었다면 날지 못했다는 얘기가 된다.
잠재적 선택압이 아무리 강해도 이것이 작용할 유전적 변이가 없다면 진화는 일어나지 않는다. “따라서 일부 척추동물에게 팔, 다리와 함께 날개까지 있었다면 이로웠을지 모르지만 아마 이용 가능한 유전적 변이가 없었기에 이 세 번째 부속물 쌍은 진화하지 못했을 것이다.”(Lewontin, 1979b) 이런 의견에 합리적으로 반대할 수도 있다. (3장 중에서)
다시 말해, 진화적 적응 전략 상 날아다니는 것이 최적 전략이라 해도, 날 수 있는 수단이 없다면 그쪽으로 적응이 일어나지 않는다는 얘기다.
그러나, 예컨대 포유류에 날개가 없는 것은 다양한 방식으로 설명할 수 있다.
예컨대 날개의 편익에 비해 비용이 너무 비싸다면 날개를 가지는 진화 적응은 일어나지 않을 수 있다.
모든 생물의 유전자 풀에서 절대적 비중을 자랑하는 소위 "쓰레기 DNA(junk DNA)"는 과거에 사용되었으나 현재에는 사용되지 않는 유전자의 모음, 즉 아카이브(archive) 폴더 같은 것이다.
진화적 시간 척도에서 볼 때, 만약 어떤 새로운 상황에 적응하기 위해 예전에 쓰다가 요즘엔 쓰지 않는 어떤 유전자 코드가 필요하다면, 쓰레기 DNA 풀에서 꺼내 쓸 수도 있을 것이다.
그러나, 활성화된(부호화된) DNA든 비활성화된 DNA든 어디에도 관련 정보가 없다면, 그럴 수 없을 것이다.
진화의 어느 시점에서, 박쥐는 날아다니는 방법으로 유전자의 생존-번식률을 높이려고 했는데,
날아다니는 기관으로서는 최고의 선택이라 할 수 있는 깃털 달린 날개(와 관련된 유전자)는 없었다.
그래서 급한 대로, 손가락 사이의 막을 최대한 얇게 펼쳐 날아다니게 된 것이다.
***
여기에서 잠깐, 생각을 확장해 보자.
진화란 적응이며, 상황 대처를 위한 "개량"을 의미한다.
손가락 사이의 막이 점점 커지고 얇아지며 날개가 되는 과정이 바로 그런 개량의 한 사례다.
날아다니겠다는 전략을 선택하는 시점의 박쥐에게 돌아가 보자.
날기는 해야겠는데, 깃털 달린 날개는 없다.
깃털 달린 날개를 가지기 위해서라면, 포유류에게 채택된 팔(앞다리)이라는 기관을 거꾸로 돌려 완전히 퇴화시킨 다음, 깃털 달린 날개를 조금씩 발전시켜야 한다.
앞서 말한 등산의 비유를 들면, 동네 봉우리를 다시 내려가, 산기슭에서부터 다시 K2를 향해 걸어올라가야 하는 것이다.
그러나 최적화 알고리즘이 (한 발짝 범위까지밖에 보지 못하는 알고리즘 자체의 한계 때문에) 그렇게 할 수 없듯이, 박쥐의 유전자 풀도 그렇게 할 수 없다.
현재 지점에서 더 높은 봉우리를 향해 갈 뿐이다.
그렇게, 박쥐는 깃털 날개 대신 손가락을 넓게 펼친 듯한 피막 날개를 개량시킨다.
강처럼 자연 선택은 바로 흐를 수 있는 가장 저항이 적은 계통으로 내려가는 길을 맹목적으로 개량한다. 그 결과 탄생하는 동물은 상상할 수 있는 가장 완벽한 설계물도, 근근이 살아가기에 충분한 설계물도 아니다. 그 동물은 역사적 변화가 연속된 산물이며 그들 각각은 기껏해야 그때 어쩌다 생긴 대안 중 더 나은 것을 나타낼 뿐이다. (3장 중에서)
***
책에 나오는 재미있는 사례를 소개하겠다.
나나니벌이라는 곤충은 새끼가 부화해서 먹을 먹이와 함께 알을 넣어둘 굴을 판다.
그런데 직접 굴을 파는 대신 남이 파 놓은 굴을 빼앗는 경우도 있다.
많은 진화 적응 게임과 마찬가지로, 이 동적 게임은 안정된 진화적 균형(ESS)이 존재한다.
간단히 말해, 남의 굴을 빼앗는 데 드는 비용이 너무 크다면, 직접 굴을 파는 행위를 하는 방향으로 대략적 균형이 정해질 것이다.
관찰자인 인간의 시각에서 볼 때, 나나니벌의 싸움에서 효용(이득)에 해당하는 것은 굴에 들어 있는 먹이의 양이다.
그런데 관찰 결과, 나나니벌이 싸움에 투자하는 시간은 자신이 그 굴을 파고 유지하는 데 들인 노력에 비례했다.
이는 경제학에서 흔히 나타나는 매몰비용의 오류를 범하는 것 같아 보인다.
그러나, 나나니벌이 인간과 비등한 수준의 정보에 접근이 가능한지, 인간인 우리는 알 수 없다.
여러 이유로 나나니벌이 굴속 먹이가 몇 개인지 세지는 못하나, 사냥에 들인 자기 노력의 어떤 측면을 잴 수 있다면 두 싸움꾼이 소유한 정보는 비대칭이다. (3장 중에서)
이는 국소적 최적화의 사례다.
정보가 부족한 상황에서, 나나니벌(의 유전자)이 최적 전략을 선택한 결과가, 관찰자인 우리에게는 매몰 비용의 오류를 범하는 것 같아 보이는 것이다.