语言L是由' Fibonacci Strings'生成的。 (如在解释中给出的)常规?如果没有,请通过Pumping Lemma反驳

时间:2015-09-01 12:44:18

标签: automation regular-language pumping-lemma

Fibonacci串定义如下:对于k> 2,S1 = a,S2 = b且Sk = S k-1S k-2。例如 S3 = ba,S4 = bab等。设L是由...生成的语言 斐波纳契弦。语言'L'是常规吗?如果没有,请通过Pumping Lemma反驳。

1 个答案:

答案 0 :(得分:1)

考虑这种语言的字符串长度。它们本身就是斐波纳契数。考虑S(i),这个集合中的第i个字符串。它的长度为F(i),其中F(i)是第i个斐波纳契数。

现在考虑S(i + 1),长度为F(i + 1)的语言中的第(i + 1)个字符串。我们可以在这种语言中添加哪些字符串来获取该语言中的另一个字符串?当然,我们可以附加空字符串。我们可以附加的下一个最小的字符串是S(i)得到S(i + 2)。 S(i)的长度为F(i)。因此,我们可以附加到语言中的任何给定字符串以获得该语言中的另一个字符串的第二个最短字符串对于每个S(i)是唯一的;因此,它们在Myhill-Nerode定理方面都是可区分的,并且语言的最小DFA将需要无限多个状态来区分它们。由于DFA不能拥有无限多的状态,因此该语言没有DFA,并且由于该语言没有DFA,因此该语言不规则。