/* Peter L's Wine example * [+,-,*,/,if_less_equal,pow2,pow3,sqrt,log,exp] num_gens=1800 stop_criteria=generations gen = 293 (time: 13.719s) results_best = [[167.743504502318928,if_less_equal(pris,log(prisvarde * 47),-3 * 29,log(prisvarde * pow3(pris)))]] gen = 1766 (time: 76.484s) results_best = [[127.769664904533983,log(pow2(pris)) + prisvarde / 29 * 47]] Cf pererl_vin.conf */ import util. data(p4,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[A,B],X] : [A,B,X] in chunks_of([ % pris prisvarde betyg 82,4.6,15.5, 82,4.6,15.5, 60,4.4,13.5, 68,4.4,14.5, 72,4.4,14.5, 92,4.4,16, 69,4.2,14, 86,4.2,15.5, 89,4.2,15.5, 75,4,14.5, 99,4,15.5, 56,3.8,12.5, 76,3.8,14, 90,3.8,15, 90,3.8,15, 92,3.8,15, 208,3.8,17.5, 51,3.6,11.5, 64,3.6,13, 79,3.6,14, 86,3.6,15, 89,3.6,15, 111,3.4,15.5, 65,3.4,13, 68,3.4,13, 76,3.4,13.5, 79,3.4,14, 109,3.2,15, 56,3,11.5, 62,3,12, 67,3,12.5, 79,3,13.5, 87,3,14, 89,3,14, 94,3,14.5, 26,2.8,12, 70,2.6,12.5, 82,2.6,13, 59,2.4,11, 105,2.2,13.5, 87,1,8.5, 110,4.4,16.5, 84,4.4,15.5, 71,4,14, 116,4,16, 79,3.8,14.5, 90,3.8,15, 142,3.8,16.5, 77,4.4,15, 99,4.4,16, 99,4.4,16, 168,4.4,17.5, 88,4.2,15, 107,4.2,16, 103,4.2,16, 69,2.8,12.5, 419,4,18.5, 318,3.6,17.5, 59,2.6,11.5, 219,4.6,18.5, 337,4,18.5, 261,3.2,17, 329,3.4,18, 109,4.2,16, 395,4.6,19.5, 199,2.2,15.5, 359,2.4,17, 159,3,16, 119,1,10, 239,2,15.5, 99,2.4,13.5, 285,2.6,17, 89,1.8,12, 432,3,17.5, 67,3,12.5, 79,1.6,11.5, 165,3,16, 82,3.6,14.5, 54,4,12, 89,2.8,14, 58,4,13, 87,2.4,13, 70,3.8,14, 102,3.8,15.5, 110,4.6,16.5, 109,4.4,16, 1400,4.2,20, 990,4,19.5, 295,4.2,18, 195,4.2,17.5, 174,4.4,17.5, 249,4.2,18, 196,4.6,13, 179,1.2,13.5, 85,1.2,11.5, 159,1.6,14, 59,2.2,10.5, 73,3.4,13.5, 58,3.4,12, 383,2.4,17, 199,2.6,16, 106,4.4,16.5, 72,4.4,14.5, 87,4.4,15.5, 111,4.8,17, 77,4.6,15.5, 96,2,13, 229,3.2,17, 119,3.6,16, 175,1.4,14, 261,1.8,15, 289,4,18, 99,4,15.5, 61,4,13, 98,4,15, 469,3.8,18.5, 399,3.2,18, 241,3.6,17.5, 82,1.2,11, 159,1.4,13, 54,1.4,9.5, 119,2,14, 79,2,12, 99,2.2,13.5, 174,2.2,15, 299,2.6,17, 79,3.2,13.5, 598,3.8,18.8, 2750,4,19.8, 49,4,12, 59,4,13, 148,3,15.5, 63,3.8,13, 99,4,15.5, 47,3.8,11.5, 199,3.6,17, 125,4.2,16.5, 89,2,12.5, 139,3.4,16, 79,4,14.5, 90,3.2,14.5, 52,1.4,8.5, 395,1.8,16.5, 339,2,16, 69,3.8,13.5, 329,1.6,15.5, 405,3.6,18.5, 339,4.6,18.5, 82,4.2,14.5, 249,4,17, 49,2.8,10.5, 59,2.8,11.5, 1190,2.2,18, 295,2,15.5, 159,3.6,16.5, 48,1.2,8.5, 53,3.4,11.5, 77,4.6,15, 79,4.6,15.5, 67,5,15, 71,1.8,11, 159,2.2,15, 64,1,9.5, 96,1.4,12.5, 82,1.2,11 ],3)], Unknown = [82,4.6], % Should be 15.5 Vars = ['pris','prisvarde'], Ops = [+,-,*,/,if_less_equal,pow2,pow3,pow4,sqrt,log,exp], Constants = [random(-100,100) : _ in 1..10], MaxSize = 11, Params = new_map([% approx=1, init_size=100, show_best=1, crossover_rate=0.5, mutation_rate=0.5, num_gens=1800, show_only_improvements=true, stop_criteria=generations, % debug=true, remove_dups=true ]).