/* Test from http://sourceforge.net/projects/jgep/ Ah, it's sin/1: [program = sin(N),res = -0.999990206550703,count = 83] [program = sin(N) + sin(N - N),res = -0.999990206550703,count = 4] [program = sin(N - N) + sin(N),res = -0.999990206550703,count = 3] [program = sin(N) + (N - N),res = -0.999990206550703,count = 3] [program = sin(N) / N / 1 * N,res = -0.999990206550704,count = 3] [program = N * (sin(N) / N / 1),res = -0.999990206550704,count = 3] [program = sin(N) - sin(N - N),res = -0.999990206550703,count = 2] [program = N / N * sin(N),res = -0.999990206550703,count = 2] [program = 1 * sin(N),res = -0.999990206550703,count = 2] [program = sin(N) / 1,res = -0.999990206550703,count = 1] [program = N + sin(N) - N,res = -0.999990206550704,count = 1] [program = sin(N) - (N - N),res = -0.999990206550703,count = 1] [program = N - N + sin(N),res = -0.999990206550703,count = 1] [program = sin(N) + 2 * (N - N) + (N - N) * 6.803754343094191,res = -0.999990206550703,count = 1] [program = sin(N - N) + (sin(N) + 2 * (N - N)),res = -0.999990206550703,count = 1] [program = (sin(N) + 2 * (N - N)) * 1,res = -0.999990206550703,count = 1] [program = sin(N) * (N / N),res = -0.999990206550703,count = 1] [program = sin(N) * 1,res = -0.999990206550703,count = 1] [program = sin(N / N * N),res = -0.999990206550703,count = 1] resultMap = [-0.999990206550703 = 16,-0.999990206550704 = 2,-0.999990206550704 = 1] Cf gep_tester.conf */ import util. data(gep_tester,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[N], F] : [N,F] in chunks_of([ 1,0.841471, 2,0.909297, 3,0.14112, 4,-0.756802, 5,-0.958924, 6,-0.279415, 7,0.656987, 8,0.989358, 9,0.412118, 10,-0.544021 ],2)], Vars = ['N'], Unknown = [11], Ops = [+,*,/,-,sin], Constants = 1..2 ++ [frand(-10,10) : _ in 1..10], Params = new_map([approx = 0.01, % num_gens=30, init_size=500, show_only_improvements=true, show_instances=false, random_seed=1 ]), MaxSize = 11.