第二篇:邏輯與圖論函數
1:什麼是命題? 提及什麼是命題,命題是一個可以判斷真假的語句,通常能夠用一個大寫的字母表示爲一個命題.舉個例子:學習
A:3是奇數3d
B:銅是金屬cdn
C:1+4=2blog
結果很顯然易見,命題A和命題B的真值均是真命題,命題C的真值是假命題it
2:什麼是鏈接詞?io
鏈接詞是用於把單個命題構成複合命題,鏈接詞包括」非」,」與」,」或」,」蘊含」,一般用符號「┐」表示「非」, 符號「 ∧」表示「 與」、符 號「 ∨ 」表 示「 或 」和 符 號「 → 」表 示「 蘊 含 」。class
下邊有一張真值表,能夠看看給出的這些鏈接詞的定義:基礎
把上邊的圖字符用語言來歸納下:重構
1:當命題P和Q的真值時,當且僅當複合命題P∧Q的真值是真,其餘的狀況P∧Q的真值均爲假
2:當命題P和Q的真值均爲假時,當且僅當複合命題P∨Q的真值爲假,其餘狀況P∨Q均爲真
3:當命題P爲真且命題Q爲假時,當且僅當複合命題P→Q的 真值爲假。其餘狀況P→Q均爲真。
4:至於鏈接詞「非」可對命題進行否認,當命題P爲真,則有┐P爲假。
3:命題的演算規律
根據上邊的幾條規定,對他的命題演算進行證實下:
(1) ┐┐P =P
(2)P∨P P
P∧P P
(3)P∨Q Q∨P
P∧Q Q∧P
(4)P∨(Q∧R) (P∨Q)∧(P∨R)
P∧(Q∨R) (P∧Q)∨(P∧R) (5)P∨(P∧Q)P
P∧(P∨Q)P
(6)┐(P∨Q) ┐P∧┐Q
┐(P∧Q) ┐P∨┐Q
(7)P∨F P
P∧T P
(8)P∨T T
P∧F F
二:圖
這一部分將介紹下圖論的一些基本概念,先說說什麼是圖,圖的定義以下:
1:什麼是圖?
一個圖是由一個三元組(V,E,ψ)組成的,其中V是非空的節點集合,E是邊的集合,ψ是從邊集合E到節點無序偶或有序偶集合上的函數。
下面以一個例子說明:
你們發現圖中的邊老是與兩個節點相關聯,因此一個圖通常表示爲二元組,即G = (V,E),若邊ek與節點無序偶〈vi,vj>相關聯,則稱該邊爲無向邊。若邊ek與節點有序偶〈vi,vj>相關聯,則稱該邊爲有向邊,其中vi爲 邊ek的起始節點,vj爲終止節點。
而且若是一個圖中的每條邊都是沒有方向的,這個圖就能夠稱爲無向圖,就跟例1同樣,若是一個圖中每條邊都是有向邊,稱該圖爲有向圖,以下圖所示:
在第二個圖中其實就能夠用G = (V, E)來表示:
V= {a,b,c,d}
E= {〈a,b〉,〈a,d〉,〈b,d〉,〈b,c〉,〈c,c〉}
在圖中,若是兩個節點是由一條有向邊或者一條無向邊關聯,則稱這兩個節點是鄰接點.關聯於同一節點的兩條邊統稱爲鄰接邊.關聯與同一個節點的一條邊稱爲自閉路,好比上圖中的(c,c)就是一條自閉路.
另外在研究圖的性質和圖的局部結構中,子圖的概念是很重要的,下邊我想要說說子圖的定義:
設圖G=(V,E)和圖G1=(V1,E1),若是V1 ∈V且E1∈E,則稱G1 是G的子圖;若是V1 =V且E1=E,則稱G1 是G的真子圖;若是V1=V且E1∈E,則稱G1 是G的生成子圖。
下邊的這一個例子,(b)和(c)均爲(a)的子圖,又(b)是(a)的生成子圖。
2:圖的重構
一般, 一個圖的幾何圖形可有若干個不一樣的畫法, 就是說, 一 個圖的幾何圖並非唯 一的 , 但它們描述的圖倒是相同的。若是有兩個圖 , 它們的節點數和邊數相同 , 並且節點和邊的關聯關係也同樣 , 那麼這兩個圖應是相同的 , 或稱同構圖。
定義以下:
圖G1 =(V1,E1)和圖G2 =(V2,E2),若存在雙射函數f:V1→V2,且e=〈vi,vj〉是G1的一條邊,當且僅當e′=〈f(vi),f(vj)〉是G2 的一條邊,則稱G1 和G2 同構,記爲G1 DG2。
舉個例子:
下面的兩個圖是同構圖,用\來表示對應
節點的對應:
v1 \a
v2 \b
v3 \c
v4 \d
〈v2,v1〉\〈b,a〉
〈v4 ,v1〉\ 〈d,a〉
〈v3 ,v4〉\ 〈c,d〉
〈v3 ,v2〉\ 〈c,b〉
2:路徑和迴路
路徑的定義:
有向圖G=(V,E)的有限條邊的序列e1,e2,…,en, 其中任意邊ei的終止節點是邊ei+ 1 的起始節點 , 則稱這樣的邊
序列是圖G的路徑。當路徑中全部的邊都互不相同時 , 稱爲簡單路徑 ; 當路徑中所
有節點都互不相同時 , 稱爲基本路徑
好比在下圖中:
P4 = (〈v1 ,v2〉,〈v2 ,v4〉,〈v4 ,v2〉,〈v2 ,v3〉,〈v3 ,v4〉,〈v4 ,v2〉,
〈v2 ,v5〉,〈v5 ,v1〉)是一條迴路;P5 = (〈v1 ,v2〉,〈v2 ,v3〉,〈v3 ,v4〉,〈v4 ,v2〉,〈v2 ,v5〉,〈v5 ,v1〉)
是一條簡單迴路 ;P6 = (〈v1 ,v2〉,〈v2 ,v3〉,〈v3 ,v4〉,〈v4 ,v5〉,〈v5 ,v1〉) 是 一條 基
本回路。
路徑長度:
在一條路徑中, 所含邊的條數稱爲該路徑的長度。
在一個有向圖中, 若是存在從節 點vi到節點vj的路徑,則稱從vi到vj是可達的。將vi可達的全部節點構成 的集合稱爲是vi的可達節點集。
在一個有向圖中, 若是每對不一樣 的節點vi和vj之間都是相互可達的, 則稱該圖是強連圖。
3:圖的矩陣表示:
定義:
設G= (V,E) 是 有 向 圖 ,V= {v1 ,v2,…,vn},定義一個n×n的矩陣A,A的元素是aij, 而且有
稱矩陣A是圖G的鄰接矩陣。
4 .節點度數
在有向圖中 , 射入一個節點的邊數稱爲該節點的入度 , 由一個節點射出的邊數稱爲該節點的出度。 節點的入度和出度之和 , 稱爲該節點的度數。在無向圖中 , 一個節點關聯的邊數就稱爲該節點的度數。
5:樹
樹是一種無迴路的有向圖,無迴路的有向圖, 是指一個有向圖中不存在迴路。其中, 入度爲 0 的節點 稱爲根節點,出度爲 0 的節點稱爲葉子。所以, 圖中節點a和節 點f是根節點 , 而節 點b、d和g便 是 葉 子 。
定義以下:
若是有向圖T中,只存在一個節點v的入度爲0,其餘全部節點入度均爲 1, 從節點v出發可到達T中的每一個節 點,則稱T是一棵有向樹或稱根樹.T中入度爲0的節點v是樹的根,T中出度爲0的節點是樹 的葉子,其餘入度爲 1 的節點稱爲樹的枝節點(或稱內節點)。
例以下圖中的所示的樹均爲根樹。一個孤立節點也是一棵有向樹。
由於有向樹中沒有任何迴路, 因此樹中全部路徑都是基本路 徑。從根節點到樹中某一節點的路徑長度, 稱爲該節點的層數。
在上圖(a)所示的樹中,根節點1 的層數爲0,節點2,5,6 的層 數爲 1, 節點 3,4, 7 的層數爲 3。同時將樹中最長的路徑長度稱爲樹的高度。
同時爲了方便 , 能夠借用家族術語來表達樹中節點之間的關係 , 把 從節點v出發可達的每一個節點 , 都稱是v的子孫 , 其中只經一條邊可達的節點,稱是v的直接子孫(或稱兒子)。
從有向樹的結構能夠看出,樹的每個節點也都是給定樹的 子樹的根。若是刪除樹的根和與它關聯的邊 , 便獲得一些子樹 , 這 些子樹的根 , 就是第一層上的各節點
在有向樹中,若是每一個節點的出度小於或等於m, 稱該樹是m元樹; 若是每一個節點的出度都等於m或 0, 稱該樹是徹底m元樹
當m= 2,m元樹和徹底m元樹分別稱爲二元樹和徹底二元 樹。對於二元樹的每一個枝節點或根節點 , 至多有兩棵子樹 , 分別爲 左子樹和右子樹
舉個例子:
用二元樹表示一個算術表達式((a-c)/(b1+b2))+b3 *b4
對計算機來講 , 處理二元樹是比較方便的 , 因此常把有序樹轉 化爲二元樹。用二元樹表示有序樹的方法是 :
(1) 除保留最左邊的枝節點外, 刪去全部從每一個節點長出的 分枝 , 在一層中的節點之間用從左到右的有向邊鏈接。
(2) 對任何給定的節點, 它的左兒子和右兒子按如下方法選 定:直接處於給定節點之下的節點, 做爲左兒子, 對於同一水平線 上與給定節點有鄰接的節點 , 做爲右兒子 , 依此類推。
好,上述內容已經包含了大部分形式語言和自動機所需的基礎知識,接下來咱們將會正式開始形式語言和自動機的學習