/* Sine data from TinyGP http://cswww.essex.ac.uk/staff/rpoli/TinyGP/sin-data.txt Here we use only the elementary functions trying to approximate the sine function. gen = 11243 (time: 337.440s) results_best = [[4.897242402752125,X / (9.189999999999849 / ((6.169999999999913 - X * 5.009999999999938 + (6.219999999999912 + X)) / (3.769999999999964 + 2.189999999999997))) * ((2.359999999999994 + 3.659999999999966 - X) * 1.380000000000001)]] Cf sine_tiny_gp.conf */ import util. data(quitic,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[X],Y] : [X,Y] in chunks_of([ 0,0, 0.1,0.0998334166468282, 0.2,0.198669330795061, 0.3,0.29552020666134, 0.4,0.389418342308651, 0.5,0.479425538604203, 0.6,0.564642473395035, 0.7,0.644217687237691, 0.8,0.717356090899523, 0.9,0.783326909627483, 1,0.841470984807897, 1.1,0.891207360061435, 1.2,0.932039085967226, 1.3,0.963558185417193, 1.4,0.98544972998846, 1.5,0.997494986604054, 1.6,0.999573603041505, 1.7,0.991664810452469, 1.8,0.973847630878195, 1.9,0.946300087687414, 2,0.909297426825682, 2.1,0.863209366648874, 2.2,0.80849640381959, 2.3,0.74570521217672, 2.4,0.675463180551151, 2.5,0.598472144103957, 2.6,0.515501371821464, 2.7,0.42737988023383, 2.8,0.334988150155905, 2.9,0.239249329213982, 3,0.141120008059867, 3.1,0.0415806624332905, 3.2,-0.0583741434275801, 3.3,-0.157745694143249, 3.4,-0.255541102026832, 3.5,-0.35078322768962, 3.6,-0.442520443294852, 3.7,-0.529836140908493, 3.8,-0.611857890942719, 3.9,-0.687766159183974, 4,-0.756802495307928, 4.1,-0.818277111064411, 4.2,-0.871575772413588, 4.3,-0.916165936749455, 4.4,-0.951602073889516, 4.5,-0.977530117665097, 4.6,-0.993691003633465, 4.7,-0.999923257564101, 4.8,-0.996164608835841, 4.9,-0.982452612624332, 5,-0.958924274663138, 5.1,-0.925814682327732, 5.2,-0.883454655720153, 5.3,-0.832267442223901, 5.4,-0.772764487555987, 5.5,-0.705540325570392, 5.6,-0.631266637872321, 5.7,-0.550685542597638, 5.8,-0.464602179413757, 5.9,-0.373876664830236, 6,-0.279415498198926, 6.1,-0.182162504272095, 6.2,-0.0830894028174964 ],2)], Vars = ['X'], Unknown = [1.0], Ops = [+,-,*,/], Constants = -2*math.pi..0.01..2*math.pi, MaxSize = 21, Params = new_map([approx=0.01, init_size=200, stop_criteria=generation, num_gens=100 ]).