/* number <=> digits Cf to_num.conf * With to_num2/2 [program = to_num2(to_num2(A,B),C),res = 431,count = 1] * Without to_num2 gen = 14468 (time: 899.052s) results_best = [[0,C + (A * 10 + B) * 10]] good = [C + (A * 10 + B) * 10 = 431] AllGood: [program = C + (A * 10 + B) * 10,res = 431,count = 1] gen = 41688 (time: 346.276s) results_best = [[0,A * (10 * 10) + (C + 10 * B)]] good = [A * (10 * 10) + (C + 10 * B) = 431] AllGood: [program = A * (10 * 10) + (C + 10 * B),res = 431,count = 1] */ import util. data(to_num2,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[1,2,3],123], [[2,4,3],243], [[1,1,1],111], [[1,0,1],101], [[6,4,2],642] ], Unknown = [4,3,1], Vars = ['A','B','C'], Ops = [+,-,*,to_num2], % Ops = [+,-,*], % Ops = [+,-,*], Constants = 0..10, MaxSize = 31, Params = new_map([init_size=1000 ]).