NLP入門之形式語言與自動機學習(二)

第二篇:邏輯與圖論函數

1:什麼是命題? 提及什麼是命題,命題是一個可以判斷真假的語句,通常能夠用一個大寫的字母表示爲一個命題.舉個例子:學習

A:3是奇數3d

B:銅是金屬cdn

C:1+4=2blog

結果很顯然易見,命題A和命題B的真值均是真命題,命題C的真值是假命題it

2:什麼是鏈接詞?io

鏈接詞是用於把單個命題構成複合命題,鏈接詞包括」非」,」與」,」或」,」蘊含」,一般用符號「┐」表示「非」, 符號「 ∧」表示「 與」、符 號「 ∨ 」表 示「 或 」和 符 號「 → 」表 示「 蘊 含 」。class

下邊有一張真值表,能夠看看給出的這些鏈接詞的定義:基礎

把上邊的圖字符用語言來歸納下:重構

1:當命題P和Q的真值時,當且僅當複合命題PQ的真值是真,其餘的狀況PQ的真值均爲假

2:當命題P和Q的真值均爲假時,當且僅當複合命題PQ的真值爲假,其餘狀況PQ均爲真

3:當命題P爲真且命題Q爲假時,當且僅當複合命題PQ的 真值爲假。其餘狀況PQ均爲真。

4:至於鏈接詞「非」可對命題進行否認,當命題P爲真,則有┐P爲假。

3:命題的演算規律

根據上邊的幾條規定,對他的命題演算進行證實下:

(1) ┐┐P =P

(2)PP P

PP P

(3)PQ QP

PQ QP

(4)P∨(QR) (PQ)∧(PR)

P∧(QR) (PQ)∨(PR) (5)P∨(PQ)P

P∧(PQ)P

(6)┐(PQ) ┐P∧┐Q

┐(PQ) ┐P∨┐Q

(7)PF P

PT P

(8)PT T

PF 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 ∈VE1∈E,則稱G1 是G的子圖;若是V1 =VE1=E,則稱G1 是G的真子圖;若是V1=VE1∈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的路徑,則稱從vivj是可達的。將vi可達的全部節點構成 的集合稱爲是vi的可達節點集。

在一個有向圖中, 若是每對不一樣 的節點vivj之間都是相互可達的, 則稱該圖是強連圖。

3:圖的矩陣表示:

定義:

G= (V,E) 是 有 向 圖 ,V= {v1 ,v2,…,vn},定義一個n×n的矩陣A,A的元素是aij, 而且有

稱矩陣A是圖G的鄰接矩陣。

4 .節點度數

在有向圖中 , 射入一個節點的邊數稱爲該節點的入度 , 由一個節點射出的邊數稱爲該節點的出度。 節點的入度和出度之和 , 稱爲該節點的度數。在無向圖中 , 一個節點關聯的邊數就稱爲該節點的度數。

5:樹

樹是一種無迴路的有向圖,無迴路的有向圖, 是指一個有向圖中不存在迴路。其中, 入度爲 0 的節點 稱爲根節點,出度爲 0 的節點稱爲葉子。所以, 圖中節點a和節 點f是根節點 , 而節 點bdg便 是 葉 子 。

定義以下:

若是有向圖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) 對任何給定的節點, 它的左兒子和右兒子按如下方法選 定:直接處於給定節點之下的節點, 做爲左兒子, 對於同一水平線 上與給定節點有鄰接的節點 , 做爲右兒子 , 依此類推。

好,上述內容已經包含了大部分形式語言和自動機所需的基礎知識,接下來咱們將會正式開始形式語言和自動機的學習

相關文章
相關標籤/搜索