【问题标题】:{ w | at every odd position of w is a 1}{ w |在 w 的每个奇数位置是 1}
【发布时间】:2016-03-06 12:43:07
【问题描述】:

任务是在字母表 {0,1} 上为这种语言构造一个 DFA。

我构建了一个包含 4 个状态且不接受空词的 DFA。但是,在答案中,他们给出了一个接受它的 3 状态 DFA。

如果空词中奇数位置没有 1 表示它不在该语言中,为什么我的 DFA 应该接受空词?

【问题讨论】:

    标签: computation-theory


    【解决方案1】:

    唯一的要求是奇数位置的任何符号必须是1。对特定数量的符号没有要求,尤其是至少有一个。

    因此,具有初始状态的 DFA,其中 0 导致拒绝状态,1 导致接受任一符号并返回开始的第二状态将是可接受的答案,并且将接受空细绳。这将是一个三态机:

    【讨论】:

      【解决方案2】:

      我想你很困惑为什么空字符串应该是提到的集合的一部分。

      让我们看另一个例子。假设您有一组所有可能的字符串,其中每个字符都等于 0。这样的字符串将是 0、00、000、00000 等。空字符串 * 怎么样?它实际上也与这个集合有关。空字符串不违反集合的定义。

      将此示例与您的示例进行比较。您应该检查字符串的每个奇数位置,如果您发现 1 以外的任何内容,您应该说它不是您设置的元素。没有说字符串是否应该有一个奇数位置来检查。

      【讨论】:

      • 在您的示例中,空字符串是否不违反定义,因为其中没有字符,因此它基本上满足“每个字符都等于0”的条件?我仍然不确定什么时候应该接受一个空话。如果对字符串的长度没有限制,我可以假设我的有限自动机应该接受一个空字符串吗?
      • @Caroline,是的,完全正确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      • 2015-01-05
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 2010-10-16
      相关资源
      最近更新 更多