/* From http://www.dtreg.com/gep.htm """ The output parity value should be 1 if there are an odd number of inputs with the value 1, and the output should be 0 if there are an even number of inputs with the value 1. """ This is XOR. * Using [+,-,*,/,mod] [program = (A + B) mod (1 + 1),res = 0,count = 1] [program = (A - B) mod (1 + 1),res = 0,count = 3] * Using ^ [program = A ^ B,res = 0,count = 358] [program = B ^ A,res = 0,count = 325] [program = 1 ^ 1 ^ (B ^ A),res = 0,count = 5] [program = B ^ A ^ (1 ^ 1),res = 0,count = 4] [program = B ^ 1 ^ (A ^ 1),res = 0,count = 4] [program = B ^ 1 ^ (1 ^ A),res = 0,count = 4] [program = A ^ 1 ^ (B ^ 1),res = 0,count = 4] [program = 1 ^ B ^ (A ^ 1),res = 0,count = 4] [program = B ^ B ^ (A ^ B),res = 0,count = 3] [program = A ^ B ^ (1 ^ 1),res = 0,count = 3] [program = 1 ^ B ^ (1 ^ A),res = 0,count = 3] [program = 1 ^ A ^ (B ^ 1),res = 0,count = 3] [program = 1 ^ A ^ (1 ^ B),res = 0,count = 3] [program = B ^ B ^ (B ^ A),res = 0,count = 2] [program = B ^ A ^ (B ^ B),res = 0,count = 2] [program = A ^ B ^ (A ^ A),res = 0,count = 2] [program = A ^ 1 ^ (1 ^ B),res = 0,count = 2] [program = 1 ^ 1 ^ (A ^ B),res = 0,count = 2] [program = A ^ B ^ (B ^ B),res = 0,count = 1] [program = A ^ A ^ (A ^ B),res = 0,count = 1] resultMap = [0 = 20] Cf http://hakank.org/jgap/odd_parity2.conf */ data(odd_parity2,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[0,0],0], [[0,1],1], [[1,0],1], [[1,1],0] ], Unknown = [1,1], Vars = ['A','B'], Ops = [+,-,*,/,mod], % Ops = [^], Constants = 1..1, MaxSize = 6, Params = new_map().