簡體   English   中英

這個CFG描述的語言是什么?

[英]What is the language described by this CFG?

這個CFG描述的語言是什么?

在此處輸入圖片說明

我們可以寫出一些語言中最短的字符串來感受一下:

S -> aTb -> ab
S -> aTb -> aabb
S -> SS -> … -> abab
S -> SS -> … -> abaabb
S -> SS -> … -> aabbab

我們注意到,語法生成的唯一字符串將S每個實例都轉換為abaabb 此外,我們可以僅使用S -> SS以中間形式獲得任意數量的S 因此,這是常規語言(ab + aabb)+

證明是通過對字符串長度 n 進行歸納。

基本情況:最短的字符串 ab 和 aabb 在語言(ab + aabb)+ ,並由如上所示的語法生成。

歸納假設:語法生成的語言與長度為k所有字符串的語言(ab + aabb)+相匹配。

歸納步驟:我們必須證明由次高長度的語法生成的字符串在該語言中,而次高長度的語言中的字符串由該語法生成​​。 注意:語法只能生成偶數字符串,而語言(ab + aabb)+只包含偶數字符串,所以真正的下一個最高步驟是大於k的最小偶數。

  1. 我們知道長度為k字符串的語言和語法匹配。 設 X 為長度為 k 的語言的所有字符串的集合,Y 為長度為 k - 2 的語言的所有字符串的集合。 然后,語法通過修改中的字符串的派生生成一組字符串 X' X 使用生產S -> SS一次額外的時間,然后為剛剛引入的S實例選擇S -> aTb -> ab 該語法還通過修改 Y 中字符串的派生來生成一組字符串 Y' 以使用產生式S -> SS一次額外的時間,然后為剛剛引入的S實例選擇S -> aTb -> aabb 這些相同的字符串匹配正則表達式,因為 X 和 Y 中的字符串匹配,而 X' 和 Y' 只是添加了 ab 或 aabb 的那些字符串,這是 Kleene 星允許的。

  2. 類似地,匹配正則表達式的長度為 k 和 k-2 的字符串可以在末尾添加 ab 或 aabb(感謝 Kleene 星)以獲得所有匹配的長度為 k+2 的字符串。 但是這些也必須由語法生成,因為前綴是由語法生成的,我們有生產(上面概述)允許我們向我們的派生字符串引入額外的 ab 或 aabb。

換句話說,語言是所有字符串的集合,這些字符串是以任意順序連接任意數量的字符串 ab 和 aabb 的實例。

暫無
暫無

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

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