版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
形式語言與自動(dòng)機(jī)-經(jīng)典教學(xué)課件(完整版)形式語言與自動(dòng)機(jī)-經(jīng)典教學(xué)課件(完整版)課程目的和基本要求本專業(yè)人員4種基本的專業(yè)能力計(jì)算思維能力算法的設(shè)計(jì)與分析能力程序設(shè)計(jì)和實(shí)現(xiàn)能力計(jì)算機(jī)軟硬件系統(tǒng)的認(rèn)知、分析、設(shè)計(jì)與應(yīng)用能力計(jì)算思維能力邏輯思維能力和抽象思維能力構(gòu)造模型對(duì)問題進(jìn)行形式化描述理解和處理形式模型課程目的和基本要求本專業(yè)人員4種基本的專業(yè)能力課程目的和基本要求
知識(shí)掌握正則語言、下文無關(guān)語言的文法、識(shí)別模型及其基本性質(zhì)、圖靈機(jī)的基本知識(shí)。能力培養(yǎng)學(xué)生的形式化描述和抽象思維能力。使學(xué)生了解和初步掌握“問題、形式化描述、自動(dòng)化(計(jì)算機(jī)化)”這一最典型的計(jì)算機(jī)問題求解思路。課程目的和基本要求知識(shí)主要內(nèi)容
語言的文法描述。RLRG、FA、RE、RL的性質(zhì)。CFLCFG(CNF、GNF)、PDA、CFL的性質(zhì)。
TM基本TM、構(gòu)造技術(shù)、TM的修改。CSLCSG、LBA。主要內(nèi)容語言的文法描述。教材及主要參考書目蔣宗禮,姜守旭.形式語言與自動(dòng)機(jī)理論.北京:清華大學(xué)出版社,2003年
JohnEHopcroft,RajeevMotwani,JeffreyDUllman.IntroductiontoAutomataTheory,Languages,andComputation(2ndEdition).Addison-WesleyPublishingCompany,2001JohnEHopcroft,JeffreyDUllman.IntroductiontoAutomataTheory,Languages,andComputation.Addison-WesleyPublishingCompany,1979教材及主要參考書目蔣宗禮,姜守旭.形式語言與自動(dòng)機(jī)理論.第1章
緒論1.1集合的基礎(chǔ)知識(shí)
1.1.1集合及其表示集合:一定范圍內(nèi)的、確定的、并且彼此可以區(qū)分的對(duì)象匯集在一起形成的整體叫做集合(set),簡稱為集(set)。
元素:集合的成員為該集合的元素(element)。
集合描述形式。
基數(shù)。
集合的分類。
第1章
緒論1.1集合的基礎(chǔ)知識(shí)1.1.2集合之間的關(guān)系
子集
如果集合A中的每個(gè)元素都是集合B的元素,則稱集合A是集合B的子集(subset),集合B是集合A的包集(container)。記作AB。也可記作BA。AB讀作集合A包含在集合B中;BA讀作集合B包含集合A。如果AB,且x∈B,但xA,則稱A是B的真子集(propersubset),記作AB1.1.2集合之間的關(guān)系子集1.1.2集合之間的關(guān)系集合相等
如果集合A,B含有的元素完全相同,則稱集合A與集合B相等(equivalence),記作A=B。對(duì)任意集合A、B、C:⑴A=BiffAB且BA。⑵如果AB,則|A|≤|B|。⑶如果AB,則|A|≤|B|。⑷如果A是有窮集,且AB,則|B|>|A|。1.1.2集合之間的關(guān)系集合相等1.1.2集合之間的關(guān)系⑸如果AB,則對(duì)x∈A,有x∈B。⑹如果AB,則對(duì)x∈A,有x∈B并且x∈B,但xA。⑺如果AB且BC,則AC。⑻如果AB且BC,或者AB且BC,或者AB且BC,則AC。⑼
如果A=B,則|A|=|B|。1.1.2集合之間的關(guān)系⑸如果AB,則對(duì)x∈A,有x1.1.3集合的運(yùn)算
并(union)
A與B的并(union)是一個(gè)集合,該集合中的元素要么是A的元素,要么是B的元素,記作A∪B。
A∪B={a|a∈A或者a∈B}A1∪A2∪…∪An={a|i,1≤i≤n,使得a∈Ai}A1∪A2∪…∪An
∪…={a|i,i∈N,使得a∈Ai}1.1.3集合的運(yùn)算并(union)交(intersection)
集合A和B中都有的所有元素放在一起構(gòu)成的集合為A與B的交,記作A∩B。
A∩B={a|a∈A且a∈B}“∩”為交運(yùn)算符,A∩B讀作A交B。如果A∩B=Φ,則稱A與B不相交。⑴A∩B=B∩A。⑵(A∩B)∩C=A∩(B∩C)。⑶A∩A=A。交(intersection)集合A和B中都有的所有元素放交(intersection)⑷A∩B=AiffAB。⑸Φ∩A=Φ。⑹|A∩B|≤min{|A|,|B|}。⑺A∩(B∪C)=(A∩B)∪(A∩C)。⑻A∪(B∩C)=(A∪B)∩(A∪C)。⑼A∩(A∪B)=A。⑽A∪(A∩B)=A。交(intersection)⑷A∩B=AiffA差(difference)
屬于A,但不屬于B的所有元素組成的集合叫做A與B的差,記作A-B。
A-B={a|a∈A且aB}“-”為減(差)運(yùn)算符,A-B讀作A減B。⑴A-A=Φ。⑵A-Φ=A。⑶A-B≠B-A。⑷A-B=AiffA∩B=Φ。⑸A∩(B-C)=(A∩B)-(A∩C)。⑹|A-B|≤|A|。差(difference)屬于A,但不屬于B的所有元素組成對(duì)稱差(symmetricdifference)
屬于A但不屬于B,屬于B但不屬于A的所有元素組成的集合叫A與B的對(duì)稱差,記作A⊕B。
A⊕B={a|a∈A且aB或者aA且a∈B}“⊕”為對(duì)稱差運(yùn)算符。A⊕B讀作A對(duì)稱減B。A⊕B=(A∪B)-(A∩B)=(A-B)∪(B-A)。對(duì)稱差(symmetricdifference)屬于A但笛卡兒積(Cartesianproduct)
A與B的笛卡兒積(Cartesianproduct)是一個(gè)集合,該集合是由所有這樣的有序?qū)?a,b)組成的:其中a∈A,b∈B,記作A×B。
A×B={(a,b)|a∈A&b∈B}?!啊痢睘榈芽▋撼诉\(yùn)算符。A×B讀作A叉乘B。⑴
A×B≠B×A。⑵
(A×B)×C≠A×(B×C)。⑶
A×A≠A。⑷
A×Φ=Φ。笛卡兒積(Cartesianproduct)A與B的笛卡笛卡兒積(Cartesianproduct)⑸A×(B∪C)=(A×B)∪(A×C)。⑹
(B∪C)×A=(B×A)∪(A×C)。⑺
A×(B∩C)=(A×B)∩(A×C)。⑻
(B∩C)×A=(B×A)∩(C×A)。⑼
A×(B-C)=(A×B)-(A×C)。⑽
(B-C)×A=(B×A)-(C×A)。⑾
當(dāng)A、B為有窮集時(shí),|A×B|=|A|*|B|。
笛卡兒積(Cartesianproduct)⑸A×(B冪集(powerset)
A冪集(powerset)是一個(gè)集合,該集合是由A的所有子集組成的,記作2A。
2A={B|BA}。
2A讀作A的冪集。冪集(powerset)A冪集(powerset)是一冪集(powerset)⑴Φ∈2A。⑵Φ2A。⑶Φ2A。⑷2Φ={Φ}。⑸A∈2A。⑹如果A是有窮集,則|2A|=2|A|。⑺
2A∩B=2A∩2B。⑻如果AB,則2A2B。
冪集(powerset)⑴Φ∈2A。補(bǔ)集(complementaryset)
A是論域U上的一個(gè)集合,A補(bǔ)集是由U中的、不在A中的所有元素組成的集合,記作補(bǔ)集(complementaryset)A是論域U上的一補(bǔ)集(complementaryset)如果AB,則。。。。。。補(bǔ)集(complementaryset)如果AB,則。。1.2關(guān)系
二元關(guān)系
遞歸定義與歸納證明
關(guān)系的閉包
1.2關(guān)系二元關(guān)系1.2.1二元關(guān)系(binaryrelation)
二元關(guān)系
任意的RA×B,R是A到B的二元關(guān)系。
(a,b)∈R,也可表示為:aRb。
A稱為定義域(domain),B稱為值域(range)。當(dāng)A=B時(shí),則稱R是A上的二元關(guān)系。二元關(guān)系的性質(zhì)自反(reflexive)性、反自反(irreflexive)性、對(duì)稱(symmetric)性、反對(duì)稱(asymmetric)性、傳遞(transitive)性。1.2.1二元關(guān)系(binaryrelation)二元1.2.1二元關(guān)系(binaryrelation)三歧性自反性、對(duì)稱性、傳遞性。等價(jià)關(guān)系(equivalencerelation)
具有三歧性的二元關(guān)系稱為等價(jià)關(guān)系。
1.2.1二元關(guān)系(binaryrelation)三歧性1.2.1二元關(guān)系(binaryrelation)等價(jià)類
(equivalenceclass)
S的滿足如下要求的劃分:S1、S2、S3、…、Sn…稱為S關(guān)于R的等價(jià)劃分,Si稱為等價(jià)類。⑴S=S1∪S2∪S3∪…∪Sn∪…;⑵如果i≠j,則Si∩Sj=Φ;⑶對(duì)任意的i,Si中的任意兩個(gè)元素a、b,aRb恒成立;⑷對(duì)任意的i,j,i≠j,Si中的任意元素a和Sj中的任意元素b,aRb恒不成立1.2.1二元關(guān)系(binaryrelation)等價(jià)類1.2.1二元關(guān)系(binaryrelation)指數(shù)(index)
把R將S分成的等價(jià)類的個(gè)數(shù)稱為是R在S上的指數(shù)。如果R將S分成有窮多個(gè)等價(jià)類,則稱R具有有窮指數(shù);如果R將S分成無窮多個(gè)等價(jià)類,則稱R具有無窮指數(shù)。給定集合S上的一個(gè)等價(jià)關(guān)系R,R就確定了S的一個(gè)等價(jià)分類,當(dāng)給定另一個(gè)不同的等價(jià)關(guān)系時(shí),它會(huì)確定S的一個(gè)新的等價(jià)分類。1.2.1二元關(guān)系(binaryrelation)指數(shù)(1.2.1二元關(guān)系(binaryrelation)關(guān)系的合成
(composition)
設(shè)R1A×B是A到B的關(guān)系、R2B×C是B到C的關(guān)系,R1與R2的合成R1R2是A到C的關(guān)系:R1R2={(a,c)|(a,b)∈R1且(b,c)∈R2。
1.2.1二元關(guān)系(binaryrelation)關(guān)系的1.2.1二元關(guān)系(binaryrelation)⑴R1R2≠R2R1。⑵(R1R2)R3=R1(R2R3)。 (結(jié)合率)⑶(R1∪R2)R3=R1R3∪R2R3。 (右分配率)⑷R3(R1∪R2)=R3R1∪R3R2。 (左分配率)⑸(R1∩R2)R3R1R3∩R2R3。⑹R3(R1∩R2)R3R1∩R3R2。1.2.1二元關(guān)系(binaryrelation)⑴R1.2.1二元關(guān)系(binaryrelation)關(guān)系這一個(gè)概念用來反映對(duì)象——集合元素之間的聯(lián)系和性質(zhì)二元關(guān)系則是反映兩個(gè)元素之間的關(guān)系,包括某個(gè)元素的某種屬性。對(duì)二元關(guān)系的性質(zhì),要強(qiáng)調(diào)全稱量詞是對(duì)什么樣的范圍而言的。1.2.1二元關(guān)系(binaryrelation)關(guān)系這1.2.2等價(jià)關(guān)系與等價(jià)類(略)
1.2.3關(guān)系的合成(略)
1.2.2等價(jià)關(guān)系與等價(jià)類(略)
1.2.3關(guān)系的合成1.2.4遞歸定義與歸納證明遞歸定義(recursivedefinition)又稱為歸納定義(inductivedefinition),它來定義一個(gè)集合。集合的遞歸定義由三部分組成:基礎(chǔ)(basis):用來定義該集合的最基本的元素。歸納(induction):指出用集合中的元素來構(gòu)造集合的新元素的規(guī)則。極小性限定:指出一個(gè)對(duì)象是所定義集合中的元素的充要條件是它可以通過有限次的使用基礎(chǔ)和歸納條款中所給的規(guī)定構(gòu)造出來。1.2.4遞歸定義與歸納證明遞歸定義(recursive1.2.4遞歸定義與歸納證明歸納證明與遞歸定義相對(duì)應(yīng)。歸納證明方法包括三大步:基礎(chǔ)(basis):證明最基本元素具有相應(yīng)性質(zhì)。歸納(induction):證明如果某些元素具有相應(yīng)性質(zhì),則根據(jù)這些元素用所規(guī)定的方法得到的新元素也具有相應(yīng)的性質(zhì)。根據(jù)歸納法原理,所有的元素具有相應(yīng)的性質(zhì)。
1.2.4遞歸定義與歸納證明歸納證明1.2.4遞歸定義與歸納證明定義1-17
設(shè)R是S上的關(guān)系,我們遞歸地定義Rn的冪:⑴R0={(a,a)|a∈S}。⑵Ri=Ri-1R(i=1,2,3,4,5,…)。1.2.4遞歸定義與歸納證明定義1-171.2.4遞歸定義與歸納證明例1-17著名的斐波那契(Fibonacci)數(shù)的定義
⑴基礎(chǔ):0是第一個(gè)斐波那契數(shù),1第二個(gè)斐波那契數(shù);⑵歸納:如果n是第i個(gè)斐波那契數(shù),m是第i+1個(gè)斐波那契數(shù),則n+m是第i+2個(gè)斐波那契數(shù),這里i為大于等于1的正整數(shù)。⑶只有滿足(1)和(2)的數(shù)才是斐波那契數(shù)
0,1,1,2,3,5,8,13,21,34,55,…1.2.4遞歸定義與歸納證明例1-17著名的斐波那契(1.2.4遞歸定義與歸納證明例1-18算術(shù)表達(dá)式⑴基礎(chǔ):常數(shù)是算術(shù)表達(dá)式,變量是算術(shù)表達(dá)式;⑵歸納:如果E1、E2是表達(dá)式,則+E1、-E1、E1+E2、E1-E2
、E1*E2
、E1/E2、E1**E2、Fun(E1)是算術(shù)表達(dá)式。其中Fun為函數(shù)名。⑶只有滿足(1)和(2)的才是算術(shù)表達(dá)式。
1.2.4遞歸定義與歸納證明例1-18算術(shù)表達(dá)式1.2.4遞歸定義與歸納證明例1-19
對(duì)有窮集合A,證明|2A|=2|A|。證明: 設(shè)A為一個(gè)有窮集合,施歸納于|A|:⑴基礎(chǔ):當(dāng)|A|=0時(shí),|2A|=|{Φ}|=1。⑵歸納:假設(shè)|A|=n時(shí)結(jié)論成立,這里n≥0,往證當(dāng)|A|=n+1時(shí)結(jié)論成立
2A=2B∪{C∪{a}|C∈2B}
2B∩{C∪{a}|C∈2B}=Φ
1.2.4遞歸定義與歸納證明例1-19對(duì)有窮集合A,證1.2.4遞歸定義與歸納證明
|2A|=|2B∪{C∪{a}|C∈2B}| =|2B|+|{C∪{a}|C∈2B}| =|2B|+|2B| =2*|2B| =2*2|B| =2|B|+1 =2|A|⑶由歸納法原理,結(jié)論對(duì)任意有窮集合成立。1.2.4遞歸定義與歸納證明1.2.4遞歸定義與歸納證明例1-20
表達(dá)式的前綴形式是指將運(yùn)算符寫在前面,后跟相應(yīng)的運(yùn)算對(duì)象。如:+E1的前綴形式為+E1,E1+E2的前綴形式為+E1E2
,E1*E2的前綴形式為*E1E2,E1**E2的前綴形式為**E1,F(xiàn)un(E1)的前綴形式為FunE1。證明例1-18所定義的表達(dá)式可以用這里定義的前綴形式表示。
1.2.4遞歸定義與歸納證明例1-20表達(dá)式的前綴形式1.2.4遞歸定義與歸納證明遞歸定義給出的概念有利于歸納證明。在計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科中,有許多問題可以用遞歸定義描述或者用歸納方法進(jìn)行證明,而且在許多時(shí)候,這樣做會(huì)帶來許多方便。
主要是掌握遞歸定義與歸納證明的敘述格式。
1.2.4遞歸定義與歸納證明遞歸定義給出的概念有利于歸納1.2.5關(guān)系的閉包
閉包(closure)
設(shè)P是關(guān)于關(guān)系的性質(zhì)的集合,關(guān)系R的P閉包(closure)是包含R并且具有P中所有性質(zhì)的最小關(guān)系。正閉包(positiveclosure)
(1)RR+。(2)如果(a,b),(b,c)∈R+
則(a,c)∈R+。(3)除(1)、(2)外,R+不再含有其他任何元素。1.2.5關(guān)系的閉包閉包(closure)1.2.5關(guān)系的閉包傳遞閉包(transitiveclosure)
具有傳遞性的閉包。R+具有傳遞性。可以證明,對(duì)任意二元關(guān)系R,
R+=R∪R2∪R3∪R4∪…而且當(dāng)S為有窮集時(shí):
R+=R∪R2∪R3∪…∪R|S|1.2.5關(guān)系的閉包傳遞閉包(transitiveclo1.2.5關(guān)系的閉包克林閉包(Kleeneclosure)R*
(1)
R0R*,RR*。
(2)
如果(a,b),(b,c)∈R*
則(a,c)∈R*。
(3)
除(1)、(2)外,R*不再含有其他任何元素。
自反傳遞閉包(reflexiveandtransitiveclosure)
R*具有自反性、傳遞性。1.2.5關(guān)系的閉包克林閉包(Kleeneclosure1.2.5關(guān)系的閉包可以證明,對(duì)任意二元關(guān)系R,
R*=R0∪R+R*=R0∪R∪R2∪R3∪R4∪…而且當(dāng)S為有窮集時(shí):
R*=R0∪R∪R2∪R3∪…∪R|S|
1.2.5關(guān)系的閉包可以證明,對(duì)任意二元關(guān)系R,1.2.5關(guān)系的閉包R1、R2是S上的兩個(gè)二元關(guān)系
(1)
Φ+=Φ。
(2)
(R1+)+=R1+。
(3)(R1*)*=R1*。
(4)R1+∪R2+(R1∪R2)+。
(5)
R1*∪R2*(R1∪R2)*。
1.2.5關(guān)系的閉包R1、R2是S上的兩個(gè)二元關(guān)系1.3圖數(shù)學(xué)家歐拉(L.Euler)解決著名的哥尼斯堡七橋。直觀地講,圖是由一些點(diǎn)和一些連接兩點(diǎn)的邊組成。含無方向的邊的圖為無向圖,含帶有方向的邊的圖為有向圖。
1.3圖數(shù)學(xué)家歐拉(L.Euler)解決著名的哥尼斯堡七橋1.3.1無向圖無向圖(undirectedgraph)
設(shè)V是一個(gè)非空的有窮集合,EV×V,G=(V,E)稱為無向圖(undirectedgraph)。其中V中的元素稱為頂點(diǎn)(vertex或node),V稱為頂點(diǎn)集,E中的元素稱為無向邊(undirectededge),E為無向邊集。圖表示V中稱為頂點(diǎn)v的元素用標(biāo)記為v的小圈表示,E中的元素(v1,v2)用標(biāo)記為v1,v2的頂點(diǎn)之間的連線表示。
1.3.1無向圖無向圖(undirectedgraph1.3.1無向圖路(path)如果對(duì)于0≤i≤k-1,k≥1,均有(vi,vi+1)∈E,則稱v0,v1,…,vk是G=(V,E)的一條長為k的路?;芈坊蛉?cycle)當(dāng)路v0,v1,…,vk中v0=vk時(shí),v0,v1,…,vk叫做一個(gè)回路或圈(cycle)。1.3.1無向圖路(path)1.3.1無向圖頂點(diǎn)的度數(shù)
對(duì)于v∈V,|{v|(v,w)∈E}|稱為無向圖G=(V,E)的頂點(diǎn)v的度數(shù),記作deg(v)。對(duì)于任何一個(gè)圖,圖中所有頂點(diǎn)的度數(shù)之和為圖中邊的2倍。
1.3.1無向圖頂點(diǎn)的度數(shù)deg(v1)=3deg(v2)=3deg(v3)=4deg(v4)=3deg(v5)=3deg(v1)+deg(v2)+deg(v3)+deg(v4)+deg(v5)=16deg(v1)=31.3.1無向圖連通圖
如果對(duì)于v,w∈V,v≠w,v與w之間至少有一條路存在,則稱G=(V,E)是連通圖。
圖G是連通的充要條件是G中存在一條包含圖的所有頂點(diǎn)的路。
1.3.1無向圖連通圖1.3.2有向圖有向圖(directedgraph)
G=(V,E)。V:頂點(diǎn)(vertex或node)集。(v1,v2)∈E:頂點(diǎn)v1到頂點(diǎn)v2的有向邊(directededge),或弧(arc),v1稱為前導(dǎo)(predecessor),v2稱為后繼(successor)。有向路(directedpath)
如果對(duì)于0≤i≤k-1,k≥1,均有(vi,vi+1)∈E,則稱v0,v1,…,vk是G的一條長為k的有向路。
1.3.2有向圖有向圖(directedgraph)1.3.2有向圖有向回路或有向圈(directedcycle)
對(duì)于0≤i≤k-1,k≥1,均有(vi,vi+1)∈E,且v0=vk,則稱v0,v1,…,vk是G的一條長為k的有向路為一個(gè)有向回路。有向回路又叫有向圈。
有向圖的圖表示圖G的圖表示是滿足下列條件的“圖”:其中V中稱為頂點(diǎn)v的元素用標(biāo)記為v的小圈表示,E中的元素(v1,v2)用從標(biāo)記為v1的頂點(diǎn)到標(biāo)記為v2的頂點(diǎn)的弧表示。1.3.2有向圖有向回路或有向圈(directedcy1.3.2有向圖頂點(diǎn)的度數(shù)
入度(數(shù)):ideg(v)=|{v|(w,v)∈E}|。
出度(數(shù)):odeg(v)=|{v|(v,w)∈E}|。
對(duì)于任何一個(gè)有向圖,圖中所有頂點(diǎn)的入度之和與圖中所有頂點(diǎn)的出度之和正好是圖中邊的個(gè)數(shù)
1.3.2有向圖頂點(diǎn)的度數(shù)兩個(gè)不同的有向圖兩個(gè)不同的有向圖1.3.3樹滿足如下條件的有向圖G=(V,E)稱為一棵(有序、有向)樹(tree):
根(root)
v:沒有前導(dǎo),且v到樹中其他頂點(diǎn)均有一條有向路。每個(gè)非根頂點(diǎn)有且僅有一個(gè)前導(dǎo)。每個(gè)頂點(diǎn)的后繼按其拓?fù)潢P(guān)系從左到右排序。
1.3.3樹滿足如下條件的有向圖G=(V,E)稱為一棵(1.3.3樹樹的基本概念
(1)
頂點(diǎn)也可以成為結(jié)點(diǎn)。(2)
結(jié)點(diǎn)的前導(dǎo)為該結(jié)點(diǎn)的父親(父結(jié)點(diǎn)father)。(3)
結(jié)點(diǎn)的后繼為它的兒子(son)。(4)
如果樹中有一條從結(jié)點(diǎn)v1到結(jié)點(diǎn)v2的路,則稱v1是v2的祖先(ancestor),v2是v1的后代(descendant)。(5)
無兒子的頂點(diǎn)叫做葉子(leaf)。(6)
非葉結(jié)點(diǎn)叫做中間結(jié)點(diǎn)(interior)。1.3.3樹樹的基本概念1.3.3樹樹的層
根處在樹的第1層(level)。
如果結(jié)點(diǎn)v處在第i層(i≥1),則v的兒子處在第i+1層。樹的最大層號(hào)叫做該樹的高度(height)。
1.3.3樹樹的層1.3.3樹二元樹
如果對(duì)于v∈V,v最多只有2個(gè)兒子,則稱G=(V,E)為二元樹(binarytree)。
對(duì)一棵二元樹,它的第n層最多有2n-1個(gè)結(jié)點(diǎn)。一棵n層二元樹最多有個(gè)2n-1葉子。
1.3.3樹二元樹1.4語言1.4.1什么是語言
例如:“學(xué)大一生是個(gè)我”;“我是一個(gè)大學(xué)生”。語言是一定的群體用來進(jìn)行交流的工具。
必須有著一系列的生成規(guī)則、理解(語義)規(guī)則。1.4語言1.4.1什么是語言1.4.1什么是語言1.4.1什么是語言1.4.1什么是語言斯大林:從強(qiáng)調(diào)語言的作用出發(fā),把語言定義為“為廣大的人群所理解的字和組合這些字的方法”。
語言學(xué)家韋波斯特(Webster)
:為相當(dāng)大的團(tuán)體的人所懂得并使用的字和組合這些字的方法的統(tǒng)一體。
要想對(duì)語言的性質(zhì)進(jìn)行研究,用這些定義來建立語言的數(shù)學(xué)模型是不夠精確的。必須有更形式化的定義。
1.4.1什么是語言斯大林:從強(qiáng)調(diào)語言的作用出發(fā),把語言1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用語言學(xué)家喬姆斯基,畢業(yè)于賓西法尼亞大學(xué),最初從產(chǎn)生語言的角度研究語言。1956年,他將語言L定義為一個(gè)字母表∑中的字母組成的一些串的集合:
L∑*。
字母表上按照一定的規(guī)則定義一個(gè)文法(grammar),該文法所能產(chǎn)生的所有句子組成的集合就是該文法產(chǎn)生的語言。
1959年,喬姆斯基根據(jù)產(chǎn)生語言文法的特性,將語言劃分成3大類。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用語言學(xué)家喬姆斯1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用1951年到1956年,克林(Kleene)在研究神經(jīng)細(xì)胞中,建立了識(shí)別語言的系統(tǒng)——有窮狀態(tài)自動(dòng)機(jī)。
1959年,喬姆斯基發(fā)現(xiàn)文法和自動(dòng)機(jī)分別從生成和識(shí)別的角度去表達(dá)語言,而且證明了文法與自動(dòng)機(jī)的等價(jià)性,這一成果被認(rèn)為是將形式語言置于了數(shù)學(xué)的光芒之下,使得形式語言真正誕生了。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用1951年到11.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用20世紀(jì)50年代,巴科斯范式(BackusNourForm或
BackusNormalForm,BNF)實(shí)現(xiàn)了對(duì)高級(jí)語言ALGOL-60的成功描述。這一成功,使得形式語言在20世紀(jì)60年代得到了大力的發(fā)展。尤其是上下文無關(guān)文法被作為計(jì)算機(jī)程序設(shè)計(jì)語言的文法的最佳近似描述得到了較為深入的研究。
相應(yīng)的理論用于其他方面。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用20世紀(jì)50年代1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用形式語言與自動(dòng)機(jī)理論在計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的人才的計(jì)算思維的培養(yǎng)中占有極其重要的地位。
計(jì)算學(xué)科的主題:“什么能被有效地自動(dòng)化”。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用形式語言與自動(dòng)機(jī)1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科人才專業(yè)能力構(gòu)成
“計(jì)算思維能力”——抽象思維能力、邏輯思維能力。
算法設(shè)計(jì)與分析能力。程序設(shè)計(jì)與實(shí)現(xiàn)能力。計(jì)算機(jī)系統(tǒng)的認(rèn)知、分析、設(shè)計(jì)和應(yīng)用能力。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用計(jì)算機(jī)科學(xué)與技術(shù)1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用考慮的對(duì)象的不同,所需要的思維方式和能力就不同,通過這一系統(tǒng)的教育,在不斷升華的過程中,逐漸地培養(yǎng)出了學(xué)生的抽象思維能力和對(duì)邏輯思維方法的掌握。創(chuàng)新意識(shí)的建立和創(chuàng)新能力的培養(yǎng)也在這個(gè)教育過程中循序漸進(jìn)地進(jìn)行著。內(nèi)容用于后續(xù)課程和今后的研究工作。是進(jìn)行思維訓(xùn)練的最佳知識(shí)載體。
是一個(gè)優(yōu)秀的計(jì)算機(jī)科學(xué)工作者必修的一門課程。
1.4.2形式語言與自動(dòng)機(jī)理論的產(chǎn)生與作用考慮的對(duì)象的不同1.4.3基本概念對(duì)語言研究的三個(gè)方面
表示(representation)——無窮語言的表示。
有窮描述(finitedescription)——研究的語言要么是有窮的,要么是可數(shù)無窮的,這里主要研究可數(shù)無窮語言的有窮描述。
結(jié)構(gòu)(structure)——語言的結(jié)構(gòu)特征。
1.4.3基本概念對(duì)語言研究的三個(gè)方面1.4.3基本概念字母表(alphabet)字母表是一個(gè)非空有窮集合,字母表中的元素稱為該字母表的一個(gè)字母(letter)。又叫做符號(hào)(symbol)、或者字符(character)。非空性。有窮性。例如:
{a,b,c,d}{a,b,c,…,z}{0,1}1.4.3基本概念字母表(alphabet)1.4.3基本概念字符的兩個(gè)特性
整體性(monolith),也叫不可分性。
可辨認(rèn)性(distinguishable),也叫可區(qū)分性。
例(續(xù))
{a,a′,b,b′}{aa,ab,bb}{∞,∧,∨,≥,≤}1.4.3基本概念字符的兩個(gè)特性1.4.3基本概念字母表的乘積(product)
∑1∑2={ab|a∈∑1,b∈∑2}
例如:{0,1}{0,1}={00,01,10,00}
{0,1}{a,b,c,d}={0a,0b,0c,0d,1a,1b,1c,1d}
{a,b,c,d}{0,1}={a0,a1,b0,b1,c0,c1,d0,d1}
{aa,ab,bb}{0,1}={aa0,aa1,ab0,ab1,bb0,bb1}
1.4.3基本概念字母表的乘積(product)1.4.3基本概念字母表∑的n次冪
∑0={ε}
∑n=∑n-1∑
ε是由∑中的0個(gè)字符組成的。
∑的正閉包
∑+=∑∪∑2∪∑3∪∑4∪…∑的克林閉包∑*=∑0∪∑+=∑0∪∑∪∑2∪∑3∪…1.4.3基本概念字母表∑的n次冪1.4.3基本概念例如:
{0,1}+={0,1,00,01,11,000,001,010,011,100,…}
{0,1}*={ε,0,1,00,01,11,000,001,010,011,100,…}
{a,b,c,d}+={a,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,…,aaa,aab,aac,aad,aba,abb,abc,…}
{a,b,c,d}*={ε,a,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,…,aaa,aab,aac,aad,aba,abb,abc,…}
1.4.3基本概念例如:1.4.3基本概念結(jié)論:∑*={x|x是∑中的若干個(gè),包括0個(gè)字符,連接而成的一個(gè)字符串}?!?={x|x是∑中的至少一個(gè)字符連接而成的字符串}。1.4.3基本概念結(jié)論:1.4.3基本概念句子(sentence)
∑是一個(gè)字母表,x∈∑*,x叫做∑上的一個(gè)句子。句子相等。兩個(gè)句子被稱為相等的,如果它們對(duì)應(yīng)位置上的字符都對(duì)應(yīng)相等。別稱字(word)、(字符、符號(hào))行(line)、(字符、符號(hào))串(string)。1.4.3基本概念句子(sentence)1.4.3基本概念出現(xiàn)(apperance)x,y∈∑*,a∈∑,句子xay中的a叫做a在該句子中的一個(gè)出現(xiàn)。當(dāng)x=ε時(shí),a的這個(gè)出現(xiàn)為字符串xay的首字符如果a的這個(gè)出現(xiàn)是字符串xay的第n個(gè)字符,則y的首字符的這個(gè)出現(xiàn)是字符串xay的第n+1個(gè)字符。當(dāng)y=ε時(shí),a的這個(gè)出現(xiàn)是字符串xay的尾字符例:abaabb。1.4.3基本概念出現(xiàn)(apperance)1.4.3基本概念句子的長度(length)
x∈∑*,句子x中字符出現(xiàn)的總個(gè)數(shù)叫做該句子的長度,記作|x|。長度為0的字符串叫空句子,記作ε。
例如:
|abaabb|=6|bbaa|=4|ε|=0|bbabaabbbaa|=111.4.3基本概念句子的長度(length)1.4.3基本概念注意事項(xiàng)ε是一個(gè)句子。
{ε}≠Φ。這是因?yàn)閧ε}不是一個(gè)空集,它是含有一個(gè)空句子ε的集合。|{ε}|=1,而|Φ|=0。
1.4.3基本概念注意事項(xiàng)1.4.3基本概念并置(concatenation)
x,y∈∑*,x,y的并置是由串x直接相接串y所組成的。記作xy。并置又叫做連結(jié)。
串x的n次冪
x0=ε
xn=xn-1x
1.4.3基本概念并置(concatenation)1.4.3基本概念例如:對(duì)x=001,y=1101x0=y0=εx4=001001001001y4=1101110111011101對(duì)x=0101,y=110110x2=01010101y2=110110110110x4=0101010101010101y4=1101101101101101101101101.4.3基本概念例如:1.4.3基本概念∑*上的并置運(yùn)算性質(zhì)⑴結(jié)合律:(xy)z=x(yz)。⑵左消去律:如果xy=xz,則y=z。⑶右消去律:如果yx=zx,則y=z。⑷惟一分解性:存在惟一確定的a1,a2,…,an∈∑,使得x=a1a2…an。⑸單位元素:εx=xε=x。1.4.3基本概念∑*上的并置運(yùn)算性質(zhì)1.4.3基本概念前綴與后綴
設(shè)x,y,z,w,v∈∑*,且x=yz,w=yv
(1)
y是x的前綴(prefix)。(2)如果z≠ε,則y是x的真前綴(properprefix)。(3)z是x的后綴(suffix);(4)如果y≠ε,則z是x的真后綴(propersuffix)。(5)y是x和w的公共前綴(commonPrefix)。1.4.3基本概念前綴與后綴1.4.3基本概念公共前綴與后綴(6)如果x和w的任何公共前綴都是y的前綴,則y是x和w的最大公共前綴。(7)
如果x=zy,w=vy,則y是x和w的公共后綴(commonsuffix)。(8)如果x和w的任何公共后綴都是y的后綴,則y是x和w的最大公共后綴。1.4.3基本概念公共前綴與后綴1.4.3基本概念例
字母表∑={a,b}上的句子abaabb的前綴、后綴、真前綴和真后綴如下:前綴:ε,a,ab,aba,abaa,abaab,abaabb
真前綴:ε,a,ab,aba,abaa,abaab
后綴:ε,b,bb,abb,aabb,baabb,abaabb
真后綴:ε,b,bb,abb,aabb,baabb
1.4.3基本概念例1.4.3基本概念結(jié)論⑴x的任意前綴y有惟一的一個(gè)后綴z與之對(duì)應(yīng),使得x=yz;反之亦然。⑵x的任意真前綴y有惟一的一個(gè)真后綴z與之對(duì)應(yīng),使得x=yz;反之亦然。⑶|{w|w是x的后綴}|=|{w|w是x的前綴}|。⑷|{w|w是x的真后綴}|=|{w|w是x的真前綴}|。⑸{w|w是x的前綴}={w|w是x的真前綴}∪{x},
|{w|w是x的前綴}|=|{w|w是x的真前綴}|+1。1.4.3基本概念結(jié)論1.4.3基本概念結(jié)論⑹{w|w是x的后綴}={w|w是x的真后綴}∪{x},
|{w|w是x的后綴}|=|{w|w是x的真后綴}|+1。⑺對(duì)于任意字符串w,w是自身的前綴,但不是自身的真前綴;w是自身的后綴,但不是自身的真后綴。⑻對(duì)于任意字符串w,ε是w的前綴,且是w的真前綴;ε是w的后綴,且是w的真后綴1.4.3基本概念結(jié)論1.4.3基本概念約定
⑴用小寫字母表中較為靠前的字母a,b,c,…表示字母表中的字母。⑵用小寫字母表中較為靠后的字母x,y,z,…表示字母表上的句子。⑶用xT表示x的倒序。例如,如果x=abc,則xT=cba。
1.4.3基本概念約定1.4.3基本概念子串(substring)
w,x,y,z∈∑*,且w=xyz,則稱y是w的子串。公共子串(commonsubstring)
t,u,v,w,x,y,z∈∑*,且t=uyv,w=xyz,則稱y是t和w的公共子串(commonsubstring)。如果y1,y2,……,yn是t和w的公共子串,且max{|y1|,|y2|,…,|yn|}=|yj|,則稱yj是t和w的最大公共子串。
兩個(gè)串的最大公共子串并不一定是惟一的。
1.4.3基本概念子串(substring)1.4.3基本概念語言(language)
L∑*,L稱為字母表∑上的一個(gè)語言(language),x∈L,x叫做L的一個(gè)句子。
例:{0,1}上的不同語言
{00,11},{0,1}{0,1,00,11},{0,1,00,11,01,10}{00,11}*,{01,10}*,{00,01,10,11}*,
{0}{0,1}*{1},{0,1}*{111}{0,1}*1.4.3基本概念語言(language)1.4.3基本概念語言的乘積(product)L1∑1*,L2∑2*,語言L1與L2的乘積是一個(gè)語言,該語言定義為:L1L2={xy|x∈L1,y∈L2}是字母表∑1∪∑2上的語言。
1.4.3基本概念語言的乘積(product)1.4.3基本概念例⑴L1={0,1}。⑵L2={00,01,10,11}。⑶L3={0,1,00,01,10,11,000,…}=∑+。⑷L4={ε,0,1,00,01,10,11,000,…}=∑*。⑸L5={0n|n≥1}。⑹L6={0n1n|n≥1}。⑺L7={1n|n≥1}。⑻L8={0n1m|n,m≥1}。⑼L9={0n1n0n|n≥1}。⑽L10={0n1m0k|n,m,k≥1}。⑾L11={x|x∈∑+且x中0和1的個(gè)數(shù)相同}。
1.4.3基本概念例1.4.3基本概念上述幾個(gè)語言的部分特點(diǎn)及相互關(guān)系
上述所有語言都是L4的子集(子語言);L1,L2是有窮語言;其他為無窮語言;其中L1是∑上的所有長度為1的句子組成的語言,L2是∑上的所有長度為2的句子組成的語言;L3,L4分別是∑的正閉包和克林閉包;L5L7≠L6,但L5L7=L8;同樣L9≠L10,但是我們有:L6L5L7,L9L10。
1.4.3基本概念上述幾個(gè)語言的部分特點(diǎn)及相互關(guān)系1.4.3基本概念L6={0n1n|n≥1}中的句子中的0和1的個(gè)數(shù)是相同的,并且所有的0在所有的1的前面,L11={x|x∈∑+且x中0和1的個(gè)數(shù)相同}中的句子中雖然保持著0的個(gè)數(shù)和1的個(gè)數(shù)相等,但它并沒要求所有的0在所有的1的前面。例如,0101,1100∈L11,但是0101L6,1100L6。而對(duì)x∈L6,有x∈L11。所以,L6
L11。1.4.3基本概念L6={0n1n|n≥1}中的句子中的01.4.3基本概念L1L12,L2L12L5L12,L6L12L7L12,
L8L12L9L12,
L10L12L1L10,
L2L10L5L10,
L6L10L7L10,
L8L10L9L10,
L10L121.4.3基本概念L1L12,L2L121.4.3基本概念例
⑴
{x|x=xT,x∈∑}。⑵
{xxT|x∈∑+}。⑶
{xxT|x∈∑*}。⑷
{xwxT|x,w∈∑+}。⑸
{xxTw|x,w∈∑+}。
1.4.3基本概念例1.4.3基本概念冪L∈∑*,L的n次冪是一個(gè)語言,該語言定義為
⑴
當(dāng)n=0是,Ln={ε}。⑵
當(dāng)n≥1時(shí),Ln=Ln-1L
。正閉包
L+=L∪L2∪L3∪L4∪…
克林閉包
L*=L0∪L∪L2∪L3∪L4∪…
1.4.3基本概念冪1.5小結(jié)
本章簡單敘述了一些基礎(chǔ)知識(shí),一方面,希望讀者通過對(duì)本章的閱讀,熟悉集合、關(guān)系、圖、形式語言等相關(guān)的一些基本知識(shí)點(diǎn),為以后各章學(xué)習(xí)作適當(dāng)?shù)臏?zhǔn)備。另一方面,也使讀者熟悉本書中一些符號(hào)的意義。
1.5小結(jié)本章簡單敘述了一些基礎(chǔ)知識(shí),一方面1.5小結(jié)(1)
集合:集合的表示、集合之間的關(guān)系、集合的基本運(yùn)算。(2)
關(guān)系:主要介紹了二元關(guān)系相關(guān)的內(nèi)容。包括等價(jià)關(guān)系、等價(jià)分類、關(guān)系合成、關(guān)系閉包。(3)
遞歸定義與歸納證明。1.5小結(jié)(1)
集合:集合的表示、集合之間的關(guān)系、集1.5小結(jié)(4)
圖:無向圖、有向圖、樹的基本概念。(5)
語言與形式語言:自然語言的描述,形式語言和自動(dòng)機(jī)理論的出現(xiàn),形式語言和自動(dòng)機(jī)理論對(duì)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科人才能力培養(yǎng)的作用(6)
基本概念:字母表、字母、句子、字母表上的語言、語言的基本運(yùn)算1.5小結(jié)(4)
圖:無向圖、有向圖、樹的基本概念。第2章文法對(duì)任何語言L,有一個(gè)字母表∑,使得L∑*。
L的具體組成結(jié)構(gòu)是什么樣的?一個(gè)給定的字符串是否為一個(gè)給定語言的句子?如果不是,它在結(jié)構(gòu)的什么地方出了錯(cuò)?進(jìn)一步地,這個(gè)錯(cuò)誤是什么樣的錯(cuò)?如何更正?……。這些問題對(duì)有窮語言來說,比較容易解決。這些問題對(duì)無窮語言來說,不太容易解決。語言的有窮描述。第2章文法對(duì)任何語言L,有一個(gè)字母表∑,使得L∑*。第2章文法
主要內(nèi)容
文法的直觀意義與形式定義,推導(dǎo)、文法產(chǎn)生的語言、句子、句型;喬姆斯基體系,左線性文法、右線性文法,文法的推導(dǎo)與歸約;空語句。重點(diǎn)文法、推導(dǎo)、歸約、模型的等價(jià)性證明。難點(diǎn)形式化的概念,文法的構(gòu)造。第2章文法主要內(nèi)容2.1啟示文法的概念最早是由語言學(xué)家們?cè)谘芯孔匀徽Z言理解中完成形式化。
歸納如下句子的描述:⑴
哈爾濱是美麗的城市。⑵
北京是祖國的首都。⑶
集合是數(shù)學(xué)的基礎(chǔ)。⑷
形式語言是很抽象的。⑸
教育走在社會(huì)發(fā)展的前面。⑹
中國進(jìn)入WTO。2.1啟示文法的概念最早是由語言學(xué)家們?cè)谘芯孔匀徽Z言理解2.1啟示6個(gè)句子的主體結(jié)構(gòu)
<名詞短語><動(dòng)詞短語><句號(hào)>
<名詞短語>={哈爾濱,北京,集合,形式語言,教育,中國}<動(dòng)詞短語>={是美麗的城市,是祖國的首都,是數(shù)學(xué)的基礎(chǔ),是很抽象的,走在社會(huì)發(fā)展的前面,進(jìn)入WTO}
<句號(hào)>={。}
2.1啟示6個(gè)句子的主體結(jié)構(gòu)2.1啟示<動(dòng)詞短語>可以是<動(dòng)詞><形容詞短語>
或者<動(dòng)詞><名詞短語>
。<名詞短語>={北京、哈爾濱、形式語言、中國、教育、集合、WTO、美麗的城市、祖國的首都、數(shù)學(xué)的基礎(chǔ)、社會(huì)發(fā)展的前面}。
<動(dòng)詞>={是、走在、進(jìn)入}。<形容詞短語>={很抽象的}。把<名詞短語><動(dòng)詞短語><句號(hào)>取名為<句子>。
2.1啟示<動(dòng)詞短語>可以是<動(dòng)詞><形容詞短語>或者2.1啟示2.1啟示2.1啟示表示成αβ形式<句子><名詞短語><動(dòng)詞短語><句號(hào)><動(dòng)詞短語><動(dòng)詞><形容詞短語><動(dòng)詞短語><動(dòng)詞><名詞短語><動(dòng)詞>是2.1啟示表示成αβ形式2.1啟示<動(dòng)詞>走在<動(dòng)詞>進(jìn)入<形容詞短語>很抽象的<名詞短語>北京<名詞短語>哈爾濱<名詞短語>形式語言2.1啟示<動(dòng)詞>走在2.1啟示<名詞短語>中國<名詞短語>教育<名詞短語>集合<名詞短語>WTO<名詞短語>美麗的城市<名詞短語>祖國的首都<名詞短語>數(shù)學(xué)的基礎(chǔ)<名詞短語>社會(huì)發(fā)展的前面<句號(hào)>。2.1啟示<名詞短語>中國2.1啟示表示一個(gè)語言,需要4種東西⑴形如<名詞短語>的“符號(hào)”
它們表示相應(yīng)語言結(jié)構(gòu)中某個(gè)位置上可以出現(xiàn)的一些內(nèi)容。每個(gè)“符號(hào)”對(duì)應(yīng)的是一個(gè)集合,在該語言的一個(gè)具體句子中,句子的這個(gè)位置上能且僅能出現(xiàn)相應(yīng)集合中的某個(gè)元素。所以,這種“符號(hào)”代表的是一個(gè)語法范疇。
⑵
<句子>
所有的“規(guī)則”,都是為了說明<句子>的結(jié)構(gòu)而存在,相當(dāng)于說,定義的就是<句子>。2.1啟示表示一個(gè)語言,需要4種東西2.1啟示
⑶形如北京的“符號(hào)”
它們是所定義語言的合法句子中將出現(xiàn)的“符號(hào)”。僅僅表示自身,稱為終極符號(hào)。⑷所有的“規(guī)則”都呈αβ的形式
在產(chǎn)生語言的句子中被使用,稱這些“規(guī)則”為產(chǎn)生式。
2.1啟示⑶形如北京的“符號(hào)”2.2形式定義文法(grammar)
G=(V,T,P,S)
V——為變量(variable)的非空有窮集。A∈V,A叫做一個(gè)語法變量(syntacticVariable),簡稱為變量,也可叫做非終極符號(hào)(nonterminal)。它表示一個(gè)語法范疇(syntacticCategory)。所以,本文中有時(shí)候又稱之為語法范疇。
2.2形式定義文法(grammar)2.2形式定義T——為終極符(terminal)的非空有窮集。a∈T,a叫做終極符。由于V中變量表示語法范疇,T中的字符是語言的句子中出現(xiàn)的字符,所以,有V∩T=Φ。
S——S∈V,為文法G的開始符號(hào)(startsymbol)。
2.2形式定義T——為終極符(terminal)的非空有窮2.2形式定義P——為產(chǎn)生式(production)的非空有窮集合。P中的元素均具有形式αβ,被稱為產(chǎn)生式,讀作:α定義為β。其中α∈(V∪T)+,且α中至少有V中元素的一個(gè)出現(xiàn)。β∈(V∪T)*。α稱為產(chǎn)生式αβ的左部,β稱為產(chǎn)生式αβ的右部。產(chǎn)生式又叫做定義式或者語法規(guī)則。
2.2形式定義P——為產(chǎn)生式(production)的非2.2形式定義例2-1以下四元組都是文法。
⑴({A},{0,1},{A01,A0A1,A1A0},A)。⑵({A},{0,1},{A0,A0A},A)。⑶({A,B},{0,1},{A01,A0A1,A1A0,BAB,B0},A)。⑷({A,B},{0,1},{A0,A1,A0A,A1A},A)。2.2形式定義例2-1以下四元組都是文法。2.2形式定義⑸({S,A,B,C,D},{a,b,c,d,#},{SABCD,Sabc#,AaaA,ABaabbB,BCbbccC,cCcccC,CDccd#,CDd#,CD#d},S)。⑹({S},{a,b},{S00S,S11S,S00,S11},S)。
2.2形式定義⑸({S,A,B,C,D},{a,b,c2.2形式定義約定
⑴
對(duì)一組有相同左部的產(chǎn)生式αβ1,αβ2,…
,αβn可以簡單地記為:αβ1|β2|…|βn讀作:α定義為β1,或者β2,…,或者βn。并且稱它們?yōu)棣廉a(chǎn)生式。β1,β2,…,βn稱為候選式(candidate)。
2.2形式定義約定2.2形式定義⑵使用符號(hào)英文字母表較為前面的大寫字母,如A,B,C,…表示語法變量;英文字母表較為前面的小寫字母,如a,b,c,…表示終極符號(hào);英文字母表較為后面的大寫字母,如X,Y,Z,…表示該符號(hào)是語法變量或者終極符號(hào);英文字母表較為后面的小寫字母,如x,y,z,…表示由終極符號(hào)組成的行;希臘字母α,β,γ…表示由語法變量和終極符號(hào)組成的行
2.2形式定義⑵使用符號(hào)2.2形式定義例2-3
四元組是否滿足文法的要求。
({A,B,C,E},{a,b,c},{SABC|abc,De|a,F(xiàn)Bc,AA,Eabc|ε},S)
4種修改
(1)({A,B,C,E,S,D,F(xiàn)},{a,b,c,e},{SABC|abc,De|a,F(xiàn)Bc,AA,Eabc|ε},S)。(2)({A,B,C,E,S},{a,b,c},{SABC|abc,AA,Eabc|ε},S)。(3)({A,B,C,E},{a,b,c},{AA,Eabc|ε},A)。(4)({A,B,C,E},{a,b,c},{AA,Eabc|ε},E)。2.2形式定義例2-3四元組是否滿足文法的要求。2.2形式定義推導(dǎo)(derivation)
設(shè)G=(V,T,P,S)是一個(gè)文法,如果αβ∈P,γ,δ∈(V∪T)*,則稱γαδ在G中直接推導(dǎo)出γβδ。
γαδGγβδ讀作:γαδ在文法G中直接推導(dǎo)出γβδ。“直接推導(dǎo)”可以簡稱為推導(dǎo)(derivation),也稱推導(dǎo)為派生。
2.2形式定義推導(dǎo)(derivation)2.2形式定義歸約(reduction)
γαδGγβδ稱γβδ在文法G中直接歸約成γαδ。在不特別強(qiáng)調(diào)歸約的直接性時(shí),“直接歸約”可以簡稱為歸約。
2.2形式定義歸約(reduction)2.2形式定義1.
推導(dǎo)與歸約表達(dá)的意思的異同。2.
推導(dǎo)與歸約和產(chǎn)生式不一樣。所以,G和所表達(dá)的意思不一樣。3.
推導(dǎo)與歸約是一一對(duì)應(yīng)的。4.
推導(dǎo)與歸約的作用。2.2形式定義1.
推導(dǎo)與歸約表達(dá)的意思的異同。2.2形式定義G、G+、G*當(dāng)成(V∪T)*上的二元關(guān)系。
(1)αGn
β:表示α在G中經(jīng)過n步推導(dǎo)出β;β在G中經(jīng)過n步歸約成α。即,存在α1,α2,…,αn-1∈(V∪T)*使得αG
α1,α1G
α2,…,αn-1G
β。
(2)當(dāng)n=0時(shí),有α=β。即αG0
α。
(3)αG+
β:表示α在G中經(jīng)過至少1步推導(dǎo)出β;β在G中經(jīng)過至少1步歸約成α。
2.2形式定義G、G+、G*當(dāng)成(V∪T)*上的二元2.2形式定義(4)αG*
β:表示α在G中經(jīng)過若干步推導(dǎo)出β;β在G中經(jīng)過若干步歸約成α。
分別用、+、*、n代替 G、G+、G*、Gn。2.2形式定義(4)αG*β:表示α在G中經(jīng)過若干步推2.2形式定義例2-4
設(shè)G=({A},{a},{Aa|aA},A)AaA
使用產(chǎn)生式AaAaaA
使用產(chǎn)生式AaAaaaA
使用產(chǎn)生式AaAaaaaA
使用產(chǎn)生式AaA…a…aA
使用產(chǎn)生式AaAa…aa 使用產(chǎn)生式Aa2.2形式定義例2-4設(shè)G=({A},{a},{A2.2形式定義AaA
使用產(chǎn)生式AaAaaA
使用產(chǎn)生式AaAaaaA
使用產(chǎn)生式AaAaaaaA
使用產(chǎn)生式AaA…a…aA
使用產(chǎn)生式AaAa…aaA 使用產(chǎn)生式AaA2.2形式定義AaA 使用產(chǎn)生式AaA2.2形式定義AAaaAAAAAaaAaAA 使用產(chǎn)生式AaA
AaAaaAaAA 使用產(chǎn)生式AaA
AaAaaAaaA 使用產(chǎn)生式Aa
aaAaaAaaA
使用產(chǎn)生式Aa
aaAaaAaaa 使用產(chǎn)生式Aa
aaaAaaAaaa 使用產(chǎn)生式AaA
aaaaaaAaaa 使用產(chǎn)生式Aa
aaaaaaaaaa 使用產(chǎn)生式Aa
2.2形式定義AAaaAAAAAaaAaAA 使用產(chǎn)2.2形式定義例2-5
設(shè)G=({S,A,B},{0,1},{SA|AB,A0|0A,B1|11},S)
對(duì)于n≥1,
An0n
首先連續(xù)n-1次使用產(chǎn)生式;A0A,最后使用產(chǎn)生式A0;
An0nA 連續(xù)n次使用產(chǎn)生式A0A;
B1 使用產(chǎn)生式B1;
B11 使用產(chǎn)生式B11。
2.2形式定義例2-5設(shè)G=({S,A,B},{0,12.2形式定義語法范疇A代表的集合L(A)={0,00,000,0000,……}={0n|n≥1};語法范疇B代表的集合L(B)={1,11}語法范疇S代表的集合L(S)=L(A)∪L(A)L(B)={0,00,000,0000,…}∪{0,00,000,0000,…}{1,11}={0,00,000,0000,…}∪∪{01,001,0001,00001,…}∪∪{011,0011,00011,000011,…}
2.2形式定義語法范疇A代表的集合L(A)={0,00,02.2形式定義例2-6
設(shè)G=({A},{0,1},{A01,A0A1},A),
An0nA1n n≥00nA1n
0n+1A1n+1 n≥0 0nA1n
0n+11n+1 n≥0 0nA1n
i0n+iA1n+i n≥0,i≥0 0nA1n
i0n+i1n+I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水果進(jìn)銷數(shù)據(jù)庫課程設(shè)計(jì)
- 紅色研學(xué)課程設(shè)計(jì)評(píng)價(jià)
- 《小學(xué)數(shù)學(xué)小組合作學(xué)習(xí)》校本小課題研究方案
- 湖北工業(yè)大學(xué)《集成電路封裝與測試技術(shù)》2022-2023學(xué)年期末試卷
- 高三學(xué)生緩解壓力心理游戲方案
- 約束具使用管理制度
- 路基路面課程設(shè)計(jì)路肩墻
- 連桿夾具銑平面課程設(shè)計(jì)
- 繪畫我的媽媽課程設(shè)計(jì)
- 花盤式車床夾具課程設(shè)計(jì)
- TDT 1015.2-2024 地籍?dāng)?shù)據(jù)庫 第2部分:自然資源(正式版)
- 窗簾售后服務(wù)協(xié)議
- 工作室加盟合作合同
- 《國有企業(yè)管理人員處分條例》學(xué)習(xí)解讀課件
- 大量收購青苗姜合同
- 2024年中國建筑科學(xué)研究院限公司校園招聘【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 2024年農(nóng)業(yè)農(nóng)村知識(shí)考試必背復(fù)習(xí)題庫(濃縮500題)
- 數(shù)字資源管理規(guī)章制度
- 缺血性腦卒中全流程規(guī)范化管理
- 醫(yī)院培訓(xùn)課件:《PPD試驗(yàn)》
- 家長會(huì)課件:小學(xué)三年級(jí)家長會(huì) 課件
評(píng)論
0/150
提交評(píng)論