Atari游戲介紹(ALE中集成的RL游戲環境)+ Atari(gym)


參考鏈接:http://d0evi1.com/atari/

Arxiv:https://arxiv.org/pdf/1709.06009.pdf

 

ALE介紹:

  ALE在Stella(一個開源的Atari 2600模擬器)上構建。它允許用戶通過接收joystick動作、發送screen/RAM信息、並模擬平台的方式來與Atari 2600交互。ALE提供了一個游戲處理層(game-handling layer),它通過標記累積得分、以及游戲是否已經結束,可以將每個游戲轉化成一個標准的增強學習問題。缺省的,每個observation包含了單個游戲屏幕(game screen: frame):一個關於7bit像素的2D數組,160 pixels寬 x 210 pixels高。action_space至多包含了18個離散(discrete)的actions,它們通過操縱桿控制器(joystick controller)來定義。game-handling layer也指定了需要玩一個特定游戲的關於actions的最小集合。當運行時,該仿真器會每秒生成60幀,最高速度的仿真可以達到每秒6000幀。在每個time-step上的reward通過game basis來定義,通常通過在幀之間的得分(score/points)的不同來指定。一個episode會在reset命令后的第一幀(frame)處開始,當游戲結束時終止。game-handling layer也提供了在預定義幀數后終止episode的能力。user因此可以通過單個公共接口來訪問數十個游戲,並可以很簡單地增加新游戲。

 

Atari游戲的環境設置問題(gym):

  gym中的實現與ALE略有不同,可以查看Gym (openai.com)進行了解,其中關鍵的部分如下:

 

Atari-py所包含的游戲:

 

SAC-Discrete vs Rainbow:

 

相關Atari游戲介紹:

  • Alien:控制小人走迷宮;小人接觸到亮點則加分;小人被怪獸抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)

  • Amidar:控制小人走迷宮;走過之前未走過的路則加分;小人被怪獸抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:10)(Rainbow)

  • Assault:控制飛機打敵人;擊中敵人則加分;飛機被敵人打中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:7)(SAC)

  • Asterix:控制智能體接觸目標;遇到指定目標則加分;智能體遇到非指定目標則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(Rainbow)

  • Atlantis:控制武器打飛機,打中加分;

  • BattleZone:控制坦克打敵人;擊中敵人則加分;坦克被敵人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:18)(SAC)

  • BeamRider:控制導彈發射器打敵人;擊中敵人則加分;導彈發射器被敵人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(SAC)

  • Boxing:控制拳手與對手打斗,打中對手加分,被對手打中扣分;

  • Breakout控制板反射球;擊中磚塊后磚塊消失且能夠加分;板沒接住球則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:4)(Rainbow)

  • CrazyClimber控制小人爬梯子;向上爬則加分;小人脫離梯子則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段失去所有命則游戲結束;(action_space:9)(Rainbow)

  • Enduro:控制小車沿道路行駛;超越別人加分,被別人超越扣分;小車撞到別人則會停滯;(action_space:9)(SAC)

  • Freeway:控制小人過馬路;小人成功過馬路則加分;小人撞到車會被阻礙;游戲時間達到一定時長上方計分會閃爍,不久后游戲結束;(action_space:3)(SAC)

  • Frostbite:控制小人過河;踩過板子則加分;小人掉下河則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:18)(Rainbow)

  • Gopher:控制農民抓地鼠,避免地鼠吃到蘿卜;

  • Jamesbond:控制智能體前進;擊中敵人則加分;被敵人擊中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段失去所有命則游戲結束;(action_space:18)(SAC)

  • Kangaroo:控制袋鼠闖關;踩死敵人則加分;袋鼠被敵人抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)

  • Krull:控制武士與敵人搏斗,成功擊殺敵人加分;

  • MsPacman:控制嘴巴走迷宮;嘴巴吃到紅杠則加分;嘴巴被幽靈抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(SAC)

  • NameThisGame:控制潛水者射殺鯊魚,射中加分;

  • Pong:控制拍與對手打乒乓球;一方沒接住球則另一方得分;一方到達21分則游戲結束;(action_space:6)(Rainbow)

  • Qbert:控制小人踩格子;踩到沒踩過的格子則加分;小人被敵人抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:6)(SAC)

  • RoadRunner:控制小人跑步;向前跑則加分;小人被車撞上則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)

  • Seaquest:控制潛艇打敵人;打中敵人則加分;潛艇氧氣耗盡則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:18)(SAC)

  • SpaceInvaders:控制智能體打敵人;打中敵人則加分;被敵人打中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:6)(SAC)

  • StarGunner:控制星際戰機暴揍外星人,打中加分;

 

  • Tennis:控制運動員與對手打網球;

  • Tutankham:控制小人過迷宮;

  • UpNDown:控制小車沿道路行駛;小車前進則加分;撞到別人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:6)(Rainbow)

  • VideoPinball:三維彈球的像素游戲版本;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM