Sequential Decision Making under uncertain - 不确定性条件下的序列决策制定

本文主要是介绍Sequential Decision Making under uncertain - 不确定性条件下的序列决策制定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Sequential Decision Making

序列决策制定可以被归纳为为下面的交互式闭环过程:
在这里插入图片描述
目标:选择能够最大化未来全部收益期望的动作(actions)。

这可能不一直都是好的标准,但这是大多数强化学习所关注的。但现在也有一些人对distribution honorable强化学习和其他方面有兴趣

  • 可能需要平衡即时收益和长期回报
  • 可能需要策略化的行为以取得高回报(你可能需要牺牲初始阶段的高奖励以取得更好的长期奖励)

更进一步地:
在这里插入图片描述
在每一个时间步t:

  • Agent 采取一个action a t a_t at
  • World 更新执行 a t a_t at后的状态,返回观察 o t o_t ot和奖励 r t r_t rt
  • Agent 接收观察 o t o_t ot和奖励 r t r_t rt

我们可以定义一个history h t = ( a 1 , o 1 , r 1 , . . . , a t , o t , r t ) h_t=(a_1,o_1,r_1,...,a_t,o_t,r_t) ht=(a1,o1,r1,...,at,ot,rt)

Agent基于history选择action。

State是假定去确定下一步发生什么的信息:

  • 或者说State是history的一个函数: s t = f ( h t ) s_t=f(h_t) st=f(ht)
World State
  • World State(为了和State作区分,是world的真实状态,agent有自己独有的状态空间)被用于确定world如何产生下一个观察和奖励
  • World State通常对agent来说是不可见的或者未知的
  • 即使会包含一些agent不需要的信息
Agent State
  • 被agent用于制定决策如何行动
  • 总的来说是一个历史的函数 s t = f ( h t ) s_t=f(h_t) st=f(ht)
  • 可以包含诸如算法状态的元信息(执行了多少计算步骤,等)或决策过程(一轮里还有多少决策需要制定)
Markov Assumption

information state:充足的history的统计数据。
State s t s_t st是马尔科夫的当且仅当:
p ( s t + 1 ∣ s t , a t ) = p ( s t + 1 ∣ h t , a t ) p(s_{t+1}|s_t,a_t)=p(s_{t+1}|h_t,a_t ) p(st+1st,at)=p(st+1ht,at)
为了对未来做出预测,只需要知道Enviroment的当前状态,即给定现在时未来对过去是独立的。

Why is Markov Assumption Polular ?
  • Markov Assumption可以一直被满足
    • 只要把state设定成history它就是马尔科夫的: s t = h t s_t=h_t st=ht
  • 在实践中通常假定最近的观察是充足的history统计数据: s t = o t s_t=o_t st=ot
  • State representation 对以下有影响:
    • 计算复杂度
    • 需要的数据量
    • 最终结果的性能
Full Observability / Markov Decision Process(MDP)

如果我们假定Environment的观察等于world的state: s t = o t s_t=o_t st=ot,那么agent就是以马尔科夫决策过程(MDP)来建模world的。

Partial Observability / Partially Observable Markov Decision Process(POMDP)
  • Agent的state和world的state是不同的(partially)
  • Agent自己构建自己的state,e.g
    • 使用history s t = h t s_t=h_t st=ht,或者使用world state的belief(信念), 或者使用RNN
Types of Sequential Decision Process: Bandits
  • Bandits(老虎机):action对下一个观察没有影响
  • 没有延期的奖励。

Bandits是一种简单的马尔科夫决策过程。

Types of Sequential Decision Process: MDPs and POMDPs

在这里插入图片描述
对MDP和POMDP来说:

  • actions会影响未来的观察
  • 可能需要奖励分配(Credit assignment)和策略化action
Types of Sequential Decision Process: How does the world changes
  • Deterministic(确定性):给定一个history和action,只会产生一个观察(obsercation)和奖励(reward)
    • 在机器人和控制论里是常见假设
  • Stochastic(随机性): 给定一个history和action,可能会有多个潜在的观察(obsercation)和奖励(reward)
    • 针对顾客,患者,难以建模的领域来说是常见假设

这篇关于Sequential Decision Making under uncertain - 不确定性条件下的序列决策制定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420056

相关文章

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

Nginx中location实现多条件匹配的方法详解

《Nginx中location实现多条件匹配的方法详解》在Nginx中,location指令用于匹配请求的URI,虽然location本身是基于单一匹配规则的,但可以通过多种方式实现多个条件的匹配逻辑... 目录1. 概述2. 实现多条件匹配的方式2.1 使用多个 location 块2.2 使用正则表达式

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

uva 10131 最长子序列

题意: 给大象的体重和智商,求体重按从大到小,智商从高到低的最长子序列,并输出路径。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vect

POJ1631最长单调递增子序列

最长单调递增子序列 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;publ