/* Rosalind fibd problem. See ~/picat/me/rosalind_fibd.pi The sequence seems to be: [1,1,2,2,3,4,5,7,9,12,16,21,28,37,49,65] Note that we use make_seq of degree 3. The result is simply A + B (i.e. skipping the variable C) * [1,1,2,2,3,4] using degree 3 Expected result 5 [program = A + B,res = 5,count = 100] [program = B + A,res = 5,count = 53] [program = A + 1 * B * 1,res = 5,count = 4] [program = A + B + C - C,res = 5,count = 1] resultMap = [5 = 4] * [1,1,2,2,3,4,5] using degree 3 expected 7 [program = A + B,res = 7,count = 103] [program = B + A,res = 7,count = 38] [program = A + 1 * B,res = 7,count = 3] [program = B + C + (A - C),res = 7,count = 1] [program = A * (A / A) + B,res = 7.0,count = 1] [program = 1 * B + A,res = 7,count = 1] resultMap = [7 = 5,7.0 = 1] * [1,1,2,2,3,4,5,7,9,12,16,21,28,37,49] expected 65 [program = 1 * (B + A),res = 65,count = 76] [program = A + B,res = 65,count = 47] [program = B + A,res = 65,count = 32] [program = (B + A) * 1,res = 65,count = 30] [program = (B + A) / 1,res = 65.0,count = 6] [program = (B + A) / (C / C),res = 65.0,count = 1] [program = (B + A) / (B / B),res = 65.0,count = 1] [program = B + A + (B - B),res = 65,count = 1] resultMap = [65 = 5,65.0 = 3] */ import util. data(quitic,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Seq = [1,1,2,2,3,4], % Seq = [1,1,2,2,3,4,5], % Seq = [1,1,2,2,3,4,5,7,9,12,16,21,28,37,49], make_seq(Seq,3,Data,Unknown,Vars), Ops = [+,-,*,/], Constants = 1..20, MaxSize = 21, Params = new_map([ init_size=200, stop_criteria=generation, num_gens=100 ]).