# These are the graph constants that are used in various classification
# tests.
#
# Note: There are more graphs which could be added here
#         Foisy identified H, G15, H15, J14, J'14
#         There are also more Triangle-Y exchanges on > 9 vertices
require 'graph'

# 21 Edge Graphs
Graph::K7    = Graph.new('K7',
                         7,
                         [[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[1,2],[1,3],
                          [1,4],[1,5],[1,6],[2,3],[2,4],[2,5],[2,6],[3,4],
                          [3,5],[3,6],[4,5],[4,6],[5,6]])
                          
Graph::H8    = Graph.new('H8',
                         8, 
                         [[0,1],[0,2],[0,4],[0,5],[0,6],[0,7],[1,2],[1,3],
                          [1,5],[1,7],[2,4],[2,5],[2,6],[2,7],[3,4],[3,6],
                          [4,5],[4,7],[5,6],[5,7],[6,7]])
                          
Graph::H9    = Graph.new('H9',
                         9, 
                         [[0,1],[0,2],[0,4],[0,5],[0,7],[0,8],[1,2],[1,3],
                          [1,5],[1,8],[2,4],[2,6],[2,7],[3,4],[3,7],[4,5],
                          [4,8],[5,6],[5,7],[6,8],[7,8]])
                          
Graph::F9    = Graph.new('F9',
                         9, 
                         [[0,1],[0,2],[0,4],[0,5],[0,6],[0,8],[1,2],[1,3],
                          [1,5],[1,8],[2,4],[2,5],[2,6],[2,8],[3,4],[3,6],
                          [4,5],[4,8],[5,7],[6,7],[7,8]])

# 22 Edge Graphs
Graph::K3311 = Graph.new('K3311', 
                         8, 
                         [[0,1],[0,3],[0,4],[0,5],[0,7],[1,2],[1,3],[1,4],
                          [1,6],[2,3],[2,4],[2,5],[2,7],[3,4],[3,5],[3,6],
                          [3,7],[4,5],[4,6],[4,7],[5,6],[6,7]])
                          
Graph::A9    = Graph.new('A9',
                         9, 
                         [[0,1],[0,3],[0,5],[0,8],[1,2],[1,4],[1,5],[1,7],
                          [2,4],[2,5],[2,6],[2,8],[3,4],[3,6],[4,5],[4,7],
                          [4,8],[5,6],[5,7],[5,8],[6,7],[7,8]])
                          
Graph::B9    = Graph.new('B9',
                         9, 
                         [[0,1],[0,3],[0,4],[0,6],[0,8],[1,2],[1,3],[1,4],
                          [1,5],[2,3],[2,4],[2,6],[2,8],[3,6],[3,7],[3,8],
                          [4,6],[4,7],[4,8],[5,6],[5,7],[5,8]])
                          