作為世界三大尖端技術之一,人工智能(ArtificialIntelligent)自1956年誕生之日起,就成為科學發展史上一顆令人矚目的新星,吸引著無數科學工作者從事相關的研究與創造。
人工智能是一門新理論、新技術、新方法和新思想不斷涌現的前沿交叉學科,與計算機科學、控制論、信息論、神經生理學、哲學、語言學等密切相關,研究領域除了經典的知識表示、啟發式搜索理論、推理技術、人工智能系統和語言之外,還涉及專家系統、自然語言理解、機器學習、博弈、機器人學、模式識別、智能檢索、自動程序設計、數據挖掘、計算機視覺、分布式人工智能、人工神經網絡、智能控制、智能決策支持系統、智能電網等領域,相關研究成果也已廣泛應用到生產、生活的各個方面。
我們所處的時代是知識爆炸的時代,各種海量信息充斥著世界各個角落,而僅僅依靠人類自身,很難實現對這些信息的有效處理。人工智能作為一門研究和制造智能機器或智能系統的學科,目標在于模擬和延展人類的智能,這與當今時代發展的需求是不謀而合的。因此,培養更多高水平的人工智能技術人才迫在眉睫。
本書是一本綜合、全面、實用的教材,反映了作者多年來的教學思路和經驗,具有內容全面、重點突出、層次分明、特色鮮明等特點,具體體現在以下各方面。
(1)內容全面。本書詳細介紹了人工智能研究中的經典理論和方法,而且對專家系統、機器學習、模式識別、分布式人工智能等也有較為全面的概括和說明,有利于幫助相關讀者充分掌握人工智能的基本理論,并為其后續深入研究奠定扎實基礎。
(2)重點突出。本書定位為人工智能的入門級教材,因此重點放在啟發式搜索、推理、知識表示、人工智能系統和語言等經典理論、方法和技術,并對如模式識別、多智能體、機器學習等發展相對成熟的人工智能熱點和重點研究領域有較為全面的介紹和說明,有助于讀者循序漸進地了解這門學科。
(3)層次分明。本書在章節安排上結合了智能系統構建的過程,首先介紹知識表示技術和方法,然后引入各種搜索技術、推理技術和其他研究熱點,*后通過實例對人工智能的應用詳細說明,層次分明,有利于幫助讀者理解這一學科的發展研究初衷。
(4)特色鮮明。電力行業是關系國計民生的基礎性行業,隨著電力市場化以及電網建設的進一步發展,人工智能相關技術對電力信息化、智能化發展的重要促進作用也逐步凸現,編者結合自身的研究工作,對近年人工智能在電力系統中的應用進行了介紹,特色鮮明,尤其適合具有“大電力”研究背景的讀者。
讀完本書并且親自動手實踐了書中的人工智能程序之后,讀者將能夠做到以下幾點。
(1)熟悉人工智能的發展概況、研究內容和應用領域等,對人工智能這個學科有較為全面和深入地理解。
(2)扎實地掌握人工智能的基礎理論、基本原理和經典算法等,具備運用基本人工智能方法解決實際問題的能力。
(3)熟悉人工智能的研究熱點和*新成果,了解應用人工智能技術解決實際問題的基本思路,掌握一定的人工智能新技術和新方法,能很快地開展相關領域的深入研究。
本書共11章,在內容安排上可以劃分為三大部分。*部分詳細介紹了人工智能的核心研究課題,第二部分闡述了一些人工智能的基本技術和方法,第三部分介紹了人工智能在實際生產生活中,尤其是在電力行業中的應用,內容編排體現了人工智能這一學科的發展脈絡。第1章為緒論,介紹了人工智能的基本概念、發展歷史、研究目標、研究途徑以及研究領域等。第2章為知識表示,討論了人工智能的典型知識表示技術,以及基于這些知識表示技術的推理方法等。第3章為搜索策略,主要討論狀態空間圖的盲目搜索、啟發式搜索、與/或圖搜索和博弈樹搜索等。第4章為邏輯推理,對命題邏輯、謂詞邏輯、非單調邏輯、多值邏輯和模糊邏輯及其推理技術作了介紹,重點給出了歸結原理的基本原理和應用方法。第5章為不確定性推理,討論了確定性理論、主觀Bayes方法、證據理論、貝葉斯網絡、模糊推理等不確定性推理技術。第6章為專家系統,給出了專家系統構建的基本原理、方法和實例。第7章為機器學習,討論了有關機器學習的基本概念,以及一些重要的機器學習方法,主要包括決策樹學習、變型空間學習、基于解釋的學習、人工神經網絡和進化計算等。第8章為模式識別,主要介紹統計模式識別方法,并對其他模式識別技術如結構模式識別方法、模糊模式識別方法、神經網絡識別方法加以概述。第9章為Agent和多Agent系統,從分布式人工智能的概念出發,介紹Agent基本理論、多Agent系統的體系結構、通信機制以及協調協作機制,為分布式系統的分析、設計、實現和應用提供解決方法。第10章為人工智能程序設計語言,對人工智能程序設計語言的研究發展進行了概述,并詳細討論了LISP和PROLOG兩種程序設計語言。第11章為人工智能在電力系統中的應用,給出了人工智能在電力系統故障診斷、電力巡檢和電力大數據分析中的應用實例。
本書參編人員包括魯斌、劉麗、李繼榮和姜麗梅。在本書編寫過程中參閱了國內外大量的文獻資料,在此謹向這些文獻的作者表示由衷的敬意和感謝。
由于編者水平有限,尤其是人工智能這門學科發展很快,不斷有新的技術和方法涌現,書中難免有不足之處,懇請廣大讀者批評指正。
本書可用作高等學校計算機類和電氣信息類相關專業高年級本科生和研究生的教材或教學參考書,也可供其他教學、研究、設計和技術開發人員參考。
編者
2017年3月
第5章不確定性推理
在科學研究和日常生活中,人們曾經一度追求用某一確定的數學模型來解決問題或表征現象,但逐漸發現大多數情況下并不具有這種確定性和清晰性。事實上人腦中的大多數概念和經驗都沒有明確的邊界,不確定性是客觀存在的,它在專家系統、乃至人工智能的很多研究中都是不可避免的。
5.1概述
從上一章的學習中已經知道,推理就是從已知事實出發,運用相關知識推出結論或者證明某一假設成立或不成立的思維過程。其中,已知事實也稱為證據,用于指出推理的出發點;知識則是推理得以進行并*終達到目標的依據。
確定性推理中,已知事實和規則都是確定性的,推出的結論或證明了的假設也都是確定性的,它們的真值或者為真,或者為假,是非真即假的剛性存在,如上一章討論的歸結原理就是建立在經典邏輯基礎上的確定性推理。
本章將要討論的不確定性推理則不然,對于已知事實和規則、推出的結論等,它們的真值都是柔性的,可能為真、可能為假,這與現實世界中事物及事物之間關系的復雜性是對應的。不確定性推理也是眾多推理技術中非常重要的一種。
5.1.1不確定性推理概述
人工智能的本質是要構建一個智能機器或智能系統,來模擬、延展人的智能,而這個智能系統的核心就是知識庫。在這個知識庫中,包含了大量具有模糊性、隨機性、不可靠性或不知道等不確定性因素的知識,采用標準邏輯意義下的推理方法很難達到模擬延展人類智能的目的,因此,不確定性推理方法應運而生。
不確定性推理一直是人工智能與專家系統的一個重要的研究課題,相關學者也提出了多種表示和處理不確定性的方法。例如,考慮到隨機性是不確定性的一個重要表現形式,而概率論作為研究隨機性的一門學科已經有很深厚的理論發展,因此概率論是解決不確定性推理問題的主要理論基礎之一;貝葉斯網絡由于其廣泛的適應性和堅實的數學理論基礎,成為表示不確定性專家知識和推理的流行方法;同屬概率推理的主觀貝葉斯方法被成功應用于著名專家系統PROSPECTOR;結合專家系統MYCIN的開發提出的確定性理論在20世紀70年代非常有名;作為經典概率論的一種擴充形式,證據理論不僅在人工智能、專家系統的不確定性推理中得到廣泛應用,還被用于模式識別領域;扎德提出的模糊邏輯理論也被應用在不確定性推理、智能控制等方面。
不確定性推理是建立在非經典邏輯基礎上的一種推理,它是對不確定性知識的運用與處理。嚴格地說,不確定性推理就是從不確定的初始證據出發,通過運用不確定的知識,*終推出既保持了一定程度的不確定性,又合理或基本合理的結論的推理過程。
在第4章中介紹的確定性推理是一種單調性推理。單調推理系統是指,在基于謂詞邏輯的系統中,隨著新命題的加入(包括經過系統推出的),系統中的真命題數是嚴格增加的,而且新加入的命題與系統已有的命題是相容的,不會因為新命題的加入而使舊命題變得無效。
在進行不確定性推理時,推出的結論并不總是隨著知識的增加而單調增加的,其研究還涉及非單調性推理。非單調性推理系統是指,在非單調系統中,一個新命題的加入,可能會導致一些老命題為假。非單調推理系統模型適合以下3種情況。
(1)知識不完全情況下要求進行默認推理的系統。
在知識不完全的情況下進行推理或判斷,通常可以借助一些經驗或知識。例如,假設約翰要去朋友杰克家吃飯,在經過路邊的花店時,對于“杰克的太太珍妮喜歡花嗎?”這個問題,約翰可能沒有任何頭緒,但考慮到一般的知識“大多數女人都喜歡花”,約翰就買了一束鮮花,打算送給珍妮。如果珍妮喜歡花,她會非常高興。然而,如果珍妮看到花,突然打起噴嚏來,說明約翰以前的假設“珍妮喜歡花”是錯誤的,應該撤銷掉,因為珍妮的行為說明她對花粉過敏。
(2)一個不斷變化的世界必須用適應不斷變化的知識庫來描述。
在非單調系統中,應該對知識庫的一致性進行維護。一旦新的命題加入引起了知識庫的不相容,就應該取消某個或某些命題以及這些命題的一些推論命題,保證知識庫的一致性。
(3)產生一個問題的完全解可能需要利用暫時假設的部分解的系統。
例如,教學秘書要找一個適當的時間使3個工作繁忙的教授能同時參加一個會議。一個方法是首先假設會議在某個具體的時間舉行,如周二上午,并將此假設命題放入數據庫中,再從3個教授的時間安排表中檢查不相容性。如果出現沖突,說明假設的命題必須取消,代之以一個希望不矛盾的命題,再進行不相容性檢查。如此進行下去,直到一個假設加入數據庫后庫中的命題是相容的,則這個假設就是問題的解。如果再也沒有假設可以提出了,此時問題無解。當然,上述過程中一個假設命題被取消后,依賴于此命題而建立起來的所有命題都應被取消。
5.1.2不確定性的表現
在不確定性推理中,已知事實(或證據)、規則及推理過程在某種程度上都是不確定的,它們的不確定性主要表現在以下方面。
1.事實的不確定性
事實的不確定性主要表現在事實的歧義性、不完全性、不精確性、模糊性、可信性、隨機性和不一致性上。
(1)歧義性是指證據中含有多種意義明顯不同的解釋,如果離開具體的上下文和環境,往往難以判斷其明確含義。
(2)不完全性是指對于某個事物來說,對于它的知識還不全面、不完整、不充分。
(3)不精確性是指證據的觀測值與真實值存在一定的差別。
(4)模糊性是指命題中的詞語從概念上講不明確,無明確的內涵和外延。
(5)可信性是指專家主觀上對證據的可靠性不能完全確定。
(6)隨機性是指事實的真假性不能完全肯定,而只能對其真偽給出一個估計。
(7)不一致性是指在推理過程中發生了前后不相容的結論,或者隨著時間的推移或范圍的擴大,原來成立的命題變得不成立了。
2.規則的不確定性
規則的不確定性主要表現在規則的前件、規則自身以及規則的后件幾個方面。
(1)規則前件的不確定性主要是指規則的前件一般是若干證據的組合,證據本身是不確定的,因此組合起來的證據到底有多大程度符合前提條件,其中包含著不確定性。
(2)規則自身的不確定性是指領域專家對規則也持有某種信任程度,專家有時也沒有十足把握在某種前提下必能得到結果為真的結論,只能給出一個可能性的度量。
(3)規則后件的不確定性是指基于不確定的前提條件,運用不確定的規則,得到的后件不可避免地含有不確定性因素。
事實上,從系統的高層看,知識庫中的規則還可能有沖突,規則的后件也可能不相容,知識工程的目的就是要盡可能地減少或消解這些不確定性。
3.推理的不確定性
推理的不確定性主要是由知識不確定性的動態積累和傳播造成的。為此,整個推理過程要通過某種不確定度量,尋找盡可能符合客觀世界的計算,*終得到結論的不確定性度量。
5.1.3不確定性推理要解決的基本問題
在不確定性推理中,除了要解決在確定性推理過程中所提到的推理方向、推理方法、控制策略等基本問題外,一般還需要解決不確定性的表示方式與取值范圍、不確定性的匹配算法及閾值的設計、組合證據不確定性的算法、不確定性的傳播算法以及結論不確定性的合成算法等問題。對這些問題進行總結歸類,大致可以分為3個方面,即不確定性的表示問題、不確定性的計算問題和不確定性的語義問題。
1.表示問題
表示問題是指用什么方法描述不確定性,這是解決不確定推理問題關鍵的一步。表示的對象一般分為兩類,即知識和證據,它們都要求有相應的表示方式和取值范圍。在設計不確定性的表示方法時,一般要考慮兩方面的因素:一是要能根據領域問題的特征把不確定性比較準確地描述出來,以滿足問題求解的需要;二是要便于在推理過程中對不確定性的計算。事實上,由于要解決的問題不同、采用的理論基礎不同,各種不確定性推理技術在表示問題的解決上也各有側重。
目前,在專家系統中知識的不確定性一般是由領域專家給出的,通常是一個數值,它表示相應知識的不確定性程度,也稱為知識的靜態強度。靜態強度可以是相應知識在應用中成功的概率,也可以是該條知識的可信程度或其他,它的取值范圍可以根據它的意義與使用方法的不同而不同。當然,知識的不確定性也可以用非數值的方法表示。
在不確定性推理中,證據主要有兩種來源:一種是用戶在進行問題求解時提供的初始證據,如醫療診斷專家系統中用戶提供的病患癥狀、檢查結果等,由于初始證據一般來源于觀察,通常是不精確的、不完全的、模糊的,因此具有不確定性;另一種是在推理過程中得到的中間結果,會用作后續推理的證據,如醫療診斷時根據病患描述先將其劃分至不同的科室就診,由于中間結論也是基于不確定性推理得到的,因此包含不確定性。
證據的不確定性一般也是一個數值,它表示相應證據的不確定性程度,也稱為動態強度。對于初始證據,其值由用戶給出;對于中間結果,其值由推理中不確定性的傳播算法計算得到。同樣,證據的不確定性也可以用非數值的方法表示。
一般來說,為了便于推理過程中對不確定性的統一處理,知識和證據不確定性的表示方法應該保持一致。盡管在某些系統中,為了方便用戶使用,知識和證據的不確定性用不同的方法表示,但這只是形式上的,在系統內部會做相應的轉換處理。
在不確定性的表示問題中,除了要考慮用什么樣的數據來表示不確定性,還要考慮這個數據應該具有的取值范圍,只有這樣數據才有確定的意義,不確定性的表示問題才算圓滿解決。例如,在確定性理論中,用一個[-1,1]閉區間上的數據來描述知識或證據的不確定性,其值越大表示相應的知識或證據越接近于“真”,其值為1表示知識或證據必為真,其值越小表示相應的知識或證據越接近于“假”,其值為-1表示知識或證據必為假。
在設計不確定性的表示方式和取值范圍時,應注意以下幾點。
(1)表示方式要能充分表達相應知識及證據不確定性的程度。
(2)取值范圍的制定應便于領域專家級用戶對不確定性的估計。
(3)表示方式要便于對不確定性的傳播的計算,計算出的結論的不確定性不能超過設計的取值范圍。
(4)表示方式應該是直觀的,同時有相應的理論基礎。
……