본문 바로가기

생명의 철학

죄수의 딜레마와 전략들(2001.5)

<불멸의 물음들 보충자료>

 

죄수의 딜레마와 전략들

 

연관 소프트웨어  winpri 내려받기

 

 

배경

 

진화에는 깊은 파라독스가 있다.냉혹한 생존경쟁이 다른 한편으로 공생과 다른 형태의 협동을 출현시킨다는 사실이다. 정치학자 로버트 악세로드(Robert Axelord)는 "죄수의 딜레마"(prisoner's dilemma)라는 게임이 이 문제에 대한 단서를 제공해줄지 모른다고 생각했다.이것은 원래 1950년대 랜드사의 두 연구자에 의해서 개발된 게임이었다.

각각 상대방의 범행을 알고 있는 두 범인 있다고 하자.이들은 구속되기 전에 서로의 범행에 대해 입을 다물기로 합의했다. 범인들은 다른 증거가 없기 때문에 상대의 범행에 대해 입을 꾹 다물고 있으면 둘다 무죄석방될 수 있다는 것을 알고 있다.경찰은 이들이 입을 다물고 있자 상황타개용으로 하나의 미끼를 던진다. 경찰은 상대의 범죄를 증언하는 자에게 포상금을 약속한다. 범인은 침묵(협동),자백(배반) 중 어떤 행동을 취하게 될까? 약간 복잡하기 때문에 여기에 점수를 부여해서 상황을 단순화 시키자. 둘이 같이 침묵을 지켰을 때는 무죄방면되는데 여기에는 각자 3점을 부여한다.둘이 같이 상대의 범행을 증언했을 때는 둘다 구속된다.그러나 증언으로 죄가 약간 가벼워진다고 보고 여기에 1점을 준다. 한 사람이 침묵하고 다른 사람이 증언했을 때는 증언한 사람은 (상대가 증언하지 않았으므로) 무죄방면되고 포상금도 받게 되어 5점의 최고점수를 얻게 되는데 대해 침묵한 사람은 (상대방의 증언으로 인해) 구속되기 때문에 최악의 점수 0점을 받는다. 각 전략에 대한 점수는 두 범인의 점수의 합으로 한다. 이것을 도식화하면 다음과 같다.

범인들은 협동,배반중 과연 어떤 것을 선택할까? 가장 높은 점수는 둘다 협동해서 침묵을 지키는 것이다.이 때 둘다 자유를 얻고 합 6점을 득점한다.그러나 이것은 일어나기 어렵다.왜 그럴까?

내가 협동 카드를 내는데 상대방이 배반 카드를 낸다면 나는 구속되고(0점) 상대는 자유를 얻으면서 보상금 까지 받게 될 것이다(5점). 내가 배반 카드를 내는데 상대가 협동 카드를 낸다면 이번에는 내가 자유와 보상금을 받게되고(5점) 상대는 구속된다(0점). 상대가 나와 같이 배반 카드를 낸다면 둘다 1점을 얻게된다.내가 협동할 경우 최고 3점,최저 0점이고 내가 배반할 경우 최고 5점,최저 1점을 얻을 수 있다.나는 나무랄 수 없는 논리로 배반 카드를 내게 된다.결국 상호배반으로 치닫는 최악의 선택을 하게 되어 전체계의 득점은 최하인 2점에 그친다.

이것이 자연의 논리라면 협동의 과정은 생겨날 여지가 없는 것 처럼 보인다.그러나 장기적으로 이것이 협동을 유도하는 시발점이 된다는데 자연의 심오성이 있다.악셀로드는 이것을 보여주기위해 "반복적 죄수의 딜레마"

(iterated prisoner's dilemma)게임을 개발했다.이제 이 게임을 1회에 그치지 않고 반복한다.그래서 나는 상대가 나를 배반한데 대해 다음번에 통쾌하게 복수할 수도 있고(협동→배반→배반),너그럽게 용서할 수도 있다(협동→배반→협동).물론 상대도 마찬가지로 여러 전략을 선택할 수 있다.

1979년 악셀로드는 게임이론을 전공하는 학자들에게 부탁하여 라운드로빈 방식으로 죄수의 딜레마게임에 참가할 각종 정책을 제출하여 여러 정책이 상호작용하는 동안 최고의 점수를 딸 수 있도록 해보라고 청하였다.이 정책들은 컴퓨터프로그램을 만들어 다른 정책들이 C(협동)나 D(배반)를 택할 때 동일한 정책을 쓰는 상대를 다시 만날 때 상대의 과거행위를 기억하도록 하여 그에 대응하는 행동으로 쓸 수 있게 하였다.이 프로그램은 항상 C나 D로 밖에 반응할 수 없으나 어떤 제약도 주지 않았는데 예를 들어 주사위를 던져 C나 D를 골라 반응에 이용할 수 있게 하는 것도 허용하였다.처음 악셀로드의 토너먼트에 14종의 정책이 참가하였는데 악셀로드는 여기에  RANDOM(무작위)이라는 프로그램을 하나 더 첨가하였다.이 게임에 출전한 프로그램들은 다양해서 베이직 컴퓨터 언어로 4줄에 불과한 것에서부터 77줄에 이르는 프로그램 까지 있었다.악셀로드는 이 프로그램들 끼리 200회씩 각각 대전하도록 하였는데 이 토너먼트를 5번 반복하여 통계적 오류를 제거하였다.

우승을 따낸 프로그램은 토론토대학의 심리학자이자 철학자인 아나톨 라포로트(Anatol Rappoport)가 내어 놓은 것인데 이것은 프로그램중 가장 짧은 것으로 TIT FOR TAT라고 불렀다.이것은 아주 단순한 기법으로 탁포르틱(눈에는 눈)이라고 불러도 좋을 것이다.이 정책은 "첫번째 만남에서 우선 협동하고,그 다음 부터는 상대가 바로 직전에 한 수대로 따라 한다."는 것이다."이게뭐야"할 정도로 단순한 것인데 세상에 이런 것이 내노라하는 쟁쟁한 전문가들이 만들어낸 복잡한 전략의 프로그램들을 이기게 될 줄은 아무도 몰라었다.1)

첫 토너먼트의 교훈은 "먼저 배반하지 않는다."는 선한 성질과 "화를 한번 내고 나면 원한을 남기지 않는다."는 관용적 성질이 중요하다는 것이었다.TIT FOR TAT는 이런 특징들을 함께 지니고 있었다.이러한 세밀한 분석후,악셀로드는 상당한 교훈을 얻었고 또 지혜도 쌓였기 때문에 이를 기초로 더 정교한 정책들을 꾸며낼 수 있으리라고 생각하였다.그래서 더 큰 컴퓨터 토너먼트를 개최하기로 하였다.여기에 첫 라운드의 참가자들을 모두 초대하고 또 컴퓨터 잡지에 광고를 내어 프로그램하는 것을 중독될 정도로 좋아하는 기찬 프로그램의 개발에 미쳐 있는 사람들에게 이 토너먼트에 참가해 보도록 유도했다.

악셀로드의 초청에 대하여 굉장한 반응이 있었는데 6개국에서,거의 모든 연령층에 걸쳐,또 8개의 다른 전공분야에서의 참가가 접수되었다.라포포트는 또 TIT FOR TAT를 참가시켰다.10세의 소년이 제출한 것도 있고 게임이론과 진화론의 세계적 석학인 존 메이나드 스미스Jone Maynard Smith는 TIT FOR TATS를 참가시켰다.두사람이 각각 따로 REVISED DOWING을 접수시켰다.결국 62개가 접수되었는데 첫 토너먼트 때 보다는 상당히 복잡해진 전략들로 구성되어 있다.이번에도 TIT FOR TAT이 가장 짧은 프로그램이었고,가장 긴 것은 뉴질랜드에서 온 것으로 152줄의 포토란 언어로 된 것이었다.여기에 RANDOM을 추가하여 토너먼트를 출발시켰다.컴퓨터가 돌기 시작하여 여러시간이 지나 결과가 나왔다.

결과는 그저 놀랄 수 밖에 없었다.TIT FOR TAT,가장 단순한 프로그램이 또 이긴 것이다.2)

 

몇가지 전략소개

 

이것이 가지는 의미는 "합생,공생,창발성","협동의 진화론"에서 소개한바 있다.여기서는 악셀로드의 첫 토너먼트에 제출된 몇가지 전략들을 소개하기로 한다.3)

 

1. cooperate;

상대의 수에 관계없이 항상 C(협동) 카드를 낸다.→박애파

 

2. defect;

상대의 수에 관계없이 항상 D(배반) 카드를 낸다.→배반파

 

3. tit-for-tat;

일단 C카드를 내고 다음 부터는 상대의 수를 따라한다.즉 상대가 C를 내면 C를 내고 D를 내면 D를 낸다.→정의파


 
4. mistrust;

일단 D카드를 내고 다음 부터는 상대의 수를 따라한다.→불신파

 

이것은 바로 상대의 직전의 카드만을 보고 결정하는 전략이다.그러나 상대가 한 앞의 몇수를 참고로 자신의 카드를 결정할 수도 있다.이 메모리의 단계를 높임으로써 가능한 전략의 수는 엄청나게 늘어나게 되는데 예컨대 앞의 두수를 보고 결정한다면 2의 2의 2제곱 즉 16가지 전략이 가능하다.일반적으로 2의 2의 n제곱의 전략이 가능하다.(여기서 n은 메모리의 단계이다) 이 가운데 토너먼트에 제시된 몇가지 전략을 소개하면 다음과 같다.

 

5. random;

0.5의 확률로 C와 D 카드를 낸다.상대에게 다음 전략이 노출되지 않는 장점이 있다.→오리무중파

 

6. spite;

일단 C카드를 내지만 상대가 D카드를 내면 그 후로는 상대의 수에 관계없이 계속 D카드를 낸다.상대의 배반을 억제하는 효과가 있다.→원한파

 

7. per-kind;

상대의 수에 관계없이 C,C,D를 주기적으로 반복한다.

 

8. per-nasty;

상대의 수에 관계없이 D,D,C를 주기적으로 반복한다.

 

9. per-CD;

C에서 시작해서 C,D,C,D..를 반복한다.

 

9. soft-major;

상대가 많이 사용하는 수를 사용하고 똑같으면 C를 낸다.(선수일 경우는 C를 낸다)→균등파

 이것은 약간 이해하기 어려울지 모르겠다. 예를 들어 soft-major와 random의 대결을 생각해 보자.

 

 

카드는 동시에 제출됨으로 판단은 당회 직전 까지의 결과를 토대로 이루어진다.3회전에서 soft-major는 C를 낸다.왜냐하면 2회전까지 random의 수는 C,C 였기 때문이다.14회전에서 soft-major는 D가 되는데 그 직전 13회전 까지의 random의 수를 보면 C가 6번,D가 7번 나왔다.그러므로 14회전에서 soft-major의 수는 D이다.

 

10.prober;

일단 시작되면 C,D,D를 순서대로 낸다.상대가 둘째,셋째 수에서 C를 낸다면 계속 D를 내고 그렇지 않으면 그 때부터 tit-for-tat의 전략을 택한다.→시험파

 

 

 

11.gradual;

다음의 경우를 제외하고는 tit-for-tat의 전략을 택한다.상대의 첫 번째 D에 대해서는 1번 D를 내고 이어서 2번 C를 낸다.(D,C,C)두번째 상대의 D에 대해서는 2번 D를 내고 이어서 2번 C를 낸다.(D,D,C,C) 세 번째 D에 대해서는 3번 D를 내고 2번 C를 낸다.(D,D,D,C,C)→온건 응징파

 

 

2회전에서 per-CD가 D를 냈다.3회전의 gradual의 수는 D이고 그 다음 상대의 수에 관계없이 C,C를 연달아 낸다.5회전에서 per-CD의 수가 C이기 때문에 gradual의 6회전의 수는 tit-for-tat의 전략에 따라 C이다.그런데 6회전에서 per-CD의 수가 D이다.gradual은 지금까지의 per-CD의 배반횟수(D의 수)를 계산해서 그만큼 연속해서 D를 낸다.그래서 7,8,9회전은 연달아서 D,D,D가 된다.그런 다음 10회전에서 C로 돌아와 11회전 까지 C를 낸다.11회전에서 per-CD의 수가 C이므로 12회전의 gradual의 수는 C이다.그런데 12회전에서 다시 per-CD의 배반수 D가 나왔다.13회전에서 gradual은 다시 앞의 D를 합산해서 6번의 D로써 응징한다.그 다음 협조로 다시 돌아가 2번의 C를 반복한다.

 

12.pavlov;

첫수는 C를 내고 직전 회전에서 상대와 자기가 같은 수를 내었을 때는 C를 내고 다른 수를 내었을 때는 D를 낸다.→눈치파

즉 C,C나 D,D일 경우는 C이고 C,D나 D.C일 경우는 D이다.D,D의 경우 대결국면을 피해 다시 C로 돌아가고 C,C의 경우 상대를 착취하기 위해 다시 D로 돌아간다.

 

13.slow_tft;

C를 내고 상대방이 2번 연속 D를 낼 경우만 D를 낸다.그러나 일단 배반이 발생하면 상대가 2번 연속 C를 내지 않는한 C로 돌아오지 않는다.→참는  훈계파

 

 

3,4회전에서 random의 연속적 D,D가 발생했다.5,6회전의 slow_tft의 수는 D,D이다.그러나 5,6회전에서 random의 수가 C,C이므로 7회전에서 slow_tft는 화를 풀고 C로 돌아갔다.7,9회전에서 random이 배반수를 띄우고 있지만 연속 배반이 아님으로 참고 C로 응답하고 있다.그러나 9,10회전에서 연속 D가 일어났고 그래서 11회전에서 slow_tft는 다시 D로서 응징한다.20회전에서 slow_tft는 C로 되돌아올 것이다.

이 전략은 tit-for-tat 처럼 쉽게 화를 내지 않지만 일단 화를 내면 tit-for-tat 보다 풀기 어렵다.

 

14.hard_tft;

일단 상대의 수에 관계없이 2번의 C로서 시작한다.상대의 D가 나오면 D로 D로 응징하는데 상대가 연속적인 C,C를 보여주지 않는한 계속 D를 낸다.→성마른 훈계파

 

15.tf_2t;

첫수는 C를 내고 상대가 연속해서 두 번 D를 낼 경우에만 D를 내고 그렇지 않을 경우는 C를 낸다.→온건한 정의파(온건한 tit-for-tat)

 

 slow_tft, hard_tft, tf_2t 모두 tit-for-tat을 응용한 전략인데 배반에 대한 응징의 강도에서 보면 hard_tft가 가장 높고 tf_2t가 가장 낮다.tit-for-tat와 slow_tft의 응징의 강도는 단순 비교하기 어려운데 응징을 쉽게 시작하지 않는다는 점에서는 slow_tft가 온건하지만 응징을 쉽게 푼다는 점에서는 tit-for-tat가 온건하다.이 두전략의 강도는 상대의 특정 전략에 따라 강경한 것이 되기도 하고 온건한 것이 되기도 할 것이다.

 

각 전략의 비교

 

얼핏 생각하면 악한 전략이 유리할 것으로 보인다.단기적으로는 그렇다.그러나 장기적으로는 선한 전략이 유리해진다.그것은 선한 전략이 직접적으로 이익을 취득해서가 아니고 다른 여러 전략들과 잘 어울릴 수 있기 때문이다.그러나 지나치게 선한 전략은 그런 발판을 마련하기 전에 악한 전략에 의해서 몰락하기 쉽다.그래서 선하면서 악한 전략에 대해 어느 정도의 응징의 수단(너무 강하면 안된다)을 가진 전략이 유효한 전략이 된다.이 전략들의 의미에 대해서는 강의교재 3.1에 상술되어 있으므로 더 이상의 논의는 생략한다.

여기서는 이 전략들을 컴퓨터상에서 실행해볼 수 있는 소프트웨어 하나를 소개하고자 한다.Philippe Mathieu와 Fredderic Grignion이 만든 winpri라는 소프트웨어이다.

 winpri.exe를 클릭하면 다음과 같은 메뉴 화면이 뜬다.

우선 전략들의 의미를 익히기 위해서 메뉴판의 trace의 meeting을 클릭하라.그러면 아래와 같은 confrontation visualization이라는 판이 뜰 것이다.

대결시키기를 원하는 두 전략을 좌,우에서 각 선택한 다음 go를 클릭하면 된다.지금은 slow_tft와 per_cd가 선택되었다.그들간의 라운드 진행과정에서 협조와 배반의 관계가 하단 표에 정리되어 나타난다.이 결과들을 자세히 들여다 보면 앞서 설명한 전략들의 의미가 보다 분명해질 것이다.

간 전략들을 대결시켜 보기위해서는 메뉴판의 select를 클릭하라.그러면 다음 화면이 나타난다.

좌측의 원하는 전략들을 클릭한 다음 Add를 클릭하면 우측으로 이동한다.다음 OK를 클릭하면 그 전략들간의 경쟁의 결과가 메인화면에 도표로 나타난다.

그래프의 Y축은 개체수를 나타내고 X축은 라운딩의 수를 나타낸다.우측에 있는 표는 21회의 라운딩의 결과 각 전략당 살아남은 개체수이다.이 그래프에서 보면 6개의 전략이 경합에 들어간 결과 soft-major가 가장 득점이 높고 mistrust와 defect가 가장 득점이 낮다는 것을 알 수 있다.경합 결과 선한 전략들만 살아남고 악한 전략들은 다 소멸해버렸다.여러 전략들의 경합의 흥미있는 결과들이 많이 저장되어 있다.file의 load meeting을 선택하면 저장되어 있는 파일들을 볼 수 있을 것이다.어느 하나를 클릭해서 그것이 만들어내는 도표를 보고 그것의 의미를 생각해 보자.

C,D에 할당되는 득점은 둘다 협조(C)의 경우 각 3점,둘다 배반(D)의 경우 각 1점,한쪽이 배반 다른 쪽이 협조일 경우 배반에 5점,협조에 0점을 할당하는 표준점수로 초기화되어 있다.물론 이것은 바꿀 수 있다.parameters의 point matrix를 클릭하면 다음 테이블이 뜬다.

우측 단추를 누르면 값이 바뀐다.표준점수는 classical에 해당한다.물론 이 세 종류의 점수표에 한정될 필요는 없다.점수표를 직접 쳐 넣어 바꿀 수 있다.

여기에 load되어 있지 않은 새로운 전략도 직접 만들어넣을 수 있다.define을 클릭하면 새로운 전략을 만들어 넣을 수 있는 박스가 뜬다.그 빈칸을 적절한 값으로 채움으로써 새로운 전략을 실험해 볼 수 있다.

그 외의 여러 메뉴들은 직접 실행해보면 그 의미를 알 수 있으므로 부연설명을 생략한다.

 

 

 

 

 

 

<각주>

1) 더글라스 호프스태드,"협동의 진화론",이홍규 옮김,『딜레마 게임』(고려의학,1991),59-60쪽

2) 앞의 글,63-64쪽

3) Shai Ophir,"Simulating Philosophy",http://www.ul.ie/~philos/vol3/simulating.html