입문은 40번, 최상급은 2만 5천 번 끝까지 둬 본다 — 용코바코 바둑 AI와 치석 몇 점이 한 단계인지
용코바코 바둑의 AI는 바깥 엔진 없이 직접 짰습니다. 한 수를 고르기 전에 판을 끝까지 몇 번 둬 보는지가 곧 난이도이고, 단계마다의 숫자와 AI끼리 둬 본 결과를 그대로 옮겼습니다. 죽은 돌을 어떻게 미리 골라 두는지, 치석을 몇 점 받으면 한 단계를 메우는지도 AI끼리 둬 보고 쟀습니다.
용코바코 바둑은 9×9 판에서 두는 9줄 바둑입니다. 「용코바코 전통 전략 시리즈」의 둘째 게임이고, 체스와 달리 규칙도 AI도 바깥 엔진 없이 직접 짰습니다. 이 글은 그 AI가 한 수를 어떻게 고르는지, 다섯 단계가 무엇으로 갈리는지, 그리고 치석(접바둑)을 몇 점 받으면 한 단계 위와 맞설 수 있는지를 AI끼리 둬 보고 잰 기록입니다. 놓기 · 따내기 · 패 같은 두는 법은 용코바코 바둑 게임 소개에 있습니다.
9줄 · 중국식 계가 · 덤 7.5집
판은 9줄 하나만 뒀습니다. 19줄은 휴대전화 화면에서 돌이 너무 작아지고 한 판이 깁니다. 9줄은 보통 15분 안에 끝나서, 1:1 시계도 기본 5분에 초읽기 30초 세 번으로 잡았습니다.
집은 중국식으로 셉니다. 판에 살아남은 내 돌의 수에 내 돌로 둘러싼 빈 점의 수를 더해 점수를 내므로, 끝에 남은 공배를 메워도 손해가 없습니다. 「죽은 돌만 정하면 바로 센다」로 끝내기가 단순해지고, AI도 끝까지 둬 본 판을 그 자리에서 그대로 셀 수 있습니다. 백은 덤 7.5집을 받습니다. 반 집이 있어서 비기는 판이 없습니다.
AI끼리 상급 이상으로 두게 하면 흑이 반 집 차로 지는 판이 자주 나옵니다. 9줄 중국식에서 잘 두면 흑이 7집쯤 앞선다고 알려져 있으니, 덤 7.5집이면 백이 반 집을 이기는 것이 오히려 제대로 두었다는 신호입니다.
한 수를 고르기 전에 끝까지 둬 봅니다
AI가 쓰는 방법은 몬테카를로 트리 탐색입니다. 둘 만한 자리 하나를 골라 그 뒤를 양쪽이 아무렇게나 끝까지 둬 보고, 이겼는지 셉니다. 이것을 수없이 되풀이하면서 많이 이긴 자리는 더 자주, 덜 둬 본 자리는 가끔 다시 둬 봅니다. 마지막에 가장 많이 둬 본 자리를 고릅니다. 그대로는 너무 어설퍼서 세 가지를 더했습니다.
- 한 판에 나온 수를 다 같이 매기기 — 끝까지 둔 한 판에서 이겼다면, 그 판에 나온 모든 수가 조금씩 점수를 나눠 받습니다(RAVE). 적은 횟수로도 좋은 자리가 빨리 떠오릅니다.
- 처음 보는 수에 눈치 주기 — 아직 둬 보지 않은 수도 종류에 따라 출발점을 다르게 둡니다. 상대 돌을 따내는 수는 85%, 단수에서 달아나는 수는 75% 이긴다고 보고 시작하고, 스스로 단수에 들어가는 수는 12%, 1선은 30%에서 시작합니다.
- 끝까지 둘 때 조금 똑똑하게 — 상대가 방금 둔 돌이 단수면 따내고, 내 돌이 단수가 되면 달아납니다. 이것 하나로 끝까지 둬 본 판이 훨씬 바둑다워졌고, 죽은 돌 어림도 함께 좋아졌습니다.
이기기만 따지면 생기는 일
처음에는 「이겼나 졌나」만 셌습니다. 그랬더니 AI가 앞서는 판에서 아무 데나 두기 시작했습니다. 어디에 둬도 이기는 판이면 모든 수의 점수가 같아지기 때문입니다. 그러다 차이를 다 내주고 반 집 차로 끝나거나 뒤집혔습니다. 지금은 한 판의 값을 이겼나 92% + 몇 집 차이인가 8%로 매깁니다. 앞설 때는 차이를 더 벌리고, 질 때도 덜 지려고 버팁니다.
패스도 함정이었습니다. 끝까지 둬 보기는 한 수를 쉬는 손해를 잘 느끼지 못해서, 패스를 늘 후보에 넣었더니 10수 만에 끝난 판이 나왔습니다. 그래서 패스는 상대가 방금 패스했거나, 둘 만한 자리가 판의 4분의 1 아래로 줄었을 때만 후보에 넣습니다.
단계는 「둬 보는 횟수」입니다
| 단계 | 한 수에 둬 보는 횟수 | 아무 데나 | 가장 오래 생각 |
|---|---|---|---|
| 입문 | 40번 | 40% | 1초 |
| 초급 | 300번 | 10% | 1.5초 |
| 중급 | 1,500번 | 없음 | 2.5초 |
| 상급 | 6,000번 | 없음 | 3.5초 |
| 최상급 | 25,000번 | 없음 | 5초 |
정한 횟수를 다 채우기 전이라도 가장 오래 생각하는 시간에 닿으면 거기서 둡니다. 휴대전화는 개발한 컴퓨터보다 서너 배 느리다고 보고 시간 상한을 잡았습니다. 연습의 힌트는 2만 번을 둬 보고(최대 2.5초) 고른 자리를 보여 줍니다.
단계 사이는 AI끼리 흑백을 번갈아 여덟 판씩 둬 보고 정했습니다. 위 단계가 이긴 판 수입니다.
| 맞붙은 단계 | 위 단계가 이긴 판 |
|---|---|
| 초급 vs 입문 | 8판 중 8판 |
| 중급 vs 초급 | 8판 중 8판 |
| 상급 vs 중급 | 8판 중 6판 |
| 최상급 vs 상급 | 8판 중 7판 |
가장 아래 입문은 「잡을 수 있으면 잡고, 아니면 아무 데나」 두는 아주 단순한 손과 12판을 둬서 9판을 이기게 맞췄습니다. 처음 바둑을 두는 사람이 흔히 그렇게 두기 때문입니다.
중급부터는 돌을 던집니다. 25수가 넘은 뒤 이길 확률이 4% 아래로 보이는 일이 두 번 잇따르면 기권합니다. 지는 판을 끝까지 끌며 빈자리를 메우게 하지 않으려는 것입니다. 입문 · 초급은 끝까지 둡니다.
죽은 돌은 AI가 미리 골라 둡니다

둘이 잇따라 패스하면 계가로 넘어가고, 그때 AI가 죽은 돌을 흐리게 골라 둡니다. 두 가지를 같이 봅니다.
- 지금 판에서 끝까지 여러 번(혼자 둘 때 600번, 1:1에서는 서버가 400번) 둬 보고, 자기 자리를 지키지 못하는 무리를 고릅니다.
- 모양도 봅니다 — 눈이 하나도 없고, 닿은 빈 자리가 모두 상대와 같이 닿은 곳이며, 둘레의 상대 돌이 내 돌의 두 배 이상인 무리입니다. 1번이 「확실히 산다」고 하지 않으면 죽은 돌로 봅니다.
2번이 필요했던 판이 있습니다. 흑과 백이 판을 반씩 나눠 가진 판에서, 흑의 넓은 빈 곳에 백 한 점이 들어와 있었습니다. 아무렇게나 끝까지 두면 넓은 곳에서는 그 한 점이 살기도 해서, 1번만으로는 죽은 돌이라고 가르지 못했습니다. 눈 둘로 산 돌을 죽었다고 보지 않는지도 같은 시험이 지킵니다.
어림은 늘 맞지는 않습니다. 빅(세키)은 따로 가리지 않습니다. 그래서 흐린 돌은 눌러서 바꿀 수 있고, 이견이 있으면 「계속 두기」를 눌러 판으로 돌아가서 그 돌을 실제로 잡아낸 다음 다시 패스하면 됩니다. 1:1에서는 두 사람이 모두 「합의」를 눌러야 끝나고, 누구든 돌을 바꾸면 합의가 풀립니다.
치석 몇 점이 한 단계인가
AI가 벅차다면 난이도를 내리는 길 말고 치석(접바둑)도 있습니다(연습과 AI 대결에서만 고를 수 있습니다). 두 점이면 G7과 C3, 곧 오른쪽 위 귀와 왼쪽 아래 귀의 꽃점에 흑 돌을 깔고 시작하고, 세 점은 오른쪽 아래 G3을, 네 점은 왼쪽 위 C7을 더 깝니다. 그런 뒤 백을 쥔 AI가 첫 수를 둡니다. 우리나라 접바둑에서 흔히 보는 순서이고, 9줄 판의 귀 꽃점은 네 개뿐이라 네 점이 끝입니다. 흑이 돌을 먼저 깔고 시작하므로 덤은 반 집만 줍니다.
몇 점이 한 단계쯤인지 보려고, 약한 단계가 흑으로 치석을 받고 센 단계가 백을 맡게 해 둬 봤습니다. 표의 숫자는 흑(약한 단계)이 이긴 판 수입니다.
| 치석 | 중급(흑) vs 상급(백) · 6판 | 초급(흑) vs 중급(백) · 8판 | 입문(흑) vs 초급(백) · 8판 |
|---|---|---|---|
| 없음(덤 7.5) | 0 | 0 | 0 |
| 2점 | 3 | 2 | 0 |
| 3점 | 6 | 2 | 0 |
| 4점 | 4 | 3 | 0 |
9줄에서는 2점이 대략 한 단계입니다. 중급이 2점을 받으면 상급과 반반쯤 겨룹니다. 초급과 입문이 덜 오르는 것은 「가끔 아무 데나 두는」 버릇 때문에 받은 치석을 금세 까먹어서입니다. 사람에게는 그런 버릇이 없으니, 표의 오른쪽 두 칸을 사람이 흑일 때의 기준으로 읽지는 않는 편이 좋습니다.
전적은 맞바둑과 따로, 난이도와 치석 수마다 쌓입니다. 4점으로 이기면 3점으로 줄여 보는 식으로 한 칸씩 내려가 볼 수 있습니다. 1:1 대결에는 치석이 없습니다 — 무작위로 이어진 상대라 서로의 실력을 모르기 때문입니다.
같은 시리즈의 체스와 장기는 용코바코 체스 게임 소개와 용코바코 장기 게임 소개에 있습니다.