二、中级进阶(模糊状态机、决策树、寻路技术、博弈论)
(1)模糊状态机 (FuSM)
模糊状态机就是我们入门部分中的有限状态机(FSM)的进阶版本,它在有限状态机的基础上加入了模糊逻辑技术(Fuzzy Logic)
如果说有限状态机判断的是 是与非,0或1,那么模糊逻辑判断的就是0.0到1.0,或者是一个判断集合。
以下两点是模糊状态机与有限状态机重要区别:
1.有限状态机同一时间只能停留在一个状态上面,例如我们的乐高倒垃圾机器人,待命状态就不能移动,移动状态就不能倒垃圾。而模糊状态机则不然,它可以在同一时间运行多个状态,并且给每个状态分配不同的权重,例如,20%的移动状态 + 80%的倒垃圾状态。每个状态都可以处理这个权重植,例如20%的移动状态就是把移动速度降为原有的20%等等。
这样做的目的是什么呢?我们想象一下人类最自然的行为是怎么样的,我们倒垃圾和走路,不会说是像军训一样死板,先要立定,然后倒垃圾,一定等到垃圾桶完全还原,然后向后转,齐步走。这样太机械化,而我们人类则是非常连贯自然的行业,可能在垃圾桶倒完垃圾还没来得及翻转回来时,就开始了转身移动的行为。在转身移动的过程中,我们才慢慢的把垃圾桶翻转回来。这就是我们人类的模糊行为。
如果我们的乐高机器人加入了模糊状态机,那么他倒垃圾的动作,将会变的更加自然,连贯,和一点点随意,比如倒完垃圾后,就开始向后移动,开始是20%的权重,移动速度比较慢,慢慢的变成100%移动状态,而倒垃圾的80%状态则慢慢变低,最后结束倒垃圾状态。
2.有限状态机不会犯错,而模糊状态机会和人类一样有时会犯错误!
有限状态机在条件一定的情况下,状态是必定切换的,百试不爽,例如我们的乐高倒垃圾机器人,在识别到红外线传感器返回的值在30以下的时候,立刻切换到移动状态。如果我们使用的是模糊状态机,那么传感器在30以下,有可能不会切换状态,但是有时候确又可以切换,其中的具体概率由你控制
模糊状态机在状态的切换条件上面有一定的概率性和集合。你可以在一个判断集合中加入两条以上的条件,来决定是否切到某状态,而且还可以给不同的状态以不同的权重值。例如机器人感知的红外线并不明显,比如小于40的情况,这时机器人不确定你是否真的伸手放上了垃圾,有可能是误操作,这时他有可能根据不同的值,分配不同的权重,比如小于40时,80%的待命状态,20%的移动状态,小于30的时候,30%待命状态,70%的移动状态,这时如果人喊“停”的话,那么还是可以补救的,因为没有移动多远,如果人类没有进行干预,那么机器人会慢慢的把移动状态加到100%,而待命状态慢慢的降为0%并结束。也就是我们的机器人有了一定的误识别补救措施。
模糊状态机的基本原理到此结束,下面是程序员进阶部分:
|