def spin 
      accumulator, prn = 0, rand

      @normalized.each_pair do |chromosome, probability| 
        if prn <= probability + accumulator
          @logger.debug "Choosing #{chromosome} with probability #{probability}"
          return chromosome 
        end

        accumulator += probability
      end
    end
def spin 
      accumulator, prn = 0, rand

      @normalized.each_pair do |chromosome, probability| 
        if prn <= probability + accumulator
          @logger.debug "Choosing #{chromosome} with probability #{probability}"
          return chromosome 
        end

        accumulator += probability
      end
    end
TODO: use inject here instead of each_pair