【问题标题】:Demonstrating a language is regular展示一种语言是有规律的
【发布时间】:2017-06-19 23:30:41
【问题描述】:

所以我正在尝试解决这样的问题: 证明符合斐波那契长度的二进制数的语言不是常规语言。

我真的不知道如何处理它,也不确定我是否理解它。

【问题讨论】:

  • 我投票结束这个问题,因为它不是一个编程问题。
  • “斐波那契长度”的“二进制数”。这是否意味着字母表{0,1} 上的字符串,其长度是斐波那契数(例如,100000111 等)?或者这是否意味着字母表上的字符串{0,1},当解释为二进制表示的数字时,是斐波那契数(例如,111000101 等)?无论哪种方式,您都可以在此处应用抽水引理来证明它们不规则。 en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages

标签: fibonacci regular-language finite-automata


【解决方案1】:

长度为斐波那契数的二进制数的语言可以通过泵引理或 Myhill-Nerode 定理显示为不规则的。

对于抽水引理,取任意字符串0^p,其中p 是抽水长度。无论您考虑哪个子字符串,您都会在相当短的时间内得到一个矛盾(对于p > 1p - app + a 都不是斐波那契数。事实的证明是参考斐波那契数的定义。

对于 Myhill-Nerode 定理证明,只需证明对于长度为 nth 斐波那契数的任何字符串 x,可以附加以获取语言中更多字符串的最小非空字符串具有长度等于(n-1)th 斐波那契数。因此,有无限多的可区分字符串,因此语言不是规则的(因为在不可区分关系下,每个等价类都有一个状态的最小 DFA 必须有有限多个状态)。

【讨论】:

    猜你喜欢
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 2014-02-25
    • 2012-12-29
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多