首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >状态机-双延迟离散时间机状态转换图

状态机-双延迟离散时间机状态转换图
EN

Stack Overflow用户
提问于 2017-03-09 09:33:25
回答 1查看 260关注 0票数 0

我正在以我的方式完成麻省理工学院的开放式课程,电气工程与计算机科学导论,其中使用状态机。我已经注意到,课程讲师没有为他们讨论的大多数状态机绘制状态转换图。

一个问题是设计一个状态机& Python代码,它的状态是过去两个时间间隔的输入。我认为这是一个无限状态机,状态转换图可能有助于得到一般的想法,同时只显示其中的几个状态。

我想知道是否可以为这种双延迟机器绘制状态转换图。到目前为止,所有的例子都有一条从状态泡中出现的过渡线,这个状态泡标记有一个输入和结果输出,然后指向下一个状态。对于双延时机器,结果的输入是在前两个时间段输入的。问题指令状态:机器的所有状态内存都在一个参数中。没有提到输入内存,我认为这是必要的。

我的问题:

  1. 能否为此状态机绘制状态转换图?
  2. 输入内存是否一定是此设计的一部分?
EN

回答 1

Stack Overflow用户

发布于 2017-07-13 15:37:33

绘制图表是不可能的,因为所有可能的状态集都包含任何数据类型的值,在读取中为(单个)延迟状态机提供的示例中给出了这种值。因此,无法定义可能的状态数。见第4章:状态机

在问题描述中,它指出:

在任何状态机中,、init、和getNextValues方法必须不设置或读取除self.startState (甚至self.state)以外的任何实例变量。所有内存(状态)必须位于getNextValues的状态参数中。请看课程说明中的例子,第4.1节。

所以状态就是你所需要的全部记忆。没有理由不使用数组作为状态来保留最后两个输入。

首先,我们将两个值保存在内存(状态)中。

代码语言:javascript
运行
AI代码解释
复制
class Delay2Machine(StateMachine):
    def __init__(self, val0, val1):
        self.startState = (val0, val1)

以下是在阅读中给出的超类SM步骤函数实现:

代码语言:javascript
运行
AI代码解释
复制
def step(self, inp):
    (s, o) = self.getNextValues(self.state, inp)
    self.state = s
    return o

输出将是保存在内存中的第一个值,状态将被更新以包含新的输入。

代码语言:javascript
运行
AI代码解释
复制
    def getNextValues(self, state, inp):
        return ((state[1], inp), state[0])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42701873

复制
相关文章
python: ValueError:
File "/self/_UDACity/pythonLearning/mathTest.py", line 28, in <module>     tmp3 = math.log((1/3), 2)# ValueError: math domain error
py3study
2020/01/08
7120
【说站】python元组如何打包和解包
2、解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常。
很酷的站长
2022/11/23
8170
【说站】python元组如何打包和解包
Python - 解包的各种骚操作
https://www.cnblogs.com/poloyy/p/14658433.html
小菠萝测试笔记
2021/08/10
6600
Python抛出异常_python抛出异常的作用
在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误
全栈程序员站长
2022/11/02
2.6K0
文件打包解包的方法
在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。
DeROy
2020/05/12
2.1K1
Python有趣的解包用法
python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,我们来看下面这些例子(分为10个部分)。
Python中文社区
2018/07/26
8480
dotnet C# 应用程序进程创建太多线程将会抛出 OutOfMemoryException 异常
本文记录一个 dotnet 的特性,在应用程序快速创建大量线程的时候,将会因为线程创建时没有足够的资源而创建失败,此时将会抛出 OutOfMemoryException 异常,但实际进程占用内存不多
林德熙
2021/09/23
9900
matplotlib无法显示图片_pycharm不出图
首先你运行之后最小化pycharm,看看是不是已经出来了,只是没有自己弹到最顶层。
全栈程序员站长
2022/09/25
2.2K0
matplotlib无法显示图片_pycharm不出图
Celery ValueError: n
最近因项目需要,在使用任务队列Celery的时候,出现如题错误,最终在github上里找到解决办法,记录一下。
py3study
2020/01/20
7980
【说站】python序列解包的使用
2、字典中使用序列解包时,默认情况下是键的操作。如果需要操作键值,则需要使用items(),如果需要操作值,则使用value()。
很酷的站长
2022/11/24
4650
【说站】python序列解包的使用
ValueError: too many
数据:{'O_DATA': [{'ACCOUNT': 'A20001002', 'ZACTOSP': Decimal('21792635.96'), 'ZBUDGET': Decimal('290271.50'), 'ZACTUAL': Decimal('4878563.10')}]}
py3study
2020/01/16
6860
ValueError: too many
ValueError:invalid
使用django的异步调用场景时,并配置了如下配置:出现了错误:ValueError: Database is int between 0 and limit - 1, not :6379/0
cywhat
2023/04/27
3830
Basemap工具函数(1)
添加一个经度值到经度数组中,并且添加一列值到数据数组中。当数据覆盖全部经度时,非常有利于添加缺省值。
bugsuse
2020/04/21
2.4K0
Basemap工具函数(1)
解决织梦CMS Tag中文字太多/太长失效无法添加的问题
最近老蒋看到群里网友在使用织梦CMS程序还是比较多的,尤其是有做范文类内容网站比较多,毕竟大数据网站是不适合WP这种程序的。不过在织梦CMS程序提交文章过程中,他们如果提交的TAG字符过长,或者中文字太多的话会会无法被写入数据库,这个是什么问题呢?
老蒋
2021/12/27
9970
深入Go:错误的包装与解包
仔细想想,我们的Go代码中可能有四分之一的代码都是和错误处理相关的,而我们已经接受了,error无处不在。但似乎Go的error处理并不够强大,也缺乏统一的错误处理流程的逻辑;在经历了大量的讨论后,Go 1.13引入了错误的包装和解包,也许某种程度上可以优化我们的错误处理流程。
wenxing
2021/12/14
2K0
Python 元组解包的几种方法
要将一个tuple中的所有值作为参数,如果直接用上面两种方法就不太 pythonic了,可以用以下方法解包
Ewdager
2020/07/14
1.4K0
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.5K0
工具推荐|pyinterp-面向地球科学领域的插值工具
此项目的动机是为地球科学领域提供插值工具。当然也有其它库可应用于地球科学的数据插值,但是这些库基本完全是用Python编写,其性能无法满足需求。
bugsuse
2022/09/23
9800
工具推荐|pyinterp-面向地球科学领域的插值工具
Python可视化 | 三维图形迁移
在前面推送中我们提到了通过collection功能而在3D地图中添加地图的方法,也短暂提到了栅格与填色两种图形样式的降维方法。但是从matplotlib这两个函数的底层有一定的局限性,比如下面这两张图的侧面填色就无法绘出:
郭好奇同学
2021/05/28
1.9K0
Python可视化 | 三维图形迁移
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值
如果您曾经在 Python 中进行过数据可视化,那么很可能您使用了 Matplotlib 库。这个库包含了许多绘图的功能。但是一些概念上简单的可视化需要大量的代码才能完成。而在这个时代,人们希望能够与图表进行交互——这是普通 Matplotlib 库无法提供的功能。更重要的是,采用默认设置的 Matplotlib 图表通常看起来很糟糕。
deephub
2020/06/04
1.7K0

相似问题

如何根据熊猫数据帧中的数据类型填写NaN值?

12

未知的帧大小

11

块大小未知的示例dask数据帧

129

如何填写熊猫丢失的GPS数据?

22

熊猫费()填写丢失的数据

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档