Hello,

Apologies but i’ve run in to another problem while attempting to make a

sudoku solver that uses basic genetic programming.

This time I’m trying to count how many times each number occures in each

board (boards stored in @offspring) then store the results in a hash.

I think each hash is being overwritten because the keys are the same, so

I’m attempting to store an array of hashes.

I think I’m close, but my logic is still a bit off, as the length of my

array of hashes is 1 but I expect it to be 4, with each element

containing a hash. 4 is the size of the test population I am using, so

there are 4 boards in @offspring.

I could have probably done the same thing with an array, but I confused

myself thinking about it

My code so far:

def fitness_check

hashes = Array.new

count = Hash.new 0

#Adds another loop to ensure all elements of offspring are checked

separetly.

i = 0

#loop through every row of offspring (first to fourth element)

@offspring[i.to_i].each do |r|

#loop through every column of every row

r.each do |c|

#Count the numbers in each column

count[c] += 1

hashes[i] = count

end

end

#Need to stop the values in count getting overwritten by the next

element in @offspring

puts hashes.inspect

puts hashes.length

end

Thanks in advance for any suggestions.

Jen.