틱택토 규칙과 공략
틱택토는 양쪽이 정확히 두면 반드시 무승부로 끝납니다. 미니므 AI는 3×3 판을 끝까지 완전 탐색합니다. 그러면 어떻게 이기느냐 — 이 글의 주제가 그것입니다.
어떤 게임인가
3×3 격자에 O와 X를 번갈아 놓아, 가로·세로·대각선 중 한 줄을 먼저 채우면 이깁니다. 승리 가능한 줄은 가로 세 개, 세로 세 개, 대각선 두 개로 모두 여덟 개입니다. 아홉 칸이 전부 차면 무승부입니다.
이 게임은 오래전에 수학적으로 완전히 풀린 게임입니다. 양쪽이 최선을 다하면 결과는 언제나 무승부입니다. 그래서 어른들 사이에서는 심심풀이로 여겨지지만, 미니므에서는 사정이 조금 다릅니다. AI가 완전 탐색으로 최적수를 알고 있으면서도 레벨에 따라 정해진 확률로 무작위 수를 두기 때문입니다. 승리는 "내가 더 잘 읽는 것"이 아니라 "상대의 그 순간을 놓치지 않는 것"에서 나옵니다. 목표가 바뀌면 전략도 완전히 달라집니다.
규칙
플레이어가 X, AI가 O를 씁니다. 빈 칸을 한 번 누르면 표시가 그려집니다. 여덟 줄 중 하나를 먼저 완성하면 그 줄의 세 칸이 순서대로 튀어오르며 승리를 알립니다. 아홉 칸이 모두 차면 무승부입니다. 되돌리기와 재시작 외에 다른 조작은 없습니다.
엔드리스 진행 규칙이 중요합니다. 이겼을 때만 레벨이 1 올라갑니다. 지면 같은 레벨에 남고, 무승부도 레벨이 오르지 않습니다. 즉 무승부는 손해도 이득도 아닌 결과입니다. 최고 기록은 도달한 최대 레벨로 저장됩니다.
조작법
빈 칸을 한 번 탭하거나 클릭하면 놓입니다. 잘못 누를 여지가 거의 없는 구조라 별도의 확인 단계가 없습니다. 이미 채워진 칸을 눌러도 아무 일도 일어나지 않고, 상대 차례에는 입력을 받지 않습니다. AI가 계산하는 동안에는 보드 위에 작은 캐릭터가 나타나 생각하고 있다는 표시를 냅니다.
되돌리기는 한 번 누르면 내 수와 AI의 응수가 함께 취소됩니다. 스냅샷을 내가 두기 직전 상태로 잡기 때문입니다. AI 사고 중에는 눌리지 않습니다. 여러 번 누르면 판이 시작 상태 쪽으로 계속 되감깁니다. 같은 국면에서 여러 응수를 시험해 볼 수 있으니, 뒤에 나올 진형 연습에 그대로 활용하면 좋습니다.
난이도와 레벨 구조
AI는 매 수마다 남은 빈 칸 전체를 미니맥스로 끝까지 계산합니다. 승리는 10 − 깊이, 패배는 깊이 − 10, 무승부는 0으로 채점하기 때문에 같은 승리라면 더 빨리 이기는 수, 같은 패배라면 더 늦게 지는 수를 고릅니다. 3×3은 경우의 수가 작아 이 계산에 오차가 전혀 없습니다. 즉 정직하게 두어서는 어떤 레벨에서도 AI를 이길 수 없습니다.
레벨이 조절하는 것은 오직 무작위 수를 둘 확률입니다. Lv.9까지는 (10 − 레벨)×7.5%, Lv.10부터는 0.05÷(레벨 − 8)로 계산됩니다.
| 레벨 | 무작위 착수 확률 |
|---|---|
| Lv.1 | 67.5% |
| Lv.3 | 52.5% |
| Lv.5 | 37.5% |
| Lv.7 | 22.5% |
| Lv.9 | 7.5% |
| Lv.10 | 2.5% |
| Lv.15 | 약 0.71% |
| Lv.20 | 약 0.42% |
Lv.9와 Lv.10 사이에서 확률이 7.5%에서 2.5%로 뚝 떨어집니다. 여기가 이 게임의 실질적인 벽입니다. Lv.10 이후로는 감소가 완만해서 절대 0이 되지는 않지만, 한 판에 실수 한 번을 기대하기 어려운 구간으로 들어갑니다. 무작위 수는 남은 빈 칸 전체에서 고르므로, 그 순간의 수는 정말로 아무 자리일 수 있습니다.
여기에 학습이 하나 더 붙습니다. AI는 당신이 어느 칸에 자주 두는지, 특히 첫 수를 어디에 두는지를 따로 세어 저장합니다. 세 판 이상 데이터가 모이면 작동하기 시작하고, 영향력은 (레벨 − 2) ÷ 6으로 Lv.3에서 약 17%, Lv.8에서 100%가 됩니다. 다만 이 값은 미니맥스 점수가 완전히 같은 후보들 사이의 우선순위만 바꿉니다. 학습 때문에 AI가 손해 보는 수를 두는 일은 절대 없고, 반대로 내가 좋아하는 자리를 먼저 빼앗기는 효과만 남습니다.
착수 대기 시간은 min(1050, 680 + 레벨×28)밀리초입니다. 레벨이 올라가면 조금 더 뜸을 들이는데, 실제 계산 시간과는 관계없는 연출입니다.
공략 팁
AI는 위협이 하나면 반드시 막습니다. 그러니 한 수로 서로 다른 두 줄에서 동시에 완성 직전이 되는 자리를 만들어야 합니다. 그러면 AI가 한쪽만 막고, 다음 수에 내가 이깁니다. 판을 이기는 순간은 언제나 이 형태입니다. 나머지 모든 팁은 이 형태를 만들 준비 과정입니다.
코너는 가로·세로·대각선 세 줄이 지나는 자리입니다(중앙은 네 줄, 변은 두 줄). 더블 위협은 두 줄이 교차해야 만들어지므로, 세 줄을 걸치는 코너를 두 개 잡으면 위협 조합을 만들 경로가 크게 늘어납니다. 특히 대각으로 마주 보는 두 코너를 잡는 형태가 강합니다. AI가 한 번 실수해 중앙이나 남은 코너를 놓치면 그 즉시 더블 위협이 열립니다.
변은 두 줄만 지나갑니다. 게다가 AI는 승리를 10 − 깊이로 채점해 빠른 승리를 선호하므로, 내가 약한 자리에서 시작하면 곧바로 중앙을 차지하고 가장 짧은 경로로 압박해 들어옵니다. 그러면 AI가 실수했을 때조차 그 실수를 승리로 바꿀 진형이 남아 있지 않습니다.
학습은 일반 착수 통계와 첫 수 통계를 따로 세고, 후보 비교 때 두 값을 더해 씁니다. 첫 수 습관이 특히 강하게 반영된다는 뜻입니다. 세 판만 같은 코너로 시작하면 Lv.3부터 AI가 그 칸을 먼저 밟기 시작하고, Lv.8에서는 동점 후보 안에서 거의 항상 밟습니다. 네 코너를 번갈아 쓰면 통계가 흩어져 이 효과가 사라집니다.
시작 화면에서 "내가 먼저"와 "상대 먼저"를 고를 수 있습니다. 후공은 이론상 최선이 무승부이고, 무승부로는 레벨이 오르지 않습니다. 즉 후공을 잡으면 오로지 AI의 무작위 착수에만 의존해야 합니다. 레벨을 올리는 것이 목표라면 항상 "내가 먼저"를 고르세요. 후공은 낮은 레벨에서 진형 연습을 할 때 쓰기 좋습니다.
AI가 내 위협을 막지 않았다면 그건 무작위 착수입니다. 이때 하지 말아야 할 일은 "왜 안 막았지" 하고 다른 곳을 손보는 것입니다. AI는 다음 수부터 다시 완벽해집니다. 열린 줄을 즉시 완성하거나, 그 자리에서 더블 위협을 만들 수 있는지 한 번만 확인한 뒤 바로 실행하세요. 기회는 한 수 동안만 유효합니다.
패배와 무승부 모두 레벨이 그대로입니다. 잃는 게 없다는 뜻이므로, 이길 수 없어 보이는 판을 무리하게 뒤집으려 애쓸 필요가 없습니다. 무승부로 마무리하고 다시 시작해서 새로운 무작위 착수를 기다리는 편이 훨씬 빠릅니다. 특히 Lv.10 이상에서는 판 수를 늘리는 것이 사실상 유일한 전략입니다.
같은 국면에서 되돌리기를 반복하면 AI의 최적 응수를 그대로 확인할 수 있습니다. 완전 탐색이라 같은 국면에서는 늘 같은 판단(동점 후보 사이 선택만 달라짐)을 하므로, 몇 번 돌려보면 각 첫 수에 대한 정답 응수 패턴이 손에 익습니다. 이걸 외워두면 실전에서 무작위 수를 알아채는 속도가 크게 빨라집니다.
자주 하는 실수
- 중앙만 노리고 코너를 방치합니다. 중앙은 네 줄이 지나는 가장 강한 칸이지만, 중앙 하나만으로는 더블 위협을 만들 수 없습니다. 반대로 AI에게 대각 두 코너를 내주면 AI 쪽에 더블 위협이 열립니다. 중앙을 잡았다면 그다음은 반드시 코너입니다.
- 내 줄 완성에만 집중해 상대 위협을 한 번 놓칩니다. AI는 완전 탐색입니다. 두 칸이 채워진 줄을 한 수라도 방치하면 다음 수에 그대로 끝납니다. 매 수를 두기 전에 O가 두 개 들어간 줄이 있는지 여덟 줄을 훑는 습관을 들이세요. 익숙해지면 1초도 걸리지 않습니다.
- 무승부를 성과로 착각합니다. 결과 화면에 "무승부"가 떠도 레벨은 그대로입니다. 무승부를 목표로 안전하게 두는 운영은 이 게임의 엔드리스에서 아무 진전을 만들지 못합니다. 위험을 감수해서라도 더블 위협 경로를 남겨야 합니다.
- 낮은 레벨 AI의 엉뚱한 수를 함정으로 오해합니다. Lv.1은 두 수 중 한 번 이상 무작위입니다. 이 단계 AI는 함정을 설계하는 게 아니라 주사위를 굴리는 것입니다. 이상한 자리에 놓였다면 이유를 찾지 말고 이득을 챙기세요.
- 레벨 스테퍼를 잊습니다. 시작 화면의 스테퍼는 1부터 최고 기록까지 자유롭게 오갑니다. 어려운 구간에서 막혔다면 낮은 레벨로 내려가 더블 위협 만드는 형태를 몸에 익히고 올라오는 게 빠릅니다. 아직 이겨보지 못한 레벨로 건너뛸 수는 없습니다.
혼자·둘이서·온라인
혼자 (AI) — 레벨과 선공을 고릅니다. 플레이어는 항상 X입니다. "상대 먼저"를 고르면 AI가 O로 첫 수를 둡니다.
둘이서 — 한 기기에서 두 명이 번갈아 누르면 X와 O가 교대로 놓입니다. 친구랑 함께를 고르면 온라인 대전이 열립니다. 로그인 후 친구를 추가해 초대를 보내고 상대가 수락하면 시작되며, 초대한 쪽이 X(선공)입니다. "한 판 더"를 서로 수락하면 X와 O가 바뀝니다. 온라인 되돌리기는 상대 승인이 필요합니다. 내 차례일 때 요청하면 2수, 상대 차례일 때 요청하면 1수를 되돌리며, 상대 화면에 승인·거절 버튼이 뜹니다. 온라인 대국은 레벨이나 최고 기록, 학습 데이터에 반영되지 않습니다.
비슷한 게임과 비교
오목은 틱택토와 목표가 사실상 같습니다. 한 줄을 먼저 이으면 이깁니다. 다른 것은 판 크기뿐인데(3×3 대 23×23), 그 차이로 오목은 완전 탐색이 불가능해지고 3-3 금수 같은 균형 장치가 필요해집니다. 틱택토의 "더블 위협"이 오목에서는 "4-3"이라는 이름으로 불립니다. 개념은 완전히 같습니다. 틱택토에서 두 줄 교차를 세는 훈련을 하면 오목이 훨씬 쉬워집니다.
리버시는 판이 8×8이라 중반에는 완전 탐색이 안 되지만, 종반 열세 칸부터는 미니므 AI가 틱택토처럼 정답을 계산합니다. 완전 탐색의 벽이 판 전체가 아니라 종반에만 서 있는 형태입니다. 체스까지 셋을 비교하면, 게임이 어려워지는 이유가 규칙의 복잡함이 아니라 계산할 수 있는 범위와 판 크기의 차이라는 게 분명하게 보입니다.