77
3
장
분산 애플리케이션 개발
는 행동을 피하려고 한다는 사실에서 개념을 얻어왔습니다.
일반적으로 에이전트와 환경의 상호작용은 환경에 대한 컴퓨터 시뮬레이션을 생성해서 모델링
됩니다. 실제로 어떻게 작동하는지 아이디어를 주기 위해 에이전트가 환경에서 행동하는 시뮬
레이션을 만들겠습니다.
3.2
간단한 미로 문제 설정
이전 장과 마찬가지로 이 장의 예시를 코딩하기를 추천합니다. 만약 원하지 않는다면 이 장에
대한 노트북 (
https
://
github
.
com
/
hanbit
/
learning
-
ray
)을 따라하면 됩니다.
이번에 만드는 앱의 세부사항은 다음과 같습니다.
●
한 명의 플레이어가 네 방향으로 이동하는 간단한
2D
미로 게임을 구현합니다.
●
플레이어가 움직일
5x5
격자 형태의 미로를 만듭니다.
25
개의 칸 중 하나는 시커(
seeker
)라 불리는 플
레이어가 도달해야 하는 ‘목표’입니다.
●
시커가 목표를 찾는 방법을 배우도록 설루션을 하드코딩하는 대신 강화학습 알고리즘을 사용합니다.
●
미로를 반복적으로 시뮬레이션해 목표를 찾은 시커에게 보상을 주고 어떤 결정이 효과적이었고, 어떤 결
정이 효과적이지 못했는지 추적해봅니다. 실행 중인 시뮬레이션을 병렬화할 수도 있고 강화학습 알고리
즘도 병렬화되므로 레이
API
를 사용해서 전체 과정을 병렬화합니다.
아직은 여러 노드로 구성된 레이 클러스터에서 애플리케이션을 만들 준비가 되지 않았습니다.
그래서 일단은 로컬 클러스터에서 작업할 예정입니다. 인프라에 관심이 있고 레이 클러스터를
설정하는 방법을 ...