rlcode / reinforcement-learning-kr

[파이썬과 케라스로 배우는 강화학습] 예제
MIT License
371 stars 228 forks source link

MC_learning.py 관련 문의 #58

Open goodjian7 opened 3 years ago

goodjian7 commented 3 years ago

안녕하세요 좋은 책으로 강화학습 잘 공부하고 있습니다.

mc_learning.py 을 보다가 좀 이해가 안되는 부분이 있어 글을 남깁니다. 코드에서 실제로 에피소드마다 update하는 것은 q함수가 아니라 상태함수인 것 같습니다. 그런데 코멘트에는 q함수를 업데이트 한다고 나와 있습니다. 각 상태 s에서 action a 를 고려하지 않고, 테이블 인자도 row, col두개뿐인 걸로 보아 q함수가 아닌 것 같습니다.

그리고 MDP를 몰라서 MC로 state함수를 근사한 것인데, state value함수에서 policy를 도출해 agent가 움직입니다. possible_state함수에서 전이가능한 모든 상태(상하좌우)의 state value 값으로 현 상태의 policy를 제공해 주는 방식입니다.

그런데, 전체 state에서 다음 possible_state를 추려 낼 수 있다는 것은 사전에 상태전이 확률을 알고 있다고 쳐야되는것 아닐까요? 그렇다면, MDP를 모른다는 전제에 위배되는 것이라고 생각합니다.

코드가 상태가치함수를 업데이트 한다고 코멘트에 반영되어야 할 것 같습니다. 또, MDP를 안다 치고 데모를 위해 미리 알고 있는 상태전이확률로 정책을 얻어내는 것이라면 추가로 코멘트가 있어야 할 것 같습니다.

강화학습을 공부할 책이 별로 없었는데 덕분에 잘 공부하고 있습니다. 감사합니다.