게임 방법
- 당신은 X, 컴퓨터는 O입니다. 기본은 당신이 먼저 시작하고, “먼저 시작”에서 컴퓨터가 먼저 두도록 바꿀 수 있습니다.
- 가로 3줄, 세로 3줄, 대각선 2줄, 모두 8개의 줄 중 하나를 같은 표시 3개로 먼저 채우면 승리합니다.
- 9칸이 모두 채워질 때까지 아무도 줄을 완성하지 못하면 무승부입니다.
- 컴퓨터가 생각하는 동안(약 0.3초) 클릭은 무시됩니다. 새 게임을 누르면 진행 중이던 수는 취소됩니다.
난이도 설명
- 쉬움: 컴퓨터가 빈 칸 중 하나를 완전히 무작위로 고릅니다. 난수는 브라우저의 Math.random을 쓰며 보안용이 아닙니다.
- 보통: 매 수마다 절반의 확률로 최선의 수를, 나머지 절반은 무작위 수를 둡니다.
- 어려움: 미니맥스 알고리즘으로 모든 진행을 끝까지 따져 가장 유리한 수만 둡니다. 이기는 길이 있으면 가장 빨리 이기는 쪽을, 질 수밖에 없으면 가장 늦게 지는 쪽을 고르고, 같은 값의 수가 여럿이면 그중 하나를 무작위로 고릅니다.
전체 경우의 수 (페이지 빌드 시 직접 열거한 값)
9칸에 번갈아 두는 순서를 모두 따지면 9! = 362,880가지처럼 보이지만, 한 줄이 완성되면 게임이 즉시 끝나므로 실제로 가능한 진행은 이보다 적습니다. X가 먼저 시작해 규칙대로 모든 진행을 열거하면 끝까지 가는 서로 다른 게임은 255,168가지이고, 결과는 X 승 131,184, O 승 77,904, 무승부 46,080입니다. 선공이 이기는 진행이 후공보다 훨씬 많지만 이것은 “양쪽이 아무 칸이나 둘 때”의 이야기입니다.
| 끝난 시점(둔 수) | 해당 진행 수 |
|---|---|
| 5수째에 종료 | 1,440 |
| 6수째에 종료 | 5,328 |
| 7수째에 종료 | 47,952 |
| 8수째에 종료 | 72,576 |
| 9수째에 종료 | 127,872 |
| 합계 | 255,168 |
한 진행 중에 나올 수 있는 서로 다른 판 상태(빈 판 포함, 게임이 끝난 판 포함)는 5,478개이고, 판을 돌리거나 뒤집어서 같아지는 것을 하나로 보면 765개로 줄어듭니다. 사람이 외우기 어려워 보이는 게임이지만 대칭을 하나로 보면 상태가 이렇게 적기 때문에 컴퓨터가 끝까지 계산하는 데 시간이 거의 들지 않습니다.
무작위 상대와의 결과 (정확한 확률)
아래 확률은 X(선공)가 빈 칸 중 하나를 같은 확률로 무작위로 고른다고 가정하고, 컴퓨터 난이도별로 모든 진행의 확률을 더해 계산한 값입니다. 사람의 실제 승률이 아니라 “아무 칸이나 누를 때”의 기준선입니다. 쉬움은 양쪽 모두 무작위인 경우입니다.
| 컴퓨터 난이도 | X(나) 승 | 무승부 | O(컴퓨터) 승 |
|---|---|---|---|
| 쉬움 | 58.5% | 12.7% | 28.8% |
| 보통 | 28.0% | 18.5% | 53.5% |
| 어려움 | 0.0% | 22.3% | 77.7% |
어려움에서는 무작위로 두는 한 이길 수 없고, 위 표처럼 대부분 지며 일부만 무승부가 됩니다. 이기려면 아래 전략을 알고 있어야 하는데, 어려움 컴퓨터는 실수하지 않으므로 이기는 것이 아니라 지지 않는 것이 목표가 됩니다.
선공의 첫 수와 후공의 응수
두 사람이 모두 최선을 다하면 결과는 무승부입니다(빈 판의 값을 직접 계산하면 무승부(0)). 칸 번호는 왼쪽 위부터 오른쪽으로 1~9입니다. 칸이 몇 개의 줄에 속하는지는 모서리 3개, 변 가운데 2개, 중앙 4개로, 중앙이 가장 많은 줄에 걸쳐 있습니다. 선공이 첫 수를 둔 뒤 후공이 무승부를 지킬 수 있는 응수가 몇 개 남는지 전수 계산하면 다음과 같습니다.
| 선공의 첫 수 | 속한 줄 | 후공의 응수 가능한 칸 | 무승부를 지키는 응수 |
|---|---|---|---|
| 모서리 (예: 1번 칸) | 3개 | 8칸 | 1칸 |
| 변 가운데 (예: 2번 칸) | 2개 | 8칸 | 4칸 |
| 중앙 (5번 칸) | 4개 | 8칸 | 4칸 |
선공이 모서리에서 시작하면 후공에게 안전한 응수가 중앙 하나뿐입니다. 후공이 이 한 수를 놓치면 선공이 이기는 방법이 있어서, 선공은 모서리로 시작해 상대의 실수를 노리는 것이 가장 효과적인 이유입니다. 선공 입장에서는 “상대가 틀릴 가능성이 가장 큰 첫 수”가 모서리라는 점이 실전 조언입니다. 이 수치는 완벽한 상대와의 이론값이며 사람 상대의 승률을 뜻하지 않습니다.
후공을 잡았을 때: 모서리 첫 수에 대한 응수별 결과
X가 1번 모서리에 둔 뒤 O가 둘 수 있는 8칸 각각에 대해, 이후 양쪽이 끝까지 최선을 다한다고 가정한 결과를 빌드 시 계산한 표입니다. 어려움 컴퓨터가 후공일 때는 이 표에서 “무승부”인 칸만 고르고, 사용자가 후공일 때 “X(선공)가 이길 수 있음”에 해당하는 칸을 두면 상대가 실수하지 않는 한 지게 됩니다.
| O의 응수 | 칸 종류 | 최선 플레이 시 결과 |
|---|---|---|
| 2번 | 변 가운데 | X(선공)가 이길 수 있음 |
| 3번 | 모서리 | X(선공)가 이길 수 있음 |
| 4번 | 변 가운데 | X(선공)가 이길 수 있음 |
| 5번 | 중앙 | 무승부 |
| 6번 | 변 가운데 | X(선공)가 이길 수 있음 |
| 7번 | 모서리 | X(선공)가 이길 수 있음 |
| 8번 | 변 가운데 | X(선공)가 이길 수 있음 |
| 9번 | 모서리 | X(선공)가 이길 수 있음 |
8칸 중 무승부로 이어지는 응수는 1칸이고 나머지 7칸은 선공에게 이기는 길을 열어 줍니다. 무승부로 표시된 칸이 한 개뿐이라는 사실이 앞에서 “후공은 중앙을 잡아야 한다”고 한 근거입니다.
컴퓨터가 먼저 둘 때의 결과 (사용자 무작위 가정)
“먼저 시작”을 컴퓨터로 바꾸면 컴퓨터가 첫 수를 두고 사용자가 후공(여전히 X 표시)이 됩니다. 사용자가 빈 칸을 무작위로 고른다고 가정하고 같은 방식으로 모든 진행의 확률을 더하면 다음과 같습니다.
| 컴퓨터 난이도 (컴퓨터 선공) | 사용자 승 | 무승부 | 컴퓨터 승 |
|---|---|---|---|
| 쉬움 | 28.8% | 12.7% | 58.5% |
| 보통 | 11.6% | 8.0% | 80.4% |
| 어려움 | 0.0% | 3.2% | 96.8% |
내가 먼저일 때의 표와 견주면 컴퓨터 선공에서는 쉬움·보통의 사용자 승 확률이 낮아지고 컴퓨터 승 확률은 모든 난이도에서 높아집니다(어려움은 사용자 승이 두 경우 모두 0%). 선공이 한 수 앞서 있어서 무작위 응수를 만났을 때 이득이 크기 때문입니다. 컴퓨터(어려움)는 선공일 때 빈 판에서 같은 평가값의 첫 수 9칸 중 하나를 무작위로 둡니다. 평가에는 상대가 완벽하게 둔다는 가정이 들어 있습니다.
수가 진행될수록 판 상태가 어떻게 늘어나는가
| 둔 수 | 서로 다른 판 상태 수 |
|---|---|
| 0수 | 1 |
| 1수 | 9 |
| 2수 | 72 |
| 3수 | 252 |
| 4수 | 756 |
| 5수 | 1,260 |
| 6수 | 1,520 |
| 7수 | 1,140 |
| 8수 | 390 |
| 9수 | 78 |
| 합계 | 5,478 |
상태 수는 중반에 정점을 찍고 끝으로 갈수록 줄어듭니다. 줄이 완성되면 게임이 끝나 더 이상 뻗어 나가지 않기 때문입니다. 이 표 덕분에 컴퓨터가 매 수마다 전체를 끝까지 검토해도 계산량이 문제되지 않습니다.
시나리오별 연습법
아이에게 규칙을 가르칠 때: 쉬움으로 시작해 “두 개가 나란할 때 세 번째 칸을 막는다”는 감각을 익히게 한 뒤 보통으로 올립니다. 보통은 절반의 확률로 최선의 수를 두므로 실수를 하면 바로 벌을 받는 경험을 줍니다. 어려움은 필승법이 없다는 사실, 즉 “지지 않는 법”을 배우는 단계입니다.
후공 방어를 훈련할 때: 컴퓨터를 선공으로 두고 어려움에서 10판 정도 두면서 모서리 첫 수에 중앙, 중앙 첫 수에 모서리로 응수하는 습관을 만듭니다. 전적의 “패” 칸이 늘지 않으면 방어가 몸에 익은 것입니다. 전적은 새로고침하면 사라지므로 필요하면 종이에 승무패를 적어 두세요.
선공 공격을 훈련할 때: 보통 난이도에서 모서리로 시작하고, 컴퓨터가 중앙이 아닌 곳으로 응수하면 앞의 포크 진행처럼 두 줄을 동시에 노립니다. 보통은 절반의 확률로 무작위 수를 두므로 포크가 성립하는 장면을 직접 연습할 수 있습니다.
이 게임의 조작과 동작
- 칸은 마우스 클릭, 터치, 또는 Tab으로 이동해 Enter·Space로 둘 수 있습니다. 이미 채워진 칸과 게임이 끝난 뒤의 칸은 키보드 이동에서 빠집니다.
- 컴퓨터의 수는 약 0.3초(300ms) 뒤에 놓이며 그 사이에는 클릭이 무시됩니다. 컴퓨터가 두기 전에 “새 게임”을 누르면 예약된 수가 취소되어 이전 판의 수가 새 판에 끼어들지 않습니다.
- “먼저 시작” 선택을 바꾸면 곧바로 새 판이 시작됩니다. 난이도를 바꾸는 것은 판 도중에도 적용되어 다음 컴퓨터 수부터 해당 난이도 규칙으로 둡니다.
- 효과음은 같은 사이트의 음향 파일을 쓰며, 소리가 나지 않는 환경에서도 게임은 동일하게 진행됩니다.
이기는 방법: 포크(양쪽 위협)
한 수로 두 줄을 동시에 위협해, 상대가 한 줄만 막을 수 있게 만드는 것이 포크입니다. 직접 확인한 진행 한 가지는 이렇습니다: X가 1번(왼쪽 위 모서리)에 두고 O가 9번(반대편 모서리)으로 응수하면, X는 3번, O는 2번(1-2-3을 막는 수), X는 7번, O는 4번(1-4-7을 막는 수), X는 5번으로 3-5-7 대각선을 완성해 이깁니다. 7번이 1-4-7과 3-5-7 두 줄을 동시에 노리는 포크가 된 것입니다. 후공이 첫 응수를 중앙이 아닌 곳에 두면 이런 포크를 허용하게 됩니다.
지지 않는 방법
- 후공이라면 선공이 모서리에 두었을 때 반드시 중앙을 잡으세요. 중앙에 두었다면 모서리로 응수하는 것이 안전합니다(표의 4칸 중 모서리 4곳).
- 상대가 한 줄에 2개를 만들었으면 나머지 한 칸을 막는 것이 최우선입니다. 내 기회와 상대 위협이 겹치면 이길 수 있을 때만 이기는 수를 두고, 아니면 막습니다.
- 상대가 포크를 만들 수 있는 칸을 미리 차지하거나, 상대가 막아야만 하는 위협을 먼저 만들어 포크를 막는 방법도 있습니다.
- 첫 수를 모서리, 변, 중앙으로 바꿔 가며 각각의 응수를 익혀 보세요. 어려움 난이도는 값이 같은 수가 여럿이면 그중 하나를 무작위로 고르므로 같은 상황에서도 응수가 달라질 수 있습니다.
흔한 오해와 한계
- 틱택토는 풀린 게임이라 이기는 필승법이 없습니다. 이길 수 있는 것은 상대가 실수했을 때뿐입니다.
- “선공이 유리하다”는 말은 무작위 상대나 실수가 있는 상대일 때의 이야기이고, 완벽하게 두면 선공도 후공도 무승부입니다.
- 위의 확률은 무작위 가정이며 사람의 승률이 아닙니다. 이 페이지는 실제 사용자 통계를 수집하지 않습니다.
- 전적은 현재 탭의 메모리에만 있으며 새로고침하면 사라집니다. 다른 기기로 동기화되지 않습니다.
자주 묻는 질문
"어려움"에서 이길 수 있나요?
양쪽 모두 최선을 다하면 틱택토는 항상 무승부로 끝납니다. 어려움 난이도의 컴퓨터는 최선의 수만 두므로 이기는 것은 사실상 불가능하고, 지지 않고 무승부를 만드는 것이 목표입니다.
선공이 유리한가요?
무작위로 두는 경우 선공(X)의 승 확률이 후공보다 훨씬 높게 나옵니다(위 표 참고). 다만 완벽한 상대끼리는 선공이어도 무승부입니다. 선공은 상대가 실수할 여지가 있는 모서리 첫 수가 유용합니다.
컴퓨터가 먼저 시작하면 더 어려워지나요?
어려움에서는 컴퓨터가 먼저 둬도 내가 최선으로 두면 무승부가 가능합니다. 다만 내가 후공일 때 컴퓨터가 모서리에 두면 중앙을 꼭 잡아야 하므로 실수할 여지가 더 큽니다.
총 몇 가지 경우의 수가 있나요?
X가 먼저 시작하고 줄이 완성되면 끝나는 규칙으로 열거하면 255,168가지의 서로 다른 진행이, 서로 다른 판 상태로는 5,478개가 있습니다. 모두 이 페이지가 빌드될 때 직접 센 값입니다.
보통 난이도는 어떤 방식인가요?
매 수마다 동전을 던지듯 절반은 최선의 수, 절반은 무작위 수를 둡니다. 그래서 같은 상황에서도 컴퓨터의 수가 달라질 수 있습니다.
칸 번호는 어떻게 매겨져 있나요?
왼쪽 위를 1번으로 해서 오른쪽으로 1~3, 다음 줄이 4~6, 아래 줄이 7~9번입니다. 본문의 전략 설명에서 “1번 모서리”, “5번 중앙”이라고 쓴 것은 이 번호입니다. 화면 읽기 프로그램도 같은 번호로 칸을 읽어 줍니다.
같은 상황에서 컴퓨터 수가 매번 다른 이유는 무엇인가요?
어려움에서도 평가값이 같은 수가 여러 개면 그중 하나를 무작위로 고르기 때문입니다. 이길 수 있는 가장 빠른 수나 반드시 막아야 하는 수처럼 하나뿐인 경우에는 항상 같은 수를 둡니다.
대칭이 같은 판은 왜 하나로 세나요?
판을 90도씩 돌리거나 좌우·상하로 뒤집었을 때 완전히 겹치는 판은 전략적으로 같은 상황이기 때문입니다. 그래서 첫 수는 모서리, 변 가운데, 중앙의 세 종류로만 구분하면 충분합니다.