人工智能:第八章 自动规划
第八章自動規劃
教學內容:介紹自動規劃的基本概念和各種規劃系統。
教學重點:機器人規劃的作用與任務、積木世界的規劃系統、具有學習能力的規劃系統、基于專家系統的規劃機理。
教學難點:具有學習能力的規劃系統。
教學方法:課堂教學為主,注意結合例子來說明抽象概念。
教學要求:本章為選修內容,掌握機器人規劃的作用與任務,并一般了解有哪幾種規劃方法。
8.1機器人規劃的作用與任務
教學內容:引入規劃的概念,說明問題分解途徑,然后討論自動規劃系統的任務。
教學重點:機器人規劃的作用。
教學方法:課堂教學。
教學要求:掌握機器人規劃的作用與任務。
8.1.1規劃的作用與問題分解途徑
1、規劃的概念及作用
規劃的概念:規劃是一種重要的問題求解技術,它從某個特定的問題狀態出發,尋求一系列行為動作,并建立一個操作序列,直到求得目標狀態為止。
規劃的作用:規劃可用來監控問題求解過程,并能夠在造成較大的危害之前發現差錯。規劃的好處可歸納為簡化搜索、解決目標矛盾以及為差錯補償提供基礎。
2、問題分解途徑及方法
把某些較復雜的問題分解為一些較小的子問題。有兩條實現這種分解的重要途徑。
第一條重要途徑是當從一個問題狀態移動到下一個狀態時,無需計算整個新的狀態,而只要考慮狀態中可能變化了的那些部分。
第二條重要途徑是把單一的困難問題分割為幾個有希望的較為容易解決的子問題。
3、域的預測和規劃的修正
舉例:以工作日計劃來形象地說明規劃的作用。
8.1.2機器人規劃系統的任務與方法
在規劃系統中,必須具有執行下列各項任務的方法:
(1) 根據最有效的啟發信息,選擇應用于下一步的最好規則。
(2) 應用所選取的規則來計算由于應用該規則而生成的新狀態。
(3) 對所求得的解答進行檢驗。
(4) 檢驗空端,以便舍棄它們,使系統的求解工作向著更有效的方向進行。
(5) 檢驗殆正確的解答,并應用具體的技術使之完全正確。
下面討論能夠執行上述5項任務的方法。
1、選擇和應用規則
在選擇合適的應用規則時最廣泛采用的技術是:首先要查出期望目標狀態與現有狀態之間的差別集合,然后辨別出那些與減少這些差別有關的規則。
2、檢驗解答與空端
當規劃系統找到一個能夠把初始問題狀態變換為目標狀態的操作符序列時,此系統就成功地求得問題的一個解答。
如果搜索過程是從初始狀態正向推理的,那么可以刪去任何導致某種狀態的路徑,從這種狀態出發是無法達到目標狀態的。
如果搜索過程是從目標狀態逆向推理的,那么當確信無法達到初始狀態,或者搜索過程進展甚微時,可以終止該路徑的搜索。
3、修正殆正確解
一個求解殆可分解問題的辦法是:當執行與所提出的解答相對應的操作符序列時,檢查求得的狀態,并把它與期望目標加以比較。
修正一個殆正確的解答的較好辦法是注意有關出錯的知識,然后加以直接修正。
?
8.2 積木世界的機器人規劃
教學內容:尋求某個機器人的動作序列(可能包括路徑等)。
教學重點:機器人問題求解。
教學難點:用F規則求解機器人規劃序列。
教學方法:課堂教學。
教學要求:了解問題求解的目標與一般過程、掌握積木世界的機器人規劃方法。
8.2.1 積木世界的機器人問題
機器人問題既比較簡單,又很直觀。在機器人問題的典型表示中,機器人能夠執行一套動作。
在這個例子中機器人能夠執行的動作舉例如下:
unstack(a,b):把堆放在積木b上的積木a拾起。在進行這個動作之前,要求機器人的手為空手,而且積木a的頂上是空的。
stack(a,b):把積木a堆放在積木b上。動作之前要求機械手必須已抓住積木a,而且積木b頂上必須是空的。
pickup(a):從桌面上拾起積木a,并抓住它不放。在動作之前要求機械手為空手,而且積木a頂上沒有任何東西。
putdown(a):把積木a放置到桌面上。要求動作之前機械手已抓住積木a。
采用狀態描述作為數據庫的產生式系統是一種最簡單的問題求解系統。機器人問題的狀態描述和目標描述均可用謂詞邏輯公式構成。為了指定機器人所執行的操作和執行操作的結果,需要應用下列謂詞:
ON(a,b): 積木a在積木b之上。
ONTABLE(a): 積木a在桌面上。
CLEAR(a): 積木a頂上沒有任何東西。
HOLDING(a): 機械手正抓住積木a。
HANDEMPTY: 機械手為空手。
舉例:積木世界由一些有標記的立方形積木,互相堆迭在一起構成;機器人有個可移動的機械手,它可以抓起積木塊并移動積木從一處至另一處。
提問:請同學就圖8.1積木世界的機器人問題應用謂詞公式的合取來表示為:ON(B,C)∧ON(A,B)。
8.2.2 用F規則求解規劃序列
采用F規則表示機器人的動作,這是一個叫做STRIPS規劃系統的規則,它由3部分組成。
第一部分是先決條件。為了使F規則能夠應用到狀態描述中去。
第二部分是一個叫做刪除表的謂詞。當一條規則被應用于某個狀態描述或數據庫時,就從該數據庫刪去刪除表的內容。
第三部分叫做添加表。當把某條規則應用于某數據庫時,就把該添加表的內容添進該數據庫。
?
8.3 STRIPS規劃系統
教學內容:STRIPS規劃系統的機理,規劃的目標與實現方法。
教學重點:STRIPS系統的組成
教學難點:對STRIPS規劃過程的描述
教學方法:課堂教學
教學要求:掌握STRIPS機器人規劃系統的組成,了解規劃過程的描述
8.3.1 STRIPS系統的組成
整個STRIPS系統的組成如下:
(1) 世界模型。為一階謂詞演算公式。
(2) 操作符(F規則)。包括先決條件、刪除表和添加表。
(3) 操作方法。應用狀態空間表示和中間-結局分析。
例如:狀態:(M,G),包括初始狀態、中間狀態和目標狀態。
初始狀態:(M0,(G0))
目標狀態:得到一個世界模型,其中不遺留任何未滿足的目標。
8.3.2 STRIPS系統規劃過程
每個STRIPS問題的解答為某個實現目標的操作符序列,即達到目標的規劃。下面舉例說明STRIPS統規劃的求解過程。
例1?考慮STRIPS系統一個比較簡單的情況,即要求機器人到鄰室去取回一個箱子。機器人的初始狀態和目標狀態的世界模型示于圖8.4。設有兩個操作符,即gothru和pushthru(“走過”和“推過”),分別描述于下:
OP1:gothru(d,r1,r2);
機器人通過房間r1和房間r2之間的d,即機器人從房間r1走過門d而進入房間r2。先決條件:INROOM (ROBOT,r1)∧CONNECTS(d,r1,r2);機器人在房間r1內,而且門d連接r1和r2兩個房間。
刪除表:INROOM(ROBOT,S);對于任何S值。
添加表:INROOM(ROBOT,r2)。
OP2:pushthru(b,d,r1,r2)
機器人把物體b從房間r1經過門d推到房間r2。
先決條件:INROOM(b,r1)∧INROOM(ROBOT,r1)∧CONNECTS(d,r1,r2)刪除表 :INROOM(ROBOT,S),INROOM(b,S);對于任何S。
添加表:INROOM(ROBOT,r2),INROOM(b,r2)。
?
8.4具有學習能力的規劃系統
教學內容:介紹一個叫做PULP-Ⅰ(Purdue University Learning Program)的具有學習能力的機器人規劃系統的結構和操作方式,了解規劃系統的模型和規劃方法。
教學重點:系統的結構與操作方式。
教學難點:規劃系統的學習方法。
教學方法:課堂教學。
教學要求:了解具有學習能力的機器人規劃系統的規劃方法及其與一般規劃系統的異同
8.4.1 PULP-Ⅰ系統的結構與操作方式
1、PULP-Ⅰ系統的結構
字典、模型和過程是系統的內存部分,它們集中了所有信息。“字典”是英語詞匯的集合,它的每個詞匯都保持在LISP的特性表上。“模型”部分包括模型世界內物體現有狀態的事實。
模型的信息不是固定不變的,它可能隨著環境而改變。此外,無論什么時候應用某個操作符,此模型就被適時修正。“過程”集中了予先準備好的過程知識。這種過程知識是一個表式結構,包含一個指令序列。每個指令可能是一個任務語句,這些語句與該任務的過程、局部定義的物體或某個操作符有關。
2、PULP-Ⅰ系統的操作方式
PULP-Ⅰ系統具有兩種操作方式,即學習方式和規劃方式。
在學習方式下,輸入至系統的知識是由操作人員或者所謂“教師”提供的。系統首先把給出的過程知識分解為一個子過程的集合,本原過程知識被分解為幾個知識塊,每塊為一知識包。然后,由任務分析程序進行試驗,這個程序對知識包進行分析,并通過一個語義匹配程序求得其提取表示。
當某個命令句子送入系統時,PULP-Ⅰ就進入規劃方式。此規劃系統的主要作用是形成一個能夠把現有世界變換為滿足給定命令的世界狀態的規劃。所生成的規劃由一些本原操作符的有序排列組成。當求得一個成功的規劃之后,對世界模型進行修正,而且系統輸出規劃時間和規劃細節,以滿足輸入命令。
8.4.2 PULP-Ⅰ的世界模型和規劃結果
提問:請同學比較具有學習能力的機器人規劃系統與一般規劃系統的異同,并總結前者的特點。
8.5 分層規劃
教學內容:通過ABSTRIPS系統了解針對困難問題的分層規劃方法。
教學方法:課堂教學。
教學重點:本規劃機理及實例。
教學難點:規劃實例分析。
教學要求:本節作為選講內容,只要求一般了解相關內容。
8.5.1 長度優先搜索
探索規劃時首先只考慮一層的細節,然后再注意規劃中比這一層低一層的細節,所以把它叫做長度優先搜索。
8.5.2 NOAH規劃系統
1、應用最小約束策略
一個尋找非線性規劃而不必考慮操作符序列的所有排列的方法是把最少約束策略應用來選擇操作符執行次序的問題。
問題求解系統NOAH采用一種網絡結構來記錄它所選取的操作符之間所需要的排序。它也分層進行操作運算,即首先建立起規劃的抽象輪廓,然后在后續的各步中,填入越來越多的細節。
2、檢驗準則
準則法已被應用于各種規劃生成系統。對于早期的系統,如HACKER系統,準則只用于舍棄不滿足的規劃。在NOAH系統中,準則被用來提出推定的方法以便修正所產生的規劃。
第一個涉及的準則是歸結矛盾準則。
第二個準則叫做消除多余先決條件準則,包括除去對子目標的多余說明。
可以把分層規劃和最少約定策略十分直接地結合起來,以求得非線性規劃而不產生一個龐大的搜索樹。
?
8.6基于專家系統的機器人規劃
內容與作用:本節將結合作者對機器人規劃專家系統的研究,介紹基于專家系統的機器人規劃。
教學重點:基于專家系統的系統結構和規劃機理。
教學難點:基于專家系統的規劃機理。
教學方法:課堂教學。
教學要求:了解基于專家系統的機器人規劃系統的結構和實現方法。
8.6.1 系統結構和規劃機理
1、 系統結構及規劃機理
(1)?知識庫:用于存儲某些特定領域的專家知識和經驗,包括機器人工作環境的世界模型、狀態、物體描述等事實和可行操作或規則等。
(2) 控制策略:包含綜合機理,確定系統應當應用什么規則以及采取什么方式去尋找該規則。
(3) 推理機:用于記憶所采用的規則和控制策略及推理策略。
(4) 知識獲取:首先獲取某特定域的專家知識。然后用程序設計語言把這些知識變換為計算機程序。最后把它們存入知識庫待用。
(5)?解釋與說明:通過用戶接口,在專家系統與用戶之間進行對話,從而使用戶能夠輸入數據、提出問題、知道推理結果以及了解推理過程等。
2、 任務級機器人規劃三要素
(1) 建立模型。
(2) 任務說明。
(3) 程序綜合。
8.6.2 ROPES機器人規劃系統
作業:根據簡化框圖8.18,舉例說明應用專家系統的機器人規劃系統。
?
8.7小結
本章在說明了機器人規劃的作用和任務后,主要討論了幾種機器人規劃的方法:
(1) 規劃演繹法。用F規則求解規劃序列。
(2) 邏輯演算和通用搜索法。STRIPS和ABSTRIPS系統即屬此法。
(3) 具有學習能力的規劃系統。如PULP-Ⅰ系統,它采用類比技術和語義網絡表示。
(4) 分層規劃方法。如NOAH規劃系統,它特別適用于非線性規劃。
(5) 基于專家系統的規劃。如ROPES規劃系統,它具有更快的規劃速度、更強的規劃能力和更大的適應性
from: http://netclass.csu.edu.cn/jpkc2003/rengongzhineng/rengongzhineng/jiaoan/chapter8.htm
總結
以上是生活随笔為你收集整理的人工智能:第八章 自动规划的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人工智能:第九章 Agent (艾真体)
- 下一篇: Machine Learning wee