官术网_书友最值得收藏!

2.4 隨機CartPole智能體

盡管這個環境比2.1節那個例子的環境復雜很多,但是智能體的代碼卻更短了。這就是重用性、抽象性以及第三方庫的強大力量!

代碼(見Chapter02/02_cartpole_random.py文件)如下:

047-01

我們先創建了環境并初始化了步數計數器和獎勵累積器。最后一行,重置了環境,并獲得第一個觀察(我們不會用到它,因為智能體是隨機的)。

047-02

在該循環中,我們從動作空間中隨機采樣一個動作,然后讓環境執行并返回下一個觀察(obs)、rewarddone標記。如果片段結束,停止循環并展示執行了多少步以及累積獲取了多少獎勵。如果啟動這個例子,你將會看到類似下面的結果(因為智能體存在隨機性,所以不會完全相同):

047-03

與交互會話一樣,該警告與代碼無關,是Gym內部給出的。隨機智能體在木棒落地、片段結束之前,平均會執行12~15步。大部分Gym環境有一個“獎勵邊界”,它是智能體在100個連續片段中,為“解決”環境而應該得到的平均獎勵。對于CartPole來說,這個邊界是195,這意味著,平均而言,智能體必須將木棒保持195個時間步長或更多。從這個角度來看,隨機智能體貌似表現得很差。但是,不要失望,我們才剛剛起步,很快你就能解決CartPole以及其他許多有趣且富有挑戰的環境了。

主站蜘蛛池模板: 闻喜县| 万源市| 铜陵市| 建水县| 饶平县| 临沭县| 元氏县| 应城市| 甘孜县| 长沙县| 涞源县| 三穗县| 晋中市| 明光市| 双峰县| 独山县| 合山市| 丰顺县| 凌云县| 宝丰县| 霍山县| 东方市| 山东省| 高邑县| 措勤县| 长泰县| 阿坝| 千阳县| 锡林浩特市| 新源县| 芦溪县| 鹰潭市| 新郑市| 南城县| 平阴县| 板桥市| 麦盖提县| 武隆县| 视频| 全椒县| 贵阳市|