+
+ def victories_and_ties
+ victors = Array.new
+ ties = Array.new
+ candidates = @matrix.keys.sort
+
+ candidates.each do |candidate|
+ candidates.each do |challenger|
+ next if candidate == challenger
+ diff = @matrix[candidate][challenger] - @matrix[challenger][candidate]
+ if diff > 0
+ victors << [candidate, challenger, diff]
+ elsif diff == 0 && ties.include?([challenger, candidate]) == false
+ ties << [candidate, challenger]
+ end
+ end
+ end
+
+ victories = victors.sort {|a,b| b[2] <=> a[2]}
+
+ return victories, ties
+ end
+
+ protected