当前位置: 首页 > news >正文

备案需要写网站建设方案书中国制造app

备案需要写网站建设方案书,中国制造app,apache 多网站,永州公司网站建设1.重写 AgentAction 方法 1.1 重写 AgentAction 方法 这段代码是一个重写了 AgentAction 方法的方法。以下是对每行代码解释#xff1a; ①public override void AgentAction(float[] vectorAction) 这行代码声明了一个公共的、重写了父类的 AgentAction 方法的方法。它接受…1.重写 AgentAction 方法 1.1 重写 AgentAction 方法 这段代码是一个重写了 AgentAction 方法的方法。以下是对每行代码解释 ①public override void AgentAction(float[] vectorAction) 这行代码声明了一个公共的、重写了父类的 AgentAction 方法的方法。它接受一个 float 类型的数组作为参数。 ②float newAction0 Mathf.Clamp(vectorAction[0], -1, 1); 这行代码将 vectorAction 数组的第一个元素限制在 -1 到 1 的范围内并将结果赋值给 newAction0 变量。 ③newAction0 (newAction0 1) / 2; 这行代码将 newAction0 的值加1后除以2相当于将其从范围 -1 到 1 映射到范围 0 到 1。 ④float newForce Mathf.Lerp(MinForce, MaxForce, newAction0); 这行代码使用线性插值函数 Mathf.Lerp根据 newAction0 的值在最小力量值 MinForce 和最大力量值 MaxForce 之间插值将插值结果赋值给 newForce 变量。 ⑤ShootBall(newForce);这行代码调用名为 ShootBall 的方法并将 newForce 作为参数传递给它。它的作用是使用指定的力量值来发射一个球。 1.2 重写了 AgentAction 方法 是什么意思 重写override是面向对象编程中的一个概念它指的是在子类中重新实现覆盖父类中已存在的方法。 在这段代码中AgentAction 方法是一个父类中的方法通过使用 override 关键字该方法在当前类中进行了重新实现。也就是说当前类是一个子类继承了某个父类而 AgentAction 方法是在父类中定义的。通过重写该方法子类可以根据自己的需求对方法的行为进行修改或扩展。 在代码中的第一行public override void AgentAction(float[] vectorAction) 表示当前类重写了父类中的 AgentAction 方法而不是使用父类中原有的实现。重写方法可以提供自定义的功能或行为以满足子类的特定需求。 2.重写 CollectObservations 方法 2.1 重写 CollectObservations 方法 这段代码也是重写了一个方法具体来说是重写了 CollectObservations 方法。 以下是对每行代码的解释 ①public override void CollectObservations()这行代码声明了一个公共的、重写了父类的 CollectObservations 方法的方法。 ②float distance Vector2.Distance(mBallVector2, mNetVector2);这行代码计算了一个向量 mBallVector2 和 mNetVector2 之间的距离并将结果赋值给 distance 变量。 ③distance (distance - MinDis) / (MaxDis - MinDis);这行代码将 distance 的值从范围 MinDis 到 MaxDis 映射到范围 0 到 1。它通过减去 MinDis然后除以 MaxDis - MinDis 来进行映射。 ④AddVectorObs(distance);这行代码将 distance 添加到观察向量中。这个观察向量用于提供给机器学习模型关于环境状态的信息。 ⑤float height NetTrans.position.y - HeightBaseTrans.position.y; 这行代码计算了一个高度值即 NetTrans 对象的 y 坐标减去 HeightBaseTrans 对象的 y 坐标并将结果赋值给 height 变量。 ⑥height (height - MinHeight) / (MaxHeight - MinHeight);这行代码将 height 的值从范围 MinHeight 到 MaxHeight 映射到范围 0 到 1。它通过减去 MinHeight然后除以 MaxHeight - MinHeight 来进行映射。 ⑦AddVectorObs(height);这行代码将 height 添加到观察向量中用于提供给机器学习模型关于环境状态的更多信息。 这段代码重写了 CollectObservations 方法以生成两个观察向量一个是关于机器人与目标的距离另一个是关于目标距离地面的高度。这些观察向量会在机器学习过程中提供环境状态的信息以辅助决策和学习。 3.重写 CollectObservations 方法 以下是对提供的代码的逐行解释 ①public override void CollectObservations()这行代码声明了一个公共的、重写了父类的 CollectObservations 方法的方法。 ②AddVectorObs(HasMedicineState);这行代码将名为 HasMedicineState 的变量添加到观察向量中。HasMedicineState 可能是一个布尔值用于表示是否持有药物。观察向量在机器学习过程中用于提供环境状态的信息。 ③AddVectorObs(transform.InverseTransformDirection(mAgentRig.velocity));这行代码将 mAgentRig 物体代理体的速度转换为局部坐标系中的方向并将其添加到观察向量中。transform.InverseTransformDirection 用于将世界坐标系中的方向转换为相对于物体的局部坐标系中的方向。 通过以上代码CollectObservations 方法重写了父类中的方法生成了两个观察向量。第一个观察向量包含了一个代表是否持有药物的状态信息。第二个观察向量包含了物体运动的速度信息该速度信息已转换为局部坐标系中的方向。这些观察向量将为机器学习模型提供有关环境状态的信息。 3.1 我们常用的 PPO 算法其输出动作向量值域在-1 到 1 之间 常用的 PPOProximal Policy Optimization算法的输出动作向量通常被限制在-1到1的值域范围内。这种限制是为了确保输出的动作在合理的范围内以避免过大或过小的动作值。将输出动作值域限制在-1到1之间有助于稳定训练过程并使得学习到的策略更容易在实际环境中执行。 在代码中你可能会看到一些对输出动作向量进行范围映射的操作例如使用 Mathf.Clamp 函数将动作向量的元素限制在-1到1之间。这样的映射操作可以确保输出动作在合理范围内并符合使用 PPO 算法的通常约定。 注意:从官方的使用说明文档中可以了解到不适合过度设计奖励方式代理可能会在训练过程中找到奖励的“漏洞”最终导致训练失败。 参考文献 [1]朱杰. 基于Unity3D游戏人工智能的研究与应用[D].广东工业大学,2020.
http://www.hkea.cn/news/14552691/

相关文章:

  • 网站里添加斗鱼直播的视频怎么做企业网站开发外包合同
  • 降龙网络专业做网站综合性门户网站有
  • 网站建设品牌营销如何加快网站打开速度
  • 南宁公司的网站建设wordpress批量跳转
  • 三站合一网站营销安卓app开发需要学什么
  • 国家重大建设项目库网站注册网站后台 添加用户
  • 天津建设网投标网站南通小企业网站建设
  • 苏州网站建设哪个比较牛东丰在线网站建设
  • 海北高端网站建设价格网站建设开发费入什么科目
  • -邵阳网络公司-邵阳网站建设|邵阳网站制作网站优化和网站推广
  • frontpage新建网站宽屏网站设计
  • 济南市住房与城乡建设厅网站工程项目管理系统
  • 四川和住房城乡建设厅网站首页成都品牌设计公司
  • 免费自创网站网站备案后应该做什么
  • 长沙商业网站建设顺义专业建站公司
  • 兰州网站关键词优化王占山将军简介
  • 做淘宝联盟必须要有网站吗网络设计公司有哪些
  • 网站开发行业发展前景卖服务器网站源码
  • 村网站建设计划书wordpress英文企业网站模板
  • python做网站比php好建设网站策划书
  • 网站建设是平面设计吗建设网站的分析报告
  • 网站改版301设置外贸退税流程及方法
  • 小型网站建设需要多少钱wordpress oauth2插件
  • 建设银行网站入口宁波应用多的建站行业
  • 公司网站建设调研背景淘宝网站都是怎么做的吗
  • 网站建设的意义和作用可做笔记的阅读网站
  • 易申建设网站自学网站建设与网页设计
  • 建设项目工程信息seo数据优化教程
  • 中企做网站怎么创建微信公众号写文章
  • 自己做的网站根目录哪里找到wordpress首页聚合