标签: state-machine

C#中的简单状态机示例?

更新:

再次感谢这些例子,他们非常有帮助,以下我并不是要从他们身上拿走任何东西.

就我理解它们和状态机而言,目前给出的例子不是我们通常理解的状态机的一半吗?
在某种意义上,示例确实改变了状态,但这只是通过改变变量的值来表示(并允许在不同的状态中允许不同的值变化),而通常状态机也应该改变它的行为,并且行为不是(仅)在根据状态允许变量的不同值更改的意义,但是允许针对不同状态执行不同方法.

或者我对状态机及其常见用途存在误解?

最好的祝福


原始问题:

在c#中找到了关于状态机和迭代器块的讨论以及创建状态机的工具以及C#没有的东西,所以我发现了许多抽象的东西,但作为一个菜鸟,所有这些都有点令人困惑.

因此,如果有人可以提供一个C#源代码示例,它可以实现一个简单的状态机,可能有3,4个状态,只是为了得到它的要点.


c# state-machine

244
推荐指数
12
解决办法
22万
查看次数

C状态机设计

我正在用混合C和C++制作一个小项目.我正在我的一个工作线程的核心构建一个小型状态机.

我想知道你是否会在SO上分享你的状态机设计技巧.

注意:我主要是经过久经考验的实施技术.

更新:基于SO上收集的所有重要输入,我已经确定了这个架构:

事件泵指向指向调度员的事件集成器. 调度程序指向1到n的操作,这些操作指向事件集成器. 带通配符的转换表指向调度程序.

c c++ architecture state-machine

192
推荐指数
9
解决办法
8万
查看次数

提升状态图与Meta状态机

显然,boost包含两个独立的状态机库:StatechartMeta State Machine(MSM).标语给出了非常相似的描述:

  • Boost.Statechart - 任意复杂的有限状态机可以用易于阅读和维护的C++代码实现.
  • 元状态机 - 用于富有表现力的UML2有限状态机的高性能库.

你知道两者之间的主要区别和选择考虑因素是什么?

c++ boost state-machine boost-statechart boost-msm

139
推荐指数
3
解决办法
3万
查看次数

工作流引擎的用例

我想知道您的具体问题 - SO读者 - 使用工作流程引擎解决了您使用的库和框架,如果您没有使用自己的库.我还想知道什么时候工作流引擎不是最佳选择以及是否/如何选择更简单的东西,比如使用状态机的TaskList/WorkList/Task-Management类型应用程序.

问题:

  • 您使用工作流引擎解决了哪些问题?
  • 您使用了哪些库/框架?
  • 何时更简单的状态机/任务管理就像系统一样?
  • 额外奖励:您是如何区分任务管理工作流引擎的

我正在寻找第一手经验.

我检查过的一些资源:

business-process-management state-machine task-management workflow-engine

84
推荐指数
3
解决办法
4万
查看次数

马尔可夫链是否与有限状态机相同?

有限状态机只是马尔可夫链的实现吗?两者有什么不同?

math statistics markov-chains state-machine fsm

71
推荐指数
4
解决办法
2万
查看次数

状态机教程

我只是想知道是否有人知道在互联网上开发状态机的一些很好的教程.还是电子书?

我开始在状态机上工作,只需要一些通用的东西让我开始.

c c99 state-machine

68
推荐指数
5
解决办法
12万
查看次数

Akka有限状态机实例

我试图利用Akka的有限状态机框架来处理我的用例.我正在研究一个处理通过各种状态的请求的系统.

此处的请求是需要与其依赖的应用程序一起部署的应用程序名称:

Request for application A -> A is in a QUEUED state
Discover A's dependency B -> B is in a QUEUED state
B is being processed -> B is in a PROCESSING STATE
A is being processed -> A is in a PROCESSING STATE
B is processed -> B is in a DONE state
A is processed -> A is in a DONE state
Run Code Online (Sandbox Code Playgroud)

为此我在发现时初始化有限状态机.所以AFSM是在请求进入时创建的,当从其中一个actor发现B时,FSM被初始化B.

我是否初始化FSM实例并将其传递给所有actor,同时tellFSM是否正在对数据执行操作以使状态机进入正确的状态?

这是状态机的相关部分:

when(QUEUED, matchEvent(requestAccepted.class, MyApp.class, …
Run Code Online (Sandbox Code Playgroud)

java scala state-machine akka

66
推荐指数
1
解决办法
1894
查看次数

用于状态机

在哪些编程领域我会使用状态机?为什么?我怎么能实现一个?

编辑:请提供一个实际的例子,如果它没有太多要求.

state-machine

65
推荐指数
6
解决办法
2万
查看次数

为什么这需要很长时间才能匹配?这是一个错误吗?

我需要匹配Web应用程序中的某些URL,即/123,456,789编写此正则表达式以匹配模式:

r'(\d+(,)?)+/$'
Run Code Online (Sandbox Code Playgroud)

我注意到它似乎没有评估,即使在测试模式几分钟后:

re.findall(r'(\d+(,)?)+/$', '12345121,223456,123123,3234,4523,523523')
Run Code Online (Sandbox Code Playgroud)

预期的结果是没有匹配.

但是,此表达式几乎立即执行(请注意尾部斜杠):

re.findall(r'(\d+(,)?)+/$', '12345121,223456,123123,3234,4523,523523/')
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?

python regex performance state-machine

50
推荐指数
3
解决办法
4814
查看次数

图灵完整性有多大用处?神经网络图灵完整吗?

在阅读一些关于递归神经网络的图灵完整性的论文时(例如:使用神经网络进行图灵可计算性,Hava T. Siegelmann和Eduardo D. Sontag,1991),我感觉到那里给出的证据并不是真的那样实际的.例如,参考文献需要神经网络,神经元活动必须具有无限精确性(可靠地表示任何有理数).其他证明需要无限大小的神经网络.显然,这并不是那么实用.

但是我开始怀疑现在是否真的有意义要求图灵的完整性.根据严格的定义,现在没有计算机系统是图灵完整的,因为它们都不能模拟无限的磁带.

有趣的是,如果编程语言规范完整或不完整,那么编程语言规范最常开放.这一切归结为问题,如果它们总是能够分配更多的内存,并且函数调用堆栈大小是无限的.大多数规范并没有真正指定这一点.当然,所有可用的实现都受到限制,因此编程语言的所有实际实现都不是图灵完整的.

所以,你可以说是所有计算机系统都和有限状态机一样强大而不是更多.

这让我想到了这样一个问题:图灵这个词完全有用吗?

回到神经网络:对于神经网络(包括我们自己的大脑)的任何实际实现,它们将无法表示无限数量的状态,即通过严格定义图灵完整性,它们不是图灵完整的.那么神经网络图灵完全是否有意义的问题呢?

他们是否像有限状态机一样强大的问题早已得到了回答(1954年由明斯基回答,答案当然是肯定的)并且似乎也更容易回答.即,至少在理论上,这已经证明它们和任何计算机一样强大.


其他一些问题更多的是我真正想知道的:

  • 是否有任何理论术语可以说明计算机的计算能力?(鉴于其有限的存储空间)

  • 你怎么能比较神经网络的实际实现与计算机的计算能力?(如上所述,图灵完整性没有用.)

finite-automata state-machine turing-complete neural-network

48
推荐指数
7
解决办法
9110
查看次数