强化学习中值函数应用示例

news/2024/10/18 14:27:47/

一、Gridworld

        Gridworld是一个用于教授强化学习概念的简化的电子游戏环境。它具有一个简单的二维网格,智能体可以在其中执行动作并获得奖励。这个环境是有限的,因为它有一个明确的开始和结束状态,以及一组确定的动作和奖励。

        在Gridworld中,每个单元格代表一个状态,智能体可以在该状态执行四个可能的动作:向北、向南、向东或向西移动一个单元格。如果智能体执行的动作将它们移动到网格之外,它们的位置将保持不变,但它们将获得一个奖励1。另一方面,如果智能体从特殊状态A或B开始执行动作,它们将获得不同的奖励。

        从状态A开始,智能体执行的动作将使它们获得奖励+10,并将它们移动到A0单元格。类似地,从状态B开始,智能体执行的动作将使它们获得奖励+5,并将它们移动到B0单元格。

        通过这个简单的环境,学生可以学习强化学习的基本概念,如值函数、策略和最优解。此外,Gridworld还提供了用于评估和比较不同策略的工具,使学生能够更好地理解这些概念并应用它们来解决实际问题。

        在Gridworld图1中,使用了一个矩形网格来描绘一个简单的有限MDP(马尔可夫决策过程)的值函数。网格的每个单元格都对应于环境的一个状态。在每个单元格,有四个可能的动作:北、南、东、西,这些动作将确定性地将智能体移动到相应方向的一个单元格。如果动作会使智能体离开网格,那么其位置将保持不变,但也会获得一个奖励1。其他动作的奖励为0,除非它们将智能体从特殊状态A和B中移出。从状态A开始,所有四个动作都会产生奖励+10并将智能体移动到A0。从状态B开始,所有动作都会产生奖励+5并将智能体移动到B0。

图1

        假设智能体在所有状态下以相等的概率选择所有四个动作。图b显示了对于这个策略的值函数vπ,对于带折扣的奖励情况,折扣因子γ = 0.9。该值函数是通过求解方程计算得出的。请注意,靠近下边缘的负值是由于在该随机策略下,那里有很大可能性会撞到网格的边缘。状态A在该策略下是最好的状态,但其期望回报小于10,即其即时奖励,因为从A状态开始,智能体将被带到A0状态,从那里很可能会撞到网格的边缘。另一方面,状态B的估值超过5,即其即时奖励,因为从B状态开始,智能体将被带到B0状态,该状态具有正价值。从B0状态开始,由于可能撞到边缘而产生的预期惩罚(负奖励)超过了因可能撞到A或B而产生的预期收益。

二、高尔夫

        将打高尔夫球的过程表述为强化学习任务,我们会对每一击都施加一个惩罚(负面奖励),直到球进入洞中。状态为球的位置,一个状态的价值是,从此位置到球洞的击球次数。我们的行动是针对如何瞄准和挥动球杆的动作,当然,还包括选择哪种球杆。让我们假设这些都是给定的,只需要考虑球杆的选择,我们假设只能是推杆或驱动器。图2的上半部分显示了对于始终使用推杆的策略可能的状态值函数vputt(s)。在洞中的终端状态的价值为0。我们假设无论在球场的哪个位置,我们都可以推杆;这些状态的价值为e1。如果我们在绿地之外的位置,就无法通过推杆到达洞穴,因此其价值更大。如果我们可以通过推杆从某个状态到达绿地,那么该状态的价值必须比绿地的价值少1,即2。为了简化问题,我们假设可以非常精确和确定性地进行推杆,但范围有限。这给我们提供了图中标记为d2的尖锐等高线;位于该线与绿地之间的所有位置都需要恰好两次击球来完成这个洞。同样地,位于e2等高线以内的任何位置都必须具有价值3,依此类推,得到图中所示的所有等高线。推杆无法让我们从沙陷阱中脱身,因此沙陷阱的价值为负无穷大。总体而言,我们需要六次击球才能从发球台到达洞穴。

图2


http://www.ppmy.cn/news/1185621.html

相关文章

项目基础配置

1、Spring整合MyBatis: 在子工程中加入所需要的依赖 准备jdbc.properties 创建spring的配置文件、整合spring和mybatis 在spring的配置文件中加载jdbc.properties 配置数据源 测试数据库连接 配置SqlSessionFactoryBean 装配数据源 指定XXXMapper.xml文件的位…

矩阵点乘multiply()函数和矩阵乘法dot()函数

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 矩阵点乘multiply()函数 和矩阵乘法dot()函数 [太阳]选择题 使用multiply()和dot()函数,输出错误的是: import pandas as pd import numpy as np df1pd.DataFrame([[0,1],[2,3]]…

算法笔记【7】-直接插入排序算法

文章目录 一、简介二、基本原理和实现步骤三、优缺点分析 一、简介 在排序算法中,直接插入排序是一种基本而常用的排序方法。它通过不断将待排序数组中的元素插入到已排序部分的合适位置,逐步构建有序数组。本文将详细介绍直接插入排序算法的原理、实现…

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】 1、概述2、实验环境3、 物品说明4、自我总结5、本次实验说明6、实验过程(1)复制目录到桌面(2)手动敲写(3)反复改错(4&am…

MyBatis-Plus 与 Druid 结合 Dynamic-datasource 实现多数据源操作数据库

MyBatis-Plus 官网:https://baomidou.com/ MyBatis-Plus 官方文档:https://baomidou.com/pages/24112f/ dynamic-datasource 文档(付费):https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611 创建数据库…

2023年中国牙钻机优点、产量及市场规模分析[图]

牙钻机,又称为牙科钻机或牙科设备,是一种专用于牙科诊所和牙科医院的医疗设备。它被用来进行牙齿修复、治疗和牙科手术等操作。牙钻机通常由电动马达驱动,带有不同类型的钻头、磨头和其他附件,用于在牙齿上进行各种不同的操作&…

基于SpringBoot的工厂车间管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 人员管理 看板信息管理 设备信息管理 生产开立管理 人员功能实现 生产开立管理 生产工序管理 生产流程管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 社会发展日新月异,用计…

剑指offer --- 二维数组中的元素查找

目录 一、读懂题目 二、思路分析 三、代码呈现 总结 一、读懂题目 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的个二维数组和一个整数&#…