解釋正則語言與上下文無關語言的並集和交集
我們知道,有限自動機 (FA) 接受的語言稱為正則語言,而下推自動機 (PDA) 接受的語言稱為上下文無關語言 (CFG)。
上下文無關語言在並集下的封閉性
CFL 是上下文無關語言的簡寫。這裡的 CFL 定義如下:
G = (V, Σ, R, S) 使得 L(G) = L(G1) ∪ L(G2)
因此,
V = V1 ∪ V2 ∪ {S}(三個集合不相交)
Σ = Σ1 ∪ Σ2
R = R1 ∪ R2 ∪ {S → S1|S2}
正則語言與CFG的並集
如果所有正則語言都是上下文無關的,那麼兩者的並集也是上下文無關語言。
示例
設 L1 = {0*1*} 是一個正則語言,並且
L2 = {0^n1^n |n>=0} 是一個上下文無關語言
設 L=L1 ∪ L2 是這兩個語言的並集。問題中給出 L = {0*1*} 是一個正則語言。
我們知道每個正則語言都是上下文無關的。因此,我們可以說兩個語言的並集總是上下文無關語言。因為兩個上下文無關語言的並集是一個上下文無關語言。
證畢。
正則語言與CFG的交集
我們知道所有正則語言都是CFG的子集。
並集運算很容易理解,我們也證明了正則語言與上下文無關語言的並集產生一個上下文無關語言。
現在來看交集:
正則語言和上下文無關語言的交集總是產生一個上下文無關語言。
示例
L1 = {0*1*} 是一個正則語言,並且
L2 = {0^n1^n |n>=0} 是一個CFL
兩個語言的交集如下:
L= L1 ∩ L2
結果如下:
L={0^n1^n | n>=0} 這是一個上下文無關語言。
因此,最終得出結論:正則語言和上下文無關語言的交集產生一個上下文無關語言。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP