是 w | w <> w^R 在字母表 0,1 上是一种上下文无关的语言?
Posted
技术标签:
【中文标题】是 w | w <> w^R 在字母表 0,1 上是一种上下文无关的语言?【英文标题】:Is w | w <> w^R over the alphabet 0,1 a context-free language?是 w | w <> w^R 在字母表 0,1 上是一种上下文无关的语言? 【发布时间】:2012-04-10 18:22:11 【问题描述】:我真的很想得到你的帮助来决定字母表上所有单词的语言 0,1
是否不能以相同的方式从双方读取 w | w <> w<sup>R</sup>
是一种上下文无关语言(即即,可以转化为具体的语法规则)。
我试图通过泵引理证明它不是上下文无关语言,但我没有找到会导致我矛盾的字符串。
有什么建议吗?
【问题讨论】:
既然有赏金,它可能不适用,但我想你会在计算机科学、理论计算机科学或数学的 stackexchange 上得到更好的关注。 没有小问题,这是一个非常好的问题。 Corbin 关于将其迁移到其他 StackExchange 之一的可能性是正确的。与此同时,there's lots and lots of information on the decidability of this problem on CSTheory.SE. 我相信 是“不等于”并且“^R”是一个“字符串反转”运算符。 @Corbin:CS Theory SE 在他们的常见问题解答中列出了只有研究级别(即研究生/教授)的问题应该去那里(与 MathOverflow 类似)。但我同意 Math.SE 或 CS.SE 会是一个更好的地方。 @goric 啊,我知道理论上的 CS SE 标准很高,但不知道他们明确表示。很高兴知道! (另外,math.stackexchange 是任何级别的数学,和 mathoverflow 的研究级别) 【参考方案1】:如果我正确阅读了您的问题,您正在查看非回文集是否是上下文无关语言。
它是一种上下文无关的语言:
S --> 0S0 | 1S1 | R
R --> 0V1 | 1V0
V --> 0V0 | 1V1 | R | 1 | 0 | ε
从 S 开始,概念是从外向内构建字符串。S 允许您放置任意数量的匹配的 1 或 0(可能没有),直到遇到 R 的情况,其中存在非-匹配。从那里您可以放置匹配或非匹配(因为此时我们已经保证不是回文。)这足以描述 所有 非回文 - 从外部到其中,它们从零个或多个匹配对开始,然后是一对不匹配对,然后是零个或多个对(匹配与否)。最后,中间可能有也可能没有字符。
附:如果您还没有,Sipser 的计算理论书无疑是极好的。事实上,这是唯一一本我仍然不时阅读的大学书。
【讨论】:
如何使用这个语法生成1100
?
好收获。修复了最后一次制作。
+1 用于提供比封闭关系更完整的答案。如果在不混淆赏金的情况下可行,我会加倍 +1,以便为我们其他人提供有用的参考。亚马逊链接:Second Edition with Kindle version available、preorder of the Third Edition。
(也就是说,五元组 +1 给予额外的赏金。我想我现在会等,但如果我在这个结束后提醒我,我可能会这样做。)【参考方案2】:
诚然,作为一名计算机科学家,这个问题超出了我的想象。但是,作为一名数学家,我有一些东西可以在这里做出贡献。
如果w
本身是一种上下文无关语言,a closure exists to solve the reversal of w
:
上下文无关语言在以下操作下被关闭。那 也就是说,如果
L
和P
是上下文无关语言,则以下语言是 上下文无关:...
L的反转
这似乎就是这里要问的全部内容。 These references 提供有关如何派生初始和后续封闭形式的更多背景信息。
(Additional, potentially helpful reference from set theory)
【讨论】:
@MrGomez 我实际上也尝试了一种更具分析性的方法,发现在上下文无关语言的操作下方便的众所周知的闭包通用性是不够的。虽然 L 的反转和连接到 L 上的 L 反转确实都是 CFL,但后一个 CFL 并不是 OP 所要求的,因为在这个结构中没有任何东西可以保证它是回文——你可以将 L 中的任何东西与任何东西连接起来来自生成语言的 L^R。以上是关于是 w | w <> w^R 在字母表 0,1 上是一种上下文无关的语言?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 xslt 2.0 根据我的特定标准计算所有 <w:p> 节点?