【问题标题】:Is This Language Regular or not?这种语言是否正规?
【发布时间】:2014-09-21 22:43:14
【问题描述】:

我在字母表 {0,1} 上有语言 {4^(w⋅g)34^(g)|w,g∈NAT}。

我需要确定这种语言是可识别的、可判定的、上下文无关的、常规的还是这些都没有。

我将如何去做或知道?

谢谢

【问题讨论】:

    标签: regular-language turing-machines nfa context-free-language decidable


    【解决方案1】:

    考虑4^a 3 4^b 形式的任何字符串。我们可以为我们的a, b 找到w, g 吗?好吧,我们知道g必须等于b,那么我们可以选择w = a + g。由于abg 是自然数,所以w 也必须是自然数;答案是,是的,对于4^a 3 4^b 形式的任何字符串,我们都有一个您的语言的字符串。

    4^a 3 4^b 形式的所有字符串的语言由正则表达式 4* 3 4* 描述,因此,您的语言是常规的、上下文无关的、可判定的和可识别的。

    假设您的语言不规则;你怎么知道?您可以使用 Myhill-Nerode 定理或常规语言的抽水引理,从假设语言是常规语言中推导出矛盾。

    假设您的语言不是上下文无关的。您可以对上下文无关语言使用抽水引理,以从假设语言是上下文无关的情况下得出矛盾。

    当然,如果您的语言不可判定或不可识别,您也可以通过各种方式证明这一点。

    【讨论】:

    • 抱歉,我弄错了,字母表是 {3,4}。这有什么改变吗?
    • @user3706271 我什至没有注意到您指定了不同的字母表。由于我的回答没有提及 {0, 1} 字母表,因此它看起来并不重要……除非我遗漏了什么。
    猜你喜欢
    • 2014-02-25
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2023-03-12
    相关资源
    最近更新 更多