寫在前面算法
【補充】 2018年1月發佈的人工智能標準化白皮書上關於「人工智能的概念」有以下一段詳盡描述(僅供參考):數據庫
2.1.2 人工智能的概念編程
人工智能做爲一門前沿交叉學科,其定義一直存有不一樣的觀點:**《人工智能——一種現代方法》**中將已有的一些人工智能定義分爲四類:像人同樣思考的系統、像人同樣行動的系統、理性地思考的系統、理性地行動的系統。維基百科上定義「人工智能就是機器展示出的智能」,即只要是某種機器,具備某種或某些「智能」的特徵或表現,都應該算做「人工智能」。大英百科全書則限定人工智能是數字計算機或者數字計算機控制的機器人在執行智能生物體纔有的一些任務上的能力。百度百科定義人工智能是「研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學」,將其視爲計算機科學的一個分支,指出其研究包括機器人、語言識別、圖像識別、天然語言處理和專家系統等。性能優化
本白皮書認爲,人工智能是利用數字計算機或者數字計算機控制的機器模擬、延伸和擴展人的智能,感知環境、獲取知識並使用知識得到最佳結果的理論、方法、技術及應用系統。網絡
人工智能的定義對人工智能學科的基本思想和內容做出瞭解釋,即圍繞智能活動而構造的人工系統。人工智能是知識的工程,是機器模仿人類利用知識完成必定行爲的過程。根據人工智能是否能真正實現推理、思考和解決問題,能夠將人工智能分爲弱人工智能和強人工智能。數據結構
弱人工智能是指不能真正實現推理和解決問題的智能機器,這些機器表面看像是智能的,可是並不真正擁有智能,也不會有自主意識。迄今爲止的人工智能系統都仍是實現特定功能的專用智能,而不是像人類智能那樣可以不斷適應複雜的新環境並不斷涌現出新的功能,所以都仍是弱人工智能。目前的主流研究仍然集中於弱人工智能,並取得了顯著進步,如語音識別、圖像處理和物體分割、機器翻譯等方面取得了重大突破,甚至能夠接近或超越人類水平。app
強人工智能是指真正能思惟的智能機器,而且認爲這樣的機器是有知覺的和自我意識的,這類機器可分爲類人(機器的思考和推理相似人的思惟)與非類人(機器產生了和人徹底不同的知覺和意識,使用和人徹底不同的推理方式)兩大類。從通常意義來講,達到人類水平的、可以自適應地應對外界環境挑戰的、具備自我意識的人工智能稱爲「通用人工智能」、「強人工智能」或「類人智能」。強人工智能不只在哲學上存在巨大爭論(涉及到思惟與意識等根本問題的討論),在技術上的研究也具備極大的挑戰性。強人工智能當前鮮有進展,美國私營部門的專家及國家科技委員會比較支持的觀點是,至少在將來幾十年內難以實現。框架
靠符號主義、鏈接主義、行爲主義和統計主義這四個流派的經典路線就能設計製造出強人工智能嗎?其中一個主流見解是:即便有更高性能的計算平臺和更大規模的大數據助力,也還只是量變,不是質變,人類對自身智能的認識還處在初級階段,在人類真正理解智能機理以前,不可能製造出強人工智能。理解大腦產生智能的機理是腦科學的終極性問題,絕大多數腦科學專家都認爲這是一個數百年乃至數千年甚至永遠都解決不了的問題。機器學習
通向強人工智能還有一條「新」路線,這裏稱爲「仿真主義」。這條新路線經過製造先進的大腦探測工具從結構上解析大腦,再利用工程技術手段構造出模仿大腦神經網絡基元及結構的仿腦裝置,最後經過環境刺激和交互訓練仿真大腦實現類人智能,簡言之,「先結構,後功能」。雖然這項工程也十分困難,但都是有可能在數十年內解決的工程技術問題,而不像「理解大腦」這個科學問題那樣高不可攀。分佈式
仿真主義能夠說是符號主義、鏈接主義、行爲主義和統計主義以後的第五個流派,和前四個流派有着千絲萬縷的聯繫,也是前四個流派通向強人工智能的關鍵一環。經典計算機是數理邏輯的開關電路實現,採用馮•諾依曼體系結構,能夠做爲邏輯推理等專用智能的實現載體。但要靠經典計算機不可能實現強人工智能。要按仿真主義的路線「仿腦」,就必須設計製造全新的軟硬件系統,這就是「類腦計算機」,或者更準確地稱爲「仿腦機」。「仿腦機」是「仿真工程」的標誌性成果,也是「仿腦工程」通向強人工智能之路的重要里程碑。
人工智能始於20世紀50年代,50多年來,人工智能走過了一條起伏和曲折的發展道路。回顧歷史,能夠按照不一樣時期的主要特徵,將其產生與發展過程分爲5個階段。
一、孕育期(1956年前)
二、造成期(1956-1970年)
1956年夏,麥卡錫 (J.McCarthy,數學家、計算機專家)、明斯基(M.L.Minsky,哈佛大學數學家、神經學家)、洛切斯特(N.Lochester,IBM公司信息中心負責人)、香農(C.E.Shannon,貝爾實驗室信息部數學家和信息學家)
邀請莫爾(T.more)、塞繆爾(A.L.Samuel) 、塞爾夫裏奇(O.Selfridge)、索羅蒙夫(R.Solomonff)、紐厄爾(A.Newell)、西蒙(H.A.Simon)在 美國達特茅斯(Dartmouth)大學舉辦了長達歷時兩個月的研討會。會上,麥卡錫正式使用「人工智能AI」這一術語。這是人類歷史上首次第一次人工智能研討會,標誌着人工智能學科的誕生。
三、暗淡期(1966-1974年)
失敗的預言給人工智能的聲譽形成重大傷害
60年代初,西蒙預言:10年內計算機將成爲世界冠軍、將證實一個未發現的數學定理、將能譜寫出具備優秀做曲家水平的樂曲、大多數心理學理論將在計算機上造成。
挫折和困境
Minsky的批評
1969年 M. Minsky 和 S.Papert 在《感知機》一書中指出了感知機沒法解決異或(XOR)問題的缺陷,並表示出對這方面研究的悲觀態度,使得神經網絡的研究從興起期進入了停滯期。
該批評對人工智能的發展形成了重要的影響
當時的人工智能存在三個方面的侷限性
四、知識應用期( 1970-1988年)
五、集成發展期(1986年至今)
人工智能具體的發展歷程圖示以下:
這兩年人工智能獲得了日新月異的發展,實現這種發展的基本條件有三個:
符號主義觀點認爲:智能的基礎是知識,其核心是知識表示和知識推理;知識可用符號表示,也可用符號進行推理,於是能夠創建基於知識的人類智能和機器智能的統一的理論體系。
鏈接主義觀點認爲:思惟的基元是神經元,而不是符號;思惟過程是神經元的聯結活動過程,而不是符號運算過程;反對符號主義關於物理符號系統的假設。
行爲主義觀點認爲:智能取決於感知和行動,提出了智能行爲的「感知—動做」模型;智能不須要知識、不須要表示、不須要推理;人工智能能夠像人類智能那樣逐步進化。
此外,還有一種由鍾義信院士提出的一種認知學派:
符號主義的不足(功能模擬法/認知學觀點)
鏈接主義的不足(結構模擬法/生物學觀點)
行爲主義的不足
遠期目標:構造出能夠實現人類思惟活動和智力功能的智能系統。
近期目標:使現有的計算機更聰明更有用,使它不只可以進行通常的數值計算和非數值信息的處理,並且可以運用知識去處理問題,可以模擬人類的智能行爲。
一、認知建模
認知:可通常地認爲是和情感、動機、意志相對應的理智或認識過程,或者是爲了必定的目的,在必定的心理結構中進行的信息加工過程。
二、知識表示:基礎
三、知識推理:實現問題求解
四、知識應用:目的
知識表示、知識推理、知識應用是傳統人工智能的三大核心研究內容。
五、機器感知:就是要讓計算機具備相似於人的感知能力,如視覺、聽覺、觸覺、嗅覺、味覺……,是機器獲取外部信息的基本途徑
六、機器思惟:
機器思惟是讓計算機可以對感知到的外界信息和本身產生的內部信息進行思惟性加工,包括邏輯思惟、形象思惟和靈感思惟,涉及信息的表示,組織,積累,管理,搜索,推理等過程。
七、機器學習:
八、機器行爲:
九、智能系統構建
問題求解、機器學習、天然語言理解、專家系統、模式識別、計算機視覺、機器人學、博弈、計算智能、人工生命、自動定理證實、自動程序設計、智能控制、智能檢索、智能調度與指揮、智能決策支持系統、人工神經網絡、數據挖掘與知識發現…
1-1 什麼是人工智能?是從科學與能力兩方面加以說明。
1-3 在人工智能的發展過程當中,有哪些思想和思潮起到了重要做用?
1-5 人工智能有哪些學派?他們的認知觀是什麼?如今這些學派的關係如何?
1-9 人工智能的基本研究方法有哪些類?
1-10 人工智能的主要研究和應用領域是什麼?其中,哪些是新的研究熱點?
知識的通常概念
知識是人們在改造客觀世界的實踐中積累起來的 認識和 經驗。
其中,認識與 經驗能夠這樣定義:
人工智能系統中的知識
一個智能程序高水平的運行須要有關的 事實知識、 規則知識、 控制知識和 元知識。
元知識與控制知識是有重迭的,對一個大的程序來講,以元知識或說元規則形式體現控制知識更爲方便,由於元知識存於知識庫中,而控制知識常與程序結合在一塊兒出現,從而不容易修改。
知識表示
研究用機器表示知識的可行性、有效性的通常方法,是一種數據結構與控制結構的統一體,既考慮知識的存儲又考慮知識的使用。
知識表示的要求:
狀態空間法是一種 基於解答空間的問題表示和求解方法,它是以「狀態(state)」和「算符(operator)」爲基礎的,它是人工智能中最基本的 形式化方法。
因爲狀態空間法須要擴展過多的節點,容易出現「組合爆炸」,於是 只適用於表示比較簡單的問題。
狀態空間法的三要素:
q0,q1,…,qn
的有序集合,是表示問題解法中每一步問題情況的數據結構。有序集合中每一個元素qi(i= 0,1,…,n)爲集合的份量,稱爲狀態變量。給定每一個份量的一組值就獲得一個具體的狀態。(S,F,G)
。【例子】
猴子和香蕉問題:在一個房間內有一隻猴子、一個箱子和一束香蕉。香蕉掛在天花板下方,但猴子的高度不足以碰到它。那麼這隻猴子怎樣才能摘到香蕉呢?
解題過程
用一個四元表列(W,x,Y,z)
來表示這個問題狀態空間
其中W:猴子的水平位置;x:當猴子在箱子頂上時取1;不然取0;Y:箱子的水平位置;z:當猴子摘到香蕉時取1;不然取0。
則可見初始狀態爲(a,0,b,0)
,目標狀態爲(c,1,c,1)
這個問題的算符以下:
goto(U)
表示猴子走到水平位置U;pushbox(V)
表示猴子把箱子推到水平位置V;climbbox
表示猴子爬上箱頂;grasp
表示猴子摘到香蕉。
由初始狀態變換爲目標狀態的操做序列爲:
Step1: goto(b)
Step2: pushbox(c)
Step3: climbbox
Step4: grasp
問題規約(Problem Reduction):
問題歸約的組成部分:
問題歸約的 實質:
問題歸約法舉例:
【例子】
漢諾塔問題(Hanoi):規定每次移動一個盤子、且總個過程當中大盤在下小盤在上、目標是將盤子從柱子1移到柱子3。
解題過程
原始問題能夠歸約爲下列3個子問題:
規約過程:
歸約圖示:
與或圖表示
用一個相似於圖的結構來表示,把問題歸約爲後繼問題的替換集合。
與圖:把一個複雜問題分解爲若干個較爲簡單的子問題,造成「與」樹。
或圖:把原問題變換爲若干個較爲容易求解的新問題,造成「或」樹。
謂詞邏輯法採用謂詞合式公式和一階謂詞演算將要解決的問題變成一個有待證實的問題,而後利用消解定理和消解反演來證實一個新語句是從已知的正確語句中導出的,從而證實這個新語句也是正確的。
謂詞邏輯是一種 形式語言,可以將數學中的邏輯論證符號化,謂詞邏輯常常與其餘表示方法混合使用,能夠表示比較複雜的問題。
語法和語義
連詞和量詞
連詞
合取、析取、蘊涵、非、雙條件
量詞
全稱量詞、存在量詞
謂詞公式
原子謂詞公式
由謂詞符號和若干項組成的謂詞演算
分子謂詞公式
能夠用 連詞把原子謂詞公式組成複合謂詞公式,並把它叫作分子謂詞公式
一般把合式公式叫作謂詞公式。在謂詞演算中合式公式的遞歸定義以下:
合式公式的性質
置換
置換是用變元、常量、函數來替換變元,使該變元不在公式中出現,形如{t1/x1, t2/x2,...,tn/xn}
的有限集合,其中:
t1,t2,...,tn
是項;x1,x2,...,xn
是互不相同的變元;ti/xi
表示用ti項替換變元xi
,不容許ti
和xi
相同,也不容許變元xi
循環地出如今另外一個tj中。推理規則:用合式公式的集合產生新的合式公式
置換是 可結合的;
用s1s2
表示兩個置換s1和s2的合成,L表示一個表達式,則有(Ls1)s2 = L(s1s2)
以及(s1s2)s3 = s1(s2s3)
,即用s1和s2相繼做用於表達式L是與用s1s2
做用於L同樣的。
通常說來,置換是 不可交換的,即s1s2 ≠ s2s1
。
合一
尋找項對變量的置換,以使兩表達式一致,叫作合一。
若是一個置換s做用於表達式集合{Ei}
的每一個元素,則用{Ei}s
來表示置換的集。稱表達式{Ei}是可合一的,若是存在一個置換s使得:E1s = E2s = E3s =……
,那麼,稱此s爲{Ei}
的合一者,由於s的做用是使集合{Ei}
成爲單一形式。
例如:設有公式集E={ P( x, y, f(y)), P( a, g(x), z) }
,則s={a/x, g(a)/y, f(g(a))/z}
是它的一個合一。
語義網絡是經過概念及其語義關係來表達知識一種網絡圖,是一種 結構化表示方法。
從圖論的觀點看,語義網絡是一個「帶標識的有向圖」,它由 節點和 弧線或鏈線組成。節點表明實體、概念、狀況等,弧線表明節點間的關係,必須帶標識。
語義網絡的解答是一個通過推理和匹配而獲得的具備明確結果的新的語義網路,擴展後能夠表示更復雜的問題。
語義網絡中最基本的語義單元稱爲語義基元,可用三元組表示爲:(結點1,弧,結點2)。
二元語義網絡的表示
例如:用語義網絡表示:李新的汽車的款式是「捷達」、銀灰色;王紅的汽車的款式是「凱越」、紅色;李新和王紅的汽車均屬於具體概念,可增長「汽車」 這個抽象概念。
多元語義網絡的表示
框架網絡:
框架結構:
每一個框架都有框架名,表明某一類對象
一個框架由若干個槽(項目)組成,用於表示對象的某個方面的屬性
有時一個槽(屬性)還要從不一樣的側面來描述,每一個側面可具備一個或多個值。
注意:框架中的槽與側面可任意定義,也能夠是另外一框架,造成框架網絡系統。
劇本表示法(ppt-6)
過程表示法(ppt-6)
…
推理方法及其分類
推理的控制策略及其分類
推理的控制策略是指如何使用領域知識使推理過程儘快達到目標的策略。
*各類搜索策略的主要區別在於對OPEN表中節點的排列順序不一樣。*例如,廣度優先搜索把先生成的子節點排在前面,而深度優先搜索則把後生成的子節點排在前面。
廣度優先搜索算法流程:
以八數碼問題爲例,獲得下面這個廣度優先搜索樹:
在上述廣度優先算法中須要注意兩個問題:
廣度優先搜索的優缺點:
深度優先搜索算法流程:
在深度優先搜索中,搜索一旦進入某個分支,就將沿着該分支一直向下搜索。若是目標節點剛好在此分支上,則可較快地獲得解。可是,若是目標節點不在此分支上,而該分支又是一個無窮分支,則就不可能獲得解。因此深度優先搜索是不完備的,即便問題有解,它也不必定能求得解。
所以,爲了防止搜索過程沿着無益的路徑擴展下去,每每給出一個節點擴展的最大深度,即 深度界限。當搜索深度達到了深度界限而仍未出現目標節點時,就換一個分支進行搜索。
有界深度優先搜索的特色:
代價樹搜索
考慮邊的代價的搜索方法,代價樹搜索的目的是爲了找到一條代價最小的解路徑。代價樹搜索方法包括:
啓發式信息與代價函數
採用問題自身的特性信息,以指導搜索朝着最有但願的方向前進。
啓發性信息是指那種與具體問題求解過程有關的,並可指導搜索過程朝着最有但願方向前進的控制信息。啓發信息的啓發能力越強,擴展的無用結點越少。
啓發性信息的種類
估價函數的通常形式爲:f(x) = g(x)+h(x)
,其中g(x)
表示從初始節點S0到節點x的代價;h(x)
是從節點x到目標節點Sg的最優路徑的代價的估計,它體現了問題的啓發性信息,h(x)
稱爲啓發函數。
A算法與A*算法
A算法:在圖搜索算法中,若是能在搜索的每一步都利用估價函數f(n)=g(n)+h(n)
對OPEN表中的節點進行排序,則該搜索算法爲A算法。
A算法的類型
可根據搜索過程當中選擇擴展節點的範圍,將啓發式搜索算法分爲:
A*算法是對A算法的估價函數f(n)=g(n)+h(n)
加上某些限制後獲得的一種啓發式搜索算法。
假設f*(n)
是從初始節點出發通過節點n達到目標節點的最小代價,估價函數f(n)
是對f*(n)
的 估計值。且f*(n)=g*(n)+h*(n)
,g*(n)
是從初始節點S0到節點n的最小代價。h*(n)
是從節點n到目標節點的最小代價,如有多個目標節點,則爲其中最小的一個。
A*算法對A算法(全局擇優的啓發式搜索算法)中的g(n)
和h(n)
分別提出以下限制:
g(n)
是對最小代價g*(n)
的估計,且g(n)>0
;h(n)
是最小代價h*(n)
的下界,即對任意節點n均有h(n)≤h*(n)
。即:知足上述兩條限制的A算法稱爲A*算法。
一、 與/或樹的通常搜索過程
(1) 把原始問題做爲初始節點S0,並把它做爲當前節點; (2) 應用分解或等價變換操做對當前節點進行擴展; (3) 爲每一個子節點設置指向父節點的指針; (4) 選擇合適的子節點做爲當前節點,反覆執行第(2)步和第(3)步,在此期間須要屢次調用可解標記過程或不可解標記過程,直到初始節點被標記爲可解節點或不可解節點爲止。
二、 與/或樹的廣度優先搜索
(1)把初始節點S0放入OPEN表中; (2)把OPEN表的第一個節點取出放入CLOSED表,並記該節點爲n; (3)若是節點n可擴展,則作下列工做: ① 擴展節點n,將其子節點放入OPEN表的尾部,併爲每個子節點設置指向父節點的指針; ② 考察這些子節點中有否終止節點。如有,則標記這些終止節點爲可解節點,並用可解標記過程對其父節點及先輩節點中的可解解節點進行標記。若是初始解節點S0可以被標記爲可解節點,就獲得瞭解樹,搜索成功,退出搜索過程;若是不能肯定S0爲可解節點,則從OPEN表中刪去具備可解先輩的節點。 ③ 轉第(2)步。 (4) 若是節點n不可擴展,則做下列工做: ① 標記節點n爲不可解節點; ② 應用不可解標記過程對節點n的先輩中不可解解的節點進行標記。若是初始解節點S0也被標記爲不可解節點,則搜索失敗,代表原始問題無解,退出搜索過程;若是不能肯定S0爲不可解節點,則從Open表中刪去具備不可解先輩的節點。 ③ 轉第(2)步。
【例子】 設有下圖所示的與/或樹,節點按標註順序進行擴展,其中標有t一、t二、t3的節點是終止節點,A、B、C爲不可解的端節點。
本例中與/或樹的廣度優先搜索過程:
(1) 先擴展1號節點,生成2號節點和3號節點。
(2) 擴展2號節點,生成A節點和4號節點。
(3) 擴展3號節點,生成t1節點和5號節點。因爲t1爲終止節點,則標記它爲可解節點,並應用可解標記過程,不能肯定3號節點是否可節。
(4) 擴展節點A,因爲A是端節點,所以不可擴展。調用不可解標記過程。
(5) 擴展4號節點,生成t2節點和B節點。因爲t2爲終止節點,標記爲可解節點,應用可解標記過程,可標記2號節點爲可解,但不能標記1號節點爲可解。
(6) 擴展5號節點,生成t3節點和C節點。因爲t3爲終止節點,標記它爲可解節點,應用可解標記過程,可標記1號節點爲可解節點。
(7) 搜索成功,獲得由一、二、三、四、5號節點和t一、t二、t3節點構成的解樹。
三、 與/或樹的深度優先搜索
(1)把初始節點S0放入OPEN表中; (2)把OPEN表第一個節點取出放入CLOSED表,並記該節點爲n; 與/或樹的深度優先搜索算法以下: (3)若是節點n的深度等於dm,則轉第(5)步的第①點; (4)若是節點n可擴展,則作下列工做: ① 擴展節點n,將其子節點放入OPEN表的首部,併爲每個子節點設置指向父節點的指針; ② 考察這些子節點中是否有終止節點。如有,則標記這些終止節點爲可解節點,並用可解標記過程對其父節點及先輩節點中的可解解節點進行標記。若是初始解節點S0可以被標記爲可解節點,就獲得瞭解樹,搜索成功;若是不能肯定S0爲可解節點,則從OPEN表中刪去具備可解先輩的節點。 ③ 轉第(2)步。 (5)若是節點n不可擴展,則做下列工做: ① 標記節點n爲不可解節點; ② 應用不可解標記過程對節點n的先輩中不可解解的節點進行標記。若是初始解節點S0也被標記爲不可解節點,則搜索失敗,代表原始問題無解,退出搜索過程;若是不能肯定S0爲不可解節點,則從Open表中刪去具備不可解先輩的節點。 ③ 轉第(2)步。
四、 與/或樹的啓發式搜索
(1) 把初始節點S0放入OPEN表中; (2) 求出但願樹T,即根據當前搜索樹中節點的代價h求出以S0爲根的但願樹T; (3) 依次在OPEN表中取出T的端節點放入CLOSED表,並記該節點爲n;節點n有三種不一樣狀況: ①n爲終止節點, ②n不是終止節點,但可擴展, ③n不是終止節點,且不可擴展, 對三種狀況分別進行步驟(4) (5) (6)的操做過程; (4)若是節點n爲終止節點,則: ① 標記節點n爲可解節點; ② 在T上應用可解標記過程,對n的先輩節點中的全部可解解節點進行標記; ③ 若是初始解節點S0可以被標記爲可解節點,則T就是最優解樹,成功退出; ④ 不然,從OPEN表中刪去具備可解先輩的全部節點。 ⑤ 轉第(2)步。 (5) 若是節點n不是終止節點,但可擴展,則: ① 擴展節點n,生成n的全部子節點; ② 把這些子節點都放入OPEN表中,併爲每個子節點設置指向父節點n的指針; ③ 計算這些子節點及其先輩節點的h值; ④ 轉第(2)步。 (6) 若是節點n不是終止節點,且不可擴展,則: ① 標記節點n爲不可解節點; ② 在T上應用不可解標記過程,對n的先輩節點中的全部不可解解節點進行標記; ③ 若是初始解節點S0可以被標記爲不可解節點,則問題無解,失敗退出; ④ 不然,從OPEN表中刪去具備不可解先輩的全部節點。 ⑤ 轉第(2)步。
五、 博弈樹的啓發式搜索
六、 α-β剪枝技術
搜索的完備性與效率
完備性
搜索效率
其中,外顯率定義爲:P=L/T
;L爲從初始節點到目標節點的路徑長度;T爲整個搜索過程當中所生成的節點總數。
外顯率反映了搜索過程當中從初始節點向目標節點前進時 搜索區域的寬度。當T=L
時,P=1
,表示搜索過程當中每次只生成一個節點,它剛好是解路徑上的節點,搜索效率最高。P越小表示搜索時產生的無用節點愈多,搜索效率愈低。
有效分枝因數B定義爲:B+B^2+…+B^L=T
;B是有效分枝因數,它表示在整個搜索過程當中 每一個節點平均生成的子節點數目;L爲從初始節點到目標節點的路徑長度;T爲整個搜索過程當中所生成的節點總數。當B=1
時,L=T
,此時所生成的節點數最少,搜索效率最高。
從一組已知爲真的事實出發,直接運用經典邏輯中的推理規則推出結論的過程稱爲天然演繹推理。
天然演繹推理最基本的推理規則是三段論推理,它包括:
【例子】 設已知以下事實:
(1) 只要是須要編程序的課,王程都喜歡。
(2) 全部的程序設計語言課都是須要編程序的課。
(3) C是一門程序設計語言課。
求證:王程喜歡C這門課。
證實:
第一步,首先定義謂詞
Prog(x)
:x是須要編程序的課。
Like(x, y)
: x喜歡y。
Lang(x)
: x是一門程序設計語言課
第二步,把已知事實及待求解問題用謂詞公式表示以下:
Prog(x)→Like(Wang , x)
(∀x)( Lang(x)→Prog(x))
Lang(C)
第三步,應用推理規則進行推理:
Lang(y)→Prog(y)
全稱固化
Lang(C),Lang(y)→Prog(y) ⇒ Prog(C)
假言推理 {C/y}
Prog(C), Prog(x)→Like(Wang , x) ⇒ Like(Wang , C)
假言推理 {C/x}
所以,王程喜歡C這門課。
P→Q
爲真時,但願經過確定後件Q爲真來推出前件P爲真,這是不容許的。P→Q
爲真時,但願經過否認前件P來推出後件Q爲假,這也是不容許的。一種基於 魯濱遜(Robinson)消解原理的機器推理技術。魯濱遜消解原理亦稱爲消解原理,是魯濱遜於1965年在海伯倫(Herbrand)理論的基礎上提出的一種基於邏輯的「反證法」。
在人工智能中,幾乎全部的問題均可以轉化爲一個定理證實問題。定理證實的實質,就是要對前提P和結論Q,證實
P→Q
永真。
而要證實P→Q
永真,就是要證實P→Q
在任何一個非空的個體域上都是永真的。這將是很是困難的,甚至是不可實現的。
魯濱遜消解原理把永真性的證實轉化爲關於 不可知足性的證實。即:要證實P→Q
永真,只需證實P∧¬Q
不可知足。(¬(P→Q) ⇔ ¬(¬P∨Q) ⇔ P∧¬Q
)
魯濱遜消解原理是在子句集的基礎上討論問題的。所以,討論消解演繹推理以前,須要先討論子句集的有關概念。
把謂詞公式化成子句集的步驟
子句集的意義
在上述化簡過程當中,因爲在消去存在量詞時所用的Skolem函數能夠不一樣,所以化簡後的標準子句集是不惟一的。所以,當原謂詞公式爲非永假時,它與其標準子句集並不等價。但當原謂詞公式爲永假(或不可知足)時,其標準子句集則必定是永假的,即Skolem化並不影響原謂詞公式的永假性。
不可知足性
對於任意論域中的任意一個解釋,S中的子句不能同時取得真值T。
定理:設有謂詞公式F,其子句集爲S,則F不可知足的充要條件是S不可知足。
魯濱遜消解原理的基本思想
魯濱遜消解原理包括
命題邏輯的消解
消解推理的核心是求兩個子句的 消解式。
【例子】
S1的不可知足性⇔S的不可知足性
S2的不可知足性⇔S的不可知足性
上述兩個推論說明,爲證實子句集S的不可知足性,只要對其中可進行消解得子句進行消解,並把消解式加入到子句集S中,或者用消解式代替他的親本子句,而後對新的子句集證實其不可知足性就能夠了。
若是經消解能獲得空子句,根據空子句的不可知足性,便可獲得原子句集S是不可知足的結論。
在命題邏輯中,對不可知足的子句集S,其消解原理是完備的。即:子句集S是不可知足的,當且僅當存在一個從S到空子句的消解過程。
應用消解原理證實定理的過程稱爲 消解反演。
命題邏輯的消解反演:
在命題邏輯中,已知F,證實G爲真的消解反演過程以下:
【例子】 設已知的公式集爲{P,(P∧Q)→R,(S∨T)→Q,T}
,求證:R爲真。
解:假設結論R爲假, 將¬R加入公式集,並化爲子句集:
S={P,¬P∨¬Q∨R,¬S∨Q,¬T∨Q,T,¬R}
其消解過程以下圖的消解演繹樹所示。
該樹根爲空子句NIL,則子句集S不可知足,即假設有誤,因而證得R爲真。
謂詞邏輯的消解
設C1和C2是兩個沒有公共變元的子句,L1和L2分別是C1和C2中的文字。若是 σ 是L1和¬ L2存在的最通常合一
,則稱:
C12=({C1σ}-{ L1σ})∪({ C2σ}-{ L2σ})
爲C1和C2的二元消解式,L1和L2爲消解式上的文字。
注意:在謂詞邏輯的消解過程當中,要注意如下幾個問題:
【例子】
例一、設C1=P(a)∨R(x)
,C2=¬P(y)∨Q(b)
,求 C12。
解:取L1= P(a)
, L2=¬P(y)
,則L1和¬L2的最通常合一是σ={a/y}
。所以:
C12 = ( {C1σ}-{L1σ}) ∪ ({C2σ}-{L2σ}) = ({P(a), R(x)}-{P(a)})∪({¬P(a), Q(b)}-{¬P(a)}) = ({R(x)})∪({Q(b)}) = { R(x), Q(b) } = R(x)∨Q(b)
例二、設C1=P(x)∨Q(a)
,C2=¬P(b)∨R(x)
,求 C12。
解:因爲C1和C2有相同的變元x,不符合定義的要求。爲了進行消解,須要修改C2中變元的名字。令C2=¬P(b)∨R(y)
,此時L1= P(x)
, L2 =¬P(b)
,L1和¬L2的最通常合一是 σ={b/x}
。則有:
C12 = ({C1σ}-{L1σ})∪ ({C2σ}-{L2σ}) = ({P(b), Q(a)}-{P(b)}) ∪ ({¬P(b), R(y)}-{¬P(b)}) = ({Q(a)}) ∪ ({R(y)}) = {Q(a), R(y)} = Q(a)∨R(y)
例三、設 C1=P(a)∨¬Q(x)
,C2=¬P(y)∨Q(b)
,求C12。
解:對C1和C2經過最通常合一(σ={b/x, a/y}
)的做用,便獲得空子句NIL的結論,從而得出C一、C2互相矛盾的結論,而事實上C一、C2並沒有矛盾。
例四、設 C1=P(x)∨P(f(a))∨Q(x)
,C2=¬P(y)∨R(b)
,求C12。
解:本例的C1中有可合一的文字P(x)與P(f(a)),用它們的最通常合一σ={f(a)/x}
進行代換,可獲得 :
C1σ=P(f(a))∨Q(f(a))
此時對C1σ與C2進行消解。選L1= P(f(a))
, L2 =¬P(y)
,L1和L2的最通常合一是σ={f(a)/y}
,則可獲得C1和C2的二元消解式爲:
C12=R(b)∨Q(f(a))
例五、設 C1=P(y)∨P(f(x))∨Q(g(x))
、C2=¬P(f(g(a)))∨Q(b)
,求C12。
解:對C1,取最通常合一σ={f(x)/y}
,得C1的因子C1σ=P(f(x))∨Q(g(x))
,對C1的因子和C2消解(σ={g(a)/x }
),可得:C12=Q(g(g(a)))∨Q(b)
謂詞邏輯的消解反演:
在謂詞邏輯中,已知F,證實G是F的結論的消解反演過程以下:
與命題邏輯的消解反演過程比較一下
【例子】
例一、已知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的邏輯結論。
證實:
第一步,先把G否認,並放入F中,獲得的{F,¬G}
:
{(∀ x)((∃ y)(A(x,y)∧B(y))→(∃ y)(C(y)∧D(x,y)))
,¬(¬(∃ x)C(x)→(∀ x)(∀ y)(A(x,y)→¬ B(y)))}
第二步,把{F,¬G}化成子句集,獲得
(1) ¬A(x,y)∨¬B(y)∨C(f(x))
(2) ¬A(u,v)∨¬B(v)∨D(u,f(u))
(3) ¬C(z)
(4) A(m,n)
(5) B(k)
第三步,應用謂詞邏輯的消解原理對上述子句集進行消解,其過程爲:
(6) ¬ A(x,y)∨¬ B(y)
(1)和(3)消解,取σ={f(x)/z}
(7) ¬ B(n)
(4)和(6)消解,取σ={m/x,n/y}
(8) NIL
(5)和(7)消解,取σ={n/k}
最後,「G是F的邏輯結論」得證。
上述消解過程可用以下消解樹來表示
例二、「快樂學生」問題
假設:任何經過計算機考試並獲獎的人都是快樂的,任何肯學習或幸運的人均可以經過全部考試,張不願學習但他是幸運的,任何幸運的人都能獲獎。
求證:張是快樂的。
證實:(完整的解題過程)
第一步,先定義謂詞:
Pass(x, y):x能夠經過y考試
Win(x, prize):x能得到獎勵
Study(x) :x肯學習
Happy(x):x是快樂的
Lucky(x) :x是幸運的
第二步,將已知條件以及結論的否認用謂詞表示以下:
「任何經過計算機考試並獎的人都是快樂的」
(∀x)(Pass(x, computer)∧Win(x, prize)→Happy(x))
「任何肯學習或幸運的人均可以經過全部考試」
(∀x)(∀y)(Study(x)∨Lucky(x)→Pass(x, y))
「張不願學習但他是幸運的」
¬Study(zhang)∧Lucky(zhang)
「任何幸運的人都能獲獎」
(∀x)(Lucky(x)→Win(x, prize))
結論「張是快樂的」的否認
¬Happy(zhang)
第三步,將上述謂詞公式轉化爲子句集以下:
1. ¬Pass(x, computer)∨¬Win(x, prize)∨Happy(x)
2. ¬Study(y)∨Pass(y, z)
3. ¬Lucky(u)∨Pass(u, v)
4. ¬Study(zhang)
5. Lucky(zhang)
6. ¬Lucky(w)∨Win(w, prize)
7. ¬ Happy(zhang)
(結論的否認)
第四步,按消解原理進行消解,消解樹以下:
最後,「張是快樂的」得證。
在消解演繹推理中,因爲事先並不知道哪些子句對可進行消解,更不知道經過對哪些子句對的消解能儘快獲得空子句,所以就須要對子句集中的全部子句逐對進行比較,直到得出空子句爲止。這種盲目的全面進行消解的方法,不只會產生許多無用的消解式,更嚴重的是會產生組核爆炸問題。所以,須要研究有效的消解策略來解決這些問題。
經常使用的消解策略可分爲兩大類:
消解原理除了可用於 定理證實外,還可用來 求取問題答案,其思想與定理證實類似。
其通常步驟爲:
【例子】
例一、已知:「張和李是同班同窗,若是x和y是同班同窗,則x的教室也是y的教室,如今張在302教室上課。」
問:「如今李在哪一個教室上課?」
解:第一步,首先定義謂詞
C(x, y)
:x和y是同班同窗
At(x, u)
:x在u教室上課。
第二步,把已知前提用謂詞公式表示以下:
C(zhang, li)
(∀x)(∀y)(∀u)(C(x, y)∧At(x, u)→At(y,u))
At(zhang, 302)
把目標的否認用謂詞公式表示以下:
¬(∃v)At(li, v)
第三步,把上述表示前提的謂詞公式化爲子句集:
C(zhang, li)
¬C(x, y)∨¬At(x, u)∨At(y, u)
At(zhang, 302)
把目標的否認化成子句式,並用下面的 重言式代替:
¬At(li,v) ∨At(li,v)
第四步,把此 重言式加入前提子句集中,獲得一個新的子句集,對這個新的子句集,應用消解原理求出其證實樹。
求解過程以下圖所示。該證實樹的根子句就是所求的答案,即「李明在302教室」。
例二、已知:A,B,C三人中有人從不說真話,也有人從不說假話。某人向這三人分別提出同一個問題:誰是說謊者?
A答:「B和C都是說謊者」;
B答:「A和C都是說謊者」;
C答:「A和B中至少有一個是說謊者」。
問:求誰是老實人,誰是說謊者?
解:第一步,首先定義謂詞
T(x)
:表示x說真話
第二步,把已知前提用謂詞公式表示以下:
有人從不說真話:¬T(C)∨¬T(A)∨¬T(B)
有人從不說假話:T(C)∨T(A)∨T(B)
根據「A答:B和C都是說謊者」,則
若A說真話:T(A)→¬T(B)∧¬T(C)
若A說假話: ¬T(A)→T(B)∨T(C)
同理,根據「B答:A和C都是說謊者」,則
T(B)→¬T(A)∧¬T(C)
¬T(B)→T(A)∨T(C)
根據「C答:A和B中至少有一個是說謊者」,則
T(C)→¬T(A)∨¬T(B)
¬T(C)→T(A)∧T(B)
第三步,把上述公式化成子句集,獲得前提子句集S:
¬T(A)∨¬T(B)
¬T(A)∨¬T(C)
T(C)∨T(A)∨T(B)
¬T(B)∨¬T(C)
¬T(C)∨¬T(A)∨¬T(B)
T(A)∨T(C)
T(B)∨T(C)
第四步,先求誰是老實人,結論的否認爲:¬(∃x)T(x)
,把目標的否認化成子句式,並用下面的重言式代替:
¬T(x)∨T(x)
把此重言式加入前提子句集S,獲得一個新子句集。
第五步,對這個新的子句集,應用消解原理求出其證實樹。
第六步,同理證實A不是老實人,結論的否認爲: ¬T(A),將結論的否認¬(¬T(A)) 加入併入前提子句集S中,應用消解原理對新的子句集進行消解:
(¬A∧¬B)→C ¬A→(B∨C) (¬A∧¬C)→B ¬B→(A∨C) (¬C∧¬B)→A ¬C→(B∨A)
在消解演繹推理中,須要把謂詞公式化爲子句形,這使得原來蘊含在謂詞公式中的一些重要信息卻會在求取子句形的過程當中被丟失。
在很多狀況下人們多但願使用接近於問題原始描述的形式來進行求解,而不但願把問題描述化爲子句集。
基於規則的演繹推理又稱爲與/或形演繹推理,再也不把有關知識轉化爲子句集,而是把領域知識及已知事實分別用蘊含式及與/或形表示出來,而後經過運用蘊含式進行演繹推理,從而證實某個目標公式。
規則是一種比較接近於人們習慣的問題描述方式,按照 蘊含式(「If →Then」規則)這種問題描述方式進行求解的系統稱爲基於規則的系統,或者叫作 規則演繹系統。
規則演繹系統按照推理方式可分爲:
首先說明一下,在規則正向演繹系統中,對已知事實和規則都有必定的要求,若是不是所要求的形式,須要進行變換。
事實表達式的與或形變換
詳細來講,把事實表達式化爲非蘊含形式的與/或形的步驟以下:
【例子】
有以下表達式
(∃x) (∀y)(Q(y, x)∧﹁((R(y)∨P(y))∧S(x, y)))
可把它轉化爲:
Q(z, a)∧( ( ﹁R(y)∧﹁P(y) )∨﹁S(a, y) )
這就是 與/或形表示,也可用一棵與/或圖表示出來。
關於 與/或圖說明如下幾點:
E1∨E2∨…∨Ek
,其中每一個子表達式Ei均被表示爲E1∨E2∨…∨Ek
的後繼節點,並由一個k線鏈接符(即圖中的半圓弧)將這些後繼節點都鏈接到其父節點,即表示成與的關係。E1∧E2∧…∧Ek
,其中的每一個子表達式Ei均被表示爲E1∧E2∧…∧Ek
的一個單一的後繼節點,無需用鏈接符鏈接,即表示成或的關係。有了與/或圖的表示,就能夠求出其解樹(結束於文字節點上的子樹)集。能夠發現,事實表達式的子句集與解樹集之間存在着一一對應關係,即 解樹集中的每一個解樹都對應着子句集中的一個子句。
解樹集中每一個解樹的端節點上的文字的析取就是子句集中的一個子句。
上面那個與/或圖有3個解樹,分別對應這如下3個子句:
Q(z, a)
、﹁R(y)∨ ﹁ S(a, y)
、﹁P(y)∨ ﹁ S(a, y)
還須要注意如下兩點:
規則的表示
爲簡化演繹過程,一般要求規則具備以下形式:L→W
,其中,L爲單文字,W爲與/或形公式。
(之因此限制前件L爲單文字,是由於在進行正向演繹推理時要用規則做用於表示事實的與/或樹,而該與/或樹的葉節點都是單文字,這樣就可用規則的前件與葉節點進行簡單匹配。對非單文字狀況,若形式爲L1∨L2→W,則可將其轉換成與之等價的兩個規則L1→W與 L2→W進行處理。)
將規則轉換爲要求形式的步驟:
一、 暫時消去蘊含符號「→」。設有以下公式:
(∀x)(((∃y) (∀ z)P(x, y,z))→(∀u)Q(x, u))
運用等價關係「P→Q⇔﹁P∨Q」,可將上式變爲:
(∀x)(﹁((∃ y) (∀z)P(x, y,z))∨(∀u)Q(x, u))
二、 把否認符號「﹁」移到緊靠謂詞的位置上,使其做用域僅限於單個謂詞。經過使用狄.摩根定律及量詞轉換律可把上式轉換爲:
(∀ x)( (∀y) (∃z)﹁P(x, y,z))∨ (∀u)Q(x, u))
三、 引入Skolem函數,消去存在量詞。消去存在量詞後,上式可變爲:
(∀ x)( (∀y) (﹁P(x, y,f(x,y)))∨(∀u)Q(x, u))
四、 把全部全稱量詞移至前面化成前束式,消去所有全稱量詞。消去全稱量詞後,上式變爲:
﹁P(x, y,f(x,y))∨Q(x, u)
此公式中的變元都被視爲受全稱量詞約束的變元。
五、 恢復蘊含式表示。利用等價關係「﹁P∨Q⇔P→Q
」將上式變爲:
P(x, y,f(x,y))→Q(x, u)
目標公式的表示形式
推理過程
規則正向演繹推理過程是從已知事實出發,不斷運用規則,推出欲證實目標公式的過程。
先用與/或樹把已知事實表示出來,而後再用規則的前件和與/或樹的葉節點進行匹配,並經過一個匹配弧把匹配成功的規則加入到與/或樹中,依此使用規則,直到產生一個含有以目標節點爲終止節點的解樹爲止。
下面分命題邏輯和謂詞邏輯兩種狀況來討論規則正向演繹過程。
命題邏輯的規則正向演繹過程
已知事實:A∨B
規則:r1: A→C∧D
,r2: B→E∧G
目標公式:C∨G
證實:
1)先將已知事實用與/或樹表示出來;
2)而後再用匹配弧把r1和r2分別鏈接到事實與/或樹中與r1和r2 的前件匹配的兩個不一樣端節點;
3) 因爲出現了以目標節點爲終節點的解樹,故推理過程結束。這一證實過程可用下圖表示。
謂詞邏輯的規則正向演繹過程
已知事實的與/或形表示:P(x, y)∨(Q(x)∧R(v, y))
規則:P(u, v)→(S(u)∨N(v))
目標公式:S(a)∨N(b)∨Q©
證實:
在謂詞邏輯狀況下,因爲事實、規則及目標中均含有變元,所以,其規則演繹過程還須要用最通常合一對變進行置換。證實過程可用下圖表示。
產生式系統的 基本結構由 數據庫、產生式規則和 控制策略三部分構成。
產生式系統的推理分爲 正向推理、逆向推理和 雙向推理三種形式。
產生式系統的主要 優缺點
現實世界中的大多數問題存在隨機性、模糊性、不徹底性和不精確性。對於這些問題,若採用前面所討論的精確性推理方法顯然是沒法解決的。
爲此,出現了一些新的邏輯學派,稱爲非經典邏輯,相應的推理方法稱爲 非經典推理。包括非單調性推理、不肯定性推理、機率推理和貝葉斯推理等。
T(E1 AND E2)=min{T(E1),T(E2)}
T(E1 OR E2)=max{T(E1),T(E2)}
T(E1 AND E2)=T(E1)T(E2)
T(E1 OR E2)=T(E1)+T(E2)-T(E1)T(E2)
T(E1 AND E2)=max{0,T(E1)+T(E2)-1}
T(E1 OR E2)=min{1,T(E1)+T(E2)}
T(E)
和規則的強度F(E,H)
,則結論H的不肯定性:T(H) = g1[T(E),F(E,H)]
T(E1 AND E2) = g2[T(E1), T (E2)]
T(E1 OR E2) = g3[T(E1), T (E2)]
T1(H)
和T2(H)
,則證據E1和E2的組合致使結論H的不肯定性:T(H)=g[T1(H), T2(H)]
【例子】
設H1,H2,H3分別是三個結論,E是支持這些結論的證據。已知:
P(H1)=0.3 P(H2)=0.4 P(H3)=0.5 P(E|H1)=0.5 P(E|H2)=0.3 P(E|H3)=0.4
求P(H1|E),P(H2|E)及P(H3|E)的值各是多少?
解:
同理可得:
P(H2|E)=0.26
P(H3|E)=0.43
觀察:( 注:P(E)=0.47 )
P(H1)=0.3 , P(E|H1)=0.5 P(H1|E)=0.32
P(H2)=0.4 , P(E|H2)=0.3 P(H2|E)=0.26
P(H3)=0.5 , P(E|H3)=0.4 P(H3|E)=0.43
結論:因爲E的出現,H1成立的可能性增長,H2和H3成立的可能性不一樣程度的降低。
使用機率推理方法求結論Hi在存在證據E時的條件機率P(Hi|E) ,須要給出結論Hi的先驗機率P(Hi)及證據E的條件機率 P(E|Hi)。這對於實際應用是不容易作到的。
Duda 和 Hart 等人在貝葉斯公式的基礎上,於1976年提出主觀貝葉斯方法,創建了不精確推理的模型,並把它成功地應用於PROSPECTOR專家系統(PROSPECTOR是國際上著名的一個用於勘察固體礦的專家系統)。
知識不肯定性的表示
在主觀Bayes方法中,知識是用產生式表示的,其形式爲:
IF E THEN (LS, LN) H
E表示規則前提條件,它既能夠是一個簡單條件,也能夠是用AND或OR把多個簡單條件鏈接起來的複合條件。
H是結論,用P(H)表示H的先驗機率,它指出沒有任何專門證據的狀況下結論H爲真的機率,其值由領域專家根據以往的實踐經驗給出。
LS是規則的充分性度量。用於指出E對H的支持程度,取值範圍爲[0,+∞),其定義爲:
LN是規則的必要性度量。用於指出E對H爲真的必要程度,即﹁E對對H的支持程度。取值範圍爲[0,+∞),其定義爲:
證據不肯定性的表示
組合證據不肯定性的計算
不肯定性的更新
主觀貝葉斯方法的推理過程
什麼是可信度
該方法 直觀、簡單並且 效果好,在專家系統等領域得到了較爲普遍的應用。
C-F模型
C-F模型:基於可信度表示的不肯定性推理的基本方法,其餘可信度方法都是基於此發展而來。
知識的不肯定性表示
知識的不肯定性表示:在C-F模型中,知識是用產生式規則表示的,其通常形式爲:
IF E THEN H (CF(H, E))
E
:知識的前提條件,能夠是單一或複合條件;
H
:知識的結論,能夠是單一結論或多個結論;
CF(H, E)
:知識的可信度,稱爲 可信度因子(Certainty Factor)或規則強度。
通常狀況下,CF(H, E)的取值爲[-1, 1],表示當證據E爲真時,對結論H的支持程度。其值越大,表示支持程度越大。
例如:IF 發燒 AND 流鼻涕 THEN 感冒(0.7)
,表示當某人確實有「發燒」及「流鼻涕」症狀時,則有七成的把握是患了感冒。
CF(H,E)的定義:
CF(H,E) = MB(H,E) - MD(H,E)
MB和MD的關係:
P(H|E)>P(H)
時: E的出現增長了H的機率MB(H,E)>0,MD(H,E)=0
P(H|E)<P(H)
時: E的出現下降了H的機率MB(H,E) =0,MD(H,E)>0
可信度的性質(ppt-25)
CF(H,E)+CF(﹁H,E)=0
CF(H1, E)=0.7, CF(H2, E)=0.4
證據不肯定性的表示
否認證據的不肯定性計算
CF(¬E)=-CF(E)
組合證據的不肯定性計算
CF(E1), …, CF(En)
,則:CF(E)=min{CF(E1), CF(E2), … ,CF(En)}
CF(E1), …, CF(En)
,則:CF(E)=max{CF(E1), CF(E2), … ,CF(En)}
不肯定性的更新
IF E THEN H (CF(H, E))
結論H的可信度由下式計算:
CF(H)=CF(H,E)×max{0,CF(E)}
結論不肯定性的合成
IF E1 THEN H (CF(H, E1))
IF E2 THEN H (CF(H, E2))
CF1(H)=CF(H, E1) ×max{0, CF(E1)}
CF2(H)=CF(H, E2) ×max{0, CF(E2)}
(2)、用以下公式求E1與E2對H的綜合可信度
【例子】
設有以下一組知識:
r1:IF E1 THEN H (0.9) r2:IF E2 THEN H (0.6) r3:IF E3 THEN H (-0.5) r4:IF E4 AND ( E5 OR E6) THEN E1 (0.8)
已知:CF(E2)=0.8
,CF(E3)=0.6
,CF(E4)=0.5
,CF(E5)=0.6
,CF(E6)=0.8
,求:CF(H)
。
解:由r4獲得:
CF(E1) = 0.8×max{0, CF(E4 AND (E5 OR E6))} = 0.8×max{0, min{CF(E4), CF(E5 OR E6)}} = 0.8×max{0, min{CF(E4), max{CF(E5), CF(E6)}}} = 0.8×max{0, min{CF(E4), max{0.6, 0.8}}} = 0.8×max{0, min{0.5, 0.8}} = 0.8×max{0, 0.5} = 0.4 由r1獲得: CF1(H) = CF(H, E1)×max{0, CF(E1)} = 0.9×max{0, 0.4} = 0.36 由r2獲得: CF2(H) = CF(H, E2)×max{ 0, CF(E2) } = 0.6×max{ 0, 0.8 } = 0.48 由r3獲得: CF3(H) = CF(H, E3)×max{ 0, CF(E3) } = -0.5×max{ 0, 0.6 } = -0.3
根據結論不精確性的合成算法,CF1(H)和CF2(H)同號,有:
CF12(H)和CF3(H)異號,有:
綜合可信度爲CF(H)=0.53。
專家系統的先行者費根鮑姆(Feigenbaum)曾把專家系統定義爲一個應用知識和推理過程來求解那些須要大量的人類專家解決難題經驗的智能計算機程序。
專家系統主要指的是一個智能計算機程序系統,其內部含有大量的某個領域專家水平的知識與經驗,可以利用人類專家的知識和解決問題的經驗方法來處理該領域的高水平難題。
一個基於規則的專家系統採用下列模塊來創建產生式系統的模型:
以上部分專家系統就不詳敘了。
模糊邏輯的發展,是由理論準備到理論提出再到理論應用的過程
f : A → {0,1}
μA : U → [0,1]
【例子】表示「20歲左右」
μA : U→[0,1] 或 u→μA(u)
【例子】
論域U={1,2,3,4,5},用模糊集表示「大」和「小」。
解:設A、B分別表示「大」與「小」的模糊集,μA ,μB分別爲相應的隸屬函數。
A = {0, 0, 0.1, 0.6, 1}
B = {1, 0.5, 0.01, 0, 0}
其中:
μA(1)=0, μA(2)=0 , μA(3)=0.1 , μA(4)=0.6 , μA(5)=1
μB(1)=1, μB(2)=0.5 , μB(3)=0.01 , μB(4)=0, μB(5)=0
(1)、論域離散且爲有限
若論域 U={u1, … , un}爲離散論域,模糊集A表示爲:
A= {μA(u1), μA(u2), … , μA(un)}
也可寫爲:
A= μA(u1)/u1 + μA(u2)/u2 + … + μA(un)/un
其中,隸屬度爲0的元素能夠不寫。
例如:
A = 1/u1+0.7/u2+0/u3+0.4/u4 = 1/u1+0.7/u2+0.4/u4
(2)、論域連續
若論域是連續的,則模糊集可用實函數表示。
例如:以年齡爲論域U=[0,100], 「年輕」和「年老」這兩個概念可表示爲:
(3)、通常表示方法
無論論域 U 是有限的仍是無限的,是連續的亦或是離散的,扎德( L. A. Zadeh )又給出了一種相似於積分的通常表示形式:
這裏的記號不是數學中的積分符號,也不是求和,只是表示論域中各元素與其隸屬度對應關係的總括。
【例子】
設U={u1,u2,u3},
A=0.3/u1+0.8/u2+0.6/u3; B=0.6/u1+0.4/u2+0.7/u3
求A∩B,A∪B和¬A。
A∩B = (0.3∧0.6)/u1+(0.8∧0.4)/u2+(0.6∧0.7)/u3 = 0.3/u1+0.4/u2+0.6/u3 A∪B = (0.3∨0.6)/u1+(0.8∨0.4)/u2+(0.6∨0.7)/u3 = 0.6/u1+0.8/u2+0.7/u3 ¬A = (1-0.3)/u1+(1-0.8)/u2+(1-0.6)/u3 = 0.7/u1+0.2/u2+0.4/u3
設 Ai 是 Ui (i=1,2,…,n) 上的模糊集,則稱爲A1, A2, …, An的笛卡爾乘積,它是U1×U2×…×Un上的一個模糊集。
在U1×…×Un上一個n元模糊關係R是指以U1×…×Un爲論域的一個模糊集,記爲:
通常地說,當U和V都是有限論域時,U={u1,u2,…,um}
,V={v1,v2,…,vn}
,則U×V上的模糊關係R可用一個模糊矩陣表示
R1°R2
【例子】
設有兩個模糊關係
則R1與R2的合成是
設A={μA(u1),μA(u2),…,μA(un)}
是論域U上的模糊集,R是U×V
上的模糊關係,則A°R = B
稱爲模糊變換。
例如:設A={0.2,0.5,0.3}
例如:設對某廚師作的一道菜進行評判
評判標準是:色(u1)、香(u2) 、味(u3),它們構成論域:U= { u1, u2 , u3}。
評判時由評委對每個評判因素分別進行打分,評判等級是好(v1)、較好(v2) 、通常(v3)、差(v4),它們構成論域:V= {v1, v2 , v3 , v4}。
僅就色而言,有60%的評委認爲這道菜「好」, 20%的評委認爲 「較好」,20%的評委認爲 「通常」,沒有評委認爲 「差」,則對「色」的評價爲:{0.6 , 0.2, 0.2, 0}
對「香」的評價爲:{0.8 , 0.1, 0.1, 0}
對「味」的評價爲:{0.3 , 0.3, 0.3, 0.1}
這樣就能夠寫出矩陣R:
假設三個評判因素在評判中所佔的權重分別是:「色」爲0.3,「香」爲0.3,「味」爲0.4。這三個權重組成了U上的一個模糊向量:A={0.3 , 0.3, 0.4}
由此可獲得評委對這道菜的綜合評判爲:
在此例中,評判結果的各項和恰好爲1,因此它就是最終評判結果。
若是不是這樣,還須要對其進行歸一化處理,將歸一化後的結果做爲最終評判結果。
知識中只含有簡單條件,且不帶可信度因子的模糊推理稱爲簡單模糊推理。
關於如何由已知的模糊知識和證據具體地推出模糊結論,目前已經提出了多種推理方法。其中包括扎德( L. A. Zadeh )等人提出的合成推理規則。
扎德:基於模糊關係合成推理的基本思想
IF x is A THEN y is B
」,首先構造出A與B之間的模糊關係R;合成推理規則:
對於知識IF x is A THEN y is B
x is A’
,且A與A’能夠模糊匹配,則經過下述合成運算求取B’:B'= A’ ◦R
y is B'
,且B與B’能夠模糊匹配,則經過下述合成運算求出A’:A’ =R◦B'
至於如何構造模糊關係R:
條件命題的極大極小規則:記得到的模糊關係爲Rm
設A∈F(U)
, B∈F(V)
,其表示分別爲
扎德把Rm定義爲:
【例子】
設U=V={1,2,3,4,5}
, A=1/1+0.5/2
, B=0.4/3+0.6/4+1/5
並設模糊知識爲:IF x is A THEN y is B
模糊證據爲:x is A’
其中, A’的模糊集爲: A’ =1/1+0.4/2+0.2/3
則:由模糊知識可獲得 Rm
求B’:B’= A’ ◦R
若已知證據爲: y is B’
B'=0.2/1+0.4/2+0.6/3+0.5/4 +0.3/5
則:
人工智能的各類學說
對比這幾種模擬方法:
神經網絡:是一種對人類智能的結構模擬方法,它是經過對大量人工神經元的普遍並行互聯,構造人工神經網絡系統去模擬生物神經系統的智能機理的。 進化計算:是一種對人類智能的演化模擬方法,它是經過對生物遺傳和演化過程的認識,用進化算法去模擬人類智能的進化規律的。 模糊計算:是一種對人類智能的邏輯模擬方法,它是經過對人類處理模糊現象的認知能力的認識,用模糊邏輯去模擬人類的智能行爲的。
MP模型是美國心理學家麥克洛奇(W.McM ulloch)和數理邏輯學家皮茨(W.Pitts) 根據生物神經元的功能和結構,於1943年提出的一種將神經元看做二進制閾值元件的簡單模型。MP模型是大多數神經網絡模型的基礎。
MP模型示意圖:
x1,x2,x3,...,xN
w1,w2,w3,...,wN
輸出函數的做用
控制輸入對輸出的激活做用
對輸入、輸出進行函數轉換
將可能無限域的輸入變換成指定的有限範圍內的輸出
神經元的模型肯定以後,一個神經網絡的特性及能力主要取決於網絡的拓撲結構及學習方法
人工神經網絡(ANN)能夠當作是以人工神經元爲結點,用有向加權弧鏈接起來的有向圖
人工神經網絡模型是指對網絡結構、聯結權值和學習能力的總括。經常使用的網絡模型已有數十種。例如:
傳統的感知機模型;具備偏差反向傳播功能的反向傳播網絡模型;採用多變量插值的徑向基函數網絡模型;創建在統計學習理論基礎上的支撐向量機網絡模型;採用反饋聯接方式的反饋網絡模型;基於模擬退火算法的隨機網絡模型。
前饋網絡
單層前饋網絡是指那種只擁有單層計算節點的前向網絡。它僅含有輸入層和輸出層,且只有輸出層的神經元是可計算節點。
其中,輸入向量爲X=(x1,x2,…,xn);輸出向量爲Y=(y1,y2,…,ym);輸入層各個輸入到相應神經元的鏈接權值分別是wij,i=1,2,…,n,j=1,2,…, m。
若假設各神經元的閾值分別是θj,j=1,2,…,m,則各神經元的輸出yj, j=1,2,…,m分別爲:
其中,由全部鏈接權值wij構成的鏈接權值矩陣W爲:
在實際應用中,該矩陣是經過大量的訓練示例學習而造成的。
多層前饋網絡是指那種除擁有輸入、輸出層外,還至少含有一個、或更多個隱含層的前饋網絡。典型表明:BP網絡。
隱含層做用:經過對輸入層信號的加權處理,將其轉移成更能被輸出層接受的形式。
反饋網絡
反饋網絡是指容許採用反饋聯結方式所造成的神經網絡。反饋聯結方式:是指一個神經元的輸出能夠被反饋至同層或前層的神經元。典型表明:Hopfield網絡。
感知器是美國學者羅森勃拉特(Rosenblatt)於1957年爲研究大腦的存儲、學習和認知過程而提出的一類具備自學習能力的神經網絡模型,其拓撲結構是一種分層前向網絡。包括:單層感知器和多層感知器。
使用感知器的主要目的是 爲了對外部輸入進行分類。
羅森勃拉特已經證實,若是外部輸入是線性可分的(指存在一個超平面能夠將它們分開),則單層感知器必定可以把它劃分爲兩類。其判別超平面由以下判別式肯定:
做爲例子,下面討論用單個感知器實現邏輯運算的問題。
單層感知器是一種只具備單層可調節鏈接權值神經元的前向網絡,這些神經元構成了單層感知器的輸出層,是感知器的可計算節點。
多層感知器是經過在單層感知器的輸入、輸出層之間加入一層或多層處理單元所構成的。
偏差反向傳播(Error Back Propagation)網絡簡稱爲BP網絡,是由美國加州大學的魯梅爾哈特和麥克萊蘭於1985年提出的一種網絡模型。
在BP網絡中,同層節點之間不存在相互鏈接,層與層之間多采用全互連方式,且各層的鏈接權值可調。BP網絡實現了明斯基的多層網絡的設想,是當今神經網絡模型中使用最普遍的一種。
如上圖所示,BP網絡的網絡拓撲結構是多層前向網絡。
對BP網絡需說明如下兩點:
第一,BP網絡的每一個處理單元均爲非線性輸入/輸出關係,其做用函數一般採用的是可微的Sigmoid函數,如:
!
第二,BP網絡的學習過程是由工做信號的正向傳播和偏差信號的反向傳播組成的。所謂正向傳播,是指輸入模式經隱層到輸出層,最後造成輸出模式;所謂偏差反向傳播,是指從輸出層開始逐層將偏差傳到輸入層,並修改各層聯接權值,使偏差信號爲最小的過程。
Hopfield網絡是由美國加州工學院物理學家霍普菲爾特1982年提出來的一種單層全互連的對稱反饋網絡模型。分爲離散Hopfield網絡和連續Hopfield網絡。
離散Hopfield網絡是在非線性動力學的基礎上由若干基本神經元構成的一種單層全互連網絡,其任意神經元之間均有鏈接,而且是一種對稱鏈接結構。
離散Hopfield網絡模型是一個離散時間系統,每一個神經元只有0和1(或-1和1)兩種狀態,任意神經元i和j之間的鏈接權值爲Wij。因爲神經元之間爲對稱鏈接,且神經元自身無鏈接,所以有
由該鏈接權值所構成的鏈接矩陣是一個零對角的對稱矩陣。
在 Hopfield網絡中,雖然神經元自身無鏈接,但因爲每一個神經元都與其餘神經元相連,即每一個神經元的輸出都將經過突觸鏈接權值傳遞給別的神經元,同時每一個神經元又都接受其餘神經元傳來的信息,這樣對每一個神經元來講,其輸出通過其餘神經元后又有可能反饋給本身,所以Hopfidld網絡是一種反饋神經網絡 。
【例子】
已知網絡結構如圖所示,網絡輸入輸出路標所示。其中,f(x)爲x的符號函數,bias取常數1,設初始值隨機取成(0.75,0.5,-0.6)。利用偏差傳播學習算法調整神經網絡權值。
解題過程:
機器學習的定義:
西蒙(Simon,1983):學習就是系統中的適應性變化,這種變化使系統在重複一樣工做或相似工做時,可以作得更好。明斯基(Minsky,1985):學習是在人們頭腦裏(心理內部)有用的變化。
學習是一個有特定目的知識獲取和能力增加過程,其內在行爲是得到知識、積累經驗、發現規律等,其外部表現是改進性能、適應環境、實現自我完善等。
機器學習是研究如何使用機器來模擬人類學習活動的一門學科。
進入21世紀,機器學習的階段研究熱點:
2000-2006年的流形學習、2006-2011年的稀疏學習、2012年-至今的深度學習、將來:遷移學習?
提一下,深度學習目前存在如下問題
概括學習是應用概括推理進行學習的一種方法。
概括學習的模式:
實驗規劃過程經過對實例空間的搜索完成實例選擇,並將這些選中拿到的活躍實例提交給解釋過程。解釋過程對實例加以適當轉換,把活躍實例變換爲規則空間中的特定概念,以引導規則空間的搜索。
概括學習是目前研究得最多的學習方法,其學習目的是爲了得到新概念、構造新規則或發現新理論。
根據概括學習有無教師指導,可把它分爲
類比學習(learning by analogy)就是經過類比,即經過對類似事物加以比較所進行的一種學習 。
類比學習是利用二個不一樣領域(源域、目標域)中的知識類似性,能夠經過類比,從源域的知識(包括類似的特徵和其它性質)推導出目標域的相應知識,從而實現學習。例如:
類比學習系統能夠使一個已有的計算機應用系統轉變爲適應於新的領域,來完成原先沒有設計的相相似的功能。
類比推理過程:
類比學習研究類型
S1:A->B
,若是有A'≌A
,則可能有B’知足A'->B'
解釋學習(Explanation-based learning, EBL)興起於20世紀80年代中期,根據任務所在領域知識和正在學習的概念知識,對當前實例進行分析和求解,得出一個表徵求解過程的因果解釋樹,以獲取新的知識。
例如:學生根據教師提供的目標概念、該概念的一個例子、領域理論及可操做準則,首先構造一個解釋來講明爲何該例子知足目標概念,而後將解釋推廣爲目標概念的一個知足可操做準則的充分條件。
解釋學習過程和算法
米切爾提出了一個解釋學習的統一算法EBG,創建了基於解釋的歸納過程,並用知識的邏輯表示和演繹推理進行問題求解。其通常性描述爲:
EBG算法可歸納爲兩步:
單層感知器學習算法可描述以下:
(1)、設t=0,初始化鏈接權和閾值。即給wi(0)(i=1, 2, … ,n)及θ(0)分別賦予一個較小的非零隨機數,做爲初值。其中,wi(0)是第0次迭代時輸入向量中第i個輸入的鏈接權值;θ(0)是第0次迭代時輸出節點的閾值;
(2)、提供新的樣本輸入xi(t)(i=1, 2, … , n)和指望輸出d(t);
(3)、計算網絡的實際輸出:
(4)、若y(t)=d(t),不須要調整鏈接權值,轉(6)。不然,須要調整權值;
(5)、調整鏈接權值;
其中,η是一個增益因子,用於控制修改速度,其值若是太大,會影響wi(t)的收斂性;若是過小,又會使wi(t)的收斂速度太慢;
(6)、判斷是否知足結束條件,若知足,算法結束;不然,將t值加1,轉(2)從新執行。這裏的結束條件通常是指wi(t)對一切樣本均穩定不變。
若輸入的兩類樣本是線性可分的,則該算法就必定會收斂。不然,不收斂。
【例子】用單層感知器實現邏輯「與」運算。
解:根據「與」運算的邏輯關係,可將問題轉換爲:
輸入向量:
X1=[0, 0, 1, 1]
X2=[0, 1, 0, 1]
輸出向量:
Y=[0, 0, 0, 1]
爲減小算法的迭代次數,設初始鏈接權值和閾值取值以下:
w1(0)=0.5
, w2(0)=0.7
, θ(0)=0.6
並取增益因子η=0.4
。
算法的學習過程以下:
設兩個輸入爲x1(0)=0
和x2(0)=0
,其指望輸出爲d(0)=0
,實際輸出爲:
y(0)=f(w1(0)x1(0)+ w2(0)x2(0)-θ(0)) =f(0.5*0+0.7*0-0.6) =f(-0.6) =0
實際輸出與指望輸出相同,不須要調節權值。
再取下一組輸入:x1(0)=0
和x2(0)=1
,指望輸出d(0)=0
,實際輸出:
y(0)=f(w1(0) x1(0)+ w2(0) x2(0)-θ(0)) =f(0.5*0+0.7*1-0.6) =f(0.1) =1
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(1)=θ(0)+η(d(0)- y(0))*(-1)=0.6+0.4*(0-1)*(-1)=1 w1(1)=w1(0)+η(d(0)- y(0))x1(0)=0.5+0.4*(0-1)*0=0.5 w2(1)=w2(0)+η(d(0)- y(0))x2(0)=0.7+0.4*(0-1)*1=0.3
取下一組輸入:x1(1)=1
和x2(1)=0
,其指望輸出爲d(1)=0
,實際輸出爲:
y(1)=f(w1(1) x1(1)+ w2(1) x2(1)-θ(1)) =f(0.5*1+0.3*0-1) =f(-0.51) =0
實際輸出與指望輸出相同,不須要調節權值。
再取下一組輸入:x1(1)=1和x2(1)=1
,其指望輸出爲d(1)=1
,實際輸出爲:
y(1)=f(w1(1) x1(1)+ w2(1) x2(1)-θ(1)) =f(0.5*1+0.3*1-1) =f(-0.2) =0
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(2)=θ(1)+η(d(1)- y(1))*(-1)=1+0.4*(1-0)*(-1)=0.6 w1(2)=w1(1)+η(d(1)- y(1))x1(1)=0.5+0.4*(1-0)*1=0.9 w2(2)=w2(1)+η(d(1)- y(1))x2(1)=0.3+0.4*(1-0)*1=0.7
取下一組輸入:x1(2)=0
和x2(2)=0
,其指望輸出爲d(2)=0
,實際輸出爲:
y(2)=f(0.9*0+0.7*0-0.6)=f(-0.6)=0
實際輸出與指望輸出相同,不須要調節權值.
再取下一組輸入:x1(2)=0
和x2(2)=1
,指望輸出爲d(2)=0
,實際輸出爲:
y(2)=f(0.9*0+0.7*1-0.6)=f(0.1)=1
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(3)=θ(2)+η(d(2)- y(2))*(-1)=0.6+0.4*(0-1)*(-1)=1 w1(3)=w1(2)+η(d(2)- y(2))x1(2)=0.9+0.4*(0-1)*0=0.9 w2(3)=w2(2)+η(d(2)- y(2))x2(2)=0.7+0.4*(0-1)*1=0.3
實際上,由與運算的閾值條件可知,此時的閾值和鏈接權值以知足結束條件,算法能夠結束。
對此,可檢驗以下:
對輸入:「0 0」有y=f(0.9*0+0.3*0-1)=f(-1)=0
對輸入:「0 1」有y=f(0.9*0+0.3*0.1-1)=f(-0.7)=0
對輸入:「1 0」有y=f(0.9*1+0.3*0-1)=f(-0.1)=0
對輸入:「1 1」有y=f(0.9*1+0.3*1-1)=f(0.2)=1
多層感知器能夠解決非線性可分問題,但其隱層神經元的指望輸出卻不易給出。
而單層感知器學習是一種有導師指導的學習過程,所以其學習算法沒法直接用於多層感知器。
因爲多層感知器和BP網絡都屬於前向網絡,並能較好解決多層前饋網絡的學習問題.
所以,可用BP學習來解決多層感知器學習問題。
相關的一些概念:決策樹、 隨機森林、邏輯迴歸、樸素貝葉斯、K最近臨算法、馬爾可夫……
遺傳算法最先由美國密西根大學的J. Holland 教授提出,起源於20世紀60年代對天然和人工自適應系統的研究。70年代,De Jong 基於遺傳算法的思想在計算機上進行了大量的純數值函數優化計算實驗。在一系列研究工做的基礎上,80年代由Goldberg進行概括總結,造成了遺傳算法的基本框架
遺傳算法(Genetic Algorithm, GA)是模擬生物在天然環境種的遺傳和進化過程而造成的一種自適應全局優化機率搜索算法。
是從初始種羣出發,採用優勝劣汰、適者生存的天然法則選擇個體,並經過雜交、變異來產生新一代種羣,如此逐代進化,直到知足目標爲止。
算法主要內容和基本步驟
(1) 選擇編碼策略,將問題搜索空間中每一個可能的點用相應的編碼策略表示出來,即造成染色體;
(2) 定義遺傳策略,包括種羣規模N,交叉、變異方法,以及選擇機率Pr、交叉機率Pc、變異機率Pm等遺傳參數;
(3) 令t=0,隨機選擇N個染色體初始化種羣P(0);
(4) 定義適應度函數f(f>0);
(5) 計算P(t)中每一個染色體的適應值;
(6) t=t+1;
(7) 運用選擇算子,從P(t-1)中獲得P(t);
(8) 對P(t)中的每一個染色體,按機率Pc參與交叉;
(9) 對染色體中的基因,以機率Pm參與變異運算;
(10) 判斷羣體性能是否知足預先設定的終止標準,若不知足則返回(5)。
經常使用的遺傳編碼算法
適應度函數
適應度函數是一個用於對個體的適應性進行度量的函數。一般,一個個體的適應度值越大,它被遺傳到下一代種羣中的機率也就越大。
(1) 經常使用的適應度函數
原始適應度函數:直接將待求解問題的目標函數f(x)定義爲遺傳算法的適應度函數。
標準適應度函數
在某些狀況下,須要對適應度函數進行加速速度。
適應度函數的加速變換有兩種基本方法,即線性加速與非線性加速。
線性加速
f'(x)=αf(x)+β
xi(i=1,…,n)
爲當前代中的染色體。xi(i=1,…,n)
爲當前代中的染色體,M是指將當前的最大適應度放大爲平均值的M倍。目的是經過M拉開不一樣染色體適應度值的差距。非線性加速
f'(x)=f(x)k
f'(x)=exp(-βf(x))
基本遺傳操做
(1)、選擇操做
選擇(Selection)操做是指根據選擇機率按某種策略從當前種羣中挑選出必定數目的個體,使它們可以有更多的機會被遺傳到下一代中。
經常使用的選擇策略:
輪盤賭選擇算法的基本思想是:根據每一個個體的選擇機率P(xi)將一個圓盤分紅N個扇區,其中第i個扇區的中心角爲:
再設立一個移動指針,將圓盤的轉動等價爲指針的移動。選擇時,假想轉動圓盤,若靜止時指針指向第i個扇區,則選擇個體i。
從統計角度看,個體的適應度值越大,其對應的扇區的面積越大,被選中的可能性也越大。這種方法有點相似於發放獎品使用的輪盤,並帶有某種賭博的意思,所以亦被稱爲輪盤賭選擇。
(2)、交叉操做
X=x1 x2 … xk xk+1 … xn
Y=y1 y2 … yk yk+1 … yn
X'= x1 x2 … xk yk+1 … yn
Y'= y1 y2 … yk xk+1 … xn
X=x1 x2 … xi … xj … xn
Y=y1 y2 … yi … yj …,yn
i< j < n
),兩點交叉是將X中的xi+1到xj部分與Y中的yi+1到yj部分進行交換,交叉後生成的兩個新的個體是:X'= x1 x2 … xi yi+1 … yj xj+1 … xn
Y'= y1 y2 … yi xi+1 … xj yj+1 … yn
X=x1x2… xi…xk…xn
和Y=y1y2…yi…yk…yn
,若隨機選擇對第k個份量之後的全部份量進行交換,則生成的兩個新的個體向量是:
X'= x1 x2 … xk yk+1 … yn
Y'= y1 y2 … yk xk+1 … xn
(3)、變異操做
變異(Mutation)是指對選中個體的染色體中的某些基因進行變更,以造成新的個體。變異也是生物遺傳和天然進化中的一種基本現象,它可加強種羣的多樣性。遺傳算法中的變異操做增長了算法的局部隨機搜索能力,從而能夠維持種羣的多樣性。根據個體編碼方式的不一樣,變異操做可分爲二進制變異和實值變異兩種類型。
由James Kenney(社會心理學博士)和Russ Eberhart(電子工程學博士)於1995年提出粒子羣算法(Particle Swarm Optimization, PSO)。
經過遺留在來往路徑上的信息素(Pheromone)的揮發性化學物質來進行通訊和協調。
η(i, j)
是一個啓發式信息,一般由η (i, j)=1/dij
直接計算。τ (i, j)
表示邊(i, j)
上的信息素量。α =0
時,算法演變成傳統的隨機貪心算法,最鄰近城市被選中的機率最大。當β =0
時,螞蟻徹底只根據信息素濃度肯定路徑,算法將快速收斂,這樣構建出的最優路徑與實際目標差別較大,算法性能較差。m
:螞蟻個數;ρ
:信息素的蒸發率,規定0<r≤1
。Δτ (i, j)
:第k只螞蟻在它通過的邊上釋放的信息素量,它等於螞蟻k本輪構建路徑長度的倒數。Ck
:路徑長度,它是Rk中全部邊的長度和。模擬退火、工免疫系統、粗集理論、EDA算法、文化進化計算、量子計算、DNA計算、智能Agent、……
Agent的定義
Agent的譯法
建議把agent譯爲「(艾)真體」的理由:
真體的要素
真體必須利用知識修改其內部狀態(心理狀態),以適應環境變化和協做求解的須要。真體的行動受其心理狀態驅動。人類心理狀態的要素有認知(信念、知識、學習等)、情感(願望、興趣、愛好等)和意向(意圖、目標、規劃和承諾等)三種。着重研究信念(belief)、願望(desire)和意圖(intention)的關係及其形式化描述,力圖創建真體的BDI(信念、願望和意圖)模型,已成爲真體理論模型研究的主要方向。
真體的特性
Natural Language Understanding 俗稱人機對話。研究用電子計算機模擬人的語言交際過程,使計算機能理解和運用人類社會的天然語言如漢語、英語等,實現人機之間的天然語言通訊,以代替人的部分腦力勞動,包括查詢資料、解答問題、摘錄文獻、彙編資料以及一切有關天然語言信息的加工處理。
這一領域的研究涉及天然語言,即人們平常使用的語言,包括中文、英文、俄文、日文、德文、法文等等,因此它與語言學的研究有着密切的聯繫,但又有重要的區別。
天然語言處理並非通常地研究天然語言,而在於研製能有效地實現天然語言通訊的計算機系統,特別是其中的軟件系統。
實現人機間天然語言通訊意味着要使計算機既能理解天然語言文本的意義(即天然語言理解),也能以天然語言文原本表達給定的意圖、思想等(即天然語言生成)。
不管實現天然語言理解,仍是天然語言生成,都遠不如人們原來想象的那麼簡單,而是十分困難的。從目前的理論和技術現狀看,通用的、高質量的天然語言處理系統,仍然是較長期的努力目標,可是針對必定應用,具備至關天然語言處理能力的實用系統已經出現,有些已商品化,甚至開始產業化。典型的例子有:各類數據庫和專家系統的天然語言接口、各類機器翻譯系統、全文信息檢索系統、自動文摘系統等。
天然語言處理,即實現人機間天然語言通訊,或實現 天然語言理解和 天然語言生成是十分困難的。
形成困難的 根本緣由是天然語言文本和對話的各個層次上普遍存在的各類各樣的歧義性或多義性(ambiguity)。
通常狀況下,它們中的大多數都是能夠根據相應的語境和場景的規定而獲得解決的。也就是說,從整體上說,並不存在歧義。這也就是咱們平時並不感到天然語言歧義,和能用天然語言進行正確交流的緣由。可是一方面,咱們也看到,爲了消解歧義,是須要極其大量的知識和進行推理的。如何將這些知識較完整地加以收集和整理出來;又如何找到合適的形式,將它們存入計算機系統中去;以及如何有效地利用它們來消除歧義,都是工做量極大且十分困難的工做。這不是少數人短時期內能夠完成的,還有待長期的、系統的工做。
文字識別、語音識別、機器翻譯、自動文摘、句法分析、文本分類、信息檢索、信息獲取、信息過濾、天然語言生成、中文自動分詞、語音合成、問答系統
用天然語言與計算機進行通訊,這是人們長期以來所追求的。由於它既有明顯的實際意義,同時也有重要的理論意義:人們能夠用本身最習慣的語言來使用計算機,而無需再花大量的時間和精力去學習不很天然和習慣的各類計算機語言;人們也可經過它進一步瞭解人類的語言能力和智能的機制。
解題過程
原始問題能夠歸約爲下列3個子問題:
規約過程:
歸約圖示:
與或圖表示
用一個相似於圖的結構來表示,把問題歸約爲後繼問題的替換集合。
與圖:把一個複雜問題分解爲若干個較爲簡單的子問題,造成「與」樹。
或圖:把原問題變換爲若干個較爲容易求解的新問題,造成「或」樹。
謂詞邏輯法採用謂詞合式公式和一階謂詞演算將要解決的問題變成一個有待證實的問題,而後利用消解定理和消解反演來證實一個新語句是從已知的正確語句中導出的,從而證實這個新語句也是正確的。
謂詞邏輯是一種 形式語言,可以將數學中的邏輯論證符號化,謂詞邏輯常常與其餘表示方法混合使用,能夠表示比較複雜的問題。
語法和語義
連詞和量詞
連詞
合取、析取、蘊涵、非、雙條件
量詞
全稱量詞、存在量詞
謂詞公式
原子謂詞公式
由謂詞符號和若干項組成的謂詞演算
分子謂詞公式
能夠用 連詞把原子謂詞公式組成複合謂詞公式,並把它叫作分子謂詞公式
一般把合式公式叫作謂詞公式。在謂詞演算中合式公式的遞歸定義以下:
合式公式的性質
置換
置換是用變元、常量、函數來替換變元,使該變元不在公式中出現,形如{t1/x1, t2/x2,...,tn/xn}
的有限集合,其中:
t1,t2,...,tn
是項;x1,x2,...,xn
是互不相同的變元;ti/xi
表示用ti項替換變元xi
,不容許ti
和xi
相同,也不容許變元xi
循環地出如今另外一個tj中。推理規則:用合式公式的集合產生新的合式公式
置換是 可結合的;
用s1s2
表示兩個置換s1和s2的合成,L表示一個表達式,則有(Ls1)s2 = L(s1s2)
以及(s1s2)s3 = s1(s2s3)
,即用s1和s2相繼做用於表達式L是與用s1s2
做用於L同樣的。
通常說來,置換是 不可交換的,即s1s2 ≠ s2s1
。
合一
尋找項對變量的置換,以使兩表達式一致,叫作合一。
若是一個置換s做用於表達式集合{Ei}
的每一個元素,則用{Ei}s
來表示置換的集。稱表達式{Ei}是可合一的,若是存在一個置換s使得:E1s = E2s = E3s =……
,那麼,稱此s爲{Ei}
的合一者,由於s的做用是使集合{Ei}
成爲單一形式。
例如:設有公式集E={ P( x, y, f(y)), P( a, g(x), z) }
,則s={a/x, g(a)/y, f(g(a))/z}
是它的一個合一。
語義網絡是經過概念及其語義關係來表達知識一種網絡圖,是一種 結構化表示方法。
從圖論的觀點看,語義網絡是一個「帶標識的有向圖」,它由 節點和 弧線或鏈線組成。節點表明實體、概念、狀況等,弧線表明節點間的關係,必須帶標識。
語義網絡的解答是一個通過推理和匹配而獲得的具備明確結果的新的語義網路,擴展後能夠表示更復雜的問題。
語義網絡中最基本的語義單元稱爲語義基元,可用三元組表示爲:(結點1,弧,結點2)。
二元語義網絡的表示
例如:用語義網絡表示:李新的汽車的款式是「捷達」、銀灰色;王紅的汽車的款式是「凱越」、紅色;李新和王紅的汽車均屬於具體概念,可增長「汽車」 這個抽象概念。
多元語義網絡的表示
框架網絡:
框架結構:
每一個框架都有框架名,表明某一類對象
一個框架由若干個槽(項目)組成,用於表示對象的某個方面的屬性
有時一個槽(屬性)還要從不一樣的側面來描述,每一個側面可具備一個或多個值。
注意:框架中的槽與側面可任意定義,也能夠是另外一框架,造成框架網絡系統。
劇本表示法(ppt-6)
過程表示法(ppt-6)
…
推理方法及其分類
推理的控制策略及其分類
推理的控制策略是指如何使用領域知識使推理過程儘快達到目標的策略。
*各類搜索策略的主要區別在於對OPEN表中節點的排列順序不一樣。*例如,廣度優先搜索把先生成的子節點排在前面,而深度優先搜索則把後生成的子節點排在前面。
廣度優先搜索算法流程:
以八數碼問題爲例,獲得下面這個廣度優先搜索樹:
在上述廣度優先算法中須要注意兩個問題:
廣度優先搜索的優缺點:
深度優先搜索算法流程:
在深度優先搜索中,搜索一旦進入某個分支,就將沿着該分支一直向下搜索。若是目標節點剛好在此分支上,則可較快地獲得解。可是,若是目標節點不在此分支上,而該分支又是一個無窮分支,則就不可能獲得解。因此深度優先搜索是不完備的,即便問題有解,它也不必定能求得解。
所以,爲了防止搜索過程沿着無益的路徑擴展下去,每每給出一個節點擴展的最大深度,即 深度界限。當搜索深度達到了深度界限而仍未出現目標節點時,就換一個分支進行搜索。
有界深度優先搜索的特色:
代價樹搜索
考慮邊的代價的搜索方法,代價樹搜索的目的是爲了找到一條代價最小的解路徑。代價樹搜索方法包括:
啓發式信息與代價函數
採用問題自身的特性信息,以指導搜索朝着最有但願的方向前進。
啓發性信息是指那種與具體問題求解過程有關的,並可指導搜索過程朝着最有但願方向前進的控制信息。啓發信息的啓發能力越強,擴展的無用結點越少。
啓發性信息的種類
估價函數的通常形式爲:f(x) = g(x)+h(x)
,其中g(x)
表示從初始節點S0到節點x的代價;h(x)
是從節點x到目標節點Sg的最優路徑的代價的估計,它體現了問題的啓發性信息,h(x)
稱爲啓發函數。
A算法與A*算法
A算法:在圖搜索算法中,若是能在搜索的每一步都利用估價函數f(n)=g(n)+h(n)
對OPEN表中的節點進行排序,則該搜索算法爲A算法。
A算法的類型
可根據搜索過程當中選擇擴展節點的範圍,將啓發式搜索算法分爲:
A*算法是對A算法的估價函數f(n)=g(n)+h(n)
加上某些限制後獲得的一種啓發式搜索算法。
假設f*(n)
是從初始節點出發通過節點n達到目標節點的最小代價,估價函數f(n)
是對f*(n)
的 估計值。且f*(n)=g*(n)+h*(n)
,g*(n)
是從初始節點S0到節點n的最小代價。h*(n)
是從節點n到目標節點的最小代價,如有多個目標節點,則爲其中最小的一個。
A*算法對A算法(全局擇優的啓發式搜索算法)中的g(n)
和h(n)
分別提出以下限制:
g(n)
是對最小代價g*(n)
的估計,且g(n)>0
;h(n)
是最小代價h*(n)
的下界,即對任意節點n均有h(n)≤h*(n)
。即:知足上述兩條限制的A算法稱爲A*算法。
一、 與/或樹的通常搜索過程
(1) 把原始問題做爲初始節點S0,並把它做爲當前節點; (2) 應用分解或等價變換操做對當前節點進行擴展; (3) 爲每一個子節點設置指向父節點的指針; (4) 選擇合適的子節點做爲當前節點,反覆執行第(2)步和第(3)步,在此期間須要屢次調用可解標記過程或不可解標記過程,直到初始節點被標記爲可解節點或不可解節點爲止。
二、 與/或樹的廣度優先搜索
(1)把初始節點S0放入OPEN表中; (2)把OPEN表的第一個節點取出放入CLOSED表,並記該節點爲n; (3)若是節點n可擴展,則作下列工做: ① 擴展節點n,將其子節點放入OPEN表的尾部,併爲每個子節點設置指向父節點的指針; ② 考察這些子節點中有否終止節點。如有,則標記這些終止節點爲可解節點,並用可解標記過程對其父節點及先輩節點中的可解解節點進行標記。若是初始解節點S0可以被標記爲可解節點,就獲得瞭解樹,搜索成功,退出搜索過程;若是不能肯定S0爲可解節點,則從OPEN表中刪去具備可解先輩的節點。 ③ 轉第(2)步。 (4) 若是節點n不可擴展,則做下列工做: ① 標記節點n爲不可解節點; ② 應用不可解標記過程對節點n的先輩中不可解解的節點進行標記。若是初始解節點S0也被標記爲不可解節點,則搜索失敗,代表原始問題無解,退出搜索過程;若是不能肯定S0爲不可解節點,則從Open表中刪去具備不可解先輩的節點。 ③ 轉第(2)步。
【例子】 設有下圖所示的與/或樹,節點按標註順序進行擴展,其中標有t一、t二、t3的節點是終止節點,A、B、C爲不可解的端節點。
本例中與/或樹的廣度優先搜索過程:
(1) 先擴展1號節點,生成2號節點和3號節點。
(2) 擴展2號節點,生成A節點和4號節點。
(3) 擴展3號節點,生成t1節點和5號節點。因爲t1爲終止節點,則標記它爲可解節點,並應用可解標記過程,不能肯定3號節點是否可節。
(4) 擴展節點A,因爲A是端節點,所以不可擴展。調用不可解標記過程。
(5) 擴展4號節點,生成t2節點和B節點。因爲t2爲終止節點,標記爲可解節點,應用可解標記過程,可標記2號節點爲可解,但不能標記1號節點爲可解。
(6) 擴展5號節點,生成t3節點和C節點。因爲t3爲終止節點,標記它爲可解節點,應用可解標記過程,可標記1號節點爲可解節點。
(7) 搜索成功,獲得由一、二、三、四、5號節點和t一、t二、t3節點構成的解樹。
三、 與/或樹的深度優先搜索
(1)把初始節點S0放入OPEN表中; (2)把OPEN表第一個節點取出放入CLOSED表,並記該節點爲n; 與/或樹的深度優先搜索算法以下: (3)若是節點n的深度等於dm,則轉第(5)步的第①點; (4)若是節點n可擴展,則作下列工做: ① 擴展節點n,將其子節點放入OPEN表的首部,併爲每個子節點設置指向父節點的指針; ② 考察這些子節點中是否有終止節點。如有,則標記這些終止節點爲可解節點,並用可解標記過程對其父節點及先輩節點中的可解解節點進行標記。若是初始解節點S0可以被標記爲可解節點,就獲得瞭解樹,搜索成功;若是不能肯定S0爲可解節點,則從OPEN表中刪去具備可解先輩的節點。 ③ 轉第(2)步。 (5)若是節點n不可擴展,則做下列工做: ① 標記節點n爲不可解節點; ② 應用不可解標記過程對節點n的先輩中不可解解的節點進行標記。若是初始解節點S0也被標記爲不可解節點,則搜索失敗,代表原始問題無解,退出搜索過程;若是不能肯定S0爲不可解節點,則從Open表中刪去具備不可解先輩的節點。 ③ 轉第(2)步。
四、 與/或樹的啓發式搜索
(1) 把初始節點S0放入OPEN表中; (2) 求出但願樹T,即根據當前搜索樹中節點的代價h求出以S0爲根的但願樹T; (3) 依次在OPEN表中取出T的端節點放入CLOSED表,並記該節點爲n;節點n有三種不一樣狀況: ①n爲終止節點, ②n不是終止節點,但可擴展, ③n不是終止節點,且不可擴展, 對三種狀況分別進行步驟(4) (5) (6)的操做過程; (4)若是節點n爲終止節點,則: ① 標記節點n爲可解節點; ② 在T上應用可解標記過程,對n的先輩節點中的全部可解解節點進行標記; ③ 若是初始解節點S0可以被標記爲可解節點,則T就是最優解樹,成功退出; ④ 不然,從OPEN表中刪去具備可解先輩的全部節點。 ⑤ 轉第(2)步。 (5) 若是節點n不是終止節點,但可擴展,則: ① 擴展節點n,生成n的全部子節點; ② 把這些子節點都放入OPEN表中,併爲每個子節點設置指向父節點n的指針; ③ 計算這些子節點及其先輩節點的h值; ④ 轉第(2)步。 (6) 若是節點n不是終止節點,且不可擴展,則: ① 標記節點n爲不可解節點; ② 在T上應用不可解標記過程,對n的先輩節點中的全部不可解解節點進行標記; ③ 若是初始解節點S0可以被標記爲不可解節點,則問題無解,失敗退出; ④ 不然,從OPEN表中刪去具備不可解先輩的全部節點。 ⑤ 轉第(2)步。
五、 博弈樹的啓發式搜索
六、 α-β剪枝技術
搜索的完備性與效率
完備性
搜索效率
其中,外顯率定義爲:P=L/T
;L爲從初始節點到目標節點的路徑長度;T爲整個搜索過程當中所生成的節點總數。
外顯率反映了搜索過程當中從初始節點向目標節點前進時 搜索區域的寬度。當T=L
時,P=1
,表示搜索過程當中每次只生成一個節點,它剛好是解路徑上的節點,搜索效率最高。P越小表示搜索時產生的無用節點愈多,搜索效率愈低。
有效分枝因數B定義爲:B+B^2+…+B^L=T
;B是有效分枝因數,它表示在整個搜索過程當中 每一個節點平均生成的子節點數目;L爲從初始節點到目標節點的路徑長度;T爲整個搜索過程當中所生成的節點總數。當B=1
時,L=T
,此時所生成的節點數最少,搜索效率最高。
從一組已知爲真的事實出發,直接運用經典邏輯中的推理規則推出結論的過程稱爲天然演繹推理。
天然演繹推理最基本的推理規則是三段論推理,它包括:
【例子】 設已知以下事實:
(1) 只要是須要編程序的課,王程都喜歡。
(2) 全部的程序設計語言課都是須要編程序的課。
(3) C是一門程序設計語言課。
求證:王程喜歡C這門課。
證實:
第一步,首先定義謂詞
Prog(x)
:x是須要編程序的課。
Like(x, y)
: x喜歡y。
Lang(x)
: x是一門程序設計語言課
第二步,把已知事實及待求解問題用謂詞公式表示以下:
Prog(x)→Like(Wang , x)
(∀x)( Lang(x)→Prog(x))
Lang(C)
第三步,應用推理規則進行推理:
Lang(y)→Prog(y)
全稱固化
Lang(C),Lang(y)→Prog(y) ⇒ Prog(C)
假言推理 {C/y}
Prog(C), Prog(x)→Like(Wang , x) ⇒ Like(Wang , C)
假言推理 {C/x}
所以,王程喜歡C這門課。
P→Q
爲真時,但願經過確定後件Q爲真來推出前件P爲真,這是不容許的。P→Q
爲真時,但願經過否認前件P來推出後件Q爲假,這也是不容許的。一種基於 魯濱遜(Robinson)消解原理的機器推理技術。魯濱遜消解原理亦稱爲消解原理,是魯濱遜於1965年在海伯倫(Herbrand)理論的基礎上提出的一種基於邏輯的「反證法」。
在人工智能中,幾乎全部的問題均可以轉化爲一個定理證實問題。定理證實的實質,就是要對前提P和結論Q,證實
P→Q
永真。
而要證實P→Q
永真,就是要證實P→Q
在任何一個非空的個體域上都是永真的。這將是很是困難的,甚至是不可實現的。
魯濱遜消解原理把永真性的證實轉化爲關於 不可知足性的證實。即:要證實P→Q
永真,只需證實P∧¬Q
不可知足。(¬(P→Q) ⇔ ¬(¬P∨Q) ⇔ P∧¬Q
)
魯濱遜消解原理是在子句集的基礎上討論問題的。所以,討論消解演繹推理以前,須要先討論子句集的有關概念。
把謂詞公式化成子句集的步驟
子句集的意義
在上述化簡過程當中,因爲在消去存在量詞時所用的Skolem函數能夠不一樣,所以化簡後的標準子句集是不惟一的。所以,當原謂詞公式爲非永假時,它與其標準子句集並不等價。但當原謂詞公式爲永假(或不可知足)時,其標準子句集則必定是永假的,即Skolem化並不影響原謂詞公式的永假性。
不可知足性
對於任意論域中的任意一個解釋,S中的子句不能同時取得真值T。
定理:設有謂詞公式F,其子句集爲S,則F不可知足的充要條件是S不可知足。
魯濱遜消解原理的基本思想
魯濱遜消解原理包括
命題邏輯的消解
消解推理的核心是求兩個子句的 消解式。
【例子】
S1的不可知足性⇔S的不可知足性
S2的不可知足性⇔S的不可知足性
上述兩個推論說明,爲證實子句集S的不可知足性,只要對其中可進行消解得子句進行消解,並把消解式加入到子句集S中,或者用消解式代替他的親本子句,而後對新的子句集證實其不可知足性就能夠了。
若是經消解能獲得空子句,根據空子句的不可知足性,便可獲得原子句集S是不可知足的結論。
在命題邏輯中,對不可知足的子句集S,其消解原理是完備的。即:子句集S是不可知足的,當且僅當存在一個從S到空子句的消解過程。
應用消解原理證實定理的過程稱爲 消解反演。
命題邏輯的消解反演:
在命題邏輯中,已知F,證實G爲真的消解反演過程以下:
【例子】 設已知的公式集爲{P,(P∧Q)→R,(S∨T)→Q,T}
,求證:R爲真。
解:假設結論R爲假, 將¬R加入公式集,並化爲子句集:
S={P,¬P∨¬Q∨R,¬S∨Q,¬T∨Q,T,¬R}
其消解過程以下圖的消解演繹樹所示。
該樹根爲空子句NIL,則子句集S不可知足,即假設有誤,因而證得R爲真。
謂詞邏輯的消解
設C1和C2是兩個沒有公共變元的子句,L1和L2分別是C1和C2中的文字。若是 σ 是L1和¬ L2存在的最通常合一
,則稱:
C12=({C1σ}-{ L1σ})∪({ C2σ}-{ L2σ})
爲C1和C2的二元消解式,L1和L2爲消解式上的文字。
注意:在謂詞邏輯的消解過程當中,要注意如下幾個問題:
【例子】
例一、設C1=P(a)∨R(x)
,C2=¬P(y)∨Q(b)
,求 C12。
解:取L1= P(a)
, L2=¬P(y)
,則L1和¬L2的最通常合一是σ={a/y}
。所以:
C12 = ( {C1σ}-{L1σ}) ∪ ({C2σ}-{L2σ}) = ({P(a), R(x)}-{P(a)})∪({¬P(a), Q(b)}-{¬P(a)}) = ({R(x)})∪({Q(b)}) = { R(x), Q(b) } = R(x)∨Q(b)
例二、設C1=P(x)∨Q(a)
,C2=¬P(b)∨R(x)
,求 C12。
解:因爲C1和C2有相同的變元x,不符合定義的要求。爲了進行消解,須要修改C2中變元的名字。令C2=¬P(b)∨R(y)
,此時L1= P(x)
, L2 =¬P(b)
,L1和¬L2的最通常合一是 σ={b/x}
。則有:
C12 = ({C1σ}-{L1σ})∪ ({C2σ}-{L2σ}) = ({P(b), Q(a)}-{P(b)}) ∪ ({¬P(b), R(y)}-{¬P(b)}) = ({Q(a)}) ∪ ({R(y)}) = {Q(a), R(y)} = Q(a)∨R(y)
例三、設 C1=P(a)∨¬Q(x)
,C2=¬P(y)∨Q(b)
,求C12。
解:對C1和C2經過最通常合一(σ={b/x, a/y}
)的做用,便獲得空子句NIL的結論,從而得出C一、C2互相矛盾的結論,而事實上C一、C2並沒有矛盾。
例四、設 C1=P(x)∨P(f(a))∨Q(x)
,C2=¬P(y)∨R(b)
,求C12。
解:本例的C1中有可合一的文字P(x)與P(f(a)),用它們的最通常合一σ={f(a)/x}
進行代換,可獲得 :
C1σ=P(f(a))∨Q(f(a))
此時對C1σ與C2進行消解。選L1= P(f(a))
, L2 =¬P(y)
,L1和L2的最通常合一是σ={f(a)/y}
,則可獲得C1和C2的二元消解式爲:
C12=R(b)∨Q(f(a))
例五、設 C1=P(y)∨P(f(x))∨Q(g(x))
、C2=¬P(f(g(a)))∨Q(b)
,求C12。
解:對C1,取最通常合一σ={f(x)/y}
,得C1的因子C1σ=P(f(x))∨Q(g(x))
,對C1的因子和C2消解(σ={g(a)/x }
),可得:C12=Q(g(g(a)))∨Q(b)
謂詞邏輯的消解反演:
在謂詞邏輯中,已知F,證實G是F的結論的消解反演過程以下:
與命題邏輯的消解反演過程比較一下
【例子】
例一、已知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的邏輯結論。
證實:
第一步,先把G否認,並放入F中,獲得的{F,¬G}
:
{(∀ x)((∃ y)(A(x,y)∧B(y))→(∃ y)(C(y)∧D(x,y)))
,¬(¬(∃ x)C(x)→(∀ x)(∀ y)(A(x,y)→¬ B(y)))}
第二步,把{F,¬G}化成子句集,獲得
(1) ¬A(x,y)∨¬B(y)∨C(f(x))
(2) ¬A(u,v)∨¬B(v)∨D(u,f(u))
(3) ¬C(z)
(4) A(m,n)
(5) B(k)
第三步,應用謂詞邏輯的消解原理對上述子句集進行消解,其過程爲:
(6) ¬ A(x,y)∨¬ B(y)
(1)和(3)消解,取σ={f(x)/z}
(7) ¬ B(n)
(4)和(6)消解,取σ={m/x,n/y}
(8) NIL
(5)和(7)消解,取σ={n/k}
最後,「G是F的邏輯結論」得證。
上述消解過程可用以下消解樹來表示
例二、「快樂學生」問題
假設:任何經過計算機考試並獲獎的人都是快樂的,任何肯學習或幸運的人均可以經過全部考試,張不願學習但他是幸運的,任何幸運的人都能獲獎。
求證:張是快樂的。
證實:(完整的解題過程)
第一步,先定義謂詞:
Pass(x, y):x能夠經過y考試
Win(x, prize):x能得到獎勵
Study(x) :x肯學習
Happy(x):x是快樂的
Lucky(x) :x是幸運的
第二步,將已知條件以及結論的否認用謂詞表示以下:
「任何經過計算機考試並獎的人都是快樂的」
(∀x)(Pass(x, computer)∧Win(x, prize)→Happy(x))
「任何肯學習或幸運的人均可以經過全部考試」
(∀x)(∀y)(Study(x)∨Lucky(x)→Pass(x, y))
「張不願學習但他是幸運的」
¬Study(zhang)∧Lucky(zhang)
「任何幸運的人都能獲獎」
(∀x)(Lucky(x)→Win(x, prize))
結論「張是快樂的」的否認
¬Happy(zhang)
第三步,將上述謂詞公式轉化爲子句集以下:
1. ¬Pass(x, computer)∨¬Win(x, prize)∨Happy(x)
2. ¬Study(y)∨Pass(y, z)
3. ¬Lucky(u)∨Pass(u, v)
4. ¬Study(zhang)
5. Lucky(zhang)
6. ¬Lucky(w)∨Win(w, prize)
7. ¬ Happy(zhang)
(結論的否認)
第四步,按消解原理進行消解,消解樹以下:
最後,「張是快樂的」得證。
在消解演繹推理中,因爲事先並不知道哪些子句對可進行消解,更不知道經過對哪些子句對的消解能儘快獲得空子句,所以就須要對子句集中的全部子句逐對進行比較,直到得出空子句爲止。這種盲目的全面進行消解的方法,不只會產生許多無用的消解式,更嚴重的是會產生組核爆炸問題。所以,須要研究有效的消解策略來解決這些問題。
經常使用的消解策略可分爲兩大類:
消解原理除了可用於 定理證實外,還可用來 求取問題答案,其思想與定理證實類似。
其通常步驟爲:
【例子】
例一、已知:「張和李是同班同窗,若是x和y是同班同窗,則x的教室也是y的教室,如今張在302教室上課。」
問:「如今李在哪一個教室上課?」
解:第一步,首先定義謂詞
C(x, y)
:x和y是同班同窗
At(x, u)
:x在u教室上課。
第二步,把已知前提用謂詞公式表示以下:
C(zhang, li)
(∀x)(∀y)(∀u)(C(x, y)∧At(x, u)→At(y,u))
At(zhang, 302)
把目標的否認用謂詞公式表示以下:
¬(∃v)At(li, v)
第三步,把上述表示前提的謂詞公式化爲子句集:
C(zhang, li)
¬C(x, y)∨¬At(x, u)∨At(y, u)
At(zhang, 302)
把目標的否認化成子句式,並用下面的 重言式代替:
¬At(li,v) ∨At(li,v)
第四步,把此 重言式加入前提子句集中,獲得一個新的子句集,對這個新的子句集,應用消解原理求出其證實樹。
求解過程以下圖所示。該證實樹的根子句就是所求的答案,即「李明在302教室」。
例二、已知:A,B,C三人中有人從不說真話,也有人從不說假話。某人向這三人分別提出同一個問題:誰是說謊者?
A答:「B和C都是說謊者」;
B答:「A和C都是說謊者」;
C答:「A和B中至少有一個是說謊者」。
問:求誰是老實人,誰是說謊者?
解:第一步,首先定義謂詞
T(x)
:表示x說真話
第二步,把已知前提用謂詞公式表示以下:
有人從不說真話:¬T(C)∨¬T(A)∨¬T(B)
有人從不說假話:T(C)∨T(A)∨T(B)
根據「A答:B和C都是說謊者」,則
若A說真話:T(A)→¬T(B)∧¬T(C)
若A說假話: ¬T(A)→T(B)∨T(C)
同理,根據「B答:A和C都是說謊者」,則
T(B)→¬T(A)∧¬T(C)
¬T(B)→T(A)∨T(C)
根據「C答:A和B中至少有一個是說謊者」,則
T(C)→¬T(A)∨¬T(B)
¬T(C)→T(A)∧T(B)
第三步,把上述公式化成子句集,獲得前提子句集S:
¬T(A)∨¬T(B)
¬T(A)∨¬T(C)
T(C)∨T(A)∨T(B)
¬T(B)∨¬T(C)
¬T(C)∨¬T(A)∨¬T(B)
T(A)∨T(C)
T(B)∨T(C)
第四步,先求誰是老實人,結論的否認爲:¬(∃x)T(x)
,把目標的否認化成子句式,並用下面的重言式代替:
¬T(x)∨T(x)
把此重言式加入前提子句集S,獲得一個新子句集。
第五步,對這個新的子句集,應用消解原理求出其證實樹。
第六步,同理證實A不是老實人,結論的否認爲: ¬T(A),將結論的否認¬(¬T(A)) 加入併入前提子句集S中,應用消解原理對新的子句集進行消解:
(¬A∧¬B)→C ¬A→(B∨C) (¬A∧¬C)→B ¬B→(A∨C) (¬C∧¬B)→A ¬C→(B∨A)
在消解演繹推理中,須要把謂詞公式化爲子句形,這使得原來蘊含在謂詞公式中的一些重要信息卻會在求取子句形的過程當中被丟失。
在很多狀況下人們多但願使用接近於問題原始描述的形式來進行求解,而不但願把問題描述化爲子句集。
基於規則的演繹推理又稱爲與/或形演繹推理,再也不把有關知識轉化爲子句集,而是把領域知識及已知事實分別用蘊含式及與/或形表示出來,而後經過運用蘊含式進行演繹推理,從而證實某個目標公式。
規則是一種比較接近於人們習慣的問題描述方式,按照 蘊含式(「If →Then」規則)這種問題描述方式進行求解的系統稱爲基於規則的系統,或者叫作 規則演繹系統。
規則演繹系統按照推理方式可分爲:
首先說明一下,在規則正向演繹系統中,對已知事實和規則都有必定的要求,若是不是所要求的形式,須要進行變換。
事實表達式的與或形變換
詳細來講,把事實表達式化爲非蘊含形式的與/或形的步驟以下:
【例子】
有以下表達式
(∃x) (∀y)(Q(y, x)∧﹁((R(y)∨P(y))∧S(x, y)))
可把它轉化爲:
Q(z, a)∧( ( ﹁R(y)∧﹁P(y) )∨﹁S(a, y) )
這就是 與/或形表示,也可用一棵與/或圖表示出來。
關於 與/或圖說明如下幾點:
E1∨E2∨…∨Ek
,其中每一個子表達式Ei均被表示爲E1∨E2∨…∨Ek
的後繼節點,並由一個k線鏈接符(即圖中的半圓弧)將這些後繼節點都鏈接到其父節點,即表示成與的關係。E1∧E2∧…∧Ek
,其中的每一個子表達式Ei均被表示爲E1∧E2∧…∧Ek
的一個單一的後繼節點,無需用鏈接符鏈接,即表示成或的關係。有了與/或圖的表示,就能夠求出其解樹(結束於文字節點上的子樹)集。能夠發現,事實表達式的子句集與解樹集之間存在着一一對應關係,即 解樹集中的每一個解樹都對應着子句集中的一個子句。
解樹集中每一個解樹的端節點上的文字的析取就是子句集中的一個子句。
上面那個與/或圖有3個解樹,分別對應這如下3個子句:
Q(z, a)
、﹁R(y)∨ ﹁ S(a, y)
、﹁P(y)∨ ﹁ S(a, y)
還須要注意如下兩點:
規則的表示
爲簡化演繹過程,一般要求規則具備以下形式:L→W
,其中,L爲單文字,W爲與/或形公式。
(之因此限制前件L爲單文字,是由於在進行正向演繹推理時要用規則做用於表示事實的與/或樹,而該與/或樹的葉節點都是單文字,這樣就可用規則的前件與葉節點進行簡單匹配。對非單文字狀況,若形式爲L1∨L2→W,則可將其轉換成與之等價的兩個規則L1→W與 L2→W進行處理。)
將規則轉換爲要求形式的步驟:
一、 暫時消去蘊含符號「→」。設有以下公式:
(∀x)(((∃y) (∀ z)P(x, y,z))→(∀u)Q(x, u))
運用等價關係「P→Q⇔﹁P∨Q」,可將上式變爲:
(∀x)(﹁((∃ y) (∀z)P(x, y,z))∨(∀u)Q(x, u))
二、 把否認符號「﹁」移到緊靠謂詞的位置上,使其做用域僅限於單個謂詞。經過使用狄.摩根定律及量詞轉換律可把上式轉換爲:
(∀ x)( (∀y) (∃z)﹁P(x, y,z))∨ (∀u)Q(x, u))
三、 引入Skolem函數,消去存在量詞。消去存在量詞後,上式可變爲:
(∀ x)( (∀y) (﹁P(x, y,f(x,y)))∨(∀u)Q(x, u))
四、 把全部全稱量詞移至前面化成前束式,消去所有全稱量詞。消去全稱量詞後,上式變爲:
﹁P(x, y,f(x,y))∨Q(x, u)
此公式中的變元都被視爲受全稱量詞約束的變元。
五、 恢復蘊含式表示。利用等價關係「﹁P∨Q⇔P→Q
」將上式變爲:
P(x, y,f(x,y))→Q(x, u)
目標公式的表示形式
推理過程
規則正向演繹推理過程是從已知事實出發,不斷運用規則,推出欲證實目標公式的過程。
先用與/或樹把已知事實表示出來,而後再用規則的前件和與/或樹的葉節點進行匹配,並經過一個匹配弧把匹配成功的規則加入到與/或樹中,依此使用規則,直到產生一個含有以目標節點爲終止節點的解樹爲止。
下面分命題邏輯和謂詞邏輯兩種狀況來討論規則正向演繹過程。
命題邏輯的規則正向演繹過程
已知事實:A∨B
規則:r1: A→C∧D
,r2: B→E∧G
目標公式:C∨G
證實:
1)先將已知事實用與/或樹表示出來;
2)而後再用匹配弧把r1和r2分別鏈接到事實與/或樹中與r1和r2 的前件匹配的兩個不一樣端節點;
3) 因爲出現了以目標節點爲終節點的解樹,故推理過程結束。這一證實過程可用下圖表示。
謂詞邏輯的規則正向演繹過程
已知事實的與/或形表示:P(x, y)∨(Q(x)∧R(v, y))
規則:P(u, v)→(S(u)∨N(v))
目標公式:S(a)∨N(b)∨Q©
證實:
在謂詞邏輯狀況下,因爲事實、規則及目標中均含有變元,所以,其規則演繹過程還須要用最通常合一對變進行置換。證實過程可用下圖表示。
產生式系統的 基本結構由 數據庫、產生式規則和 控制策略三部分構成。
產生式系統的推理分爲 正向推理、逆向推理和 雙向推理三種形式。
產生式系統的主要 優缺點
現實世界中的大多數問題存在隨機性、模糊性、不徹底性和不精確性。對於這些問題,若採用前面所討論的精確性推理方法顯然是沒法解決的。
爲此,出現了一些新的邏輯學派,稱爲非經典邏輯,相應的推理方法稱爲 非經典推理。包括非單調性推理、不肯定性推理、機率推理和貝葉斯推理等。
T(E1 AND E2)=min{T(E1),T(E2)}
T(E1 OR E2)=max{T(E1),T(E2)}
T(E1 AND E2)=T(E1)T(E2)
T(E1 OR E2)=T(E1)+T(E2)-T(E1)T(E2)
T(E1 AND E2)=max{0,T(E1)+T(E2)-1}
T(E1 OR E2)=min{1,T(E1)+T(E2)}
T(E)
和規則的強度F(E,H)
,則結論H的不肯定性:T(H) = g1[T(E),F(E,H)]
T(E1 AND E2) = g2[T(E1), T (E2)]
T(E1 OR E2) = g3[T(E1), T (E2)]
T1(H)
和T2(H)
,則證據E1和E2的組合致使結論H的不肯定性:T(H)=g[T1(H), T2(H)]
【例子】
設H1,H2,H3分別是三個結論,E是支持這些結論的證據。已知:
P(H1)=0.3 P(H2)=0.4 P(H3)=0.5 P(E|H1)=0.5 P(E|H2)=0.3 P(E|H3)=0.4
求P(H1|E),P(H2|E)及P(H3|E)的值各是多少?
解:
同理可得:
P(H2|E)=0.26
P(H3|E)=0.43
觀察:( 注:P(E)=0.47 )
P(H1)=0.3 , P(E|H1)=0.5 P(H1|E)=0.32
P(H2)=0.4 , P(E|H2)=0.3 P(H2|E)=0.26
P(H3)=0.5 , P(E|H3)=0.4 P(H3|E)=0.43
結論:因爲E的出現,H1成立的可能性增長,H2和H3成立的可能性不一樣程度的降低。
使用機率推理方法求結論Hi在存在證據E時的條件機率P(Hi|E) ,須要給出結論Hi的先驗機率P(Hi)及證據E的條件機率 P(E|Hi)。這對於實際應用是不容易作到的。
Duda 和 Hart 等人在貝葉斯公式的基礎上,於1976年提出主觀貝葉斯方法,創建了不精確推理的模型,並把它成功地應用於PROSPECTOR專家系統(PROSPECTOR是國際上著名的一個用於勘察固體礦的專家系統)。
知識不肯定性的表示
在主觀Bayes方法中,知識是用產生式表示的,其形式爲:
IF E THEN (LS, LN) H
E表示規則前提條件,它既能夠是一個簡單條件,也能夠是用AND或OR把多個簡單條件鏈接起來的複合條件。
H是結論,用P(H)表示H的先驗機率,它指出沒有任何專門證據的狀況下結論H爲真的機率,其值由領域專家根據以往的實踐經驗給出。
LS是規則的充分性度量。用於指出E對H的支持程度,取值範圍爲[0,+∞),其定義爲:
LN是規則的必要性度量。用於指出E對H爲真的必要程度,即﹁E對對H的支持程度。取值範圍爲[0,+∞),其定義爲:
證據不肯定性的表示
組合證據不肯定性的計算
不肯定性的更新
主觀貝葉斯方法的推理過程
什麼是可信度
該方法 直觀、簡單並且 效果好,在專家系統等領域得到了較爲普遍的應用。
C-F模型
C-F模型:基於可信度表示的不肯定性推理的基本方法,其餘可信度方法都是基於此發展而來。
知識的不肯定性表示
知識的不肯定性表示:在C-F模型中,知識是用產生式規則表示的,其通常形式爲:
IF E THEN H (CF(H, E))
E
:知識的前提條件,能夠是單一或複合條件;
H
:知識的結論,能夠是單一結論或多個結論;
CF(H, E)
:知識的可信度,稱爲 可信度因子(Certainty Factor)或規則強度。
通常狀況下,CF(H, E)的取值爲[-1, 1],表示當證據E爲真時,對結論H的支持程度。其值越大,表示支持程度越大。
例如:IF 發燒 AND 流鼻涕 THEN 感冒(0.7)
,表示當某人確實有「發燒」及「流鼻涕」症狀時,則有七成的把握是患了感冒。
CF(H,E)的定義:
CF(H,E) = MB(H,E) - MD(H,E)
MB和MD的關係:
P(H|E)>P(H)
時: E的出現增長了H的機率MB(H,E)>0,MD(H,E)=0
P(H|E)<P(H)
時: E的出現下降了H的機率MB(H,E) =0,MD(H,E)>0
可信度的性質(ppt-25)
CF(H,E)+CF(﹁H,E)=0
CF(H1, E)=0.7, CF(H2, E)=0.4
證據不肯定性的表示
否認證據的不肯定性計算
CF(¬E)=-CF(E)
組合證據的不肯定性計算
CF(E1), …, CF(En)
,則:CF(E)=min{CF(E1), CF(E2), … ,CF(En)}
CF(E1), …, CF(En)
,則:CF(E)=max{CF(E1), CF(E2), … ,CF(En)}
不肯定性的更新
IF E THEN H (CF(H, E))
結論H的可信度由下式計算:
CF(H)=CF(H,E)×max{0,CF(E)}
結論不肯定性的合成
IF E1 THEN H (CF(H, E1))
IF E2 THEN H (CF(H, E2))
CF1(H)=CF(H, E1) ×max{0, CF(E1)}
CF2(H)=CF(H, E2) ×max{0, CF(E2)}
(2)、用以下公式求E1與E2對H的綜合可信度
【例子】
設有以下一組知識:
r1:IF E1 THEN H (0.9) r2:IF E2 THEN H (0.6) r3:IF E3 THEN H (-0.5) r4:IF E4 AND ( E5 OR E6) THEN E1 (0.8)
已知:CF(E2)=0.8
,CF(E3)=0.6
,CF(E4)=0.5
,CF(E5)=0.6
,CF(E6)=0.8
,求:CF(H)
。
解:由r4獲得:
CF(E1) = 0.8×max{0, CF(E4 AND (E5 OR E6))} = 0.8×max{0, min{CF(E4), CF(E5 OR E6)}} = 0.8×max{0, min{CF(E4), max{CF(E5), CF(E6)}}} = 0.8×max{0, min{CF(E4), max{0.6, 0.8}}} = 0.8×max{0, min{0.5, 0.8}} = 0.8×max{0, 0.5} = 0.4 由r1獲得: CF1(H) = CF(H, E1)×max{0, CF(E1)} = 0.9×max{0, 0.4} = 0.36 由r2獲得: CF2(H) = CF(H, E2)×max{ 0, CF(E2) } = 0.6×max{ 0, 0.8 } = 0.48 由r3獲得: CF3(H) = CF(H, E3)×max{ 0, CF(E3) } = -0.5×max{ 0, 0.6 } = -0.3
根據結論不精確性的合成算法,CF1(H)和CF2(H)同號,有:
CF12(H)和CF3(H)異號,有:
綜合可信度爲CF(H)=0.53。
專家系統的先行者費根鮑姆(Feigenbaum)曾把專家系統定義爲一個應用知識和推理過程來求解那些須要大量的人類專家解決難題經驗的智能計算機程序。
專家系統主要指的是一個智能計算機程序系統,其內部含有大量的某個領域專家水平的知識與經驗,可以利用人類專家的知識和解決問題的經驗方法來處理該領域的高水平難題。
一個基於規則的專家系統採用下列模塊來創建產生式系統的模型:
以上部分專家系統就不詳敘了。
模糊邏輯的發展,是由理論準備到理論提出再到理論應用的過程
f : A → {0,1}
μA : U → [0,1]
【例子】表示「20歲左右」
μA : U→[0,1] 或 u→μA(u)
【例子】
論域U={1,2,3,4,5},用模糊集表示「大」和「小」。
解:設A、B分別表示「大」與「小」的模糊集,μA ,μB分別爲相應的隸屬函數。
A = {0, 0, 0.1, 0.6, 1}
B = {1, 0.5, 0.01, 0, 0}
其中:
μA(1)=0, μA(2)=0 , μA(3)=0.1 , μA(4)=0.6 , μA(5)=1
μB(1)=1, μB(2)=0.5 , μB(3)=0.01 , μB(4)=0, μB(5)=0
(1)、論域離散且爲有限
若論域 U={u1, … , un}爲離散論域,模糊集A表示爲:
A= {μA(u1), μA(u2), … , μA(un)}
也可寫爲:
A= μA(u1)/u1 + μA(u2)/u2 + … + μA(un)/un
其中,隸屬度爲0的元素能夠不寫。
例如:
A = 1/u1+0.7/u2+0/u3+0.4/u4 = 1/u1+0.7/u2+0.4/u4
(2)、論域連續
若論域是連續的,則模糊集可用實函數表示。
例如:以年齡爲論域U=[0,100], 「年輕」和「年老」這兩個概念可表示爲:
(3)、通常表示方法
無論論域 U 是有限的仍是無限的,是連續的亦或是離散的,扎德( L. A. Zadeh )又給出了一種相似於積分的通常表示形式:
這裏的記號不是數學中的積分符號,也不是求和,只是表示論域中各元素與其隸屬度對應關係的總括。
【例子】
設U={u1,u2,u3},
A=0.3/u1+0.8/u2+0.6/u3; B=0.6/u1+0.4/u2+0.7/u3
求A∩B,A∪B和¬A。
A∩B = (0.3∧0.6)/u1+(0.8∧0.4)/u2+(0.6∧0.7)/u3 = 0.3/u1+0.4/u2+0.6/u3 A∪B = (0.3∨0.6)/u1+(0.8∨0.4)/u2+(0.6∨0.7)/u3 = 0.6/u1+0.8/u2+0.7/u3 ¬A = (1-0.3)/u1+(1-0.8)/u2+(1-0.6)/u3 = 0.7/u1+0.2/u2+0.4/u3
設 Ai 是 Ui (i=1,2,…,n) 上的模糊集,則稱爲A1, A2, …, An的笛卡爾乘積,它是U1×U2×…×Un上的一個模糊集。
在U1×…×Un上一個n元模糊關係R是指以U1×…×Un爲論域的一個模糊集,記爲:
通常地說,當U和V都是有限論域時,U={u1,u2,…,um}
,V={v1,v2,…,vn}
,則U×V上的模糊關係R可用一個模糊矩陣表示
R1°R2
【例子】
設有兩個模糊關係
則R1與R2的合成是
設A={μA(u1),μA(u2),…,μA(un)}
是論域U上的模糊集,R是U×V
上的模糊關係,則A°R = B
稱爲模糊變換。
例如:設A={0.2,0.5,0.3}
例如:設對某廚師作的一道菜進行評判
評判標準是:色(u1)、香(u2) 、味(u3),它們構成論域:U= { u1, u2 , u3}。
評判時由評委對每個評判因素分別進行打分,評判等級是好(v1)、較好(v2) 、通常(v3)、差(v4),它們構成論域:V= {v1, v2 , v3 , v4}。
僅就色而言,有60%的評委認爲這道菜「好」, 20%的評委認爲 「較好」,20%的評委認爲 「通常」,沒有評委認爲 「差」,則對「色」的評價爲:{0.6 , 0.2, 0.2, 0}
對「香」的評價爲:{0.8 , 0.1, 0.1, 0}
對「味」的評價爲:{0.3 , 0.3, 0.3, 0.1}
這樣就能夠寫出矩陣R:
假設三個評判因素在評判中所佔的權重分別是:「色」爲0.3,「香」爲0.3,「味」爲0.4。這三個權重組成了U上的一個模糊向量:A={0.3 , 0.3, 0.4}
由此可獲得評委對這道菜的綜合評判爲:
在此例中,評判結果的各項和恰好爲1,因此它就是最終評判結果。
若是不是這樣,還須要對其進行歸一化處理,將歸一化後的結果做爲最終評判結果。
知識中只含有簡單條件,且不帶可信度因子的模糊推理稱爲簡單模糊推理。
關於如何由已知的模糊知識和證據具體地推出模糊結論,目前已經提出了多種推理方法。其中包括扎德( L. A. Zadeh )等人提出的合成推理規則。
扎德:基於模糊關係合成推理的基本思想
IF x is A THEN y is B
」,首先構造出A與B之間的模糊關係R;合成推理規則:
對於知識IF x is A THEN y is B
x is A’
,且A與A’能夠模糊匹配,則經過下述合成運算求取B’:B'= A’ ◦R
y is B'
,且B與B’能夠模糊匹配,則經過下述合成運算求出A’:A’ =R◦B'
至於如何構造模糊關係R:
條件命題的極大極小規則:記得到的模糊關係爲Rm
設A∈F(U)
, B∈F(V)
,其表示分別爲
扎德把Rm定義爲:
【例子】
設U=V={1,2,3,4,5}
, A=1/1+0.5/2
, B=0.4/3+0.6/4+1/5
並設模糊知識爲:IF x is A THEN y is B
模糊證據爲:x is A’
其中, A’的模糊集爲: A’ =1/1+0.4/2+0.2/3
則:由模糊知識可獲得 Rm
求B’:B’= A’ ◦R
若已知證據爲: y is B’
B'=0.2/1+0.4/2+0.6/3+0.5/4 +0.3/5
則:
人工智能的各類學說
對比這幾種模擬方法:
神經網絡:是一種對人類智能的結構模擬方法,它是經過對大量人工神經元的普遍並行互聯,構造人工神經網絡系統去模擬生物神經系統的智能機理的。 進化計算:是一種對人類智能的演化模擬方法,它是經過對生物遺傳和演化過程的認識,用進化算法去模擬人類智能的進化規律的。 模糊計算:是一種對人類智能的邏輯模擬方法,它是經過對人類處理模糊現象的認知能力的認識,用模糊邏輯去模擬人類的智能行爲的。
MP模型是美國心理學家麥克洛奇(W.McM ulloch)和數理邏輯學家皮茨(W.Pitts) 根據生物神經元的功能和結構,於1943年提出的一種將神經元看做二進制閾值元件的簡單模型。MP模型是大多數神經網絡模型的基礎。
MP模型示意圖:
x1,x2,x3,...,xN
w1,w2,w3,...,wN
輸出函數的做用
控制輸入對輸出的激活做用
對輸入、輸出進行函數轉換
將可能無限域的輸入變換成指定的有限範圍內的輸出
神經元的模型肯定以後,一個神經網絡的特性及能力主要取決於網絡的拓撲結構及學習方法
人工神經網絡(ANN)能夠當作是以人工神經元爲結點,用有向加權弧鏈接起來的有向圖
人工神經網絡模型是指對網絡結構、聯結權值和學習能力的總括。經常使用的網絡模型已有數十種。例如:
傳統的感知機模型;具備偏差反向傳播功能的反向傳播網絡模型;採用多變量插值的徑向基函數網絡模型;創建在統計學習理論基礎上的支撐向量機網絡模型;採用反饋聯接方式的反饋網絡模型;基於模擬退火算法的隨機網絡模型。
前饋網絡
單層前饋網絡是指那種只擁有單層計算節點的前向網絡。它僅含有輸入層和輸出層,且只有輸出層的神經元是可計算節點。
其中,輸入向量爲X=(x1,x2,…,xn);輸出向量爲Y=(y1,y2,…,ym);輸入層各個輸入到相應神經元的鏈接權值分別是wij,i=1,2,…,n,j=1,2,…, m。
若假設各神經元的閾值分別是θj,j=1,2,…,m,則各神經元的輸出yj, j=1,2,…,m分別爲:
其中,由全部鏈接權值wij構成的鏈接權值矩陣W爲:
在實際應用中,該矩陣是經過大量的訓練示例學習而造成的。
多層前饋網絡是指那種除擁有輸入、輸出層外,還至少含有一個、或更多個隱含層的前饋網絡。典型表明:BP網絡。
隱含層做用:經過對輸入層信號的加權處理,將其轉移成更能被輸出層接受的形式。
反饋網絡
反饋網絡是指容許採用反饋聯結方式所造成的神經網絡。反饋聯結方式:是指一個神經元的輸出能夠被反饋至同層或前層的神經元。典型表明:Hopfield網絡。
感知器是美國學者羅森勃拉特(Rosenblatt)於1957年爲研究大腦的存儲、學習和認知過程而提出的一類具備自學習能力的神經網絡模型,其拓撲結構是一種分層前向網絡。包括:單層感知器和多層感知器。
使用感知器的主要目的是 爲了對外部輸入進行分類。
羅森勃拉特已經證實,若是外部輸入是線性可分的(指存在一個超平面能夠將它們分開),則單層感知器必定可以把它劃分爲兩類。其判別超平面由以下判別式肯定:
做爲例子,下面討論用單個感知器實現邏輯運算的問題。
單層感知器是一種只具備單層可調節鏈接權值神經元的前向網絡,這些神經元構成了單層感知器的輸出層,是感知器的可計算節點。
多層感知器是經過在單層感知器的輸入、輸出層之間加入一層或多層處理單元所構成的。
偏差反向傳播(Error Back Propagation)網絡簡稱爲BP網絡,是由美國加州大學的魯梅爾哈特和麥克萊蘭於1985年提出的一種網絡模型。
在BP網絡中,同層節點之間不存在相互鏈接,層與層之間多采用全互連方式,且各層的鏈接權值可調。BP網絡實現了明斯基的多層網絡的設想,是當今神經網絡模型中使用最普遍的一種。
如上圖所示,BP網絡的網絡拓撲結構是多層前向網絡。
對BP網絡需說明如下兩點:
第一,BP網絡的每一個處理單元均爲非線性輸入/輸出關係,其做用函數一般採用的是可微的Sigmoid函數,如:
!
第二,BP網絡的學習過程是由工做信號的正向傳播和偏差信號的反向傳播組成的。所謂正向傳播,是指輸入模式經隱層到輸出層,最後造成輸出模式;所謂偏差反向傳播,是指從輸出層開始逐層將偏差傳到輸入層,並修改各層聯接權值,使偏差信號爲最小的過程。
Hopfield網絡是由美國加州工學院物理學家霍普菲爾特1982年提出來的一種單層全互連的對稱反饋網絡模型。分爲離散Hopfield網絡和連續Hopfield網絡。
離散Hopfield網絡是在非線性動力學的基礎上由若干基本神經元構成的一種單層全互連網絡,其任意神經元之間均有鏈接,而且是一種對稱鏈接結構。
離散Hopfield網絡模型是一個離散時間系統,每一個神經元只有0和1(或-1和1)兩種狀態,任意神經元i和j之間的鏈接權值爲Wij。因爲神經元之間爲對稱鏈接,且神經元自身無鏈接,所以有
由該鏈接權值所構成的鏈接矩陣是一個零對角的對稱矩陣。
在 Hopfield網絡中,雖然神經元自身無鏈接,但因爲每一個神經元都與其餘神經元相連,即每一個神經元的輸出都將經過突觸鏈接權值傳遞給別的神經元,同時每一個神經元又都接受其餘神經元傳來的信息,這樣對每一個神經元來講,其輸出通過其餘神經元后又有可能反饋給本身,所以Hopfidld網絡是一種反饋神經網絡 。
【例子】
已知網絡結構如圖所示,網絡輸入輸出路標所示。其中,f(x)爲x的符號函數,bias取常數1,設初始值隨機取成(0.75,0.5,-0.6)。利用偏差傳播學習算法調整神經網絡權值。
解題過程:
機器學習的定義:
西蒙(Simon,1983):學習就是系統中的適應性變化,這種變化使系統在重複一樣工做或相似工做時,可以作得更好。明斯基(Minsky,1985):學習是在人們頭腦裏(心理內部)有用的變化。
學習是一個有特定目的知識獲取和能力增加過程,其內在行爲是得到知識、積累經驗、發現規律等,其外部表現是改進性能、適應環境、實現自我完善等。
機器學習是研究如何使用機器來模擬人類學習活動的一門學科。
進入21世紀,機器學習的階段研究熱點:
2000-2006年的流形學習、2006-2011年的稀疏學習、2012年-至今的深度學習、將來:遷移學習?
提一下,深度學習目前存在如下問題
概括學習是應用概括推理進行學習的一種方法。
概括學習的模式:
實驗規劃過程經過對實例空間的搜索完成實例選擇,並將這些選中拿到的活躍實例提交給解釋過程。解釋過程對實例加以適當轉換,把活躍實例變換爲規則空間中的特定概念,以引導規則空間的搜索。
概括學習是目前研究得最多的學習方法,其學習目的是爲了得到新概念、構造新規則或發現新理論。
根據概括學習有無教師指導,可把它分爲
類比學習(learning by analogy)就是經過類比,即經過對類似事物加以比較所進行的一種學習 。
類比學習是利用二個不一樣領域(源域、目標域)中的知識類似性,能夠經過類比,從源域的知識(包括類似的特徵和其它性質)推導出目標域的相應知識,從而實現學習。例如:
類比學習系統能夠使一個已有的計算機應用系統轉變爲適應於新的領域,來完成原先沒有設計的相相似的功能。
類比推理過程:
類比學習研究類型
S1:A->B
,若是有A'≌A
,則可能有B’知足A'->B'
解釋學習(Explanation-based learning, EBL)興起於20世紀80年代中期,根據任務所在領域知識和正在學習的概念知識,對當前實例進行分析和求解,得出一個表徵求解過程的因果解釋樹,以獲取新的知識。
例如:學生根據教師提供的目標概念、該概念的一個例子、領域理論及可操做準則,首先構造一個解釋來講明爲何該例子知足目標概念,而後將解釋推廣爲目標概念的一個知足可操做準則的充分條件。
解釋學習過程和算法
米切爾提出了一個解釋學習的統一算法EBG,創建了基於解釋的歸納過程,並用知識的邏輯表示和演繹推理進行問題求解。其通常性描述爲:
EBG算法可歸納爲兩步:
單層感知器學習算法可描述以下:
(1)、設t=0,初始化鏈接權和閾值。即給wi(0)(i=1, 2, … ,n)及θ(0)分別賦予一個較小的非零隨機數,做爲初值。其中,wi(0)是第0次迭代時輸入向量中第i個輸入的鏈接權值;θ(0)是第0次迭代時輸出節點的閾值;
(2)、提供新的樣本輸入xi(t)(i=1, 2, … , n)和指望輸出d(t);
(3)、計算網絡的實際輸出:
(4)、若y(t)=d(t),不須要調整鏈接權值,轉(6)。不然,須要調整權值;
(5)、調整鏈接權值;
其中,η是一個增益因子,用於控制修改速度,其值若是太大,會影響wi(t)的收斂性;若是過小,又會使wi(t)的收斂速度太慢;
(6)、判斷是否知足結束條件,若知足,算法結束;不然,將t值加1,轉(2)從新執行。這裏的結束條件通常是指wi(t)對一切樣本均穩定不變。
若輸入的兩類樣本是線性可分的,則該算法就必定會收斂。不然,不收斂。
【例子】用單層感知器實現邏輯「與」運算。
解:根據「與」運算的邏輯關係,可將問題轉換爲:
輸入向量:
X1=[0, 0, 1, 1]
X2=[0, 1, 0, 1]
輸出向量:
Y=[0, 0, 0, 1]
爲減小算法的迭代次數,設初始鏈接權值和閾值取值以下:
w1(0)=0.5
, w2(0)=0.7
, θ(0)=0.6
並取增益因子η=0.4
。
算法的學習過程以下:
設兩個輸入爲x1(0)=0
和x2(0)=0
,其指望輸出爲d(0)=0
,實際輸出爲:
y(0)=f(w1(0)x1(0)+ w2(0)x2(0)-θ(0)) =f(0.5*0+0.7*0-0.6) =f(-0.6) =0
實際輸出與指望輸出相同,不須要調節權值。
再取下一組輸入:x1(0)=0
和x2(0)=1
,指望輸出d(0)=0
,實際輸出:
y(0)=f(w1(0) x1(0)+ w2(0) x2(0)-θ(0)) =f(0.5*0+0.7*1-0.6) =f(0.1) =1
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(1)=θ(0)+η(d(0)- y(0))*(-1)=0.6+0.4*(0-1)*(-1)=1 w1(1)=w1(0)+η(d(0)- y(0))x1(0)=0.5+0.4*(0-1)*0=0.5 w2(1)=w2(0)+η(d(0)- y(0))x2(0)=0.7+0.4*(0-1)*1=0.3
取下一組輸入:x1(1)=1
和x2(1)=0
,其指望輸出爲d(1)=0
,實際輸出爲:
y(1)=f(w1(1) x1(1)+ w2(1) x2(1)-θ(1)) =f(0.5*1+0.3*0-1) =f(-0.51) =0
實際輸出與指望輸出相同,不須要調節權值。
再取下一組輸入:x1(1)=1和x2(1)=1
,其指望輸出爲d(1)=1
,實際輸出爲:
y(1)=f(w1(1) x1(1)+ w2(1) x2(1)-θ(1)) =f(0.5*1+0.3*1-1) =f(-0.2) =0
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(2)=θ(1)+η(d(1)- y(1))*(-1)=1+0.4*(1-0)*(-1)=0.6 w1(2)=w1(1)+η(d(1)- y(1))x1(1)=0.5+0.4*(1-0)*1=0.9 w2(2)=w2(1)+η(d(1)- y(1))x2(1)=0.3+0.4*(1-0)*1=0.7
取下一組輸入:x1(2)=0
和x2(2)=0
,其指望輸出爲d(2)=0
,實際輸出爲:
y(2)=f(0.9*0+0.7*0-0.6)=f(-0.6)=0
實際輸出與指望輸出相同,不須要調節權值.
再取下一組輸入:x1(2)=0
和x2(2)=1
,指望輸出爲d(2)=0
,實際輸出爲:
y(2)=f(0.9*0+0.7*1-0.6)=f(0.1)=1
實際輸出與指望輸出不一樣,須要調節權值,其調整以下:
θ(3)=θ(2)+η(d(2)- y(2))*(-1)=0.6+0.4*(0-1)*(-1)=1 w1(3)=w1(2)+η(d(2)- y(2))x1(2)=0.9+0.4*(0-1)*0=0.9 w2(3)=w2(2)+η(d(2)- y(2))x2(2)=0.7+0.4*(0-1)*1=0.3
實際上,由與運算的閾值條件可知,此時的閾值和鏈接權值以知足結束條件,算法能夠結束。
對此,可檢驗以下:
對輸入:「0 0」有y=f(0.9*0+0.3*0-1)=f(-1)=0
對輸入:「0 1」有y=f(0.9*0+0.3*0.1-1)=f(-0.7)=0
對輸入:「1 0」有y=f(0.9*1+0.3*0-1)=f(-0.1)=0
對輸入:「1 1」有y=f(0.9*1+0.3*1-1)=f(0.2)=1
多層感知器能夠解決非線性可分問題,但其隱層神經元的指望輸出卻不易給出。
而單層感知器學習是一種有導師指導的學習過程,所以其學習算法沒法直接用於多層感知器。
因爲多層感知器和BP網絡都屬於前向網絡,並能較好解決多層前饋網絡的學習問題.
所以,可用BP學習來解決多層感知器學習問題。
相關的一些概念:決策樹、 隨機森林、邏輯迴歸、樸素貝葉斯、K最近臨算法、馬爾可夫……
遺傳算法最先由美國密西根大學的J. Holland 教授提出,起源於20世紀60年代對天然和人工自適應系統的研究。70年代,De Jong 基於遺傳算法的思想在計算機上進行了大量的純數值函數優化計算實驗。在一系列研究工做的基礎上,80年代由Goldberg進行概括總結,造成了遺傳算法的基本框架
遺傳算法(Genetic Algorithm, GA)是模擬生物在天然環境種的遺傳和進化過程而造成的一種自適應全局優化機率搜索算法。
是從初始種羣出發,採用優勝劣汰、適者生存的天然法則選擇個體,並經過雜交、變異來產生新一代種羣,如此逐代進化,直到知足目標爲止。
算法主要內容和基本步驟
(1) 選擇編碼策略,將問題搜索空間中每一個可能的點用相應的編碼策略表示出來,即造成染色體;
(2) 定義遺傳策略,包括種羣規模N,交叉、變異方法,以及選擇機率Pr、交叉機率Pc、變異機率Pm等遺傳參數;
(3) 令t=0,隨機選擇N個染色體初始化種羣P(0);
(4) 定義適應度函數f(f>0);
(5) 計算P(t)中每一個染色體的適應值;
(6) t=t+1;
(7) 運用選擇算子,從P(t-1)中獲得P(t);
(8) 對P(t)中的每一個染色體,按機率Pc參與交叉;
(9) 對染色體中的基因,以機率Pm參與變異運算;
(10) 判斷羣體性能是否知足預先設定的終止標準,若不知足則返回(5)。
經常使用的遺傳編碼算法
適應度函數
適應度函數是一個用於對個體的適應性進行度量的函數。一般,一個個體的適應度值越大,它被遺傳到下一代種羣中的機率也就越大。
(1) 經常使用的適應度函數
原始適應度函數:直接將待求解問題的目標函數f(x)定義爲遺傳算法的適應度函數。
標準適應度函數
在某些狀況下,須要對適應度函數進行加速速度。
適應度函數的加速變換有兩種基本方法,即線性加速與非線性加速。
線性加速
f'(x)=αf(x)+β
xi(i=1,…,n)
爲當前代中的染色體。xi(i=1,…,n)
爲當前代中的染色體,M是指將當前的最大適應度放大爲平均值的M倍。目的是經過M拉開不一樣染色體適應度值的差距。非線性加速
f'(x)=f(x)k
f'(x)=exp(-βf(x))
基本遺傳操做
(1)、選擇操做
選擇(Selection)操做是指根據選擇機率按某種策略從當前種羣中挑選出必定數目的個體,使它們可以有更多的機會被遺傳到下一代中。
經常使用的選擇策略:
輪盤賭選擇算法的基本思想是:根據每一個個體的選擇機率P(xi)將一個圓盤分紅N個扇區,其中第i個扇區的中心角爲:
再設立一個移動指針,將圓盤的轉動等價爲指針的移動。選擇時,假想轉動圓盤,若靜止時指針指向第i個扇區,則選擇個體i。
從統計角度看,個體的適應度值越大,其對應的扇區的面積越大,被選中的可能性也越大。這種方法有點相似於發放獎品使用的輪盤,並帶有某種賭博的意思,所以亦被稱爲輪盤賭選擇。
(2)、交叉操做
X=x1 x2 … xk xk+1 … xn
Y=y1 y2 … yk yk+1 … yn
X'= x1 x2 … xk yk+1 … yn
Y'= y1 y2 … yk xk+1 … xn
X=x1 x2 … xi … xj … xn
Y=y1 y2 … yi … yj …,yn
i< j < n
),兩點交叉是將X中的xi+1到xj部分與Y中的yi+1到yj部分進行交換,交叉後生成的兩個新的個體是:X'= x1 x2 … xi yi+1 … yj xj+1 … xn
Y'= y1 y2 … yi xi+1 … xj yj+1 … yn
X=x1x2… xi…xk…xn
和Y=y1y2…yi…yk…yn
,若隨機選擇對第k個份量之後的全部份量進行交換,則生成的兩個新的個體向量是:
X'= x1 x2 … xk yk+1 … yn
Y'= y1 y2 … yk xk+1 … xn
(3)、變異操做
變異(Mutation)是指對選中個體的染色體中的某些基因進行變更,以造成新的個體。變異也是生物遺傳和天然進化中的一種基本現象,它可加強種羣的多樣性。遺傳算法中的變異操做增長了算法的局部隨機搜索能力,從而能夠維持種羣的多樣性。根據個體編碼方式的不一樣,變異操做可分爲二進制變異和實值變異兩種類型。
由James Kenney(社會心理學博士)和Russ Eberhart(電子工程學博士)於1995年提出粒子羣算法(Particle Swarm Optimization, PSO)。
經過遺留在來往路徑上的信息素(Pheromone)的揮發性化學物質來進行通訊和協調。
η(i, j)
是一個啓發式信息,一般由η (i, j)=1/dij
直接計算。τ (i, j)
表示邊(i, j)
上的信息素量。α =0
時,算法演變成傳統的隨機貪心算法,最鄰近城市被選中的機率最大。當β =0
時,螞蟻徹底只根據信息素濃度肯定路徑,算法將快速收斂,這樣構建出的最優路徑與實際目標差別較大,算法性能較差。m
:螞蟻個數;ρ
:信息素的蒸發率,規定0<r≤1
。Δτ (i, j)
:第k只螞蟻在它通過的邊上釋放的信息素量,它等於螞蟻k本輪構建路徑長度的倒數。Ck
:路徑長度,它是Rk中全部邊的長度和。模擬退火、工免疫系統、粗集理論、EDA算法、文化進化計算、量子計算、DNA計算、智能Agent、……
Agent的定義
Agent的譯法
建議把agent譯爲「(艾)真體」的理由:
真體的要素
真體必須利用知識修改其內部狀態(心理狀態),以適應環境變化和協做求解的須要。真體的行動受其心理狀態驅動。人類心理狀態的要素有認知(信念、知識、學習等)、情感(願望、興趣、愛好等)和意向(意圖、目標、規劃和承諾等)三種。着重研究信念(belief)、願望(desire)和意圖(intention)的關係及其形式化描述,力圖創建真體的BDI(信念、願望和意圖)模型,已成爲真體理論模型研究的主要方向。
真體的特性
Natural Language Understanding 俗稱人機對話。研究用電子計算機模擬人的語言交際過程,使計算機能理解和運用人類社會的天然語言如漢語、英語等,實現人機之間的天然語言通訊,以代替人的部分腦力勞動,包括查詢資料、解答問題、摘錄文獻、彙編資料以及一切有關天然語言信息的加工處理。
這一領域的研究涉及天然語言,即人們平常使用的語言,包括中文、英文、俄文、日文、德文、法文等等,因此它與語言學的研究有着密切的聯繫,但又有重要的區別。
天然語言處理並非通常地研究天然語言,而在於研製能有效地實現天然語言通訊的計算機系統,特別是其中的軟件系統。
實現人機間天然語言通訊意味着要使計算機既能理解天然語言文本的意義(即天然語言理解),也能以天然語言文原本表達給定的意圖、思想等(即天然語言生成)。
不管實現天然語言理解,仍是天然語言生成,都遠不如人們原來想象的那麼簡單,而是十分困難的。從目前的理論和技術現狀看,通用的、高質量的天然語言處理系統,仍然是較長期的努力目標,可是針對必定應用,具備至關天然語言處理能力的實用系統已經出現,有些已商品化,甚至開始產業化。典型的例子有:各類數據庫和專家系統的天然語言接口、各類機器翻譯系統、全文信息檢索系統、自動文摘系統等。
天然語言處理,即實現人機間天然語言通訊,或實現 天然語言理解和 天然語言生成是十分困難的。
形成困難的 根本緣由是天然語言文本和對話的各個層次上普遍存在的各類各樣的歧義性或多義性(ambiguity)。
通常狀況下,它們中的大多數都是能夠根據相應的語境和場景的規定而獲得解決的。也就是說,從整體上說,並不存在歧義。這也就是咱們平時並不感到天然語言歧義,和能用天然語言進行正確交流的緣由。可是一方面,咱們也看到,爲了消解歧義,是須要極其大量的知識和進行推理的。如何將這些知識較完整地加以收集和整理出來;又如何找到合適的形式,將它們存入計算機系統中去;以及如何有效地利用它們來消除歧義,都是工做量極大且十分困難的工做。這不是少數人短時期內能夠完成的,還有待長期的、系統的工做。
文字識別、語音識別、機器翻譯、自動文摘、句法分析、文本分類、信息檢索、信息獲取、信息過濾、天然語言生成、中文自動分詞、語音合成、問答系統
用天然語言與計算機進行通訊,這是人們長期以來所追求的。由於它既有明顯的實際意義,同時也有重要的理論意義:人們能夠用本身最習慣的語言來使用計算機,而無需再花大量的時間和精力去學習不很天然和習慣的各類計算機語言;人們也可經過它進一步瞭解人類的語言能力和智能的機制。
版權聲明: [人工智能入門複習總結] (https://zhouie.cn/posts/201806111/ ),由 zhouie首次發表於 北島向南的小屋 ,本文地址爲:https://zhouie.cn/posts/201806111/ 。