A PROCEDURAL APPROACH TO CONSTRUCTIONS IN EUCLIDEAN ...

1 downloads 0 Views 3MB Size Report
a given hypotenuse as the base, i s a. c i r c l e upon the hypotenuse as a diameter. 1 7. These theorems are incarnated in the loci specialists. From some.
A PROCEDURAL

APPROACH

TO C O N S T R U C T I O N S

IN EUCLIDEAN

by BRIAN B.Sc,

University

A THESIS THE

V.

FUNT

of British

Columbia,

SUBMITTED IN PARTIAL REQUIREMENTS MASTER

in

FOR OF

THE

FULFILMENT DEGREE

OF

SCIENCE

the Department of

Computer

We

accept to

THE

this

Science

thesis

the required

UNIVERSITY

OF

as

conforming

standard

B R I T I S H COLUMBIA

October,

1973

1971

OF

GEOMETRY

In p r e s e n t i n g an

this thesis

advanced degree at

the

Library

I further for

shall

the

of

this thesis

written

representatives.

of

be

g r a n t e d by

Computer S c i e n c e

The U n i v e r s i t y o f B r i t i s h V a n c o u v e r 8, C a n a d a

1973

requirements

Columbia,

for reference

the

I t i s understood

for f i n a n c i a l gain

O c t o b e r 9.

British

the

Columbia

shall

Head o f my

that

not

be

I agree and

f o r extensive copying of

permission.

Department o f

Date

University

permission

s c h o l a r l y p u r p o s e s may his

f u l f i l m e n t of

make i t f r e e l y a v a i l a b l e

agree that

by

in partial

that

study.

this

thesis

Department

copying or

for

or

publication

allowed without

my

Abstract

A problem level

solving

Euclidean

program

geometry

been

written.

Figures

the

points

composing

them,

constraints.

procedural. aspects

of

The

The the

implementation

of

of handling

straight-edge

has

of

capable

language

compass

are constructed

the l o c i

which

representation

relation

and

to

of

the program,

are

satisfy

proving

which

discussed.

was

school

constructions

discovering, for

geometric

theorem

PLANNER,

by

high

the

given

sets

knowledge

i s

i n geometry,

and

used

in

the

Table

Of C o n t e n t s

Introduction I

II

III IV V VI VII

Background

1

And P r e l i m i n a r y

1.1

Related

1.2

The Domain

1.3

The P a t t e r n

Remarks

5

Work

5 8 O f Two

Loci

8

T h e CONSTRUCTOR

....14

II.1

Overview

.14

II. 2

Consequent

Knowledge

17

II.2.A

The L o c i

Specialists

II.2.B

The L i n e

And S l o p e S p e c i a l i s t s

II.2.C

Angle

II.2.D

Assumption

I n p u t And P h r a s e

11.4

Point

11.5

Solution

11.6

Basic

11.7

Canonical

11.8

Flow

........27

And A s s u m p t i o n

........32

abstraction

Constructions Naming

34 ....36 .37 38 ............41

Output For Further

....26

Specialists

PLANNER

CONSTRUCTOR

..24 25

Specialists

Of C o n t r o l

On

Directions

Ordering

.......18

Specialists

11.3

Comments

.,

48 Research

Conclusion

.....55 59

Bibliography

.......62

VIII

Appendix

I

64

IX

Appendix

II

65

i i

Table

I

Construct vertex

a

angle

II

Flowchart

III

Construct

of

Figures

triangle and

a

given

the

side

base,

the

..........11 .40

a

triangle

given

i i i

the

three

medians

..58

Acknowledgement

I

wish

p a r t i c u l a r i l y t o thank

supervisor,

f o r h i s wealth

Dr.

Rosenberg

Richard

Intelligence;

and

who

Karen

D r . Raymond

of ideas

and

illuminating

originally interested

f o r her love

and

Reiter,

me

in

inspiration.

my

thesis

criticsm; Artificial

1

Introduction

One

of

the

solving

i s

plane

the

school

high

theoretical problems Plane a

and

geometry.

curriculum

importance,

but and

t o geometry

of rigorous 1

realms

justified because

not

i t

exercise

role

they

which

thinking.

of

are

i s absent

Geometry

problems

which

of

because

of i t s

a

wealth of

rigorous

thought.

and t h i s i n many

problems have

problem

of geometry i n

contains

and diagrams a r e inseparable,

concreteness

problems ;

traditional The c o n t i n u e d

i s

f o r the teaching

geometry

domains

ancient

fact

lends

of the other

are

been

not

»toy

studied

for

millennia.

The area the

characteristics

for study

geometry

the teaching

which

make

o f problem

geometry

solving also

o f problem s o l v i n g . ' Systems have

been

developed

such

make

f o r proving

by G e l e r n t e r ,

1 + 2

an

and

excellent i t good f o r

theorems

in

Goldstein.'

» H. G e l e r n t e r et a l , "Empirical Explorations of the Geometry-Theorem P r o v i n g Machine," Computers and Thought, ed. E.A. Feigenbaum and J . Feldman, (New Y o r k : H c G r a w " ~ H i l l 7 1 9 6 3 ) pp.153-163.

H. G e l e r n t e r , Hachine," Computers 2

" R e a l i z a t i o n o f a Geometry-Theorem and Thought, pp.134-152.

Proving

Ira Goldstein, E l e m e n t a r y Geometry Theorem_Proving, (Cambridge, Hass.: M a s s a c h u s e t t s I n s t i t u t e o f Technology, 1973) A l Nemo n o . 280. 3

2

Work a

has a l s o

set

of

examined

the

What

specified

construction

problem.

solution

figure

theorem

proving

extending

A

what

here

them.

ability

i s given

procedure

which

its

applicable.

diagram

a

has

satisfy

the

i s that In

set

of

the figure

to

the

other

i s a form o f there

exists

addition,

f o r the proof concerning

used

the

a

some

o f lemmas solution

i n i t s construction.

i s

whether

and compass

consistent

relates

proven

definition

This

s

theorem.

construction

required

figures

determines

to

devised

Price

i s to construct

to other facts

Each

and

the constraints.

representation

knowledge.

result

being

i s

has

i n a proof;

problem

Performing

satisfying

Wong*

i s the straight-edge

problem

This

t h e theorem

procedural

a

a complete

the

or other auxiliary

geometric

drawing

Given

mentioned. proving;

problems:

i n the hypothesis of a

constraints,

problems

figure

of

considered

satisfies

theorem

on r e l a t e d

f o rconstructions

problem

i s

geometric

done

heuristics

constraints

which

been

used

for

o r theorem

the

i s coded

i t s conditions

procedural

knowledge

required as

a

a r e met a n d

i s

expressed

* Richard Wong, C o n s t r u c t i o n H e u r i s t i c s f o r Geometry and a V e c t o r A l g e b r a R e p r e s e n t a t i o n o f Geometry, (Cambridge, Mass.: Massachusetts Institute of Technology, 1972) T e c h n i c a l Memo no.28.

Keith (Cambridge, unpublished 5

i

Price, "Satisfying Geometric Constraints," Mass.: M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1971) Bachelor»s Paper.

3

in

such

which loci

a

satisfy

as to a i d i n the search

the constraints

a r e found

The in

way

t h e problem

author

which

has

thus

(the far

been

and compass

accepts

the

problem

produces

an a l g o r i t h m

solution

figure.

Polya,

who

it,

uses

8

the

communication the he

common hopes

that

the

of

When

called

Hewitt's

implemented)

description described

construction

thread

program,

construction

has s t u d i e d

o f some

a

subset

straight-edge

the

o f t h e problem.

points

appropriate

i n

problem

of

The

restricted

English,

and

creation

of

f o r the

solving as

a

i n order medium

running through

the solutions after

7

problems.

of reasoning.

will,

PLANNER

f o r the s o l u t i o n

i n English

problem

t h e CONSTRUCTOR,

language

'patterns*

reader

of

i s solved.

has w r i t t e n

MICRO-PLANNER*

f o r the l o c i

working

program

to teach for

the

By p o i n t i n g o u t o f many many

problems exercise

G . J . Sussman et a l , MICRO-PLANNER B e f e r e n c e M a n u a l , (Cambridge, M a s s . : M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1971) A I Memo n o . 2 0 3 A . * 6

Carl Hewitt, D e s c r i p t i o n and T h e o r e t i c a l A n a l y s i s (Using S c h e m a t a } , . o f .PLANNER: A L a n g u a g e f o r P r o v i n g Theorems_and M a n i p u l a t i n g Models i n a Robot, (Cambridge, Mass.: M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1972) R e v i s e d Ph.D. Dissertation, AI T e c h n i c a l R e p o r t no. 258. 7

George Polya, M a t h e m a t i c a l D i s c o v e r y : On U n d e r s t a n d i n g , L e a r n i n g , and T e a c h i n g Problem S o l v i n g , (New York: John Wiley and Sons, 1962~Vol.~1. 8

4

problems,

internalize

work

an

part

i s of

a

attempt

problem

the

underlying

to incorporate

solving

program.

pattern such

of

reasoning.

patterns

as

an

This

integral

5

I

Background

I i i

And P r e l i m i n a r y

Related_Work

Although geometry

work

by

exploration

has been

done

researchers

i a

has been

construction

made

problem

been

on machine

most

familiar

his

Remarks

co-workers.

of

considered o f geometry

work

in this

T h e most

interesting

implemented

by G e l e r n t e r ,

success

i n

moderately

of semantics into

diagram

model.

as a

A

MICRO-PLANNER

has

been

to

incorporate

Machine. which

*

written

program

and

extend

The e s t a b l i s h e d

BTP's

knowledge

Gelernter

et a l .

*o G o l d s t e i n ,

difficult

the ideas

composed,

Computers

(Basic

and

E l e m e n t a r y Geometry

the reason

Theorem

and

Geometry f o r i t s i s

the

by t h e u s e o f a

Theorem

Prover) i s

used

i n t h e Geometry definitions

are expressed

and Thought,

compass

earliest

approach

embedded

theorems

no

emphasis has

theorems,

process

BTP

plane

o f G e l e r n t e r and of

A procedural

geometry i s

that

feature

the proof

by Goldstein.*°

the

and t h e c h i e f

called

and

The main

being

of

Intelligence,

theorems,

regard

introduction

aspects

straight-edge

here.

Machine

proving

other

Artifical

the

proof

9

on

of

a s PLANNER

pp.134-163.

Proving.

6

procedures effort less

which

involved than

in

that

attributable to

Goldstein

to

of the

concentrate

programming. thesis. which

PLANNER has

also the

simply

and

backup.

implemented

thus

generator',

BTP

the

Machine

Geometry

Neither which

they

presented

to

explored

the

implicit

in

not

the

the

programs

work;

at

not

more

lengths

of

or

by

in

the

right

this

should

1

one

be

without

the

be

found

by

Goldstein

'plausible

a l l the

of

appear

compass

there

theorems

angles

are

in

the

to

create

subgoals. of

the

diagram

system.

theorem,

and

has

solving

the

be

the

same

the

move which

or

diagram

diagram

the

must

Price

very

similar

to

considered

in

hypothesis

theorem

figure

It

a

i s possible may

be

but This

differences.

of

has

outlined

problem.

problem

be

constraints

several crucial

figure.

the

A

from

construction

i n the

constrain

a

for

BTP

user

creating a

first and

nor

the

algorithm

contained

totally

'experts

the

generator*

i s a l l that

invalid

hypothesis

however,

constraints

filter

problem

an

the

prove

on

adopted

however,

to

Machine

both

may

able

less

proved.

to

straight-edge

this

been

use

the

BTP,

and

i s

Goldstein

' p l a u s i b l e move

which

Even

Geometry

implemented,

problem

do

has

in

a

the

saving

allowed

been

that

substantially

This

which

has

letting

far.

was

mathematics

approach

order

BTP

Machine.

discusses

than

failure

of

approach

the

procedural

decide

rather

on

I t appears

1

Geometry

procedural

more

The

•experts .

implementation the

Goldstein

would

tried

the

calls

in that

chosen

The

general one

or

freely.

7

Price

thinks

freedom

of

of the

construction figure

i s

not

diagram.

the

case

technique, calling

a

of

In

the

such

a

choices

as

the

straight-edge

degree

of

freedom

degree

and of

of

compass

the

solution

zero.

method

problem

the

number

problem

Whereas compass

the

i s

when

drawing

construction in

construction

construction

restricted

strategy,

discusses

of

a

or

as

routine

relation

implied

diagram tool

to

in a

for a

can based the

be

straight-edge by

the

theorem used.

upon

name,

the

and

this

prover; Price

any

suggests

heuristics

straight-edge

i s

and

Polya compass

problem.

"In the a c t u a l c o n s t r u c t i o n of a figure, given some element to u s e , I d e p e n d o n t h e w o r k o f G. Polya in his chapter on solving construction problems." * 1

Although problem the

these Price

heuristics

considers,

restriction

thrust of

of

the

Price's figure

unconstrained freedom, this

new

1

1

of

problem

they

to

fully

undoubtedly

should

to straight

algorithm

elements

thereby

Price,

loci

would

be of

be

generalized

lines

and

i s to analyse the drawn;

the

choose

figure

constraining

to a construction

" S a t i s f y i n g Geometric

as the

bei u s e f u l

degree

are

f i g u r e ; and

routine.

Constraints,"

The

of

main

freedom

for

as

degrees then

I t i s to

the

eliminate

circles.

values there

to

in

many of

to

pass

this

last

p.11.

8

step

that

problem

Ii2

work

i s most

The

only

a

construct of

straight-edge

directly

problem

straight-edge

type

the

and

domain compass

figure

figure

dealt

problems

concern

them.

from

very

the

the

from

high

angles,

sides,

tangential All

I i i

one

radii,

are

i s a

construction

through

construction

has

even ,

assumed

list

been the

the the

of

the

impossible

The

to

i s

as

not

be

contradictory,

of

examples may

circumference

are

circles,

of

and

an

specify

tangential

the

of

range

trisection

on

The

that

problems

points

to

construction

problems

altitudes,

to

problem

of

used

of

restriction

limited

problems

class

constraints.

majority

texts.

medians,

used,

the

construction

the

geometry

Under

be a

of

circles.

to

have

at

solution.

There

triangle

here

(or

?he_Pattern_Of_Two

objects

compass

however,

and

subset

satisfies

simple

school

lines,

problems

least

quite

a

Although

difficult

to

and

with

circles;

i s

constructions.

which

and

taken

compass

related.

straight-edge a

triangles

angle)

and

Domain

The

that

on

are

schema

problem

Loci

in

which

solutions

specifiable in

by which

i t s

many

three

i t passes,

terms vertex

and

a

may of

straight-edge be

circle

classified.

key

points, by

and

points a

line

i t s center

Geometric

in by

compass

them: two

and

a

a

points point

9

of

i t s circumference.

thus

be

With

the

sets

or

set

considered tools at loci

of

two

determined most two

two

be

the

either

which

set

are

thereby

and

of

a

can

must

or

the be

circular and

be

met

the

or

figure

may

points. be

drawn;

intersection

compass

loci

loci

distinct,

are

can

i s

of

easily

loci

has of

at the

located.

by

a

the

satisfying

and

of

figure. on a

conditions

i f

that

This

or

conditions

points

constraint

problem

construction

These

the

locus.

construction

compass

list

solution figure

rectilinear

compass

a

The

construction

constraints

points

circles

created.

straight-edge

into

of

and

i f the

through

points

of

constructing

locating i t s essential

i t s e s s e n t i a l nature,

construction

straight-edge

of

straight lines

Thus,

reformulated The

of

straight-edge

types,

i s , in

a

that

points

statement

figure. in

of

problem

diagramatically,

restrictions can

be

hand,

such

available

problem

to

members.

The

The

can set

approach

of

the

be

used forms

to

the

i s summarized

by

Polya: "First, r e d u c e the problem t o the c o n s t r u c t i o n of ONE point. Then, s p l i t the condition into TWO parts so that each p a r t y i e l d s a l o c u s f o r the unknown point; each locus must be either a s t r a i g h t l i n e or a circle." 1

He

refers to

Consider

*

2

polya,

i t as

as

the

an

'pattern

example

Hathematical

of

the

2

two

loci*.

problem,

Discovery,

Vol.

"Construct

1

p.5.

a

triangle

10

given

t h e base,

the vertex

triangle

ABC, t h e b a s e

placing

the

•pattern

o f two l o c i * .

circle

center

BAC

t o BC.

by

the

the

Point

radius

This

point

i s sketched

1

placing

3

II.4.

can i s

as

o f the problem.

the f i r s t

The a s s e r t i o n s

1

3

name

point

using

the

of

the

A at angle

The s o l u t i o n

were

except

obtained

i s a dump

generated

solution

the

AB, a f t e r

intersection

Included

The

above,

we

determined

through I.

below. they

be

the

i n figure

i s given

I f

BAC, a n d t h e s i d e

BC, a n d t h e l i n e

i n the database

statement

C C

same a s t h e o n e d e s c r i b e d

about

and

B

and a s i d e . "

BC, t h e a n g l e

AB,

CONSTRUCTOR

assertions English

side

angle

of the

from

algorithm

i t i s more

the i s

explicit

side.

are discussed

i n detail

i n sections II.3

Given: '





side AB

base B C

A

B

FIGURE I

12

Example: ( c o n s t r u c t a t r i a n g l e given t h e base , the v e r t e x a n g l e and a s i d e ) CONSTRUCTING TRIANGLE A B C ) AB I S A SEGMENT OF LINE LINE1 AC OF LINE2 , AND BC OF LINE3) BC I S THE BASE) ANGLE BAC I S A GIVEN ANGLE) AB I S A GIVEN SIDE) (LINE L I N E 3 ) ) (LINE LINE2) ) (LINE L I N E 1 ) ) (TRIANGLE A B C ) ) (POINT C ) ) (POINT B)) (POINT A)) (POINT C (CONDITION-ON C ST TRIANGLE A B C ) ) . 2 0 ) (POINT B (CONDITION-ON B ST TRIANGLE A B C ) ) . 20) (POINT A (CONDITION-ON A ST TRIANGLE A B C ) ) . 2 0 ) (C ON LINE3) ) (C ON LINE2) ) (B ON L I N E 3 ) ) (B ON LINE1) ) (A ON L I N E 2 ) ) (A ON LINE1) ) (KNOWN LENGTH AB)) (KNOWN ANGLE BAC)) (KNOWN LENGTH BC)) TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS

(CONDITION-ON A ST TRIANGLE A B C (A B C) NO. OF LOCI FOUND: 0) (CONDITION-ON A ST TRIANGLE A B C (A B C) NO. OF LOCI FOUND: 1) (CONDITION-ON C ST TRIANGLE A B C (C) NO. OF LOCI FOUND: 0) (CONDITION—ON C ST TRIANGLE A B C (C) NO. OF LOCI FOUND: 1)

)) )) )) ) )

• • • • b e g i n n i n g o f s o l u t i o n algorithm+*++ ((DRAW L I N E LINE1 ANYWHERE) (A I S ON LINE LINE 1) (PLACE POINT B ANYWHERE ON LINE 1) (POINT A I S ON THE CIRCLE WITH CENTER B RADIUS AB) (CONSTRUCT L I N E LINE2 THRU POINT A (AT ANGLE BAC TO LINE LINE 1 ) ( C I S ON LINE LINE2) (POINT C I S ON THE CIRCLE WITH CENTER B RADIUS BC))

13

Although solution Polya

the

of construction

points

out that

set

of arbitrary

of

sets

element

i s i n

generalized semantics axiom of

items

two the

or

Polya,

i t has a

a

used

more

here

general

restriction

s t i l l

and

proves

i n the nature.

the

i n the choice

i n a geometry results

proof

with

of

from

those

the

useful.

i n the i n t e r p l a y

and, o f course,

algebraic

i s only

the pattern of finding

language;

applicable

i n the diagram;

**

satisfying

p a t t e r n c a n be s e e n :

having

loci'

i f t h e n o t i o n o f l o c u s i s broadened

intersection

i n natural

simultaneous

problems

more,

for application

those

true

' p a t t e r n o f two

to a number

solution 1 4

o f syntax

and

theorem

or

a the

whose

i n the s o l u t i o n

intersection result

Discovery. V o l .

i s

of a s e t of

equations.

Mathematical

The

1, p p . 1 3 3 - 1 3 8 .

14

II

T h e CONSTRUCTOR

H i !

Overview

A loci*

framework which

o r theme i s e s t a b l i s h e d

has

been

solution

o f geometry

in

a solution

itself

approach. fact

The

that

with

that

as

"pattern

word

do

of

to

the

various

program

the pattern The

i snot

problem,

but rather

by P o l y a

to connote the

processes

of the

o f two

f o r the

The p a t t e r n

problems

i s a skeleton

logic.

a

problems.

i s used

reasoning

i n which

first-order

existential (E

'pattern*

f o r the discovery

formalism

into

to the construction

o f two l o c i '

methods

One

construction

the solutions

structure, The

incorporated

by t h e ' p a t t e r n

have

which

which loci.*

must

a

lead

similar t o them.,

be f i l l e d o u t

3

c a n be expanded

pattern

an

upon

i s expressed

i s

by t h e

statement/question

x y)

(C1,
scpns i d e r e d > - ^ Reorder the l i s t of points p u t t i n g the current point at the end of the l i s t

Print failure

FIGURE I I

41

III

C o m m e n t s ,_Qn_PLA8HER

PLANNER its

three

pattern

has r e c e i v e d

simultaneous

distinguishing

features,

directed

backtracking for

acute

the

theorem

control

criticism

laudability in

procedure

of

PLANNER

formulation prover,

BTP.

Backtracking seen

to consist the

the

computation,

tree.

i s illustrated

was

passed,

from

that

node

and

of the •blocks

an

has been

D.

automatic singled

out

McDermott. °

The

2

world, *

1

Of

database,

by i t s i n s t r u m e n t a l

role

and t h e geometry

2

2 2

i s a single

term

f o r a process

operations.

backtrack process i s the return

The e f f e c t

heart

and

and c r i t i c i s m .

associative

the l a t t e r

Sussman

o f two d i s t i n c t

in

an

invocation,

structure,

b y G.

praise

a decision

point,

i s undone; i s pruned

the branch from

to a

occurring

This

the i n i t i a t i o n

can

be

operation

preceding state i n node

i n the search

after

of the search

the tree.

o f b a c k t r a c k i n g ; however,

The f i r s t

an e a r l i e r

o f a l lcomputation

which

that

tree

operation

node

developed i s

the

o f computation

on

° G . J . Sussman and D.V. M c D e r m o t t , "From PLANNER to CONNIVER—A Genetic Approach," F a l l Joint.Computer Conference 1222, PP1171-1179. 2

Hinograd, P r o c e d u r e s a s a R e p r e s e n t a t i o n f o r Data C o m p u t e r Program,, f o r U n d e r s t a n d i n g N a t u r a l L a n g u a g e . 2

1

2

2

Goldstein,

Elementary

Geometry

Theorem

Proving.

i n a

42

a

new

branch

emanating

considered

t o be i m p l i e d

certainly

the

backtracking

is

branch.

done

o f automatic

i s

Not even

branch's

reference

point

i s also

backtracking. to

the

This

PLANNER

often

i s most

automatic

structure.

two c o m p o n e n t s ; not

the decision

by t h e term

in

control

Criticism into

case

from

what

the

i t does

saving

a record

exploration

backtracking i s similarily

i s

a n d what

i t does

o f any r e s u l t s

from

o f t h e h y p o t h e s i s which kept.

The

answer

divisible

n o t do.

What

t h e abandoned led

to this

to

the

criticism

seems

t o l i e i n t h e e s t a b l i s h m e n t o f c o n t e x t s and o p e r a t i o n s f o r

their

m a n i p u l a t i o n , a s h a s been

What the

i s done

automatic

point.

examination

There

restarting unexpected.

under

i s

i n QA4

2 3

and CONNIVER. * 2

t h e a u s p i c e s o f PLANNER of the next

no c o n t r o l

o f computation

done

given

at a point

A c c o r d i n g t o Sussman

backtrackingi s

possibility

at a

t o t h e programmer where

i t may

and HcDermott

very

decision over well

the problem

this be that

"an unexpected f a i l u r e w i l l propagate back . . . and compute w i t h o u t o u r e x p l i c i t programming of this activity . . . i s o b s e r v e d by r e a l u s e r s o f

J . F . R u l i f s o n , J.A. Derksen and R.J. Waldinger, QA4: A Procedural Calculus f o r I n t u i t i v e Reasoning, (Menlo Park, Calif.: Stanford Reasearch Institute, 1973) Artificial I n t e l l i g e n c e C e n t e r T e c h n i c a l Note 73. 2

3

* G.J. Sussman a n d D.V. H c D e r m o t t , The_CONNIVER_Reference Manual, (Cambridge, Mass.: Massachusetts Institute of T e c h n o l o g y , 1 9 7 2 ) A I Memo n o . 2 5 9 . 2

43

MICRO-PLANNER who complain that they cannot understand the behavior o f t h e i r programs because the flow of control i s not e x p l i c i t " i n the code."25

An

essential

common power The

and vested

author

difficulty complex

lies

form

with of

suggests

syphoning

primitive,

to

be

natural

contraction

of

the

exploration

The

their

and

GOAL

with

by

criticism

with an

comment

that

point.

with

called

IS.

power

of

the

example

GOAL

i t must

power

can

most '

be

used. a

new

primitive

i s a

Much

fruitless

eliminated

IS whenever

w h i c h Sussman

be

o f f into

new

function

the

I t h a s t o o much

GOAL.

by

possible.

i s

effectively

and McOermott

use i n

The example i s :

(X Y Z) (?X I N ?Y) (GOAL ( ? X I N ? Z ) ) (GOAL (?Z I N ? Y ) } )

this

which

This

effort

powerful

of backtracking.

(CONSEQUENT

They

the less

primitive,

some o f t h i s

backtracking

problem

illustrated

decision

i n i t f o r the frequency

PLANNER

replacing

t h e GOAL

2

6

theorem

" . . . i f called by,e. g. (GOAL (BL0CK2 IN B0X1}), i t s o n l y p o s s i b l e a c t i o n s are either to find a Z between BL0CK2 and B0X1, o r t o f a i l . Although which Z i s found cannot possibly affect

25 Sussman and McDermott, G e n e t i c A p p r o a c h , " p.1173.

2* S u s s m a n a n d McDermott, G e n e t i c A p p r o a c h , " p.1171.

"From

"From

PLANNER

PLANNER

to

to

CONNIVER—A

CONNIVER—A

44

subsequent events, a f a i l u r e back t o t h e theorem w i l l c a u s e i t t o l o o k u p a n o t h e r Z, succeed, and a l l o w i t s c a l l e r t o f a i l a g a i n i n e x a c t l y t h e same way!"" The

difficulty

arises

the

assumption

goal

could

pattern all

i n

possible

Often, even

that

result

or

i n that every

i n

a

may

this

database.

i s

of

pointless.

the goal

A query

represented

i n such

o r a matching

The

i n which

of is

no c o n s e q u e n c e overcome

consequent

by

an

i s

theorem

the pattern

(IS

the

the

GOAL

must

different as

be

tried.

theorems,

in

the

several

times

relevant

change

a

Thus

second

without to

time,

the after

manner,

more a s a s i n g l e

test

there

statement

IN

of the

theorem datum

invoked,

i s found

The problem

(BLOCK2

i s

or not the statement

a matching when

or

above

inconsequential

which,

or significance. using

of

occurs i n the database,

i n the

succeeds?

i s taken

in

B0X1))

base,

the to

t o be

example

call

the

theorem.

* Sussman anS HcDermott, G e n e t i c Approach," p.1173. 7

or

behaves

Equivalently,

database,

i n satisfying

goal

i s made a s t o w h e t h e r

by t h e p a t t e r n

environment.

goal

under

of the database.

data,

computation

The IS f u n c t i o n

environment.

the

different

pattern

Restarting

re-satisfying

modification

the

used

operates

instantiation

not the case;

with

the

function

path

satisfying

satisfy

re-instantiation

way

different

methods o f

t h e same t h e o r e m

example,

distinct

a different

however,

t h e GOAL

"From

PLANNER

t o CONNIVER—A

45

The the

IS f u n c t i o n

i s easily

function.

T h e GOAL

GOAL

way

with

is

made

respect to

invoking

and

important

failure to

satisfy

matching

succeeds The

to success

the

next

the

time.

was

In

I f

from for

i t

a

contrasted

i s

after

with

i n the following

Initially

an

attempt

a matching

datum

satisfied, t h e GOAL

the

matching

i s evaluated.

when

In contrast, than

following

datum

the

GOAL

the

IS

attempting

or

goal

to backtracking, i s that

the statement

suspended

i s restarted.

operates

by f i n d i n g

aspect, i n relation

which

failure

goal

statement

back

when

and f a i l u r e .

the

t h e GOAL, t h e s e a r c h

satisfied,

function

theorems.

propagates

theorem,

understood

i f

a

t h e GOAL,

or

successful

was

previously

function

to succeed

passes

backwards

rather

a

second

a l l other

a s p e c t s t h e o p e r a t i o n o f I S i s t h e same a s

GOAL.

The the no

use o f t h e IS f u n c t i o n

example, possible

restarting the

excessive

i s

tried

beyond

a s THIS

THGOAL

even

of

though

GOAL.

t o MICRO-PLAHHER,

i n t h e implementation

(GOAL

(IS

o f MICRO—PLANNER

The

have

Rather

than

(?X

IH

B0X1))

occurrence by u s i n g

IS f u n c t i o n ,

was u s e d

IH ? Z ) ) ,

o f t h e g o a l s and

the

be e l i m i n a t e d

i n

i tcould

(BL0CK2

traces

revealed

could

arising

computation.

the

b y t h e CONSTRUCTOR

place

t h e problem,

on t h e s t a t e m e n t

b a c k t r a c k i n g which i n

found

the subsequent

passed

Examination

primitive author

upon

Z being

the computation

statement.

than

effect

failure

theorems

o f another

solves

of

t h e IS

added

by t h e

more

often

slightly

o f t h e CONSTRUCTOR.

46

The

above

the

imposition

the

user

has

of a

not

first

observed

a

provided

out

shift,

i n

used

language,

QA4

which

they

may

sufficient

during

the i n i t i a l

handling

the

shape

algorithms.

The

i n PLANNER.

consider away

a

better

of search

distinction

which must

exists be

understood

understood

attempts

to

solve

obscure

controllable

There database, invaluable. success

i s and

no

PLANNER

be

backtracking

question

pattern They

can

that

may

procedure

despite

have

8

non-ideal poorly well

problems.

encouraging

the

the features

the

latter.

o f an a s s o c i a t i v e invocation contributed

the d i f f i c u l t i e s

Rulifson, Derksen and Haldinger, C a l c u l u s f o r I n t u i t i v e R e a s o n i n g , p. 289. 2

of

to

f o r the

and

and p e r p l e x i n g

enable

a r e t h e f a c t o r s which

has enjoyed

tool,

between

problems,

2 8

I t can

and

i n a l l

made

accused

directed

useless

formulation,

well

former;

backtracking.

of solutions i n order

to

PLANNER

have

surprising

i ti s available.

solutions

i n

as i t might a t

n o t be an e n t i r e l y

formulation

upon

Waldinger

from

formulated

Backtracking

and

of

Backtracking

t o be a "most

c o n t r o l over

of

o f t h e element

justification

control structure

Derksen,

programming",

backtracking

as a

be a s u s e f u l a f e a t u r e

Rulifson,

that

establish

backtrack

as i s the case to

appeared.

Nonetheless,

be

o f an a u t o m a t i c

turned

have

trend

discussion i s not intended

QA4:_A

are to the

encountered

Procedural

in

controlling

i t s automatic

backtracking

control

structure.

48

II

CONSTRUCTOR_Out£Ut

The those

solutions given

CONSTRUCTOR

here

is

System

timings

ranged the

The figures "The it

from range

point.

a

two s i d e s

for

The output

from

as well

such

seconds,

10

to

the

20

The

MICRO-PLANNER

function,

which i n

(no L I S P

compiler

of the Michigan

triangle

while

problems

f o r the c i r c l e

CPU

seconds.

solutions

as not solving

than

detail

those

found

reguiring

by

A the

are:construct

medians.

i n the section

t o abandon

comments

t h e CONSTRUCTOR.

may

help

of a a

and

"Directions

new

triangle

problem i s

for

are required

problems

that

construct

The l a t t e r

minutes

such

side;

section

the fact

the introduction

to the third

CPU

concerning

i n the

limitation,

problems

five

problems

specified

serious

i t s three

Approximately

following

the

and

below.

of

t h e CONSTRUCTOR

the

environment For

of

and t h e median

i n more

Research".

from

by

sections,

CONSTRUCTOR.

interpreter

20 t o 35 C P U

any problem

given

the

t h e THIS

the

h a s a s i t s most

Examples

discussed

i n

are different

solve

triangle

the LISP

was

CONSTRUCTOR,

cannot

include

selection

Domain",

given

under

i s given

which

by

o n a n IBM 3 6 0 / 6 7 .

representative CONSTRUCTOR

to

available)

Terminal

previous

interpreted

modified

presently

i n

produced

was

was o p e r a t i n g

problems

were

code

interpreter, turn

t o t h e examples

and admit

Further i n order

failure.

i n the understanding of the

The output

begins

with

a

statement

/

49

of

the

elements

names

the

refered

list

of

input

and phrase

the

points

loci

which

unknown The

assertions

had been

points, part

instructions, parentheses.

After

were s e t up a s g o a l s

i n the figure

construction

Following

of each

found

which

the time

of

the

the

the

this

solution

generated

database

were unknown,

the goal

output

there

are printed.

f o rthe f i r s t

at

f o rthe geometric

i n the database

specialists.

which

final

has generated

t o i n t h e problem.

a l l the

" conditions

CONSTRUCTOR

i s

point

i n s t r u c t i o n enclosed

in

a n d t h e number o f on

I t a

by t h e

In addition,

the

algorithm

figure.

a

dump, a l l

was a t t e m p t e d , the

i s

i s

list

i s given. for

a

separate

of

list set

the of of

50

(construct a r i g h t triangle given al e g and t h e a l t i t u d e t o t h e h y p o t e n u s e ) CONSTRUCTING TRIANGLE A B C ) AB I S A SEGMENT OF L I N E L I N E 1 AC OF L I N E 2 , AND BC O F L I N E 3 ) AB I S A G I V E N S I D E ) L E T T H E G I V E N A L T I T U D E BE OF L E N G T H L E N 4 ) (ANGLE BAC EQUAL ANGLE N I N E T Y ) ) (LINE LINE3) ) (LINE LINE2)) (LINE LINE1) ) (TRIANGLE A B C ) ) (RIGHT T R I A N G L E A B C ) ) (POINT C)) (POINT B)) (POINT A)) ( P O I N T A ( C O N D I T I O N - O N A, S T A L T I T U D E ft TO L I N E 3 I S LENU) ) 100) (POINT A (CONDITION-ON A ST RIGHT T R I A N G L E A B C ) ) 50) (POINT C (CONDITION-ON C S T T R I A N G L E A B C ) ) . 20) (POINT B (CONDITION-ON B ST T R I A N G L E A B C ) ) . 20) (CONDITION-ON A S T T R I A N G L E A B C ) ) . 20) (POINT A (C ON L I N E 3 ) ) ,(C ON L I N E 2 ) ) (B ON L I N E 3 ) ) (B ON L I N E 1 ) ) (A ON L I N E 2 ) ) (A ON L I N E 1 ) ) (KNOWN L E N G T H L E N 4 ) ) (KNOWN L E N G T H AB) ) (KNOWN ANGLE N I N E T Y ) ) TRYING CONDITION: (CONDITION-ON A S T A L T I T U D E A TO L I N E 3 I S LEN4) ) < UNKNOWN P O I N T S (A B C) NO. O F L O C I FOUND: 0) T R Y I N G C O N D I T I O N : ( C O N D I T I O N - O N A ST A L T I T U D E A TO L I N E 3 I S LEN4)) UNKNOWN P O I N T S (A B C) NO. OF L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON A S T RIGHT T R I A N G L E AA B C ) ) UNKNOWN P O I N T S (A B C) NO. O F L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON A S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (A B C) NO. OF L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON C S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (C) NO. OF L O C I FOUND: 0) T R Y I N G C O N D I T I O N : (CONDITION-ON C S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (C) NO. OF L O C I FOUND: 1) (DRAW L I N E L I N E 3 ANYWHERE) ( P O I N T A I S ON A L I N E P A R A L L E L TO L I N E 3 AT D I S T A N C E L E N 4 ) ( P L A C E P O I N T B ANYWHERE ON L I N E 3 ) (POINT A I S ON T H E C I R C L E WITH C E N T E R B RADIUS AB) (ANGLE BAC I S EQUAL TO ANGLE N I N E T Y ) ( C O N S T R U C T L I N E L I N E 2 THRU P O I N T A (AT ANGLE BAC TO L I N E L I N E 1 ) ) (C I S ON L I N E L I N E 2 ) (C I S ON L I N E L I N E 3 ) )

/

51

(construct a c i r c l e tangent t o a given and tangent t o a second intersecting l i n e a t a given point) ( C I R C L E CIRCLE** I S TANGENT TO L I N E (THE C I R C L E I S TANGENT TO T H E L I N E ((INTERSECTING LINE7 LINE6)) ( ( R A D I O S C I R C L E U RADIUS5) ) ( (CIRCLE CIRCLEU)) ( ( C I R C L E U TANGENT L I N E 6 ) ) ( ( C I R C L E D TANGENT L I N E 7 AT C ) ) ((LINE LINE7)) ( (LINE LINE6) ) ( (POINT C) ) ( (POINT A) ) ( ( P O I N T A (CONDITION-ON A C E N T E R ( (C ON C I R C L E U ) ) ( ( C ON L I N E 7 ) ) ( (B ON C I R C L E U ) ) ( ( B ON L I N E 6 ) ) ( (A CENTER C I R C L E U ) ) ( (KNOWN L I N E L I N E 7 ) ) ( (KNOWN P O I N T C ) ) ( (KNOWN L I N E L I N E 6 ) )

line

LINE6) L I N E 7 AT P O I N T C)

CIRCLE

CIRCLEU))

( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E ( UNKNOWN P O I N T S (A) NO. O F L O C I FOUND: 0) ( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 1)

. 100)

CIRCLEU)) CIRCLEU))

( ( C E N T E R P O I N T A I S ON T H E B I S E C T O R OF T H E ANGLE FORMED BY L I N E S L I N E 6 AND L I N E 7 ) (CENTER P O I N T A I S ON A L I N E P E R P E N D I C U L A R TO L I N E 7 AT P O I N T C ) )

(construct base a n g l e

an i s o s c e l e s t r i a n g l e given a and t h e a l t i t u d e t o a l e g )

(CONSTRUCTING

TRIANGLE

A B C)

52

AB I S A SEGMENT OF L I N E L I N E 8 , AC OF L I N E 9 A N G L E ABC I S A G I V E N ANGLE) L E T T H E G I V E N A L T I T U D E B E OF L E N G T H L E N 1 1 ) (ANGLE ABC EQUAL ANGLE ACB) ) (ISOSCELES TRIANGLE A B C ) ) ( L E N G T H AB EQUAL L E N G T H A C ) ) (LINE LINE10)) (LINE LINE9) ) (LINE LINE8) ) (TRIANGLE A B C ) ) (POINT C ) ) (POINT B ) ) (POINT A) ) (POINT C (CONDITION-ON C S T A L T I T U D E C TO 100) (POINT A (CONDITION-ON A S T A E Q U I D I S T A N T (POINT C ( C O N D I T I O N - O N C S T T R I A N G L E A B C (POINT B (CONDITION-ON B S T T R I A N G L E A B C (POINT A (CONDITION-ON A S T T R I A N G L E A B C (C ON L I N E 1 0 ) ) (C ON L I N E 9 ) ) (B ON L I N E 1 0 ) ) (B ON L I N E 8 ) ) (A ON L I N E 9 ) ) (A ON L I N E 8 ) ) (KNOWN L E N G T H L E N 1 1 ) ) (KNOWN A N G L E A B C ) ) TRYING CONDITION: LEN11)) UNKNOWN P O I N T S TRYING CONDITION: LEN11)) UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S

, AND BC OF L I N E 1 0 )

LINE8

B AND C ) ) . HO) ) ) . 20) ) ) . 20) ) ) . 20)

(CONDITION--ON C S T A L T I T U D E (C A B) NO. OF (CONDITION--ON

IS LEN11))

C TO L I N E 8

IS

L O C I FOUND: 0) C S T A L T I T U D E C TO L I N E 8

IS

(C A B) NO. OF L O C I FOUND: 1) (CONDITION--ON C S T T R I A N G L E A B C ) ) (C A B) NO. OF L O C I FOUND: 1) (CONDITION--ON A S T A E Q U I D I S T A N T B AND C ) ) (A) NO. OF L O C I FOUND: 0) (CONDITION-ON A S T A E Q U I D I S T A N T B AND C) ) (A) NO. O F L O C I FOUND: 1) (CONDITION-ON A S T T R I A N G L E A B C ) ) (A) NO. O F L O C I FOUND: 1)

((DRAW L I N E L I N E 8 ANYWHERE) ( P O I N T C I S ON A L I N E P A R A L L E L TO L I N E 8 AT D I S T A N C E L E N 1 1 ) ( P L A C E P O I N T B ANYWHERE ON L I N E 8 ) ( C O N S T R U C T L I N E L I N E 1 0 THRU P O I N T B (AT ANGLE ABC TO L I N E L I N E 8 ) ) (C I S ON L I N E L I N E 1 0 ) ( P O I N T A I S ON T H E P E R P E N D I C U L A R B I S E C T O R OF BC) (A I S ON L I N E L I N E 8 ) )

53

(construct i s tangent (LET (THE

a c i r c l e o f given to a given c i r c l e

r a d i u s which a t a given point)

T H E RADIOS B E OF L E N G T H RADIUS 13) C I R C L E I S TANGENT TO T H E C I R C L E C I R C L E 1 4

( ( R A D I U S C I R C L E 1 2 RADIUS 1 3) ) ((CIRCLE CIRCLE14)) ( (CIRCLE CIRCLE12)) ( ( C I R C L E 1 2 TANGENT C I R C L E 1 4 AT B) ) ( ( P O I N T B) ) ( (POINTft)) ( (POINT A (CONDITION-ON A C E N T E R C I R C L E ( (B ON C I R C L E 1 2) ) ( (B ON C I R C L E 1 4 ) ) ( ( A CENTER C I R C L E 1 2 ) ) ( (KNOWN C I R C L E C I R C L E 1 4 ) ) ( (KNOWN P O I N T B) ) ( (KNOWN L E N G T H RADIUS 1 3 ) )

AT POINT B)

CIRCLE12))

. 100)

( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E C I R C L E 1 2 ) ) ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 0) v ( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E C I R C L E 1 2 ) ) ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 1) ( (CENTER P O I N T A I S ON A C I R C L E C E N T E R B WITH RADIUS R A D I D S 1 3 ) C E N T E R P O I N T A I S ON A L I N E THRU P O I N T B AND T H E CENTER OF CIRCLE14))

(construct

a right

(CONSTRUCTING

triangle

given

a base angle

(

and t h e hypotenuse

TRIANGLE A B C )

(AB I S A SEGMENT OF L I N E L I N E 1 , AC OF L I N E 2 (ANGLE ABC I S A G I V E N ANGLE) (BC I S T H E HYPOTENUSE) ( (ANGLE BAC EQUAL ANGLE N I N E T Y ) ) ( (LINE L I N E 3 ) ) ( (LINE LINE2)) ( (LINE LINE1) ) ( (TRIANGLE A B C ) ) ( (RIGHT T R I A N G L E A B C ) ) ( (POINT C) ) ((POINT B))

, AND BC O F L I N E 3

54

(POINT &) ) (POINT a (CONDITION-ON (POINT C (CONDITION-ON ( P O I N T B (CONDITION-ON (POINT A (CONDITION-ON (C ON L I N E 3 ) ) (C ON L I N E 2 ) ) (B ON L I N E 3 ) ) (B ON L I N E 1 ) ) (A ON L I N E 2 ) ) (A ON L I N E 1 ) ) (KNOWN L E N G T H B C ) ) (KNOWN ANGLE A B C ) ) (KNOWN ANGLE N I N E T Y ) ) TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S

a C B A

ST ST ST ST

RIGHT T R I A N G L E TRIANGLE A B C ) TRIANGLE A B C ) TRIANGLE A B C )

A ) ) )

B C ) ) .50) . 20) .20) .20)

( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A B C) NO. OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T R I G H T T R I A N G L E A B (A B C) NO OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A B C) NO OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON B S T T R I A N G L E A B C ) ) (A B C) NO OF L O C I FOUND: 0) ( C O N D I T I O N -ON B S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A) NO. OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T R I G H T T R I A N G L E A B (A) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A) NO. OF L O C I FOUND: 1)

C ) )

C ) )

C ) )

C ) ) C ) )

((DRAW L I N E L I N E 3 ANYWHERE) (B I S ON L I N E L I N E 3 ) ( P L A C E POINT C ANYWHERE ON L I N E 3 ) ( P O I N T B I S ON T H E C I R C L E WITH C E N T E R C RADIUS BC) (DRAW C I R C L E WITH CENTER H AT T H E MIDPOINT OF BC RADIUS BH) (CONSTRUCT L I N E L I N E 1 THRU P O I N T B (AT ANGLE ABC TO L I N E L I N E 3 ) ) (A I S ON L I N E L I N E 1 ) )

55

1

Directions

There proceed. broader

For Further

are several

class

of

figure

such

as l i n e s . i s

although

sentence

The include loci

would

problems

intersection

not

have

The

were

algorithm.

solution

figures.

could

other

than

Other

trapezoids;

the also

solution

be

solved,

the

problem

a single

English

Just

i n two

loci

be

expanded

so

dimensions.

than

to

a s two i n t e r s e c t i n g

dimensions

i n three rather

could

curves,

does

the

The l o c i i n

but this

would

complication.

figure

angles

i s

which

a

include:

and

communicating

system

could

of

be

for

actually

of different

the

that

they

drawn

i f

graphics

the i n t e r p r e t a t i o n o f the output

problem

of the s t i p u l a t i o n s l i m i t i n g

consideration

i n

dimensions.

The s p e c i f i c a t i o n

and

handle

might

squares,

could

employed.

points

developed

lengths

One

of input

are surfaces

i n any

i n

to

and t r i a n g l e s .

subfigures

of the current

three

solution

routines

t o be

solution

dimensions

result

form

i n three

of

circles

constructions

arises

development

be e x p a n d e d

construction

of several

Some

repetoire

determine

three

Other

difficulty

specification.

easily

than

for

further

as parallelograms,

composed

a

i n which

could

figures

candidates

quadrilaterals well

areas

T h e COHSTROCTOR

possible

as

Research

must

values

would

f o r the

result

the type

given

i n different

o f problem

n o t be c o n t r a d i c t o r y

under

and hence

56

unsolvable.

The

construction reports the

CONSTRUCTOR

impossible;

failure.

One

CONSTRUCTOR

i t simply

technigue

t o prove

analagous

to the 'pattern

be

two

oh

loci,

non-intersecting, of two

loci

which

is

of

reguired

loci'

1

i n forming and

c a n be u s e d

refered

could

with

to

prove

a

an a l g o r i t h m

or

be used

in

extending

o f two l o c i * . the

loci

I f a

point

can

be

i s found

proved

i s impossible.

two p a r a l l e l

to

to

be

Examples

lines

and a l s o ,

circles.

two l o c i .

straight-edge

which

the construction

a l l construction

•pattern

attempt

the impossibility of a construction i s

and

then

not

succeeds

do n o t i n t e r s e c t a r e :

concentric

Not

does

problems

are solvable

I t i s , however,

at least

compass

part

to i n the 'pattern

a basic

of

the

constructions.

i n constructing

only

technigue,

solution

The

the 'stepping

of auxiliary

using

and

i na l l

'pattern stone'

the

o f two

which

i s

figures'.

"try t o d i s c o v e r s o m e p a r t o f t h e f i g u r e o r some c l o s e l y r e l a t e d f i g u r e which you c a n c o n s t r u c t and which you can use as a stepping stone i n constructing the original f i g u r e . " 2

Discovering difficult technigues. imperative

2

9

which problem

auxiliary

f o r which

The employment when

figure

looking

Polya, . Mathematical

will

be o f u s e i s i n i t s e l f

the author

of a diagram for

auxiliary

Discovery,

9

i s currently would,

of

figures.

developing course,

An

V o l . 1, p . 1 5 .

a

be

auxiliary

57

figure

need

not n e c e s s a r i l y occur

the

solution

new

points

figure, and

geometry

theorem

have

place

a

compass has

b u t may b e f o r m e d

lines, prover

i n such

as a subpart

construction

particular

as a part

other

program.

properties

of

more

A proof may

be

the

diagram

of

by t h e i n t r o d u c t i o n o f

words

as that of a

of

a

construction.

Goldstein

powerful that

would

required

before

A

also

straight-edge

an a u x i l i a r y

3 0

and

figure

i t c a n be

constructed.

As given

an example the three

medians is

medians".

An a u x i l i a r y

triangle

introduced

MGD.

into

triangle

angle be the

GMD

i s known.

a triangle

constructable

A

point

new

Once With

D,

by

the

result

this

new

and G o l d s t e i n * s

CONSTRUCTOR, o f AM, i s that

t h e medians

GD of

= a

from

the v e r t i c e s

has been

constructed,

information and hence

theorem

the three

t o prove

that

MGO

triangle

midpoint

2/3 t h e d i s t a n c e

a triangle

a

given

the

I t i s necessary

b y t h e CONSTRUCTOR,

CONSTRUCTOR

"Construct

figure,

a t a point

medians.

constructed

Construct

the established

intersect

the

the problem,

the diagram.

MF, a n d t o r e c a l l

along

consider

triangle

triangle

prover

could

GAM

ABC.

can Both

be used

as

subsystems.

so The word 'construction* i s used here in a theorem p r o v i n g c o n t e x t a n d m e a n s t h e i n t r o d u c t i o n o f a new e l e m e n t i n t o the problem, not the discovery o f a f i g u r e .

58

FIGURE I I I

59

VI

Conclusion

This

study

manipulation, discovery

has

and

extent

of fiqures

constraints.

For

knowledge,

begun

satisfying the

explore

the

knowledge

a complete

delineation

procedures

representation,

of

to

have

and the p a t t e r n

embodiment,

required

for

and c o n s i s t e n t

and

been

the

management

experimented

o f two l o c i

setof

of

the

with

h a s been

the

as

tested

a

as a

framework.

A of

base

which

a r e common

Goldstein, the

exist

provers

another another

uses

another step step

procedures

a

i n

constructed

locus.

the

the relevant and

clarity because

of they

i n tone

that

i fcertain

i ti s

specific

provers

between The

conditions and

i fcertain

then

and

however.

justified

that

figure

valid.

conditions

possible

to

i n s t r u c t i o n s and

u s e a r e s u l t t o make uses

a r e s u l t t o make

of a figure.

knowledge

mind

Gelernter

tasks

t h e CONSTRUCTOR

adequate

r e s u l t s , some

two

i s

by f o l l o w i n g

i n the construction

of

i s a difference

The theorem

i n a proof;

flexible

maintain

There

provers

results stating

the construction

Encoding a

theorem

a particular conclusion

in a partially

drawing

of established

use r e s u l t s s t a t i n g

CONSTRUCTOR

continue

both

to the

o f r e s u l t s used

met t h e n

The

consisting

was r e q u i r e d .

majority

theorem are

o f knowledge

as programs

approach. when

are written

I t

proved

to

i s possible

expressing i n the f i r s t

be to

theorems

as

person.

The

60

programmer

dons

behaviour

as

the cloak of a his

own.

This

procedures

must

be

encourages

this

assumption,

desirable.

A procedure

accordance

with I t

assumption,

write

then

discarding

can

be

i s

ability

should

natural

the

formulate

then

not

imply

be

i t

and

to

procedures,

on

and

i s neither be a b l e

first

of

a l l such PLANNER

necessary nor to

behave of

i n

other

make

the

independence

observe

their

performance;

interactions their

o f PLANNER

geometric

that

accomplishments

and

basis

describes i t s

independent.

and c o u l d

failures

of the shortcomings

to

to

but

the assumption,

added

Regardless

does

considered

the

procedures.

theorem

between

procedures

observed

behaviour.

i n this

concepts

respect,

as procedures

the

proved

invaluable.

It as

an

would aid

Gelernter thought

solving

and G o l d s t e i n

application necessary. statement

a

t o a s k why

a diagram

was

construction

problems

as

i n p r o v i n g theorems.

diagram

would

o f the 'pattern A l l the

be

o f two l o c i '

information

a p l a c e f o r diagrams but i t i s associated

o f t h e problem.

restrictions

on a

slopes

have

may

point

Before

found.

the

locus

the which

other

Such

of

points,

facts

may

was b y was

i n the i snot problem

There i s

construction

theorem might

used

i t

simply

i n the database.

with

c a n be drawn,

to' be

i n

i n the solution

a

i t

however,

a diagram

contained

more

never

Originally

essential;

c a n be r e p r e s e n t e d d i r e c t l y

definitely

aspects

i n

that

problems,

be r e a s o n a b l e

proving

satisfy

the

lengths

or

possibly

be

61

determined facts. a

by

proving

F o r example,

q u a d r i l a t e r a l whose

length

other

machinery

unknown

length

opposite

side

them may

i s

to

facts

t h e mechanism

i s theorem in

for

proving. the

be t h a t known.

the

known

of a side of The

proven

unknown t o be a

determination

of

The s o p h i s t i c a t i o n o f t h e

CONSTRUCTOR

and i t i s i n extending

other

i t that

for

diagrams

this

i s

would

have

not to

introduced.

An loci» compass

e x c e l l e n t framework for

the

solution

construction

addition, to

Thus,

available

extensive, be

an

relating

i s d e t e r m i n e d i f t h e q u a d r i l a t e r a l c a n be

parallelogram. these

theorems

solving

a mastery more

i s provided of a

problems

large of

of the •pattern

difficult

problems.

a

by t h e " p a t t e r n

of

class of straight-edge high

o f two

school loci*

level.

two and In

i s prerequisite

62

/

1.

Baumgart, Bruce G. Micro-planner Alternate Reference Manual. Palo alto, Calif.: Stanford University, SAILON~no. 67, 1972.

2.

G e l e r n t e r , H., J . R . H a n s e n , a n d D.W. Loveland. "Empirical E x p l o r a t i o n s o f t h e Geometry-Theorem P r o v i n g Machine." Computers and Thought . Ed. E d w a r d A. Feigenbaum and J u l i a n Feldman. Hew York: McGraw Hill, 1963, pp.153-163.

3.

Gelernter, H. "Realization o f a Geometry-Theorem P r o v i n g Machine." 9fP*?l£E , a n d .Thought. Ed. E.a. Feigenbaum and J. Feldman. Hew Y o r k : McGraw Hill, 1963, pp.134-152. c

s

4.

Goldstein, Ira. ElementaryGeometry Cambridge, Mass.: Massachusetts T e c h n o l o g y , A l Memo n o . 2 8 0 , 1 9 7 3 .

5.

Hewitt, Carl. D e s c r i p t i o n and T h e o r e t i c a l A n a l y s i s (Using Schemata), o f P l a n n e r : A L a n g u a g e f o r P r o v i n g _ T h e g r e m s and_Manigulating_Modgls_in_a_R Cambridge, Mass.: Massachusetts Institute o f T e c h n o l o g y , R e v i s e d Ph.D. D i s s e r t a t i o n , A l T e c h n i c a l Report no. 258, 1972.

6.

Morgan, P.M. Toronto,

7.

Polya,

George. M a t h e m a t i c a l D i s c o v e r y : On L e a r n i n g and T e a c h i n g Problgm S o l v i n g . W i l e y S S o n s , V o l . 1 , 1962.

8.

Price,

Keith. Cambridge, Technology,

9.

R u l i f s o n , J . F . , J.A. Derksen and R.J. Procedural Calculus f o r Intuitive

And w.E. Breckenridge. O n t . : Thomas N e l s o n & Sons,

Theorem p r o v i n g . Institute of

Plane.Geometry. Rev. E d . , 1954.

Understanding, New Y o r k : John

"Satisfying Geometric Constraints." Mass.: Massachusetts Institute of u n p u b l i s h e d B a c h e l o r ' s P a p e r , 1971.

Waldinger. Reasoning.

QA4: A Menlo

63

Park, C a l i f . : Stanford Research I n s t i t u t e , Artificial I n t e l l i g e n c e C e n t e r T e c h n i c a l Note 7 3 , 1972.

10.

Sussman, Gerald J . A n d Drew V . HcDermott. The_CONMIVER R e f e r e n c e Manual. Cambridge, Mass.: Hassachusetts I n s t i t u t e o f T e c h n o l o g y , A I Memo n o . 2 5 9 , 1 9 7 2 .

11.,

Sussman, G e r a l d J . A n d Drew V. HcDermott. " F r o m PLANNER to CONNIVER A Genetic Approach." Fall_J.oint Computer.Conference 1972, pp. 1171-1179. ~ -

12.

Sussman, G.J., T. Winograd and E. Charniak. MICRO-PLANNER R e f e r e n c e H a n u a l . Cambridge, Mass.: Hassachusetts Institute o f Technology, A I Memo n o . 203A, 1971.

13. „ S u s s m a n , G.J. A n d D.V. HcDermott. Whv_Connivinq_is Better^ than P l a n n i n g . Cambridge, HassTT Hassachusetts I n s t i t u t e o f T e c h n o l o g y , A I Memo n o . 2 5 5 A , 1 9 7 2 .

14.

welchons, A.M., W.R. Krickenberger a n d H.R. Plane_Gegmgtry. B o s t o n , Mass.: G i n n , 1958.

Pearson.

15.

Winograd, Terry. P r o c e d u r e s a s a R e p r e s e n t a t i o n f o r Data i n a Computer Program f o r 0nderstandiD3_Natural ~ Language. Cambridge, Mass.: M a s s a c h u s e t t s Institute o f T e c h n o l o g y , R e v i s e d Ph.D. D i s s e r t a t i o n , MAC TR 84, 1 9 7 1 .

16.

Wilcox, B. And Arbor, Mich.:

17.

Wong, R i c h a r d . C o n s t r u c t i o n H e u r i s t i c s f o r Geometry a n d a V e c t o r A l g e b r a R e p r e s e n t a t i o n o f G e o m e t r y . ~Cambridge7 Mass.: Hassachusetts Institute of Technology, T e c h n i c a l Memo n o . 2 8 , 1 9 7 2 .

C. Hafner. LISP/MTS U s e r ' s G u i d e . Ann Mental Health Research~lnstltute7~1973.

64

Appendix

I

(a)

Draw

a circle

given

(b)

Draw

a line

(c)

Draw

an a n g l e

(d)

Draw a l i n e given line.

(e)

Draw the point.

(f)

Find

the midpoint

of a given

line

(g)

Draw

the bisector

of a given

angle.

(h)

Draw the segment.

(i)

Draw a l i n e given point

given

i t s center

two

equal

points

and

on i t .

to another

at a given

given

distance,

perpendicular

perpendicular

to

a

angle.

and

given

bisector

a t a given angle on t h e i t .

radius.

parallel

to

line

given

at a

a

segment.

to

to a given

a

given

line,

line

and a t a

65

Appendix,II

Sample _ Consequent

Knowledge

Specialists

(thconse c - a l t 1 ; t h e l o c u s o f a p o i n t a known d i s t a n c e ; f r o m a known l i n e i s a l i n e parallel ; to that line ( ( t h r e s t r i c t a • ( l a m b d a (x) ( e g $ ? p x ) ) ) p l i n e h) ( c o n d i t i o n - o n $?p s t a l t i t u d e $ ? a t o $ ? l i n e i s $?h) (this (known l e n g t h $ ? h ) ( t h u s e c - l e n g t h 2 c-length1)) (this (determine l i n e $ ? l i n e ) (thuse c-dtrmnline)) (construction point $?a is on a line parallel to $?line at distance $?h))

(thconse c-angle1 ; a n a n g l e i s known i f i t i s ; i s t h e a n g l e o f i n t e r s e c t i o n o f 2 known l i n e s , (a e v f ) (known a n g l e $ ? a ) ( t h u n i g u e ' a n g l e $?a) ( t h g o a l (explode $?a $?e $?v $ ? f ) (thnodb) (thuse c-explode)) (this (known l i n e (thev ( l i n e $?e $ ? v ) ) ) (thuse (this (known l i n e (thev ( l i n e $ ? f $?v))) (thuse (thassert (known a n g l e $?a))) (thconse c-assumeline ; a s s u m i n g a l i n e means t o d e t e r m i n e ; a l i n e may b e a s s u m e d t o b e known ; i f no o t h e r l i n e h a s b e e n assumed

i t s position

(1 p o i n t ) (assume l i n e $?1) ( t h n o t ( t h g o a l (assumed l i n e ? ))) (thassert (known l i n e $?1)) (thassert (assumed l i n e $?1)) M

M

c-linetest)) c-linetest))

arbitrarily

66

(thcond ( ( t h a n d ( t h g o a l ( $ ? p o i n t on $ ? 1 ) ) ; i f a p o i n t on t h e l i n e i s known t h e n ( t h g o a l (known p o i n t $ ? p o i n t ) ) ) ( c o n s t r u c t i o n draw l i n e $ ? 1 a n y w h e r e t h r u ; t h e l i n e must p a s s t h r u i t ( ( t h n o t ( t h g o a l (known p o i n t " ? " ) ) ) ( c o n s t r u c t i o n draw l i n e $?1 a n y w h e r e ) ) ; o t h e r w i s e i t may g o a n y w h e r e (t ( t h f a i l theorem))))

point

$?point))

(thconse c-dtrmnline ; t o d e t e r m i n e a l i n e means t o f i r s t ; s e e i f i t i s known ( i n t h e d a t a b a s e o r by d e d u c t i o n ) ; a n d i f i t i s n o t known t o a s s u m e t h a t i t i s k n o w n (1 p o i n t ) ( d e t e r m i n e l i n e $?1) {thor ( t h i s (known l i n e $ ? 1 ) (thuse c - l i n e t e s t ) ) (this (assume l i n e $?1) (thuse c-assumeline))) (thfail? t •(thfail theorem))) ; i f f a i l u r e b a c k s up t o t h i s p o i n t t h e w h o l e ;theorem s h o u l d fail

(thconse c - l i n e 2 ; a l i n e i s known i f i t p a s s e s t h r u ; a known p o i n t a n d h a s k n o w n s l o p e , ( l a s ) ( f i n d l i n e $?1) (thcond ((thand ( t h g o a l ($?a on $?1)) ( t h g o a l (known p o i n t $ ? a ) ) ) ) ( ( t h a n d ( t h g o a l ($?a on $?1)) (this (known p o i n t $ ? a ) ( t h n o d b ) ( t h u s e c - d t r m n p o i n t ) ) ) ) ) (thor ( t h i s (known s l o p e $ ? 1 $ ? s ) ( t h u s e c - s l o p e 2 c-slope1)) ( t h f a i l theorem)) ( t h a s s e r t (known l i n e $?1)) ( c o n s t r u c t i o n c o n s t r u c t l i n e $?1 t h r u p o i n t $?a $ ? s ) )

(thconse c-slope2 ; t h e s l o p e o f a l i n e i s known i f i t ; i n t e r s e c t s a n o t h e r known l i n e a t a known a n g l e . (1 m a s ) (known s l o p e $?1 $ ? s ) ( t h u n i g u e ' s l o p e $?1) ( t h g o a l ( $ ? 1 i n t e r s e c t s $?m a t a n g l e $ ? a ) (thuse c - i n t e r s e c t 1 ) ) (this (known a n g l e $ ? a ) ( t h u s e c - a n g l e 2 c-angle3)) (this (known l i n e $?m) (thuse c - l i n e t e s t ) ) ( t h s e t g $ ? s ( " l i s t " ' a t ' a n g l e $?a ' t o ' l i n e $?m)))

(thconse c - c i r c l e 5 (c ded circle 11 rad ( t h r e s t r i c t 12 ' ( l a m b d a (teg) (not ( e g ( t h v 11) teg))))) (condition-on ( t h v c) c e n t e r c i r c l e (thv circle)) ( t h g o a l ({thv c i r c l e ) tangent (thv 11))) (thcond ( ( t h g o a l ((thv c i r c l e ) t a n g e n t (thv 1 2 ) ) ) ) ( ( t h g o a l {{thv c i r c l e ) t a n g e n t ( t h v 12) at " ? ) ) ) ) (thcond {(thgoal ( i n t e r s e c t i n g ( t h v 11) (thv 12)) (thuse c - i n t e r s e c t i n g 1 c-intersecting2)) (this ( d e t e r m i n e l i n e (thv 11)) (thtbf thtrue)) (this (determine l i n e (thv 12)) (thtbf thtrue)) (construction center point ( t h v c) is on the bisector of the angle formed by lines (thv 11) and (thv 12))) ((thgoal (parallel ( t h v 11) ( t h v 12)) (thtbf thtrue)) (this (determine l i n e (thv 11)) (thtbf thtrue)) (this { d e t e r m i n e l i n e ( t h v 12)) (thtbf thtrue)) (thgoal (radius (thv c i r c l e ) (thv rad))) (thdo (thassert (deduced length (thv rad) ( i s one h a l f t h e s e p a r a t i o n o f t h e p a r a l l e l l i n e s ) ) ) (thassert (known l e n g t h (thv rad)))) (construction center point ( t h v c) is on a line parallel M

to lines (thv 11) and (thv midway between them))))

12)

s

, BP^ ,.. i i P S t , A n d _ P h r a s e a

e

Specialists

(thante a-altmed1 (side len segment a b c ( t h r e s t r i c t o t onto) ( t h r e s t r i c t f a c t o r altmedp) ( t h r e s t r i c t t h ' ( l a m b d a (th) (memq t h ' ( t h e t h a t o n e ) ) ) ) ) (given the $ ? f a c t o r $?ot $?th $?side) (thcond ((memq $ ? s i d e » ( b a s e h y p o t e n u s e ) ) ( t h g o a l ( t r i a n g l e $?a $?b $?c)) ( t h s e t g $ ? s e g m e n t (seg $?b $?c) $?point $?a)) ((eg $ ? s i d e *side) ( t h g o a l ( t r i a n g l e $?a $?b $?c)) (thcond ( ( t h g o a l (known l e n g t h ( t h e v ( s e g $?b $?a)))) ( t h s e t g $?segment (seg $?b $?a) $?point $?c)) ( ( t h g o a l (known l e n g t h (thev ( s e g $?a $?c)))) ( t h s e t g $?segment (thev (seg $?a $?c)) $?point $?b)) (t (thsetg $?segment (thev (seg $?b $?c)) $?point $?a)))) (t ( t h e r t bad s i d e - a - a l t m e d 1 ) ) ) (thsetq $?len (gensyml »len)) ( t h a s s e r t (known l e n g t h $?len)) ( t p r i n t l e t t h e g i v e n $ ? f a c t o r be o f l e n g t h $ ? l e n ) (or (eg $ ? f a c t o r ' a l t i t u d e )

(thassert (median $ ? p o i n t t o $?segment) $ t ) ) (thassert (point $?point (thev (tlist condition-on $?point st $?factor $?point to (cond ((eg $ ? f a c t o r ' a l t i t u d e ) ( l i n e $?segment)) (t $ ? s e g m e n t ) ) is $?len})) (thprop (cond ((eg $ ? f a c t o r ' a l t i t u d e ) 100)

(thante a-anyangle ((threstrict art articlep) (given $?art angle) ( t h g o a l ( t r i a n g l e $?a $?b (thor (thand ( t h a s s e r t (known (tprint angle (ang $?a (thand ( t h a s s e r t (known (tprint angle (ang $?a (thand ( t h a s s e r t (known (tprint angle (ang $?b

a

b

(t -110)))))

c)

$?c)) angle ( t h e v (ang $ ? a $?b $ ? c ) ) ) ) $?b $?c) i s a g i v e n angle)) angle ( t h e v (ang $ ? a $ ? c $ ? b ) ) ) ) $ ? c $?b) i s a g i v e n a n g l e ) ) angle ( t h e v (ang $?b $ ? a $ ? c ) ) ) ) $?a $?c) i s a g i v e n a n g l e ) ) ) )

(thante a-isos1 (a b c ) ( i s o s c e l e s t r i a n g l e $?a $?b $?c) (thassert (point $?a (thev (tlist condition-on $?a st $?a eguidistant $?b and $?c))) (thprop 40)) (thassert (length (thev (seg $?a $?b)) equal length (thev (seg $?a $ ? c ) ) ) ) )

(thante a-isos2 (a b c ) ( i s o s c e l e s t r i a n g l e $?a $?b $?c) (thassert (angle (thev (ang $ ? a $?b $?c)) egual angle ( t h e v (ang $?a $ ? c $?b)))))

Sample

LiSP-PLAHNBR

Hybrid

Functions

(defun c o n s t r u c t i o n f e x p r (cnarg) ; t h i s f u n c t i o n a d d s a new i n s t r u c t i o n to the ; s o l u t i o n a l g o r i t h m a f t e r c h e c k i n g t h a t the ;same i n s t r u c t i o n h a s n o t b e e n a d d e d p r e v i o u s l y . ; t h e i n s t r u c t i o n s may be r e m o v e d by failure ;backup i f n e c e s s a r y (prog n i l ( s e t q cntemp (mapcar •(lambda (a) (cond ( ( a t o m a) a) (t ( e v a l a ) ) ) ) cnarg)) (cond ((member c n t e m p c o n s t r u c t i o n ) (return n i l ) ) (t (setq thexp ( l i s t 'thand * ( t h s e t q c o n s t r u c t i o n (cons cntemp c o n s t r u c t i o n ) ) ( l i s t »threturn ( l i s t 'quote cntemp))))) ) ( r e t u r n t) )) ( s e t q cntemp n i l )

(defun l i n e expr cnsegs (prog (cnsega cnsegb cnexp) (cond ( ( e q c n s e g s 2) ( s e t q c n s e g a ( a r g 1) cnsegb (arg 2))) (t (setq cnexp (explode ( a r g 1)) cnsega (car cnexp) cnsegb (cadr cnexp)))) (return (thval •(thprog (1) ( $ g ($e c n s e g a o n $?1)) ( $ g ($e c n s e g b o n $?1)) ( t h r e t u r n $?1)) thalist)) )))))))))

Suggest Documents