나는 '3x4 windy gridworld'MDP에 대한 가치 반복을 구현하려고 시도하고 있으며 Bellman 방정식과 그 구현을 이해하는 데 어려움을 겪고 있습니다.
제가 작업하고있는 Bellman 방정식의 형태는 다음과 같습니다.
이것이 제가 작업중인 그리드 워드이고 U(s)
X로 표시된 타일 의 값 ( ) 을 찾고 싶다고 가정합니다.
( 이 비디오의 이미지 스냅 샷 )
모든 타일의 보상은 터미널 타일이 0으로 정의 될 것으로 예상하고 특정 방향으로 이동하려고하면 실제 이동이 직각으로 일어날 확률이 적다고 가정합니다. 의도 된 움직임. (x에서 아래로 이동하려고하면 0.8 확률로 아래로 이동하지만 각각 0.1 확률로 왼쪽 또는 오른쪽으로 이동합니다)
이제 위치 x에 대한 벨맨 방정식을 풀려고하면 U(s')
'UP'동작에 대한 세 개의 이웃 ( )이 있습니다. 원래 위치 자체 (위로 이동할 수 없기 때문에)는 확률 0.8, +1 상태는 확률 0.1, 타일 왼쪽은 확률 0.1입니다. 이것들은 s'
상태를 형성합니다 .
따라서 상태 X의 값을 찾는 함수는 모든 상태를 재귀 적으로 호출합니다 s'
. 이 중 +1 상태는 터미널 타일이고 기본 케이스를 구성하므로 문제가되지 않습니다. 그러나 그 상태 중 하나는 원래 상태 X 자체이며 해당 케이스가 재귀 호출에서 어떻게 종료되는지 이해하지 못합니다. 세 번째 타일에도 동일한 문제가 있습니다. 그것은 지금까지 모든 호출 후 종료됩니다 그것의 이웃 등등?
값 반복 은 그 자체로 끝나지 않습니다 . γ <1과 무한하지 않은 보상이있는 한 정확한 값으로 점근 적으로 수렴합니다.
실제로 할인 기간 (각 재귀 수준에서 γ에 의해 확장 됨)이 너무 작아지면 다음 항목을 계속 계산해 U(s')
도 이미 누적 된 값에 영향을 미치지 않을 때마다 종료 할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다