EVANS-OUTPUT.txt This file, not part of Poplog, is http://www.cs.bham.ac.uk/research/projects/poplog/teach/evans-output.txt It illustrates the result of using the libraries described in TEACH EVANS http://www.cs.bham.ac.uk/research/projects/poplog/doc/popteach/evans If you follow the instructions there and give the following commands to set up the libraries ;;; Load the main 'analogy' library, which compiles some other ;;; libraries, including the Pop-11 "text turtle" library: lib analogy ;;; Load a demonstration library set up to illustrate ;;; (simplified versions of) the techniques used by T.G. Evans. lib evpics ;;; run the main command evans(); The follwing is an example of the sort of interaction that could follow. The program comes with a collection of procedures for generating pictures that can be used to pose a problem of the form: A is to B as C is to which of D1 D2 D3... You choose which picture should be A, which should be B, etc, from the list provided: pic1,pic2,pic3,pic4,pic5,pica,picb,picc,fourpic You can test them first, to see what they look like. E.g. run pic5, then display the result: pic5(); display(); 1 0 ********* 9 * * 8 * * 7 * * 6 * ** * 5 * ** * 4 * * 3 * * 2 ********* 1T 12345678901 Position = ( 1.0, 1.0 ), Heading = 0 (E) This shows that pic5 is a "dot" inside a square! Loaded picture procedures: pic1,pic2,pic3,pic4,pic5,pica,picb,picc,fourpic If you run the main procedure evans(); It prints out: the name of a picture is either a procedure to draw the picture or a variable containing a database description ( in the right format ) of the picture then invites you to select the pictures to play the roles, of A, B, etc. In the example below, I selected pic1 as A, pic4 as B, pic3 as C, and, pica, picb and pic as D1, D2, D3. This is what the interaction looked like with a couple of explanatory comments inserted. (The interface could be improved!). ;;; program asks me for A, and I choose pic1: what is the name of picture A ? pic1 0 9 8 7 6 * 5 * * ** 4 * * ** 3 * * 2 ********* 1T 1234567890123456789012345 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape dot [16 4 17 5]] [shape triangle [5 2 13 6]] save picture description in pic1 ? y Here is the symbolic description of the picture ** [[shape1 isa dot] [shape2 isa triangle] [size shape2 biggerthan shape1] [spatial shape1 rightof shape2]] ;;; Program asks me for B and I choose pic4 what is the name of picture B ? pic4 0 9 8 ******* 7 * * 6 * * 5 ** * * 4 ** * * 3 * * 2 ******* 1T 1234567890123456789012345 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape dot [5 4 6 5]] [shape square [11 2 17 8]] save picture description in pic4 ? y Here is the symbolic description of the picture ** [[shape3 isa dot] [shape4 isa square] [size shape4 biggerthan shape3] [spatial shape4 rightof shape3]] comparing A and B this is the description of the differences between A and B ** [[shape2 matchedto shape4] [shape1 matchedto shape3] [triangle matchedto square] [rightof reversedto rightof]] what is the name of picture C ? pic3 0 9 8 ******* 7 * * 6 * * ** 5 * * ** 4 * * 3 * * 2 ******* 1T 12345678901234567890 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape dot [12 5 13 6]] [shape square [2 2 8 8]] save picture description in pic3 ? y Here is the symbolic description of the picture ** [[shape5 isa dot] [shape6 isa square] [size shape6 biggerthan shape5] [spatial shape5 rightof shape6]] would you like me to predict the answer ? yes i predict that the answer matches ** [[shape3 isa dot] [shape4 isa square] [size shape4 biggerthan shape3] [spatial shape4 rightof shape3]] Now need to see each of the alternatives for D what is the name of picture D1 ? pica 0 9 ******** 8 * * 7 * **** * 6 * * * * 5 * * * * * 4 * **** * * * 3 * * * * 2 ******** ******* 1T 12345678901234567890 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape square [2 2 9 9]] [shape square [4 4 7 7]] [shape triangle [14 2 20 5]] save picture description in pica ? yes Here is the symbolic description of the picture ** [[shape7 isa square] [shape8 isa square] [shape9 isa triangle] [spatial shape9 rightof shape8] [size shape7 biggerthan shape9] [spatial shape9 rightof shape7] [size shape7 biggerthan shape8] [spatial shape8 inside shape7]] what is the name of picture D2 ? picb 0 9 8 7 **** 6 * * 5 * * * 4 **** * * 3 * * 2 ******* 1T 12345678901234567890 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape square [4 4 7 7]] [shape triangle [14 2 20 5]] save picture description in picb ? yes Here is the symbolic description of the picture ** [[shape10 isa square] [shape11 isa triangle] [spatial shape11 rightof shape10]] what is the name of picture D3 ? picc 5 4 3 2 * 1 * * 0 * * ***** 9 * * * * * 8 * * * * * * 7 * * * * * * 6 * ******* * ***** 5 * * 4***************** 3 2 1T 123456789012345678901234567890 Position = ( 1.0, 1.0 ), Heading = 0 (E) the low level description of the picture is [shape square [19 6 23 10]] [shape triangle [1 4 17 12]] [shape triangle [6 6 12 9]] save picture description in picc ? y Here is the symbolic description of the picture ** [[shape12 isa square] [shape13 isa triangle] [shape14 isa triangle] [size shape13 biggerthan shape14] [spatial shape14 inside shape13] [size shape12 biggerthan shape14] [spatial shape12 rightof shape14] [size shape13 biggerthan shape12] [spatial shape12 rightof shape13]] comparing C and D1 this is the description of the differences between C and D1 ** [[shape6 matchedto shape7] [shape5 matchedto shape9] [dot matchedto triangle] [[D1] unused [spatial shape8 inside shape7]] [[D1] unused [size shape7 biggerthan shape8]] [[D1] unused [spatial shape9 rightof shape8]] [[D1] unused [shape8 isa square]]] comparing C and D2 this is the description of the differences between C and D2 ** [[shape5 matchedto shape11] [shape6 matchedto shape10] [dot matchedto triangle] [[C] unused [size shape6 biggerthan shape5]]] comparing C and D3 this is the description of the differences between C and D3 ** [[shape6 matchedto shape12] [shape5 matchedto shape14] [dot matchedto triangle] [rightof reversedto rightof] [[D3] unused [spatial shape12 rightof shape13]] [[D3] unused [size shape13 biggerthan shape12]] [[D3] unused [spatial shape14 inside shape13]] [[D3] unused [size shape13 biggerthan shape14]] [[D3] unused [shape13 isa triangle]]] Now the moment of truth are you ready ? y comparing the differences between A and B and the differences between C and D1 this is the description of the differences between the differences between A and B and the differences between C and D1 ** [[rightof matchedto [D1]] [triangle matchedto dot] [shape1 matchedto shape6] [shape2 matchedto shape5] [shape4 matchedto shape9] [shape3 matchedto shape7] [square matchedto triangle] [reversedto matchedto unused] [rightof matchedto [spatial shape8 inside shape7]] [[the differences between C and D1] unused [[D1] unused [shape8 isa square]]] [[the differences between C and D1] unused [[D1] unused [spatial shape9 rightof shape8]]] [[the differences between C and D1] unused [[D1] unused [size shape7 biggerthan shape8]]]] comparing the differences between A and B and the differences between C and D2 this is the description of the differences between the differences between A and B and the differences between C and D2 ** [[rightof matchedto [C]] [triangle matchedto dot] [shape1 matchedto shape5] [shape2 matchedto shape6] [shape4 matchedto shape10] [shape3 matchedto shape11] [square matchedto triangle] [reversedto matchedto unused] [rightof matchedto [size shape6 biggerthan shape5]]] comparing the differences between A and B and the differences between C and D3 this is the description of the differences between the differences between A and B and the differences between C and D3 ** [[triangle matchedto shape6] [shape1 matchedto dot] [shape2 matchedto shape5] [shape4 matchedto shape14] [shape3 matchedto triangle] [square matchedto shape12] [[the differences between C and D3] unused [[D3] unused [shape13 isa triangle]]] [[the differences between C and D3] unused [[D3] unused [size shape13 biggerthan shape14]]] [[the differences between C and D3] unused [[D3] unused [spatial shape14 inside shape13]]] [[the differences between C and D3] unused [[D3] unused [size shape13 biggerthan shape12]]] [[the differences between C and D3] unused [[D3] unused [spatial shape12 rightof shape13]]]] the difference of the differences score 27 18 27 respectively so the answer is D2