L9. STRIPS Examples Recursive STRIPS Block world

Slides:



Advertisements
Similar presentations
Artificial Intelligence 2005/06 Partial Order Planning.
Advertisements

Planning Chapter 10.
Planning Planning is fundamental to “intelligent” behaviour. E.g.
All rights reserved ©L. Manevitz Lecture 61 Artificial Intelligence Planning System L. Manevitz.
Sussman anomaly - analysis The start state is given by: ON(C, A) ONTABLE(A) ONTABLE(B) ARMEMPTY The goal by: ON(A,B) ON(B,C) This immediately leads to.
Planning Russell and Norvig: Chapter 11 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/ home.htm.
Artificial Intelligence II S. Russell and P. Norvig Artificial Intelligence: A Modern Approach Chapter 11: Planning.
Planning Some material adapted from slides by Tim Finin,Jean-Claude Latombe, Lise Getoor, and Marie desJardins.
1 Classical STRIPS Planning Alan Fern * * Based in part on slides by Daniel Weld.
CPSC 322 Introduction to Artificial Intelligence November 19, 2004.
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
9.線形写像.
5.連立一次方程式.
公開鍵暗号系 2011/05/09.
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
3.プッシュダウンオートマトンと 文脈自由文法
Planning Russell and Norvig: Chapter 11. Planning Agent environment agent ? sensors actuators A1A2A3.
1 DCP 1172 Introduction to Artificial Intelligence Chang-Sheng Chen Topics Covered: Introduction to Planning (generalized state-space search) Means-Ends.
CPSC 322 Introduction to Artificial Intelligence November 26, 2004.
1 Planning Adapted from Tim Finin, UMBC, Marie desJardins Some material adopted from notes by Andreas Geyer-Schulz and Chuck Dyer.
1 Lecture 12 example (from slides prepared by Prof. J. Rosenchein)
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
Intro to AI Fall 2002 © L. Joskowicz 1 Introduction to Artificial Intelligence LECTURE 12: Planning Motivation Search, theorem proving, and planning Situation.
1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.
1 Action Planning (Where logic-based representation of knowledge makes search problems more interesting) R&N: Chap. 11, Sect. 11.1–4.
音の変化を視覚化する サウンドプレイヤーの作成
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
1 07. The planning problem 2  Inputs: 1. A description of the world state 2. The goal state description 3. A set of actions  Output: A sequence of actions.
April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning Michael Scherger Department of Computer Science Kent State University.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 07 : Planning.
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Introduction.
Introduction to Planning Han Yu University of Central Florida.
Artificial Intelligence Chapter 22 Planning Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
CPS 270: Artificial Intelligence Planning Instructor: Vincent Conitzer.
1 Search vs. planning Situation calculus STRIPS operators Search vs. planning Situation calculus STRIPS operators.
CPS 570: Artificial Intelligence Planning Instructor: Vincent Conitzer.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Notes 9: Planning; Strips Planning Systems ICS 270a Spring 2003.
Intelligent Systems Planning.
April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning.
Planning in FOL Systems sequences of actions to achieve goals.
CS621: Artificial Intelligence Pushpak Bhattacharyya Computer Science and Engineering Department IIT Bombay Lecture 19: Hidden Markov Models.
第四部分 基于逻辑的规划方法.
Planning Chapter 16.
Planning (Chapter 10) Slides by Svetlana Lazebnik, 9/2016 with modifications by Mark Hasegawa-Johnson, 9/2017
L9. Planning Agents L7_exAnswer and explanation Review
Planning (Chapter 10)
Combined Lecture CS621: Artificial Intelligence (lecture 19) CS626/449: Speech-NLP-Web/Topics-in-AI (lecture 20) Hidden Markov Models Pushpak Bhattacharyya.
Instructor: Vincent Conitzer
Introduction Contents Sungwook Yoon, Postdoctoral Research Associate
Planning (Chapter 10)
CS344 : Introduction to Artificial Intelligence
AI Planning.
L11. Planning Agents and STRIPS
Planning Chapter
CPS 570: Artificial Intelligence Planning
CS344 : Introduction to Artificial Intelligence
Russell and Norvig: Chapter 11 CS121 – Winter 2003
CMSC 471 Fall 2002 Class #20/21/23 – Wednesday, November 6 / Monday, November 11 / Monday, November 18.
Artificial Intelligence Planning
Prof. Pushpak Bhattacharyya, IIT Bombay
Presentation transcript:

L9. STRIPS Examples Recursive STRIPS Block world Partial-order planning

STRIPS planning STRIPS uses logical formulas to represent the states Precondition 前提条件 STRIPS uses logical formulas to represent the states S0, G, P, etc: Description of operator f: Logic formula 論理式 description 記述

Example1: The move operator G S0  f(P)->G S0->P    x/B, y/A, z/Fl x/B, y/A, z/Fl   On(x,y) Clear(x) Clear(z) f: move(x,y, z) add: On(x,z), Clear(y) del: On(x,y), Clear(z) On(x,z) Clear(x) Clear(y) P: f(P):

Example2: robot operators Consider a robot able to go(x,y) pickup(x) putdown(x) pre: AtR(x) del: AtR(x) add: AtR(y) eff: AtR(x)AtR(y) pre: AtR(x), Empty-H del: AtR(x), Empty-H add: Holding(x) eff: Holding(x) pre: Holding(x) del: Holding(x) add: AtR(x) eff: Holding(x)AtR(x)

Holding(C) Holding(C) Example2: problem S0: AtR(A) G0: AtR(B) Holding(C) Holding(C) The robot goes from room A to room B with holding C Difference: AtR(B) in G0 but not in S0. Relevant operator instance: go(x,B) if (y/B) (schema go(x, y)) P: AtR(x) S0 -> P: x/A f: go(x, y) f(P)->G0: AtR(B) (x/A, y/B) relevant 関連の instance 実例 Achieve preconds of go(x, B) [AtR(x)] Apply go(x, B) Achieve G0 When the robot picks up x, it is no longer AtR(x) so it can’t go(x, y)! It is necessary to repair the operators of a robot in page 4.

Example2: revised robot operators (Add object’s location sentence) 修正する go(x,y) pickup(x) putdown(x) “go from x to y” pre: AtR(x) del: AtR(x) add: AtR(y) eff: AtR(x)AtR(y) “pick up x at y” pre: At(x, y), AtR(y,) Empty-H del: At(x,y), Empty-H add: Holding(x) At(x, y) Object, x, is at the room, y. eff: Holding(x) “put down x at y” pre: Holding(x), AtR(y) del: Holding(x) add: At(x,y) eff: Holding(x)At(x,y)

Example2: Problem- get the slipper S0: AtR(A) G0: AtR(A) Empty-H Holding(slipper1) At(slipper1, B) Schema 概要な式 An operator is usually written in the scheme form Difference: Holding(slipper1) in G0 but nor in S0. Relevant operator instance: pickup(slipper1) (schema pickup(x), x/slipper1) Pre: At(slipper1, y), AtR(y), Empty-H Pre: (y/A) ->Pre’: At(slipper1, A), AtR(A), Empty-H But At(slipper1, A) is not in S0! To reduce the difference between: At(slipper1, A) and At(slipper1, B) Relevant operator instance: go(x, B) Pre: AtR(x) Del: AtR(x) Add: AtR(y) S0 -> G2: (x/A) f(G2) -> S3: go(x, y) S3->G1: (y/B) reduce 減少させる

Example2: Tree representation 表示 S0: AtR(A) Empty-H At(slipper1, B) S0->G0 S0->G1 AtR(y) Empty-H At(slipper1, y) G1->S1 pickup(slipper1) S1->G0 x=B Pick up slipper1 at B S2: AtR(B) Holding(slipper1) S3->G4 AtR(x) G4->S4 go(x,A) S4->G0 y=B x=A G0: AtR(A) Holding(slipper1) S0->G2 AtR(x) G2->S2 go(x,B) S2->G1 G1: AtR(B) Empty-H At(slipper1, B)

Recursive STRIPS Achieve one sub-goal at a time. Achieve a new conjunct without ever violating already achieved conjuncts or maybe temporarily violating previous sub-goals. Each sub-goal is achieved via a matched rule, then its preconditions are sub-goals and so on. conjunct 連結した violate 違反する

Plan with Run-time conditionals We can allow disjunction in state description: EX: On(B,A) V On(B,C) For some operators may be applicable just with one of these disjunction that can be determined during run-time. Run-time conditionals: If On(B,A) apply oper1 If On(B,C) apply oper2. Plan is a tree whose branching nodes are states with unknown information. disjunction 分裂 applicable 適用[応用]できる determine 決定

Block world F1 F2 F3 Start state S0 Goal state G0  delete list S0: On(C, Fl) On(B, C) On(A, B) Clear(A) Clear(F2) Clear(F3) G0: On(C, F3) On(B, C) On(A, B) Clear(A) Clear(F1) Clear(F2) delete list add list Operators: Move(x, y, z) “Move x from y to z”

S0---------->G’0 S0---------->G1 G1---->S1 S1-->G0 Sub-goal: to achieve one of the conjuncts, G’0 S0: On(C, Fl) On(B, C) On(A, B) Clear(A) Clear(F2) Clear(F3) S0---------->G’0 diff: On(C, F3) G’0: On(C, F3) G0: On(C, F3) On(B, C) On(A, B) Clear(A) Clear(F1) Clear(F2) G’0: On(C, F3) On(B, A) On(A, F2) Clear(B) Clear(C) Clear(F1) y/F1 S0---------->G1 pre: On(C, y), Clear(F3), Clear(C) G1---->S1 f: Move(C, y, F3) S1-->G0 y/F1 x1/B, z1/A S0---------->G2 pre: On(x1, C), Clear(z1), Clear(x1) G2---->S2 f: Move(x1, C, z1) S2-->G1 x2/A, z2/F2 x1/B, z1/A S0---------->G3 pre: On(x2, B), Clear(F2), Clear(x2) G3---->S3 f: Move(x2, B, z2) S3-->G2

S0---------->G’’0 S0---------->G1 G1---->S2 S2-->G0 Sub-goal: to achieve one of the conjuncts, G’’0 G0: On(C, F3) On(B, C) On(A, B) Clear(A) Clear(F1) Clear(F2) G’’0: On(C, F3) On(B, C) On(A, F2) Clear(B) Clear(A) Clear(F1) S0=G’0: On(C, F3) On(B, A) On(A, F2) Clear(B) Clear(C) Clear(F1) S0---------->G’’0 diff: On(B, C) G’’0: On(B, C) y/A S0---------->G1 pre: On(B, y), Clear(C), Clear(B) G1---->S2 f: Move(B, y, C) S2-->G0 Sub-goal: to achieve one of the conjuncts, G’’’0 G0: On(C, F3) On(B, C) On(A, B) Clear(A) Clear(F1) Clear(F2) G’’’0: On(C, F3) On(B, C) On(A, B) Clear(A) Clear(F1) Clear(F2) S0=G’’0: On(C, F3) On(B, C) On(A, F2) Clear(B) Clear(A) Clear(F1) S0---------->G’’’0 diff: On(A, B) G’’’0: On(A, B) = y/F2 S0---------->G1 pre: On(A, y), Clear(A), Clear(B) G1---->S2 f: Move(A, y, B) S2-->G0

A sequence plan structure NIL finish On(A,B) Clear(F2) On(B,C) Clear(A) 5 4 Move(A,B,F2) Move(B,A,C) On(A,F2) Clear(B) On(B,A) Clear(C) On(C,F3) Clear(F1) 1 2 3 Move(A,B,F2) Move(B,C,A) Move(C,F1,F3) On(A,B) Clear(F2) On(B,C) Clear(A) On(C,F1) Clear(F3) start T Plan sequence: Move(A,B,F2), Move(B,C,A),Move(C,F1,F3), Move(B,A,C), Move(A,F2,B)

Partially ordered plans 部分的に ordered 順序に整理した With respect to …に関して To block world problem, 1->2->3->4->5 are totally ordered plans. Let us tale another example for the shoe-and-socks problem below An total order plan Partial order plan Start Start Start Right Sock Left Sock RightSock LeftShoeOn, RightShoeOn Right Shoe End LeftSockOn RightSockOn Left Shoe RightShoe Left Sock In a partial order plan, some steps are ordered with respect to each other and other steps are unordered. Left Shoe LeftShoeOn RightShoeOn Finish Finish

? Exercises Ex. (optional) Write a recursive STRIPS algorithm for block world problem in Pseudo code.