navis
인공지능 4강 (게임트리) 본문
728x90
학습개요
- 게임은 지능적 판단과 전략을 활용해야 하기 때문에 인공지능 기법을 적용함으로써 지능적 메커니즘 구현을 확인할 수 있는 응용분야이다. 이번 시간에 학습할 게임트리는 장기나 바둑과 같은 게임을 진행할 때 활용할 수 있는 접근방법이다. 상대방이 있는 게임에서 다음 둘 수를 결정하는 과정과 탐색의 효율을 높이기 위한 방법에 대하여 논의할 것이다.
학습목표
- 최대최소 탐색을 통해 게임의 수를 결정하는 방법을 설명할 수 있다.
- 게임트리에서 불필요한 가지의 탐색을 줄여 효율성을 높이는 방법을 설명할 수 있다.
- 몬테카를로 트리 탐색의 개념을 설명할 수 있다.
- 몬테카를로 트리 탐색 알고리즘의 선택, 확장, 시뮬레이션, 역전파 단계를 설명할 수 있다.
주요용어
- 최대최소 탐색 : 교대로 수를 두는 2인 게임에서 나의 수와 상대의 응수를 나타내는 게임 트리에서 수를 결정하기 위한 탐색 기법
- α-β 가지치기 : 최대최소 탐색트리의 불필요한 가지를 잘라냄으로써 탐색의 성능을 높이기 위한 알고리즘
- 몬테카를로 트리 탐색 : 게임과 같은 의사결정 문제의 해결을 위해 무작위 표본화를 바탕으로 구성되는 탐색 트리로부터 최적의 선택을 하기 위한 경험적 탐색 알고리즘
- A* 알고리즘 : 다음 확장할 노드를 결정할 때 그 노드까지 도달하는 경로비용과 그 노드로부터 목표노드에 도달하기 위한 경로비용 예측치의 합이 최소인 노드를 선택하여 탐색하는 방법
정리하기
- 1. 최대최소 탐색
- 1) 나와 상대방이 최적의 선택을 한다는 가정하에 나에게 최악인 선택을 하는 상대방을 대상으로 나의 결정의 가치가 최대가 되는 결정을 내리는 방식으로 게임을 진행한다.
- 2) 최대화와 최소화를 번갈아 반복하여 가장 우수한 후계노드를 선택한다.
- 3) 계산시간이나 메모리 등의 자원 한계를 고려하여 적절한 깊이 이상이 되면 경험적 지식을 반영하여 정의한 평가함수를 이용해서 그 상태의 가치를 추정한다.
- 4) 탐색이 불필요한 가지를 잘라 내어 탐색의 성능을 높이기 위해 α-β 가지치기 알고리즘을 활용할 수 있다.
- 2. 몬테카를로 트리 탐색
- 1) 의사결정 문제에 활용되는 경험적 탐색 알고리즘으로, 탐색공간의 무작위 표본화를 바탕으로 탐색트리를 구성한다.
- 2) 선택, 확장, 시뮬레이션, 역전파 단계를 반복한다.
- 3) 선택 단계에서는 탐사와 활용의 균형을 이룰 수 있는 전략을 활용하며, UCT 알고리즘은 잘 알려진 선택전략 중 하나이다.
- 4) 시뮬레이션 단계에서는 순수한 무작위 방법이나 적절한 전략에 따른 유사 무작위 방법으로 수를 선택하는 방법을 사용할 수 있다.
- 5) 최종적인 최적 행동 선택을 위해서는 최대 자식, 강인한 자식, 최대-강인 자식, 안전한 자식 등 적절한 전략을 선택할 수 있다.
'방송통신대 컴퓨터과학과' 카테고리의 다른 글
파이썬 문제 (0) | 2024.04.12 |
---|---|
운영체제 4강 (병행프로세스) (0) | 2024.04.12 |
알고리즘 4강 (정렬) (1) | 2024.04.12 |
운영체제 3강 (프로세스 스케줄링) (0) | 2024.04.11 |
인공지능 3강 (탐색에 의한 문제풀이) (0) | 2024.04.11 |