휴리스틱으로 강화학습 Agent 구현

캐글 강화학습 입문 대회 참여부터 결과물 제출까지 #2

by hansung dev

캐글에서 강화학습 Learming Course를 제공하고 있습니다. 이 과정은 Connect X 대회에 참여하여 강화 학습을 경험해볼 수 있도록 구성되어있습니다.

캐글 강화학습 입문 대회 Connect X

Learming Course 두 번째 과정인 One-Step Lookahead을 살펴보도록 하겠습니다.



Introduction

이번 과정은 휴리스틱을 이용하여 Agent를 만들어보겠습니다. 휴리스틱의 사전적 의미는 아래와 같습니다.

컴퓨터로 어떤 문제를 풀 때 경험적 지식을 이용하여 답을 구하는 방법 (정보·통신) - NAVER사전

경험적 지식으로 문제 해결을 하기 위해 Connect Four 게임 규칙에 대해서 리마인드 해보겠습니다. Connect Four는 두 명의 플레이어가 번갈아 가며 컬러 디스크를 수직 그리드에 떨어뜨리는 게임입니다. 각 플레이어는 다른 색(일반적으로 빨간색 또는 노란색)을 사용하며, 게임의 목적은 연속해서 디스크 4개를 얻는 첫 번째 플레이어가 승리하는 게임입니다.

Connect Four 보드게임

Heuristics

Connect Four에 하나의 경험적 접근법이 수평, 수직 또는 대각선 라인에 있는 4개의 인접 위치의 각 그룹을 정의하고 보상이 가장 높은 Action을 선택 합니다.

10000점 : 에이전트에 4개의 디스크가 연속으로 있는 경우

1점 : 에이전트가 3개 지점을 채웠는데 나머지 지점이 비어 있는 경우

-100점 : 상대가 3자리 채웠을 때 나머지 자리가 비어 있는 경우

vzQa4ML.png

아래 예시의 경우 7가지 이동 가능성이 있습니다. 위 경험적 접근법을 이용해서 살펴보면 첫 번째 보드가 가장 높은 점수 2점을 받게 됩니다. Agent는 2점을 받는 Action (=Best Move)을 선택하게 됩니다.

PtnLOHt.png

Code

휴리스틱을 이용한 Agent를 구현해보도록 하겠습니다. 지금까지 알아본 휴리스틱의 경우는 몇 수 앞이 아닌 오직 한 단계 앞만을 보고 Action 합니다. 자세한 코드는 One-Step Lookahead를 참고 부탁드립니다.

스크린샷 2020-12-24 오후 9.46.55.png 휴리스틱으로 구현한 Agnet 코드

실행 후 Agent의 성능을 평가해보겠습니다. 램덤 Action과 비교 시 99%로 승리하는 것을 확인했습니다.

스크린샷 2020-12-24 오후 10.51.42.png

첫 과정의 agent_leftmost(=왼쪽으로 Action) 하고 성능 비교한 결과 휴리스틱 기반의 Agent가 100%로 승리하는 결과를 확인할 수 있습니다. 다음 시간에는 한 단계 앞이 아닌 N단계 앞을 내다보면서 Action 하는 Agent를 만들어보도록 하겠습니다.

스크린샷 2020-12-24 오후 10.57.44.png

Your turn

Connect X 대회에 improve the heuristic트북 등을 참고하여 제출해보세요.



다음 시간에는 "N-Step Lookahead"과정을 살펴보도록 하겠습니다.
매거진의 이전글Connect X 대회 시작하기