河北省住房和城乡建设网站微信营销管理系统

news/2025/9/23 7:57:50/文章来源:
河北省住房和城乡建设网站,微信营销管理系统,wordpress修改首页代码,html5商城网站模板一、游戏介绍 木棒每保持平衡1个时间步#xff0c;就得到1分。每一场游戏的最高得分为200分每一场游戏的结束条件为木棒倾斜角度大于41.8或者已经达到200分。最终获胜条件为最近100场游戏的平均得分高于195。代码中env.step#xff08;#xff09;#xff0c;的返回值就分…一、游戏介绍 木棒每保持平衡1个时间步就得到1分。每一场游戏的最高得分为200分每一场游戏的结束条件为木棒倾斜角度大于41.8°或者已经达到200分。最终获胜条件为最近100场游戏的平均得分高于195。代码中env.step的返回值就分别代表了。观测Observation当前step执行后环境的观测。奖励Reward执行上一步动作action后智能体agent获得的奖励不同的环境中奖励值变化范围也有不同但是强化学习的目标就是总奖励值最大。完成Done表示是否需要将环境重置env.reset大多数情况下当Done为True时就表明当前回合episode结束。信息Info针对调试过程的诊断信息在标准的智能体仿真评估当中不会使用到这个info。 二、代码批注 import gym import numpy as npenv gym.make(CartPole-v0)max_number_of_steps 200 # 每一场游戏的最高得分 #---------获胜的条件是最近100场平均得分高于195------------- goal_average_steps 195 num_consecutive_iterations 100 #---------------------------------------------------------- num_episodes 5000 # 共进行5000场游戏 last_time_steps np.zeros(num_consecutive_iterations) # 只存储最近100场的得分可以理解为是一个容量为100的栈# q_table是一个256*2的二维数组 # 离散化后的状态共有4^4256中可能的取值每种状态会对应一个行动 # q_table[s][a]就是当状态为s时作出行动a的有利程度评价值 # 我们的AI模型要训练学习的就是这个映射关系表 q_table np.random.uniform(low-1, high1, size(4 ** 4, env.action_space.n))# 分箱处理函数把[clip_min,clip_max]区间平均分为num段位于i段区间的特征值x会被离散化为i def bins(clip_min, clip_max, num):return np.linspace(clip_min, clip_max, num 1)[1:-1]# 离散化处理将由4个连续特征值组成的状态矢量转换为一个0~~255的整数离散值 def digitize_state(observation):# 将矢量打散回4个连续特征值cart_pos, cart_v, pole_angle, pole_v observation# 分别对各个连续特征值进行离散化分箱处理digitized [np.digitize(cart_pos, binsbins(-2.4, 2.4, 4)),np.digitize(cart_v, binsbins(-3.0, 3.0, 4)),np.digitize(pole_angle, binsbins(-0.5, 0.5, 4)),np.digitize(pole_v, binsbins(-2.0, 2.0, 4))]# 将4个离散值再组合为一个离散值作为最终结果return sum([x * (4 ** i) for i, x in enumerate(digitized)])# 根据本次的行动及其反馈下一个时间步的状态返回下一次的最佳行动 def get_action(state, action, observation, reward):next_state digitize_state(observation) # 获取下一个时间步的状态并将其离散化next_action np.argmax(q_table[next_state]) # 查表得到最佳行动#-------------------------------------训练学习更新q_table----------------------------------alpha 0.2 # 学习系数αgamma 0.99 # 报酬衰减系数γq_table[state, action] (1 - alpha) * q_table[state, action] alpha * (reward gamma * q_table[next_state, next_action])# -------------------------------------------------------------------------------------------return next_action, next_statedef get_action2(state, action, observation, reward, episode):next_state digitize_state(observation)epsilon 0.2*(0.95**episode) # ε-贪心策略中的εif epsilon np.random.uniform(0, 1):next_action np.argmax(q_table[next_state])else:next_action np.random.choice([0, 1])#-------------------------------------训练学习更新q_table----------------------------------alpha 0.2 # 学习系数αgamma 0.99 # 报酬衰减系数γq_table[state, action] (1 - alpha) * q_table[state, action] alpha * (reward gamma * q_table[next_state, next_action])# -------------------------------------------------------------------------------------------return next_action, next_state# 重复进行一场场的游戏 for episode in range(num_episodes):observation env.reset() # 初始化本场游戏的环境state digitize_state(observation) # 获取初始状态值action np.argmax(q_table[state]) # 根据状态值作出行动决策episode_reward 0# 一场游戏分为一个个时间步for t in range(max_number_of_steps):env.render() # 更新并渲染游戏画面observation, reward, done, info env.step(action) # 获取本次行动的反馈结果print(reward)if done:reward -200action, state get_action2(state, action, observation, reward, episode) # 作出下一次行动的决策episode_reward rewardif done:# print(%d Episode finished after %f time steps / mean %f % (episode, t 1, last_time_steps.mean()))last_time_steps np.hstack((last_time_steps[1:], [episode_reward])) # 更新最近100场游戏的得分stackbreak# 如果最近100场平均得分高于195if (last_time_steps.mean() goal_average_steps):# print(Episode %d train agent successfuly! % episode)breakprint(Failed!)三、问题回答 代码中两个策略get_action和get_action2分别对应哪个算法去除第73-74行游戏结束的reward值赋值结果有什么变化 get_actionQ-learning 上面的α被称为学习系数γ被称为报酬衰减系数rt为时间步为t时得到的报酬。如果在时间步t时状态为st我们采取的行动为at本次行动的有利程度记为Q(st,at)。 get_action2Q-learning ε-贪心策略 在get_action2中加入了贪心的策略。以ε的概率以均匀概率随机选一个方向进行移动以1-ε的概率选择目前为止探索到的对于当前状态的最佳行动方向进行移动。 如果取去掉reward得不到反馈。在main函数中的开头这里的意思其实就是每次获得一个最好的action然后计算用更好的去填补他。这里evn.step每次返回的reward都是1if done其实就代表了游戏被迫结束如果不减值那么相当于对模型没有反馈模型会每次会找最好的值但呢个最好的值是随机算出来的最终的结果会卡在一个比较低的分数附近上上下下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

芜湖市住房和城乡建设厅网站阿里巴巴做网站多少钱

数组(Array) 数组是计算机编程中最基本的数据结构之一。它是一个有序的元素集合,每个元素都可以通过索引进行访问。本文将详细介绍数组的特性、用法和注意事项。 数组的基本特性 数组具有以下基本特性: 有序性: 数…

广西住房和城乡建设厅官方网站乐清网站改版公司

13.jsp-config jsp-config元素主要用来设定JSP的相关配置,<jsp:config>包含<taglib>和<jsp-property-group>两个子元素.当中<taglib>元素 在JSP 1.2时就已经存在了;而<jsp-property-group>是JSP 2.0新增的元素. taglib :对标记库描写叙述符文件&…

国外做设计的网站有哪些河北邯郸特产

文章目录 1. 如何设计一套权限系统1.1 目标1.2 权限模型1.2.1 模型一RBAC1.2.2 模型二ABAC 2.如何实现菜单的创建&#xff1f;2.1 表结构2.2 前端实现2.3 后端实现 3. 如何实现角色的创建&#xff1f;4.如何给用户分配权限 —— 将菜单赋予角色&#xff1f;5.如何给用户分配权限…

江西建设推广网站博物馆门户网站建设

定义和用法 splice() 方法用于添加或删除数组中的元素。 注意&#xff1a;这种方法会改变原始数组。 返回值 如果仅删除一个元素&#xff0c;则返回一个元素的数组。 如果未删除任何元素&#xff0c;则返回空数组。 主要&#xff1a;array.splice(index,howmany&#xff09…

大公司网站开发化学sem是什么意思

1024徽章 嘤嘤嘤&#xff0c;我TM直接白嫖!

wordpress 多站点主题哪些品牌网站做的好

现在很多用户保存文件都会选择保存到网盘&#xff0c;喜欢的音乐也是一样&#xff0c;网易云音乐早已引入了云盘功能&#xff0c;不过上传的方法相信有很多朋友都不知道&#xff0c;下面小编为大家带来网易云音乐把音乐上传到云盘的步骤方法&#xff0c;感兴趣的朋友可以进来了…

dw 如何做自适应网站手机多少钱

目录 Web站点部署流程(部署聚合支付后台) 项目文件 将上传的文件解压文件至根目录 修改站点关键信息 设置伪静态,选择:thinkphp,并保存 设置PHP,选择:70+版本即可。 安装网站 1设置运行目录

网站建设总结ppt洛阳做网站多少钱

1、效果 如下图所示&#xff0c;我们在输入大学时&#xff0c;程序会到后端查询名字中包含大学的数据&#xff0c;并展示到前端页面。 用户选择一个大学&#xff0c;该大学值会被赋值到input表单&#xff0c;同时关闭下拉表单&#xff1b; 当页面展示的数据都不符合条件时&…

dede做的网站怎样去换模版wordpress 手动 摘录

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

杰奇怎么做网站地图重庆网站建设总结与体会

【现代密码学】笔记5--伪随机置换&#xff08;分组加密&#xff09;《introduction to modern cryphtography》 写在最前面5 伪随机排列实践构造&#xff08;块密码/分组密码&#xff09; 写在最前面 主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充&…

河南信阳网站建设公司电话做app和网站哪个

最近在react项目中需要一个树状组件&#xff0c;但是又不想因为这个去引入一套UI组件&#xff0c;故自己封装了一个基于react的树状组件&#xff0c; 个人认为比较难得部分在于数据的处理&#xff0c;话不多说直接上代码&#xff1a; 下面是tree.js import React, {Component} …

网站后台服务器内部错误开网站做商城怎么样

今日简单分享 container 组件的源码实现&#xff0c;从以下两个方面来讲解&#xff1a; 1、container 组件的页面结构 2、container 组件的属性 一、container 组件的页面结构 二、container 组件的属性 1、container 部分的 direction 属性&#xff0c;子元素的排列方向&am…

宠物网站页面设计ps怎么创建一个网页

【Ascend C】昇腾Ascend C算子开发入门课程&#xff0c;新手零基础入门 摘要&#xff1a;本课程是Ascend C算子开发的初级教程&#xff0c;通过课程讲解及样例实操&#xff0c;帮助你学习如何使用Ascend C开发矢量算子。 1、了解并行计算架构、并行计算方法等基本概念 2、理解…

论学院网站建设项目的进度管理天津百度搜索网站排名

我们在本地电脑使用小皮面板phpstudy安装phpMyAdmin4.8.5成功后&#xff0c;但是点击【管理】功能打开时却出现如下错误&#xff1a; Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e) in D:\…

网站开发中界面做网站哪家公司好

Web 是一种分布式应用架构&#xff0c;旨在共享分布在网络上的各个Web服务器中的所有互相链接的信息。 Web 采用客户/服务器通信模式&#xff0c;客户与服务器之间用HTTP协议通信。 Web 使用超级文本技术&#xff08;HTML&#xff09;来链接网络上的信息。信息存放在服务器端&a…

硅橡胶东莞网站建设爱客源

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在Java工程师的职业生涯中&#xff0c;深入理解…

医疗手机网站模板专门做电视剧截图的网站

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前文中提到万能密钥的工作原理&#xff0c;然而万能密钥仅在源代码中没有代码审计&#xff0c;此时才被称之为万能密钥&#xff0c;而代码中有代码审计时需要分以下几种情况讨论 一.uagent注入 …

成武网站建设重庆市网络公司

【问题描述】[中等] 【解答思路】 1. 暴力 直接复制 将链表从头节点一个一个复制下去&#xff0c; 在根据记录的总长度num&#xff0c;遍历原来的每个节点的random到尾节点个数count&#xff0c;然后顺序遍历找到新链表的该指针在num-count上 。 时间复杂度&#xff1a;O(N^2…

松江 网站建设公司网页设计图片相对路径

安装 先从 官方网站 下载安装包&#xff0c;有时 node 版本太新会导致失败&#xff0c;详见下方的常见问题第2点 cd /home // 创建目录&#xff0c;将下载好的 node 安装包上传到此目录 mkdir Download mkdir /usr/local/lib/node解压 // 解压&#xff0c;前面是文件当前路径…

网站建设哪里好薇浙江省建设培训中心网

第一步:得到Pid 如果我们不知道TAG的情况下,先得到进程的PID adb shell ps | grep call 会显示出进程关于call的出来 比如得到pid 是1123 第二步:过滤Pid adb logcat | grep 1123 就可以看到过滤的日志了 常见的命令 杀死进程 adb shell kill pid adb shell am force-s…