# 산악 자동차 훈련하기 [OpenAI Gym](http://gym.openai.com)은 모든 환경이 동일한 API를 제공하도록 설계되었습니다. 즉, `reset`, `step`, `render`와 같은 동일한 메서드와 **action space** 및 **observation space**의 동일한 추상화를 제공합니다. 따라서 동일한 강화 학습 알고리즘을 최소한의 코드 변경으로 다양한 환경에 적용할 수 있어야 합니다. ## 산악 자동차 환경 [산악 자동차 환경](https://gym.openai.com/envs/MountainCar-v0/)은 계곡에 갇힌 자동차를 포함합니다: 목표는 계곡을 빠져나가 깃발을 잡는 것입니다. 이를 위해 각 단계에서 다음 중 하나의 행동을 수행합니다: | 값 | 의미 | |---|---| | 0 | 왼쪽으로 가속 | | 1 | 가속하지 않음 | | 2 | 오른쪽으로 가속 | 이 문제의 주요 요령은 자동차 엔진이 한 번의 시도로 산을 오를 만큼 강력하지 않다는 점입니다. 따라서 성공하려면 앞뒤로 움직이며 운동 에너지를 축적해야 합니다. 관찰 공간은 단 두 개의 값으로 구성됩니다: | 번호 | 관찰값 | 최소값 | 최대값 | |-----|--------------|-------|-------| | 0 | 자동차 위치 | -1.2 | 0.6 | | 1 | 자동차 속도 | -0.07 | 0.07 | 산악 자동차의 보상 시스템은 다소 까다롭습니다: * 에이전트가 산 정상에서 깃발(위치 = 0.5)에 도달하면 보상으로 0이 주어집니다. * 에이전트의 위치가 0.5보다 작으면 보상으로 -1이 주어집니다. 에피소드는 자동차 위치가 0.5를 초과하거나 에피소드 길이가 200을 초과하면 종료됩니다. ## 지침 우리의 강화 학습 알고리즘을 산악 자동차 문제를 해결하도록 수정하세요. 기존 [notebook.ipynb](notebook.ipynb) 코드에서 시작하여 새로운 환경을 대체하고 상태 이산화 함수를 변경하며 기존 알고리즘을 최소한의 코드 수정으로 훈련하도록 시도하세요. 하이퍼파라미터를 조정하여 결과를 최적화하세요. > **Note**: 알고리즘이 수렴하도록 하이퍼파라미터 조정이 필요할 가능성이 높습니다. ## 평가 기준 | 기준 | 우수 | 적절 | 개선 필요 | | -------- | --------- | -------- | ----------------- | | | CartPole 예제에서 Q-Learning 알고리즘을 성공적으로 수정하여 최소한의 코드 변경으로 깃발을 200단계 이내에 잡는 문제를 해결할 수 있음 | 인터넷에서 새로운 Q-Learning 알고리즘을 채택했지만 잘 문서화되었거나, 기존 알고리즘을 채택했지만 원하는 결과에 도달하지 못함 | 학생이 알고리즘을 성공적으로 채택하지 못했지만 솔루션을 향한 상당한 단계를 밟았음(상태 이산화, Q-테이블 데이터 구조 구현 등) | --- **면책 조항**: 이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.