簡體   English   中英

L = {b ^ nc ^ na ^ n,n> = 1}的上下文無關文法

[英]Context-free grammar for L = { b^n c^n a^n , n>=1}

我有一種語言L,它定義為:L = {b ^ nc ^ na ^ n,n> = 1}相應的語法將能夠創建諸如以下單詞:bca bbccaa bbbcccaaa ...這樣的語法如何看起來像? 使兩個變量相互依賴相對簡單,但是我很難做到三個。 提前致謝!

L = { b^nc^na^n , n>=1}

正如評論中指出的那樣,這是一種不是上下文無關的語言的規范示例。 可以使用無上下文語言的抽水引理來顯示它。 基本上,考慮一個像b^pc^pa^p這樣的字符串,其中p是抽運長度,然后顯示無論抽運哪個部分,都將失去平衡(基本上,抽運的部分的大小小於p ,因此它無法“跨接”所有三個符號以使其保持同步)。

L = {a^mb^nc^na^(m+n) |m ≥ 0,n ≥ 1}

如評論中所建議,這也不是上下文無關的。 對於上下文無關的語言,也可以使用抽水引理來顯示它。 但是,只要有上述證明(或接受),就有一種更簡單的方法。 回想一下,常規語言和上下文無關語言的交集必須是上下文無關的。 假設L是上下文無關的。 那么它必須與常規語言(b+c)(b+c)* a*相交。 但是,該交集可以表示為b^nc^na^n (因為m被強制為零),我們知道這不是上下文無關的矛盾。 因此,我們的假設是錯誤的,並且L也不是上下文無關的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM