State machine 双延迟离散时间机器的状态机-状态转移图
我正在麻省理工学院开放式课程中学习状态机。我注意到,课程讲师没有为他们讨论的大多数状态机绘制状态转换图 一个问题是设计&用Python编写一个状态机,其状态是过去两个时间间隔的输入。我认为这是一个无限状态机,对于它来说,状态转换图可能有助于获得总体概念,同时只显示少数状态 我想知道是否可以为这种双延迟机器绘制一个状态转换图。到目前为止,所有的例子都有一条从状态泡沫中浮现出来的过渡线,标记有输入和结果输出,然后指向下一个状态。对于双延迟机器,结果输入是在前两个时间段输入的。机器的所有状态内存位于一个参数中的状态。没有提到输入内存,我认为这是必要的 我的问题是:State machine 双延迟离散时间机器的状态机-状态转移图,state-machine,State Machine,我正在麻省理工学院开放式课程中学习状态机。我注意到,课程讲师没有为他们讨论的大多数状态机绘制状态转换图 一个问题是设计&用Python编写一个状态机,其状态是过去两个时间间隔的输入。我认为这是一个无限状态机,对于它来说,状态转换图可能有助于获得总体概念,同时只显示少数状态 我想知道是否可以为这种双延迟机器绘制一个状态转换图。到目前为止,所有的例子都有一条从状态泡沫中浮现出来的过渡线,标记有输入和结果输出,然后指向下一个状态。对于双延迟机器,结果输入是在前两个时间段输入的。机器的所有状态内存位于一
不可能绘制图表,因为所有可能状态的集合包括任何数据类型的任何值,如读数中(单个)延迟状态机的示例所示。因此,无法定义可能的状态数。看 问题描述中指出: 任何状态机中的init和getNextValues方法都不能设置或读取除self.startState(甚至不是self.state)之外的任何实例变量,这一点很重要。所有内存(状态)必须位于GetNextValue的状态参数中。请看课程笔记第4.1节中的示例 所以状态就是你所需要的全部内存。没有理由不使用数组作为状态来保留最后两个输入 首先,我们将两个值都保存在内存中(状态) 阅读资料中也给出了超类SM阶跃函数的实现:
def step(self, inp):
(s, o) = self.getNextValues(self.state, inp)
self.state = s
return o
输出将是存储在内存中的第一个值,状态将更新以包括新的输入
def getNextValues(self, state, inp):
return ((state[1], inp), state[0])
def getNextValues(self, state, inp):
return ((state[1], inp), state[0])