보드게임 하나비(Hanabi)와 기본 전략, 그리고 인공지능에 필요한 암시적 커뮤니케이션

2019. 5. 17. 23:35IT, 데이터/IT 이슈

728x90

 

예전에 하나비(Hanabi)라는 보드(카드)게임을 한 번 해본 적이 있었습니다. 협동게임인데 룰이 간결하면서도 의사소통이 제한되어 있어 아 이렇게 서로의 생각을 읽지 못하는구나를 뼈저리게 느끼게 만드는 좌절감을 안겨주는 게임이였죠. 그래서 딱 한 판 해보았을 뿐인데도 기억에 잘 남는 게임이였습니다.

 

그러던 중에, 올해 2월에 구글 딥마인드 연구진 등에서 바로 이 하나비 인공지능을 테스트한 것을 주제로 논문을 발표해서 관심있어서 찾아보았는데, 인공지능과 관련된 실험 내용 외에도

 

하나비라는 게임에 대해 익숙하지 않은 사람들을 위해 대략적인 게임 룰과 그 안에서 일어나는 커뮤니케이션 특징을 바탕으로 실제 사람들이 어떻게 효율적으로 전략을 세우고 커뮤니케이션하는지에 대해 친절하게 소개되어 있었습니다.

 

그래서 하나비 게임에 대한 기본적인 룰과, 하나비가 어떠한 특별한 점이 있는지

암시적 커뮤니케이션을 이용한 하나비 플레이 전략을 소개하고,

그러한 암시적 커뮤니케이션이 인간의 복잡한 커뮤니케이션과 추론을 가능하게 하는 요소이며

이것이 인간의 더 닮은 인공지능을 만들기 위한 요소 중 하나임을 또한 소개하고자 합니다.

 


본 글은 Artificial Intelligence 저널에 2019년 2월 4일 게재된, ‘The Hanabi Challenge: A New Frontier for AI Research’(저자:Nolan Bard, Jakob N. Foerster 등)의 본문내용을 바탕으로 작성하였습니다.


 

 

1. Hanabi 게임 소개

 

 

 

Hanabi(하나비)는 일본어로 불꽃, 또는 불꽃놀이를 뜻하는 단어로 다양한 형태의 불꽃놀이를 성공적으로 쏘아올린다는 테마의 카드게임입니다. 제목이나 컨셉에서 진한 일본의 향이 배어나오지만 일본 게임은 아니고, 프랑스 게임 디자이너인 ‘Antoine Bauza’가 개발하여 2010년에 발매된 게임입니다.

 

룰도 간단하고 게임 시간도 30분 이내로 빨리 끝나서 누구나 쉽게 할 수 있으면서도, 대결하는 게임이 아닌 협력하는 게임이라는 신선함이 있고요, 대신 어느 정도의 기억력과 두뇌회전, 그리고 고도의 눈치가 필요해서 간단하지만은 않은 게임이기도 합니다.

 

경제학에서 죄수의 딜레마라고 상호간 의사소통이 차단되었을 때 사람이 어떻게 거시적으로 보았을 때 비효율적인 판단을 하는지를 보여주는 사례가 있듯이, 하나비도 의사소통이 아예 차단되지는 않지만 굉장히 정형적인 방법으로 제한된 정보만 줄 수 있는 것이 이 게임의 핵심 룰 중 하나입니다. 따라서 협력게임임에도 협력이 잘 안되는 느낌을 주는 것이 이 게임의 난이도를 높이는 주된 요인이면서도, 그 어려운 과정을 극복하고 서로의 생각을 잘 읽어서 성공적으로 게임을 완수했을 때 커다란 쾌감을 느낄 수 있는 것이 이 게임이 높은 평가를 받는 이유라고도 볼 수 있겠네요.

 

그러한 독특한 점에 힘입어 2013년 권위있는 보드게임 상인 Spiel des Jahres상을 받기도 했습니다.

 

 

2. Hanabi 구성 및 세팅

하나비는 총 50장의 카드8개의 정보토큰, 3개의 폭풍(생명)토큰 내용물이 담겨있으며, 카드는 다섯가지 색상 10장씩 구성되어 있습니다. 또한 각 카드는 1에서부터 5까지 숫자가 표시되어 있는데. 각 색상별 카드 10장 중에 숫자 1은 3장, 2,3,4는 각 2장, 5는 1장으로 구성되어 있습니다. (그 밖에 난이도 조절을 위한 구성물로 여분의 토큰 및 또 한가지 색상의 카드 10장도 추가적으로 있습니다.)

 

각 플레이어는 이 카드더미에서 4장씩을 갖고(2-3인 플레이 시 5장) 나머지 카드는 덱으로 앞면이 안보이게 쌓아놓습니다.

 

 

 

 

 

3. 게임목표 및 플레이 방법

 

이 게임의 목표는 각 플레이어가 공용공간에 카드를 다섯 가지 각 색상별로 1에서부터 5까지의 순서대로 내려놓아 스택을 완성시키는 것입니다. 5x5=25장의 카드를 모두 올바르게 내려놓으면 최고 점수를 달성하게 됩니다.

 

, 아래 왼쪽 사진과 같이 모든 플레이어가 각 색상별 카드를 1부터 2,3,4,5 순서대로 카드를 협력하여 쌓아가게 되고, 오른쪽 사진과 같이 모든 색상의 카드가 1-5까지 25장을 쌓게되면 완벽하게 클리어하게 되는 것입니다. 점수 계산은 깔린 카드 장 수를 세면 됩니다. 완벽하게 클리어한 경우 5+5+5+5+5=25점으로 최대점수를 기록하고, 왼쪽과 같이 중간에 다 완성을 못시킨 경우 4+2+1+3+2=12점을 기록하게 됩니다.

 

 

 

하나비의 특별한 점은 플레이어가 손에 든 카드는 뒷면을 자신을 향하게 하고 앞면을 다른 플레이어가 볼 수 있게 들어야 한다는 점입니다. , 본인이 든 카드가 무엇인지 모르는 상태에서 힌트들을 통해 정확하게 파악하거나 또는 유추하여 사용해야 합니다.

 

본인이 든 카드가 무엇인지 알 수 있는 방법은 다른 플레이어가 주는 힌트입니다. 하지만 이 힌트는 정해진 방식으로만 줄 수 있고, 또 무제한으로 줄 수 없기 때문에 각 플레이어들이 효율적으로 행동하고 힌트를 줘야 게임을 완벽하게 클리어할 수 있습니다.

 

먼저 임의로 시작플레이어를 정하고 각 플레이어가 시계방향으로 돌아가면서 아래와 같은 세 가지 행동 중 하나를 선택해서 하게됩니다. 여기에는 힌트를 주는 것도 행동의 하나로 포함되어 있습니다.

 

 1) 힌트 하나 주기

힌트를 주기 위해서는 힌트 토큰 하나를 사용했다는 의미로 검은색 면으로 뒤집습니다. 만약 모든 토큰이 검은색이라면 힌트 주기 행동을 할 수 없습니다.

 

힌트를 줄 때는 다른 플레이어 하나를 지목하여 그 플레이어가 들고 있는 모든 카드 중에 한가지 색깔 또는 한 가지 숫자에 대해 알려주게 됩니다. 색깔은 없다는 것을 알려줄 수 없지만 숫자는 없다는 것을 알려줄 수 있습니다.

 


너는 첫 번째 카드와 세 번째 카드에 노랑색 카드를 가지고 있어.” (색깔 힌트)

너는 이 카드가 숫자 5.” (숫자 힌트)

너는 숫자 2가 하나도 없어.” (숫자 힌트, 특정 숫자가 없음을 알림)

너는 파란색 카드가 하나도 없어.” (X) (색깔 힌트, 특정 색깔이 없음을 알림 불가)


 2) 카드 1장 버리기

본인이 들고 있는 카드를 한 장 버리면 검은면으로 뒤집어 놓은 힌트토큰을 다시 흰색 면으로 복구시킬 수 있습니다. 만약 검은면의 힌트 토큰이 하나도 없으면 이 행동을 선택할 수 없습니다. 버리는 카드는 덱 옆에 별도로 버린 카드 더미에 모아놓고, 덱에서 새로 한 장 뽑아 마찬가지로 뒷면을 보이게 하여 손으로 가져옵니다.

 

 3) 카드 1장 사용

본인이 가진 카드 중 1장을 테이블 중앙(공용공간)에 앞면이 보이게 놓습니다.

 

    (1) 정확한 카드를 낸 경우

공용공간에 기존에 없었던 색상의 숫자 1 카드를 새롭게 낸 경우, 또는 기존에 쌓여있던 카드와 이어지게 낸 경우(동일한 색상의 카드 더미 가장 높은 숫자보다 1 높은 카드를 냈을 때), 낸 카드를 공용공간위에 올려놓습니다.

 

    (2) 카드를 정확하게 내지 않은 경우

(1)의 사례에 해당하지 않은 경우 정확하게 내지 않은 것으로 취급되어, 낸 카드는 버리는 카드 더미에 놓고, 폭풍(생명)토큰을 하나 뒤집습니다.

 

카드를 낸 이후에는 새로운 카드 1장을 덱에서 뽑아서 손에 추가합니다.

 

이 단계에서 한 색상의 카드를 1에서 5까지 모두 쌓았다면, 검은색으로 뒤집어 놓은 힌트토큰을 다시 흰면이 보이게 복구합니다.

 

 

게임 종료.

 

다음의 3가지 경우에 해당하면 게임이 종료됩니다.

 

 1) 폭풍(생명)토큰 3개가 다 뒤집어진 경우

즉시 게임이 끝나고 0점으로 게임을 종료합니다.

 

 2) 모든 색상의 카드 5장씩 25장을 완전히 쌓은 경우

즉시 게임이 끝나고 최대점수 25점을 얻습니다.

 

 3) 한 플레이어가 덱의 마지막 카드를 뽑은 경우

각 플레이어는 마지막 턴을 한 번씩 가진 후(마지막 카드를 뽑은 플레이어가 가장 마지막 차례로 플레이한 후) 게임을 종료하고, 점수를 계산합니다.(최소 0, 최대 25) (마지막 턴 플레이 중 종료조건 1,2가 만족되면 즉시 종료)

 

기타 사항

 

하나비에서 의사소통은 힌트를 줄 때 말고는 항상 침묵을 지켜야 합니다. 힌트를 주는 사람 이외 다른 플레이어 간 의사소통은 금지되어 있습니다.

 

 

4. 기본 전략

 

하나비를 했던 경험에 비추어보면, 다른사람이 준 힌트를 잘 기억하는 건 둘째치고 일단 힌트의 절대적인 개수가 매우 부족합니다. 게임 초반에 숫자 1인 카드를 내려놓는 것도 다른 사람과 중복된 카드일까봐 과감하게 내려놓기 어려웠구요. 그래서 서로서로 계속 힌트를 주다보면 두 바퀴만 돌아가도 정보토큰 8개가 금방 사라집니다. 그래서 효과적으로 힌트를 주는 것이 무엇보다 중요합니다. 이를 위해 기본적인 몇 가지 원칙을 제시해볼 수 있겠습니다.

 

 

1) 한 번에 더 많은 카드에 대한 정보를 담고 있는 힌트를 준다.

 

2. 지금 시점에서 바로 내려놓을 수 있는 카드에 대해 힌트를 준다. 특히 숫자 1 카드가 이에 해당된다.

 

 

 

이 두 가지 원칙은 때때로 상충되는 경우가 있기 때문에 상황에 따라 적절한 선택을 하는 것이 중요합니다. 예를 들어 위 그림에서 다른 플레이어에게 빨간색 카드가 3장 있음을 말하는 것은 숫자1 카드가 하나 있음을 말하는 것 보다 더 많은 정보를 제공하지만, 낮은 숫자 카드는 즉시 플레이할 수 있기 때문에 게임 초반에는 더 큰 가치가 있을 수 있습니다. 따라서 일반적으로 플레이어에게 어떤 카드가 1인지 힌트를 주는 것으로 시작되며, 그 이후에 어떤 카드가 플레이 가능한지 알려주는 것으로 진행됩니다. 이렇게 진행되면서 더 이상 숫자1 카드가 필요가 없어진 경우에는 그 카드를 버려서 정보 토큰을 복구하는 데 쓸 수도 있습니다.

 

 

3) 더 이상 버려서는 안될 카드는 버리지 않도록 유도하는 힌트를 준다.

 

한 색깔에서 동일한 숫자 카드 장 수는 1~3장으로 제한되어 있기 때문에, 만약 똑같은 카드가 다 버려지면 더 이상 해당 색깔의 카드를 내려놓을 수 없게 됩니다. 만약 초록색 2카드가 두 장 버려지면, 앞으로 초록색 3,4,5 카드는 모두 플레이할 수 없게 됩니다. 특히 숫자 5 카드는 단 한 장만 존재하기 때문에 한 장이라도 버려지게 해서는 안됩니다. 예를 들어 숫자 5카드를 들고 있는 플레이어에게 다른 플레이어가 어떤 카드가 숫자5인지 힌트를 준다면 해당 플레이어는 절대 이 카드는 버리지 않겠죠.

 

 

4) 더 이상 불필요한 카드는 버리도록 유도하는 힌트를 준다.

 

초기에 들고 있는 모든 카드가 나중에까지 다 쓸모가 있지는 않습니다. 만약 각 플레이어 중에 동일한 카드가 2장 이상인 경우, 그 중 하나를 내려놓으면 다른 한 장은 필요가 없어집니다. 따라서 필요없는 카드를 버리고 앞으로 필요할 수 있는 카드를 보충하기 위한 힌트도 필요합니다.

 

 

 

5. 암시적 커뮤니케이션을 활용한 응용 전략

 

지금까지 위 항목에서 말씀드린 전략은 하나비의 룰에만 충실히 따라가기 위한 기본적인 요령에 불과합니다. 한 플레이어에게 한 가지 색깔과 숫자를 찍어서 알려주는 하나비의 룰은 한번에 전달할 수 있는 정보량이 상당히 제한되어 있기 때문에, 힌트를 주는 플레이어는 명시적으로 주는 정보 외에 문맥적, 상황적 정보를 같이 담을 수 있는 힌트를 주어야 하고, 힌트를 받는 플레이어는 그러한 숨겨진 의도를 잘 캐치하는 눈치가 필요한 것이 하나비의 핵심 플레이 비법이라고 할 수 있습니다. 이렇게 송신자는 명시적으로 제공하는 힌트에 숨겨진 의도와 정보를 함께 담아서 전달하고, 수신자는 숨겨진 정보를 이해하고 플레이하는 것을 ‘암시적 커뮤니케이션(implicit communication)‘이라고 합니다.

 

다음의 예시상황을 통해 암시적 커뮤니케이션의 예를 살펴보겠습니다.

 

<그림 출처 : The Hanabi Challenge: A New Frontier for AI Research, Nolan Bard 등, Artificial Intelligence(2019.2.4.)>

 

현재 카드가 초록 1(G1), 하양 1(W1), 노랑 1(Y1), 노랑 2(Y2), 이렇게 네 장만 플레이된 상황입니다. 이제 플레이어(P0)는 플레이어(P1)에게 힌트를 주고자 합니다. 아직 빨간색과 파란색은 아무 카드가 깔리지 않은 상황입니다. 여기서 P1에게 두 번째, 네 번째 카드가 숫자 1이라고 얘기해주는 것은 위험부담이 있습니다. 왜냐하면 두 번째 카드는 이미 깔린 카드이기 때문입니다. 따라서 이 힌트만 듣고 P1이 카드를 내려놓기에는 절반의 확률로 실패할 위험성이 있습니다

 

 

 

따라서 P0은 다른 방법으로 힌트를 줘서 네 번째 카드를 안전하게 플레이하도록 힌트를 줍니다. 그 방법은 무엇일까요?

 

바로 네 번째 카드가 빨간색이라고 알려주기만 하면 됩니다. 비록 빨간색이라고 알려주는 것이 그 카드가 빨간색 숫자 1 카드임을 명시적으로 드러내는 것은 아니지만, 현재 게임이 돌아가는 상황에서 뜬금없이 빨간색 카드가 있다는 것을 알려주는 것은 그 카드가 곧 플레이할 수 있는 카드, 빨간색 숫자 1인 카드임을 암시적으로 알려주는 신호라고 할 수 있습니다.

 

 

<위 상황에서의 암시적 커뮤니케이션 전달과정>

 

 


 

다음 사례는 힌트를 주는 사람과 받는 사람간 11 암시적 커뮤니케이션의 예라고 볼 수 있고, 다음의 사례는 힌트를 받은 사람이 아닌, 다른 플레이어의 행동까지 유도하도록 합니다.

 

 

만약 동일한 상황에서 플레이어(P0)이 플레이어(P2)에게 숫자 2를 가지고 있다고 말하면 어떻게 될까요? 앞서 언급한 동일한 사고회로가 작동한다면 플레이어(P2)는 본인이 가지고 있는 숫자 2 카드가 지금 플레이 가능한 W2 카드라고 생각할 수 있습니다.(G2는 모두 버려졌기 때문에 고려대상에서 제외되겠죠.) 하지만 실제로 들고 있는 카드는 플레이 할 수 없는 R2 카드입니다. 이런 힌트는 왜 준 걸까요?

 

 

 

그것은 바로 P2 차례 직전에 플레이하는 P1이 R1을 갖고 있음을 인식하도록 간접적으로 전달하려는 행동으로 볼 수 있습니다. 만약 P1이 본인이 가지고 있는 카드 중에 단 하나가 빨간색(R), 또는 숫자 1이라는 정보를 가지고 있거나, 한 장 빼고 모든 카드가 빨간색(R)이 아니거나 숫자 1이 아닌 것을 알고 있다면, 어떤 카드가 R1인지 알 수 있게 되겠죠. 이렇게 하나비를 성공적으로 플레이하기 위해서, 사람들은 힌트를 받는 사람 뿐만 아니라 다른 플레이어의 상황까지 모두 종합적으로 고려해서 여러 사람에게 암시적으로 정보를 줄 수 있습니다.

 

 

 

<위 상황에서의 3인의 암시적 커뮤니케이션 전달과정>

 

이 정도까지 앞서나가는 전략은 다른 플레이어가 그 힌트에 숨겨진 의도를 제대로 읽지 못하면 게임을 오히려 망칠 수 있기 때문에 다소 위험성이 있지만, 성공만 한다면 한 번의 정보토큰 사용으로 2-3개를 사용한 것과 동일한 효과를 낼 수 있기 때문에, 서로간의 생각을 잘 읽어낼 수 있다면 게임을 성공적으로 풀어나가는데 큰 도움이 됩니다.

 

 



 

6. 마음이론, 암시적 커뮤니케이션의 필요조건

 

위와 같이 하나비의 고급 전략들은 다른 플레이어가 직접 전달하는 내용 이외에도 그 속에 담긴 또 다른 뜻을 추론하고, 반대로 한 플레이어가 정보를 전달할 때 상대방이 그 말의 표면적인 내용 뿐만 아니라 숨겨진 뜻도 알아낼 수 있으리라 예상하고 속뜻까지 같이 실어서 전달하는 것과 같이 표면으로 드러나지 않은 다른 사람의 생각, 의도 등을 파악하는 것이 중요합니다.

 

이렇게 다른 사람의 관점, 의도, 믿음을 파악하는 기능이 있다는 것을 심리학에서는 마음 이론(Theory of Mind, ToM)이라고 부릅니다. 마음 이론은 고도의 정신집중이 필요한 상황 뿐만 아니라 다양한 일상생활에서도 수시로 일어나는, 인간이라면 누구나 활용할 수 있는 쉬운 기능입니다. 예를 들어 사람이 어느정도 다니는 길에서 운전하는 중에 앞의 차량이 가다가 갑자기 정지했다면, 그 차 앞에 무엇이 있는지 보이지 않더라도 어린이 등 다른 사람이 그 앞을 지나가고 있기 때문에, 차를 세웠음을 어렵지 않게 짐작할 수 있습니다.

 

 

 

이러한 마음 이론은 일반적인 사람들은 누구나 다 갖고 있으나, 아스퍼거 증후군 등 정신질환, 지적장애 등을 가지고 있는 사람은 이 기능 부족하거나 결여되어있다고 합니다. 그렇기 때문에 이들은 다른 사람들의 생각에 공감을 하지 못하고 지극히 자기중심적으로 사고하는 증상이 나타난다고 합니다.

 

이와 같이 마음 이론은 충분한 정서능력을 가진 인간 등의 생명체에게 적용되는 특징이며, 인공지능이 마음 이론과 같은 기능을 할 수 있을 때 더 인간과 비슷한 사고수준을 갖고 있다고 할 수 있습니다.

 

구글 딥마인드에서는 기계학습 기반의 인공지능이 마음 이론이 필요한 게임에서 어느 정도의 성능을 가지고 있는지 바로 이 하나비 게임을 통해 테스트하였고, 훨씬 더 경우의 수가 많고 복잡한 바둑을 가뿐히 정복한 모습과 다르게, 마음 이론이 필요한 하나비에서는 기계학습 기반의 인공지능이 전통적인 규칙기반 인공지능에 비해 훨씬 못미친다는 큰 취약점이 있음을 보여주고 있습니다.

 

따라서 인공지능이 지금보다 한 단계 더 발전하여 인간과 더 비슷한 수준으로 사고하기 위해서는 마음 이론을 가진, 또는 그러한 기능을 모사할 수 있는 기술의 개발이 필요함을 말하고 있습니다.

 

 

다음 글에서는 이 하나비를 가지고 전통적인 규칙기반 인공지능과 최신 기계학습기반 인공지능이 게임 플레이를 테스트하여, 현재 인공지능이 어느 정도 수준인지 연구한 이 논문의 내용을 좀 더 살펴보도록 하겠습니다.

 

 

 

 

 

글 읽어 주셔서 감사합니다~

마음에 드셨으면 아래 공감버튼(♥) 눌러주시면 큰 힘이 됩니다