【问题标题】:number of dfa's that can be designed可以设计的 dfa 数量
【发布时间】:2016-07-14 14:46:54
【问题描述】:

我们是否可以计算出在以下约束条件下可以设计的 dfa 的总数(即最大数量):|Q|=2{No.状态数为 2},|Ɛ|=2{No.字母} 和 |F|=1{No.最终状态} ?

【问题讨论】:

标签: finite-automata automata computation-theory dfa automata-theory


【解决方案1】:

首先,我猜测“字母数量”实际上是指字母表中符号的数量。我还没有听说过有多个字母的有限自动机。

接下来,我对有限自动机的定义是: 有限自动机 M 是五元组 M = (S,I,δ,s0,F) 其中: S 是一个有限集(状态) I 是一个有限字母表(输入符号) δ:S × I → S(下一状态函数) s0 ∈ S(起始状态) F ⊆ S(接受状态)。

所以你的定义映射到我的 Q -> SƐ -> I 和 F -> F

现在,哪个状态是起始状态会导致不同的自动机,所以这是一个重要的因素,不能忽略。如果您有 2 个状态,那么从这两个状态中选择不同的最终状态会导致两个不同的自动机。现在假设每个状态的字母表中的每个符号都必须有一个转换函数,然后只检查一个状态开始,对于每个状态,两个符号(称为 a 和 b)中的每一个都必须有一个转换函数.每个符号的转换函数的值可以是两种可能状态之一。因此,对于单个状态,可能存在 2 x 2 = 4 个转换函数。由于有两个状态,第二个状态还有另外 4 个可能的转换函数。考虑到不同初始/最终状态的可能性,您可以设计 8 x 2 x 2 = 32 个可能的 DFA。

【讨论】:

  • 在给定所有参数或必要值的情况下,您能否得出一个通用的结果来计算 dfa 的数量,这样可以很容易地通过查看字母和状态的数量来直接计算 dfa 的数量。这可能吗?
猜你喜欢
  • 2019-10-16
  • 2021-05-13
  • 2013-09-18
  • 2017-04-19
  • 2017-02-12
  • 2014-03-20
  • 1970-01-01
  • 2019-09-02
  • 2016-01-08
相关资源
最近更新 更多