/* Generated by $ perl -le 'for (-100..100) { print $_/100, " ", sin(2*$_/100)+3}' Here we don't use Sine. Can the program find the formula? gen = 32 (time: 8.352s) results_best = [[8.320340524388815,-4 / -1 + (X - X * X * X + X - (5 + -4))]] gen = 811 (time: 82.754s) results_best = [[8.320340524388815,2 * X - -1 * (X * (X * X) + -3) / -1]] Cf sin_formula_no_sine.conf */ import util. data(quitic,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[X],Y] : [X,Y] in chunks_of([ -1,2.09070257317432, -0.99,2.08256204471819, -0.98,2.07478847921183, -0.97,2.0673849859778, -0.96,2.06035452631468, -0.95,2.05369991231259, -0.94,2.0474238057284, -0.93,2.04152871692109, -0.92,2.03601700384755, -0.91,2.03089087111954, -0.9,2.0261523691218, -0.89,2.02180339319196, -0.88,2.01784568286238, -0.87,2.01428082116445, -0.86,2.0111102339953, -0.85,2.00833518954753, -0.84,2.00595679780192, -0.83,2.00397601008346, -0.82,2.00239361868083, -0.81,2.00121025652948, -0.8,2.0004263969585, -0.79,2.00004235350126, -0.78,2.00005827977003, -0.77,2.00047416939452, -0.76,2.00128985602442, -0.75,2.00250501339595, -0.74,2.00411915546236, -0.73,2.00613163658836, -0.72,2.00854165180831, -0.71,2.01134823714828, -0.7,2.01455027001154, -0.69,2.01814646962764, -0.68,2.02213539756468, -0.67,2.02651545830468, -0.66,2.03128489988173, -0.65,2.03644181458281, -0.64,2.04198413971078, -0.63,2.04790965840948, -0.62,2.05421600055046, -0.61,2.06090064368093, -0.6,2.06796091403277, -0.59,2.07539398759198, -0.58,2.08319689122823, -0.57,2.09136650388412, -0.56,2.09989955782349, -0.55,2.10879263993856, -0.54,2.11804219311505, -0.53,2.12764451765501, -0.52,2.13759577275666, -0.51,2.14789197805064, -0.5,2.1585290151921, -0.49,2.16950262950803, -0.48,2.180808431699, -0.47,2.19244189959489, -0.46,2.20439837996363, -0.45,2.21667309037252, -0.44,2.22926112110103, -0.43,2.24215743710472, -0.42,2.25535688002914, -0.41,2.2688541702731, -0.4,2.28264390910048, -0.39,2.29672058079959, -0.38,2.31107855488945, -0.37,2.32571208837185, -0.36,2.34061532802853, -0.35,2.35578231276231, -0.34,2.37120697598153, -0.33,2.38688314802657, -0.32,2.40280455863761, -0.31,2.41896483946269, -0.3,2.43535752660496, -0.29,2.45197606320813, -0.28,2.46881380207912, -0.27,2.48586400834689, -0.26,2.50311986215626, -0.25,2.5205744613958, -0.24,2.53822082445852, -0.23,2.55605189303448, -0.22,2.574060534934, -0.21,2.59223954694043, -0.2,2.61058165769135, -0.19,2.62907953058702, -0.18,2.64772576672491, -0.17,2.66651290785919, -0.16,2.68543343938388, -0.15,2.70447979333866, -0.14,2.72364435143589, -0.13,2.74291944810784, -0.12,2.76229737357287, -0.11,2.78177037691913, -0.1,2.80133066920494, -0.09,2.82097042657418, -0.08,2.84068179338575, -0.07,2.86045688535576, -0.06,2.88028779271108, -0.05,2.90016658335317, -0.04,2.92008530603083, -0.03,2.94003599352056, -0.02,2.96001066581337, -0.01,2.98000133330667, 0,3, 0.01,3.01999866669333, 0.02,3.03998933418663, 0.03,3.05996400647944, 0.04,3.07991469396917, 0.05,3.09983341664683, 0.06,3.11971220728892, 0.07,3.13954311464424, 0.08,3.15931820661425, 0.09,3.17902957342582, 0.1,3.19866933079506, 0.11,3.21822962308087, 0.12,3.23770262642713, 0.13,3.25708055189216, 0.14,3.27635564856411, 0.15,3.29552020666134, 0.16,3.31456656061612, 0.17,3.33348709214081, 0.18,3.35227423327509, 0.19,3.37092046941298, 0.2,3.38941834230865, 0.21,3.40776045305957, 0.22,3.425939465066, 0.23,3.44394810696552, 0.24,3.46177917554148, 0.25,3.4794255386042, 0.26,3.49688013784374, 0.27,3.51413599165311, 0.28,3.53118619792088, 0.29,3.54802393679187, 0.3,3.56464247339504, 0.31,3.58103516053731, 0.32,3.59719544136239, 0.33,3.61311685197343, 0.34,3.62879302401847, 0.35,3.64421768723769, 0.36,3.65938467197147, 0.37,3.67428791162815, 0.38,3.68892144511055, 0.39,3.70327941920041, 0.4,3.71735609089952, 0.41,3.7311458297269, 0.42,3.74464311997086, 0.43,3.75784256289528, 0.44,3.77073887889897, 0.45,3.78332690962748, 0.46,3.79560162003637, 0.47,3.80755810040511, 0.48,3.819191568301, 0.49,3.83049737049197, 0.5,3.8414709848079, 0.51,3.85210802194936, 0.52,3.86240422724334, 0.53,3.87235548234499, 0.54,3.88195780688495, 0.55,3.89120736006144, 0.56,3.90010044217651, 0.57,3.90863349611588, 0.58,3.91680310877177, 0.59,3.92460601240802, 0.6,3.93203908596723, 0.61,3.93909935631907, 0.62,3.94578399944954, 0.63,3.95209034159052, 0.64,3.95801586028922, 0.65,3.96355818541719, 0.66,3.96871510011827, 0.67,3.97348454169532, 0.68,3.97786460243532, 0.69,3.98185353037236, 0.7,3.98544972998846, 0.71,3.98865176285172, 0.72,3.99145834819169, 0.73,3.99386836341164, 0.74,3.99588084453764, 0.75,3.99749498660405, 0.76,3.99871014397558, 0.77,3.99952583060548, 0.78,3.99994172022997, 0.79,3.99995764649874, 0.8,3.9995736030415, 0.81,3.99878974347052, 0.82,3.99760638131917, 0.83,3.99602398991654, 0.84,3.99404320219808, 0.85,3.99166481045247, 0.86,3.9888897660047, 0.87,3.98571917883555, 0.88,3.98215431713762, 0.89,3.97819660680804, 0.9,3.9738476308782, 0.91,3.96910912888046, 0.92,3.96398299615245, 0.93,3.95847128307891, 0.94,3.9525761942716, 0.95,3.94630008768741, 0.96,3.93964547368532, 0.97,3.9326150140222, 0.98,3.92521152078817, 0.99,3.91743795528181, 1,3.90929742682568 ],2)], Vars = ['X'], Unknown = [1.0], Ops = [+,-,*,/], % no sin Constants = -10..10, MaxSize = 51, Params = new_map([approx=0.05, init_size=200, stop_criteria=generation, num_gens=1800 ]).