CN101673354A - 操作条件反射自动机及其在仿生自主学习控制中的应用 - Google Patents

操作条件反射自动机及其在仿生自主学习控制中的应用 Download PDF

Info

Publication number
CN101673354A
CN101673354A CN200910086990A CN200910086990A CN101673354A CN 101673354 A CN101673354 A CN 101673354A CN 200910086990 A CN200910086990 A CN 200910086990A CN 200910086990 A CN200910086990 A CN 200910086990A CN 101673354 A CN101673354 A CN 101673354A
Authority
CN
China
Prior art keywords
state
ocm
abk
constantly
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910086990A
Other languages
English (en)
Inventor
阮晓钢
郜园园
蔡建羡
陈静
戴丽珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN200910086990A priority Critical patent/CN101673354A/zh
Publication of CN101673354A publication Critical patent/CN101673354A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Abstract

本发明提出了一种操作条件反射自动机模型,并且基于该模型设计了一种仿生自主学习控制的方法。针对自然界***的控制问题,运用仿生的自组织学习方法,设计出一种可用于描述,模拟,设计具有自组织(包括自学习和自适应)功能的操作条件反射自动机模型,从而有效的将仿生学、心理学应用于***的控制。该方法利用操作条件反射自动机模型OCM,首先是由当前***的输入和状态,随机的选择操作(控制量),并倾向于选择概率值大的操作,概率值大的操作取向性好。待实施控制后观测状态并对外输出其控制效果,再由取向单元来评价控制后的状态,修改其规则集合概率值,不断习得取向性好的行为,以便下次选择更优的行为,最终实现其自主控制。

Description

操作条件反射自动机及其在仿生自主学习控制中的应用
技术领域
本发明涉及一种基于操作条件反射原理的仿生自动机(Operant Conditioning Automata,以下简称OCM)。它利用计算机技术、自动控制技术、仿生学、心理学、生物学等来实现仿生自主学习控制。
背景技术
本发明基于Skinner的操作条件反射理论,它区别于巴甫洛夫的经典条件反射。经典性条件反射是由条件刺激引起反应的过程,其公式为S→R,反应具有先天性,刺激物作为一种强化,并且在行为之前就已经被呈现;而操作性条件反射是首先做某种操作反应,然后得到强化的过程,其公式为R→S,反应具有后天性,其强化出现在行为出现之后,目的是让试验对象学会实验者所期望的特定行为。据此,Skinner又进一步提出两种学习:一种是经典性条件反射式学习,另一种是操作条件反射式学习。两种学习形式同样重要,而操作式条件反射的强化刺激有明确的目的,更有利于试验对象学会特定的行为。
本发明的自动机模型建立在有限状态自动机的基础上,一般的一个有限状态机是一个五元组:FSM={A,Z,S,f,g}。其中各符号的意义:(1)A表示有限输入符号集合(2)S表示有限(内部)状态符号集合(s(0)∈S为初始状态)(3)Z表示有限输出(接受状态)符号集合(4)f:S×A→S表示状态转移函数(5)g:S→Z表示输出函数。
目前,相似的发明专利主要是基于有限状态自动机或元胞自动机的方法的研究,采用的元胞自动机主要用于研究信息传递、计算、构造、生长、复制、竞争等一般现象,但在模拟动物的感知和认知行为方面还没有很好的应用。如申请(专利)号为200610119136.X,名称为基于元胞自动机的图像边缘检测算法;申请(专利)号为200810031543.4,名称为基于有限状态自动机的多艾真体动态多目标协作跟踪方法。操作条件反射自动机及其应用方面的专利还未见到。
本发明提出了一种操作条件反射自动机模型,并且基于该模型设计了一种仿生自主学习控制的方法。本发明的目的在于用Skinner鸽子实验来说明此方法实现了模拟操作条件反射学习的机制,用倒立摆控制问题来证实用此方法去实现某些状态连续控制***的无模型控制的可行性。
发明内容
本发明不同于传统的控制方法,是以操作条件反射学***衡控制问题,运用仿生的自组织(包括自学习和自适应)学习方法,设计出一种可用于描述、模拟、设计具有自组织(包括自学习和自适应)功能的操作条件反射自动机模型,从而有效的将仿生学、心理学和生物学应用于控制***,从而实现仿生自主学习控制的功能。
本发明的操作条件反射自动机是一个八元组
OCM=<A,S,O,Z,R,f,ψ,δ>,
其中,
(1)OCM的输入符号集合:A={aj|j=0,1,2,…,nA},aj为OCM第j个输入符号;
(2)OCM的内部状态集合:S={sj|i=0,1,2,…,nS},si为OCM第i个状态符号;
(3)OCM的内部操作集合:O={ok|k=1,2,…,nO},ok为OCM第k个操作符号;
(4)OCM的输出符号集合:Z={zm|m=0,1,2,…,nZ},zm为OCM第m个输出符号;
(5)OCM的规则集合:R={rijk|i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,nO}},R的每一个元素rijk∈R代表一条随机“条件-操作”规则:
rijk:si×aj→ok(pijk)
即OCM在状态处于si(∈S)和输入为aj(∈A)的条件下依概率pijk实施操作ok(∈O),pijk=p(ok|si∩aj)是OCM在状态处于si和输入为ai∈A的条件下实施操作ok的概率,又称规则rijk的激发概率。
(6)OCM的状态空间方程:
f : f S : S ( t ) &times; A ( t ) &times; O ( t ) &RightArrow; S ( t + 1 ) f Z : S ( t ) &times; A ( t ) &times; O ( t ) &RightArrow; Z ( t + 1 )
其中,fS是OCM的状态转移方程,OCM t+1时刻的状态s(t+1)(∈S)由t时刻的状态s(t)(∈S)和t时刻输入a(t)(∈A)及t时刻的操作o(t)(∈O)确定,与其t时刻之前的状态、输入和操作无关,并且,fS可以是未知的,但OCM状态转移的结果是OCM自身可以观测的;fZ是OCM的输出方程,OCMt+1时刻的输出z(t+1)(∈Z)由t时刻的状态s(t)(∈S)和t时刻输入a(t)(∈A)及t时刻的操作o(t)(∈O)确定,与其t时刻之前的状态和输入及操作无关,OCM的输出是外部世界可以观测的;
(7)OCM的状态取向函数:ψ:S×A→[h,q],h定义为取向性最差的取向函数值,q为取向性最好的取向函数值(这里的取向性是从生物学意义上来定义的,环境决定生物进化的方向,即生物的取向性)。p和q的值可根据所处理的具体的对象来取值。对于任一si(∈S)和输入aj(∈A),ψij=ψ(si,aj)是OCM关于状态si和输入aj的期望值,如果ψij<0,则称si是OCM在输入为aj时的负取向状态;如果ψij=0,则称si是OCM在输入为aj时的零取向状态;如果ψij>0,则称si是OCM在输入为aj时的正取向状态;
(8)OCM的操作条件反射学习律:
Figure A20091008699000062
设OCM t时刻的状态为s(t)=sa∈S,输入a(t)=ab∈A,依集合R中随机“条件-操作”规则选中的操作为o(t)=oc∈O,实施操作后观测到t+1时刻的状态s(t+1)=sd∈S,则基于操作条件反射原理,操作集合R中随机“条件-操作”规则pabk(k=1,2,…,no)的激发概率依
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
进行调节,其中,
Figure A20091008699000072
是OCM在状态处于sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)后状态转移为sd(∈S)后取向函数值的变化量,可用此变化量来判断该操作的好坏;
Figure A20091008699000073
是单调增函数,ξ(x)=0当且仅当
Figure A20091008699000074
r是操作规则总数,λ是学习率,即每次迭代学习的速率。pabc(t)(a∈{0,1,2,…,nS};b∈{0,1,2,…,nA};c∈{1,2,…,nO})是OCM状态处于sa(∈S)和输入为ab(∈A)时实施操作oc(∈O)的概率p(oc|sa∩ab)在t时刻的值,当
Figure A20091008699000075
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变小,即取向性变差,则pabc(t+1)<pabc(t),表示下一时刻选择操作oc(∈O)的概率减小;当
Figure A20091008699000076
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值不变,即取向性也不变,这时pabc(t+1)=pabc(t),表示下一时刻选择操作oc(∈O)的概率不变;当
Figure A20091008699000077
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变大,即取向性变好,则pabc(t+1)>pabc(t),表示下一时刻选择操作oc(∈O)的概率增大。其中max min(pabk(t+1),0,1)是当pabk(t+1)>1时pabk(t+1)=1;pabk(t+1)<0时pabk(t+1)=0可保证pabk(t+1)∈[0,1],且
Figure A20091008699000078
即表示在同一输入同一状态下采取不同操作的概率和为1,当t→∞时,若pabc(t)→1,说明操作oc(∈O)在状态处于sa(∈S)和输入为ab(∈A)的条件下行为最优。一般情况下我们给定学习迭代次数Tf或最优行为选择概率最大阈值pε,当学习达到迭代次数或者当某一状态处于sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)的概率pabc(t)≥pε时停止学习,pε∈[0.7,1],由实际的***环境来具体设定,一般设为pε=0.9。
本发明的重要特征在于模拟生物的操作条件反射机制,因而具有仿生的自组织功能,包括自学习和自适应功能,可用于描述,模拟,设计各种自组织的***。
本发明的技术方案见图1、图2。
本发明的方法步骤如下:
(1)设定实验的初始条件。给定OCM的起始状态s(0),给定OCM的初始输入a(0),学习率λ,给定R中各随机“条件-操作”规则rijk(i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,no})的初始激发概率pijk(0)=l/r,给定迭代学习步数Tf或最优行为选择概率pε,由实验要求及环境确定λ、Tf和pε,一般取λ=0.05,Tf=1000,pε=0.9。
(2)随机选择操作并实施操作。依OCMt时刻的状态s(t)∈S和输入a(t)∈A及R中各随机“条件-操作”规则rijk(i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,no})的激发概率t时刻的值pijk(t),按t时刻状态下各操作的概率值pijk(t)分布,随机地选择t时刻的操作o(t)∈O;设OCMt时刻的状态s(t)=sa,输入a(t)=ab,选中t时刻的操作o(t)=oc,则OCM的状态依fS:S(t)×A(t)×O(t)→S(t+1)状态转移方程发生特性转移;
(3)操作条件反射。设观测到状态s(t+1)=sd∈S,t+1时刻则操作条件反射学习单元δ对随机“条件-操作”规则rabc激发概率进行调节,rabc激发概率t+1时刻的值
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
其中maxmin(pabk(t+1),0,1)是当pabk(t+1)>1时pabk(t+1)=1;pabk(t+1)<0时pabk(t+1)=0;可保证pabk(t+1)∈[0,1]。且 &Sigma; k = 1 n o p abk ( t ) = 1 .
(4)由***的输出方程fZ:S(t)×A(t)×O(t)→Z(t+1)对外输出Z(t+1)。
(5)重复进行(2)-(4)的步骤,直到达到迭代学习次数Tf或当pabc(t+1)>pε时停止实验。
本发明方法的流程图见图3。
本发明的优点是能模拟和仿生自然界生命的“随机应变性”,使机器生命具有思维、记忆和学习功能。具有认知行为或认知能力的机器生命因而不仅能改变自己的行为,而且能改善自己的行为。使机器生命表现的更加具有仿生性和智能性。
附图说明
图1为本发明的结构示意图
图1:1输入符号集合,2内部状态集合,3内部操作集合,4输出符号集合,5随机“条件-操作”规则集合,6状态空间单元,7状态取向函数,8操作条件反射学习律。
图2为本发明专利的应用结构框图
图3为本发明专利的方法流程图
图4为Skinner鸽子实验三种行为次数效果图
1红色按钮2黄色按钮3蓝色按钮
图5(a)(b)为Skinner鸽子实验迭代学习仿真效果图,分别为在1000次和1000次训练次数的行为操作概率图。1红色按钮2黄色按钮3蓝色按钮
图6(a)为倒立摆平衡控制实验确定模型下的偏角曲线图
图6(b)为倒立摆平衡控制实验确定模型下的偏角速度曲线图
图7(a)为倒立摆平衡控制随机模型下的偏角曲线图
图7(b)为倒立摆平衡控制实验随机模型下的偏角速度曲线图
具体实施方式
实施例一:如图4、5所示,Skinner操作条件反射鸽子实验。
Skinner鸽子实验训练的目标是使其学会啄红色按钮的操作行为。它啄红色按钮时得到食物(正强化刺激),啄黄色按钮时无任何刺激,啄蓝色按钮时给予电击(负强化刺激)。采用Skinner操作条件反射自动机模型方法进行实验,如图1、2、3所示。
先给出鸽子实验简化的离散数学模型:设鸽子有三个状态分别为:饥饿状态、半饥饿状态和零饥饿状态。鸽子状态为饥饿时,当给它食物,状态转移为半饥饿,不给鸽子食物或给其电击刺激时,鸽子依然表现为饥饿状态,输出为此时鸽子的状态;鸽子状态为半饥饿时,当给它食物,状态转移为零饥饿,不给其食物或给其电击刺激,鸽子转移为饥饿状态,输出为此时鸽子的状态;鸽子状态为零饥饿时,当给它食物,状态依然转移为零饥饿,不给其食物,状态转移为半饥饿状态,给其电击刺激,状态转移为饥饿状态,输出为鸽子此时的状态。得到其模型的状态转移方程fs:S(t)×A(t)×O(t)→S(t+1)具体表示为:
f(s0,a0,o1)=s1  f(s1,a0,o1)=s2  f(s2,a0,o1)=s2
f(s0,a1,o2)=s0  f(s1,a1,o2)=s0  f(s2,a1,o2)=s1
f(s0,a2,o3)=s0  f(s1,a2,o3)=s0  f(s2,a2,o3)=s0
鸽子实验的输入符号集合A={a0,a1,a2},其中a0表示啄红色按钮给鸽子食物,a1表示啄黄色按钮不给鸽子食物,a2表示啄蓝色按钮给予电击刺激;状态集合S={s0,s1,s2},其中s0表示饥饿状态,s1表示半饥饿,s2表示零饥饿状态;操作集合O={o1,o2,o3},其中o1表示鸽子啄红色按钮,o2表示鸽子啄黄色按钮,o3表示鸽子啄蓝色按钮,开始时鸽子啄红,黄和蓝三个按钮是随机的;规则集合R为:rijk:si×aj→ok(pijk),即表示鸽子在处于si(∈S)状态和输入为aj(∈A)的条件下依概率pijk实施操作ok(∈O),pijk=p(ok|si∩aj)是鸽子在状态处于si和输入为ai∈A的条件下实施操作ok的概率,又称规则rijk的激发概率。设定鸽子离散状态取向函数ψ:S×A→{-1,0,1,2,3},具体函数表达式为:
ψ00(s0,a0)=1  ψ10(s1,a0)=2  ψ20(s2,a0)=3
ψ01(s0,a1)=0  ψ11(s1,a1)=1  ψ21(s2,a1)=2
ψ02(s0,a2)=-1  ψ12(s1,a2)=0  ψ22(s2,a2)=1
ψ00(s0,a0)=1表示当鸽子状态为饥饿时,给其食物,则其状态取向函数值较大为1;
ψ11(s0,a1)=0表示当鸽子状态为饥饿时,不给其食物,则其状态取向函数值为0;
ψ22(s0,a2)=-1表示当鸽子状态为饥饿时,给其电击,则其状态取向函数值较小为-1。
鸽子实验方法基本步骤如下:
(1)设定实验的初始条件。初始输入设定为给鸽子食物a0,初始状态设定为饥饿状态s0,设定鸽子啄三个按钮的初始概率均为1/3,即刚开始鸽子啄三个按钮的机会是均等的,学习率λ=0.05,设定最优行为选择概率阈值pε=0.97。
(2)随机选择操作并实施操作。设在t时刻观测到鸽子的状态为sa∈S,输入为ab∈A,状态取向函数值为ψab∈ψ,依集合R中随机“条件-操作”规则按t时刻各操作的概率值pijk(t)分布选中的操作oc∈O,实施操作oc∈O后依鸽子的状态转移函数fs
S(t)×A(t)×O(t)→S(t+1)进行状态转移。即依
f(s0,a0,o1)=s1    f(s1,a0,o1)=s2    f(s2,a0,o1)=s2
f(s0,a1,o2)=s0    f(s1,a1,o2)=s0    f(s2,a1,o2)=s1
f(s0,a2,o3)=s0    f(s1,a2,o3)=s0    f(s2,a2,o3)=s0
进行状态转移。其中f(s0,a0,o1)=s1表示当鸽子为饥饿状态时,其选择啄红色按钮时给食物下鸽子状态转移为半饥饿状态;f(s1,a1,o2)=s0表示当鸽子为半饥饿状态时,其选择黄色按钮时不给其食物下鸽子状态转移为饥饿状态;f(s2,a2,o3)=s0表示鸽子为零饥饿状态时,其选择蓝色按钮时给其电击鸽子状态转移为饥饿状态。
输出函数定义fz:zm=si,m=i,i={0,1,2}。输出集合Z={z0,z1,z2},z0=s0,z1=s1,z2=s2。当鸽子在t时刻转移后,t+1时刻状态为sd∈S,那么得到t+1时刻鸽子的状态取向函数值为ψab∈ψ。
(3)操作条件反射。根据鸽子的状态取向函数ψ值的变化量,即
Figure A20091008699000101
按照操作条件反射单元δ对随机“条件-操作”规则rabc激发概率进行调节。这里的δ为:
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
其中,
Figure A20091008699000103
是鸽子在状态sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)后状态转移为sd(∈S)后取向函数值的变化量,可用此变化量来判断该操作的好坏;
Figure A20091008699000104
是单调增函数,ξ(x)=0当且仅当是操作规则总数,λ是学习率,即每次迭代学习的速率,这里取r=3,λ=0.05。pabc(t)(a∈{0,1,2,…,nS};b∈{0,1,2,…,nA};c∈{1,2,…,no})是鸽子处于sa(∈S)和输入为ab(∈A)时实施操作oc(∈O)的概率p(oc|sa∩ab)在t时刻的值,当
Figure A20091008699000106
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变小,即取向性变差,这时得到pabc (t+1)<pabc(t),表示下一时刻选择操作oc(∈O)的概率减小,即在该输入与状态下该行为被选择的机率变小;当
Figure A20091008699000107
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值不变,即取向性也不变,这时得到pabc(t+1)=pabc(t),表示下一时刻选择操作oc(∈O)的概率不变;当
Figure A20091008699000108
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变大,即取向性变好,这时得到pabc(t+1)>pabc(t),表示下一时刻选择操作oc(∈O)的概率增大。
具体来说,当t时刻时鸽子状态为饥饿s0时,如果鸽子按规则集合R中的激发概率p001(t)=p(o1|s0∩a0)=0.55选择了啄红色按钮o1的操作,并给其食物a0,由鸽子状态转移方程f(s0,a0,o1)=s1则鸽子下一时刻状态转移为半饥饿s1,此时的取向函数值ψ10(s1,a0)=2大于先前饥饿时的取向函数值ψ00(s0,a0)=1,得到p001(t+1)>p001(t),故下次学习时选择啄红色按钮的概率就增大。
其中maxmin(pabk(t+1),0,1)是当pabk(t+1)>1时pabk(t+1)=1,pabk(t+1)<0时pabk(t+1)=0可保证pabk(t+1)∈[0,1],且
Figure A20091008699000111
即表示在同一输入同一状态下采取不同操作的概率和为1。当t→∞时,若pabc(t)→1,则说明操作oc(∈O)在状态处于sa(∈S)和输入为ab(∈A)的条件下行为最优。
(4)对外输出。由输出函数定义fz:zm=si,i=0,1,2,m=i。按输出集合Z={z0,z1,z2},z0=s0,z1=s1,z2=s2对外输出t+1时刻的状态。
(5)判断实验停止条件是否达到。当pabc=p(oc|sa∩ab)>pε时,则认为鸽子已学会一最优操作行为,则鸽子此后便在此状态此输入下持续选择这一最优操作行为直到达到迭代次数Tf。否则重复进行(2)一(4)的实验步骤,直到满足条件为止。
结果表明,应用上述的操作条件反射自动机的模型,一段时间之后,鸽子啄取红色按钮的次数明显高于啄取其它两个按钮的次数,见图4。图5为鸽子实验迭代学习仿真效果图,从图中可看到鸽子操作条件反射学习形成的过程。
实施例二:如图6-图7所示,单级倒立摆的平衡控制实验。
倒立摆控制的目标是通过给小车底座施加一个力u(控制量),即为操作符号集合O,即u=ok,k=1,2,…,no。最终保证杆不倒下,即不超过一个预先定义好的垂直偏离角度范围。采用Skinner操作条件反射自动机模型的方法进行控制实验,如图1、2、3所示。
倒立摆可以用以下运动方程来描述
&theta; &CenterDot; &CenterDot; = m ( m + M ) gl ( M + m ) I + Mml 2 &theta; - ml ( M + m ) I + Mml 2 u ,把式u=ok,k=1,2,…,no代入得到下面
式中 I = 1 12 mL 2 , l = 1 2 L .
的式子:
&theta; &CenterDot; &CenterDot; = m ( m + M ) gl ( M + m ) I + Mml 2 &theta; - ml ( M + m ) I + Mml 2 o k
式中
Figure A20091008699000116
Figure A20091008699000117
k=1,2,…,no
通过Euler方法数值近似,可用以下差分方程来仿真倒立摆***:
&theta; ( t + 1 ) = &theta; ( t ) + &tau; &CenterDot; &theta; &CenterDot; ( t )
&theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t )
时间τ一般设定为0.02秒,显然以上给的倒立摆***是一个确定性***。为了说明基于操作条件反射自动机模型的方法也同样适用于连续随机***的无模型控制,即fS可以是未知的。在以上确定性模型中引入了一个噪声信号构成一个随机倒立摆模型,即在仿真中用以下方程来代替上面的倒立摆方程。
&theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t ) + d
其中d为随机噪声,这里d为在[-1.5,1.5]上一均匀随机分布噪声。
输出函数定义fz:zm=si,m=i,i={0,1,2}。输出集合Z={z0,z1,z2},z0=s0,z1=s1,z2=s2
倒立摆实验的输入符号集合A={a0},其中θ为摆杆偏离垂直线的角度,为偏离垂直线的角速度。状态集合S={s0,s1,s2},其中s0表示倒立摆控制状态不好,s1表示倒立摆控制状态较好/坏,s2表示倒立摆控制状态好。输出集合Z={z0,z1,z2},z0表示倒立摆控制效果不好,z1表示倒立摆控制效果较好/坏,z1表示倒立摆控制效果好,即达到控制要求。操作集合O={o1,o2,o3},其中o1表示给小车底座施加一个向右的力,o2表示给小车底座施加一个微小接近于零的力,o3表示给小车底座施加一个向左的力。规则集合R为:rijk:si×aj→ok(pijk),即表示倒立摆在处于si(∈S)状态和输入为aj(∈A)的条件下依概率pijk实施操作ok(∈O),pijk=p(ok|si∩aj)是倒立摆在状态处于si和输入为ai∈A的条件下实施操作ok的概率,又称规则rijk的激发概率。状态取向函数值为ψ:S×A→(0,1,2),其中ψ00(s0,a0)=0,ψ10(s1,a0)=1,ψ20(s2,a0)=2。
倒立摆实验控制方法基本步骤如下:
(1)设定实验的初始条件。其中,重力加速度g=9.8m/s2,小车质量M=1.0kg,杆的质量m=0.1kg,杆的半长L=0.5m。设置偏角范围θ∈[-0.1,+0.1],角速度范围
Figure A20091008699000124
这里规定倒立摆偏角左偏时为正值,右偏时为负值,同样,角速度方向向左时为正,方向向右时为负。初始输入为a0(0)取θ(0)=5°=0.087,
Figure A20091008699000125
其中摆动角度值转化为弧度值。初始状态为s(0)=s0,其中当θ∈[-0.1,-0.03]或者θ∈[+0.03,+0.1]为s0,即状态不好,当θ∈(-0.03,+0.005)或者θ∈(+0.005,+0.03)时为s1,即状态较好/坏,当θ∈[-0.005,+0.005]时为s2,即状态控制好。设定倒立摆的三个操作力,即控制量O={o1,o2,o3}={-5,0.1,5},倒立摆选择这三个操作力的初始概率均为1/3,给定迭代学习步数Tf=1000,学习率λ=0.02,操作规则总数r=3,最优行为选择概率阈值为pε=0.95。
(2)随机选择操作并实施操作。设在t时刻观测到倒立摆的状态为sa∈S,输入为ab∈A,状态取向函数值为ψab∈ψ,依集合R中随机“条件-操作”规则选中的操作oc∈O,实施操作后依倒立摆的状态转移方程fs:S(t)×A(t)×O(t)→S(t+1)进行状态转移。
倒立摆状态转移方程可以用以下运动方程来描述
&theta; &CenterDot; &CenterDot; = m ( m + M ) gl ( M + m ) I + Mml 2 &theta; - ml ( M + m ) I + Mml 2 o k
式中
Figure A20091008699000132
Figure A20091008699000133
k=1,2,…,no
和以下差分方程来仿真倒立摆***:
&theta; ( t + 1 ) = &theta; ( t ) + &tau; &CenterDot; &theta; &CenterDot; ( t )
&theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t )
时间τ一般设定为0.02秒,显然以上给的倒立摆***是一个确定性***。
也可用随机倒立摆模型来仿真,即用下式:
&theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t ) + d
代替上面的式 &theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t ) .
其中d为随机噪声,这里d为在[-1.5,1.5]上-均匀随机分布噪声。
输出函数定义fz:zi=si,i=0,1,2。输出集合Z={z0,z1,z2},z0=s0,z1=s1,z2=s2。当倒立摆在t时刻通过倒立摆运动运动方程发生转移后,t+1时刻状态为sd∈S,那么得到t+1时刻倒立摆的状态取向函数值为ψdb∈ψ。
(3)操作条件反射。根据倒立摆的状态取向函数ψ值的变化量,即按照操作条件反射单元δ对随机“条件-操作”规则rabc激发概率进行调节。这里的δ为:
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
其中,
Figure A200910086990001310
是倒立摆在状态sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)后状态转移为sd(∈S)前后取向函数值的变化量,可用此变化量来判断该操作的好坏;
Figure A200910086990001311
是单调增函数,ξ(x)=0当且仅当
Figure A200910086990001312
Figure A200910086990001313
r是操作规则总数,λ是学习率,即每次迭代学习的速率,这里取r=3,λ=0.02。pabc(t)(a∈{0,1,2,…,nS};b∈{0,1,2,…,nA};c∈{1,2,…,no})是倒立摆处于sa(∈S)和输入为ab(∈A)时实施操作oc(∈O)的概率p(oc|sa∩ab)在t时刻的值,当时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变小,即取向性变差,则得到pabc(t+1)<pabc(t),表示下一时刻选择操作oc(∈O)的概率减小;当
Figure A200910086990001315
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值不变,即取向性也不变,则得到pabc(t+1)=pabc(t),表示下一时刻选择操作oc(∈O)的概率不变;当
Figure A200910086990001316
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变大,即取向性变好,则得到pabc(t+1)>pabc(t),表示t+1时刻选择操作oc(∈O)的概率增大。
具体来说,应用倒立摆确定模型仿真,当t时刻时输入θ(t)=0.046和
Figure A20091008699000141
时即倒立摆向左偏,且偏角加速度方向向右时,倒立摆状态好为s2,如果此时由规则集合中的激发概率p203(t)=p(o3|s2∩a0)=0.335选择到的操作为o3,即左推,再由倒立摆运动方程
&theta; &CenterDot; &CenterDot; = m ( m + M ) gl ( M + m ) I + Mml 2 &theta; - ml ( M + m ) I + Mml 2 o k 及差分方程 &theta; ( t + 1 ) = &theta; ( t ) + &tau; &CenterDot; &theta; &CenterDot; ( t ) &theta; &CenterDot; ( t + 1 ) = &theta; &CenterDot; ( t ) + &tau; &CenterDot; &theta; &CenterDot; &CenterDot; ( t ) 来求得t+1
式中
Figure A20091008699000145
k=1,2,…,nO
时刻θ(t+1)=0.031,即倒立摆t+1时刻的状态转移为较好s1,此时的取向函数值ψ10(s1,a0)=1要比t时刻ψ20(s2,a0)=2小,得到p203(t+1)<p203(t),故下次迭代学习时在输入a0及状态s2下选择操作o3左推的概率就会减小,相应地,选择其它两种操作的概率就会增大。
其中maxmin(pabk(t+1),0,1)是当pabk(t+1)>1时pabk(t+1)=1;pabk(t+1)<0时pabk(t+1)=0可保证pabk(t+1)∈[0,1],且这里
Figure A20091008699000146
即表示在同一输入同一状态下采取不同操作的概率和为1。当t→∞时,若pabc(t)→1,则说明操作oc(∈O)在状态处于sa(∈S)和输入为ab(∈A)的条件下行为最优。
(4)对外输出。由输出函数定义fz:zm=si,i=0,1,2,m=i。按输出集合Z={z0,z1,z2},z0=s0,z1=s1,z2=s2对外输出t+1时刻的状态。
(5)判断实验停止条件是否达到。
当t+1时刻满足|θ|≤0.005且
Figure A20091008699000147
且pabc(t+1)=p(oc|sa∩ab)>0.95时,则认为倒立摆已能通过学***衡控制,则之后倒立摆按此状态此输入下持续选择操作oc直到达到迭代次数Tfo否则重复进行(2)-(4)的实验步骤,直到满足条件为止。
图6、图7显示,在同样条件下,不管是确定模型还是随机模型采用操作条件反射自动机模型的方法都能成功控制倒立摆的平衡,显然,由于随机噪声的引入增加了随机模型的学***均要在8800次后可实现倒立摆自主平衡控制。

Claims (2)

1、操作条件反射自动机,操作条件反射自动机以下简称为OCM,其特征在于:是一个八元组
OCM=<A,S,O,Z,R,f,ψ,δ>,
其中,
(1)OCM的输入符号集合:A={aj|j=0,1,2,…,nA},aj为OCM第j个输入符号;
(2)OCM的内部状态集合:S={si|i=0,1,2,…,nS},si为OCM第i个状态符号;
(3)OCM的内部操作集合:O={ok|k=1,2,…,nO},ok为OCM第k个操作符号;
(4)OCM的输出符号集合:Z={zm|m=0,1,2,…,nZ},zm为OCM第m个输出符号;
(5)OCM的规则集合:R={rijk|i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,nO}},R的每一个元素rijk∈R代表一条随机“条件-操作”规则:
rijk:si×aj→ok(pijk)
即OCM在状态处于si(∈S)和输入为aj(∈A)的条件下依概率pijk实施操作ok(∈O),pijk=p(ok|si∩aj)是OCM在状态处于si和输入为ai∈A的条件下实施操作ok的概率,又称规则rijk的激发概率;
15(6)OCM的状态空间方程:
f : f S : S ( t ) &times; A ( t ) &times; O ( t ) &RightArrow; S ( t + 1 ) f Z : S ( t ) &times; A ( t ) &times; O ( t ) &RightArrow; Z ( t + 1 )
其中,fS是OCM的状态转移方程,OCM t+1时刻的状态s(t+1)(∈S)由t时刻的状态s(t)(∈S)和t时刻输入a(t)(∈A)及t时刻的操作o(t)(∈O)确定,与其t时刻之前的状态、输入和操作无关,并且,fS是未知的,但OCM状态转移的结果是OCM自身观测的;fZ是OCM的输出方程,OCMt+1时刻的输出z(t+1)(∈Z)由t时刻的状态s(t)(∈S)和t时刻输入a(t)(∈A)及t时刻的操作o(t)(∈O)确定,与其t时刻之前的状态和输入及操作无关,OCM的输出是外部世界观测的;
(7)OCM的状态取向函数:ψ:S×A→[h,q],h定义为取向性最差的取向函数值,q为取向性最好的取向函数值对于任一si(∈S)和输入aj(∈A),ψij=ψ(si,aj)是OCM关于状态si和输入aj的期望值,如果ψij<0,则称si是OCM在输入为aj时的负取向状态;如果ψij=0,则称si是OCM在输入为aj时的零取向状态;如果ψij>0,则称si是OCM在输入为aj时的正取向状态;
(8)OCM的操作条件反射学习律:
Figure A2009100869900002C2
设OCM t时刻的状态为s(t)=sa∈S,输入a(t)=ab∈A,依集合R中随机“条件-操作”规则选中的操作为o(t)=oc∈O,实施操作后观测到t+1时刻的状态s(t+1)=sd∈S,则基于操作条件反射原理,操作集合R中随机“条件-操作”规则pabk(k=1,2,…,nO)的激发概率依
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
进行调节,其中,
Figure A2009100869900003C2
是OCM在状态处于sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)后状态转移为sd(∈S)后取向函数值的变化量,用此变化量来判断该操作的好坏;
Figure A2009100869900003C3
是单调增函数,ξ(x)=0当且仅当
Figure A2009100869900003C4
r是操作规则总数,λ是学习率,即每次迭代学习的速率;pabc(t)(a∈{0,1,2,…,nS};b∈{0,1,2,…,nA};c∈{1,2,…,nO})是OCM状态处于sa(∈S)和输入为ab(∈A)时实施操作oc(∈O)的概率p(oc|sa∩ab)在t时刻的值,当
Figure A2009100869900003C5
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变小,即取向性变差,则pabc(t+1)<pabc(t),表示下一时刻选择操作oc(∈O)的概率减小;当
Figure A2009100869900003C6
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值不变,即取向性也不变,这时pabc(t+1)=pabc(t),表示下一时刻选择操作oc(∈O)的概率不变;当
Figure A2009100869900003C7
时,说明实施操作oc(∈O)并转移状态为sd(∈S)后的取向函数值变大,即取向性变好,则pabc(t+1)>pabc(t),表示下一时刻选择操作oc(∈O)的概率增大;其中max min(pabk(t+1),0,1)是当pabk(t+1)>1时pabk(t+1)=1;pabk(t+1)<0时pabk(t+1)=0保证pabk(t+1)∈[0,1],且
Figure A2009100869900003C8
即表示在同一输入同一状态下采取不同操作的概率和为1,当t →∞时,若pabc(t)→1,说明操作oc(∈O)在状态处于sa(∈S)和输入为ab(∈A)的条件下行为最优;当学习达到迭代次数或者当某一状态处于sa(∈S)和输入为ab(∈A)的条件下实施操作oc(∈O)的概率pabc(t)≥pε时停止学习,pε∈[0.7,1]。
2.如权利要求1所述的操作条件反射自动机在仿生自主学习控制中的应用,其特征在于,包括如下步骤:
(1)设定实验的初始条件;给定OCM的起始状态s(0),给定OCM的初始输入a(0),学习率λ,给定R中各随机“条件-操作”规则rijk(i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,nO})的初始激发概率pijk(0)=1/r,给定迭代学习步数Tf或最优行为选择概率pε
(2)随机选择操作并实施操作;依OCMt时刻的状态s(t)∈S和输入a(t)∈A及R中各随机“条件-操作”规则rijk(i∈{0,1,2,…,nS};j∈{0,1,2,…,nA};k∈{1,2,…,nO})的激发概率t时刻的值pijk(t),按t时刻状态下各操作的概率值pijk(t)分布,随机地选择t时刻的操作o(t)∈O;设OCM t时刻的状态s(t)=sa,输入a(t)=ab,选中t时刻的操作o(t)=oc,则OCM的状态依fS:S(t)×A(t)×O(t)→S(t+1)状态转移方程发生特性转移;
(3)操作条件反射;设观测到状态s(t+1)=sd∈S,t+1时刻则操作条件反射学习单元δ对随机“条件-操作”规则rabc激发概率进行调节,rabc激发概率t+1时刻的值
&delta; : &ForAll; k &NotEqual; c p abk ( t + 1 ) = p abk ( t ) - &xi; ( &psi; &RightArrow; abk ) &CenterDot; p abk ( t ) p abk ( t + 1 ) = max min ( p abk ( t + 1 ) , 0,1 ) p abc ( t + 1 ) = 1 - &Sigma; k &NotEqual; c p abk ( t + 1 )
其中max min(pabk(t+1),0,1)是当
pabk(t+1)>1时pabk(t+1)=1;pabk(t+1)<0时pabk(t+1)=0;保证pabk(t+1)∈[0,1];且
&Sigma; k = 1 n o p abk ( t ) = 1 ;
(4)由***的输出方程fZ:S(t)×A(t)×O(t)→Z(t+1)对外输出Z(t+1);
(5)重复进行(2)-(4)的步骤,直到达到迭代学习次数Tf或当pabc(t+1)>pε时停止实验。
CN200910086990A 2009-06-12 2009-06-12 操作条件反射自动机及其在仿生自主学习控制中的应用 Pending CN101673354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910086990A CN101673354A (zh) 2009-06-12 2009-06-12 操作条件反射自动机及其在仿生自主学习控制中的应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910086990A CN101673354A (zh) 2009-06-12 2009-06-12 操作条件反射自动机及其在仿生自主学习控制中的应用

Publications (1)

Publication Number Publication Date
CN101673354A true CN101673354A (zh) 2010-03-17

Family

ID=42020573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910086990A Pending CN101673354A (zh) 2009-06-12 2009-06-12 操作条件反射自动机及其在仿生自主学习控制中的应用

Country Status (1)

Country Link
CN (1) CN101673354A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103792846A (zh) * 2014-02-18 2014-05-14 北京工业大学 基于Skinner操作条件反射原理的机器人避障导航方法
CN104570738A (zh) * 2014-12-30 2015-04-29 北京工业大学 基于Skinner操作条件反射自动机的机器人轨迹跟踪方法
CN104614988A (zh) * 2014-12-22 2015-05-13 北京工业大学 一种具有内发动机机制的感知运动***认知及其学习方法
CN105094124A (zh) * 2014-05-21 2015-11-25 防灾科技学院 基于操作条件反射进行自主路径探索的方法及模型
CN105205533A (zh) * 2015-09-29 2015-12-30 华北理工大学 具有脑认知机理的发育自动机及其学习方法
CN109154798A (zh) * 2016-05-09 2019-01-04 1Qb信息技术公司 用于改进随机控制问题的策略的方法和***
CN109212975A (zh) * 2018-11-13 2019-01-15 北方工业大学 一种具有发育机制的感知行动认知学习方法
CN111580392A (zh) * 2020-07-14 2020-08-25 江南大学 一种串联倒立摆的有限频率范围鲁棒迭代学习控制方法
CN111736471A (zh) * 2020-07-14 2020-10-02 江南大学 一种旋转倒立摆的迭代反馈整定控制及其鲁棒优化方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103792846A (zh) * 2014-02-18 2014-05-14 北京工业大学 基于Skinner操作条件反射原理的机器人避障导航方法
CN103792846B (zh) * 2014-02-18 2016-05-18 北京工业大学 基于Skinner操作条件反射原理的机器人避障导航方法
CN105094124A (zh) * 2014-05-21 2015-11-25 防灾科技学院 基于操作条件反射进行自主路径探索的方法及模型
CN104614988B (zh) * 2014-12-22 2017-04-19 北京工业大学 一种具有内发动机机制的感知运动***认知及其学习方法
CN104614988A (zh) * 2014-12-22 2015-05-13 北京工业大学 一种具有内发动机机制的感知运动***认知及其学习方法
CN104570738A (zh) * 2014-12-30 2015-04-29 北京工业大学 基于Skinner操作条件反射自动机的机器人轨迹跟踪方法
CN105205533A (zh) * 2015-09-29 2015-12-30 华北理工大学 具有脑认知机理的发育自动机及其学习方法
CN105205533B (zh) * 2015-09-29 2018-01-05 华北理工大学 具有脑认知机理的发育自动机及其学习方法
CN109154798A (zh) * 2016-05-09 2019-01-04 1Qb信息技术公司 用于改进随机控制问题的策略的方法和***
CN109212975A (zh) * 2018-11-13 2019-01-15 北方工业大学 一种具有发育机制的感知行动认知学习方法
CN111580392A (zh) * 2020-07-14 2020-08-25 江南大学 一种串联倒立摆的有限频率范围鲁棒迭代学习控制方法
CN111736471A (zh) * 2020-07-14 2020-10-02 江南大学 一种旋转倒立摆的迭代反馈整定控制及其鲁棒优化方法
CN111580392B (zh) * 2020-07-14 2021-06-15 江南大学 一种串联倒立摆的有限频率范围鲁棒迭代学习控制方法

Similar Documents

Publication Publication Date Title
CN101673354A (zh) 操作条件反射自动机及其在仿生自主学习控制中的应用
CN105279555B (zh) 一种基于进化算法的自适应学习神经网络实现方法
Van Gelder et al. It’s about time: An overview of the dynamical approach to cognition
CN109492765A (zh) 一种基于迁移模型的图像增量学习方法
CN109829541A (zh) 基于学习自动机的深度神经网络增量式训练方法及***
Gallego et al. Artificial neural networks technology to model and predict plant biology process
CN113272828A (zh) 弹性神经网络
CN103971180A (zh) 一种基于鸽群启发式优化的连续优化问题求解方法
CN103679139A (zh) 基于粒子群优化bp网络的人脸识别方法
CN113255936A (zh) 基于模仿学习和注意力机制的深度强化学习策略保护防御方法和装置
CN103593703A (zh) 基于遗传算法的神经网络优化***及方法
CN106980831A (zh) 基于自编码器的自亲缘关系识别方法
CN103472866B (zh) 智能模糊***的农药废液焚烧炉炉温最佳化***及方法
CN111008685A (zh) 基于生产者依概率反向再生机制的改进人工生态***优化算法
CN104680025A (zh) 基于遗传算法极限学习机的抽油机参数优化方法
CN105989376A (zh) 一种基于神经网络的手写识别***、装置和移动终端
CN104614988B (zh) 一种具有内发动机机制的感知运动***认知及其学习方法
Zhu et al. Extracting decision tree from trained deep reinforcement learning in traffic signal control
CN109948771A (zh) 一种基于细菌觅食优化bp神经网络的态势评估算法
CN112884148A (zh) 嵌入多步规则的混合强化学习训练方法、设备及存储介质
CN107886163A (zh) 基于agn及cnn的单目标优化问题寻优方法及装置
CN115800274B (zh) 一种5g配电网馈线自动化自适应方法、装置及存储介质
CN107563496A (zh) 一种向量核卷积神经网络的深度学习模式识别方法
Wu et al. Not Only Pairwise Relationships: Fine-Grained Relational Modeling for Multivariate Time Series Forecasting.
Shultz 17 Computational Models in Developmental Psychology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100317