当前位置: 首页 > 知识库问答 >
问题:

具有驻留持续时间的有限可能不确定状态机

刘承悦
2023-03-14

在发布了一个有点模棱两可的问题后,我相信我已经明确了我想知道的(我是FSMs的新手)。

我想在clojure中使用有限状态机(可能是不确定的自动机,即允许多个下一个状态转换)来模拟状态空间。

这基本上是我的问题:

假设我们有这些状态Q={飞行、骑自行车、跑步、驾驶},并且我们有平均一天中每个状态的持续时间D={120,30,30,60}-为了便于讨论,这些都以分钟为单位。那么如何使用clojure创建一个可能不确定的FSM(允许多个目的地状态)呢?我已经看了例如https://github.com/cdorrat/reduce-fsm和https://github.com/ztellman/automat,但我不相信这是我想要的。

我的最终目标是得到一个类似于S={flying,flying,flying,flying,flying,cycling,cycling,running,driving,driving,driving}的模拟。

在状态机中有效地诱导了严重的自转换偏差。结束和开始状态并不重要。

共有2个答案

诸葛煜
2023-03-14

我建议:

  1. 用状态、转换和转换条件绘制图片
  2. 检查图片的一致性、死区等。
  3. 使用地图和矢量为自己实现FSM。不要使用其他FSM库,直到你需要FSM中的一些重的东西

下面是蚂蚁模拟蚂蚁FSM的一个例子

  1. 蚂蚁一出生就去觅食
郎志
2023-03-14

这个问题并没有完全明确地表述出来。无论如何:如果你只想识别一个特定的状态序列,你可以使用一个有限自动机,你必须按照这个顺序来写,比如:

flying -> flying -> flying -> flying -> flying -> cycling -> cycling -> running -> driving -> driving -> driving

我认为过渡是由你提到的持续时间引起的。

然而,我怀疑你可能需要更详细的东西。这一点在这里无法详细阐述。在我看来,如果这是出于编程目的,我建议您使用UML中的状态机图。它们足够解决你的问题。

 类似资料:
  • 如何编写Java代码来确定给定的自动机是否具有确定性。我有一个代表自动机的类,它有以下五个变量: Δ表示如下所示,例如,在实际自动机中,程序中的q1,1,q2看起来像。我知道在一个非确定性自动机中,可能有多个可能的状态,但我不知道如何计算。

  • 如果我必须用一个状态图来画一个确定性有限自动机,以接受一种语言,例如{λε{a,b}*:λ这个词包含a的偶数和b的奇数,我怎么知道我有多少个状态?

  • 这里的“自动机”指的是”确定有限状态自动机”。而自动机是信息学奥林匹克竞赛、计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算法中都有涉及,学习自动机有助于理解上述算法,但是学习自动机前一定要先了解基础图论的相关知识,这样才更好理解自动机。 自动机(确定有限状态自动机)是由一个非空有限状态的集合Q、一个输入字母表 Σ(非空有限字符的集合)、一个转移函数(单值映射)、一个开始状态、一个接受状

  • 概述 Javascript Finite State Machine函数库 参考链接 概述 有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物。 简单说,它有三个特征: 状态总数(state)是有限的。 任一时刻,只处在一种状态之中。 某种条件下,会从一种状态转变(transition)到另一种状态。 它对JavaScript的意义在于,很多对象可

  • 概述 FSM (有限状态机) 可以mixin到akka Actor中,其概念在Erlang 设计原则中有最好的描述。 一个 FSM 可以描述成一组具有如下形式的关系 : State(S) x Event(E) -> Actions (A), State(S') 这些关系的意思可以这样理解: 如果我们当前处于状态S,发生了E事件,则我们应执行操作A,然后将状态转换为S’。 一个简单的例子 为了演示F

  • 我想把一些h264 mp4视频转换成clearkey加密的dash。现在我想在本地主机上为他们服务。所以我没有带宽限制。我假设我应该使用dashavc264:onDemand配置文件和静态mpd,因为我的视频不是实时的,它们是离线的。 我的问题是: 我应该如何决定我应该使用什么时段?这是否取决于视频中有多少关键帧?它如何影响搜索/玩把戏性能?这会影响其他事情吗?