<jupyter_start><jupyter_text>Table of Contents 1&nbsp;&nbsp;Formulation1.1&nbsp;&nbsp;Action-Environment-Reward1.2&nbsp;&nbsp;实际场景 1.2.1&nbsp;&nbsp;无人驾驶 1.2.2&nbsp;&nbsp;机器人 1.2.3&nbsp;&nbsp;World of Bits1.2.4&nbsp;&nbsp;金融 1.2.5&nbsp;&nbsp;OpenAI Gym1.3&nbsp;&nbsp;Transition Probability2&nbsp;&nbsp;Example：捡香蕉皮机器人 3&nbsp;&nbsp;Episode 与 Return3.1&nbsp;&nbsp;Episode3.2&nbsp;&nbsp;Return  Formulation  Action-Environment-Reward ![](http://ohjwan9tm.bkt.clouddn.com/rl-xinyoulinxi-mdp-1.jpeg)- Agent 智能体：算法- Environment 环境：算法可交互  - 交互过程：(`S_t, R_t, A_t, S_t+1, R_t+1`)  - State 和 Agent 两种状态：离散，连续  - State 可能不存在，比如 Multi-Bandit  实际场景  无人驾驶- State：传感器扫描得到的点云或视频- Action：油门（01）、刹车（01）、方向盘（X°）- Reward：行驶的距离（越远越好） 机器人- State：传感器- Action：不同的机器人不同- Reward：不同的任务不同 World of Bits- State：图片 + 解析后网页上的文本- Action：鼠标（点击区域）+键盘动作- Reward：是否完成目标（如订机票） 金融- State：如相关股票价格- Action：不动、买、卖- Reward：收益  OpenAI Gym- CartPole: 左右移动车子平衡车顶的杆子- Mountain car: 把小车从底端开到顶端- Pendulum: 左右用力让摆锤保持竖直- Humanoid: 一个将近 30 维度的类人机器人- Atari<jupyter_code>import gym
env = gym.make('CartPole-v0')
for episode_i in range(20):
    # S_t
    observation = env.reset()
    for t in range(100):
        env.render()
        # π(S_t) -> A_t 
        # 随机选择，比如向左或向右
        action = env.action_space.sample()
        # s_t+1, R_t
        # done: True or False，是否已经结束
        observation, reward, done, info = env.step(action)
        if done:
            break
observation
reward
action<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1489795918367347, 'fraction_numerical': 0.030612244897959183, 'mean_word_length': 4.329710144927536, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '127060', 'license': 'MIT', 'n_tokens_mistral': 774, 'n_tokens_neox': 841, 'n_words': 105, 'path': 'RL-Tutorial/Chap2-MDP.ipynb', 'repo_name': 'hscspring/AI-Methods', 'size': '1470'}