Belief-optimal Reasoning for Cyber

CS B551: Elements of
Artificial Intelligence
Instructor: Kris Hauser
http://cs.indiana.edu/~hauserk
1
Announcements

HW1 due today
2
Recap

Heuristic search
 Consistent
and admissible heuristics
 Heuristic accuracy

Local search
 Steepest
descent
 Monte Carlo descent and simulated annealing
3
Topics

Search applications
 Assembly
planning
 Branch-and-bound optimization
 Collision detection
 Footstep planning for rock-climbing robots
4
Assembly (Sequence) Planning
5
6
Possible Formulation
 States: All decompositions of the assembly




into subassemblies (subsets of parts in their
relative placements in the assembly)
Initial state: All subassemblies are made of a
single part
Goal state: Un-decomposed assembly
Successor function: Each successor of a state
is obtained by merging two subassemblies (the
successor function must check if the merging
is feasible: collision, stability, grasping, ...)
Arc cost: 1 or time to carry the merging
7
Successor Function

It implicitly represents all the actions
that are feasible in each state
8
A Portion of State Space
9
10
But the formulation rules out
“non-monotonic” assemblies
11
But the formulation rules out
“non-monotonic” assemblies
12
But the formulation rules out
“non-monotonic” assemblies
13
But the formulation rules out
“non-monotonic” assemblies
14
But the formulation rules out
“non-monotonic” assemblies
15
But the formulation rules out
“non-monotonic” assemblies
This “subassembly” is not
allowed in the definition of
the state space: the 2 parts
are not in their relative
placements in the assembly
Allowing any grouping of parts
as a valid subassembly would
make the state space much
bigger and more difficult
to search
16
Multiple “Hands”
17
Branch-and-bound Optimization

min f(x), x in S 
Rn
f
x2
x1


S
Steepest descent and other gradient-based
techniques run into local minima
We want a global optimum
18
Exhaustive Search
S
e
19
Exhaustive Search
S
20
Lower-bound function
for any set A  S, returns a lower
bound on f(x) for all xA
 fL(A):
f
x2
x1
SA
fL(A)
21
Pruning the Search Tree
1
2
2.5
4
3
Values of fL(A)
f(x) = 3.2
22
Branch-and-bound Algorithm




Let f* be the best value seen so far
Init: f* = f(midpt(S))
FRINGE = {S}
While FRINGE not empty, repeat:
What order?
A=
remove an item from FRINGE
Pruning step
 If fL(A)  f* or |A|<e, then discard A
 f* = min(f*,f(midpt(A))
 Split A and add subregions to FRINGE
23
Performance

Works well when
 When fL is relatively tight
 When n isn’t too large

Methods for generating fL
 Interval
analysis
 Solving “relaxed” versions of f
 Problem-specific ways
24
Example: Needle Steering
Feedback Controller
Controller (reflex-based agent) rule:
Twist at the speed such that the
predicted helix path minimizes the
distance to target
25
Constant-twist-rate helices
26
Reachable points under constanttwist-rates
27
Finding closest point
Find small initial domain
Use cylindrical lower bound
BnB takes <
1ms on average
28
Collision Checking
 Check whether objects overlap
29
Hierarchical Collision Checking
 Enclose objects into bounding volumes (spheres or boxes)
 Check the bounding volumes
30
Hierarchical Collision Checking
 Enclose objects into bounding volumes (spheres or boxes)
 Check the bounding volumes first
 Decompose an object into two
31
Hierarchical Collision Checking
 Enclose objects into bounding volumes (spheres or boxes)
 Check the bounding volumes first
 Decompose an object into two
 Proceed hierarchically
32
Hierarchical Collision Checking
 Enclose objects into bounding volumes (spheres or boxes)
 Check the bounding volumes first
 Decompose an object into two
 Proceed hierarchically
33
Bounding Volume Hierarchy (BVH)
A BVH (~ balanced binary tree) is
pre-computed for each object
(obstacle, robot link)
34
BVH of a 3D Triangulated Cat
35
Collision Checking
Between Two Objects
A
B
C
BVH of object 1
B
A
C
BVH of object 2
[Usually, the two trees have different sizes]
 Search for a collision
36
Search for a Collision
Search tree
AA
pruning
A
A
37
Search for a Collision
Search tree
AA
Heuristic: Break
the largest BV
A
A
38
Search for a Collision
Search tree
AA
BA
CA
Heuristic: Break
the largest BV
B
C
A
39
Search for a Collision
Search tree
AA
BA
CA
CB
CC
C
B
C
40
Search for a Collision
Search tree
AA
BA
CA
CB
CC
If two leaves of the BVH’s overlap
(here, C and B) check their content
for collision
C
B
C
B
41
Search Strategy



If there is no collision, all paths must eventually
be followed down to pruning or a leaf node
But if there is collision, one may try to detect it
as quickly as possible
 Greedy best-first search strategy with
f(N) = h(N) = d/(rX+rY)
[Expand the node XY
with largest relative
overlap (most likely to
contain a collision)]
rX
d
rY
Y
X
42
Performance
On average, over 10,000 collision checks per
second for two 3-D objects each described by
500,000 triangles, on a contemporary PC
Checks are much faster when the objects are
either neatly separated ( early pruning) or
neatly overlapping ( quick detection of
collision)
43
Footstep Search in Rock-Climbing
Robots
44
Two Levels of Planning
1)
One-step planning:
Plan a path for moving a foot/hand from
one hold to another
Can be solved using a motion planner
(covered in later lecture)
2)
Footstep planning:
Plan a sequence of one-step paths
Can be solved by searching a stance space
45
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
46
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
4 possible 3-hold stances
47
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
New
contact
several candidate 4-hold stances
48
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
?
New
contact
49
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
breaking contact / zero force
50
Footstep Planning
one-step planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
breaking contact / zero force
The one-step planner is needed to determine if a one-step path exists
between two stances
51
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
New
contact
52
Footstep Planning
initial 4-hold
stance
...
3-hold
stance
...
...
...
4-hold
stance
one-step planning
53
Size of Stance Graph

N limbs, H holds: O((H+1)N)
 6,750,000

for 4 limbs, 50 holds
Most of these are infeasible
 Holds
too far apart, too close together, hands would
cross, no equilibrium, …

Each one-step planning query is expensive (on
order of 0.1-10s)
 Assuming
avg of 1s per query, 50 hold problem would
take ~78 days to solve
54
A Two-Stage-Search
Stage 1: footstep search produces small
sets of candidates stances that are likely
to contain a feasible path
 Stage 2: one-step planner called only on
those stances


How to assess the likelihood of feasibility?
55
Learning-based approach

Learn probability of
one-step feasibility
using machine
learning (statistical
methods)
2D projection of 100,000 steps in
11D stance space
Statistical
Model
Search
56
The logarithm trick
Order search with highest probability path:
but how?
 p = Probability of feasible n-step path =
p1*p2*…*pn

57
The logarithm trick
Order search with highest probability path:
but how?
 log p = log p1 + log p2 + … + log pn

58
The Logarithm Trick
Order search with highest probability path:
but how?
 log p = log p1 + log p2 + … + log pn
 So set edge cost to –log pk
 Use uniform-cost search (or A*)

59
Recap

Search has applications in many fields, so
know it well!
60