방송대 인공지능 4강: 최대최소 탐색과 몬테카를로 트리 탐색
게임의 한 수는 그 자리의 모양만으로 평가할 수 없다. 상대가 가장 불리하게 응수한다는 가정에서 값을 거꾸로 올리는 최대최소 탐색과, 제한된 시간 동안 표본 결과를 누적하는 몬테카를로 트리 탐색을 ‘트리에서 어떤 정보가 이동하는가’라는 관점으로 연결한다.
한 수의 가치는 상대의 다음 응답까지 포함한다
대결 게임에서 내가 고른 수 뒤에는 상대의 선택이 이어진다. 내게 당장 좋아 보이는 수라도 상대가 강한 반격을 선택할 수 있다면 실제 가치는 낮아진다. 최대최소 탐색(minimax search)은 나와 상대가 모두 자신에게 최적인 수를 둔다고 가정하고, 상대가 만들 수 있는 최악의 결과까지 견딘 뒤 내 보상이 가장 커지는 행동을 고른다.
내 차례의 노드는 자식 가치 중 최댓값을 취하는 MAX 노드, 상대 차례의 노드는 내 관점에서 자식 가치 중 최솟값을 취하는 MIN 노드다. ‘최대’와 ‘최소’는 서로 다른 두 평가함수가 아니라 같은 가치가 누구의 차례를 거치느냐에 따라 집계되는 방식이다.
판단 핵심: 루트에서 바로 가장 큰 숫자를 찾지 않는다. 잎에서 시작해 MIN 층은 작은 값을, MAX 층은 큰 값을 선택하며 루트까지 값을 거꾸로 올린다.
게임트리는 상태·행동·차례·가치를 연결한다
노드는 게임의 상태, 간선은 가능한 행동을 나타낸다. 한 행동을 적용해 자식상태가 되면 차례가 상대에게 넘어가므로 MAX와 MIN 층이 번갈아 나타난다. 더 진행할 수 없고 승리·패배·무승부가 정해진 상태를 종단상태라고 한다.
| 구성 요소 | 질문 | 트리에서의 역할 |
|---|---|---|
| 상태 | 현재 판의 배치는 무엇인가? | 노드로 표현 |
| 행동 | 현재 차례에 둘 수 있는 수는 무엇인가? | 부모와 자식을 연결하는 간선 |
| 차례 | 나와 상대 중 누가 선택하는가? | MAX 또는 MIN 집계 결정 |
| 가치 | 결과가 나에게 얼마나 유리한가? | 잎에서 루트 방향으로 전달 |
가치를 언제나 ‘나’의 관점으로 통일하면 부호와 집계가 명확해진다. 상대가 자신의 보상을 최소화하는 것이 아니라, 상대가 내 가치를 최소로 만드는 수를 고른다고 해석한다.
말단의 숫자를 거꾸로 올리면 루트 행동이 결정된다
새로운 예로 루트 MAX 노드에 세 행동 L, M, R이 있고, 그 아래가 상대의 MIN 차례라고 하자. L의 말단가치는 6과 4, M은 8과 1, R은 5와 5다.
| 내 행동 | 상대가 만들 수 있는 결과 | MIN이 올리는 값 | 루트에서의 의미 |
|---|---|---|---|
| L | 6, 4 | min(6,4)=4 | 상대가 4를 강제할 수 있음 |
| M | 8, 1 | min(8,1)=1 | 최고 8보다 반격 결과 1이 중요 |
| R | 5, 5 | min(5,5)=5 | 어떤 응수에도 가치 5 유지 |
루트 MAX는 4, 1, 5 중 최대인 5를 선택하므로 R이 답이다. M에 8이 있다는 이유로 M을 고르는 풀이는 상대가 1을 선택할 수 있다는 사실을 빠뜨린다. 최대최소 계산은 ‘가능한 최고 결과’가 아니라 ‘최적 상대를 상대로 보장되는 결과’를 비교한다.
끝까지 탐색하지 못하면 잘린 잎의 가치를 추정한다
실제 게임트리는 매우 커서 모든 수를 종단상태까지 전개하기 어렵다. 계산시간과 메모리 같은 자원에 맞춰 탐색 깊이를 정하고, 그 깊이에 도달한 비종단상태에는 경험적 지식을 담은 평가함수를 적용한다. 평가값은 확정된 승패가 아니라 그 상태가 얼마나 유리한지에 대한 추정이다.
삼목게임의 강의 예제에서는 이길 가능성이 남은 행·열·대각선 수를 W, 질 가능성이 남은 수를 L이라 하고 비종단상태를 F=W-L로 평가한다. 승리한 상태는 F=∞, 패배한 상태는 F=-∞로 두어 확정 결과가 어떤 유한 추정값보다 우선하게 한다.
경계 사례: 같은 판이라도 탐색 깊이가 얕으면 평가함수의 추정을 쓰고, 더 깊게 보아 승패가 확정되면 종단가치를 쓴다. 깊이 제한은 게임 규칙이 아니라 자원 제약에 따른 탐색 설정이다.
α와 β는 아직 가능한 값의 경계를 전달한다
α-β 가지치기는 최대최소 답에 영향을 주지 않을 가지를 더 이상 계산하지 않는 방법이다. α는 MAX가 지금까지 확보한 가장 큰 값, β는 MIN이 지금까지 확보한 가장 작은 값이다. 두 값은 조상 노드에서 이미 확인한 선택 때문에 현재 가지가 최종 선택이 될 수 있는지를 판정한다.
- MIN 노드를 탐색하다 어떤 자식값 v가 α 이하가 되면, MIN의 최종값은 더 커질 수 없으므로 나머지 자식을 잘라도 된다.
- MAX 노드를 탐색하다 어떤 자식값 v가 β 이상이 되면, MAX의 최종값은 더 작아질 수 없으므로 나머지 자식을 잘라도 된다.
- 일반적으로 α≥β가 되는 순간 현재 분기의 나머지 탐색은 상위 결정에 영향을 주지 못한다.
강의의 적용 예에서 먼저 탐색한 루트 자식 B가 가치 4를 만들어 α=4가 된다. 다음 MIN 자식 C에서 한 분기의 값이 3으로 확인되면 C의 최종값은 3 이하이므로 루트 MAX가 이미 가진 4를 이길 수 없다. 따라서 C의 남은 자식을 보지 않아도 루트 선택은 바뀌지 않는다.
가지치기는 답이 아니라 계산량을 바꾼다
α-β 가지치기는 유망하지 않은 결과를 임의로 버리는 근사법이 아니다. 잘린 가지가 상위 MAX·MIN 선택을 뒤집을 수 없다는 경계를 먼저 확보했기 때문에 최대최소와 같은 답을 돌려준다. 다만 좋은 수를 먼저 검사하면 α와 β가 일찍 좁아져 더 많은 가지를 자를 수 있다.
| 잘못된 이해 | 올바른 판단 |
|---|---|
| 가지치기한 잎의 값은 중요하지 않으므로 존재하지 않는다. | 값이 무엇이든 현재 상위 선택을 바꾸지 못한다는 것만 안다. |
| α는 MIN의 최솟값이고 β는 MAX의 최댓값이다. | α는 MAX의 하한, β는 MIN의 상한 역할을 한다. |
| 자식 순서가 달라지면 최종 답도 달라진다. | 정확한 탐색에서는 답은 같고 방문 노드 수가 달라질 수 있다. |
깊이 제한에 도달하거나 종단상태이면 평가값을 반환한다. MIN 함수는 자식의 최소를 갱신하며 α≥minValue이면 반환하고 β를 줄인다. MAX 함수는 자식의 최대를 갱신하며 β≤maxValue이면 반환하고 α를 늘린다.
전체 트리 대신 표본과 통계를 쌓는 방법이 MCTS다
몬테카를로 트리 탐색(Monte Carlo tree search, MCTS)은 탐색공간에서 무작위 표본을 얻어 필요한 부분부터 트리를 성장시키는 경험적 탐색이다. 각 노드는 게임상태뿐 아니라 누적가치 vSum과 방문횟수 NVisit 같은 통계를 저장한다.
최대최소는 정해진 깊이의 자식가치를 규칙적으로 집계하는 반면, MCTS는 시간 예산 안에서 반복 횟수가 늘수록 자주 검토한 경로의 통계를 개선한다. 아직 덜 조사한 선택을 살피는 탐사와 지금까지 평균이 좋은 선택을 더 이용하는 활용을 함께 관리해야 한다.
선택·확장·시뮬레이션·역전파가 한 번의 순환을 이룬다
- 선택: 루트에서 시작해 선택전략에 따라 자식을 내려가며 아직 시도하지 않은 행동이 남은 노드를 찾는다.
- 확장: 그 노드에서 새 행동 하나를 적용해 자식노드를 트리에 추가한다.
- 시뮬레이션: 새 노드부터 게임이 끝날 때까지 순수 무작위 또는 유사 무작위 정책으로 롤아웃한다.
- 역전파: 승리 +1, 무승부 0, 패배 -1 같은 결과를 선택 경로를 따라 루트까지 올려 vSum과 NVisit를 갱신한다.
네 단계는 서로 바꿔 부를 수 없다. 확장은 트리 구조에 새 노드를 만드는 일이고, 시뮬레이션은 그 노드 밖의 미래를 표본으로 진행하는 일이다. 역전파는 새 가지를 만드는 대신 이미 지나온 노드의 통계를 고친다.
한 번의 롤아웃은 경로의 모든 장부를 갱신한다
루트 n0에서 자식 n1을 선택하고 새 자식 n3을 확장한 뒤 롤아웃 결과가 패배 V=-1이었다고 하자. 역전파는 n3, n1, n0 순서로 이동하며 각 vSum에 -1을 더하고 NVisit에 1을 더한다. 다른 형제노드는 이번 표본 경로에 포함되지 않았으므로 바뀌지 않는다.
| 노드 | 갱신 전 (vSum, NVisit) | 갱신 후 | 이유 |
|---|---|---|---|
| n3 | (0, 0) | (-1, 1) | 롤아웃 출발점 |
| n1 | (1, 1) | (0, 2) | 선택 경로의 부모 |
| n0 | (1, 2) | (0, 3) | 루트까지 결과 전달 |
| n2 | (0, 1) | (0, 1) | 이번 경로에 포함되지 않음 |
평균가치는 vSum/NVisit로 해석한다. 누적합과 평균을 혼동하면 방문이 많은 노드가 단지 합이 크다는 이유로 과대평가될 수 있으므로 두 통계를 함께 저장한다.
UCT는 평균가치와 불확실성 보너스를 더한다
강의의 UCT 선택전략은 자식 ni의 UCB1 값을 다음과 같이 계산하고 가장 큰 자식을 고른다.
UCB1(ni)=v̄i + C × √(ln Np / Ni)
v̄i는 자식의 평균가치로 활용을 나타낸다. Ni가 작은 자식은 제곱근 항이 커져 탐사 보너스를 받는다. Np는 부모 방문횟수이고 C는 활용과 탐사의 비중을 조절하는 상수다.
식 읽기: 평균이 좋으면 첫 항 때문에 선택될 수 있고, 아직 적게 방문했다면 둘째 항 때문에 다시 시험할 기회를 얻는다. 방문횟수만 작다고 최종 행동으로 확정되는 것은 아니다.
강의의 UCB 계산은 선택 방향이 바뀌는 이유를 보여 준다
C=2인 강의 예에서 3회 반복을 시작할 때 n1의 평균은 1, n2의 평균은 0이고 두 자식 모두 한 번 방문했다. 부모 방문횟수는 2이므로 n1은 약 2.67, n2는 약 1.67이 되어 n1을 선택한다.
다음 반복에서는 n1의 평균이 0, 방문횟수가 2이고 n2는 평균 0, 방문횟수가 1이다. 부모 방문횟수 3을 넣으면 n1은 약 1.48, n2는 약 2.10이므로 덜 방문한 n2가 탐사 보너스로 선택된다. 5회째에는 n1≈1.67, n2≈2.17이어서 다시 n2를 선택한다.
다섯 번의 반복 뒤 n1은 vSum=0, NVisit=2이고 n2는 vSum=2, NVisit=3이다. 강의에서는 최종 행동으로 가장 많이 방문한 강인한 자식 n2를 택한다. 반복 중 UCB로 내려가는 선택과 시간 예산이 끝난 뒤 실제 수를 고르는 규칙을 구분해야 한다.
최종 행동 규칙은 탐색 중 선택 규칙과 목적이 다르다
| 전략 | 루트 자식을 고르는 기준 | 강조점 |
|---|---|---|
| 최대 자식 | 가장 큰 보상 | 관측된 가치 |
| 강인한 자식 | 가장 많은 방문횟수 | 가장 많이 검토된 선택 |
| 최대-강인 자식 | 방문횟수와 보상이 모두 최대 | 두 조건의 동시 충족 |
| 안전한 자식 | 신뢰도 하한이 최대 | 불확실성을 고려한 보수적 선택 |
UCT의 UCB1은 탐색 도중 다음 표본을 어디서 얻을지 정하는 상한 기준이다. 안전한 자식은 최종 결정에서 낮은 쪽 신뢰범위를 고려하는 전략이다. 둘 다 신뢰도를 언급하지만 사용 시점과 최적화 방향이 다르다.
알파고에서는 정책·가치·트리 통계가 연결된다
강의의 AlphaGo Fan 사례는 MCTS 각 단계의 결정을 학습된 신경망으로 보조한다. 프로 기사 기보와 자가대결 자료를 이용해 바둑판의 돌 배치를 19×19 형태로 처리하고, 정책망은 유망한 착점을 제안하거나 탐색 방향을 정하며 가치망은 상태의 가치를 평가한다.
선택 단계에서는 수의 현재 가치 Q에 탐사를 장려하는 보너스 u(P)를 더해 후보를 비교한다. 확장에서는 정책 정보 P를 새 간선에 연결하고, 평가에서는 가치망의 예측과 롤아웃 결과를 이용하며, 역전파에서는 그 결과로 경로의 Q를 갱신한다. 신경망이 트리 탐색을 없애는 것이 아니라 표본을 더 유용한 방향으로 배분하도록 돕는다.
연결 관점: 정책망은 “어디를 더 볼 것인가”, 가치망은 “이 상태가 얼마나 좋은가”, MCTS 통계는 “실제로 몇 번 보고 어떤 결과를 얻었는가”에 답한다.
두 탐색은 모두 값을 올리지만 근거가 다르다
| 비교축 | 최대최소·α-β | MCTS |
|---|---|---|
| 가치의 근거 | 말단 또는 깊이 제한 평가값 | 롤아웃 표본의 누적 통계 |
| 위로 전달하는 정보 | MAX의 최댓값, MIN의 최솟값 | vSum과 NVisit |
| 계산 절약 | α·β 경계로 영향 없는 가지 제거 | 유망·불확실한 부분에 표본 집중 |
| 핵심 가정 | 상대도 최적으로 행동 | 반복 표본으로 선택 통계 개선 |
두 방법 모두 제한된 자원에서 다음 행동을 정하지만, 하나는 적대적 최적 응답을 재귀적으로 계산하고 다른 하나는 표본의 평균과 불확실성을 관리한다. 문제에서 주어진 정보가 완전한 말단가치인지, 반복 가능한 시뮬레이션 결과인지 먼저 확인하면 방법을 구분하기 쉽다.
핵심 개념 정리
- 대결 가치: MAX는 큰 값, MIN은 작은 값을 선택하며 잎의 가치가 루트로 전달된다.
- 제한 깊이: 종단상태까지 갈 수 없으면 경험적 평가함수로 잘린 잎의 가치를 추정한다.
- 경계 전달: α는 MAX가 확보한 값, β는 MIN이 확보한 값이며 α≥β이면 영향 없는 나머지 가지를 자른다.
- 표본 순환: MCTS는 선택→확장→시뮬레이션→역전파를 시간 예산 동안 반복한다.
- 탐사와 활용: UCB1은 평균가치와 방문 불확실성 보너스를 합쳐 다음 표본 위치를 정한다.
- 최종 결정: 최대·강인한·최대-강인·안전한 자식은 탐색 종료 뒤 서로 다른 기준으로 실제 수를 고른다.
게임트리 문제는 “누구의 차례인가 → 잎의 값은 확정인가 추정인가 → 어떤 정보가 부모로 올라가는가 → 계산을 줄이는 경계나 표본 전략은 무엇인가 → 탐색 종료 뒤 실제 행동은 어떤 기준으로 고르는가”의 순서로 풀면 된다. 최대최소 값, α·β 경계와 MCTS 통계를 같은 숫자로 취급하지 않는 것이 핵심이다.
예상문제 10선
1. 최대최소 탐색이 루트 행동을 평가하는 관점으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
- ① 오답: 무작위 응답의 평균은 롤아웃 표본과 더 가까우며 최대최소는 최적 상대를 가정한다.
- ② 정답: 상대가 내 가치를 최소화해도 남는 결과 중 가장 큰 보장가치를 고른다.
- ③ 오답: 상대 차례에는 가장 큰 값이 아니라 내게 가장 불리한 최솟값이 올라온다.
- ④ 오답: 방문횟수 기준은 MCTS의 강인한 자식 선택이며 최대최소 계산이 아니다.
2. 루트 MAX의 행동 L, M, R 아래가 각각 MIN 노드이고 말단값이 L=(6,4), M=(8,1), R=(5,5)라면 선택할 행동은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: L 아래는 MIN 차례이므로 6이 아니라 min(6,4)=4가 전달된다.
- ② 오답: 상대는 M에서 1을 선택할 수 있어 M의 보장가치는 1이다.
- ③ 오답: 최대최소는 두 잎의 평균이 아니라 MIN 값을 비교한다.
- ④ 정답: L, M, R의 MIN 값은 4, 1, 5이고 루트 MAX는 5인 R을 택한다.
3. 종단상태와 깊이 제한 상태의 가치 처리 차이로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
- ① 정답: 종단에서는 승패가 확정되지만 잘린 잎은 아직 진행 중이므로 경험적 가치를 추정한다.
- ② 오답: 방문횟수는 MCTS 통계이고 최대최소의 말단가치 결정 기준이 아니다.
- ③ 오답: 경험적 평가가 필요한 쪽은 결과가 확정되지 않은 깊이 제한 상태다.
- ④ 오답: 깊이 제한은 자원 설정일 뿐 그 상태의 게임 결과를 무승부로 바꾸지 않는다.
4. α-β 가지치기에 대한 설명 중 수정이 필요한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
- ① 오답 아님: α는 MAX 관점에서 이미 확보한 하한을 전달한다.
- ② 오답 아님: 유리한 경계를 일찍 얻으면 이후 분기를 더 빨리 자를 수 있다.
- ③ 정답: 생략한 가지는 결정을 뒤집을 수 없다고 증명된 부분이므로 정확한 최대최소 답은 유지된다.
- ④ 오답 아님: 두 경계가 교차하면 더 조사해도 조상 결정에 영향이 없다.
5. MCTS 한 번의 반복 순서로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: 새 자식을 트리에 붙이는 확장이 롤아웃 시작점보다 먼저 이루어진다.
- ② 오답: 내려갈 경로를 선택한 뒤 확장하며 결과가 생기기 전에 역전파할 수 없다.
- ③ 오답: 시뮬레이션은 선택과 확장으로 시작점을 정한 뒤에 수행한다.
- ④ 정답: 경로 선택, 새 노드 추가, 게임 표본 생성, 경로 통계 갱신의 순서다.
6. 평균가치가 같은 두 자식 중 n1은 4회, n2는 1회 방문했다. 부모 방문횟수와 C가 같을 때 UCB1의 탐사 항이 더 큰 자식은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
- ① 오답: Ni는 제곱근 안의 분모이므로 방문이 많을수록 탐사 항이 작아진다.
- ② 정답: n2는 덜 조사되어 √(ln Np/Ni)가 더 크고 다시 시험할 보너스를 얻는다.
- ③ 오답: 평균가치는 활용 항만 같게 하며 방문횟수 차이가 탐사 항을 바꾼다.
- ④ 오답: UCB1은 자식 Ni와 부모 Np를 모두 사용한다.
7. 지금까지 평균보상은 조금 낮지만 방문이 매우 적은 수를 다시 시험하게 하는 MCTS 원리는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
- ① 오답: 평균가치만 따르면 현재 가장 좋아 보이는 수에 표본이 집중된다.
- ② 오답: MIN 집계는 최대최소의 적대적 응답 계산이며 방문 불확실성을 다루지 않는다.
- ③ 정답: 적은 방문으로 평가가 불확실한 수에 UCB 상한 보너스를 주는 것이 탐사다.
- ④ 오답: 확정 승리값은 결과 표현이며 덜 조사한 행동을 선택하게 하는 장치가 아니다.
8. 강인한 자식과 최대 자식의 결정적 차이는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
- ① 정답: 최종 행동에서 강인함은 많이 검토된 정도, 최대는 관측 보상의 크기를 뜻한다.
- ② 오답: α와 β는 최대최소 가지치기의 경계이지 MCTS 최종 자식 기준이 아니다.
- ③ 오답: 두 전략은 시간 예산 종료 후 루트 자식 중 실제 행동을 고르는 방법이다.
- ④ 오답: UCB1은 탐색 중 다음 표본 경로 선택에 쓰며 최종 전략과 구분된다.
9. 매우 큰 게임트리에서 반복 가능한 롤아웃이 있고, 제한 시간 동안 유망성과 불확실성을 함께 관리하려면 가장 적합한 접근은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: 매우 큰 트리에서 모든 말단 전개는 주어진 시간 제약과 맞지 않는다.
- ② 오답: 잘린 비종단상태를 평가하지 않으면 고정 깊이 최대최소의 값을 비교할 근거가 없다.
- ③ 오답: 한 번의 표본은 변동성이 크므로 누적가치와 방문횟수를 갱신해야 한다.
- ④ 정답: UCT가 활용과 탐사를 조절하고 반복 표본의 통계가 시간에 따라 개선된다.
10. 강의의 알파고 사례에서 정책망과 가치망의 역할을 바르게 연결한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
- ① 오답: 상태가치 평가는 가치망의 역할이며 방문횟수는 MCTS 노드 통계다.
- ② 오답: α와 β는 최대최소 가지치기 경계로 정책·가치망의 출력 구분이 아니다.
- ③ 정답: 정책 정보는 볼 방향을 좁히고 가치 예측은 해당 상태의 유리함을 평가한다.
- ④ 오답: 역전파와 트리 확장은 MCTS 단계이며 두 신경망의 역할을 그렇게 분리하지 않는다.
참고 자료와 작성 기준
이 글은 해당 차시 강의자료를 바탕으로 학습 목적에 맞게 재구성한 비공식 학습자료입니다. 게임트리의 정보 흐름, 계산 예제와 문제 해설은 학습자의 이해를 돕도록 구성하고 검토했습니다.
- 작성·편집: 올에이클래스 학습연구팀
- 주요 근거: 한국방송통신대학교 컴퓨터과학과 「인공지능」 4강 ‘게임트리’ 강의자료(2025)
- 보충 자료: 외부 보충 자료를 별도로 사용하지 않고 해당 강의자료의 범위 안에서 재구성했습니다.
- 편집 원칙: 올에이클래스 편집 정책
- 최종 내용 검토: 2026-08-17
댓글
댓글 쓰기