Skip to content

Find criteria for determining that a graph is not a perfect graph #133

Open
@lichengzhang1

Description

@lichengzhang1

Crossed post in https://mathematica.stackexchange.com/questions/tagged/graphs-and-networks

What is the feature or improvement you would like to see?
Find criteria for determining that a graph is not a perfect graph

A graph is perfect if the clique number and the chromatic number is the same for every induced subgraph of the graph.
A polynomial-time algorithm exists for determining if a graph is perfect. (Cornuéjols G, Liu X, Vuskovic K. A polynomial algorithm for recognizing perfect graphs[C]//44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings. IEEE, 2003: 20-27.)

IGraphM includes a function called IGperfectQ. According to its documentation, IGperfectQ utilizes the strong perfect graph theorem: it checks that neither the graph nor its complement contains an odd-length hole. However, the documentation does not provide further justification or additional details, such as identifying an odd hole or an odd antihole if one exists.

G1 = Graph[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24}, {Null, 
   SparseArray[Automatic, {24, 24}, 
    0, {1, {{0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 
       60, 64, 68, 72, 76, 80, 84, 88, 92, 
       96}, {{2}, {3}, {4}, {5}, {1}, {5}, {6}, {7}, {1}, {7}, {8}, \
{9}, {1}, {9}, {10}, {11}, {1}, {2}, {11}, {12}, {2}, {12}, {13}, \
{14}, {2}, {3}, {8}, {14}, {3}, {7}, {15}, {16}, {3}, {4}, {16}, \
{17}, {4}, {11}, {17}, {18}, {4}, {5}, {10}, {19}, {5}, {6}, {13}, \
{19}, {6}, {12}, {20}, {21}, {6}, {7}, {15}, {21}, {8}, {14}, {21}, \
{22}, {8}, {9}, {17}, {22}, {9}, {10}, {16}, {23}, {10}, {19}, {20}, \
{23}, {11}, {12}, {18}, {20}, {13}, {18}, {19}, {24}, {13}, {14}, \
{15}, {24}, {15}, {16}, {23}, {24}, {17}, {18}, {22}, {24}, {20}, \
{21}, {22}, {23}}}, Pattern}]}, {FormatType -> TraditionalForm, 
   GraphLayout -> {"Dimension" -> 2}, ImageSize -> {100, 100}, 
   PlotRange -> All, PlotTheme -> "Monochrome", 
   VertexCoordinates -> {{0.7071067811865475, -0.7071067811865475}, \
{0.3743506488634663, -0.23570226039551573}, {0.7071067811865475, 
      0.7071067811865475}, {-0.7071067811865475, \
-0.7071067811865475}, {0.23570226039551578, -0.3743506488634662}, \
{0.18024290500833565, -0.09705387192756525}, {0.37435064886346636, 
      0.23570226039551584}, {0.23570226039551584, 
      0.3743506488634663}, {-0.7071067811865475, 
      0.7071067811865475}, {-0.37435064886346625, \
-0.23570226039551576}, {-0.23570226039551578, -0.37435064886346625}, \
{0.09705387192756534, -0.18024290500833556}, {0.06932419423397529, \
-0.06932419423397518}, {0.18024290500833567, 
      0.09705387192756536}, {0.09705387192756541, 
      0.18024290500833562}, {-0.2357022603955157, 
      0.37435064886346625}, {-0.37435064886346625, 
      0.23570226039551578}, {-0.18024290500833556, \
-0.0970538719275653}, {-0.0970538719275653, -0.18024290500833556}, \
{-0.06932419423397519, -0.06932419423397518}, {0.0693241942339753, 
      0.06932419423397525}, {-0.09705387192756523, 
      0.18024290500833556}, {-0.18024290500833554, 
      0.09705387192756532}, {-0.06932419423397516, 
      0.06932419423397523}}, VertexSize -> {{0.01, 0.01}}, 
   VertexStyle -> {GrayLevel[0.6]}}]
IGPerfectQ[G1]

enter image description here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions