ANALOGY “A Program for the Solution of a Class of Geometric-Analogy Intelligence-Test Questions” Thomas G. Evans 1968
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 1 1. Translate drawing 2. Input to program 3. [Decompose figures] 4. Find relationships and similarities 5. Output 4. Part 2 1. Input Part 1, step 5 2. Generate rule set 3. Choose appropriate rules 4. 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 P1 Line 3. defines the triangle P3 Line 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 A Line 2. defines relationship of shapes in B Line 3. defines relationship of shapes in C Line 4. defines similarity of rectangles in A and B Line 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))))) . (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 problems Grade 10 – 18 / 20 problems Grade 11 – 19 / 20 problems Grade 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.
Contact for further questions or discussion: draymake@pdx.edu Thank You! Contact for further questions or discussion: draymake@pdx.edu