지식 요소의 가공과 분석, 그리고 여러가지 도구의 활용에 관한 내용

일상 속 작은 모델링: SkyJo에서 카드 공개의 가치

  1. 들어가는 글

몇일전에 아이들과 함께 SkyJo게임을 하면서 생각난 부분들을 정리한 글입니다. 아이들은 해당 게임을 이미 플레이를 해 왔었고, 저는 처음 설명을 듣고 플레이한 입장에서, 해당 게임에서 카드의 정보를 안다는것이 어느정도의 영향을 주는가에 대한 토론을 하다가, 이거 재미있는 주제다 싶어서 생각을 해 보았지요. 한 3-4판을 플레이하고 난 다음에, 저녁식사하면서 간단한 모델을 세워서 게임에서 내 카드의 정보를 공개한다는 행위에 대해 생각을 해 보았습니다.

일상속 모델링 카테고리의 글의 목적은, 매우 정확하고 정교한 계산을 토대로 게임에서 승리하고자 하는것이 아닙니다. 이것은, 누구나 할 수 있는 생각을 바탕으로 (혹은 그렇지 않다면 간단한 가이드라인을 주어서), 의사결정에 참고할만 적당한 모델을 만드는데에 있습니다. 굳이 따진다면 기본 규칙에 덧붙여서 “생각해볼만한”경우를 찾는것이라 하면 됩니다. 체스로 따진다면, 중앙에 기물들을 잘 전진하고, 초반에 기물들을 골고루 사용하는게 유리하다. 카탄으로 따진다면, 그러면 인접한 칸이 2, 6, 9로 이루어진것과 4, 5, 6으로 이루어진것 (자원의 종류를 무시한다면) 중에서 평균적으로 무엇이 유리한가에 대해 생각하는 방법들이지요. 즉 특별한 조건에서는 달라지겠지만, 일상적으로는 쓸만한 가이드라인을 찾아올리는게 목표입니다.

이 글에서는, “간단한 게임의 규칙 -> 직관으로 파악할 수 있는 내용 -> 직관으로 결정내리기 어려운 경우 -> “유리함”에 대한 몇가지를 계량하는 방법 -> 결론”과 같은 부분으로 진행되게 됩니다. 그래서 목표는, 뭔가 결정짓기 애매한 것을, 원하는 목적에 맞춰서 계량하는 것에 대한 매우 간단한 방법에 대한 이야기가 되겠지요. 다만, 이럼에도 불구하고, 적절한 모델링은 그렇게 쉽지만은 않습니다. 

  1. 간단한 게임의 규칙 및 목적

일단 SkyJo 게임은 생각보다 간단한 카드게임인데요, 카드들에는 각 점수가 -2점에서 12점까지 매겨져 있고, 1-12점의 카드는 20장, -2,-1,0점의 카드는 장수가 다릅니다. 

목표는 게임이 끝난다음에 점수가 “낮은”플레이어가 이기는데, 한판으로 결정되는게 아니라 여러판을 진행하여 한 플레이어의 점수 합계가 100점에 도달했을때 점수가 가장 낮은 플레이어가 이기는 게임입니다. 

게임의 규칙 및 메커니즘은 매우 간단한 편입니다. 각 플레이어들은 12장의 카드를 받아서 3×4로 위치를 고정하고 내려넣고, 게임 시작할때 2장의 카드를 뒤집습니다. 즉, 10장의 카드는 모르는 상태이고요. 매 자신의 차례가 될 때 마다, 덱에서 모르는 카드를 한장 선택하던지, 혹은 마지막에 버려진 정보가 공개된 카드를 선택 하여 본인앞에 놓여진 12장의 카드중 하나와 교체할 수 있습니다. 이 때 덱에서 모르는 카드를 선택한 경우에는, 무조건 교체를 선택하는것이 아니라, 카드 정보를 공개하고 난 다음에 교체할것인지 아니면 해당 카드를 그냥 버리는 대신에 내 앞에 놓여진 12장의 카드중 공개되지 않은 하나를 뒤집게 됩니다. 

한 판의 끝은, 플레이어 중 누구던지 12장의 카드의 정보가 모두 공개되면 해당 게임이 끝납니다. 그리고 점수를 합산하는데, 점수가 낮을수록 좋습니다. 만약 여러판을 진행했다면, 여러판 점수를 모두 합산하여, 어느 한명의 플레이어가 100점을 넘는다면 전체 게임이 끝납니다. 그리고 점수 합산이 가장 “낮은” 플레이어가 게임에서 승리하는 것입니다.

굳이 추가 규칙을 계산해서 이야기하자면, 3×4로 나열되어있으므로 위에서 아래로 3개의 카드가 같은 숫자인 경우에는 버릴수 있는 조건이 있습니다. 즉, 마이너스 점수 카드를 버리면 아까운것이고, +12 세개를 모아서 버리는 경우에는 한번에 36점의 점수를 줄일수 있지요. 

  1. 직관

일반적으로 아이들과 플레이하면 운에 따라 다르지만 한판에 0점에서 30점 정도 사이가 나오고요, 여러판을 진행한 합산을 하게 되므로, 한판한판에 점수를 극단적으로 낮추는 것 보다, 한 번 실수로 정말 큰 점수를 가져가는 경우를 방지하는 경우가 유리합니다. 한 10여판 플레이 해보면 10-20점 사이에 점수가 나오는게 생각보다 흔합니다. 

규칙을 듣고 테스트 플레이를 한 번 해보면, 바로 “감”이 오는 부분중 하나가, 의외로 초반에 자신의 카드를 공개하는 선택이 중요할 것 같다는 점입니다. 다만, 이미 공개된 카드로 교체하는 경우 점수를 2-3점 정도 낮출수 있다면 (예로들어 뒤집은 카드 혹은 그 전전 플레이어가 버린 카드가 4인데 제 앞에 놓여진 카드중 점수가 공개된 카드가 6인 경우), 공개된 카드로 교체하는 것이 좋을까, 아니면 버리고 새로운 카드를 뒤집는게 좋을까 하는 형태의 정량적인 분석은 시간이 필요한 것이라 봅니다.

그렇다면, 정보의 공개는 어느정도의 이익을 가져오는 것이고, 그것은 경우에 얼마나 의존할것인가가, 여러판을 진행할때 총 점수를 낮출수 있게 해주는 게임의 실력이 되겠지요.

  1. 직관에서 나오는 선택 (계량을 하기 전 단계)

일단 지금 글의 목적은, 식탁에서 앉아서 아이들과 이야기하면서 바로 만들수 있는 “대략적으로 맞는” 간단한 계량을 하고싶은것이지, 주요 경우에따른 정밀한 계산을 하는것이 목표가 아닙니다. 아마도 해당 부분에 대해서는 생각이 미치면 한번 적어볼 수 있을지 모르겠지만, 저는 일상 속 (간략한) 모델링의 경우에는 일종의 최소한도로 우리가 어떻게 짐작할수 있을까 정도를 바라봅니다. 전문적인 모델링 지식이 필요한 것도 아니고, 또 아주 정교한 계산을 바라는것도 아닙니다.

해당 게임을 처음 3-4판 플레이하고 바로 든 생각은, 위에도 언급했다시피 초반에는 정보의 공개가 도움이 된다. 후반에는 정보의 공개를 마음대로 했다가, 좋지 않은 카드를 뒤집어서 버리게 되는 경우 강제로 게임을 종료시키게 된다. 3장 조건을 만족하기 위해서 어느정도는 세로로 카드를 뒤집는 경우가 필요하다. 등등 여러가지가 있습니다.

특히 카드의 교체 대해서는 0점카드와 10점카드 처럼 점수가 확연히 차이나는경우에는, 행동을 결정하기 편한데, 문제는 교체로 인한 점수차이가 2-4점인 경우가 생각보다 많은 것에 있지요. 그렇다면 이 경우 교체를 하는것이 좋을가요, 아닐까요. 교체를 한다면 정보가 공개된 카드로 교체하는게 좋을까요, 공개되지 않은 카드로 교체하는게 좋을까요?

예로든다면 우리가 덱에서 뒤집은 카드가 4입니다. 현재 공개된 카드 중 가장 큰 숫자의 카드가 6입니다. 여전히 절반은 점수가 공개되지 않은 카드인데, 어떤 행동이 좋을까요? 

반면에 가장 큰 숫자의 카드인 6을 덱에서 뒤집은 4짜리 카드로 교체하게 되면, 당연히 2점만큼 유리해지는데, 여기에는 이미 정보가 공개된 카드를 교체하는것이므로 새로운 정보가 공개되지는 않습니다. 

정확히는 세가지 행동에서 하나를 선택해야되는데 (1) 덱에서 나온 4짜리 카드를 버리고, 그냥 내 카드중에 정보가 공개되지 않은 카드를 공개할 것인가, (2) 4짜리 카드를 내 공개된 카드중 제일 큰 숫자인 6과 교체할 것인가, (3) 4짜리 카드를 공개되지 않은 카드중 하나를 선택해서 교체할 것인가, 즉 당연히 4는 공개된상태로 보이게 되는것입니다. 

그냥 보면 결정적으로 2점을 안정적으로 줄일수 있는 2번이 좋아보이는데, 몇 번 플레이하면  “운에 따라서 다르지만” 생각보다 2번 선택이 좋지만은 않다는 것을 느끼는데 그렇다면 왜 그럴까 라는 생각을 해보게 됩니다.

  1. 아주 간단한 계량: 카드의 정보를 공개했을때의 중간값, 그리고 독립시행과 같은 확률을 가정했을때의 기대값

원래는 -2, -1, 0 카드들은 장수가 1-12카드와 다릅니다. 그런데 10장, 15장, 20장 차이이므로 weighted average를 정교하게 계산하지 않더라도 크게 무리가 가지 않는다고 생각했습니다. 또한 식사하면서 암산으로 계산하기에는 번거로웠지요. 그래서 각기 카드장수는 같다고 보고, 동시에 우리의 의사결정에는 기본적으로 독립시행을 가정했지요. 바꿔서 이야기하자면, 현재 판에 공개된 카드들에 따라 확률이 달라지는 부분을 무시했습니다. 

이렇게 카드장수가 같다고 보면 계산이 그럴듯하게 편해지는데 먼저 아무 카드를 랜덤하게 뒤짚었을때 나오는 중간값은 5가 될 것이고, 이렇게 계속 뒤집어서 평균을 내더라도 평균값은 중간값과 같은 5가 됩니다  (각기 독립시행 + 각 숫자의 확률이 같음). 즉, 세세한 계산을 하면 다른 값이 되겠지만, 수의 감각적인 부분으로 본다면, 정교한 계산에 비해서 그렇게 큰 차이가 나지는 않을거라 예상합니다. 

물론 우리는 “같은 방법의 선택을 지속적으로” 했을때의 기대값을 이야기하고 있는 것입니다. 즉, 가능성의 문제이므로 우리가 어떤 통계를 바라볼때처럼 무조건 그렇다는 것이 아니라, 지속적으로 해당 방법으로 선택했을때의 차이값에 대한 부분입니다. 

위의 예시에 대입해 보면, 주어진 카드가 4이므로 정보가 공개되지 않은 카드를 뒤집었을때는 (장기적으로 이러한 결정을 누적했을때) 1점만큼 유리할 것 같다 정도로 갈음할 수 있습니다.

이렇게 보면, 이미 공개된 6짜리와 교체하면 2점만큼 확정적으로 유리해지는데, 우리는 무엇을 고민하는것일까요? 약간의 애매함은 바로 “카드 정보 공개”에 대한 우리의 유리함이 몇점으로 환산될지 모르겠다는 것이겠지요.

  1. 정보 공개를 계량한다면?  간단한 목적함수 (점수합산)으로 생각해보기

이제 일종의 “정상 상태”를 가정해봅시다. 우리의 모델링 목표는 극단적인 형태의 정교함을 추구하지 않습니다. 오히려 아주 간단한 생각으로 “대략적으로 맞는” 값을 추정하고자 합니다. 그런 측면에서, 우리가 어떠한 이유던지 카드 한장의 정보를 공개한다는것에 대해서 이게 우리에게 어떤 영향을 줄 것인가에 대한 생각의 가이드라인을 맞추기 위해서는, 큰 경우를 분리할 필요가 있습니다. 예로들어 “초-중반”처럼 공개하지 않은 카드가 더 많은 경우, 그리고 지금 특별히 위아래 3카드를 같이 만들어서 한 열을 wipe-out시키는 규칙과 별 관련이 없을때 등등이겠지요. 이를 지금 우리 계산의 기본 상태라 봅시다.

그러면, 이제 “유리함”이라는 애매모호한 언어를 어떻게 계량할까의 문제로 넘어갑니다.  이러한 느낌적인 단어를 번역할때는, 그것이 우리의 목적을 대표할수 있으면서도, 그 계량이 매우 간단해서 깔끔하게 추정할 수 있는 방법을 써야 한다고 봅니다. 일종의 목적함수인데요, 이 게임에서는 점수를 낮추는게 목적이므로, 점수를 목적함수라 생각합시다. 그러면 이제 “정보 공개가 얼마나 나의 게임을 유리하게 해 주는가”라는 언어를 통계적으로 얼마나 “점수를 낮출수 있는가”라는 언어로 해석할 것입니다. 

저는 개인적으로 여기까지가 모델의 핵심이라 보거든요. 지금 우리가 매우 다양한 목적에 맞는 복잡한 수행을 하는것을 찾는것도 아니고요. 덧붙여서, 위에서 이야기한 밥상에 앉아서 이야기하면서 하는 모델링 정도 수준에서는, 조금 전문적으로 이야기하자면 복잡계 복잡계 (complex system)에 해당하는 정량적인 모델링을 독립적인 선형 시스템으로 재구성한것이거든요. 그래서 실제로, 정말 숙련된 사람들이 감각적 (혹은 계량적)으로 사용하는 실제 모델에 비하면 매우 매우 간략화된 것입니다만, 반대로 몇 판 해보지 않은 사람들이 무엇이 “평균적으로 유리한가”라는 생각을 하기에는 충분히 유리한 그 정도 수준의 모델입니다.

그렇기에, 이후 모델링은 이제 단순한 몇가지 경우에 대한 기대값 계산으로 넘어가게 됩니다. 우리가 게임을 진행하면 위 4짜리 예시처럼, (A) 덱에서 카드를 뒤집어 숫자를 본 다음에 선택을 합니다. 결국 우리는 항상 (A)에서 주어진 숫자를 가지고 분석을 할 수 있거든요. 그렇다면 만약 우리가 (B) 내 앞에 놓여진 정보가 공개되지 않은 카드를 공개한다 라는것에 대한 기대 가치 점수가 몇점인가를 안다면, 우리가 위에 언급된 (1),(2),(3)번의 선택중에 무엇을 할 것인가에 대한 기대값이 나옵니다. 

결론부터 이야기하자면요, 식사중 10-15분동안 만든 간단한 모델에서는 현재 정상상태에서는 (B) 정보 공개행위에 대한 유리함의 정도는 -2점 정도로 해석됩니다. 바꿔서 이야기하자면, 처음 예시처럼 4가 나온 상황 (그리고 내 공개된 카드중 가장 큰 숫자가 6인경우)에서의 유리함의 정도는  (1) 버리고 내 앞에 놓여진 카드 하나의 정보를 공개하는것은 사실상 -2점정도이고요, (2) 내 공개된 카드중 6과 바꾸는 경우는 결정적으로 -2점이고요, (3) 내 공개되지 않은 카드중 하나와 바꾸는 경우에는 (지속 수행시) 만약 기존의 정보 공개와 새로운 카드로 정보가 공개된다는 차이점을 구분하지 않고, 단순한 정보기반으로만 생각한다면, -3점을 예측할 수 있다는 점입니다. 이는 두 가지 계산이 합친 부분인데, 하나는 중간값=평균값으로 본 간단한 계산에서 지속적으로 같은 행위일때 4를 미공개 카드로 바꾸는 행위는 (독립시행시) -1점의 유리함을 가지는 것과, 여기에 정보가 공개됨으로 인한 -2점의 유리함의 단순 합산으로 계산한 것입니다.

여기서 중요한것이 (3)은 그것이 옳다는것을 보장하지 않습니다. 첫번째는 결국 온갖 가정을 붙여서 대표적으로 구성한것인 문제이공, 두번째는 대부분의 확률/통계에서 이야기하듯이 시행횟수가 낮은 경우에는 실현값이 기대에서 크게 벗어날 수 있기 때문이지요. 이는 실제로 여러판을 해서 게임이 끝나는 점수를 100점이 아니라 1000점으로 올린다면 이야기가 달라질 수 있을거라 생각합니다.

글의 주요한 내용은 여기가 마무리입니다만, 아래 부록은 정보 공개의 -2점의 유리함 계산을 어떻게 “거칠지만 간단하고 쉽게” 계산했는지를 이야기합니다.

부록 1: 정보공개의 유리함에 대한 대략적인 계산 (2점 조금 넘음)

일단 기본 가정은 위의 정상상태, 카드장수 같음, 독립시행이 들어가겠지요. 그런데 정보 공개의 유리함을 계량할때는 “게임 메커니즘과 결합”해서 생각해야 합니다. 우리가 정보 공개를 함으로 인해서, 우리가 볼 수 있는 혜택을 아주 간단하게 근사된 통계로 계산하는게 목적이거든요.

식탁 위 생각으로는, 정보 공개가 우리에게 유리함을 주는것은 결국 그 카드 숫자를 볼 수 있음으로 인하여 우리가 결정적으로 선택할 수 있다는 것을 보장함으로 보았습니다. 이러한 관점으로 보면, 정보 공개의 유리함은, 우리가 교체할때의 평균적인 점수 차이로 해석 할 수 있거든요. 사실 이렇기에 정상상태가 중요한데, 남은 차례가 몇 없거나 다른 조건이 결합되면 정보공개로 인해 발생되는 유리함의 정도가 완전히 달라지게 됩니다.

여기에 대해서는 식탁에서 간략하게 계산한 경우와 조금더 현실적인 값들이 다른데요, 식탁에서는 시행횟수(정보가 공개된 카드숫자)에 따른 교환가치를 고려하지 않고 단순히 주어진 x숫자를 또 다른 y숫자로 교환할때 가치를 보았고요, 이 때 교환의 유리함을 계산할때 |x-y|값에 대한 기대값을 계산하는데, y<x일때만 교환할테니 거기에 1/2를 나누게 되면 대략적으로 “(최대값 – 최소값)/6~2.3” 정도가 나옵니다. 이를 바탕으로 정보공개의 유리함을 2점 정도 (즉 -2점효과)정도로 기대한것이고요.

부록 2: 정보공개의 유리함은, 공개된 카드 장수 혹은 최대 카드점수에 의존

사실 식탁에서 사용한 모델은 그 생각이 너무 간단하고 정보공개의 이점을 너무 과다 산정했습니다. 실제로 제대로 재구성하는 경우에는  실제로 정보가 공개된 카드숫자에 의존하는 형태가 되거든요. 이 경우에는 실제 구성은 x-max(y)에 대한 기대값을 계산해야 합니다. 그런데 여기에 대해서 공개된 카드 장수에 따른 기대값은 달라집니다. 덧붙여서, 실제로 시행횟수가 적은 통계의 특성상, 강한 경로의존성을 보입니다. 그래서 현재의 정보인 max(y)값을 이용하면, 현재 공개된 카드의 최대 카드점수에 따라서 그 유리함의 정도가 달라지게 됩니다. 여기에 대해서는 새로운 글타래를 열어서 조금 더 자세한 경우를 비교해보도록 하겠습니다. 


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *