資源簡介 第 2 章 人工智能技術基本原理2.1 知識表示與專家系統教學設計教學背景信息科技是現代科學技術領域的重要部分,主要研究以數字形式表達的信息及其應用中的科學原理、思維方法、處理過程和工程實現。當代高速發展的信息科技對全球經濟、社會和文化發展起著越來越重要的作用。義務教育信息科技課程具有基礎性、實踐性和綜合性,為高中階段信息技術課程的學習奠定基礎。信息科技課程旨在培養科學精神和科技倫理,提升自主可控意識,培育社會主義核心價值觀,樹立總體國家安全觀,提升數字素養與技能。教材分析本節課的教學內容選自人教/地圖出版社選擇性必修4 人工智能初步 第 2 章 人工智能技術基本原理 2.1 知識表示與專家系統。智能手機已成為人們生活的一部分,它到底隱藏著多少人工智能的神奇“魔術”?智能助理和智能聊天等手機應用,正顛覆著我們與手機的交互方式;新聞資訊、在線購物等熱門應用總在推送著適合我們的內容;圖像識別智能應用能夠識別圖像或現實中的人、風景、地點,可幫助我們快速組織和檢索圖像 ; 圖像處理軟件能對圖像進行美化,打造個性化圖像;當人們開車出行時,可以使用導航軟件規劃最佳路線......手機中的智能應用涉及許多人工智能技術,各類應用的智能表現離不開“機器學習”。機器學習與人類學習不同,它需要收集大量數據或積累大量經驗。本章的核心是機器學習,涉及回歸、分類和聚類等算法,以及神經網絡、深度學習和強化學習等概念和理論。在本章的學習中,我們將以“智能技術初體驗”為主題,開展項目活動,探索手機應用中的人工智能技術,領略技術背后人工智能算法的魅力,進而學習人工智能技術的基本原理。教學目標1.了解知識表示的方法以及知識表示對人工智能的重要性。2.了解常用的搜索算法,理解啟發式搜索算法的過程,通過案例剖析掌握 A* 算法的使用方法。3.了解不確定性推理的概念,理解貝葉斯定理,掌握使用貝葉斯定理進行推理的方法。4.了解專家系統及構建專家系統的步驟。教學重點與難點教學重點:了解知識表示的方法以及知識表示對人工智能的重要性。教學難點:了解不確定性推理的概念,理解貝葉斯定理,掌握使用貝葉斯定理進行推理的方法。教學方法與教學手段案例分析法、講授法、任務驅動法。教學過程問題導入體驗探索認識人工智能的應用——搜索和推理阿爾法圍棋戰勝人類圍棋高手后,人工智能又一次進入大眾的視野。其實,在阿爾法圍棋出現之前,我們可能就在手機上玩過人機博弈的游戲,如中國象棋、五子棋等。人類是憑借棋路和經驗完成落子的。人工智能決策落子的思路與人類不同,是從所有可能的狀態中搜索并推理出贏棋概率最高的下一步,然后落子,如圖 2.1.1 (參見教材P25)所示。對人工智能而言,搜索是它進行推理的基礎。通過搜索與推理,智能程序能夠從大量的數據中快速找到人們想要的結果,諸多智能程序通過搜索與推理提供決策性的服務。思考:1. 購物類手機應用程序是如何為使用者推薦他可能想要的商品的?新聞類手機應用程序又是如何為他推送自己可能感興趣的新聞的?2. 自己曾經用過哪些智能類應用程序輔助學習?在使用這些程序一段時間之后,這些應用程序是否會為自己推薦其他學習內容?知識表示人工智能在發展初期主要研究問題求解,主要的方法為搜索和推理。搜索一般指從給定的數據中尋找指定數據,問題求解中的搜索則指從眾多中間狀態中尋找到包含問題的解或最接近解的狀態。推理則是根據多種已知的狀態推測下一步的可能性。因此,當借助人工智能程序來完成搜索或者推理時,最重要的是讓機器讀懂狀態,并根據當前狀態作出下一步搜索動作的決策。要做到這一點,需要記錄人的思考與判斷過程,并用符號表示成機器能夠讀懂的“規則”。人工智能領域把這種轉化過程稱為“知識表示”,如圖 2.1.2 (參見教材P26)所示。知識表示是人工智能領域最基礎的一個概念,在人工智能中,知識通常屬于特定領域。為了能讓智能系統理解、處理特定領域的知識,并完成基于知識的任務,需要首先對知識構建模型,這就是知識的表示。基于知識的不同任務、不同類型,知識表示方法也不同。常用的知識表示方法包括狀態空間法、謂詞邏輯與規則、語義網絡和本體技術等。早期人工智能在問題求解時常常采用窮舉法或簡單試探式的搜索方法,即根據某個規則遍歷所有可能的狀態,并從中尋找一個狀態,這種求解方法稱為狀態空間法。實踐活動使用“狀態空間法”表示八數碼問題在一個大小為 3×3 的九宮格中擺放 8 個棋子,并在棋子上分別標上 1 ~ 8這 8 個數字。九宮格中有一個格子是空的,空格周圍的棋子可以移動到空格中。八數碼問題就是給定一個初始狀態和一個目標狀態,求解如何移動棋子(即找到合適的移動序列),使各棋子的擺放從初始狀態變為目標狀態。假設棋子的初始狀態和目標狀態分別如圖 2.1.3(參見教材P27) 和圖 2.1.4 (參見教材P27)所示。如何找到一個合適的移動序列,將初始狀態變為目標狀態呢?這個序列可能是:“右移棋子 2,上移棋子 1......”解決這個問題的一般方法就是嘗試各種可能的移動方法,直到某一步偶然得到目標狀態。即從初始狀態開始,按照可能的移動方式得到下一狀態,然后再次通過嘗試得到下一狀態,這樣依次向下進行,直到目標狀態出現。從初始狀態通過移動棋子可能出現的所有狀態組成一個空間,將這個空間轉化為一個由各種狀態對應的節點組成的圖,該圖就稱為狀態空間圖。圖 2.1.5 (參見教材P27)所示的是八數碼問題的狀態空間圖,圖中的每個節點表示一個狀態。通常使用有向圖來表示狀態空間(也可能是一個樹結構)。有向圖中的各個節點表示求解問題中可能出現的各個狀態。各個狀態之間存在關系,也就是狀態空間中的算符可以用有向圖的有向邊來表示。一個當前狀態只可能存在有限個可以通過問題中運算符操作達到的狀態,轉化為圖的概念就是一個節點一般只有有限個后繼節點。兩人一組,每人寫出一個八數碼問題的初始狀態和目標狀態交給自己的同伴,讓同伴畫出深度界限為 4 的狀態空間圖。小組討論如何能夠快速找到一個到達目標狀態的路徑。啟發式搜索傳統人工智能問題的求解算法基本都包含兩個方面的內容,即問題表示和答案搜索。一個待求解的問題經過知識表示后,就轉變為機器能夠理解的知識,下一步就可以對這個問題進行求解了。求解過程的實質就是在不同問題狀態中搜索求解狀態的過程,這個過程需要選用適當的搜索算法。常用的搜索算法包括盲目搜索算法和啟發式搜索算法。盲目搜索又叫非啟發式搜索,是一種無信息搜索算法,一般只適用于求解比較簡單的問題。盲目搜索通常是按預定的搜索策略進行搜索,不會考慮問題本身的特性。常用的盲目搜索算法有寬度優先搜索算法和深度優先搜索算法。啟發式搜索又稱為有信息搜索,使用這種算法進行搜索時一般需要求解問題所屬領域的特殊信息,這些信息稱為啟發信息。利用啟發信息來引導搜索,可以縮小搜索范圍、降低問題的復雜度,故能高效地對狀態空間進行搜索,從而快速得到問題的解。利用啟發信息搜索狀態空間的算法就是啟發式搜索算法。閱讀拓展圖搜索算法與啟發式搜索算法的關系用狀態空間法表示知識時,常用圖結構來描述問題的所有可能的狀態,其問題求解的過程就成為在狀態空間圖中尋找一條從初始節點到目標節點的路徑。圖搜索算法簡單來說就是在圖中尋找某個節點(代表初始狀態的節點)到某個節點(代表目標狀態的節點)之間的可達路徑。圖搜索算法的一般過程如下。1. 建立搜索圖G,初始時只含有起始節點 S,搜索圖 G 中每個子節點有一個指向其父節點的指針(指針即某個變量的地址,利用指針指向的地址可以讀取存儲器中這個位置存儲的值)。建立一個 OPEN 表用于存放未擴展的節點,建立一個 CLOSED 表用于存放已擴展的節點,初始時 CLOSED 表為空。2. 將起始節點S 接入到OPEN表中,如果此節點是目標節點,則得到解。3. 如果OPEN 表為空,則輸出無解,并退出(失敗);否則繼續執行第4步。4. 選擇 OPEN 表中的第一個節點(記為節點 n),把它從 OPEN 表中移出,同時存入 CLOSED 表中。5. 如果 n 是目標節點,則輸出解,并退出(成功)。此時的解是搜索圖G 中沿著節點 n 指向父節點的指針方向,從 n 回溯到 S 得到的一條路徑。6. 擴展節點 n 的所有節點,同時生成 n 的后繼節點的集合 M(M 中不包含 n 的前驅節點),將集合 M 中的節點作為 n 的后繼節點添加到搜索圖 G 中。7. 對于那些在搜索圖 G 中沒有出現過,但是屬于集合 M 的節點,設置一個通向 n 的指針,把集合 M 中的節點(以下簡稱 M 節點)放入 OPEN 表中;對于已經在 OPEN 表或者 CLOSED 表中的 M 節點,確定是否需要更改該節點到 n 的指針;對于已經在 CLOSED 表中的每個 M 節點,確認是否需要更改搜索圖 G 中通向它的每個后繼節點的指針。8. 按某個算法規則對 OPEN 表進行重排,轉向第 3 步。圖搜索算法的第 8 步(對 OPEN 表進行重排),目的是在下一次搜索時,能夠選出一個最大可能為解的最優節點,為第 4 步節點擴展所使用。如果此時的排序是任意的或者沒有進行過排序,那么這個算法就屬于盲目搜索算法。此時也可以依據一個啟發函數來排序,即使用啟發式搜索算法,改善盲目搜索算法效率低的問題(搜索過程耗費較多的時間與空間)。如果能夠找到一種對 OPEN 表進行重排的方法,那么就能夠盡量保障每次擴展的節點是相對最優的。啟發式搜索算法中有一個函數,稱為估價函數,將這個函數作為標準對 OPEN 表進行重排。重新排列 OPEN 表的過程,需要估算每一個節點的可能性,衡量可能性的標準就是估價函數。通常使用符號 f 表示這個估價函數,節點 n 的估價函數值就記作 f (n)。f 就是起始節點通過節點 n 到達目標節點的最小代價路徑上的一個估算代價。重排后,可以認為搜索是沿著某個最有希望的方向進行節點擴展的。A*算法是一種特殊的啟發式搜索算法。將節點S到節點n的最小代價路徑的代價定義為g(n),從節點n到某個目標節點的追加代價路徑的代價定義為h(n)。定義f (n) = g (n) + h(n),f (n) 是節點 S 到節點 n 之間的一條最佳路徑的實際代價加上節點 n 到某目標節點的一條最佳路徑代價之和,所以 f (n) 是從節點 S 開始通過節點 n 的一條最佳路徑的代價。采用估值函數f(n)=g(n)+h(n)的啟發式搜索算法稱為A*算法,A*算法的一般過程如下。1. 將起始節點 S 放到 OPEN 表中,記 f = h,令 CLOSED 表為空。2. 重復下列步驟,直到找到目標節點。若 OPEN 表為空,輸出無解,退出。3. 從 OPEN 表中選取一個未設置過的且 f 值最小的節點 i 作為最佳節點,加入 CLOSED表中。4. 若 i 為目標節點,則成功得解;若 i 不是目標節點,則擴展 i,得到 i 的后繼節點。5. 對于每一個 i 的后繼節點 j,計算 g ( j ) = g ( i ) + g ( i, j ),若 j 既不在 OPEN 表中也不在 CLOSED 表中,則加入到 OPEN 表中;如果 j 在 OPEN 表中,則用剛剛計算的 g 值與之前該節點的 g 值比較,如果新的 g 值較小,則用新值代替舊值,指針從 j 指向 i ;如果 j 在CLOSED 表中,則將 j 移回 OPEN 表。6. 計算 f 值,并回到第 2 步。貝葉斯推理搜索算法進行搜索的過程屬于確定性過程,它建立在經典邏輯的基礎上,運用確定性的知識進行精確搜索或推理。而現實中的情境往往比較復雜,比如,人們普遍認為夜里下雨,第二天早晨草地一定會是濕的,而實際到了早上草地可能就干了,也許因為風的因素,草上的雨水很快就被吹干了。對于這樣的不確定性問題,很難使用經典的精確推理方法來反映此類情境。解決這類問題往往需要根據人類已有的經驗來計算某種狀態出現的概率,這種推理方式叫做貝葉斯推理。貝葉斯推理根據貝葉斯定理進行概率計算及推理,屬于不確定性推理方法。貝葉斯定理表述如下:符號P (A|B )表示事件B 發生的條件下事件A 發生的概率,P (A|B )等于事件A 發生的條件下事件B 發生的概率乘以事件A 發生的概率,再除以事件B 發生的概率。思考活動利用貝葉斯定理推斷是否下雨周日一早天空多云,小王與同學小李相約去戶外露營。小王對小李說:“60%下雨天的早上是多云的,我們真的要決定外出露營嗎?”小李不甘心就此取消露營活動,作出如下分析:1. 多云不見得會下雨,咱們城市約有 30% 的早上是多云的;2. 咱們城市平均一個月才下 3 天雨,所以今天下雨的概率只有 10%。小王現在不知道該不該出行,于是詢問自己的人工智能助手。人工智能助手根據小王提供的信息,利用貝葉斯定理開始推測:某天早上有云,當天會下雨的概率即P( 雨 | 云 ),由公式可知P( 雨 | 云 )=P( 雨 )P( 云 | 雨 )/P( 云 ) ;P( 雨 ) 就是某天下雨的概率,也就是小王與小李所在城市下雨的概率,為 10% ;P( 云 | 雨 ) 是在下雨天,且早上有云的概率,P( 云 | 雨 ) = 60% ;P( 云 ) 是早上多云的概率,為 30%。小王的人工智能助手很快就得出了結論。思考:1. 你覺得小王的人工智能助手推算的P( 雨 | 云 ) 是多少呢?據此幫助小王決定是否去露營。2. 根據該場景,解釋求解P(A |B ) 時,為什么要使用P(B |A ) ?日常生活中也常使用貝葉斯定理進行決策。比如在河邊釣魚時看不清楚河里有沒有魚,似乎只能盲目選擇,但實際上可以根據貝葉斯定理,利用以往積累的經驗找一處回水灣區開始垂釣。這就是根據先驗知識進行主觀判斷,在一處釣過魚之后,對這個地方有了更多了解,然后再進行選擇。所以,在對事物認識不全面的情況下,貝葉斯定理不失為一種理性且科學的推理方法。閱讀拓展搜尋失蹤的“天蝎號”1968年5月,美國海軍“天蝎號”核潛艇在亞速海海域失蹤。軍方通過各種技術手段調查無果,最后不得不求助數學家約翰·克雷文(John Craven)。約翰·克雷文提出的方案使用了貝葉斯定理。他召集了數學、潛艇和海事搜救等各個領域的專家,通過貝葉斯定理一一排除小概率發生意外事故的搜索區域,具體計算情況如圖 2.1.7 (參見教材P33)所示,圖中不同的顏色代表某一時刻不同區域能搜救到潛艇的不同概率。貝葉斯定理已應用于諸多領域,從物理學到癌癥研究,從生態學到心理學,從博弈論到教育學等。特別是在人工智能領域,很多模仿人腦思考和決策的過程,被設計成一個個貝葉斯推理的程序,讓我們能夠輕松感受到貝葉斯定理的魅力。專家系統專家系統是一個智能計算機程序系統,其內部包含有某個領域專家水平的大量知識和經驗,能夠利用人類專家的知識和解決問題的方法來處理該領域的問題。專家系統模擬人類專家的決策過程,以解決那些需要人類專家處理的復雜問題。在與用戶進行交互時,專家系統進行決策的過程為:如果情況是 A,那么請☆☆☆,否則請△△△。其中專家系統作出決策時,依據某個領域的專業知識和經驗,根據該領域專家水平的知識和經驗來構建規則。專家系統根據規則來判斷用戶的需求屬于哪一種情況,并按照規則進行判斷和預測,場景如圖 2.1.8 (參見教材P33)所示。專家系統的組成專家系統一般包括知識獲取、知識庫、綜合數據庫、推理機、解釋器和人機交互界面(接口),如圖 2.1.9 (參見教材P33)所示。知識獲取是知識工程師把獲取的專業知識進行加工整理并加入到知識庫中的過程。知識庫用于存儲某領域專家系統的專業知識,包括事實、可行性操作與規則等。為了建立知識庫,要解決知識獲取和知識表示等問題。綜合數據庫也叫全局數據庫,用于存儲某領域或問題的初始數據和推理過程中得到的中間數據。推理機用于存儲推理所采用的規則和控制策略的程序,使整個專家系統能夠以合乎邏輯的方式協調地工作。推理機能夠根據知識進行推理,得出結論,而不是簡單地搜索現成答案。解釋器能夠向用戶解釋專家系統的行為,包括解釋推理結論的正確性以及系統輸出其他候選解的原因。人機交互界面是系統與用戶、知識工程師的交互接口。通過該界面,用戶可以輸入基本信息,回答系統提出的相關問題,系統則輸出推理結果及相關解釋。構建專家系統的一般流程構建專家系統的一般流程如圖 2.1.10 (參見教材P34)所示。設計初始知識庫。問題知識化,辨別所研究問題的實質,梳理清楚要解決的任務是什么,是否還可以拆分成子任務或者子問題,包含哪些典型數據;知識概念化,概括知識表示所需要的關鍵概念和關系,比如數據類型、控制策略等;概念形式化,確定用來組織知識的數據結構形式,應用人工智能知識表示方法來表達關鍵概念、子問題及信息流特性;形式規則化,即編制規則,把形式化的知識轉化為用編程語言表示的計算機可執行程序;規則合法化,檢驗知識的合理性、規則的有效性。原型機的開發與試驗。建立整個系統所需要的實驗子集,包括整個模型的典型知識,而且只涉及與試驗相關的足夠簡單的任務和推理過程。知識庫的改進與歸納。反復對知識庫和規則進行試驗,歸納出更完善的結果。閱讀拓展中醫診斷專家系統1979 年,我國第一個中醫診斷專家系統——診療肝病計算機程序問世。到了 20 世紀 80 年代,國內相繼出現了中醫腎系統疾病計算機診療、教學、護理和咨詢系統,婦科專家診療系統,醫學智能通用編輯系統和乙型肝炎專家診療系統等。目前,中醫專家系統的代表是數字名醫服務系統和中醫全科專家系統。某中醫診斷專家系統根據癥狀自動生成的診斷數據如表 2.1.1 (參見教材P35)所示,該系統的工作流程如圖 2.1.11 (參見教材P35)所示。醫師通過對患者體征的觀察,結合病人癥狀,將獲取的相關數據輸入專家系統,專家系統根據系統數據庫中存儲的中醫診斷知識,反饋幾種可能的證名,再由醫師根據專家系統提供的結果完成診斷。項目實施分析手機中的智能應用,體會搜索與推理的魅力一、項目活動大家平時可使用智能手機應用程序輔助學習,比如記憶單詞應用程序等。根據自己的學習生活,結合本節學習的關于搜索與推理的知識,從手機應用程序類型、所使用人工智能的技術原理、對應實現原理的算法等方面展開小組討論,設計一個適合自己的、利用人工智能搜索與推理算法的智能學習類手機應用程序的方案,并用思維導圖呈現。二、項目檢查1. 各小組繪制手機應用程序設計方案的思維導圖,并在班級內進行交流、分享。2. 根據思維導圖,討論是否存在只使用搜索與推理算法的人工智能,思考如何能夠讓設計的智能手機應用程序效率更高。課后作業1. 什么是不確定性推理?為什么需要不確定性推理?上網搜索最近一年足球賽事的對戰數據,收集某兩支球隊的歷史勝率,并計算其中一支球隊獲勝的概率。利用這些概率,根據貝葉斯定理建立一個預測球隊勝負的專家系統核心功能的思維導圖。2. 智能手機里的應用程序會根據人們的瀏覽偏好進行內容推送,思考智能應用程序是如何推測出人們的喜好,并在大量的知識數據中找到人們感興趣的內容的。板書設計第 2 章 人工智能技術基本原理 2.1 知識表示與專家系統1.知識表示2.啟發式搜索3.貝葉斯推理4.專家系統普通高中教科書信息技術 選擇性必修 4 人工智能初步編著人民教育出版襯課程教材研究所信息技術課程教材研究開發中心中國地圖出版社教材出版分社總 主 編 :祝智庭 樊 磊副總主編 :高淑印 郭 芳 李 鋒本冊主編:方海光 馬 濤編寫人員:袁中果 高永梅 王 嵐 譚向華 吳勁松 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫