繁体   English   中英

确定性有限自动机模式

[英]Deterministic Finite Automata pattern

我正在尝试使用Deterministic Finite Automata来解决这个问题:

inputs:     {a,b}
conditions: 
a. must have exactly 2 a  
b. have more than 2 b

所以正确的输入应该像这个abbbabbbaababab

现在我的问题是,“有没有解决这个问题的模式?”

是的,有一种模式。 您可以从中获取每个语句并从中扣除预先状态。 然后你采用那些包含最终状态的前置状态的交叉积。 在这个例子中:

一种。 将产生状态:0a,1a,2a,2 + a(你已经看到0 a,1 a,2或2或2)b。 将产生状态:0b,1b,2b,2 + b(你已经看到0 b,1b,2 bs或超过2 bs)

这些状态的叉积导致4x4 = 16个状态。 你将从{0a,0b}州开始。 输入可以是3种类型:a,b或其他类型。 从那以后你应该可以去。 你需要更多帮助吗?

(我们在解决作业吗?)

总是先画这些东西。

随意给各州任何意义。 你需要的是像: q2: (1 b, 2 a's) 绘制这样的状态,直到接受状态并用线连接它们。 接受状态是qx: 2 a's 3 b's

在达到接受状态后,如果输入为“b”,则该行进入自身,即接受状态。 如果输入是“a”,则绘制一个新状态,无论输入是什么,它都将进入无限循环并进入自身。

(我们在这里帮助考试吗?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM