我正在尝试使用 Deterministic Finite Automata
解决这个问题:
inputs: {a,b}
conditions:
a. must have exactly 2 a
b. have more than 2 b
所以正确的输入应该像这样 abbba
或 bbbaa
或 babab
现在我的问题是,“有解决这个问题的模式吗?”
最佳答案
是的,有一个模式。您可以获取每个陈述并从中扣除前置状态。然后你取这些前状态的叉积,这将构成最终状态。在这个例子中:
一个。将产生状态:0a、1a、2a、2+a(您已经看到 0 a、1 a、2 as 或超过 2 as) b.将产生状态:0b、1b、2b、2+b(您已经看到 0 b、1 b、2 bs 或超过 2 bs)
这些状态的叉积产生 4x4=16 个状态。您将从 {0a,0b} 个状态开始。输入可以是 3 种类型:a、b 或其他类型。 从那里你应该可以去。您需要更多帮助吗?
(我们在做作业吗?)
关于algorithm - 确定性有限自动机模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16291254/