본문 바로가기

thoughts

GA 프로젝트를 진행하면서...


이번학기 GA수업에서 초롱이님게서 야심차게 준비했던 프로젝트! 바로 로버트 엑셀로드가 시행했던 반복적 죄수의 딜레마의 확장판!

로버트 엑셀로드가 시행했던 죄수의 딜레마가 2x2 매트릭스였다면 이번 GA프로젝트는 nxn크기의 매트릭스에서 반복적 게임을 통해 많은 득점을 가지는 전략을 얻는 것이다. 물론 이 매트릭스에 죄수의 딜레마는 존재하지는 않는다.


여기에서 엑셀로드의 흥미로운 실험을 생각해보자..


두 죄수가 붙잡혀 들어왔다. 이 죄수를 심문하던 형사는(혹은 검사일러나?  이거슨 중요한 문제가 아니다!) 두 죄수가 모두 죄를 자백하도록 만드는 기막힌 방법을 고안해 낸다. 형사는 서로 격리되어 있는 두 죄수에게 말한다. "당신과 당신의 동료가 모두 자백을 하지 않는다면 둘다 1년동안 징역을 살것이다. 하지만 당신이 자백을 하면 당신은 무죄로 풀려나고 당신의 동료만 모든 죄를 뒤집어쓰고 10년간 형을 살 것이다. 만약 둘다 자백을 한다면 둘다 3년의 징역을 살게된다."

이제 두 죄수는 그 유명한 죄수의 딜레마에 빠져든다.

'내 동료가 나를 믿고 자백을 하지 않을 것인가? 그렇다면 나도 의리를 지켜 자백을 하지 않으면 둘다 1년을 살게되지.. 하지만 내가 자백을 하면 나는 무죄로 풀려날 수가 있군.. 내 동료가 나를 배반하고 자백을 한다면, 그렇다면 나도 자백을 해야 하겠군..'


그렇다. 결론은 단 한가지 상대방을 배신하고 자백을 하는 길 뿐이다. 상대방이 자백을 하든 하지 않든 자백을 하는 것이 최선의 선택인 것이다. 어쩌겠어 그게바로 인생의 진리지 yeh~~


죄수의 딜레마 게임은 랜든 연구소의 두 과학자 메릴 프레드와 멜빈 드레셔가 고안했다. 그들은 연구소 내에서 동료 과학자들을 대상으로 간단히 반복적 죄수의 딜레마 게임을 진행하여 흥미로운 결과를 얻었다.

죄수의 딜레마가 단 한번의 게임으로 끝이 난다면, 그리고 게임의 참여자가 모두 최선의 선택을 한다면 그 선택은 의심의 여지없이 '배반'하는 것이다. 하지만 이 게임이 계속 반복된다면 상황은 달라진다. 게임이 반복되는 경우 최선의 선택은 단연 서로 협력하여 계속해서 좋은 결과를 얻을 수 있다. 만약 둘 중 하나가 협력을 하지 않고 배반을 한다면 나 또한 그에 대한 보복으로 다음 턴에 배반을 할 수 있다. 따라서 게임의 참여자는 쉽사리 배반하지 못하고 서로 협력하게 된다. 그런데 여기에서 게임이 언제 끝날지 미리 알고 있다면 이야기는 다시 달라진다. 마지막 턴에서는 의심의 여지 없이 배반이 최선의 선택이다. 그럼 그 전 턴에서는?? 이 역시 배반이 최선이다. 왜냐하면 내가 배반하든지 협력하든지 상관없이 상대반은 다음턴에 나를 배반한다. 즉 나의 이번 턴에서의 선택이 다음턴의 상대방의 선택에 전혀 영향을 미치지 않게 되고 상황은 반복적 죄수의 딜레마가 아니라 한 번에 끝나는 죄수의 딜레마 게임과 같아지는 것이다. 그럼 그 전턴은?? 그 전전 턴은??? 역시 배반이다. 이렇게 꼬리에 꼬리를 물고 결국 두 참여자는 처음부터 끝까지 배반을 할 수 밖에 없는 상황에 이르게 된다.


다시 랜드 연구소로 돌아가서 그들의 결과를 보면 두 참여자는 처음엔 서로 타이밍을 맞추지 못하고 배반과 협력을 반복하다 턴이 거듭되면서 서로 협력을 하는 방법을 배우게 되고 그 후로 전반적으로 서로 협력을 하기 시작한다. 게임의 끝이 다가올 수록 두 참여자는 상대방이 이제 곧 배반을 할 것이라는 생각을 하면서 불안한 협력을 한다. 이윽고 누군가 먼저 배반을 하게 되면 그 후론 서로 배반만 하다 게임이 종료된다.

이 얼마나 다행스러운 결과인가.. 세상의 천재들만 모여있다는 랜드 연구소에서 진행된 이 실험에서 두 사람이 어쨌든 폰 노이만의 minimax이론이 말하는 최적의 선택인 상호배반으로 얼룩진 게임을 떠나 장기간 동안 서로 협력하는 모습을 보였으니 이 얼마나 아름다운 광경이 아니라고 말할 수 없지 아니한가!! (무슨 말이야!!!!)


로버트 엑셀로드는 전 세계에 메일을 보내 죄수의 딜레마 게임의 참여자를 모집하여 그들의 전략을 컴퓨터 프로그램으로 구현하여 컴퓨터로 이들의 게임을 시뮬레이션 하였다.

각종 복잡한 전략들 속에 단연 돋보인 전략은 'Tit for Tat' 이었다. '이에는 이 눈에는 눈', '가는말이 고와야 오는말이 곱다'라는 우리나라 속담이 생각나는 이 전략은 처음에는 협력하고 그 다음 부터는 단순이 상대방의 전략을 따라하는 것이다. 하얀 송곶니를 드리우며 상대방이 한 치의 빈틈이라도 보이면 여지없이 달려드는 킬리만자로의 하이애나가 득실되는 이 세상에서 순진한 것인지 아니면 무식의 끗을 달리는 것인지 도무지 알 수 없는 이 전략이 굶주린 하이애나들을 다 때려잡고 홀로 우뚝섰다.

어디에서 처음 봤는지 기억은 잘 안나지만(리처드 도킨슨의 이기적 유전자에는 단연코 이 내용이 있다) 유전학적으로 봤을 때 Tit for Tat은 진화적으로 안정된 전략이다. 이 말인 즉슨 주위 환경이 어떻든지 간에 이런 전략은 결국은 살아남아 멸종되지 않고 종족을 보존할 수 있다! 이를테면 바퀴벌레 같은.. 헌데 Tit for Tat은 종족보존의 숭고한 역사적 사명을 뛰어넘어 결국에는 전체 인구를 싹 다 자기들의 유전자로 채울수 있는 전략이라는 것이다. (난 이 말에 전적으로 수긍한다! 아니 이기적 유전자의 한 문장 한 문장들 중 거부하는 문장은 하나도 없다. 다만 이해가 잘 안가는 거는 있지만 헤헤)

우리네 인간들의 유전자는 진화적으로 안정적일까?? 아니면 그 중 어떤 행동패턴을 가지고 있는 사람들이 진화적으로 안정적인 것일까?? 라는 쓸데없는 생각은 저 멀리 안드로메다로 보내버리자!

GA과제에 대해서 쓰려고 했는데 무슨 서문이 이렇게 긴지 모르겠다. @_@ 오랜만에 장문의 글을 쓰다보니 산으로 가고 있다.



다시 GA과제로 넘어오자.

클래스에서 가장 유명한 3x3 payoff 매트릭스는

13 7 11
29 5 0
3 12 6

이렇게 생겼는데, 단연 최고의 선택은 두사람이 번갈아 가면서 29점과 7점을 먹는 것이다. 대각에 위치한 원소의 합이 최대인 것을 번갈아 가면서 선택하는 것이 최선이다.(죄수의 딜레마에서 대각의 합이 최대인 선택은 상호 협력이다)

그런데 이 선택은 서로 한번씩 번갈아가면서 상대방에게 양보를 해야 하기 때문에 과연 상대방을 믿을 수 있는지가 의심이 된다. 더군다나 과제의 스팩상 상대방의 전략은 이전 두턴까지 밖에 못 본다! 언제 상대방이 배반할지 좀처럼 알기 어렵다. 아니 처음부터 협력을 안해줄지도 모른다.


하지만 이 매트릭스를 놓고 GA를 진행하면 순식간에 population내의 대부분의 유전자는 상호 협력으로 진화한다!! 전혀 어떠한 조작도 없이 GA에 모든것을 맡겼는데 GA의 대답은 '협력' 이었던 것이다.

유전프로세스의 산 증인인 자연계를 둘러보면 '협력' 이라는 코드는 어렵지 않게 찾을 수 있다. 악어는 악어새가 자기 이빨을 청소해 주는 동안 절대 입을 다물지 않는다. ....................... 이런!! 또 다른 얘가 생각나지 않는다. 그나마 생각한 예도 너무 멀리서 찾았다!!! 머 어쨌든 그거슨 그리 중요하지 않다 헤헤헤~~ 문제는 나의 구닥다리 메모리에 있지 절대 생태계에 있지 않다. 생태계는 아름답다! 믿음을 가지자!!

갑자기 유전알고리즘 교제에 있는 군비확장 경쟁에 예로 나온 키 큰 나무들이 생각난다. 얘들은 결코 협력하지 않았다. 살기 위해 아둥바둥 경쟁하며 비효율적으로 키를 키우고 있다. 생존이 걸린 문제라면 '협력'이라는 키워드는 저멀리 사라지고 보이지 않는다. 악어가 너무 배고파 죽을 지경이라면 입을 다물지 않았을까?? 어쨌든 유전자가 만드는 세상은 아름답다.


그런데 인간의 유전자는 어찌된 것인가! 서로 죽이고 헐뜯고 비난하고 갈취하고, 인류 역사상 전쟁이 일어나지 않았던 날이 단 하루라도 있었을까? 어떤 진화적 과정이 인간의 유전자를 이렇게 참혹스러운 결과로 이끌었을까. 아니다. 어쩜 우리네 인간들의 이기적인 유전자는 타협을 권고하지만 필요이상으로 진화해 버린 두뇌가 내시 균형을 찾아 배반을 선택하게 만드는 것이다. 마지 죄수의 딜레마처럼.

인간들은 이렇게 무엇보다도 자기의 존속이 유일한 생존방법인 유전자들이 오로지 자신의 존속을 위해 이기적으로 경쟁을 한 끝에 살아남은 협력유전자의 본능을 거부하고 만류의 영장이라는 단어를 함부로 사용하는 자랑스러운 두뇌가 계산해낸 이기적인 선택인 폭력이라는 카드를 들이밀고 있다. 그리고 그 결과는 전쟁이라는 이름으로 역사에 기록되어 있다. 전쟁 영웅들이 배가 너무 고파서 싸우지 않고서는 굶어 죽을 수 밖에 없는 그런 처지였던 것인가? 단연코 그렇지 않다. 차라리 머리를 모자를 쓰는데만 쓰는것이 더 현명할런지도 모른다. 그럼 그 수많은 사람들이 이유없이 죽진 않았겠지


자꾸 글이 인간을 혐오하는 듯한 논조로 가는데 절대 난 그렇게 생각하지 않는다. 단지 생태계를 보고 본받으면 우린 함께 더 잘 살 수 있을텐데 라는 안타까움 마음이 들었을뿐이다. 헤헤헤~~  위에 글을 지울까?? 놔두자.


GA프로젝트의 1차 결과를 보면 또 다시 인간은 이기적 존재 그 자체라는 것을 알 수 있다. 어쨌든 난 유전자의 가르침을 그대로 본받아 상호 협력의 전략을 냈건만 다른 사람들의 의견은 나와 많이 달랐나보다. 

상호 협력의 프로세스가 진행되면 둘 다 턴 당 평균 18점에 근접한 고득점을 할 수 있는데, 1차 결과는 그렇지 않다. 자세히는 모르겠으나 1등의 평균 점수가 턴당 14~15점 이었던 것으로 안다. 그나마 GA를 돌린것도 아니고 상대방의 전략을 예측해 까도록 만든 휴리스틱이었다고 한다. GA이건 휴리스틱이건 그거슨 중요한 문제가 아니다. 중요한 것은 상호협력의 전략의 비율보다 배반전략의 비율이 더 크다는 것이다(모든것이 공개된것은 아니라 자세한 사항은 모르지만 적어도 나는 그랬을 것이라 생각한다). 혹은 단순이 초롱이만 잡자!!라는 생각을 가진 전략이 대부분이었을 것 같다. 그럼 초롱이를 잡는 전략을 잡자!! 라는 전략이 고득점을 하게 될까? 그게 사실이라면 초롱이를 잡는 전략을 잡는 전략을 잡자!! 라는 전략은 어떠한가? 그럴듯 하지 않나?? 

유추해보건데 가장 많은 비중을 차지하는 전략을 까자!! 라는 전략이 고득점을 할 것이다. 그런데 어떤 전략이 가장많은 비중을 차지할 것인지는 그 누구도 알 수 없다. 그럼 하필 가장 많은 비중을 차지하는 전략을 집중 타겟으로 잡은 전략이 운좋게 1위를 차지하는 것은 아닐까. 혹은 여러 가능성을 두고 각각의 전략에 대해 만족할 만큼 잘 까는 전략이 좋은가. 어쨌든 뭐든지 까는 전략이 좋은 것인가? 상호협력하면 18점을 먹을 수 있는데!!


아~~이렇게 우리는 끝없는 전쟁의 역사로 가는 것인가!!

아.. 여러분 우리 함께 상호 협력의 아름다운 세상을 만들어 보아요~ 라고 말하고 싶다... 


1차 과제를 진행할 땐 GA의 아름다운 결과에 매료되어 인간의 이기적 행동을 망각하는 바람에 배반을 당했을 때의 대처를 너무 안일하게 생각했던 것 같다. 태평성대일수록 국가안보에 신경써야 하는 것처럼! 2차 과제에선 배반전략에 대해서 철저하게 배반으로 응징하도록 해야겠다!! 임진년에 어려움을 겪었는데 헤헤~ 거리다가 병자년에 무릎꿇고 유유~ 거리는 병자가 되진 말자

방문자 수가 이리도 적은 게으른 블로거(실제로 귀차니즘)의 이 글을 혹시나 같은 클래스의 누군가가 보게 되진 않겠지?

누군가 보게 된다면 우리 협력해요!!

'thoughts' 카테고리의 다른 글

Euclidean Algorithm  (0) 2009.11.12
주제  (0) 2009.06.12
Syntax Highlighter 사용  (0) 2008.10.02