西電研一人工智慧複習隨筆

天問ㄆ發表於2021-01-01

記:人工智慧和先進人工智慧寫在一起了,懶得分開寫

第一章

先說總體框架:人工智慧

先給幾個概念

Artificial Intelligence (AI):人工智慧就是用人工的方法在機器(計算機)上實現的智慧,或稱機器智慧、計算機智慧。

知識:人們通過體驗、學習或聯想而知曉的對客觀世界規律性的認識,包括事實、條件、過程、規則、關係和規律等。

智慧:一種應用知識對一定環境或問題進行處理的能力或者進行抽象思考的能力。

需要了解一下 符號主義 連線主義 行為主義 三者的特點和區分:(好傢伙,愣是看不出來這塊想考啥)

符號主義:

  • 原理:物理符號系統假設和有限合理性原理
  • 立足於邏輯運算和符號操作,適合於模擬人的邏輯思維過程,解決需要邏輯推理的複雜問題
  • 功能模擬方法:模擬人類認知系統所具備的功能,通過數學邏輯方法來實現人工智慧

連線主義

  • 原理:神經網路及神經網路間的連線機制與學習演算法
  • 通過神經元之間的並行協作實現資訊處理,處理過程具有並行性,動態性,全域性性
  • 模擬人的生理神經網路結構,不同的結構表現出不同的功能和行為。認為功能、結構和智慧行為是不可分的。

行為主義

  • 原理:控制論及感知—動作型控制系統
  • 採用行為模擬方法,也認為功能、結構和智慧行為是不可分的。不同行為表現出不同功能和不同控制結構。

第二章 知識表示方法

瞭解知識表示,並熟悉幾種知識表示的常用方法

知識表示

相關概念(瞭解即可)

  • 一般來說,我們把有關資訊關聯在一起所形成的資訊結構稱為知識。
  • 知識表示就是對知識的一種描述,一種計算機可以接受的用於描述知識的資料結構。
  • 知識的要素:指構成知識的必需元素。一般而言,人工智慧系統的知識包含事實、規則、控制和元知識。

知識表示方法

狀態空間法

基本要素:基於解答空間的問題表示和求解方法就是狀態空間法

  • 狀態(State):為描述某類不同事物間的差別而 入的一組最少變數 q0 q1,…,qn的有序集合 
    給定每個分量的一組值就得到一個具體的狀態,例如Qk =[q0k, , q1k ,…,qnk ] 表示一個具體的狀態
  • 算符(operator):把問題從一種狀態變換為另一種狀態的手段
    算符可為走步、過程、規則、數學運算元、運算子號 或邏輯符號等。
  • 狀態空間方法(Method on State Space)

使用狀態空間法解題:1.給出狀態描述,特別是初始狀態,目標狀態,2.給定操作符集合,以及操作符的作業,3.通過使用不同操作符使得從初始狀態轉移到目標狀態

狀態空間例題:猴子摘香蕉,傳教士過河
(注:不打算作為重點去看)

問題歸約法

實質:將原始問題分解一些子問題,通過求解這些子問題可以最終求解原始問題。將得到的子問題不斷分解直至得到平凡的本原問題。通過平凡的本原問題的解逆推最終得到原始問題的解。

組成部分

  1. 一個初始問題描述;
  2. 一套把問題變換為子問題的操作符;
  3. 一套本原問題描述。

問題歸約的例題:梵塔難題,不定積分的求解、

(注:不打算作為重點去看)

謂詞邏輯法(重點 但是不單獨考察)

基礎概念

  • 邏輯主要研究推理過程,而推理過程必須依靠命題來表達。
    命題是陳述客觀外界發生事情的陳述句。  命題是或為真或為假陳述句。學會如何判斷一個句子是否為命題
  • 命題抽象:取值為0或1的p等符號。
    若p取值1,則表示p為真命題;
    若p取值0,則表示p為假命題
  • 複雜命題:由連結詞命題連線而成的更加複雜命題
    複合命題的真假完全由構成它的簡單命題的真假所決定。

 命題連線詞(五種) 概念性問題,記住即可,沒必要浪費時間  

  1. 否定  ¬P
  2. 合取  p∧q
  3. 析取  p∨q
    “相容或”:可以同時發生  :可表示為p∨q
    “相異或”:不可以同時發生,當且選擇其一  : 可表示為 (p∧ ¬q) ∨ (¬p∧q)
  4. 蘊含  p → q     如果p, 則q
  5. 等價  p↔q    “p當且 僅當q

命題符號化(第一步 建議多加練習,)直接一步到位,直接看謂詞邏輯符號化

照例先給出一些概念:
謂詞邏輯法採用謂詞合式公式一階謂詞演算把要解決的問題變為一個有待證明的問題,然後採用消解原理消解反演來證明一個新語句是從已知的正確語句匯出的,從而證明新語句也是正確的.(注:看不懂沒關係,有些概念在後邊才會給出證明  )


謂詞:用於刻畫個體的性質、狀態和個體之間關係的語言成分。
舉例張三是研究生,李四是研究生
在這個問題中,研究生就是張三和李四共同的屬性。使用符號P(x)表示 x是研究生,則上述句子的符號化為 P(張三) ∨ P(李四)

謂詞邏輯的語法元素表示如下

  • 個體符號或常量:A、B、張三、李四等等,通常是物件的名稱
  • 變數符號:習慣上用小寫字母表示,如x、y、z等。
  • 函式符號:習慣上用小寫英文字母或小寫英文字母串表 示,如plus、f、g。
  • 謂詞符號:習慣上用大寫英文字母或(首字母)大寫英文字母串表示。
  • 連線詞:否定  合取 析取 蘊含 
    • (說明:暫時不知道函式符號 和 謂詞符號之間 怎樣區分)
  • 量詞
    全稱量詞:若一個原子公式 P(x),對於所有可能變數x都具有T 值,則用(∀x)P(x)表示
    舉例:所有學生都穿彩色制服   (∀x)[Student(x)=>Uniform (x, Color)]
    存在量詞:若一個原子公式P(x), 至少有一個變元x可使 P(x) 為T值, 則用(∃x)P(x)表示 
    舉例:1號房間內有個物體  (∃x)INROOM(x,r1)

謂詞邏輯法表示句子:

  1. 劉歡比他父親有名。
  2. 高揚是計算機系的學生,但他不喜歡程式設計。
  3. 人人愛勞動。

第一步:定義如下謂詞:

Famous(x,y):x比y有名。 Computer(x): x是計算機系的學生 Like(x,y): x喜歡y Love(x,y): x愛y Man(x): x

第二步:用謂詞公式表示

  1. Famous(劉歡,劉歡的父親)
  2. Computer(高楊) ∧ ~like(高楊,程式設計)
  3. (∀x)[Man(x)=>Love(x, labour)]

 合式公式:由原子謂詞公式經過有限次的連線運算和量詞拼接起來的公式

定義類似於初等函式 定義:由 基本初等函式經過有限次四則運算得到的函式

注: 合式公式的性質並不需要全部記,需要記得公式會在後邊給出

注意點:

  1. 量詞否定
    ~ (∃x)P(x)等價於(∀x)[~P(x)]     ~(∀x)P(x)等價於(∃x)[~P(x)]
  2. 量詞分配
    (∀x)[P(x)∧Q(x)]等價於(∀x)P(x)∧(∀x)Q(x)
  3. 量詞轄域
    量詞的轄域是鄰接量詞之後的最小子公式, 故除非轄域是個原子公式,否則應在該子公式的兩端有括號
    注:找轄域的方法:1.看有無括號 2.緊跟的原子公式

    舉例:(∀x)P(x)→Q(x)       ∀x的轄域是P(x)
              (∃x ) [P(x, y)→Q(x,y)] ∨ P(y, z)     ∃x的轄域是P(x,y)→Q(x,y)

利用謂詞公式進行知識表示的步驟如下:  (概念 配合例題進行理解)

  1. 定義謂詞及個體,確定其含義
  2. 根據要表達的事物或概念,為每個謂詞中的變元賦值;
  3. 根據表達的知識的含義,用適當的連線符號將各個謂詞連線起來,形成謂詞公式

例題:(在練習中去體驗每一步應該做什麼)

  1. 如果張三比李四大,那麼李四比張三小
    定義如下謂詞:Old(x,y) x比y大    Young(x,y)  x比y小
    用謂詞公式表示:Old(張三,李四)=>Young(李四, 張三)
  2. 若一個人是老實人,他就不會說謊
    Honest(x)  x是老實的    Man(x)x是人      Lie(x) x撒謊
    Honest(Man(x)) => ~Lie(x)
  3. 並不是所有的學生選修了歷史和生物
    Student(x) x是學生   learn(x,y) x選修了y
    ~(∀x)[Student(x) => ( learn(x,歷史) ∨learn(x,生物))
  4. 所有選修人工智慧課程的學生都喜歡玩遊戲。
    Student(x) x是學生    learn(x,y) x選修了y    Like(x,y) x喜歡y
    (∀x)[Student(x) ∧  learn(x,AI) => Like(x,games)
  5. 歷史考試中有學生不及格。
    Fail(x,y) x沒有通過y    Student(x)   x是學生
    (∃x)   Student(x) ∧  Fail(x,歷史考試)
  6. 星期六,所有的學生或者去了舞會,或者去工作, 但是沒有兩者都去的。
     Student(x)   x是學生     Party(x) x參加舞會   Work(x) x參加工作
      (∀x) Student(x) => ((Party(x) ∧ ~Work(x)) ∨ ((~Party(x) ∧ Work(x)))

置換:在該表示式中用置換項置換變數.
{ti/xi}  用 t1(常量、 變數、函式) 去置換表示式中的 xi(變數)

舉例:表示式:P[x,f(y),B]     置換:s2={A/y}  結果:P[x,f(y),B]s2=P[x,f(A),B]
                                                        s1={z/x,w/y}    結果:P[x,f(y),B]s1 = P[z,f(w),B]

合一:尋找項對變數的置換,以使兩表示式一致。(物件:兩個表示式   操作:做同一個置換 結果:若置換結果相同,則這個置換叫做一個合一)
舉例:表示式1{P[x,f(y),B],          置換:s={A/x,B/y}             結果:P[A,f(B),B]   則這個置換叫做這兩個表示式的一個合一
           表示式2P[x,f(B),B]}                                                                 P[A,f(B),B]    
最一般合一:通過置換最少的變數以使表示式一致

語義網路法

語義網路是知識的一種結構化圖解表示,它由節點和弧線組成。
      節點用於表示實體、概念和情況等,節點之間的
       弧線用於表示節點間的關係。
在注意一點:語義網路從本質上說只能表示兩元關係,題目中的多元關係需要拆分成兩元關係

直接看題(不用管那麼多)

要表達北京大學(BEIJING University,簡稱BU) 和清華大學(TSINGHUA University,簡稱TU)兩校籃球隊在北大進行的一場比賽的比分是85比89。

框架

框架是一種結構化表示法,通常採用語義網路中的節點-槽-值表示結構。(框架跟語義網路並沒有本質區分)

框架表示:

 <框架名>
              <槽名1>:<槽值1>
             .............
             <槽名n>:<槽值n>

劇本:框架的一種特殊形式。

第三章:搜尋技術

基於狀態空間法的搜尋技術

  1. 圖搜尋策略
  2. 盲目搜尋
  3. 啟發式搜尋

基於問題歸約的搜尋技術

  1. 與或樹搜尋
  2. 機器博弈

圖搜尋策略

不知道這塊該怎麼整理,感覺學的比較亂

這是一個通用的搜尋過程,後面討論的狀態空間各種搜尋策略都是其特例.各種搜尋策略的主要區別就是對OPEN表中節點排序準則不同

盲目搜尋

  1. 寬度優先搜搜
  2. 廣度優先搜尋
  3. 等代價搜尋

補充題: 列出圖中樹的節點訪問序列以滿足下面的兩個搜尋策略 ,並寫出其搜尋過程中的 open 和closed表(在所有情況中都選擇最左分枝優先訪問 , 設節點12為目標節點):
( 1)深度優先搜尋; ( 2)寬度優先搜尋。

   解答:
深度優先訪問序列:1,2,5,6,10,11,3,7,12,13,4,8,9
深度優先open表和closed表儲存內容
 

open表closed表
1 
2,3,41
5,6,3,41,2
6,3,41,2,5
10,11,3,41,2,,5,6
11,3,41,2,5,6,10
3,41,2,5,6,10,11
7,41,2,5,6,10,11,3
12,13,41,2,5,6,10,11,3,7
13,41,2,5,6,10,11,3,7,12

closed表中找到目標節點12,搜尋結束

寬度優先訪問序列:1,2,3,4,5,6,7,8,9,10,11,12
寬度優先open表和closed表儲存內容

open表closed表
1 
2,3,41
3,4,5,61,2
4,5,6,71,2,3
5,6,7,8,91,2,3,4
6,7,8,91,2,3,4,5
7,8,9,10,111,2,3,4,5,6
8,9,10,11,12,131,2,3,4,5,6,7
10,11,12,131,2,3,4,5,6,7,8,9
12,131,2,3,4,5,6,7,8,9,10,11
131,2,3,4,5,6,7,8,9,10,11,12

closed表中找到目標節點12,搜尋結束

啟發式搜尋

特點:重排OPEN表,選擇最有希望的節點加以擴充套件
種類:有序搜尋,A*演算法
定義估價函式:估算節點 希望程度的量度

有序搜尋:選擇OPEN表上具有最小f值的節點作為下一個要擴充套件的節點

A*演算法

估價函式:f(n)=g(n)+h(n)  (好傢伙,真的看不懂想說啥,還是看題吧)

做題中 需要明確g(n)和h(n)的如何計算,選擇其和最小的進行擴充套件

對於如圖所示的八數碼問題,給出滿足A *演算法的啟發函式,並給出相應的搜尋圖。

解答:
啟發函式的選取如下:g(n)表示節點n在搜尋樹中的深度,h(n)=ω(n)表示節點n中不在目標狀態中相應位置的數碼個數,
f(n)= ω(n)+g(n),可以得到如圖所示搜尋過程。

 

第四章:邏輯推理技術

消解原理

基本概念:

  1. 文字:一個原子公式和原子公式的否定都叫做文字  P(x), ¬P(x,f(x)),
  2. 子句:由文字的析取組成的公式    P(x)∨Q(x)  ....  ¬P(x,f(x))∨Q(x,g(x))
  3. 子句集:由子句構成的集合。  {P(x)∨Q(x) , ~P(x,f(x)∨Q(x,g(x)) }
  4. 合取正規化:C1 ∧C2 ∧C3… ∧Cn  由合取連線形成的公式   
  5. 消解 

子句集的求取,分為九步:

  1. 消去蘊涵符號    只應用∨和~符號,以~A∨B替換A→B
  2. 減少否定符號的轄域,每個否定符號~最多隻用到一個謂詞符號上,並反覆應用狄·摩根定律
    以~A∨~B代替~(A∧B)
    以~A∧~B代替~(A∨B)
    以(∃x){~A}代替~(∀x)A
    以(∀x){~A}代替~(∃x)A
    以A代替~(~A)
  3. 對變數標準化  兩個變數的轄域不重複,若重複,就換變數
  4. 消去存在量詞  分兩種情況
    如果要消去的存在量詞在某些全稱量詞的轄域內,用Skolem函式替換    

    (∀y)[(∃x)P(x,y)    所存在的x可能依賴於y值   所以令 x = g(y)    (∀y)P(g(y),y)
    消去的存在量詞不在任何一個全稱量詞的轄域內   用常量替換

  5. 化為前束形

  6. 把母式化為合取式, 謂詞公式和(或)謂詞的否定的析取的有限集組成的合取
    常用公式  A∨{B∧C} 化為 {A∨B}∧{A∨C}  A∨{B∨C} 化為 {A∨B∨C}

  7. 消去全稱量詞

  8. 消去連詞符號 ∧

  9. 更換變數名稱

舉例:  (∀x) (∃y) {P(x,y) ∨ [Q(x,y) → R(x,y)]}
第一步:消蘊含    (∀x) (∃y) {P(x,y) ∨ [  ~ Q(x,y)  ∨ R(x,y)] }
第二步:減少否定的轄域    (∀x) (∃y) {P(x,y) ∨ [  ~ Q(x,y)  ∨ R(x,y)] }
第三步:變數標準化   (∀x) (∃y) {P(x,y) ∨ [  ~ Q(x,y)  ∨ R(x,y)] }
第四步:消去存在量詞   全稱量詞x 的轄域  (∃y) {P(x,y) ∨ [  ~ Q(x,y)  ∨ R(x,y)] }   存在量詞y的轄域  {P(x,y) ∨ [  ~ Q(x,y)  ∨ R(x,y)] }
           所以採用 Skolem函式  令  y = g(x)   (∀x)  {P(x,g(x)) ∨ [  ~ Q(x,g(x))  ∨ R(x,g(x))] }
第五步 :化為前束形   (∀x)  {P(x,g(x)) ∨ [  ~ Q(x,g(x))  ∨ R(x,g(x))] }
第六步 :母式華為合取正規化  {P(x,g(x)) ∨  ~ Q(x,g(x))  ∨ R(x,g(x))}
第七步:消去全稱量詞   {P(x,g(x)) ∨  ~ Q(x,g(x))  ∨ R(x,g(x))}
第八部 :消去合取符號  {P(x,g(x)) ∨  ~ Q(x,g(x))  ∨ R(x,g(x))}
第九步:更換變數名稱 {P(x,g(x)) ∨  ~ Q(x,g(x))  ∨ R(x,g(x))}

注:說一下子句集化簡要求(掌握基本的化簡要求即可),練習題的謂詞公式給的比較複雜,可以作為檢驗內容,實際問題中不會那麼多符號的。

消解反演:設F1、 … 、Fn、G為公式,G為F1、 … 、Fn的邏輯推論,當且僅當公式((F1∧…∧Fn)→G)①是有效的.(如何 F 那麼G ,通過合式公式性質A→B  等價於~A∨B

可以得到)。~(F1∧…∧Fn ) ∨ G ②。然後取否定 (F1∧…∧Fn ) ∧ ~G  ③  證明③式矛盾(不成立),來說明 ②式成立,繼而①式成立

消解的定義:令L1,L2為兩任意原子公式: L1和L2具有相同的謂詞符號,但一般具有不同的變數,已知兩個子句 L1 ∨ α和~ L2 ∨ β,如果L1和L2具有最一般合 一σ,那麼通過消解可以從兩個父輩子句推匯出一個新子句(α∨β)σ 。 這個新子句叫做消解式。
(注:消解步驟 1.找相同的謂詞公式  存在公式及其否定 2.找兩者之間的最一般合 一σ   3.剩餘部分之間做析取,然後做置換σ   必須會)

重言式:公式及公式的否定兩者取析取

舉例 1.:(要求 :熟悉消解反演證明的步驟)
前提:(P →Q) ∧~Q    結論: ~P    
證明步驟:一 .對前提(條件)   和   結論的否定  化成子句集形式 
( ~P ∨ Q)∧ ~Q   ,然後 { ~P ∨ Q, ~Q }            在加上結論的否定  得到 { ~P ∨ Q, ~Q,P}  不妨設定編號為 1,2,3
                  二  使用消解原則進行歸結
                       1,2歸結得到 ~P  命名為4     3,4歸結得到 NIL    所以原命題成立

舉例2:練習題 
已知:F:(∀x)[(∃y) ( A(x,y) ∧ B(y)) → (∃y) ( C(y) ∧ D(x,y))]
           G:  ~(∃x) C(x) → (∀x)(∀y) (A(x,y) → ~ B(y))
求證:G是F的邏輯結論。
解:首先:將 F 和  ~G 化後子句集形式   (注:我覺得按照G的形式 先化簡,後帶入~ 能簡單點)
F:(∀x)[(∃y) ( A(x,y) ∧ B(y)) → (∃y) ( C(y) ∧ D(x,y))]
      (∀x)[ ~ [(∃y) ( A(x,y) ∧ B(y))] ∨ (∃y) ( C(y) ∧ D(x,y))]
      (∀x)[ (∀y) ( ~ A(x,y) ∨ ~B(y)) ∨ (∃y) ( C(y) ∧ D(x,y))]
      (∀x)[ (∀y) ( ~ A(x,y) ∨ ~B(y)) ∨ (∃w) ( C(w) ∧ D(x,w))]
全稱量詞 x 的轄域 [   (∀y) ( ~ A(x,y) ∨ ~B(y)) ∨ (∃w) ( C(w) ∧ D(x,w))]    全稱量詞 y:( ~ A(x,y) ∨ ~B(y))   存在量詞w:( C(w) ∧ D(x,w))
令 w = f(x)    (∀x)[ (∀y) ( ~ A(x,y) ∨ ~B(y)) ∨  ( C(f(x)) ∧ D(x,f(x)))]
     (∀x) (∀y)[ ( ~ A(x,y) ∨ ~B(y)) ∨  ( C(f(x)) ∧ D(x,f(x)))]
     ( ~ A(x,y) ∨ ~B(y)  ∨  C(f(x))   ) ∧  ( ~ A(x,y) ∨ ~B(y) ∧ D(x,f(x)))
     { ~ A(x,y) ∨ ~B(y)  ∨  C(f(x)),  ~ A(x,y) ∨ ~B(y) ∧ D(x,f(x))}      給定編號:1,2

G:~(∃x) C(x) → (∀x)(∀y) (A(x,y) → ~ B(y)) 
    ~[ ~(∃x) C(x) ] ∨ (∀x)(∀y) (A(x,y) → ~ B(y))    在來一次  ~[ ~(∃x) C(x) ] ∨ { ~ (∀x)(∀y) (A(x,y)  ∨ ~ B(y) }
    (∃x) C(x) ∨ { (∃x)(∃y)~ (A(x,y) ∨ ~ B(y) }
    (∃u) C(u) ∨ { (∃x)(∃y)~ (A(x,y) ∨ ~ B(y) }   
    令 u= z , x = a , y = b   C(a) ∨ { ~ (A(a,b) ∨ ~ B(b) }
     C(a) ∨ ~ (A(a,b) ∨ ~ B(b) 
所以 ~G: ~ [C(a) ∨ ~ (A(a,b) ∨ ~ B(b)  ]  = ~C(a) ∧  (A(a,b) ∧ B(b) 
~G:{ ~C(a) , A(a,b) , B(b) }   給定編號:3,4,5

然後 使用消解原則進行歸結   (注:歸結順序可以不一樣,)
~B(b)  ∨  C(f(x))      14歸結   a/x b/y    得到   6
~B(b)       3,6歸結   a/f(x)     得到  7
NIL           5,7歸結    得到8

所以G是F的邏輯結論

舉例3:(注:實際問題求解)
某公司招聘工作人員,A、B、C三人應試,經面試 後公司表示如下想法:
(1)三人中至少錄取一人。(2)如果錄取A而不錄取B,則一定錄取C。 (3)如果錄取B,則一定錄取C。
  求證:公司一定錄取C。

解:首先 向所給出的條件和知識用謂詞公式表示
定義:P(x) 表示 公司錄取 x 
(1)  P(A)∨ P(B) ∨P(C)  (2) [ P(A)∧ ~P(B) ]  → P(C)   (3) P(B)  → P(C)    結論:P(C)

將謂詞公式表示成子句集形式,並給出編號  (注:可以不用分開寫,寫出謂詞公式後面緊跟寫出子句集)
{P(A)∨ P(B) ∨P(C)} 1   { ~ P(A) ∨P(B) ∨ P(C)}   2     { ~P(B) ∨ P(C) }   3     {~P(C)}  4

歸結,得出結論
P(B) ∨ P(C)    1,2歸結   得到   5
P(C)                3,5歸結   得到   6
NIL                  4,6歸結   得到   7 
所以:公司一定錄取C

 

 

 

 

 

  

.  

 

 

 

相關文章