Download - Notes 10: Planning; Strips Planning Systems
![Page 1: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/1.jpg)
Notes 10: Planning;Strips Planning Systems
ICS 271 Fall 2006
![Page 2: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/2.jpg)
Outline: Planning
Situation Calculus
STRIPS Planning
Partial order planning
Planning graphs
Readings: Russel andNorvig chapter 11, Nillson’s Chapters 21-22
![Page 3: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/3.jpg)
The Situation Calculus A goal can be described by a wff: if we want to have a block on B Planning: finding a set of actions to achieve a goal wff. Situation Calculus (McCarthy, Hayes, 1969, Green 1969)
A Predicate Calculus formalization of states, actions, and their effects.
So state in figure can be described by:
we reify the state and include them as arguments
),()( BxOnx
)()(),(),(),( 11 FclearBClearFCOnCAOnABOn
![Page 4: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/4.jpg)
The Situation Calculus (continued)
The atoms denotes relations over states called fluents.
We can also have.
Knowledge about state and actions = predicate calculus theory.
Inferene can be used to answer: Is there a state satisfying a goal? How can the present state be transformed into that state by
actions? The answer is a plan
)],()(),,()[,,( 1 syClearFysyxOnsyx
),(),,(),,(),,( 00100 SBclearSFCOSCAOSABO nnn
),()( 1 sFClears
![Page 5: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/5.jpg)
Representing Actions
Reify the actions: denote an action by a symbol actions are functions
move(B,A,F1): move block A from block B to F1 move (x,y,z) - action schema do: A function constant, do denotes a function that
maps actions and states into states 1),( doaction
state
![Page 6: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/6.jpg)
Representing Actions (continued)
Express the effects of actions. Example: (on, move) (expresses the effect of move on On) positive effect axiom:
))]),,,((,,(
)(),(),(),,([
szyxmovedozxOn
zxszClearsxClearsyxOn
))]),,,((,,(
)(),(),(),,([
:
szyxmovedoyxOn
zxszClearsxClearsyxOn
negative
Positive: describes how action makes a fluent true negative : describes how action makes a fluent false antecedent: pre-condition for actions consequent: how the fluent is changed
![Page 7: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/7.jpg)
Representing Actions (continued)
Effect axioms for (clear, move): (move(x,y,z))
precondition are satisfied with B/x, A/y, S0/s, F1/z
what was true in S0 remains true
.
![Page 8: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/8.jpg)
Frame Axioms
Not everything true can be inferredOn(C,F1) remains true but cannot be inferred
Actions have local effect We need frame axioms for each action and each fluent
that does not change as a result of the action example: frame axioms for (move, on) If a block is on another block and move is not relevant, it
will stay the same. Positive:
negative
))),,,((,,()](),,([ szvumovedoyxOnuxsyxOn
)),,,((,,()])()[(),,(( szvumovedoyxOnzyuxsyxOn
![Page 9: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/9.jpg)
Frame Axioms (continued)
Frame axioms for (move, clear):
The frame problem: need axioms for every pair o {action, fluent}!!!
There are languages that embede some assumption on frame axioms that can be derived automatically:
Default logic Negation as failure Nonmonotonic reasoning Minimizing change
))),,,((,()(),( szyxmovedouClearzusuClear
))),,,((,()(),( szyxmovedouClearyusuClear
![Page 10: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/10.jpg)
Other problems
The qualification problem: qualifying the antecedent for all possible exception. Needs to enumerate all exceptions
~heavy and ~glued and ~armbroken can-move ~bird and ~cast-in-concrete and ~dead… flies
Solutions: default logics, nonmonotonic logics The ramification problem:
If a robot carries a package, the package will be where the robot is. But what about the frame axiom, when can we infer about the effect of the actions and when we cannot.
![Page 11: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/11.jpg)
Generating plans
To generate a plan to achieve a goal, we attempt to prove
Example: Get block B on the floor from S0. Prove: By resolution refutation: add forall s not On(B,F1,s) (page 370 top, try it)
)(ss
),,(. 1 sFBOns
),,( 1 sFBOns
![Page 12: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/12.jpg)
Alternative to frame problemSTRIPS Planning systems
![Page 13: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/13.jpg)
![Page 14: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/14.jpg)
STRIPS: describing goals and state
On(B,A) On(A,C) On(C,F1) Clear(B) Clear(F1) The formula describes a set of world states Planning search for a formula satisfying a goal description State descriptions: conjunctions of ground literals. Also universal formulas: On(x,y) (y=F1) or ~Clear(y) Goal wff: Given a goal wff, the search algorithm looks for a sequence of
actionsThat transform into a state description that entails the goal wff.
)()(. yfxgx
![Page 15: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/15.jpg)
STRIPS Description of Operators
A STRIPS operator has 3 parts: A set, PC (preconditions) of ground literals A set D, of ground literals called the delete list A set A, of ground literals called add list
Usually described by Schema: Move(x,y,z) PC: On(x,y) and Clear(x) and Clear(z) D: Clear(z) , On(x,y) A: On(x,z), Clear(y), Clear(F1)
A state S1 is created applying operator O by adding A and deleting D from S1.
![Page 16: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/16.jpg)
![Page 17: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/17.jpg)
Example: the move operator
![Page 18: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/18.jpg)
Strips vs ADL language(ADL: action description language)
![Page 19: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/19.jpg)
STRIPS formulation for transportation problem
![Page 20: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/20.jpg)
STRIP for spare tire problem
![Page 21: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/21.jpg)
The block world
![Page 22: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/22.jpg)
Planning forward and backwords
![Page 23: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/23.jpg)
Forward Search Methods:can use A* with some h and g
![Page 24: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/24.jpg)
Recursive STRIPS
Forward search with islands: Achieve one subgoal at a time. Achieve a new conjunct
without ever violating already achieved conjuncts or maybe temporarily violating previous subgoals.
General Problem Solver (GPS) by Newell Shaw and Simon (1959) uses Means-Ends analysis.
Each subgoal is achieved via a matched rule, then its preconditions are subgoals and so on. This leads to a planner called STRIPS(gamma) when gamma is a goal formula.
![Page 25: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/25.jpg)
STRIPS algorithm
Given a goal stack: 1. Consider the top goal 2. Find a sequence of actions satisfying the goal from
the current state and apply them. 3. The next goal is considered from the new state. 4. Temination: stack empty 5. Check goals again.
![Page 26: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/26.jpg)
The Sussman annomaly
RSTRIPS cannot achieve shortest plan Two possible orderings of subgoals:
On(A,B) and On(B,C) or On(B,C) and On(A,B)
![Page 27: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/27.jpg)
Backward search methods;
Regressing a ground operator
![Page 28: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/28.jpg)
Regressing an ungrounded operator
![Page 29: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/29.jpg)
Example of Backward Search
![Page 30: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/30.jpg)
Heuristics for state-space search
Use relax problem idea to get lower bounds on least number of actions to the goal.
Remove all or some preconditions
Subgoal independence: the cost of solving a set of subgoals equal the sum cost of solving each one independently.
Can be pesimistic (interacting subplans) Can be optimistic (negative effects)
Simple: number of unsatisfied subgoals. Various ideas related to removing negative effects or
positive effects.
![Page 31: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/31.jpg)
Partial order planning
Least commitment planning Nonlinear planning Search in the space of partial plans A state is a partial incomplete partially ordered plan Operators transform plans to other plans by:
Adding steps Reordering Grounding variables
SNLP: Systematic Nonlinear Planning (McAllester and Rosenblitt 1991)
NONLIN (Tate 1977)
![Page 32: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/32.jpg)
A partial order plan for putting shoes and sock
![Page 33: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/33.jpg)
![Page 34: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/34.jpg)
State-space vs Plan-space search
![Page 35: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/35.jpg)
Plan-Transforming Operators
![Page 36: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/36.jpg)
STRIPS RULES Graph structure Oval nodes are operators Boxed: preconditions Boxed: effects
![Page 37: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/37.jpg)
Goal and Initials states are rules Example: Sussman Initial plan
![Page 38: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/38.jpg)
The next Plan structure A possible transformation: add a rule to achieve one of
the conjuncts: On(A,B)
![Page 39: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/39.jpg)
A subsequent Plan structure Attempt to Clear(A)
by: move(u,A,v) Then instantiate u to
C and V to F1 and add correspondence links.
Preconditions of moves are established. Order constraint b < a
![Page 40: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/40.jpg)
Achieving next subgoal: On(B,C) Add move(B,z,C) Instantiate z to F1
![Page 41: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/41.jpg)
Add Threat arcs An arc from an
operator to precondition if the operator can delete a precondition
Complete plan when we find a consistent set of ordering constraints that discharge the threats
We have b<c<a
![Page 42: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/42.jpg)
Solving the flat tire problem by partial planning
![Page 43: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/43.jpg)
The initial partial plan for Spare tire
From initial plan, pick an open precond (At(Spare,Axle)) and choose an applicable action (PutOn))
Pick precond At(Spare,ground) and choose an applicable action Remove(Spare,trunk)
![Page 44: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/44.jpg)
Spare-tire, continued
Pick precond ~At(Flat,Axle) and choose Leaveovernight action.
Because it has ~At(Spare,ground) it conflicts with “Remove”,
We add athreat constraint
![Page 45: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/45.jpg)
Flate-tire, continued
Removeovernight doesn’t work so: Consider ~At(Flat,Axle) and choose Remove(Flat,axle) Pick At(Spare,Trunk) precond, and Start to achieve it.
![Page 46: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/46.jpg)
![Page 47: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/47.jpg)
![Page 48: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/48.jpg)
![Page 49: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/49.jpg)
![Page 50: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/50.jpg)
![Page 51: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/51.jpg)
![Page 52: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/52.jpg)
![Page 53: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/53.jpg)
![Page 54: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/54.jpg)
Planning Graphs
A planning graph consists of a sequence of levels that correspond to time-steps in the plan
Level 0 is the initial state. Each level contains a set of literals and a set of actions Literals are those that could be true at the time step. Actions are those that their preconditions could be
satisfied at the time step. Works only for propositional planning.
![Page 55: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/55.jpg)
Example:Have cake and eat it too
![Page 56: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/56.jpg)
The Planning graphs for “have cake”,
Persistence actions: Represent “inactions” by boxes: frame axiom Mutual exclusions (mutex) are represented between literals and
actions. S1 represents multiple states Continue until two levels are identical. The graph levels off. The graph records the impossibility of certain choices using mutex
links. Complexity of graph generation: polynomial in number of literals.
![Page 57: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/57.jpg)
Defining Mutex relations
A mutex relation holds between two actions on the same level iff any of the following holds:
Inconsistency effect:one action negates the effect of another. Example “eat cake and presistence of have cake”
Interference: One of the effect of one action is the negation of the precondition of the other. Example: eat cake and persistence of Have cake
Competing needs: one of the preconditions of one action is mutually exclusive with a precondition of another. Example: Bake(cake) and Eat(Cake).
A mutex relation holds between 2 literals at the same level iff one is the negation of the other or if each possible pair of actions that can achieve the 2 literals is mutually exclusive.
![Page 58: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/58.jpg)
Planning graphs for heuristic estimation
Estimate the cost of achieving a goal by the leve in the planning graph where it appears.
To estimate the cost of a conjunction of goals use one of the following:
Max-level: take the maximum level of any goal (admissible) Sum-cost: Take the sum of levels (inadmissible) Set-level: find the level where they all appear without Mutex
Graph plans are relaxation of the problem. Rrepresenting more than pair-wise mutex is not cost-effective
![Page 59: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/59.jpg)
The graphplan algorithm
![Page 60: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/60.jpg)
Planning graph for spare tire a S2goal: at(spare,axle)
S2 has all goals and no mutex so we can try to extract solutions
Use either CSP algorithm with actions as variables Or search backwards
![Page 61: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/61.jpg)
Search planning-graph backwards with heuristics
How to choose an action during backwards search: Use greedy algorithm based on the level cost of the
literals. For any set of goals: 1. Pick first the literal with the highest level cost. 2. To achieve the literal, choose the action with the
easiest preconditions first (based on sum or max level of precond literals).
![Page 62: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/62.jpg)
Properties of planning graphs; termination
Literals increase monotonically Once a literal is in a level it will persist to the next level
Actions increase monotonically Since the precondition of an action was satisfied at a level
and literals persist the action’s precond will be satisfied from now on
Mutexes decrease monotonically: If two actions are mutex at level Si, they will be mutex at
all previous levels at which they both appear
Because literals increase and mutex decrease it is guaranteed that we will have a level where all goals are non-mutex
![Page 63: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/63.jpg)
Planning with propositional logic
Express propositional planning as a set of propositions. Index propositions with time steps: On(A,B)_0, ON(B,C)_0 Goal conditions: the goal conjuncts at time T, T is
determined arbitrarily. Unknown propositions are not stated. Propositions known not to be true are stated negatively. Actions: a proposition for each action for each time slot. Succesor state axioms need to be expressed for each
action (like in the situation calculus but it is propositional)
![Page 64: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/64.jpg)
Planning with propositional logic (continued)
We write the formula: Initial state and succesor state axioms and goal
We search for a model to the formula. Those actions that are assigned true consititute a plan.
To have a single plan we may have a mutual exclusion for all actions in the same time slot.
We can also choose to allow partial order plans and only write exclusions between actions that interfere with each other.
Planning: iteratively try to find longer and longer plans.
![Page 65: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/65.jpg)
SATplan algorithm
![Page 66: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/66.jpg)
Complexity of satplan
The total number of action symbols is:
|T|x|Act|x|O|^p O = number of objects, p is scope of atoms.
Number of clauses is higher. Example: 10 time steps, 12 planes, 30
airports, the complete action exclusion axiom has 583 million clauses.
More information is in project papers
![Page 67: Notes 10: Planning; Strips Planning Systems](https://reader036.vdocuments.net/reader036/viewer/2022062309/56813e10550346895da7ee7f/html5/thumbnails/67.jpg)
Summary: Planning
Situation Calculus STRIPS Planning Forward and backward planning Partial order planning Heirarchical planning Graph planning Satplan Readings: Nillson’s Chapters 21-22, RN 11