微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用 (ab)^n.. 证明一种语言不是抽引引理的规则?

如何解决如何用 (ab)^n.. 证明一种语言不是抽引引理的规则?

我一直在努力更好地理解抽水引理,但我很难证明这两种语言是不规则的:

 L_1 = {(ab)^n c^m | n>=1,m>=2n } 
 L_2 = {(ab)^n a^k (ba)^n | k<3}

对于 L_2,我的方法是:

 Let's say there is a number p.
 Be the word z=(ab)^p a^k (ba)^p => |z| = 2p > p 
 and its decomposition may z=uvw with |uv| <= p & |v|>0.
 It means that v= (ab)^j with 0<j<=p.
 We choose i = 2 for uv^(i)w leads to (ab)^(p+j) a^k (ba)^p. 
 This Strings has more ab then ba,which means it does not belong to the language.
 => L_2 is not regular

其实我和(ab)^n混淆了,我们应该分解它,所以需要考虑v的不同情况还是这样就足够了?

解决方法

对于L_1,使用字符串(ab)^pc^2p 并指出抽气只能改变a和b的数量,不能改变c,抽气会导致字符串不正确,或者m 小于 2n。

对于 L_2,使用字符串 (ab)^p(ba)^p 并争辩说,由于抽水只能影响前缀 (ab)^p,如果抽水保持该部分的正确格式,则 b 的数量将增加时增加,而第二部分中 b 的数量(通过查看唯一出现的 bb 确定性地找到)保持不变;因此,由于 b 的数量不匹配,结果不能是 (ab)^n a^k (ba)^n 形式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?