The Problem Space Theory: States
The Problem Space Theory: States
A problem space
o consists of states
States
contain partial knowledge about the problem
and about the solution
• Operators
o transform states
11
Design Methods Observed
. Successive refinement
13
Lessons about Design
27
Goals for Algorithm Design
. Expert systems
o successive refinement
• Formal derivation
o small set of transformations
o guarantee correctness
o good local optimizations
• Inductive learning
o input-output pairs or traces
shed light en
kno Isdge/soarch Issues in expert systems
•
*
• Analyze protocols
o need theory as basis
)
• A simulation system (to test the theory
6
A Task
Episode 2 f
L21 [»Minute 2«] Let's start with some point.
L25 Either a point is on the hull or its not, right?
L27 And the question is how to make this decision.
Episode 3
Episode 3.1
L28 Let's take a few points here. (Draws 4 points.)
L29 Well, that's not a good example,
L30 because all four of them are on the convex hull.
[S draws figure with 5 points not all in hull.]
L35 OK, let's suppose I start with a point here.
L36 And I'll just draw a line to some other point, right.
L42 Now I can go in three directions from this point.
L43 [»Minute 3«] I conjecture that
L44 if it's the case that I can choose two points,
L45 such that I can go on either side of the given line,
L46 then this line can't be on the convex hull.
L47 And I had better retreat.
Episode 3.2
L63 Let's retreat, uh, back... back to A.
L65 And choose some other point.
L66 And this time we'll chose C.
L67 Right? So now I have a line from A to C.
8
Protocol Sample continued
Episode 3.4
L113 [»Minute 6«] And I see that, urn,
L114 all the points are to one side of the line AC.
L115 So I've got a candidate.
L116 Now I'm at C and now I'll go again.
L117 Choose some other point.
L118 Suppose I choose B. [pause]
LI19 A goes to C goes to B.
L120 Urn, now I see that uh, [pause]
L121 there are points on either side of the line CB, right,
L122 there's E and there's A.
L123 [»Minute 7«] I guess I have to look at A
L124 even though I've already got a line segment from it.
L125 So I know that the line CB can't be on the hull.
L126 So I have to retreat back to C.
L128 It looks like I'm not going to come up with
a linear algorithm to do this.
Selected Episodes
. Successive refinement
. Discovery
8
Basic Design Steps
14
Representation in DFS
10
DFS Descriptions of Algorithm
[pt] ,true
•>Generate———>Test—— '.
Assertions:,
on {x}: elements are points
on Test: predicate = is-on-hull(pt)
+------------------------"•----------------------------+
| delete |
V [x] [yx] | true
{x}———>Generate———>Draw———>{z| hull-so-far}———> Test
t | t | false
| y || delete |
+—————+ +——————————+
Assertions:
on {x}: elements are points
on Generate: ordering = random
on {z}: elements are segments
on Test: predicate =
not(points-both-sides(segment,{x}))
16
D e sc ri p ti o n s of A lg o ri th m
DFS
(new-component 'aeex>ry)
(add-coaponent 'generator 'point-gen)
(add-cooponent 'test 'side-test)
(add-component 'memory nil 'add-elen)
•(display-configuration 'subset)
************§
************* f _ * §
* § f •-"> SIDE-TEST 4- *a MEMORY-2 f
i MEHORY-1 > > fOIMT-GEII > c f
f f f f *
* a f
*********#***
16
Applying Operators in DPS
links
assertions
items
18
I I
23
I I
Future Directions
. discoveries
• example construction
. representations
. algorithm analysis
• algorithm memory
. analogy
• learning
• interactive assistant
24