2.1 주피터 노트북 체험 페이지 사용법
2.2 미로와 에이전트 구현
이번 장의 태스크가 될 미로는 3x3칸으로 붉은 색으로 표시된 벽은 통과가 불가능하다. S0은 시작 지점이며 오른 쪽 하단의 S8이 목표지점이다. 동그라미로 나타낸 에이전트(책에서는 주황색이지만 화면에서는 녹색으로 나온다)를 이 미로의 목표 지점에 도달시켜야 한다.
# 구현에 사용할 패키지 임표트하기
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 초기 상태의 미로 모습
# 전체 그림의 크기 및 그림을 나타내는 변수 선언
fig = plt.figure(figsize = (5, 5))
ax = plt.gca()
# 붉은 벽 그리기
plt.plot([1,1], [0,1], color = 'red', linewidth = 2)
plt.plot([1,2], [2,2], color = 'red', linewidth = 2)
plt.plot([2,2], [2,1], color = 'red', linewidth = 2)
plt.plot([2,3], [1,1], color = 'red', linewidth = 2)
# 상태를 의미하는 문자열(S0~S8) 표시
plt.text(0.5, 2.5, 'S0', size = 14, ha = 'center')
plt.text(1.5, 2.5, 'S1', size = 14, ha = 'center')
plt.text(2.5, 2.5, 'S2', size = 14, ha = 'center')
plt.text(0.5, 1.5, 'S3', size = 14, ha = 'center')
plt.text(1.5, 1.5, 'S4', size = 14, ha = 'center')
plt.text(2.5, 1.5, 'S5', size = 14, ha = 'center')
plt.text(0.5, 0.5, 'S6', size = 14, ha = 'center')
plt.text(1.5, 0.5, 'S7', size = 14, ha = 'center')
plt.text(2.5, 0.5, 'S8', size = 14, ha = 'center')
plt.text(0.5, 2.3, 'START', ha = 'center')
plt.text(2.5, 0.3, 'GOAL', ha = 'center')
# 그림을 그릴 범위 및 눈금 제거 설정
ax.set_xlim(0, 3)
ax.set_ylim(0, 3)
plt.tick_params(axis = 'both', which = 'both',
bottom = False, top = False, labelbottom = False, right = False, left = False, labelleft = False)
# S0에 녹색 원으로 현재 위치를 표시
line, = ax.plot([0.5], [2.5], marker = "o", color = 'g', markersize = 60)
"
"
"
"
"
"
"
"
"
"
"
"
"
Reference