首页 理论教育 自适应动态程序设计研究成果

自适应动态程序设计研究成果

时间:2023-10-17 理论教育 版权反馈
【摘要】:而主动学习是指系统能够根据自己学习得到的知识,推出在未知环境中的效用函数。关于效用函数的计算,可以这样考虑:假定,如果系统达到了目标状态,效用值应为最高,假设为1 ,对于其他状态的静态效用函数,可以采用下述简单的方法计算。假设系统通过状态S2,从初始状态S1到达了目标状态S7。在自适应动态程序设计中,状态i的效用值可以用下式计算:式中,是在状态i时的奖励;Mij是从状态i到状态j的概率。

自适应动态程序设计研究成果

强化学习假定系统从环境中接收反应,但是只有到了其行为结束后(即终止状态)才能确定其状况(奖励还是惩罚)。并假定系统初始状态为S0,在执行动作(假定为a0)后,

系统到达状态S1,即

对系统的奖励可以用效用(Utility)函数来表示。在强化学习中,系统可以是主动,也可以是被动的。被动学习是指系统试图通过自身在不同的环境中的感受来学习其效用函数

而主动学习是指系统能够根据自己学习得到的知识,推出在未知环境中的效用函数。

关于效用函数的计算,可以这样考虑:假定,如果系统达到了目标状态,效用值应为最高,假设为1 ,对于其他状态的静态效用函数,可以采用下述简单的方法计算。假设系统通过状态S2,从初始状态S1到达了目标状态S7。现在重复实验,统计S2被访问的次数。假设在60 次实验中,S2被访问了5次,状态S2的效用函数可以定义为5 / 100 = 0.05 。现假定系统以等概率的方式从一个状态转换到其邻接状态(不允许斜方向移动),如系统可以从S1以0.5 的概率移动到S2或者S6(不能到达S5),如果系统在S5,它可以0.25 的概率分别移动到S2、S4、S6、S8

对于效用函数,可以认为:“一个序列的效用是累积在该序列状态中的奖励之和”。静态效用函数值比较难以得到,因为这需要大量的实验。强化学习的关键是给定训练序列,更新效用值。

自适应动态程序设计中,状态i的效用值可以用下式计算:(www.xing528.com)

式中,是在状态i时的奖励;Mij是从状态i到状态j的概率。

对于一个小的随机系统,可以通过求解类似上式所有状态中的所有效用方程来计算。但当状态空间很大时,求解起来就不是很方便。

为了避免求解类似上式的方程,可以通过下面的公式来计算:

式中,为学习率,它随学习的进度而逐渐缩小。

另外,对于被动的学习,M 一般为常量矩阵。但是对于主动学习,它是可变的。所以,可以重新定义为

式中,img表示在状态i执行动作a达到状态j的概率。这样,系统会选择使得img最大的动作,这样也会最大。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈