蛇棋游戏

import numpy as np
import gym
from gym.spaces import Discreteclass SnakeEnv(gym.Env):SIZE=100  # 格子数def __init__(self, ladder_num, dices):self.dices = dices            # 不同骰子方法的最大值self.ladder_num = ladder_num  # 梯子数# 构建梯子self.ladders = dict(np.random.randint(1, self.SIZE, size=(self.ladder_num, 2)))temp = dict()for k,v in self.ladders.items():temp[v] = kself.ladders.update(temp)self.pos = 1self.observation_space=Discrete(self.SIZE+1)  # 状态空间self.action_space=Discrete(len(dices))        # 行为def reset(self):self.pos = 1return self.posdef step(self, a):step = np.random.randint(1, self.dices[a] + 1)  # a为选择的骰子编号,然后随机self.pos += stepif self.pos == SIZE:return SIZE, SIZE, 1, {}elif self.pos > SIZE:self.pos = SIZE*2 - self.posif self.pos in self.ladders:  # 是否有梯子self.pos = self.ladders[self.pos]return self.pos, -1, 0, {}def reward(self, s):if s == SIZE:  # 到达终点return SIZEelse:return -1def render(self):pass

测试

env = SnakeEnv(10, [3,6])
env.reset()
while True:state, reward, terminate, _ = env.step(0)print(reward, state)if terminate == 1:break

强化学习实例5:构建简单蛇棋环境相关推荐

  1. 强化学习实例6:策略迭代法(policy iteration)

    马尔可夫决策过程定义: 以上一节中蛇棋游戏为例,状态表示为100个格子,行动表示用哪种骰子,转移模型表示梯子,回报为是否到达终点,策略表示从开始到终点中的所有状态行动链:{(s0,a0), (s1,a ...

  2. 构建强化学习_如何构建强化学习项目(第1部分)

    构建强化学习 Ten months ago, I started my work as an undergraduate researcher. What I can clearly say is t ...

  3. 深度强化学习 | 用TensorFlow构建你的第一个游戏AI

    今天,你AI了没? 关注:决策智能与机器学习,每天学点AI干货 正文共:2157字 6图 预计阅读时间: 5分钟 DeepMind 的 AlphaGo 以 4-1 的比分打败了世界围棋冠军李世乭.超过 ...

  4. Python手写强化学习Q-learning算法玩井字棋

    Q-learning 是强化学习中的一种常见的算法,近年来由于深度学习革命而取得了很大的成功.本教程不会解释什么是深度 Q-learning,但我们将通过 Q-learning 算法来使得代理学习如何 ...

  5. python强化学习实例:寻路Q-Learn演示

    文章目录 python强化学习-寻路Q-Learn演示 1. 简介 1.1 项目简介 1.2 运行方式 1.3 参考 2 Q-Learn 2.1 简介 2.2 项目里的Q表 3. 演示 4. 后记 p ...

  6. Yoshua Bengio团队最新强化学习研究:智能体通过与环境交互,「分离」变化的独立可控因素

    原文来源:arXiv 作者:Valentin Thomas.Emmanuel Bengio∗.William Fedus.Jules Pondard.Philippe Beaudoin.Hugo La ...

  7. 【强化学习】grid_mdp创建自己的gym环境

    一.参考资料 强化学习实战 第一讲 gym学习及二次开发 [深入浅出强化学习原理入门]grid_mdp.py运行几个问题的解决方法] reinforcement-learning-code源代码 二. ...

  8. 强化学习 mujoco mujoco_py gym开篇1,环境配置,2021年11月24开始学习,特开帖记录

    ** 首先就是配置环境, ** 不建议在windows下使用强化学习,也不建议使用虚拟机跑上述这些包,因为虚拟机很难调用GPU.会影响后期使用,在windows挣扎很久后决定还Linux. 最好使用l ...

  9. 强化学习基础1.1 | 智能体与环境交互过程

    强化学习的过程是agent与环境不断交互的过程,从环境得到反馈,然后来改变自己的行动. 智能体首先接受环境的状态S0 智能体在S0的环境下采取行动A0 环境收到智能体的行动后从S0 变化到S1 环境对 ...

最新文章

  1. the job was canceled什么意思_这些英语短语,因为相差一个“the”导致意思大不相同!...
  2. jQuery序列化表单
  3. flir红外数据集_设备停机导致损失惨重?FLIR红外自动化解决方案了解一下
  4. Linux 最简单的驱动程序hello world
  5. Transact SQL 常用语句以及函数
  6. C++、C#写的WebService相互调用
  7. win10 家庭版 CredSSP加密Oracle修正 设置方法
  8. UE4 多个static mesh合并成一个static mesh
  9. spring中最重要的一些Aware接口
  10. python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究
  11. 葡萄酒酒进销存单机版_葡萄酒销售问题| 找到销售葡萄酒的最大利润
  12. 税务计算机类考试题型,税务师考试题型分值分配、计算器要求及2020年考试时间...
  13. win10修改计算机物理地址,Windows10系统修改物理地址的方法
  14. Android编程 不显示菜单,网易MuMu模拟器不显示Menu(菜单)键的解决办法
  15. 计算机科学与技术审核评估专家,中国农业大学 业务动态 审核评估专家Sir Timothy深度走访网络技术中心...
  16. 蓝桥杯练习题(数列排序)
  17. 神州优车拟41亿元收购宝沃汽车67%股权 1
  18. win7 计算机游戏不见了,win7系统打开或关闭windows功能没有游戏的解决方法
  19. 高通 android 7.0 插入蓝牙耳机,声音变的最大!
  20. 湖北农商行计算机类笔试题,2019年湖北农商行笔试入门汇总提前知~

热门文章

  1. 马未都:人生三重境界
  2. Android Studio跳转到新的activity时出现“很抱歉,xxx已停止运行“
  3. Unity时光倒流效果实现
  4. Hackme Writeup
  5. 鲤鱼精的Python学习笔记(一)
  6. 一维谐振子定态 Schrödinger 方程的数值解法
  7. 人体姿态骨架估计算法研究
  8. 收藏的技术资料下载网址
  9. 单细胞-拟时序分析-R包SCORPIUS
  10. 新版OpenWrt VLAN设置方法