/* From https://twitter.com/Math_World_/status/1701573459703181506 """ Consider the following 5 6 63 3 8 2 3 41 7 9 6 8 X 7 5 What is 'X' is the above figure? (a) 86 (b) 83 (c) 82 (d) 26 """ Representation: A B E C D -> A,B,C,D,E 5,6,3,8,63 2,3,7,9,41 6,8,7,5,X Solution (c): A * C + B * D = 5*3+6*8 = 63 A * C + B * D = 2*7+3*9 = 41 A * C + B * D = 6*7+8*5 = 82 But there are a lot of other possible solutions: Solutions: [program = B * D + A * C,res = 82,count = 86] [program = A * C + B * D,res = 82,count = 73] [program = C + A + A * (C + D),res = 85,count = 52] [program = D + A * (C + D),res = 77,count = 52] [program = A * (C + D) + D,res = 77,count = 50] [program = A * (C + D) + (C + A),res = 85,count = 34] resultMap = [85 = 2,82 = 2,77 = 2] Second run (with num_gens=1000): AllGood: [program = D * B + A * C,res = 82,count = 910] [program = B * D + A * C,res = 82,count = 910] [program = A * C + D * B,res = 82,count = 833] [program = A * C + B * D,res = 82,count = 824] [program = C * A + D * B,res = 82,count = 778] [program = B * D + C * A,res = 82,count = 741] [program = C * A + B * D,res = 82,count = 703] [program = D * B + C * A,res = 82,count = 452] [program = A * C + (10 + (-4 - -7 * B)),res = 104,count = 324] [program = C * A + (10 + (-4 - -7 * B)),res = 104,count = 320] [program = 10 + (-4 - -7 * B) + A * C,res = 104,count = 54] [program = 10 + (-4 - -7 * B) + C * A,res = 104,count = 38] [program = 7 - (A * -9 + (0 * (8 / -9) - D + (A - D))),res = 65.0,count = 2] [program = D * B + ((D + (B / C + B)) * ((3 + 1) * (-8 + 8)) + (D - -5 - -7) * 6 / D),res = 60.4,count = 1] resultMap = [82 = 8,104 = 4,65.0 = 1,60.4 = 1] Third run (init_size=1000, num_gens=1000). [program = D + A + (B * (-4 - (-9 + -2)) + D),res = 72,count = 739] [program = B * (-4 - (-9 + -2)) + D + (8 + (B + D) + -9),res = 73,count = 676] [program = B * (-4 - (-9 + -2)) + D + (D + A),res = 72,count = 550] [program = 8 + (B + D) + -9 + (B * (-4 - (-9 + -2)) + D),res = 73,count = 528] [program = 9 * A + 7 + (C + D),res = 73,count = 466] [program = C + D + (9 * A + 7),res = 73,count = 448] [program = (B * -8 - D + 1) * (-10 / 10) + D,res = 73.0,count = 238] [program = D + (B * -8 - D + 1) * (-10 / 10),res = 73.0,count = 217] [program = D + C + (9 * A + 7),res = 73,count = 195] [program = A + D + (B * (-4 - (-9 + -2)) + D),res = 72,count = 170] [program = B * (-4 - (-9 + -2)) + D + (A + D),res = 72,count = 116] [program = 9 * A + 7 + (D + C),res = 73,count = 77] [program = D * B + A * C,res = 82,count = 38] [program = (B * -8 - D + 1) * (-10 / 10) + (D - 0),res = 73.0,count = 29] [program = A * C + D * B,res = 82,count = 27] [program = D - 0 + (B * -8 - D + 1) * (-10 / 10),res = 73.0,count = 3] [program = (B * -8 - D + 1) * (-10 / 10) - D / -1,res = 73.0,count = 2] [program = 2 * D - D + A + (B * (-4 - (-9 + -2)) + D),res = 72,count = 2] resultMap = [73 = 6,73.0 = 5,72 = 5,82 = 2] Run 3 (MaxSize = 101,num_gens=1000): [program = -1 + D + (A - ((B - B) / -1 + -8 * B - C)),res = 81.0,count = 842] [program = A + ((C + D) * B - D),res = 97,count = 722] [program = A - ((B - B) / -1 + -8 * B - C) + (-1 + D),res = 81.0,count = 708] [program = A * (C + A + C) + D,res = 125,count = 564] [program = D + A * (C + A + C),res = 125,count = 561] [program = A * (C + A + C) + (D - 0),res = 125,count = 540] [program = A * (C + A + C) + (C + A),res = 133,count = 519] [program = C + A + A * (C + A + C),res = 133,count = 346] [program = A * (C + A + C) + (A + C),res = 133,count = 269] [program = A * (C + A + C) + (B - A) * D,res = 130,count = 219] [program = (C + D) * B - D + A,res = 97,count = 206] [program = A * 1 + 0 + ((C + D) * B - D),res = 97,count = 197] [program = A * (C + A + C) + 1 * D,res = 125,count = 142] [program = 1 * D + A * (C + A + C),res = 125,count = 140] [program = D - 0 + A * (C + A + C),res = 125,count = 126] [program = D - C + ((C + D) * B - D),res = 89,count = 118] [program = (C + D) * B - D + (D - C),res = 89,count = 83] [program = (B - A) * D + A * (C + A + C),res = 130,count = 81] [program = A + C + A * (C + A + C),res = 133,count = 70] [program = (C + D) * B - D - (C - D),res = 89,count = 3] [program = (C + D) * B - D + (A + (C - C)),res = 97,count = 3] [program = A * (C + A + C) - D * -1,res = 125,count = 2] [program = (C + D) * B - D + (A * 1 + 0),res = 97,count = 2] [program = A * (C + A + C) + D / 1,res = 125.0,count = 2] [program = (C + D) * B - D + (A + 0 * (C * 4)),res = 97,count = 1] [program = C + A + (D + C) * A,res = 85,count = 1] [program = 0 + (A + C) + A * (C + A + C),res = 133,count = 1] resultMap = [125 = 7,97 = 6,133 = 5,89 = 3,130 = 2,81.0 = 2,125.0 = 1,85 = 1] Another run: [program = A * C + D * B,res = 82,count = 698] [program = A * C + B * D,res = 82,count = 554] [program = A * C + (D + A * D),res = 77,count = 508] [program = A * (C / 1) + D * B,res = 82.0,count = 374] [program = B * D + A * (C / 1),res = 82.0,count = 318] [program = A * (C / 1) + (D + A * D),res = 77.0,count = 314] [program = B * D + A * C,res = 82,count = 310] [program = A * C + D * (B / 1),res = 82.0,count = 293] [program = B * (C + D) - C,res = 89,count = 282] [program = B * D + C * A,res = 82,count = 282] [program = A * (C / 1) + B * D,res = 82.0,count = 269] [program = D + (D + C) * A,res = 77,count = 240] [program = 1 * (A * C) + D * B,res = 82,count = 211] [program = 1 * (A * C) + D * (B / 1),res = 82.0,count = 207] [program = 1 * (A * C) + B * D,res = 82,count = 198] [program = B - (C / C + D) + B * (C + D),res = 98.0,count = 177] [program = B * (C + D) + (A - D),res = 97,count = 162] [program = B * (C + D) - 1 * C,res = 89,count = 160] [program = B * (C + D) - C * 1,res = 89,count = 146] [program = B * (C + D) + (B - (C / C + D)),res = 98.0,count = 139] [program = 1 * (A * C) + (D + A * D),res = 77,count = 139] [program = A * (C * 1) + B * D,res = 82,count = 138] [program = B * (C + D) - (D + C - D),res = 89,count = 125] [program = B * (C + D) - (A + (C - A)),res = 89,count = 125] [program = B - (1 + D) + B * (C + D),res = 98,count = 118] [program = B * (C + D) + (B - (1 + D)),res = 98,count = 111] [program = B * (C + D) - (1 + C - 1),res = 89,count = 99] [program = A * (C * 1) + D * (B / 1),res = 82.0,count = 93] [program = D * B + A * C,res = 82,count = 84] [program = 1 * (A * C) + D * 1 * B,res = 82,count = 78] [program = B * (C + D) - (1 - B + D),res = 98,count = 76] [program = B * (C + D) - C / (C * (1 * 1)) * C,res = 89.0,count = 68] [program = A * (C * 1) + (D + A * D),res = 77,count = 66] [program = A * (C * 1) + D * B,res = 82,count = 66] [program = B * (C + D) - C / 1,res = 89.0,count = 55] [program = D + A * D + A * C,res = 77,count = 51] [program = A * (C / 1) + D * (B / 1),res = 82.0,count = 46] [program = D * B + A * (C / 1),res = 82.0,count = 38] [program = B * (C + D) - (D - A),res = 97,count = 34] [program = B * (C + D) - C * (1 * 1),res = 89,count = 33] [program = (D + C) * A + D,res = 77,count = 32] [program = A - D + B * (C + D),res = 97,count = 25] [program = D + A * D + A * (C / 1),res = 77.0,count = 21] [program = A * C + D * 1 * B,res = 82,count = 20] [program = B * D + A * (C * 1),res = 82,count = 17] [program = D * (B / 1) + A * C,res = 82.0,count = 16] [program = (A + C) * B + A * C,res = 146,count = 14] [program = D * B + 1 * (A * C),res = 82,count = 14] [program = C * A + D * B,res = 82,count = 14] [program = C * A + B * D,res = 82,count = 13] [program = B * D + 1 * (A * C),res = 82,count = 13] [program = D * (B / 1) + 1 * (A * C),res = 82.0,count = 9] [program = C * A + (D + A * D),res = 77,count = 9] [program = D * B + C * A,res = 82,count = 8] [program = B * (C + D) - A / (D / C - 1),res = 117.0,count = 7] [program = D + A * D + C * A,res = 77,count = 6] [program = D * 1 * B + 1 * (A * C),res = 82,count = 6] [program = 1 * (A * C) + D / (1 / B),res = 82.0,count = 6] [program = D + A * D + 1 * (A * C),res = 77,count = 5] [program = (D + C) * A + D / 1,res = 77.0,count = 5] [program = D * (B / 1) + A * (C / 1),res = 82.0,count = 5] [program = C * A + D * (B / 1),res = 82.0,count = 5] [program = D + A * D + A * (C * 1),res = 77,count = 4] [program = D * B + A * (C * 1),res = 82,count = 4] [program = D / 1 + (D + C) * A,res = 77.0,count = 3] [program = (B - 1) * C + B * D,res = 89,count = 3] [program = D * 1 * B + A * C,res = 82,count = 3] [program = D + A * D - C * (C - D),res = 21,count = 2] [program = B * (C + D) - (D + (1 - B - (A + (C - D / 1)) * (1 * (1 * ((1 - B) / A) / (1 * 1))))),res = 88.6667,count = 2] [program = D / (1 * 1) + (D + C) * A,res = 77.0,count = 2] [program = C + A + (D + C) * A,res = 85,count = 2] [program = (D + C) * A + (C + A),res = 85,count = 2] [program = (D + C) * A + D * 1,res = 77,count = 2] [program = D * (B / 1) + C * A,res = 82.0,count = 2] [program = D * (B / 1) + A * (C * 1),res = 82.0,count = 2] [program = (B * 1 + C) * D - 1 * ((C - 1 + 1) * C),res = 26,count = 1] [program = (C + (1 + D)) * B - (1 + D),res = 98,count = 1] [program = B * (C + D) - C / 1 / 1,res = 89.0,count = 1] [program = B * (C + D) - (C - 1) / ((C - 1) / C),res = 89.0,count = 1] [program = B * (C + D) - (D / 1 - A),res = 97.0,count = 1] [program = B * (C + D) - (D + 1 - B),res = 98,count = 1] [program = B * (C + D) - (C + (A - A * 1)),res = 89,count = 1] [program = B * (C + D) - (D - D + C) / 1 * 1,res = 89.0,count = 1] [program = D / (1 / B) + C * A,res = 82.0,count = 1] [program = D / (1 / B) + A * C,res = 82.0,count = 1] [program = D / (1 / B) + 1 * (A * C),res = 82.0,count = 1] [program = 1 - (1 + C) + B * (C + D),res = 89,count = 1] [program = 1 - 1 + D + (D + C) * A,res = 77,count = 1] [program = D * A + D + A * C,res = 77,count = 1] [program = C + (A + (1 - 1)) + (D + C) * A,res = 85,count = 1] [program = C / 1 * A + D * B,res = 82.0,count = 1] [program = (D + C) * A + D * 1 / 1,res = 77.0,count = 1] [program = (D + C) * A + 1 * (D * 1 / 1),res = 77.0,count = 1] [program = D * 1 * B + C * A,res = 82,count = 1] [program = D * (B / (1 * 1)) + 1 * (A * C),res = 82.0,count = 1] [program = D * (1 / 1) + (D + C) * A,res = 77.0,count = 1] [program = D * (1 * B) + A * C,res = 82,count = 1] [program = D * B + C * 1 * A,res = 82,count = 1] [program = D * B + C * (A + (C - C / 1)),res = 82.0,count = 1] [program = D * 1 + (D + C) * A,res = 77,count = 1] [program = C * A + D / (1 / B),res = 82.0,count = 1] [program = B * (A + C) + A * C,res = 146,count = 1] [program = B * D + A / 1 * C,res = 82.0,count = 1] [program = A * C + B * D * 1,res = 82,count = 1] resultMap = [82 = 24,82.0 = 23,77 = 14,89 = 10,77.0 = 8,98 = 5,89.0 = 5,97 = 3,85 = 3,146 = 2,98.0 = 2,117.0 = 1,97.0 = 1,88.6667 = 1,26 = 1,21 = 1] Of the 4 alternatives, the answer should be (c) 82. In the thread, 92 is suggested as another solution, but it was not found during the first runs. So let's hard code this solution: Data = [[[5,6,3,8],63], [[2,3,7,9],41], [[6,8,7,5],92]], <--- Now we got the following solutions: [program = D * A + (A + B * C),res = 92,count = 828] [program = A * D + (A + B * C),res = 92,count = 788] [program = 1 * D * (A - (1 - 1 * 1)) + (A + B * C),res = 92,count = 785] [program = A + B * C + D * A,res = 92,count = 569] [program = A / 1 * D + (A + B * C),res = 92.0,count = 557] [program = D * (A / 1) + (A + B * C),res = 92.0,count = 555] [program = A + B * C + 1 * D * (A - (1 - 1 * 1)),res = 92,count = 526] [program = A + B * C + A * D,res = 92,count = 520] [program = 1 * D * A + (A + B * C),res = 92,count = 493] [program = A + B * C + A / 1 * D,res = 92.0,count = 425] [program = D * (A / 1) + (B * C + A),res = 92.0,count = 323] [program = D * A + (B * C + A),res = 92,count = 321] [program = A * D + (B * C + A),res = 92,count = 309] [program = A + B * C + D * (A / 1),res = 92.0,count = 243] [program = 1 * D * A + (B * C + A),res = 92,count = 199] [program = 1 * A * D + (B * C + A),res = 92,count = 137] [program = 1 * A * D + (A + B * C),res = 92,count = 127] [program = 1 * D * (A - (1 - 1 * 1)) + (B * C + A),res = 92,count = 22] [program = A + B * C + 1 * D * A,res = 92,count = 21] [program = B * C + A + A * D,res = 92,count = 17] [program = B * C + A + 1 * D * A,res = 92,count = 14] [program = B * C + A + D * (A / 1),res = 92.0,count = 14] [program = B * C + A + D * A,res = 92,count = 12] [program = A + B * C + 1 * A * D,res = 92,count = 9] [program = B * C + A + 1 * A * D,res = 92,count = 6] [program = B * C + A + 1 * D * (A - (1 - 1 * 1)),res = 92,count = 5] [program = A / 1 * (D - (1 - 1)) + (B * C + A),res = 92.0,count = 3] [program = B * C + A + A * D * 1,res = 92,count = 1] [program = A + B * C + A / 1 * (D - (1 - 1)),res = 92.0,count = 1] [program = A + B * C + D * 1 * A,res = 92,count = 1] [program = A / 1 * (D - (1 - 1)) + (A + B * C),res = 92.0,count = 1] [program = A * D * 1 + (A + B * C),res = 92,count = 1] resultMap = [92 = 23,92.0 = 9] Resetting to the original setup, now 92 is found as a solution: [program = A * C + D * (B * 1),res = 82,count = 398] [program = A * C + B * D,res = 82,count = 387] [program = A * C + D / (1 / (B * 1)),res = 82.0,count = 378] [program = A * C + (1 * (A * (D * 1) * 1) + D),res = 77,count = 348] [program = 1 * C * (A * ((D + 1) / C) + B),res = 92.0,count = 335] [program = C * (A * ((D + 1) / C) + B),res = 92.0,count = 332] [program = C * 1 * 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 281] [program = C * 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 280] [program = (1 - (B - B)) * C * (A * ((D + 1) / C) + B),res = 92.0,count = 271] [program = 1 * 1 * C * (A * ((D + 1) / C) + B),res = 92.0,count = 271] [program = C / 1 * 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 259] [program = (A * ((D + 1) / C) + B) * C,res = 92.0,count = 234] [program = 1 * C * 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 228] [program = A * C + D / (1 / B),res = 82.0,count = 227] [program = A * (1 * C) + B * D,res = 82,count = 217] [program = A * C + D * (1 + A),res = 77,count = 213] [program = (1 - (1 - C - (1 + C - 1))) * (1 + (A - 1) / 1) + (A / 1 * A - (1 - 1) * D + D),res = 125.0,count = 166] [program = A * (1 * C) + D * (B * 1),res = 82,count = 166] [program = B * D + (C * B * 1 - C / 1),res = 89.0,count = 159] [program = C * A + D / (1 / (B * 1)),res = 82.0,count = 150] [program = B * D + A * C,res = 82,count = 150] [program = A * (1 * C) + D * (1 + A),res = 77,count = 136] [program = C * A + D * (B * 1),res = 82,count = 131] [program = (C * B + A) * 1 * (1 * 1) + 1 * D * (A / 1),res = 92.0,count = 119] [program = D / (1 / (B * 1)) + C * A,res = 82.0,count = 118] [program = 1 * (1 * C) * (A * ((D + 1) / C) + B),res = 92.0,count = 118] [program = B * D + C * A,res = 82,count = 115] [program = A / 1 * A - (1 - 1) * D + D + (1 - (1 - C - (1 + C - 1))) * (1 + (A - 1) / 1),res = 125.0,count = 113] [program = (A * ((D + 1) / C) + B) * (1 * C),res = 92.0,count = 110] [program = C * A + B * D,res = 82,count = 98] [program = C / 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 98] [program = D + A + (D - (1 / 1 - C)) * A,res = 77.0,count = 88] [program = (1 + (C - 1)) * (A * ((D + 1) / C) + B),res = 92.0,count = 86] [program = (A * ((D + 1) / C) + B) * (1 * 1 * C),res = 92.0,count = 85] [program = (A * ((D + 1) / C) + B) * (C / 1),res = 92.0,count = 76] [program = A * C + (1 + A) * D,res = 77,count = 64] [program = C * A + (1 * (A * (D * 1) * 1) + D),res = 77,count = 57] [program = 1 * D * (A / 1) + (C * B + A) * 1 * (1 * 1),res = 92.0,count = 54] [program = (D - (1 / 1 - C)) * A + (A + D) / 1,res = 77.0,count = 53] [program = (1 * (B + 1) - B) * (1 * C) * (A * ((D + 1) / C) + B),res = 92.0,count = 51] [program = A * (1 * C) + D / (1 / (B * 1)),res = 82.0,count = 45] [program = D * (B * 1) + A * C,res = 82,count = 44] [program = (D - (1 / 1 - C)) * A + (A + D),res = 77.0,count = 42] [program = B * D + A * (1 * C),res = 82,count = 40] [program = A * (1 * C) + D / (1 / B),res = 82.0,count = 39] [program = (A * ((D + 1) / C) + B) * (C * 1 * 1),res = 92.0,count = 38] [program = (A + D) / 1 + (D - (1 / 1 - C)) * A,res = 77.0,count = 33] [program = A * (1 * C) + (1 * (A * (D * 1) * 1) + D),res = 77,count = 30] [program = (A * ((D + 1) / C) + B) * (C / 1 * 1),res = 92.0,count = 26] [program = D * (B * 1) + (C * B * 1 - C / 1),res = 89.0,count = 25] [program = (A * ((D + 1) / C) + B) * (C * 1),res = 92.0,count = 24] [program = (D - (1 / 1 - C)) * A + (D + A),res = 77.0,count = 22] [program = A + D + (D - (1 / 1 - C)) * A,res = 77.0,count = 20] [program = D * (1 + A) + A * C,res = 77,count = 17] [program = D / (1 / (B * 1)) + A * C,res = 82.0,count = 15] [program = 1 * (A * (D * 1) * 1) + D + A * C,res = 77,count = 13] [program = (A * ((D + 1) / C) + B) * ((1 - (B - B)) * C),res = 92.0,count = 13] [program = D / (1 / B) + A * C,res = 82.0,count = 9] [program = C * B * 1 - C / 1 + B * D,res = 89.0,count = 9] [program = (A * ((D + 1) / C) + B) * (1 * C * 1),res = 92.0,count = 9] [program = D / (1 / (B * 1)) + A * (1 * C),res = 82.0,count = 8] [program = C * B * 1 - C / 1 + D * (B * 1),res = 89.0,count = 8] [program = D * (1 + A) + A * (1 * C),res = 77,count = 7] [program = D * (B * 1) + C * A,res = 82,count = 7] [program = C * B * 1 - C / 1 + (1 * (A * (D * 1) * 1) + D),res = 84.0,count = 6] [program = 1 * (A * (D * 1) * 1) + D + C * A,res = 77,count = 6] [program = 1 * (A * (D * 1) * 1) + D + A * (1 * C),res = 77,count = 6] [program = D * (B * 1) + A * 1 * C * 1,res = 82,count = 6] [program = C * B * 1 - C / 1 + D / (1 / (B * 1)),res = 89.0,count = 5] [program = 1 * (A * (D * 1) * 1) + D + (C * B * 1 - C / 1),res = 84.0,count = 5] [program = (D - (1 / 1 - C)) * A + ((1 - 1) * (A * 1) + A + D),res = 77.0,count = 5] [program = (A * ((D + 1) / C) + B) * (D - (B - 1)),res = -26.2857,count = 5] [program = (A * ((D + 1) / C) + B) * (1 + (C - 1)),res = 92.0,count = 5] [program = D / (1 / (B * 1)) + (C * B * 1 - C / 1),res = 89.0,count = 4] [program = D / (1 / B) + A * (1 * C),res = 82.0,count = 4] [program = (1 + A) * D + A * C,res = 77,count = 4] [program = D * (B * 1) + A * (1 * C),res = 82,count = 4] [program = (C - (1 - 1 * 1) * C) * (A * ((D + 1) / C) + B),res = 92.0,count = 4] [program = (A * ((D + 1) / C) + B) * (1 * (1 * C)),res = 92.0,count = 4] [program = (D - (1 / 1 - C)) * A + (D + 1 * (B - 1) * 1),res = 78.0,count = 3] [program = A * (C * 1) + B * D,res = 82,count = 3] [program = A * C + D * B,res = 82,count = 3] [program = (D * 1 - (B / 1 - 1)) * (A * ((D + 1) / C) + B),res = -26.2857,count = 3] [program = (D - (B - 1)) * (A * ((D + 1) / C) + B),res = -26.2857,count = 3] [program = D / (1 / (B * 1)) + C / (D / D) * A,res = 82.0,count = 2] [program = D / (1 / (B * 1)) + A * (C * 1),res = 82.0,count = 2] [program = (1 + A) * D + A * (1 * C),res = 77,count = 2] [program = D * (1 * 1 * B) + A * C,res = 82,count = 2] [program = A * (C * 1) + D / (1 / (B * 1)),res = 82.0,count = 2] [program = 1 / 1 / (1 / C) * (A * ((D + 1) / C) + B),res = 92.0,count = 2] [program = C * 1 / 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 2] [program = (A * ((D + 1) / C) + B) * (D - A),res = -13.1429,count = 2] [program = (A * ((D + 1) / C) + B) * (C - (1 - 1 * 1) * C),res = 92.0,count = 2] [program = (A * ((D + 1) / C) + B) * ((1 * (B + 1) - B) * (1 * C)),res = 92.0,count = 2] [program = 1 * (A * (D * 1) * 1) + D - A * 1 * (B - (A + C) - 1),res = 71,count = 1] [program = D * (1 + A) - A * 1 * (B - (A + C) - 1),res = 71,count = 1] [program = D / (1 / B) + (C * B * 1 - C / 1),res = 89.0,count = 1] [program = D / (1 / B) + C * A,res = 82.0,count = 1] [program = A * D * 1 + A + C * B,res = 92,count = 1] [program = 1 * (A * (D * 1) * 1) + D + 1 * 1 * (A * C),res = 77,count = 1] [program = C / (D / D) * A + (1 * (A * (D * 1) * 1) + D),res = 77.0,count = 1] [program = C / (D / D) * A + D * (B * 1),res = 82.0,count = 1] [program = C / (D / D) * A + B * D,res = 82.0,count = 1] [program = D * (B / (1 * 1)) + C * A,res = 82.0,count = 1] [program = D * (1 + A) + C * A,res = 77,count = 1] [program = D * (1 + A) + A * (C * 1),res = 77,count = 1] [program = D * (B * 1) + C / (D / D) * A,res = 82.0,count = 1] [program = D * B + C * (1 * A),res = 82,count = 1] [program = C * (A * D / (1 * (C + A * 1))) + D / (1 / B),res = 56.1538,count = 1] [program = C * (A * D / (1 * (C + A * 1))) + (1 * (A * (D * 1) * 1) + D),res = 51.1538,count = 1] [program = C * A + D * 1 * B,res = 82,count = 1] [program = C * A + D * (1 + A),res = 77,count = 1] [program = A * (C * 1) + D * (B * 1),res = 82,count = 1] [program = A * (1 * C) + (1 + A) * D,res = 77,count = 1] [program = C + (A * (D + 1) + C * A),res = 85,count = 1] [program = C / 1 / 1 * (A * ((D + 1) / C) + B),res = 92.0,count = 1] [program = (D - B / B * A) * 1 * 1 / 1 * (A * ((D + 1) / C) + B),res = -13.1429,count = 1] [program = C / (1 * 1) * (A * ((D + 1) / C) + B),res = 92.0,count = 1] [program = 1 / (1 / C) * (A * ((D + 1) / C) + B),res = 92.0,count = 1] [program = (D + 1 - B) * (A * ((D + 1) / C) + B),res = -26.2857,count = 1] [program = (D * 1 - A) * (A * ((D + 1) / C) + B),res = -13.1429,count = 1] [program = (D - 1 * (A / (1 + B)) * (1 + B)) * (A * ((D + 1) / C) + B),res = -13.1429,count = 1] [program = (D - A) * (A * ((D + 1) / C) + B),res = -13.1429,count = 1] [program = (C - (1 / 1 - 1)) * (A * ((D + 1) / C) + B),res = 92.0,count = 1] [program = (A * ((D + 1) / C) + B) * ((D - B / B * A) * 1 * 1 / 1),res = -13.1429,count = 1] [program = (A * ((D + 1) / C) + B) * (D * 1 - (B / 1 - 1)),res = -26.2857,count = 1] [program = (A * ((D + 1) / C) + B) * (C - (1 / 1 - 1)),res = 92.0,count = 1] [program = (A * ((D + 1) / C) + B) * (C - (1 - 1)),res = 92.0,count = 1] [program = (A * ((D + 1) / C) + B) * (1 * 1 * (C * 1)),res = 92.0,count = 1] [program = (C + (D - D)) * (A * ((D + 1) / C) + B),res = 92.0,count = 1] resultMap = [92.0 = 38,82 = 19,82.0 = 18,77 = 18,77.0 = 8,89.0 = 7,-13.1429 = 6,-26.2857 = 5,125.0 = 2,84.0 = 2,71 = 2,92 = 1,85 = 1,78.0 = 1,56.1538 = 1,51.1538 = 1] */ data(puzzle7,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [[[5,6,3,8],63], [[2,3,7,9],41]], % Data = [[[5,6,3,8],63], % Forcing 92 as a solution (see above). % [[2,3,7,9],41], % [[6,8,7,5],92]], Unknown=[6,8,7,5], Ops = [+,-,*,/], Vars = ['A','B','C','D'], Constants = 1..1, MaxSize = 21, Params = new_map([num_gens=1000]).