主頁 >  其他 > 《人工智能及其應用》課程筆記(三)第3章 確定性推理

《人工智能及其應用》課程筆記(三)第3章 確定性推理

2021-12-30 12:29:34 其他

目錄

本章內容

3.1 圖搜索策略

3.2 盲目搜索

3.2.1 搜索策略的對比

3.2.2 深度優先搜索-有限深度+迭代深度

3.3 啟發式搜索

3.3.1 啟發式搜索策略和估價函式

3.3.2 有序搜索

1、A演算法

2、A*演算法

3.4 消解原理

3.4.1 子句集的求取

3.4.2 消解推理規則

3.4.3 含有變數的消解式

3.4.4 消解反演求解程序

3.5 規則演繹系統

3.6 產生式系統

3.6.1 產生式系統的組成

3.6.2 產生式系統的推理

3.7 非單調推理


本章內容

掌握圖搜索的基本概念

掌握盲目搜索和啟發式搜索的區別

掌握消解原理的含義及實際問題解決程序

了解規則演繹系統的基本知識

了解產生式系統的基本知識

了解非單調推理的基本知識

3.1 圖搜索策略

圖搜索控制策略:一種在圖中尋找路徑的方法,

圖中每個節點對應一個狀態,每條連線對應一個運算子,這些節點連線又分別由產生式系統的資料庫規則來標記,求得把一個資料庫變換為另一資料庫規則序列問題就等價于求得圖中的一條路徑問題

圖搜索程序

OPEN表(記錄還沒有擴展的表)

CLOSED表(記錄已經擴展的點)

每個狀態的節點結構中必須有指向父節點的指標

評價搜索演算法性能的4種途徑

完備性、最優性、時間復雜度、空間復雜性

圖的一般搜索策略:

無資訊搜索盲目搜索):寬度優先搜索、深度優先搜索

有資訊搜索啟發式搜索):A演算法、A*演算法

3.2 盲目搜索

分類寬度優先搜索深度優先搜索等代價搜索

特點:(1)搜索程序中不適用與問題又算的經驗資訊

(2)不需要重排OPEN表

(3)搜索效率低

(4)不適合大空間的實際問題求解

3.2.1 搜索策略的對比

假設每個狀態有 b 個后繼目標節點所在深度為d:

完備性時間復雜度空間復雜度最優性

寬度優先搜索(BFS)

逐層擴展

可以找到解

根節點有b個后繼,這b個節點每個又有b個后繼,即b2

最壞的情況:擴展除d層最后一個節點外的所有節點

總共擴展操作的次數:

每個節點都需要存盤,共需要:

如果每步擴展的代價相同,能找到最優解

深度優先搜索(DFS)

往深處擴展

并不總可以找到解,除非搜索空間有界且沒有環

搜索樹的最大深度為m,最壞的情況:md大的多

總共擴展操作的次數:O(b^{m})

只需保存從根到葉的單條路徑每個層次上都有(b-1)個未擴展的節點,總的記憶體需要量為m(b-1)+1,因此深度優先搜索的空間復雜度是b的線性函式O(bm)

迭代加深搜索(IDS)

每次改變限制深度,多次呼叫深度優先搜索

總可以找到解,如果不存在無限路徑與DFS相同,O(bd)路徑代價是節點深度的非遞增函式時是最優的

等代價搜索(UCS)

沿著等代價路徑逐層擴展

總可以找到能找到最優解

3.2.2 深度優先搜索-有限深度+迭代深度

優先深度: 深度搜索的最大深度為l,等價于深度為l 的節點沒有后繼節點,解決了深度優先搜索的無限路徑問題,如果 l< d 那么結果不完整,如果 l > d 那么程序不是最優的

迭代加深每次改變限制深度,多次呼叫深度有限搜索演算法,求最優深度極限 l 的一般策略,結合了DFS與BFS的優點

3.3 啟發式搜索

特點重排OPEN表,選擇最優希望的節點加以拓展,

種類:有序搜索、A*演算法等

3.3.1 啟發式搜索策略和估價函式

啟發式資訊:用來加速搜索程序的有關問題領域的特征資訊

啟發式搜索:利用啟發資訊的搜索方法,

估價函式為獲得某些節點“希望”的啟發資訊,提供一個評定侯選擴展節點的方法,以便確定哪個節點最有可能在通向目標的最佳路徑上

f(n)——表示節點n的估價函式值

一個節點的希望程度越大,其f值就越小

3.3.2 有序搜索

三類搜索問題:最優路徑,較優路徑,一條路徑(唯一路徑)

1、A演算法

1964年,尼爾遜提出A1演算法,1967年拉斐爾改進了A1演算法,稱為A2演算法

實質:選擇OPEN表上具有最小f值的節點作為下一個要擴展的節點

特征:估價函式 f (n) = g (n) + h (n)

性能:不完備,不最優

2、A*演算法

1968年,彼得·哈特對A演算法進行了很小的改進,并證明了當估價函式滿足一定的限制條件時,演算法一定可以找到最優解,

A*演算法的限制條件f (x) = g (x) + h (x) (g(x)>0,h(x)不大于x到目標的實際代價h*(x))

3.4 消解原理

消解式是親本子句的邏輯結論

消解只能在僅含否定和析取聯接詞的公式(子句)間進行

必須先把公式化成規范的形式(范式,子句集

方法:不斷求子句的消解式,直到得到空子句為止

相關概念

文字:一個原子公式及其否定

子句:由文字的析取組成的合式公式

消解:對謂詞演算公式進行分解和花間,消去一些符號,以求得匯出子句

3.4.1 子句集的求取

例如:將下列謂詞演算公式化為一個子句集

1、消去蘊含符號

只應用∨和~符號,以A∨B替換A→B

2、減少否定符號的轄域

~ 內移,每個否定符號~最多只用到一個謂詞符號上,并反復應用狄·摩根定律,

3、變數標準化

不同的量詞使用不同的變數名對啞元(虛構變數)改名,以保證每個量詞有其自己唯一的啞元

4、去掉存在量詞

兩種情況:

\exists 在某些\forall的作用域內,例如:

\exists\forall的作用域內,直接去掉存在量詞,將對應的變數寫成一個常量運算式

5、化為前束形

將所有的“\forall 移到公式的最前面,并使每個量詞的轄域包括這個量詞后面公式的整個部分

6、把母式寫成合取范式的形式

任何母式都可寫成由一些謂詞公式()謂詞公式的否定的析取的有限集組成的合取,

7、去掉全稱量詞

所有余下的量詞均被全稱量詞量化了,消去前綴,即消去明顯出現的全稱量詞,

8、消去合取詞

{A,B}代替(A∧B),消去符號∧,最后得到一個有限集,其中每個公式是文字的析取

9、更換變數名稱

使相同的變元不會出現在不同的子句中

3.4.2 消解推理規則

命題邏輯的消解設有 {λ} ∨ C1 {? λ} ∨ C2, 其中 C1 , C2 是子句,λ 是原子, 則可推出C12 =C1 ∨ C2 , C12稱為C1 , C2resolvent(消解式,歸結式), 這個程序稱為消解resolution,

謂詞邏輯的消解假設 C1 C2 是子句, 如果C1中有文字L1C2中有文字L2 ,且L1 ? L2 有最一般合一者σ,則這兩個子句有消解式 C12: C12=(C1σ - {L1σ})∪(C2σ - {L2σ})

消解式的定義L1L2為兩任意原子公式;L1L2具有相同的謂詞符號,但一般具有不同的變數,已知兩子句L1∨αL2∨β,如果L1L2具有最一般合一σ,那么通過消解可以從這兩個父輩子句推匯出一個新子句(α∨β)σ,這個新子句叫做消解式,

消解式的例子

(1)假言推理

(2)合并

(3)重言式

(4)空子句(矛盾)

(5)鏈式(三段論)

3.4.3 含有變數的消解式

要把消解推理規則推廣到含有變數的子句,必須找到一個作用于親本子句的置換,使親本子句含有互補文字,

當子句之間可以找到一個項對變數的置換使其變成相同的形式時,就稱這些子句是可合一的,

例如

注意: 所有的 父輩都要進行置換

置換的目的:使用置換使得原子公式能夠變得一致

置換的復合

S = {u1/s1,..,um/sm} T = {t1/v1,...,tn/vn}

他們的復合仍是一個置換,ST = {u1T /s1,..,umT /sm , t1/v1,...,tn/vn}

置換的復合運算時做結合的,不滿足交換律

例如:

合一尋找項對變數的置換,以使兩運算式一致的程序,合一者不唯一

例如:

最一般合一者給定公式集S, S的最一般合一者為θ, 則對S的所有其他合一者\varphi , 都存在一個置換\sigma 使得

3.4.4 消解反演求解程序

1、采用消解反演從已知條件集合S證明結論G的步驟

將 S 化為子句集

②將G的否定~G化為子句集

③將通過步驟12得到的子句合并成一個集合T.

④不斷進行消解,并將得到的消解式加入T中,直到產生一個空子句NIL為止

2、反演求解程序:

把由目標公式的否定產生的每個子句添加到目標公式否定之否定的子句中去,

②按照反演樹,執行和以前相同的消解,直至在根部得到某個子句止,

③用根部的子句作為一個回答陳述句,

3.5 規則演繹系統

正向規則演繹系統是從事實到目標進行操作的,即從狀況條件到動作進行推理的,也就是從ifthen的方向進行推理的,

逆向規則演繹系統是從thenif進行推理的,即從目標或動作向事實或狀況條件進行推理的,

雙向規則演繹:此組合系統的總資料庫由表示目標和表示事實的兩個與或圖結構組成,這些與或圖結構分別用正向系統的F規則和逆向系統的B規則來修正,

3.6 產生式系統

定義:用來描述若干個不同的以一個基本概念為基礎的系統,這個基本概念就是產生式規則或產生式條件和操作對的概念,

實質:在產生式系統中,論域的知識分為兩部分:用事實表示靜態知識,如事物、事件和它們之間的關系;用產生式規則表示推理程序和行為,由于這類系統的知識庫主要用于存盤規則,因此又把此類系統稱為基于規則的系統

3.6.1 產生式系統的組成

總資料庫、產生式規則、控制策略

3.6.2 產生式系統的推理

選擇規則到執行操作的步驟

1、匹配:把當前資料庫與規則的條件部分相匹配

2、沖突解決:當有一條以上規則的條件部分和當前資料庫相匹配時,就需要決定首先使用哪一條規則,這稱為沖突解決,

3、操作:就是執行規則的操作部分

正向推理、逆向推理、雙向推理

3.7 非單調推理

單調推理建立在謂詞邏輯基礎上的傳統系統是單調的,即已知為真的命題數目隨時間而嚴格增加,因為:新的命題可加入系統,新的定理可被證明,but這種加入和被證明決不會導致前面已知為真或已被證明的命題變成無效缺點不能很好處理三類情況:不完全資訊不斷變化情況求解復雜問題程序中產生假設,

預設推理當缺乏資訊時,只要不出現相反的證據,就可以作一些有益的猜想

真值維持系統用以協助其它推理程式維持系統的正確性,所以它的作用不是生成新的推理,而是在其它程式所產生的命題之間保持相容性,一旦發現某個不相容,它就調出自己的推理機制,面向從屬關系的回溯,并通過修改最小的信念集來消除不相容

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/397648.html

標籤:AI

上一篇:nanodet-plus訓練自己資料集

下一篇:解決postman自動化測驗中登錄后401權限問題

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more