Combinatorics? Probability? Just call RON.
마작에서 화료를 선언하는 그 외침 — "론(ron)!". 그런데 마작을 깊이 파면, 그 한 판이 통째로 조합론·확률론 위에 서 있다는 걸 알게 됩니다. 손패가 몇 가지인지 세는 일(조합), 벽 너머의 패를 읽는 일 (확률), 텐파이까지 몇 걸음인지 재는 일(알고리즘), 그리고 사람을 넘어선 AI까지. 실제 마작패로 직접 만지면서, 마작 속에 숨은 "온갖 론"을 꺼내 봅시다.
일본 마작(리치) 기준으로 패는 34종 × 4장 = 136장입니다. 수패 세 종류(만수 m·통수 p·삭수 s) 각 1~9, 그리고 글자패 7종(동·남·서·북·백·발·중)이죠. 손에 13장을 들고, 한 장을 가져와 14장으로 화료형을 만들면 이깁니다. 화료형은 거의 항상
아래가 34종 전부입니다(타일은 직접 그렸어요). 이 작은 그림들을 어떻게 4멘쯔+1또이쯔로 묶을 수 있느냐 — 그게 이 글 내내 따라다니는 질문이에요.
그럼 손패는 도대체 몇 가지나 될까요? 13장을 뽑는 경우의 수만 해도 \(\binom{136}{13}\approx 5.9\times10^{17}\), 약 59비트입니다. 더 흥미로운 건 "그중 화료형은 몇 개냐"인데, 여기엔 "같은 패는 최대 4장"이라는 제약이 걸려 단순 이항계수로 안 풀려요 — 생성함수와 점화식(조합론 형!)으로 세야 합니다.
이 셈이 가장 깨끗하게 드러나는 무대가 바로 청일색(清一色) — 한 가지 수트로만 이뤄진 손패입니다. 수트가 하나뿐이라 9종(1~9)만 다루면 되거든요. 알려진 결과로, 한 수트 14장으로 만들 수 있는 손패 중 화료형은 정확히 13,259가지입니다. 청일색은 그래서 "마작 조합론의 실험실"이에요.
실전에서 가장 먼저 따지는 수치가 샨텐(향청) 수입니다 — "텐파이까지 몇 장을 갈아야 하나". 텐파이는 0샨텐, 화료는 −1이죠. 그리고 우케이레(받아들임)는 "지금 어떤 패를 가져오면 샨텐이 줄어드나, 그게 몇 종 몇 장이나 되나"입니다. 이 둘을 빠르게 계산하는 게 패효율의 핵심이고, 본질은 손패를 멘쯔·부분멘쯔로 쪼개는 탐색/동적계획 문제예요.
아래 계산기는 진짜로 샨텐·우케이레를 계산합니다(표준형·치또이쯔·국사무쌍 모두 고려). 손에서 패를 빼고, 아래 패함에서 더하며 직접 만져 보세요.
우케이레가 \(k\)종·여러 장이라 해도, 그게 제때 들어올지는 확률 문제입니다. 2004년 とつげき東北의 『과학하는 마작』이 바로 이 지점을 뒤집었어요 — "흐름"이나 "운" 같은 모호한 말을 걷어내고, 모든 판단을 확률·기댓값으로 환원해 버린 거죠. 이후 마작 전략은 천봉(天鳳) 같은 사이트의 대량 기보 통계와 떼어놓을 수 없게 됐습니다.
가장 기본은 이것 — 보이지 않는 패 \(R\)장 중 유효패가 \(k\)장 있을 때, 앞으로 \(t\)번 쯔모(자기 차례에 한 장씩 가져오기) 안에 적어도 한 장 잡을 확률은 (초기하분포)
$$ P = 1 - \frac{\binom{R-k}{t}}{\binom{R}{t}} = 1-\prod_{j=0}^{t-1}\frac{R-k-j}{R-j}. $$청일색(2장)의 다면대기를 끝까지 밀면 전설의 역만 구련보등(九蓮宝燈)이 나옵니다. 한 수트로 1·1·1·2·3·4·5·6·7·8·9·9·9를 모으면 — 같은 수트의 1부터 9까지 어떤 패로도 화료합니다. 즉 9면 대기! 이것이 텐파이 한 손이 기다릴 수 있는 패 종류의 이론적 최댓값이고, 이 9면을 온전히 갖춘 모양을 특히 순정 구련보등(純正九蓮宝燈)이라 부릅니다. (8면 대기로 떨어지는 수는 16가지나 됨이 알려져 있어요.)
마작엔 보너스 패 도라가 있습니다. 표시패(도라 인디케이터)의 "다음 패"가 도라가 되고, 손에 그 패가 있으면 장수만큼 점수에 더해지죠. 그럼 한 번 이길 때 도라가 최대 몇 개까지 붙을 수 있을까요? 이것도 알고 보면 깔끔한 조합 문제예요.
표시패는 보통 1장이지만, 깡(칸)을 할 때마다 새 표시패가 한 장씩 더 열립니다(깡도라). 게다가 리치로 화료하면 각 표시패의 뒷면(우라도라)까지 봅니다. 한 판에 깡은 최대 4번이니:
한편 손패는 4깡 + 머리 = \(4\times4+2=18\)장. 표시패가 같은 종류로 겹치면 도라도 중복으로 쌓입니다. 도라 개수를 세는 방법은 두 가지로 볼 수 있는데 — "손패 한 장마다, 그 패를 가리키는 표시패가 몇 장?"의 총합이자, 뒤집으면 "표시패 한 장마다, 그 표시패가 가리키는 종류를 손에 몇 장 가졌나?"의 총합입니다. 그런데 한 종류는 손에 많아야 4장. 그러니
그리고 이 40은 실제로 달성됩니다 — 죽은 패(왕패)가 알맞게 배치돼, 표시패 10장이 전부 "손에 4장씩 들고 있는 종류"를 가리키면 되죠. 여기에 적도라(붉은 5)를 쓰는 룰이면 가진 만큼 더 붙어 41·42…로 올라갑니다. 마작 점수의 천장을 떠받치는 게 결국 "표시패 10장 × 한 종류 4장 = 40"이라는, 어이없을 만큼 단순한 곱셈이라는 거죠. (현실의 한 판에서 도라가 이만큼 나오는 일은 사실상 없지만 — "이론상 한계"를 묻는 건 늘 즐겁습니다.)
체스·바둑이 완전정보 게임이라면, 마작은 불완전정보(상대 손패·남은 벽이 가려져 있음)에 4인, 게다가 분산이 크고 점수 규칙이 복잡해 — AI에게는 포커보다도 까다로운 무대입니다. 그런데 2020년 마이크로소프트의 Suphx가 벽을 넘었어요.
그 결과 Suphx는 천봉에서 10단·상위 99.99%에 올라, 대부분의 톱 인간을 처음으로 넘어선 마작 프로그램이 됐습니다. 지금은 오픈소스 Mortal, NAGA 같은 강력한 리치 AI가 실전 검토 도구로 쓰이고, 포커에서 온 CFR(반사실적 후회 최소화)를 마작에 적용한 연구도 이어지고 있어요.
지금까지가 4인 마작이었다면, 혼자 타일을 짝지어 없애는 마작 솔리테어(상하이)는 전혀 다른 게임이지만 — 여기서도 수학이 한마디 합니다. 규칙은 단순해요: "자유로운(좌우 중 한쪽이 트여 있고 위에 덮인 패가 없는) 같은 패 둘"을 짝지어 없애고, 이걸 되풀이해 전부 치우면 성공입니다. 함정은 — 똑같은 패가 둘 보여도 둘 다 자유로울 때만 없앨 수 있다는 것. 그래서 없애는 순서를 잘못 잡으면, 짝은 남았는데 서로 막혀 더는 못 치우는 막힘(stuck)에 빠집니다. "어느 짝부터 풀어야 끝까지 다 치울 수 있나"를 가려내는 게 바로 아래의 어려운 문제예요.
손패를 세면 조합론, 벽 너머를 읽으면 확률론, 텐파이까지를 재면 알고리즘, 솔리테어를 풀면 복잡도 이론, 사람을 넘으면 강화학습. 마작 한 판은 이렇게 온갖 "−론"으로 가득 차 있습니다. 그러니 다음에 "론!" 하고 패를 쓰러뜨릴 때, 그건 화료 선언인 동시에 — 조합론·확률론을 한꺼번에 부르는 외침인 셈이죠. 조합론? 확률론? 그냥, 론!