# マウンテンカーをトレーニングする [OpenAI Gym](http://gym.openai.com) は、すべての環境が同じAPI、つまり同じメソッド `reset`、`step`、`render` を提供し、**アクションスペース** と **オブザベーションスペース** の同じ抽象化を提供するように設計されています。そのため、最小限のコード変更で同じ強化学習アルゴリズムを異なる環境に適応させることが可能です。 ## マウンテンカー環境 [Mountain Car environment](https://gym.openai.com/envs/MountainCar-v0/) には、谷に閉じ込められた車が含まれています。 目標は、次のいずれかのアクションを実行して谷から脱出し、旗をキャプチャすることです: | 値 | 意味 | |---|---| | 0 | 左に加速 | | 1 | 加速しない | | 2 | 右に加速 | この問題の主なトリックは、車のエンジンが一度に山を登るのに十分な強さを持っていないことです。そのため、成功する唯一の方法は、勢いをつけるために前後に運転することです。 オブザベーションスペースは、次の2つの値で構成されています: | Num | 観察 | 最小 | 最大 | |-----|------|-----|-----| | 0 | 車の位置 | -1.2| 0.6 | | 1 | 車の速度 | -0.07 | 0.07 | マウンテンカーの報酬システムはかなりトリッキーです: * 山の頂上で旗(位置 = 0.5)に到達した場合、報酬は0です。 * エージェントの位置が0.5未満の場合、報酬は-1です。 車の位置が0.5を超えるか、エピソードの長さが200を超えるとエピソードが終了します。 ## 手順 強化学習アルゴリズムを適応させて、マウンテンカーの問題を解決します。既存の [notebook.ipynb](../../../../8-Reinforcement/2-Gym/notebook.ipynb) のコードから始め、新しい環境を置き換え、状態の離散化関数を変更し、最小限のコード変更で既存のアルゴリズムをトレーニングできるようにします。ハイパーパラメータを調整して結果を最適化します。 > **Note**: アルゴリズムを収束させるためには、ハイパーパラメータの調整が必要になる可能性があります。 ## ルーブリック | 基準 | 優秀 | 適切 | 改善が必要 | | -------- | --------- | -------- | ----------------- | | | カートポールの例からQ-ラーニングアルゴリズムが最小限のコード変更でうまく適応され、200ステップ以内に旗をキャプチャする問題を解決できる。 | インターネットから新しいQ-ラーニングアルゴリズムが採用されているが、十分に文書化されている。または既存のアルゴリズムが採用されているが、望ましい結果に達していない。 | 学生はアルゴリズムをうまく採用することができなかったが、解決に向けて重要なステップを踏んでいる(状態の離散化、Q-テーブルのデータ構造などを実装している)。 | **免責事項**: この文書は機械ベースのAI翻訳サービスを使用して翻訳されています。正確さを期すために努力していますが、自動翻訳には誤りや不正確さが含まれる場合があります。元の言語で書かれた文書を権威ある情報源とみなすべきです。重要な情報については、専門の人間による翻訳をお勧めします。この翻訳の使用に起因する誤解や誤解について、当社は一切の責任を負いません。