기본 콘텐츠로 건너뛰기

방송대 방통대 인공지능 4강 - 게임트리 - 요약 노트 시험족보 예상문제 - 올에이클래스

0-썸네일-요약노트-인공지능-4강

인공지능 4강 - 게임트리

상대방도 최적으로 행동한다고 가정하는 최대최소 탐색의 원리와 α-β 가지치기를 학습한다. 이어서 무작위 표본화로 거대한 게임트리를 탐색하는 몬테카를로 트리 탐색의 선택·확장·시뮬레이션·역전파 단계와 알파고의 활용 방식을 이해한다.

게임트리와 최대최소 탐색

대결 상황의 의사결정

게임에서는 내가 유리한 수를 선택하려 해도 상대방은 나에게 가장 불리한 수로 대응하려 한다. 따라서 현재 수만 평가해서는 충분하지 않다. 내 수 이후에 상대방이 할 수 있는 대응과 다시 내가 선택할 수 있는 수를 트리로 펼쳐 보고, 두 참여자가 모두 자신에게 최적인 선택을 한다고 가정해야 한다.

최대최소 탐색(minimax search)은 이러한 대결 상황에서 사용하는 탐색 방법이다. 자신의 차례인 최대화 노드에서는 후계상태 중 자신의 관점에서 가장 큰 값을 선택한다. 상대방 차례인 최소화 노드에서는 상대가 자신에게 가장 불리한, 즉 가장 작은 값을 선택한다고 가정한다.

노드의미선택 규칙
최대화 노드나의 차례후계노드의 값 중 최댓값 선택
최소화 노드상대방의 차례후계노드의 값 중 최솟값 선택

시험 핵심: 최대최소 탐색은 나와 상대방이 각자의 관점에서 최적 선택을 한다고 가정하고, 나에게 최악의 대응을 하는 상대를 대상으로 내 결정의 가치가 최대가 되도록 한다.

최대최소 값의 계산

게임트리의 말단 또는 정해진 깊이의 노드에 평가값을 부여한 뒤, 아래에서 위로 값을 전달한다. 최소화 층에서는 자식 중 가장 작은 값을, 최대화 층에서는 자식 중 가장 큰 값을 부모의 값으로 삼는다. 이 과정을 루트까지 반복하면 현재 상태에서 선택할 최선의 수가 결정된다.

강의의 예에서 최소화 노드 B의 자식 값은 2와 5이므로 B의 값은 2이다. C의 자식 값은 3, 12, 7이므로 C의 값은 3이고, D의 자식 값은 5, 7, 8이므로 D의 값은 5이다. 루트 A는 최대화 노드이므로 2, 3, 5 중 최댓값인 5를 선택하고 D로 가는 수를 둔다.

값을 올리는 방향을 혼동하지 않는 것이 중요하다. 말단에서 루트로 계산하되, 현재 노드가 누구의 차례인지에 따라 최댓값과 최솟값을 번갈아 선택한다.

탐색 깊이와 평가함수

게임트리가 매우 크면 가능한 모든 수를 종단상태까지 탐색할 수 없다. 종단상태는 승리·패배·무승부처럼 더 이상 게임을 진행할 수 없는 상태이다. 실제 시스템은 계산시간과 메모리 같은 가용자원에 맞춰 탐색 깊이를 정하고, 제한 깊이에 도달하면 평가함수로 그 상태의 가치를 추정한다.

삼목게임에서는 두 사람이 3×3 판에 번갈아 수를 두고 가로·세로·대각선 한 줄을 먼저 차지하면 이긴다. 강의의 평가함수는 승리 상태에 +∞, 패배 상태에 -∞를 부여하고, 그 외 상태에는 F = W - L을 사용한다. W는 내가 이길 가능성이 있는 행·열·대각선 수이고, L은 내가 질 가능성이 있는 행·열·대각선 수이다.

구분: 종단상태의 실제 효용과 제한 깊이에서 평가함수로 추정한 값은 다르다. 깊이를 제한하면 계산량은 줄지만 평가함수의 품질이 선택의 정확도에 큰 영향을 준다.

α-β 가지치기의 원리

α-β 가지치기(alpha-beta pruning)는 최대최소 탐색 결과를 바꾸지 않으면서 최종 결정에 영향을 줄 수 없는 가지를 탐색하지 않는 방법이다. 불필요한 후계노드를 잘라 내어 같은 자원으로 더 깊이 탐색하거나 더 빠르게 결정을 내릴 수 있다.

α 값과 α 가지치기

α는 어떤 최대화 노드의 최대화 과정에서 지금까지 구한 가장 큰 값이다. 앞으로 조사할 최소화 노드가 이보다 큰 값을 가져야만 그 최대화 노드의 선택을 바꿀 수 있다. 최소화 노드에서 한 후계노드의 값이 v일 때 α ≥ v라면 최소화 노드의 최종값은 α를 넘을 수 없으므로 나머지 후계노드를 가지치기한다.

β 값과 β 가지치기

β는 어떤 최소화 노드의 최소화 과정에서 지금까지 구한 가장 작은 값이다. 앞으로 조사할 최대화 노드가 이보다 작은 값을 가져야만 그 최소화 노드의 선택을 바꿀 수 있다. 최대화 노드에서 한 후계노드의 값이 v일 때 β ≤ v라면 최대화 노드의 최종값은 β보다 작아질 수 없으므로 나머지 후계노드를 가지치기한다.

구분기록하는 경계가지치기 조건
α최대화 과정에서 지금까지의 최댓값최소화 노드에서 α ≥ v이면 나머지 자식 생략
β최소화 과정에서 지금까지의 최솟값최대화 노드에서 β ≤ v이면 나머지 자식 생략

가지치기는 탐색 결과를 근사하는 방법이 아니다. 이미 얻은 경계만으로 선택 결과에 영향을 줄 수 없다고 논리적으로 확정된 가지를 생략하므로 최대최소 값은 그대로 유지된다.

α-β 탐색 알고리즘

루트에서는 α를 -∞, β를 +∞로 초기화한다. 최대화 함수는 후계노드의 최소화 값을 차례로 구하며 현재 최댓값과 α를 갱신한다. 계산된 최대값이 β 이상이면 β 경계 때문에 더 조사할 필요가 없어 즉시 반환한다. 최소화 함수는 후계노드의 최대화 값을 구하며 현재 최솟값과 β를 갱신하고, 계산된 최소값이 α 이하이면 나머지 후계노드를 생략한다.

종단상태이거나 미리 정한 깊이 제한에 도달하면 평가함수를 호출한다. 따라서 α-β 알고리즘은 최대화 함수와 최소화 함수가 서로를 재귀적으로 호출하며, 경계가 교차하는 순간 탐색을 중단하는 구조이다.

알고리즘 핵심: 최대화 노드는 α를 올리고 β를 넘으면 중단하며, 최소화 노드는 β를 낮추고 α 이하가 되면 중단한다.

몬테카를로 트리 탐색의 개요

몬테카를로 트리 탐색(Monte Carlo tree search, MCTS)은 게임과 같은 의사결정 문제에 활용되는 경험적 탐색 알고리즘이다. 전체 트리를 모두 펼치기보다 탐색공간을 무작위로 표본화하고, 반복 결과를 이용하여 유망한 경로에 탐색을 집중한다.

각 노드 ni는 게임의 특정 상태를 표현한다. 노드에는 현재 가치 vi, 방문횟수 Ni 같은 통계가 저장된다. 시도해 본 경로와 아직 검토하지 않은 경로가 함께 존재하며, 탐색은 지금까지 좋은 결과를 낸 경로의 활용과 덜 알려진 경로의 탐사 사이에서 균형을 잡는다.

개념의미
활용(exploitation)현재까지 가장 우수한 결과를 이끌어 낸 수를 더 선택
탐사(exploration)평가가 불확실하지만 향후 우수할 가능성이 있는 수를 시도

MCTS의 네 단계

선택

루트노드에서 시작하여 선택 전략에 따라 자식노드를 고르는 과정을 깊이 방향으로 반복한다. 아직 시도하지 않은 행동이 남은 노드에 도달할 때까지 기존 트리 안에서 경로를 선택한다.

확장

선택된 노드에서 아직 시도하지 않은 행동 하나를 택하여 새로운 자식노드를 만들고 트리에 추가한다. 전체 후계상태를 한꺼번에 생성하지 않고 반복마다 필요한 부분을 점진적으로 확장한다.

시뮬레이션

확장된 노드에서 게임이 끝날 때까지 스스로 수를 선택하여 플레이아웃 또는 롤아웃을 진행한다. 수는 순수 무작위로 고르거나 적절한 시뮬레이션 전략에 따른 유사 무작위 방식으로 고를 수 있다. 결과는 게임에 따라 승리 +1, 무승부 0, 패배 -1 등으로 정의한다.

역전파

시뮬레이션 결과를 확장 노드에서 루트까지 선택 경로를 거슬러 전달한다. 경로의 각 노드에서 가치 누적값과 방문횟수를 갱신한다. 이 통계가 다음 반복의 선택 전략에 사용된다.

순서: 선택 → 확장 → 시뮬레이션 → 역전파를 시간 예산 또는 계산 한계에 도달할 때까지 반복한다.

UCT와 UCB1 선택 전략

MCTS의 선택 단계는 활용과 탐사의 균형을 이뤄야 한다. 강의에서는 다중 슬롯머신 문제의 신뢰도 상한 개념을 트리에 적용한 UCT(upper confidence bound applied to trees)를 설명한다. 부모 np에서 자식 ni를 선택할 때 사용하는 UCB1 값은 다음과 같다.

UCB1(ni) = v̄i + C × √(ln Np / Ni)
i는 자식노드의 평균 가치, Ni는 자식 방문횟수, Np는 부모 방문횟수이며 C는 탐사 강도를 조절하는 상수이다.

첫 항 v̄i는 지금까지 성과가 좋은 노드를 선호하는 활용 항이다. 두 번째 항은 적게 방문한 노드의 값을 높이는 탐사 보너스이다. 부모의 자식 가운데 UCB1이 가장 큰 노드를 선택하므로 반복이 쌓일수록 좋은 성과와 정보 부족을 함께 고려하게 된다.

식 해석: Ni가 작으면 탐사 항이 커져 덜 방문한 자식이 선택될 기회를 얻는다. 평균 가치가 크면 활용 항이 커져 성과가 좋은 자식을 더 자주 선택한다.

시뮬레이션과 최종 행동 선택

시뮬레이션은 선택된 노드부터 종단상태까지 수를 진행하여 결과를 얻는다. 순수 무작위 방식은 단순하지만 게임 지식을 이용하지 못하며, 유사 무작위 방식은 적절한 전략을 포함해 더 의미 있는 표본을 얻을 수 있다. 역전파에서는 가치의 누적값과 방문횟수를 노드에 저장하고 평균값을 활용하는 경우가 많다.

계산 한계에 도달하면 루트의 자식 중 하나를 실제 수로 선택한다. 강의는 다음 네 전략을 제시한다.

전략선택 기준
최대 자식(max child)가장 큰 보상을 가진 자식
강인한 자식(robust child)방문횟수가 가장 많은 자식
최대-강인 자식(max-robust child)방문횟수가 가장 많고 보상도 가장 큰 자식
안전한 자식(secure child)신뢰도 하한이 최대인 자식

강의의 반복 예에서는 승·무·패 결과가 차례로 역전파되고 UCB1 값에 따라 경로가 달라진다. 5회 반복 뒤에는 자식 n2가 가장 많이 방문되어 강인한 자식 전략의 선택이 된다. 이 예는 MCTS가 한 번의 평가가 아니라 누적된 표본 통계로 의사결정을 개선한다는 점을 보여 준다.

알파고의 몬테카를로 트리 탐색

AlphaGo Fan은 몬테카를로 트리 탐색을 수행하면서 각 단계의 결정에 프로기사의 기보와 자가대국으로 학습된 신경망을 활용하였다. 바둑판의 돌 배치를 19×19 영상 형태로 전달하여 합성곱 신경망으로 학습·분류·회귀 처리하였다.

정책망은 어떤 수를 탐색할지 결정하고 가치망은 특정 상태의 가치를 평가한다. 지도학습 정책망은 프로기사의 기보에서 수를 예측하도록 학습하고, 강화학습 정책망은 정책 경사와 자가대국으로 개선된다. 가치망은 자가대국 상태의 승리 가능성을 회귀 방식으로 평가한다.

알파고의 MCTS에서 선택은 수의 가치 Q와 탐사를 장려하는 보너스 u(P)를 함께 고려한다. 확장 시 정책 확률 P를 이용하고, 평가 단계에서는 가치망의 상태 평가와 롤아웃 결과를 얻으며, 역전파를 통해 Q 값을 경로 위로 갱신한다. 이러한 구조는 이후 AlphaGo Lee, AlphaGo Master, AlphaGo Zero와 AlphaZero로 발전하였다.

알파고 사례의 핵심은 MCTS와 신경망의 결합이다. 트리 탐색이 후보 수를 비교하고, 정책망과 가치망이 방대한 바둑 상태에서 유망한 방향과 상태 가치를 효율적으로 제공한다.

최대최소 탐색과 MCTS 비교

구분최대최소 탐색MCTS
기본 관점양쪽이 최적 행동을 한다고 가정시뮬레이션 표본의 통계를 누적
값 계산최대화·최소화 값을 아래에서 위로 전달롤아웃 결과를 경로에 역전파
자원 제한 대응깊이 제한과 평가함수, α-β 가지치기시간 예산 안에서 유망한 부분을 점진적 확장
효율화 핵심결정에 영향 없는 가지 제거활용과 탐사의 균형

두 방법은 경쟁적 게임의 의사결정을 다루지만 자원 사용 방식이 다르다. 최대최소 탐색은 명시적인 적대적 최적 대응을 계산하고, MCTS는 반복 시뮬레이션을 통해 트리의 유망한 영역을 집중적으로 평가한다.

핵심 개념 정리

  • 최대최소 탐색은 최대화와 최소화 층을 번갈아 적용하여 최적 상대의 대응을 고려한다.
  • 전체 종단상태를 볼 수 없으면 깊이를 제한하고 평가함수로 상태 가치를 추정한다.
  • α는 최대화 과정의 현재 최댓값, β는 최소화 과정의 현재 최솟값이다.
  • α-β 가지치기는 최종 최대최소 값에 영향을 주지 않는 가지를 생략한다.
  • MCTS는 선택·확장·시뮬레이션·역전파를 반복하여 노드의 가치와 방문 통계를 갱신한다.
  • UCT의 UCB1은 평균 가치의 활용 항과 방문횟수에 따른 탐사 항을 결합한다.
  • 최종 수는 최대 자식, 강인한 자식, 최대-강인 자식, 안전한 자식 등의 기준으로 고를 수 있다.
  • 알파고는 MCTS에 정책망·가치망·롤아웃을 결합하여 바둑의 방대한 탐색공간을 다루었다.

최종 정리: 게임트리 탐색의 핵심은 제한된 계산 자원을 어디에 사용할지 결정하는 데 있다. 최대최소 탐색은 상대의 최적 대응을 구조적으로 계산하고 α-β 가지치기로 불필요한 탐색을 줄이며, MCTS는 활용과 탐사의 균형 속에서 표본 통계를 축적하여 유망한 수를 선택한다.

예상문제 20선

1. 최대최소 탐색의 기본 가정으로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
최대최소 탐색은 나와 상대 모두 최적으로 행동한다고 가정하고 상대의 최악 대응까지 고려해 수를 선택한다.

2. 최대화 노드에서 수행하는 연산은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
최대화 노드는 나의 차례를 나타내며 나에게 가장 유리한 가장 큰 평가값을 선택한다.

3. 자식 값이 각각 3, 12, 7인 최소화 노드의 값은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
최소화 노드는 자식 값 중 최솟값을 선택하므로 min(3, 12, 7) = 3이다.

4. 게임트리를 종단상태까지 탐색할 수 없을 때 사용하는 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
가용 시간과 메모리에 맞춰 깊이를 제한하고 그 지점의 상태를 평가함수로 추정한다.

5. 강의의 삼목게임 평가함수에서 비종단상태에 적용한 식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
W는 이길 가능성이 있는 줄의 수, L은 질 가능성이 있는 줄의 수이며 비종단상태는 W-L로 평가한다.

6. α-β 가지치기에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
α-β 가지치기는 현재 경계로 보아 최종 선택을 바꿀 수 없는 가지를 탐색하지 않아 성능을 높인다.

7. α가 나타내는 값은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
α는 최대화 노드가 현재까지 확보한 최선의 하한, 즉 지금까지 구한 가장 큰 값을 기록한다.

8. 최소화 노드에서 자식 값 v를 확인했을 때 α 가지치기가 가능한 조건은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
최소화 노드의 값이 이미 α 이하라면 상위 최대화 노드는 이 가지를 선택하지 않으므로 나머지 자식을 생략할 수 있다.

9. β 가지치기가 일어나는 상황으로 알맞은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
최대화 노드의 값이 이미 β 이상이면 상위 최소화 노드는 이 가지를 선택하지 않으므로 나머지를 조사할 필요가 없다.

10. 몬테카를로 트리 탐색의 특징으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
MCTS는 전체 트리를 완전 탐색하지 않고 시뮬레이션 표본의 통계를 축적하며 유망한 부분을 점진적으로 확장한다.

11. MCTS의 네 단계를 올바른 순서로 나열한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
기존 트리에서 경로를 선택하고 새 노드를 확장한 뒤 롤아웃을 수행하며 그 결과를 루트 방향으로 역전파한다.

12. MCTS의 확장 단계에서 수행하는 일은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
확장은 선택된 노드의 미시도 행동 하나를 적용한 자식노드를 새로 생성하는 단계이다.

13. MCTS의 역전파 단계에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
롤아웃 결과는 선택된 경로를 역방향으로 이동하면서 각 노드의 누적 가치와 방문 통계에 반영된다.

14. UCB1 식에서 자식노드의 평균 가치가 담당하는 역할은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
평균 가치가 클수록 지금까지 좋은 결과를 낸 노드이므로 이를 다시 선택하려는 활용 성향이 커진다.

15. UCB1에서 자식 방문횟수 Ni가 작을 때 일반적으로 나타나는 효과는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
탐사 항의 분모에 Ni가 있으므로 방문이 적은 자식은 상대적으로 큰 보너스를 받아 평가 기회를 얻는다.

16. 시뮬레이션 단계의 수 선택 방법으로 강의에서 제시한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
롤아웃은 순수 무작위로 진행하거나 게임에 적합한 전략을 넣은 유사 무작위 방식으로 진행할 수 있다.

17. 강인한 자식(robust child) 전략의 선택 기준은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
강인한 자식은 반복 탐색에서 가장 많은 방문을 받은 루트의 자식을 최종 행동으로 선택한다.

18. 최대-강인 자식(max-robust child)에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
최대-강인 자식은 방문횟수와 보상이라는 두 기준을 모두 만족하는 자식을 선택하는 전략이다.

19. AlphaGo Fan에서 정책망과 가치망의 역할을 바르게 설명한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
정책망은 탐색할 후보 수의 확률을 제공하고 가치망은 특정 바둑 상태의 승리 가능성과 가치를 평가한다.

20. 최대최소 탐색과 MCTS의 비교로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
최대최소는 적대적 최적 선택을 명시적으로 계산하고, MCTS는 반복 표본의 가치와 방문 통계를 통해 탐색을 집중한다.

댓글