大家好,我是 在本模块中, 事实证明, 是一种强大的 它不仅适用于 还适用于一般的 在此期间, C 尤其值得一提的是, 多个相关问题,包括 研究用于构建 好,让我们开始吧。 我们将其归类为 因为这种方法具有 换句话说, 我们将在后面 以图形方式 这种复杂性。 我们会将系统的功能与 区分开来。 其实,实施, 将会非常简单。 而与它的功能相关的 则是输出、等待、 系统将会一遍 因此,这种 能够解决非常 而且能够展示或证明 它们确实能够 这种抽象设计方法 可让您通过一种非常 来解决复杂的问题。 而且,跟其他优秀的 为我们提供了一种 更高级系统的方式。 这种有限状态 可帮助您做到这一点。 好,让我们开始吧。 那么,我们需要先了解 因为就机器本身而言, 您会有输入, 这就产生了所谓的状态。 因此,我们需要 进行编码。 所以,在定义状态时, 我既可以描述 也就是说, 也可以描述我认为 例如,在这里 您可以看到两个输入。 我们使用了线路传感器。 在这种情况下,这两个传感器 有时一个开则两个都开, 如果您刚刚 您会发现这两个 您看到了吗? 一个偏左。 另一个则是偏右。 它们具有相同的输入, 信息。 这两个输入 方向不同。 如果我们能够 我们就能够记住或确定 这样,我们就能 区分这两个不同的状态。 因此,状态就是 然后,对于这些状态, 我们需要 这便是我们所说的 我们将通过另一张 但从根本上来说, 利用来自过去知识的输入 将会成真的新知识。 在运行过程中, 状态也会有输出, 在本例中, 这个机器人沿路线移动。 重申一下,状态代表 您认为将会成真的情况。 状态转换图 过程中的 我们举个例子。 这是一个交通信号灯。 在这条路上, 会有向北 也会有向东 这个传感器 北向和东向道路的交叉路口 是否有汽车。 这是两个输入。 我们有两个输入, 然后,我们会有 东向道路和北向道路的 红灯、黄灯和绿灯。 所以我们有两个 接下来,控制器的 它将会查看输入、 做出决策并提供输出。 现在,我们要使用的 我们将会输出、等待、 因此,过程中编码的软件序列 非常简单。 但是,如上所述, 将需要通过与系统 进行捕捉。 让我们来讨论一下 由于我们有一个状态, 这意味着, 都将拥有代表 箭头。 我们可以用数字表示。 不妨设为 每个状态都有 每个状态也都有 了解它的工作方式。 实际上,系统不会 尤其是在输入-输出方面, 方便大家了解 再重复一遍, 每个状态 用于根据意愿来设置 然后,由于这个问题 我们将会 尤其是, 从北向的绿灯 我将会等待五秒钟, 并在这期间使黄灯亮起, 事故。 所以,有限状态机的结构如下: 一个输出、一个等待 指向其他状态的箭头-- 输入值。 控制器主要是解析 该状态图, 这个状态的输出, 等待我所在的这个状态结束, 然后创建一个指向 下面我们来讨论一下 状态图。 我们可以通过 如果您愿意, 或者,您也可以使用表格的方式。 这两者之间实际上是一一对应的。 有些人喜欢 而有些人则喜欢表格方式。 在这里,我将会用于 我将会定义状态。 我不必在开始时 状态。 我可以猜测并添加 例如,我可能会 汽车通行。 然后,我们再让 我们要设置与该目标 然后,我可以进一步查看。 这个方向的信号灯为绿灯, 且路口没有汽车, 我该怎么办? 我将会保持 如果有汽车 且路口还有其他汽车, 我该怎么办? 您只需保持该状态即可。 因此,如果只有 我将会永远 同样地,如果 不管东向道路没有汽车, 还是只有东向上有汽车, 而最简单的便是 如果两个方向上 您可以看到, 我将会进行循环。 比如在这里, 北向绿灯 同样,我将会按照 下一步,我将会 然后,在该状态下, 仍然都有汽车, 然后,从这个 从这个进入这个。 所以,不妨研究一下 我们看到 在这里,这种输入代表 不难发现, 这四个状态。 在设计状态图时, 使用表格形式或图形 这可以让人类 如果发生这种情况, 您想要做的是, 我认为将会成真的情况是什么? 有了新的输入后, 我现在知道什么? 只要把以上这几点弄清楚, 图形和表格中的 相同的。 表格的好处是, 用于软件。 这便是我喜欢 因为状态转换表 和实际代码 实际上非常直接, 我们可以看一下这个。 我要做的就是 进行编码--请看这里。 这是我的表格。 如果您仔细看, 都是一个状态。 这里是一个 那么,每个状态都有什么呢? 每个状态都有 现在,它恰好是 二进制的。 每个状态都有时间。 而且,它不是以秒为单位, 然后,每个状态都有 具体取决于 相应的输入模式为 因此,该状态图的 完全相等-- 我们称为 不多也不少。 这是一个非常 因为在设计系统时, 这个较高的级别-- 但是在运行时,却是 而且我知道 现在,在这个 状态被编码为数字-- 0, 关于状态的信息-- 它的输出、它的时间 则会编码在这里的 这个 如果系统有 会有 同样,如果我有 只是行数增加。 所以我们会看到, 仅仅会在状态 而不会表现在软件中。 因为软件-- 实际状态机-- 将会是完全相同的, 还是 我们来实施一下。 我记得实际的 0、1、2、3 我将会使用索引, 其中会包含 状态代码。 我将会读取输入。 很明显,我使用了 然后,我会设置我的初始状态。 这一步会将 运行的过程是, 从现态获取 然后,使用从前面 用户友好方式 每个状态都有且只有 同样,我将会 状态结束的时间。 并且会实际执行, 5 第三步是进行输入。 我们已经在前面的章节中 如果您读取 输入端口的-- 整个 我将会对其进行掩码计算, 它们分别在 这一行比较有趣, 这是这个 程序中最复杂的 它的作用是, 现态并给出 得出次态的 所以,这些 都是变量。 这里只有一、二、 C 而且,无论是有 这个有限状态机 我们再来看一下 在前面的例子中, 现在,我们将会 现在,我将要 如果您仔细看,您会发现 看起来和状态图 所以这是索引的一种变体。 它跟状态图之间 但是这里使用的 通过指针指向次态。 const 同样,我的状态具有 而且,这个是 我们会在这里看到什么呢? 这里的唯一 把次态编码成 编号,而是将其编码成 后者的运行速度 但是,您可以看到, 每个状态都 代码。 我们具有一个 时间和四个次态。 好的,那么-- 同样,运行 几乎与其他 这里的现态 并被初始化为 现在,我将使用 来读取状态图中的数据。 我将使用指针 状态图中的时间。 我会读取掩码形式的输入。 然后,我会 指针来获得我的次态。 同样,这里这个具有 与索引版本的速度差不多-- 比后者稍快。 所以,您在这里 然后使用 我们提到过--我们 Moore 每个状态都具有 所以每个状态 输出的本质在于-- 输出是通过某种方式 所以输出便是相应的状态, 同样,输出表示的是 或者处于相应状态时 但是还有另外一类 在数学上等效, 它们的输出值 输入和现态。 也就是说,每个状态 然后,根据 根据状态和输入, 它会有一个 每个输入与状态 唯一的输出模式。 在这种情况下, 输出来更改状态时, 我们都会使用 如果我有一艘火箭 在太空中飞行, 如果我想要使其停止, 如果我想要移动, 但是,如果我想保持不变, 我都不提供任何输出。 因此,在需要使用输出 我们将使用 如果输出意味着处于相应状态 我们则会使用 好的,总结一下, 被称为有限 方法。 其中有输入, 有输出。 状态则代表知识。 但是这是一种抽象的方法, 这是我的交通 这是它的功能。 在此图中,我们 虽然并没有很复杂, 我们已经看到, 成百上千个状态。 而它的实际 实际的 则总是会分解成非常 在某些地方我们看到 在下一个视频中, 在本实验中, 好的,请您尽情享受。 这将帮助您构建 以便解决 输入问题、 这里的知识是 函数-- 以及输出问题。 我们看到,还有 一种管理 希望您喜欢本次实验。 An internal server error occurred.