익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
몬테 카를로 정보 검색
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
Monte Carlo Tree Search(MCTS)은 게임 트리 탐색 및 의사결정 문제에서 사용되는 휴리스틱 기반 검색 알고리즘이다. ==개요== Monte Carlo Tree Search는 게임이나 의사결정 도메인에서 가능한 행동의 결과를 평가하기 위해 반복적인 무작위 시뮬레이션(플레이아웃)과 트리 기반 탐색을 결합한 방법이다. 이를 통해 대수의 상태 공간에서도 유망한 움직임을 효과적으로 탐색할 수 있다. ==역사== 2006년 Rémi Coulom이 게임 트리 탐색에 몬테카를로 방법을 적용하고 “Monte Carlo Tree Search”라는 이름을 만든 것이 기원이다. 이후 Kocsis와 Szepesvári가 UCT(Upper Confidence bounds applied to Trees) 알고리즘을 제안하며 현재 널리 사용되는 MCTS 기반 기법의 기본 틀을 마련했다. ==기본 동작 원리== MCTS의 한 라운드는 다음 네 가지 단계로 구성된다<ref>https://gibberblot.github.io/rl-notes/single-agent/mcts.html</ref><ref>https://www.geeksforgeeks.org/machine-learning/ml-monte-carlo-tree-search-mcts/</ref>: *선택(Selection): 루트(root) 노드에서 시작해 자식 노드들 중 UCT 기준(UCB1 기반)을 이용해 유망한 노드를 따라 내려가다, 확장되지 않은 리프(leaf) 지점에 도달. *확장(Expansion): 해당 리프 노드에 자식 노드를 생성하고 하나를 선택. *시뮬레이션(Simulation 또는 Playout): 선택된 노드로부터 무작위로 게임을 진행해 결과(승패 등)를 얻음. *역전파(Backpropagation): 시뮬레이션 결과를 선택 경로상의 노드에 전파하여 승리 횟수 및 시뮬레이션 횟수를 갱신. ==탐색 전략: 탐색 vs 활용== UCT 알고리즘은 다음 공식을 통해 탐색(exploration)과 활용(exploitation)의 균형을 유지한다<ref>https://gibberblot.github.io/rl-notes/single-agent/mcts.html</ref>: wᵢ/nᵢ + c·√(ln Nᵢ / nᵢ) 여기서 wᵢ는 특정 움직임에서 승리한 시뮬레이션 횟수, nᵢ는 해당 시뮬레이션 횟수, Nᵢ는 부모 노드에서의 전체 시뮬레이션 수, c는 탐험 계수이다. 이 공식은 승률이 높은 움직임을 우선 탐색하면서도, 아직 충분히 탐색되지 않은 움직임도 일정 정도 고려하게 한다. ==장점과 한계== *장점 **상태 공간이 매우 크더라도 유망한 경로 중심으로 비대칭적 트리 확장이 가능 **도메인에 대한 전문 지식 없이도 작동 가능 (규칙 기반 평가 함수 없이)<ref>https://en.wikipedia.org/wiki/Monte_Carlo_tree_search</ref> **Anytime 알고리즘으로서 계산 시간 내에 더 깊이 탐색할수록 성능 향상<ref>https://gibberblot.github.io/rl-notes/single-agent/mcts.html</ref> *한계 **충분히 시뮬레이션하지 못한 경우, 잠재적인 ‘함정(trap state)’을 간과할 수 있음<ref>https://www.geeksforgeeks.org/machine-learning/ml-monte-carlo-tree-search-mcts/</ref> **탐색 초기 단계에는 무작위에 가까운 행동을 선택하게 되어 비효율적일 수 있음 **메모리 및 계산 자원 소모가 크고, 고성능 병렬화 기법이 필요할 수 있음 ==응용 사례== *게임 AI: 바둑(Go), 체스, 쇼기, 스크래블, Arimaa 등 다양한 보드 게임에서 강력한 성능을 보임<ref>https://en.wikipedia.org/wiki/Monte_Carlo_tree_search</ref><ref>https://www.chessprogramming.org/Monte-Carlo_Tree_Search</ref> *알파고 계열 AI: AlphaGo, AlphaZero, 그리고 MuZero는 MCTS와 신경망 기반 예측 모델을 결합해 인간 이상의 성능을 달성<ref>https://www.newyorker.com/science/elements/how-the-artificial-intelligence-program-alphazero-mastered-its-games</ref> *비게임 분야: 전략 기획, 리소스 할당, POMDP 해결 등 의사결정 문제에 적용 가능 ==같이 보기== *[[MuZero]] *[[AlphaZero]] *[[강화학습]] *[[상태 공간 탐색]] *[[UCT 알고리즘]] ==참고 문헌== *Cameron Browne 외, “A Survey of Monte Carlo Tree Search Methods”, IEEE Transactions on Computational Intelligence and AI in Games, 2012 *Rémi Coulom, “Efficient Selectivity and Backup Operators in Monte‑Carlo Tree Search”, *Computers and Games*, 2006 ==각주== <references /> [[분류:인공지능]] [[분류:강화 학습]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록