14
ANALOGY “A Program for the Solution of a Class of Geometric-Analogy Intelligence-Test Questions” Thomas G. Evans 1968

ANALOGY “A Program for the Solution of a Class of Geometric-Analogy Intelligence-Test Questions” Thomas G. Evans 1968

Embed Size (px)

Citation preview

ANALOGY

“A Program for the Solution of a Class of Geometric-Analogy Intelligence-Test

Questions”

Thomas G. Evans1968

Background:

Visual Analogy Problems

A : B

as

C : ?

Background:

Motives and Questions● Image Processing

● Line drawings● From description

● Heuristic Problem Solving● Rule-finding● Representation

● Open Questions● Importance of representation and methods for

sophisticated problem-solving and machine learning

● How can a machine make analogies?

Background:

Limitations

● 1968● Limited memory● Limited processing power● Limited computer access

● Problem Domain● Direct correspondence of “parts” of A with “parts”

of B● Limited set of relations● Limited in decomposition method

Algorithm:

Overview

Part 11. Translate drawing2. Input to program3. [Decompose figures]4. Find relationships and similarities5. Output 4.

Part 21. Input Part 1, step 52. Generate rule set3. Choose appropriate rules4. Select best solution based on 3.5. Output 4. or failure

Algorithm:

Image Encoding

1. ( 2. (DOT(.04 . 0.8)) 3. (SCC((0.3 . 0.2) 0.0 (0.7 . 0.2) 0.0 (0.5 . 0.7) 0.0 (0.3 . 0.2) 0.0))) 4. (SCC((0.4 . 0.3) 0.0 (0.6 . 0.3) 0.0 (0.6 . 0.4) 0.0 (0.4 . 0.4) 0.0 (0.4 . 0.3))) 5. )

Line 2. defines the dot P1Line 3. defines the triangle P3Line 4. defines the rectangle P2

Algorithm Part 1:Find Relationships and Similarities

1. ((P1 P2 P3) . ((INSIDE P2 P3) (ABOVE P1 P3) (ABOVE P1 P2))) 2. ((P4 P5) . ((LEFT P4 P5))) 3. ((P6 P7 P8) . ((INSIDE P7 P6) (ABOVE P8 P6) (ABOVE P8 P7))) 4. ((P2 P4 (((1.0 . 0.0) . (N.N) (1.0 . 3.14) . (N.N)))) (P3 P5 (((1.0 . 0.0)(N.N)))) 5. ((P1 P8 (((1.0 . 0.0) . (N.N))))) ...

Line 1. defines relationship of shapes in ALine 2. defines relationship of shapes in BLine 3. defines relationship of shapes in CLine 4. defines similarity of rectangles in A and BLine 5. defines similarity of points in A and B

etc. for each shape, image

Algorithm Part 2:

Generate Rule Set

Point = A1, OB3 Rectangle = A2, OB2 Triangle = A3, OB1

1. (REMOVE A1 ((ABOVE A1 A3) (ABOVE A1 A2) (SIM OB3 A1 (((1.0 . 0.0). (N.N)))))) 2. (MATCH A2 (((INSIDE A2 A3) (ABOVE A1 A2) (SIM OB2 A2 (((1.0 . 0.0). (N.N))))) . ((LEFT A2 A3) (SIM OB2 A2 (((1.0 . 0.0). (N.N)) ((1.0 . 3.14) . (N.N)))) (SIMTRAN (((1.0 . 0.0). (N.N)) ((1.0 . 3.14) . (N.N)))))) 3. (MATCH A3 (((INSIDE A2 A3) (ABOVE A1 A3) (SIM OB1 A3 (((1.0 . 0.0). (N.N))))) . ((LEFT A2 A3) (SIM OB1 A3 (((1.0 . 0.0). (N.N)))) (SIMTRAN (((1.0 . 0.0). (N.N)))))))

Algorithm Part 2:

Initial Rule Selection

Discard any possible solutions that don't have the same number of adds, removes, or matches as indicated by the rule set.

Algorithm Part 2:Refined Rule Selection

Given A, B, C, answer set I 1. foreach (A, B, C, i in I) { compare obj ADD(B) to obj ADD(i) compare obj REMOVE(A) to obj REMOVE(C) compare obj MATCH(A,B) to obj MATCH(C,i) } 2. foreach (rule taking A->B, rules from 1.) { remove from rule, statements true of A->B but not of C->i } 3. discard shorter resulting descriptions

Algorithm Part 2:Refined Rule Selection

4. if ( > 1 description has highest length) { foreach (A->B rule, C->remaining i rule) { strength = strength + 1 for each ADD, RM, MTCH element in both rules strength = strength + x for each matching transform in both rules } } 5. discard i with lowest strength value

Results

Time:

ANALOGY and humans take the same amount to solve the problems

Accuracy:

ANALOGY accuracy: 15 / 20 problems

Human Accuracy:Grade 9 – 17 / 20 problemsGrade 10 – 18 / 20 problemsGrade 11 – 19 / 20 problemsGrade 12 – 20 / 20 problems

Conclusions

● ANALOGY simulates some properties of human intelligence:● Changing internal representations in increasing levels of

abstraction;● Perceiving similarities (analogies) in both parts and wholes;● Using generalization to perform more efficient problem

solving.

● What has been learned from ANALOGY can be used to create more sophisticated pattern-matching and analogy-making programs as technology for implementing them becomes available.

● From a current perspective ANALOGY does not simulate human reasoning, nor is it very sophisticated.

Thank You!

Contact for further questions or discussion:

[email protected]