안녕하십니까? 여러분과 함께 인공지능의 기초를 함께 배워보고 있는 서울대학교 컴퓨터공학부의 김건희입니다.
오늘은 인공지능에서 매우 중요한 주제 중 하나인 게임 이론에 대해서 함께 배워보도록 하겠습니다.
그럼 우선 게임 이론에서 말하는 게임이 어떤 의미인지에 대해서 함께 알아보도록 하겠습니다.
기본적으로 게임은 여러 명의 player가 함께 참여하고 있다고 가정을 하고 있습니다.
그리고 게임에 참여한 player들은 자기들이 취할 수 있는 action들 중에 하나를 선택해서 하게 되어 있고요.
그런 action을 통해서 어떤 보상을 얻는 상황을 게임 이론에서 말하는 게임이라고 할 수 있겠습니다.
그래서 일반적으로 게임에서는 여러 player의 결정 과정이 결국에 게임의 보상을 결정하는 상황이라고 보실 수 있겠고요.
그래서 우리가 일반적으로 얘기하는 게임과는 꼭 맞지 않을 수도 있습니다.
그래서 여기서 중요한 게임의 requirement, 그러니까 꼭 필요한 구성요소들을 알아보면, 가장 중요한 내용은 이 게임에 참여하는 player가 최소 2명 이상이다.
그러니까 여러 명의 agent 혹은 player가 함께 같은 상황에서 자신의 보상을 최대화하는 decision making을 계속 하는 과정이라고 보시면 되겠고요.
그리고 여러 player들은 각각 자기 자신에게는 여러 action들 중에 하나를 선택할 수 있다. 이런 action set이 다 같이 주어지게 됩니다.
그리고 플레어어들은 자기가 어떤 action을 선택했는지에 따라서 보상을 얻게 되고요.
그래서 지난 시간에 배운 강화학습이랑 어떻게 보면 시나리오가 매우 비슷하다고 할 수 있는데요.
하나의 가장 큰 차이는 게임에서는 player가 여럿이다. 그리고 이 player들이 서로 경쟁 관계에 있는 경우가 많다. 이렇게 이해하시면 좋겠습니다.
Game Theory에서 주로 사용하는 가정에 대해서 말씀을 드리도록 하겠습니다. 여기서는 3가지 가정에 대해서 말씀을 드리고 있는데요.
첫 번째 중요한 가정은 게임에 참여하는 모든 player들이 다 이성적이라는 것입니다. 이성적이라는 건 무슨 뜻이냐 하면, 각 player들은 자신만의 효용함수, utility가 존재하게 되고요.
그리고 이 player들은 자신의 utility를 최대화하기 위해 그것을 목적으로 선택을 한다. 그런 게 아주 중요한 가정이고요.
그다음에 세 번째 가정은 여러분이 생각하실 때 아주 직관적이지 않을 수는 있는데, 하나의 또 다른 중요한 가정은 모든 player들은 자신과 함께 게임하고 있는 다른 player들이 다 이성적이다.
그러니까 각각이 다 자신의 효용을 최대화하기 위해서 노력하고 있다. 이걸 모두 다 알고 있다는 사실입니다.
이 가정이 소개된 가장 큰 이유는 Game Theory 분석을 좀 더 쉽게 하기 위해서입니다.
만약에 예를 들어 어떤 player가 무작위로 자신의 action을 선택한다. 그런 player들이 많이 존재한다고 하면 더 분석하기가 어려운 측면이 있습니다.
물론 실제 우리 환경에서는 가끔 예측할 수 없는 행동을 함으로써 상대방을 교란시키는 경우가 매우 많고요.
그래서 Game Theory도 당연히 그런 특별한 상황에 대해서도 formulation을 하고 해결을 해나가야겠지만,
우선 저희가 기본적으로 배우는 게임에서는 모든 player들은 이성적이고 또 다른 player들이 다 이성적이라는 걸 모두 다 알고 있다. 그런 가정에서 한번 얘기를 계속해 나가도록 하겠습니다.
그리고 밑에는 게임의 대표적인 예들을 몇 가지 보여드리고 있는데요. 첫 번째로 보여드리는 건 체스 게임입니다.
체스 게임의 경우에는 흰 말과 검은 말을 두는 두 명의 player가 존재하고요. 이 각각의 player들은 게임을 이기기 위해서 최선의 노력을 할 것입니다.
그리고 각 player들은 상대방도 마찬가지로 이기기 위해서 최선의 선택을 계속할 것이다. 이걸 서로 알고 있다는 것이죠.
그리고 우리가 즐겨 하는 부르마블 같은 보드게임도 대표적인 Game Theory의 게임이라고 할 수 있겠습니다.
여기에서도 마찬가지로 여러 명의 player가 존재하고, 각각은 자신이 이기기 위해서 최선의 선택을 반복하게 됩니다.
그리고 정치적인 이슈일 수도 있지만, 나라들끼리 경쟁하는 모습, 특히 핵무기 개발을 위해서 나라들끼리 서로 경쟁하는 모습 역시도 게임 이론으로 설명할 수가 있습니다.
그래서 실제로 경제학과나 정치학과에서도 게임 이론을 활용하여 어떤 정치, 사회적 현상을 분석하기도 합니다.
그리고 마지막으로 우리에게 친근하지만 미처 생각하지 못한 게임의 예라고 한다면, 투표가 될 수 있겠죠.
그러니까 우리 모두에게는 한 표를 행사할 수 있는 action이 있고요. 그리고 입후보자들 중에서 저희가 한 명, 그러니까 저희의 효용을 최대화하는 한 명을 선택하게 됩니다.
그 과정도 Game Theory에서 게임의 예로 설명 드릴 수가 있겠습니다.
그러면 이제 Game Theory를 좀 더 수학적으로 표현하기 위해서 한 가지 예와 함께 시작해보도록 하겠습니다.
이 예는 죄수의 딜레마라고 많이 알려져 있고요. 아마 예능 등을 통해서 소개가 많이 되어 많은 분들이 알고 계시리라고 생각을 합니다.
우선 두 명의 죄수가 있습니다. 그리고 이 두 명의 죄수는 각각 조사를 받는데요.
이 두 명의 죄수는 두 가지의 action이 가능합니다. 조용히 있거나 혹은 상대방을 밀고하거나. 이 두 가지 경우가 가능하고요.
만약에 첫 번째 죄수가 상대방을 밀고하지 않고 조용히 있다. 그리고 P2라고 되어 있는 다른 죄수가 역시 마찬가지로 조용히 있다. 그 경우에는 두 명 다 1년 동안 감옥에 살게 됩니다.
만약에 두 명이 서로 밀고를 하는 경우에는 둘 다 3년형을 받게 됩니다.
그리고 또 재미있는 건 만약에 첫 번째 죄수가 상대방을 밀고하지 않고 조용히 있고 두 번째 죄수가 밀고를 한다면, 두 번째 죄수는 방면이 되는 거고요.
첫 번째 죄수는 대신 5년의 형을 받게 됩니다.
이 게임 전체를 보는 우리의 입장에서 죄수 두 명을 위한 최선의 선택은 둘 다 가만히 있는, 침묵을 지키는 것이 최선의 선택이라고 얘기할 수 있겠지만,
각 player 입장에서는 상대방이 어떤 action을 하든지 간에 가장 좋은 선택이라는 것은 밀고를 하는 것입니다.
상대방이 어떤 action을 하든지 간에 내가 취하는 최고의 action을 dominant한 action이다. 혹은 dominant한 policy 혹은 strategy라고 얘기합니다.
제가 만약에 Silent라고 action을 선택하면, 물론 상대방이 Silent도 역시 선택을 하면 최선이겠지만, 상대방이 Implicate, 그러니까 밀고하는 경우에 제가 -5, 그러니까 5년형을 받게 되죠.
상대방의 형에 상관없이 가장 좋은 선택이라고 하는 건 서로 밀고하는 이 마지막 경우라고 할 수 있겠습니다.
전체를 다 볼 수 있다면 서로 Silent, Silent가 제일 좋지만, 각각의 입장에서 최적의 선택이라는 건 밀고하게 되는 것이죠.
이런 딜레마 혹은 아이러니를 죄수의 딜레마에서는 표현하고 있습니다.
그래서 이건 공공의 비극이라고 일컬어지는 사회 현상이랑도 좀 관련이 있습니다.
그러니까 사회 전체적으로 볼 때는 내가 조금의 희생을 감수하는 것이 사회 전체 공공의 이익에는 최선이지만,
많은 경우에 제가 상대방을 속이거나 혹은 사소하게 법규를 어길 경우에 저한테 이득이 되는 경우가 많습니다.
그런 경우에는 저는 이기적으로 행동할 수밖에 없고요. 실제로 사회에서는 그런 현상이 많이 일어나게 됩니다.
그래서 사람들의 공공을 생각하기 이전에 자신의 이익을 먼저 생각함으로써 사회 전체의 효용이 떨어지는 그런 상황을 공공의 비극이라고 얘기하는데요.
죄수의 딜레마가 이런 공공의 비극과 아주 밀접한 관련이 있다고 할 수가 있죠.
그리고 중요한 건 만약에 player들이 서로 협력을 한다면 더 나은 효용을 얻을 수 있지만, 만약에 그게 보장이 되지 않는다. 혹은 상대방을 믿지 않는다.
그런 경우에는 밀고를 하게 되는 게 dominant한 전략이 될 수 있다. 좀 전의 예에서 함께 보셨습니다.
죄수의 딜레마의 예제로 핵무기의 경쟁, 그것도 죄수의 딜레마로 볼 수 있겠죠.
그러니까 서로 협동을 한다면 무기를 감축하는 것이 더 나은 선택이겠지만, 서로를 믿지 않기 때문에 계속 무기를 만들게 되는 그런 비극이 있을 수밖에 없고요.
또 얼마 전에 미국이 기후협약을 탈퇴하겠다고 그런 선언을 하기도 했었는데요.
공공의 이익, 지구 전체의 이익을 위해서는 서로 협력을 해서 이산화탄소의 배출을 줄이는 게 공공을 위해서, 모두를 위해서는 좋지만,
개인의 이득을 위해서는 많은 경우에 협약을 탈퇴하는 게 좋을 수도 있다. 그렇게 보실 수가 있겠습니다.
그럼 이제 지금까지 말씀드린 게임을 좀 더 정교화된 형태로 표현하는 방법을 배워보도록 하겠습니다.
그러니까 좀 전에 소개해드린 죄수의 딜레마에서는 여러 가지 문장을 통해서 죄수의 딜레마라는 게임을 설명 드렸는데요.
그렇게 하지 말고 수학적으로 한번 모든 게임을 동일 하게 표현을 해보자. 그게 정규 형태라고 보시면 되겠습니다.
게임을 정규 형태로 표현하기 위해서는 3개의 컴포넌트가 필요합니다. 이 3개의 컴포넌트에 대해서 정의를 해주셔야 되고요.
여기서 N이라는 건 참여자의 수입니다. 그러니까 player의 개수라고 할 수 있고요. 그리고 각각의 player는 i라는 인덱스를 사용해서 나타내도록 하겠습니다.
그리고 두 번째 중요한 요소는 action set입니다. 그러니까 action의 집합이라고 할 수 있죠.
여기 보시면 A라는 action set은 A1, 그러니까 player1이 취할 수 있는 action set 곱하기, 여기서 곱하기는 곱집합을 얘기하는 것이죠.
그래서 N명의 player가 지금 있으니까 A1부터 AN까지의 곱집합으로 표현을 하게 됩니다. 그걸 action set, A라고 표현을 하고요.
마지막으로 u는 utility function, 효용함수입니다. 여기서 효용함수는 정의역이 A이고 공역은 혹은 치역은 실수인데 N차원의 실수입니다.
왜냐하면, 여기 player가 N명 있기 때문에 만약에 player1부터 playerN까지 이런 action을 취했다고 했을 때, 그때 각각의 효용을 나타낸다고 보시면 되겠습니다.
u는 어떻게 보면 Output은 N dimenSional vector이기 때문에 player 각각에 대해서 u를 기술하기 위해서는 이와 같이 사용합니다.
아래첨자 i를 사용해서 이 아래첨자 i는 player i가 action A를 선택했을 때 player1, i가 얻는 효용을 이와 같이 표현하게 됩니다.
그래서 이런 아래첨자가 있다면 ui는 실수값 스케일러, 그러니까 실수값 하나이겠지만 일반적인 u는 N dimensional vector입니다.
왜냐? u라는 건 각각 모든 player, N명의 player의 효용을 모두 다 나타내는 벡터이기 때문입니다. 그래서 이와 같이 표현하는 방식을 게임의 정규 형태라고 합니다.
그러면 우리가 좀 전에 살펴봤던 죄수의 딜레마를 한번 정규 형태로 표현해보죠. 중요한 건 N이 무엇인지, A가 무엇인지, u가 무엇인지 각각 정의해야 합니다.
좀 전에 살펴봤다시피 죄수의 딜레마에서 player의 수는 2가 됩니다. 그래서 N은 2로 세팅을 할 수 있고요.
그리고 A라는 집합은 player1이 취할 수 있는 action의 집합, 그것의 곱집합으로 또 player2가 취할 수 있는 action의 집합. 이렇게 표현이 되겠죠.
그래서 player1은 Silent 혹은 Implicate, 이 두 가지 action이 있고요. 마찬가지로 player2도 조용히 있거나 혹은 상대방을 밀고하는 이 두 가지 action이 있겠죠.
utility는 말씀드렸다시피 각각의 action에 대한 효용을 매핑해주는 함수라고 이해하시면 되겠고요.
오른쪽에는 죄수의 딜레마를 설명하면서 utility에 대한 정의를 이렇게 드렸는데요.
여기서 보시면 player1이 Silent하고 player2가 Silent라는 action을 취하면 player1은 -1이라는 utility값을 얻고, player2도 마찬가지로 -1이라는 utility값을 가지죠.
그래서 이걸 바탕으로 해서 u라는 함수를 정해볼 수가 있습니다. 일단 u는 정의역이 A였죠. 그리고 A는 {S, I}와 {S, I}, 또 다른 {S, I}의 곱집합입니다.
그래서 이거의 가능한 요소는 (S, S), (S, I), (I, S), (I, I)가 되겠죠. 그러니까 두 개의 집합의 곱집합이기 때문에 각각의 A라는 요소는 action의 쌍이 됩니다.
그런데 action의 쌍 중에 모든 가능한 action의 쌍을 다 기술하고, 그 각각에 대해서 utility가 얼마인지 정의해야 될 필요가 있겠죠.
그래서 오른쪽에 보여드린 행렬을 통해서 만약에 player1가 S라는 action을 취하고 player2가 S라는 action을 취하면, 각각 -1, -1이라는 utility를 얻고요.
player1이 S, player2가 I라는 action을 취하면, player1가 5년 동안 감옥에 있어야 하고, player2는 무죄방면이 되는 것이죠. 그런 식으로 각각을 행렬을 통해서 정의할 수 있고요.
좀 전에 말씀드렸다시피 utility function의 공역 혹은 치역은 N dimenSional vector라고 말씀드렸는데, 여기서 보시다시피 각각의 Output은 2×1 벡터임을 알 수 있겠죠.
그다음에는 이제 또 다른 중요한 게임의 예에 대해서 하나 말씀을 드리도록 하겠습니다.
우리가 일반적으로 많이 얘기하는 Zero-Sum Game에 대한 것입니다. Zero-Sum Game은 부가 새로 생겨나지도 않고 없어지지도 않는다는 뜻입니다.
그러니까 어떤 사람이 1이라는 utility를 얻으면 다른 사람은, 반드시 누군가는 1이라는 utility를 잃어야 합니다. 왜냐하면, 새로운 부는 절대 생겨나지 않기 때문입니다.
만약에 여러분이 Zero-Sum Game을 2 player, 그러니까 player가 딱 2명만 있는 Zero-Sum Game으로 한정을 한다면 이와 같이 표현할 수 있습니다.
그러니까 player1가 a라는 action을 취했을 때 얻는 이득은 항상 player2가 a라는 action을 취했을 때 얻는 이득의 마이너스다.
그러니까 이 둘을 합치면 항상 0이 된다는 뜻입니다. 왜냐하면 한 사람이 얻으면 한 사람이 반드시 잃어야 되고요.
그래서 이 효용의 합, 모든 player의 효용의 합은 항상 0이어야 됩니다. 그러니까 어떤 action이든지 간에 모든 action에 대해서 항상 이게 만족이 된다면 Zero-Sum Game이라고 얘기합니다.
게임의 가정에 대해서 말씀을 드릴 때 모든 player는 자신의 효용을 최대화하기 위한 action을 취한다고 말씀을 드렸잖아요.
그래서 player1 같은 경우에는 u1(a)를 최대화하기 위해서 노력을 할 것입니다. 그리고 player2는 자신의 utility를 최대화하기 위해서 노력을 하겠죠.
그런데 자신의 utility라는 건 뭡니까? Zero-Sum Game에서는 -(상대방의 utility)입니다.
그래서 player2가 자신의 utility를 최대화하기 위해서 행동한다는 건 곧 상대방의 utility를 최소화하기 위해서 선택을 한다. 이렇게 이해하시면 되겠습니다. 재미있는 내용이죠.
player1은 u1(a)를 최대화하기 위해서 노력을 하고, player2는 똑같은 값을 최소화하기 위해서 노력을 한다고 보시면 되겠습니다.
가장 간단한 Zero-Sum Game의 예를 보시면, 가위바위보를 보실 수 있겠죠. 우리가 가위바위보에서는 똑같은 action을 취하게 되면 둘 다 얻는 utility는 0입니다. 서로 비겼기 때문에.
그런데 제가 만약 보자기를 냈고 상대방이 바위를 냈다고 하면, 나는 이기게 돼서 +1이라는 utility가 있고, 상대방은 지게 되므로 1이라는 utility를 갖게 됩니다.
그래서 Zero-Sum Game에서의 특징은 뭐냐 하면, 행렬 각각의 합을 구해보시면 다 0이 된다는 특징이 있습니다.
모든 경우, 그러니까 player1과 player2가 취할 수 있는 모든 action의 combination에 대해서 이 둘의 utility의 합을 구해보면 항상 0이 된다. 이렇게 보시면 되겠습니다.
하지만 죄수의 딜레마에서는 이 특성을 만족하지 않습니다. 그래서 죄수의 딜레마는 Zero-Sum Game은 아니다.
그러니까 전 슬라이드에서 각 element에 있는 두 숫자를 여러분이 더해보시면 각각이 0이 되지 않는다는 걸 쉽게 확인하실 수 있습니다.
그럼 Zero-Sum Game에 대해서 말씀을 드렸고요.
그다음에는 게임 이론에서 가장 중요한 개념 중에 하나인 Nash Equilibrium에 대해 설명을 하기 위해서 하나둘씩 새로운 개념에 대해서 정의를 해나가도록 하겠습니다.
우선 첫 번째로 정의해야 될 것은 전략입니다. 게임에서 player의 전략을 얘기합니다.
그래서 player i의 전략은 Si라고 표현을 합니다. 그 Si는 뭐냐 하면, i가 취할 수 있는 action에 대한 확률분포 값입니다.
그러니까 내가 어떤 action을 선호한다고 하면, 그 action에 대한 확률분포 값은 높을 테고, 어떤 action을 덜 선호한다고 하면 그 action 값은 낮은 수가 되겠죠.
그래서 확률분포라는 건 중요한 게 각각의 action에 대한 전략의 값은 항상 0보다 크거나 같아야 하겠죠. 왜냐하면 확률이기 때문에.
그리고 모든 action에 대해서 Si값을 다 합치면 총합은 1이 되어야 합니다. 그래서 Si(ai) 이런 식으로 표현을 하면, player i가 ai를 선택할 확률을 나타내게 되죠.
그러면 전략이라는 게 각각의 player에 대해서 정의가 되고요. 이건 action set에 대한 확률분포라고 말씀을 드렸고요.
그러면 지금 게임에는 N명의 player가 있다고 가정을 하면, 전략 프로파일을 우리가 정의할 수 있습니다.
이건 N명의 player 각각에 대한 전략들을 하나로 모은 것입니다. 그래서 S1부터 SN까지 모두를 아우르는 정의로 strategy profile이라는 용어를 사용하게 됩니다.
그리고 또 밑에는 중요한 정의가 하나 나와 있는데요. support라는 정의입니다. support는 뭐냐 하면, 확률론에서 나온 정의고요.
확률론에서 support라는 것의 정의는 뭐냐 하면, 이와 같은 확률분포가 있을 때 확률의 값이 0보다 큰 영역입니다.
그래서 이 부분은 support라고 할 수 있고요. 예를 들어서 이 영역에서는 확률값이 0이다. 그러면 이 부분은 support가 아닙니다.
그래서 support라는 건 확률값이 0보다 큰 영역을 지칭하는 거고요.
당연히 그 개념을 전략에 적용해보면, action들 중에 그 확률이 0이 아닌 action들을 support. 이렇게 얘기할 수 있습니다.
그리고 마지막으로 중요한 정의가 어떤 전략이 순수하다. 혹은 혼합돼 있다. 이런 정의인데요. 영어로는 pure, mixed.
pure strategy 혹은 mixed strategy profile 이런 식으로 얘기하는데, 어떤 전략이 순수하다는 건 뭐냐 하면, 모든 player들이 항상 똑같은 전략을 쓰는 경우.
그러니까 모든 player의 Si가 시간에 따라 변하지 않고 고정돼 있는 경우를 pure하다고 얘기하고요.
그리고 mixed, 혼합돼 있다는 뜻은 Si, 그러니까 어떤 action을 취하는 확률분포 상에서 우리가 randomness를 추가적으로 넣는 경우.
그러니까 어떤 player가 선택을 하는 데 있어서 Si를 따라서만 선택을 하는 게 아니라, 가끔 그걸 벗어나는 무작위성을 같이 가지고 있는 경우에 혼합된 전략이라고 얘기를 하게 됩니다.
지금 계속 정의가 나와서 어려우실 수도 있는데, 하나하나씩 밟아나가면서 계속 정의를 따라오시기를 바랍니다.
하나하나 정의할 때마다 그 전에 정의한 내용을 활용하고 활용하는 식으로 되어 있기 때문에 여러분이 그 전에 정의된 내용을 충분히 이해하셔야지 그다음 내용도 쉽게 이해하실 수 있습니다.
전략에 대한 profile을 얘기도 했고, 그다음에 정의해야 될 중요한 내용은 최선의 응답, 최고의 응답, Best response라는 겁니다.
이건 정의가 어떻게 되느냐 하면, 저를 제외한 모든 다른 player들의 전략이 주어졌다고 했을 때 내가 취할 수 있는 전략 중에 최선의 전략을 Best response라고 합니다.
그러니까 나를 제외한 모든 player들, 그 모든 player들의 전략이 주어졌다고 했을 때 내가 취할 수 있는 전략 중에 최선의 전략을 최선의 응답이라고 얘기합니다.
그래서 그걸 수학적으로 표현하면 이와 같습니다. 만약에 저를 제외한 모든 player의 정의를 이와 같이 표현할 수 있겠죠. S¬i 이런 식으로 한번 정의를 해볼 수 있습니다.
이건 strategy profile인데, 여기서 보시면 아시겠지만 Si가 빠져 있습니다. 그러니까 player i 입장에서는 나를 제외한 모든 다른 player들의 strategy profile이라고 보실 수 있겠습니다.
그래서 i번째 player에 대한 Best response라는 건 결국에 나를 제외한 모든 이들의 전략이 주어졌다고 했을 때 효용이, 그러니까 내가 취할 수 있는 최선의 선택이라는 것은 결국 모든 가능한 전략,
내가 취할 수 있는 전략 중에서 만약에 그 전략을 넣었을 때 얻을 수 있는 utility가 모든 다른 전략에 비해서 더 높은 경우를 최선의 전략.
여기서는 Si* 이런 식으로 표현을 했죠. 그러니까 u(Si*, S¬i)는 모든 Si에서의 utility보다 항상 높거나 같아야 합니다. 그래서 이와 같이 정의된 전략을 Best response라고 정의할 수 있게 됩니다.
그러면 모든 정의가 끝났고, Nash Equilibrium, 그러니까 Nash 평형점에 대해 말씀을 드리도록 하겠습니다.
어떤 profile, 그러니까 전략 profile S가 Nash Equilibrium에 있다.
이건 무슨 뜻이냐 하면, 모든 player들의 전략이 그 player를 제외한 나머지 전략이 주어졌을 때 최선의 전략이라는 뜻입니다.
그러니까 이쪽에 지금 Best response에 대한 정의가 되어 있는데요.
이 Best response가 첫 번째 player부터 시작해서 모든 N번째 player까지 다 Best response로만 이루어진 전략 profile을 Nash Equilibrium이라고 말씀드릴 수 있겠습니다.
그래서 Nash Equilibrium이라는 건 주어진 상태에서 모든 agent가 내가 어떤 전략을 바꿈으로써 얻을 수 있는 이득이 전혀 없다는 겁니다.
그러니까 나도 최선을 다하고 있고 남도 최선을 다하고 있고요. 그래서 평형 상태에서 내가 어떠한 전략을 조금이라도 바꾸면 나는 더 이상 얻는 게 없고 잃는 것만 있는 경우.
그런 상황이 모든 player에게 다 적용되는 그런 평형점을 Nash Equilibrium이라고 얘기합니다. 많은 경우에 게임에서 Nash Equilibrium은 여러 포인트가 존재하게 됩니다.
그러면 저희가 지금 Zero-Sum Game에 대해서 좀 전에 말씀을 드렸고요. 이 Zero-Sum Game에서 과연 Nash Equilibrium은 언제 나타나게 되는지에 대해서 말씀을 드리도록 하겠습니다.
그러면 간단히 하기 위해서 Zero-Sum Game 중에서 player가 2명만 있는 경우를 일단 표현해보도록 하겠습니다.
Zero-Sum Game에서 예제로 보여드렸던 게 가위바위보 게임이었는데, 가위바위보 게임에서 matrix, 행렬을 보시면 각 요소에 두 가지 숫자가 있고요. 이 두 가지 숫자의 합은 0이라고 말씀드렸습니다.
그렇다면 각 요소에 있는 첫 번째 숫자만을 취해서 일반적인 행렬을 만들 수가 있겠죠.
여기에 주어진 숫자는 player1이 두 번째 action을 취했을 때, player2가 첫 번째 action을 취했을 때 player1 입장에서의 utility값입니다.
그러면 player2 입장에서의 utility는 어떻게 될까요? 그 값에 마이너스를 붙이면 되겠죠.
왜냐하면 지금 Zero-Sum Game이기 때문에 여기 보셨다시피 player1이 1이라는 utility를 얻었다고 하면, 똑같은 상황에서 player2는 1을 얻어야만 하죠.
그래서 이걸 일반화하도록 하겠습니다. 그러면 행의 숫자가 m개가 있고 열의 숫자가 n개가 있는 행렬을 Two-player Zero-Sum Game을 위해서 정의를 할 수 있겠죠.
그러면 여기서 각각의 행이 의미하는 건 player1이 취할 수 있는 action을 나타냅니다.
제가 만약에 세 번째 행을 취했다. 그건 내가 취할 수 있는 m개의 action들 중에 세 번째 action을 취했다는 얘기고요.
만약에 네 번째 열을 선택했다. 그건 player2가 네 번째 action을 취했다고 보시면 됩니다.
그러면 3, 4에 있는 행렬값은 뭘 의미하게 될까요? 그건 player1이 얻는 utility입니다.
그러면 player2가 그 상황에서 얻을 수 있는 utility는 얼마나 될까요? 그것은 그 값에 마이너스를 붙인 값이 되겠죠.
그래서 좀 전에 말씀드렸다시피 Xij. i번째 행의 j번째 열의 요소는 효용입니다. player1 입장에서의 효용이고요.
그건 언제의 효용이냐? player1이 i번째 action을 취했을 때 그리고 player2가 j번째 action을 취했을 때입니다.
그래서 Two-player Zero-Sum Game 같은 경우에 이와 같이 행렬 형태로 전체 utility를 간략하게 표현할 수가 있겠습니다.
그러면 Two-player Zero-Sum Game에서의 Nash Equilibrium이 언제 나타나는지를 확인하기 위해서 Pure Maxmin Strategies에 대해서 소개를 시켜드리도록 하겠습니다.
여기서 Pure라는 건 좀 전에 말씀드렸다시피 randomness가 전혀 주어지지 않는다는 겁니다. 그 상황에서 player1이 입장에서 maxmin strategy가 무엇인지 한번 다뤄보도록 하겠습니다.
maxmin이라는 건 뭐냐 하면, 이름에서 아실 수 있다시피 player1 입장에서는 player2가 어떤 행동을 할지 제어할 수 없습니다.
대신 중요한 가정 중에 하나가 상대방은 자신에게 가장 유리한 action을 취할 것이다. 그걸 모든 player가 알고 있다고 말씀을 드렸죠.
그러면 player1 입장에서는 ‘내가 지금 이 상황에서 어떤 action을 취하는 게 최선일까?’라고 본다면, 결국에 각 행이 내가 취할 수 있는 action이고요.
내가 만약에 첫 번째 action을 취했을 때 얻을 수 있는 utility값이 첫 번째 행에 주어지겠죠.
그런데 가장 중요한 가정은 상대방은 상대방에게 가장 유리한 선택을 할 것이다. 그런 가정이 있기 때문에 그럼 상대방 입장에서는 첫 번째 행 중에서 x값이 가장 낮은 열을 선택하게 될 것입니다.
왜냐하면, 그게 player1의 utility를 최소화하는 거고요. player1의 utility를 최소화하는 게 player2의 utility를 maximize하는 거기 때문입니다.
그래서 player1 입장에서 최선의 action은 뭐냐 하면, 각 행마다 최솟값을 얻습니다. 최솟값이라는 건 내가 i번째 action을 취했을 때 player2가 최선의 action을 취한 상황입니다.
그래서 각 행의 최솟값을 보고 그 중에 최댓값이 되는 행을 선택하는 게 player1 입장에서는 최고의 선택이 되겠죠. 그래서 그게 Minmax 전략이라고 말씀을 드릴 수 있습니다.
그럼 다시 말씀드리면, 각 행의 최솟값을 다 구하고요. 그 최솟값들 중에 최댓값이 되는 행을 선택해라. 그런 것입니다.
첫 번째 행의 minimum 값, 두 번째 행의 minimum 값, 세 번째 행의 minimum 값을 각각 구한 다음에 이 전체에 대해서 maximum 값을 취하도록 해라.
그게 player1 입장에서는 최선의 전략이 될 테고요. 그걸 Minmax strategy이라고 할 수 있겠죠.
그래서 player2도 마찬가지입니다. player도 내 utility를 최선으로 하기 위한 선택을 할 거고요. 그 경우는 어떤 경우냐 하면, player1이 이성적이므로 내가 모든 열을 봅니다.
여기서 얻을 수 있는 최악의 경우, 최악의 payoff를 찾은 다음에 그것들 중에서 가장 좋은 열을 선택하게 됩니다.
그런데 중요한 건 지금 이 행렬은 player1의 utility 입장에서 기술이 되었습니다. 그래서 player2 입장에서는 실제로 다 마이너스를 붙여야지만 그게 player2 입장에서의 utility가 되겠죠.
그래서 똑같은 아이디어를 적용한다고 하면 각 열에서 maximum 값을 찾습니다. 그것은 player1 입장에서의 maximum이기 때문에 player2 입장에서는 최악의 경우죠.
그래서 max를 취한 다음에 각 열의 max들 중에서 min을 취하게 됩니다. 그래서 결국 player2 입장에서는 minmax 전략이 최선의 전략이 됩니다.
요약을 하자면 player1이나 player2나 기본 전략은 똑같습니다.
그런데 단지 이 행렬이 player1 입장의 utility로 기술되었기 때문에 player1 입장에서의 최선은 max가 되고, player 입장의 최선은 minimum이 됩니다.
그래서 min과 max가 이렇게 바뀌는 상황이 벌어지게 되는 것이죠.
그럼 예제와 함께 보도록 하겠습니다. player1 입장에서 한번 보도록 하죠. player1 입장에서 내가 만약에 action1을 선택했다고 해보세요.
그러면 player2가 첫 번째 action을 취해주면 내가 2라는 utility를 얻고요. 두 번째 action을 취하면 0을 얻고, 세 번째 action을 취하면 1을 얻게 됩니다.
그런데 상대방은 분명 자신의 최선을 위해서 선택할 거기 때문에 두 번째 action을 선택하겠죠.
내가 만약에 첫 번째 action을 취하면 상대방은 두 번째 action을 취해서 내 utility를 최소화하겠죠. 내 utility를 최소화한다는 건 상대방 utility를 최대화하는 거죠.
그래서 말씀드린 대로 내가 첫 번째 action을 취했을 때 최악의 경우는 minimum 값인 2입니다.
그리고 내가 두 번째 action을 취했을 때 최악의 경우는 3이고요. 그리고 내가 세 번째 action을 취했을 때 최악의 경우는 2입니다.
그래서 maxmin에서 말씀드렸다시피 각 행에서 minimum 값을 얻은 다음에 그 중에 최댓값을 얻는 거죠.
그러면 0, 3, 2 중에 최댓값은 0이 되겠죠. 그래서 player1 입장에서는 첫 번째 action을 취하는 게 좋습니다.
만약에 player1이 두 번째 action을 취했다고 해보세요. 그러면 player2가 첫 번째 action을 취해주면 제가 4라는 아주 좋은 payoff를 얻게 되지만,
그런데 상대방이 바보가 아니고 상대방은 되게 이성적인 player이기 때문에 당연히 두 번째 action을 취함으로써 제 payoff를 줄이고 자신의 payoff를 올리겠죠.
그렇기 때문에 제가 두 번째 action을 취하면 4를 보고 ‘내가 4를 얻을 수 있는데...’ 그러면서 두 번째 action을 취하면 절대 안 되고 이건 피해야 된다는 것이죠.
그래서 player1 입장에서는 첫 번째 action을 취하게 됩니다. 그게 maxmin 전략의 핵심이라고 할 수 있고요.
player2 입장에서는 마찬가지입니다. player2 입장에서는 제가 행 대신에 열을 선택하게 되죠.
그런데 말씀드린 대로 제가 첫 번째 action을 취하게 되면 최선으로 얻는 게 몇이 되겠습니까? 최선으로 얻는 게 -1이죠.
그러니까 좀 전에 말씀드렸다시피 이 숫자들은 다 player1 입장의 utility이기 때문에 player2 입장의 utility라는 건 다 마이너스가 붙어야 됩니다.
그래서 결국에 player2 입장에서 첫 번째 action을 취했을 때에 최악의 경우는 4고요. 두 번째 action을 취했을 때 최악의 경우는 0이고, 세 번째 action을 취했을 때 최악의 경우는 2 값이 되겠죠.
그래서 이 max들 중에서 min을 취하는 것은 바로 두 번째 action을 취해서 0을 얻는 게 최선이 됩니다. 그래서 일반적으로 maxmin solution이라는 건 이와 같이 정의되고요.
그래서 player1 입장에서는 최선의 전략이 a1이라고 했습니다. 그러니까 첫 번째 행을 선택하는 경우. 그리고 player2 입장에서는 최선의 action이라는 건 두 번째를 취하는 것입니다.
그럴 경우에 player1이 첫 번째 action을 취하고, player2가 두 번째 action을 취했을 때의 value는 0이 되겠죠. 그래서 여기서 말하는 v1과 v2는 v랑 동일하게 되는데, 여기서 v는 0이 됩니다.
그래서 이런 player1과 player2가 maxmin 전략을 통해서 선택했을 action에서 얻을 수 있는 value라는 걸 이 게임의 가치라고 정의를 합니다.
그리고 v라는 값과 더불어 player1의 action과 player2의 action을 모아서 maxmin solution 혹은 minmax solution이라고 합니다.
그래서 결국에는 Two-player Zero-Sum Game에서 행렬이 주어지면 player1 입장에서 maxmin을 하고, player2 입장에서 minmax를 함으로써
player1과 player2의 action이 정해지고 그때의 값도 정해지죠. 그래서 그걸 게임의 솔루션이라고도 얘기하고요. 그리고 v값은 특별히 그 게임의 가치라고 말씀을 드릴 수 있겠습니다.
그래서 이거의 의미는 무엇이냐? 이렇게 판단을 해보면, a1, b2, 그러니까 player1은 첫 번째 행, player2는 두 번째 열을 선택하는 게 maxmin solution이었고요. 그때의 v값은 0이었습니다.
그것의 의미는 뭐냐 하면, P1 입장에서는 P2가 뭘 하든지 간에, 어떤 전략을 취하든지 간에 내가 첫 번째 행을 선택하면 적어도 0은 얻을 수 있다. 이게 의미라고 할 수 있고요.
그리고 P2 입장에서도 마찬가지입니다. P2 입장에서도 P1이 어떤 전략을 선택하든지 간에 내가 두 번째 열, b2를 선택하면 내 입장에서는 적어도 -v는 얻는다.
그러니까 말씀드렸다시피 여기에 지금 주어진 v값은 player2 입장에서는 마이너스를 붙여야 자신의 utility가 되기 때문에 v가 됩니다.
그래서 maxmin solution은 많은 경우에 게임의 saddle point라고 합니다. saddle이라는 건 말 안장이죠.
말 안장의 특징이 뭐냐 하면, 한쪽 방향으로는 이렇게 생겼습니다. 그런데 반대쪽 방향으로는 이렇게 생겼죠.
그래서 saddle point라는 건 뭐냐 하면, 어떤 방향으로는 minimum이 되고 어떤 방향으로는 maximum이 되는 그 포인트를 saddle point라고 하고요.
지금 말씀드린 대로 maxmin solution 같은 경우에 row의 minimum이고, 열의 maximum이기 때문에 이거의 게임의 saddle point라고 얘기하게 됩니다.
그래서 지금까지 maxmin solution에 대해서 얘기했는데, 왜 이 얘기를 하느냐? 제가 처음에 이 논의를 시작할 때 Nash Equilibrium 말씀을 드렸는데요.
Two-player Zero-Sum Game에서 우리가 maxmin solution을 구했다. 그래서 ai와 bj를 구하면 그것은 곧 Nash Equilibrium point가 됩니다.
그래서 이건 증명된 사실이기 때문에 Two-player Zero-Sum Game에서는 여러분이 maxmin solution을 구하게 되면, 이건 항상 Nash Equilibrium이 된다고 이해하시면 되겠고요.
여기 보시면 iff가 되어 있습니다. 그건 무슨 뜻이냐 하면, if and only if입니다. 여러분이 그냥 equivalent, 동지다라고 이해하시면 됩니다.
만약 a, b가 Zero-Sum Game의 solution이면 a, b는 Nash Equilibrium이다. 그것도 만족이 되고요.
만약 a, b가 Nash Equilibrium이면 그 a, b는 Zero-Sum Game의 maxmin solution이다. 그것도 만족이 되는 겁니다.
그래서 필요충분조건이라고 보시면 되고, 그건 결국에 서로 equivalent, 동일하다고 보시면 되겠습니다.
지금까지 maxmin 전략에 대해 말씀드린 이유는 설명 드린 대로 각각 player 입장에서는 상대방이 어떤 전략을 취하든지 간에 내가 이 action을 취하면 적어도 이 값 이상은 guarantee가 된다.
그렇기 때문에 상대방이 이성적이라고 하면, 상대방이 자신의 이익을 위해서 최선을 한다고 하면, 이 선택을 하는 게 제일 낫겠죠.
그래서 player1도 그런 선택을 하고, player2도 그런 선택을 한다면, 그때가 바로 Nash Equilibrium이 된다. 그렇게 결론을 짓도록 하겠습니다.
그러면 지금까지 Two-player Game에 대해 말씀을 드렸습니다. 그런데 만약에 이걸 Two-player가 아니라, 3명의 player, 4명의 player 이런 식으로 확장을 하게 되면 이게 갑자기 어려워집니다.
이론을 전문적으로 공부하시는 분들만 이해하고 해석할 수 있을 정도로 갑자기 어려워지기 때문에 더 이상은 나아가지 않고,
그냥 여기서 Two-player Zero-Sum Game에 대해서 Nash Equilibrium은 이렇게 찾을 수 있다고 말씀을 드리고요.
Multi-player Game에서는 어떻게 되느냐? 여기에 혹시 관심 있으시면 아주 advanced된 정보가 필요하다고 이해하시면 되겠습니다.
그래서 Multi-player Game 같은 경우에는 몇몇 player들이 서로 협동을 할 수도 있고 서로 경쟁을 할 수도 있겠죠.
그리고 Multi-player에서는 Nash Equilibrium에 대해서 다룬다는 게 갑자기 너무 어려워지기 때문에 자세히 유도를 하거나 디테일하게 다루지 않지만 몇 가지를 말씀드리면,
만약에 player들 사이에 협력 혹은 합종연횡이 허락되지 않는다고 하면, Multi-player Game에서의 Nash Equilibrium은 찾을 수가 있다고 알려져 있고요.
그다음에 player들 사이에 협력을 허락을 한다. 그러니까 몇몇 player들끼리는 자기네들만 짜서 ‘최선의 노력을 하자.’ 이런 식으로 되는 게임에 대해서는
Nash Equilibrium이 어디서 존재하는지 수학적으로 증명하고 찾아내는 게 매우 어렵다고 이해하시면 되겠고요.
그래서 N명의 player가 있는 게임에서 그걸 일반화해서 N명이 있을 때 Nash Equilibrium이 언제 나타나느냐? 그거에 대한 명확한 이론은 아직까지 개발이 되지 못했다고 보시면 되겠습니다.
어떻게 보면 허무한 결론일 수 있는데, 저희가 게임 이론에 대해서 얘기했고 그다음에 Zero-Sum Game 얘기를 했고
그다음에 Two-player Zero-Sum Game에 대해서는 ‘Nash Equilibrium을 이럴 때 찾을 수 있다.’고 말씀을 드렸는데, Multi-player가 되면 갑자기 어려워진다고 이해하시면 되겠고요.
만약에 그럼 Zero-Sum Game이 아닌 경우에는 어떻게 되느냐? 그 경우는 게임별로 여러분이 특정 게임에 대해서 Nash Equilibrium을 찾을 수 있긴 하지만,
모든 Non-Zero-Sum Game에 대해서 통일해서 얘기할 수 있는 솔루션을 찾는다는 건 매우 어려운 일이 됩니다.
여기도 마찬가지로 만약에 player들이 서로 경쟁만 허락할 것인지 혹은 서로 연합까지도 허락할 것인지에 따라서도 분석이 매우 달라지고 어려워지게 되겠죠.
그래서 Non-Zero-Sum Game에서는 많은 경우에 우리가 관심 있는 특별한 게임에 대해서만 다루고요.
그래서 그거에 대해서 기술하고, 그때의 Nash Equilibrium이 어디인지 찾는 식으로 주로 진행하게 됩니다.
지금부터는 Zero-Sum Game이 아닌 게임들 중에서 몇 가지 잘 알려지고 유명한 것들에 대해서 하나씩 살펴보도록 하겠습니다.
첫 번째는 Stag Hunt라는 게임입니다. Stag Hunt는 수사슴을 사냥하는 게임이죠. 그건 다른 말로 assurance game, coordination game, trust dilemma라고 합니다.
그리고 이 게임은 정치학자로 혹은 철학자로 알려진 장 자크 루소도 이 게임에 대해서 기술한 적이 있고요.
게임의 시나리오는 이와 같습니다. 두 명의 사냥꾼이 있고요. 이 두 명의 사냥꾼은 사슴을 잡든지 아니면 수토끼를 잡든지 선택을 할 수 있습니다.
그런데 사슴은 항상 두 명의 사냥꾼이 ‘나는 사슴을 잡을 거야.’ 그래야지만 잡을 수 있습니다. 그러니까 한 명만 선택해서는 절대 잡을 수 없고요.
대신에 수토끼는 한 명이 만약에 선택을 하면 그 사람이 잡을 수가 있습니다. 하지만 내가 만약에 수토끼를 잡으면, 수토끼를 통해서 얻는 utility, 이득은 사슴을 잡았을 때 이득보다 훨씬 낮게 되죠.
일반적으로는 왼쪽에 보이는 행렬대로 표현을 하게 됩니다. 만약에 player1도 수사슴을 잡고 player도 수사슴을 잡으면 둘 다 a, a라는 utility값을 얻고요.
그다음에 player1이 수사슴을 잡고 player가 2가 수토끼를 잡으면 각각은 c, b라는 utility를 얻게 됩니다. 그런데 이 경우에는 당연히 a가 b보다 훨씬 커야 되겠고요. c는 b보다 작게 되겠죠.
그리고 둘 다 Hare, Hare, 그러니까 수토끼를 잡는다고 하면 둘 다 d만큼의 utility를 얻습니다.
이 경우는 여러분이 Stag Hunt 게임을 어떻게 정의하느냐에 따라 다른데, b와 d를 똑같이 줄 수도 있고 다르게 줄 수도 있습니다.
그래서 오른쪽에 예제가 하나 있는데요. 이 경우에는 두 사냥꾼이 만약 둘 다 수사슴을 잡겠다고 하면 둘 다 2라는 utility를 얻고요.
그다음 만약에 player1은 수사슴을 잡는데 player는 수토끼를 잡겠다. 그러면 player2는 1이라는 이득을 얻습니다. 그런데 player1은 아무것도 못 잡게 되기 때문에 0을 얻게 되죠.
그래서 이와 같이 기술을 한 게 Stag Hunt의 한 예라고 보실 수 있겠습니다.
두 번째 Non-Zero-Sum Game의 예제에 대해서 말씀을 드리도록 하겠습니다. 이건 성 대결에 대한 게임입니다.
여러분, 한 쌍의 부부가 있다고 가정을 해보시고요. 남편의 경우에는 풋볼 게임을 보러 가는 걸 원합니다. 그리고 부인의 경우에는 발레를 보러 가는 걸 원합니다.
이 경우에 부부가 서로 얘기하지 않는 상황에서 각각은 어떤 선택을 하는 게 좋을까? 그거에 대한 게임이라고 보시면 되겠습니다.
남편 입장에서는 당연히 풋볼을 보러 가고 싶긴 하지만, Wife가 풋볼을 싫어하고 또 발레를 선택할 수도 있다. 이렇게 예상을 한다면 발레를 선택할 수도 있겠죠.
그래서 내가 Husband 입장에서도 발레를 선택하고 아내 입장에서도 발레를 선택하면, 남편은 2라는 utility를 얻고 아내는 3이라는 utility를 얻습니다.
여기서 남편의 utility가 더 적은 이유는 남편은 원래 풋볼을 더 좋아하는 상황이겠죠. 그런데 그렇게 즐기지 않는 발레를 보러 가게 됐지만 그래도 아내가 좋아하니까 2라는 utility를 얻게 됩니다.
그런데 만약에 남편이 상대방을 위해서 발레를 선택하고 Wife는 또 상대방을 위해서 풋볼을 선택한다면,
둘은 같이 보러 가지도 못할 뿐더러 좋아하는 걸 보지 못하기 때문에 둘 다 0이라는 상황을 얻게 되고요.
그리고 만약에 남편이 풋볼을 선택하고 Wife가 풋볼을 선택하는 경우는 마찬가지로 발레, 발레를 선택한 경우와 utility값이 Husband, Wife 둘 다 조금씩 바뀌었다는 걸 알 수 있겠죠.
이렇게 성 대결 게임을 정의할 수도 있고요. 또 한 방법으로는 이 부분, 그러니까 남편이 풋볼을 선택하고 와이프가 발레를 선택할 경우에 대해서 조금의 utility를 주는 경우입니다.
여기서 조금의 utility를 주는 경우는 물론 남편 입장에서 아내와 함께 하지는 못하지만 그래도 자기가 좋아하는 풋볼을 보고, 와이프도 마찬가지로 자기가 좋아하는 발레를 보니까
그래도 남편이 발레 보러 가고 와이프가 풋볼 보러 가는 것보다는 더 낫지 않겠느냐? 그런 개념에서 여기서 1, 1이라는 값을 assign 했습니다.
그래서 크게 보면 이게 성 대결에 대한 게임이지만, 이렇게 디테일한 건 상황에 따라서 다른 payoff를 여러분이 정의할 수 있겠습니다.
그다음에 마지막으로 살펴볼 Non-Zero-Sum Game의 예는 많은 분들이 아시겠지만 치킨 게임입니다.
치킨 게임은 많은 경우에 매와 비둘기의 게임 혹은 snowdrift, 그러니까 눈바람이 불어서 눈 언덕이 되는 그런 게임입니다.
그래서 이 게임의 핵심은 뭐냐 하면, 두 player 중에 한 명이 겁쟁이가 되면 혹은 한 명이 양보를 하면 둘 다 benefit을 얻는 경우입니다.
여기서 한번 예를 보도록 하죠. 두 마리의 닭이 있는 경우에 나도 직진을 하고 상대방도 직진을 하면 사고가 나게 되죠. 그 경우에는 둘 다 치명적인 마이너스의 payoff, utility를 얻게 됩니다.
그렇지만 내가 직진을 하고 상대방이 피해주면, 나는 1이라는 utility를 얻고 상대방은 -1을 얻습니다.
상대방은 어쨌든 피했기 때문에 겁쟁이라고 놀림을 받을 수 있으니까 1이라는 작은 값을 주게 되죠.
여기서의 핵심은 뭐냐 하면, 둘 다 Straight를 취하게 되면 둘 다 망하는 거고요.
둘 중에 한 명이 양보를 하면 약간의 damage는 있긴 하지만 그래도 큰 damage는 없는 상황을 보실 수 있겠습니다.
그래서 여러분이 Nash Equilibrium이 언제 일어나는지를 보면, 둘이 서로 다른 action을 취할 때 나타난다. 이건 여러분이 Nash Equilibrium 정의를 적용해보면 쉽게 확인해볼 수 있습니다.
그래서 치킨 게임의 경우에는 Anti-coordinate game이라고도 불리고요. 그러니까 둘이 서로 다른 전략을 취해야지만 서로 이득이 되는 경우입니다.
이건 치킨 게임의 많은 경우에 갈등이 서로 증폭되는 과정을 표현하는 모델로 많이 사용이 됩니다.
그리고 Hawk-dove game은 마찬가지로 매와 비둘기의 게임인데, 우리가 위협을 그냥 보여주기만 하는 걸 Dove라고 하고요. 그리고 실제로 공격하는 걸 Hawk라고 합니다.
이것도 마찬가지로 둘 다 Hawk를 하면 큰 문제가 되는 거고요. 한 명이라도 Dove를 하면 그나마 나은 경우라고 보실 수 있겠습니다.
가장 좋은 방법은 상대방을 아주 위협해서 상대방이 Straight를 하지 못하게 하는 것도 방법이고요. 혹은 그 전에 서로 약속을 함으로써 이 상황을 벗어날 수가 있습니다.
현실에서는 이렇다는 걸 많이는 알고 있지만, 우리가 종종 여러 명의 player들이 서로 양보를 하지 않음으로써 점점 갈등이 증폭되는 경우도 실제로 많이 보게 됩니다.
지금까지 게임 이론의 기초에 대해서 말씀을 드렸습니다.
Zero-Sum Game에 대해서 말씀을 드렸고, Two-player Zero-Sum Game에 대해서 말씀을 드렸고, Zero-Sum Game이 아닌 몇몇 예제를 말씀드렸습니다.
게임 이론이라는 게 참 재미있는 분야이기도 하고요. 우리 현실이랑도 많이 맞닿아 있는 분야이기도 하고요.
그런데 이론적인 측면에서만 본다면 되게 과정이 많은, Two-player Zero-Sum Game에 대해서만 수학적으로 잘 분석이 되어 있고 아직 많은 부분은 밝혀지지 않은 상태로 남아 있다.
한편으로 보면 지금 우리가 다루고 있는 게임 이론에서의 게임은 실제 게임보다는 훨씬 단순화시킨 게임임에도 불구하고 거기서 어떤 수학적인 증명을 얻는다는 게 매우 어렵다는 걸 봤는데요.
실제 현상에서 이런 여러 player들이 서로 경쟁하거나 합종연횡 하는 경우에 어떻게 분석을 할까? 그건 아주 도전적인 문제로 남아 있습니다.
게임 이론은 인공지능뿐만 아니라 시작할 때 말씀드렸다시피 경제학이나 정치학에서도 아주 중요한 모델로 활용이 되기 때문에 관심 있으신 분들은 좀 더 공부해보시는 것도 추천해 드립니다.
그럼 오늘의 강의는 여기서 마치도록 하겠습니다.