[英]Is the language {0^n 1^n 0^k | k != n} context free?
我相信這種語言不是沒有上下文的,因為PDA不可能比較2個0和1的相同長度的塊,並且還記住它的長度供以后使用。
不幸的是,我不知道如何證明它。
我嘗試使用泵浦引理無濟於事......
我還試圖通過矛盾來假設語言是無上下文的,並且使用這樣一個事實,即上下文無關語言與常規語言的交集也是無上下文的(通過找到一些神秘的常規語言L),並且令人驚訝(或者不是) ) - 我所有的努力都是徒勞的......
任何幫助,將不勝感激
不 ,語言L = {0 n 1 n 0 k | k!= n} 不是無上下文語言 。 此外, 經典語言類是類無上下文語言的子集 。
你使用PDA
想法是正確和明顯的方式來表明語言不是上下文。 並且我們不能為語言0 n 1 n 0 k繪制PDA
,因為在匹配前綴0 n到1 n堆棧變為空之后,我們沒有存儲信息來檢查天氣后綴0 K是否等於n
。
提示:正式證明
L = {0 n 1 n 0 k | k!= n}現在L的補碼是L ' 。
L ' = {{0 n 1 n 0 n },這是眾所周知的上下文敏感語言(可以證明)。
上下文敏感語言的補充本身就是上下文敏感的。
對於泵送引理:
L = {0 n 1 n 0 k | k!= n}是L 1和L 2的聯合 ,其中
L 1 = {0 n 1 n 0 k | k> n}且L 2 = {0 n 1 n 0 k | k <n},L = L 1 UL 2
L 1和L 2都是非上下文語言。 兩種非上下文免費語言的聯合是非上下文無關的。 (可以通過語法輕松證明)
此外, 聯合,兩個上下文相關語言的串聯是上下文敏感的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.