Open lichengzhang1 opened 5 months ago
Is this a feature request to implement the algorithm you cite? If so, can you re-post it at https://github.com/igraph/igraph/ ?
As for how it works now in IGraph/M:
This was ported to the C core here: https://github.com/igraph/igraph/blob/master/src/properties/perfect.c
Thank you, I thought the algorithm implemented by igraph was polynomial. It seems it isn't as you said. I will report this feature request .
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.