Context free grammar 查找给定语言的上下文无关语法

Context free grammar 查找给定语言的上下文无关语法,context-free-grammar,context-free-language,Context Free Grammar,Context Free Language,我正试图为下面的语言a找到一个CFG 我花了几个小时研究这个问题,但仍然找不到答案。我还想到,这可能不是一种上下文无关的语言,但实际上有一个PDA可以识别它 如果有人能帮我,我将不胜感激 A={0^a 1^b 0^c 1^d| a+b < c+d, a,b,c,d>=1} A={0^a1^b0^c1^d | A+b=1} 处理此类不等式的一个好方法是从等式的语法开始,然后添加一个或多个额外的符号 下面是一个简单的示例,它可能会让您开始学习。让我们看看语言 L = {0a1b0c

我正试图为下面的语言a找到一个CFG

我花了几个小时研究这个问题,但仍然找不到答案。我还想到,这可能不是一种上下文无关的语言,但实际上有一个PDA可以识别它

如果有人能帮我,我将不胜感激

  A={0^a 1^b 0^c 1^d| a+b < c+d, a,b,c,d>=1}
A={0^a1^b0^c1^d | A+b=1}

处理此类不等式的一个好方法是从等式的语法开始,然后添加一个或多个额外的符号

下面是一个简单的示例,它可能会让您开始学习。让我们看看语言

L = {0a1b0c | a+b < c, a,b,c ≥ 1}
或者,如果您愿意:

L ⇒ L' Z
Z ⇒ 0  
Z ⇒ Z 0  
现在我们只需要处理
L'
。由于我们知道
c'=a+b
,我们可以用
0b0a
替换
0c'
,这样我们可以:

L' = {0a1b0b0a | a,b ≥ 1}

这就让你半途而废了。祝你原问题顺利。

处理此类不等式的一个好方法是从等式的语法开始,然后添加一个或多个额外的符号

下面是一个简单的示例,它可能会让您开始学习。让我们看看语言

L = {0a1b0c | a+b < c, a,b,c ≥ 1}
或者,如果您愿意:

L ⇒ L' Z
Z ⇒ 0  
Z ⇒ Z 0  
现在我们只需要处理
L'
。由于我们知道
c'=a+b
,我们可以用
0b0a
替换
0c'
,这样我们可以:

L' = {0a1b0b0a | a,b ≥ 1}
这就让你半途而废了。祝你在原来的问题上好运

L' ⇒ 0 M 0
L' ⇒ 0 L' 0 
M ⇒ 1 0
M ⇒ 1 M 0