【发布时间】: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
我在字母表 {0,1} 上有语言 {4^(w⋅g)34^(g)|w,g∈NAT}。
我需要确定这种语言是可识别的、可判定的、上下文无关的、常规的还是这些都没有。
我将如何去做或知道?
谢谢
【问题讨论】:
标签: regular-language turing-machines nfa context-free-language decidable
考虑4^a 3 4^b 形式的任何字符串。我们可以为我们的a, b 找到w, g 吗?好吧,我们知道g必须等于b,那么我们可以选择w = a + g。由于a、b 和g 是自然数,所以w 也必须是自然数;答案是,是的,对于4^a 3 4^b 形式的任何字符串,我们都有一个您的语言的字符串。
4^a 3 4^b 形式的所有字符串的语言由正则表达式 4* 3 4* 描述,因此,您的语言是常规的、上下文无关的、可判定的和可识别的。
假设您的语言不规则;你怎么知道?您可以使用 Myhill-Nerode 定理或常规语言的抽水引理,从假设语言是常规语言中推导出矛盾。
假设您的语言不是上下文无关的。您可以对上下文无关语言使用抽水引理,以从假设语言是上下文无关的情况下得出矛盾。
当然,如果您的语言不可判定或不可识别,您也可以通过各种方式证明这一点。
【讨论】: