/* Example from Data modeler FAQ, page 7 * stop_criteria=generations num_gens=1800 gen = 826 (time: 39.100s) results_best = [[14.718070672340023,pow2(5.36459189623808 + Flour) / (Sugar + 5.661984475172117)]] gen = 616 (time: 30.415s) results_best = [[15.748073164833123,8.232947158735687 / pow4((-2.112341463618139 - 5.661984475172117) / Flour) + (Flour + 6.803754343094191) - (Sugar - (Butter - 1.079399115908611) / Sugar)]] Cf data_modeler1.conf */ import util. data(data_modeler1,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[A,B,C,D,E],F] : [A,B,C,D,E,F] in chunks_of([ 2.36228,7.85136,4.9589,8.18264,1.6721,24.3865, 0.278267,6.87824,2.33403,9.48268,1.29234,25.0053, 5.60641,6.95707,1.42403,2.73743,3.1178,13.6125, 4.34469,0.0357677,4.78805,8.11445,3.62979,4.03096, 4.38222,4.96357,0.243213,5.83637,9.20708,6.18162, 3.31624,0.702286,9.95307,8.37616,7.97077,4.31927, 5.79487,4.71728,8.98747,6.86909,4.72165,7.97758, 2.58057,1.69964,1.32327,6.09119,3.69368,5.57957, 6.4743,1.6546,2.44445,7.95233,3.92873,5.45552, 5.46525,5.08425,5.70685,3.23102,7.87541,6.61954 ],6)], Ops = [+,/,-,*,pow2,pow3,pow4,sqrt], Constants = [frand(-10,10) : _ in 1..10], Vars = ['Sugar','Flour','Butter'], Unknown = [1,1,1,1,1], MaxSize = 11, Params = new_map([ approx=0.1, stop_criteria=generations, num_gens=1800 ]). % Params = new_map().