def cycles
      g = self.clone
      self.inject([]) do |acc, v| 
        acc = acc.concat(g.cycles_with_vertex(v))
        g.remove_vertex(v); acc
      end
    end
def cycles
      g = self.clone
      self.inject([]) do |acc, v| 
        acc = acc.concat(g.cycles_with_vertex(v))
        g.remove_vertex(v); acc
      end
    end
Returns an array of all minimum cycles in a graph

 This is not an efficient implementation O(n^4) and could
 be done using Minimum Spanning Trees. Hint. Hint.