Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Independent set (graph theory)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Finding independent sets== {{See|Clique problem}} In [[computer science]], several [[computational problems]] related to independent sets have been studied. *In the '''maximum independent set''' problem, the input is an undirected graph, and the output is a maximum independent set in the graph. If there are multiple maximum independent sets, only one need be output. This problem is sometimes referred to as "'''vertex packing'''". *In the '''maximum-weight independent set''' problem, the input is an undirected graph with weights on its vertices and the output is an independent set with maximum total weight. The maximum independent set problem is the special case in which all weights are one. *In the '''maximal independent set listing''' problem, the input is an undirected graph, and the output is a list of all its maximal independent sets. The maximum independent set problem may be solved using as a subroutine an algorithm for the maximal independent set listing problem, because the maximum independent set must be included among all the maximal independent sets. *In the '''independent set decision''' problem, the input is an undirected graph and a number ''k'', and the output is a [[truth value|Boolean value]]: true if the graph contains an independent set of size ''k'', and false otherwise. The first three of these problems are all important in practical applications; the independent set decision problem is not, but is necessary in order to apply the theory of [[NP-completeness]] to problems related to independent sets. ===Maximum independent sets and maximum cliques=== The independent set problem and the [[clique problem]] are complementary: a clique in ''G'' is an independent set in the [[complement graph]] of ''G'' and vice versa. Therefore, many computational results may be applied equally well to either problem. For example, the results related to the clique problem have the following corollaries: * The independent set decision problem is [[NP-complete]], and hence it is not believed that there is an efficient algorithm for solving it. * The maximum independent set problem is [[NP-hard]] and it is also hard to [[Approximation algorithm|approximate]]. Despite the close relationship between maximum cliques and maximum independent sets in arbitrary graphs, the independent set and clique problems may be very different when restricted to special classes of graphs. For instance, for [[dense graph|sparse graphs]] (graphs in which the number of edges is at most a constant times the number of vertices in any subgraph), the maximum clique has bounded size and may be found exactly in linear time;<ref>{{harvtxt|Chiba|Nishizeki|1985}}.</ref> however, for the same classes of graphs, or even for the more restricted class of bounded degree graphs, finding the maximum independent set is [[SNP (complexity)|MAXSNP-complete]], implying that, for some constant ''c'' (depending on the degree) it is [[NP-hard]] to find an approximate solution that comes within a factor of ''c'' of the optimum.<ref>{{harvtxt|Berman|Fujito|1995}}.</ref> {{See|Clique problem#Finding maximum cliques in arbitrary graphs}} === Exact algorithms === The maximum independent set problem is NP-hard. However, it can be solved more efficiently than the O(''n''<sup>2</sup> 2<sup>''n''</sup>) time that would be given by a naive [[brute-force search|brute force algorithm]] that examines every vertex subset and checks whether it is an independent set. As of 2017 it can be solved in time O(1.1996<sup>''n''</sup>) using polynomial space.<ref>{{harvtxt|Xiao|Nagamochi|2017}}</ref> When restricted to graphs with maximum degree 3, it can be solved in time O(1.0836<sup>''n''</sup>).<ref>{{harvtxt|Xiao|Nagamochi|2013}}</ref> For many classes of graphs, a maximum weight independent set may be found in polynomial time. Famous examples are [[claw-free graph]]s,<ref>{{harvtxt|Minty|1980}},{{harvtxt|Sbihi|1980}},{{harvtxt|Nakamura|Tamura|2001}},{{harvtxt|Faenza|Oriolo|Stauffer|2014}},{{harvtxt|Nobili|Sassano|2015}}</ref> ''P''<sub>5</sub>-free graphs<ref>{{harvtxt|Lokshtanov|Vatshelle|Villanger|2014}}</ref> and [[perfect graph]]s.<ref>{{harvtxt|Grötschel|Lovász|Schrijver|1993|loc=Chapter 9: Stable Sets in Graphs}}</ref> For [[chordal graph]]s, a maximum weight independent set can be found in linear time.<ref>{{harvtxt|Frank|1976}}</ref> [[Modular decomposition]] is a good tool for solving the maximum weight independent set problem; the linear time algorithm on [[cograph]]s is the basic example for that. Another important tool are [[clique separator]]s as described by Tarjan.<ref>{{harvtxt|Tarjan|1985}}</ref> [[Kőnig's theorem (graph theory)|Kőnig's theorem]] implies that in a [[bipartite graph]] the maximum independent set can be found in polynomial time using a bipartite matching algorithm. === Approximation algorithms === In general, the maximum independent set problem cannot be approximated to a constant factor in polynomial time (unless P = NP). In fact, Max Independent Set in general is [[APX#Related complexity classes|Poly-APX-complete]], meaning it is as hard as any problem that can be approximated to a polynomial factor.<ref>{{cite journal|last1=Bazgan|first1=Cristina|author1-link=Cristina Bazgan|last2=Escoffier|first2=Bruno|last3=Paschos|first3=Vangelis Th.|title=Completeness in standard and differential approximation classes: Poly-(D)APX- and (D)PTAS-completeness|journal=Theoretical Computer Science|date=2005|volume=339|issue=2–3|pages=272–292|doi=10.1016/j.tcs.2005.03.007|s2cid=1418848 |url=https://basepub.dauphine.fr/handle/123456789/3724|doi-access=free}}</ref> However, there are efficient approximation algorithms for restricted classes of graphs. ==== In planar graphs ==== In [[planar graph]]s, the maximum independent set may be approximated to within any approximation ratio ''c'' < 1 in polynomial time; similar [[polynomial-time approximation scheme]]s exist in any family of graphs closed under taking [[Minor (graph theory)|minors]].<ref>{{harvtxt|Baker|1994}}; {{harvtxt|Grohe|2003}}.</ref> ==== In bounded degree graphs ==== In bounded degree graphs, effective approximation algorithms are known with [[approximation ratio]]s that are constant for a fixed value of the maximum degree; for instance, a [[greedy algorithm]] that forms a maximal independent set by, at each step, choosing the minimum degree vertex in the graph and removing its neighbors, achieves an approximation ratio of (Δ+2)/3 on graphs with maximum degree Δ.<ref>{{harvtxt|Halldórsson|Radhakrishnan|1997}}.</ref> Approximation hardness bounds for such instances were proven in {{harvtxt|Berman|Karpinski|1999}}. Indeed, even Max Independent Set on 3-regular 3-edge-colorable graphs is [[APX|APX-complete]].<ref name=chlebik>{{cite book|last1=Chlebík|first1=Miroslav|last2=Chlebíková|first2=Janka |chapter=Approximation Hardness for Small Occurrence Instances of NP-Hard Problems |author2-link=Janka Chlebíková|title=Proceedings of the 5th International Conference on Algorithms and Complexity|series=Lecture Notes in Computer Science |date=2003 |volume=2653 |pages=152–164 |doi=10.1007/3-540-44849-7_21|isbn=978-3-540-40176-6|chapter-url=https://researchportal.port.ac.uk/portal/en/publications/approximation-hardness-for-small-occurrence-instances-of-nphard-problems(fe0d8e3c-740b-4b84-9962-4a0b05cc6f6b).html}}</ref> ==== In interval intersection graphs ==== {{Main|Interval scheduling}} An [[interval graph]] is a graph in which the nodes are 1-dimensional intervals (e.g. time intervals) and there is an edge between two intervals if and only if they intersect. An independent set in an interval graph is just a set of non-overlapping intervals. The problem of finding maximum independent sets in interval graphs has been studied, for example, in the context of [[job scheduling]]: given a set of jobs that has to be executed on a computer, find a maximum set of jobs that can be executed without interfering with each other. This problem can be solved exactly in polynomial time using [[earliest deadline first scheduling]]. ==== In geometric intersection graphs ==== {{Main|Maximum disjoint set}} A geometric [[intersection graph]] is a graph in which the nodes are geometric shapes and there is an edge between two shapes if and only if they intersect. An independent set in a geometric intersection graph is just a set of disjoint (non-overlapping) shapes. The problem of finding maximum independent sets in geometric intersection graphs has been studied, for example, in the context of [[Automatic label placement]]: given a set of locations in a map, find a maximum set of disjoint rectangular labels near these locations. Finding a maximum independent set in intersection graphs is still NP-complete, but it is easier to approximate than the general maximum independent set problem. A recent survey can be found in the introduction of {{harvtxt|Chan|Har-Peled|2012}}. ==== In d-claw-free graphs ==== A ''d-claw'' in a graph is a set of ''d''+1 vertices, one of which (the "center") is connected to the other ''d'' vertices, but the other d vertices are not connected to each other. A ''d''-[[claw-free graph]] is a graph that does not have a ''d''-claw subgraph. Consider the algorithm that starts with an empty set, and incrementally adds an arbitrary vertex to it as long as it is not adjacent to any existing vertex. In ''d''-claw-free graphs, every added vertex invalidates at most ''d'' − 1 vertices from the maximum independent set; therefore, this trivial algorithm attains a (''d'' − 1)-approximation algorithm for the maximum independent set. In fact, it is possible to get much better approximation ratios: * Neuwohner<ref>{{Citation |last=Neuwohner |first=Meike |date=2021-06-07 |title=An Improved Approximation Algorithm for the Maximum Weight Independent Set Problem in d-Claw Free Graphs |arxiv=2106.03545 }}</ref> presented a polynomial time algorithm that, for any constant ε>0, finds a (''d''/2 − 1/63,700,992+ε)-approximation for the maximum weight independent set in a ''d''-claw free graph. * Cygan<ref>{{Cite book |last=Cygan |first=Marek |title=2013 IEEE 54th Annual Symposium on Foundations of Computer Science |chapter=Improved Approximation for 3-Dimensional Matching via Bounded Pathwidth Local Search |date=October 2013 |chapter-url=https://ieeexplore.ieee.org/document/6686187 |pages=509–518 |doi=10.1109/FOCS.2013.61|arxiv=1304.1424 |isbn=978-0-7695-5135-7 |s2cid=14160646 }}</ref> presented a [[quasi-polynomial time]] algorithm that, for any ε>0, attains a (d+ε)/3 approximation. ===Finding maximal independent sets=== {{Main|Maximal independent set}} The problem of finding a maximal independent set can be solved in [[polynomial time]] by a trivial parallel [[greedy algorithm]] .<ref>{{harvtxt|Luby|1986}}.</ref> All maximal independent sets can be found in time O(3<sup>''n''/3</sup>) = O(1.4423<sup>''n''</sup>). === Counting independent sets === {{unsolved|computer science|Is there a fully polynomial-time approximation algorithm for the number of independent sets in bipartite graphs?}} The [[counting problem (complexity)|counting problem]] #IS asks, given an undirected graph, how many independent sets it contains. This problem is intractable, namely, it is [[♯P]]-complete, already on graphs with maximal [[degree (graph theory)|degree]] three.<ref>{{Cite journal |last1=Dyer |first1=Martin |last2=Greenhill |first2=Catherine |date=2000-04-01 |title=On Markov Chains for Independent Sets |url=https://www.sciencedirect.com/science/article/pii/S0196677499910714 |journal=Journal of Algorithms |volume=35 |issue=1 |pages=17–49 |doi=10.1006/jagm.1999.1071 |issn=0196-6774}}</ref> It is further known that, assuming that [[NP (complexity)|NP]] is different from [[RP (complexity)|RP]], the problem cannot be tractably [[Approximation algorithm|approximated]] in the sense that it does not have a fully [[polynomial-time approximation scheme]] with randomization (FPRAS), even on graphs with maximal degree six;<ref>{{Cite book |last=Sly |first=Allan |chapter=Computational Transition at the Uniqueness Threshold |date=2010 |title=2010 IEEE 51st Annual Symposium on Foundations of Computer Science |chapter-url=https://ieeexplore.ieee.org/document/5671190 |pages=287–296 |doi=10.1109/FOCS.2010.34|isbn=978-1-4244-8525-3 |s2cid=901126 }}</ref> however it does have an fully polynomial-time approximation scheme (FPTAS) in the case where the maximal degree is five.<ref>{{Cite journal |last1=Bezáková |first1=Ivona |last2=Galanis |first2=Andreas |last3=Goldberg |first3=Leslie Ann |last4=Guo |first4=Heng |last5=Štefankovič |first5=Daniel |date=2019 |title=Approximation via Correlation Decay When Strong Spatial Mixing Fails |url=https://epubs.siam.org/doi/10.1137/16M1083906 |journal=SIAM Journal on Computing |language=en |volume=48 |issue=2 |pages=279–349 |doi=10.1137/16M1083906 |s2cid=131975798 |issn=0097-5397|arxiv=1510.09193 }}</ref> The problem #BIS, of counting independent sets on [[bipartite graph]]s, is also [[♯P]]-complete, already on graphs with maximal [[degree (graph theory)|degree]] three.<ref>{{Cite journal |last1=Xia |first1=Mingji |last2=Zhang |first2=Peng |last3=Zhao |first3=Wenbo |date=2007-09-24 |title=Computational complexity of counting problems on 3-regular planar graphs |url=https://www.sciencedirect.com/science/article/pii/S0304397507004653 |journal=Theoretical Computer Science |series=Theory and Applications of Models of Computation |volume=384 |issue=1 |pages=111–125 |doi=10.1016/j.tcs.2007.05.023 |issn=0304-3975}}, quoted in {{Cite journal |last1=Curticapean |first1=Radu |last2=Dell |first2=Holger |last3=Fomin |first3=Fedor |last4=Goldberg |first4=Leslie Ann |last5=Lapinskas |first5=John |date=2019-10-01 |title=A Fixed-Parameter Perspective on #BIS |journal=Algorithmica |language=en |volume=81 |issue=10 |pages=3844–3864 |doi=10.1007/s00453-019-00606-4 |s2cid=3626662 |issn=1432-0541|doi-access=free |hdl=1983/ecb5c34c-d6be-44ec-97ea-080f57c5e6af |hdl-access=free }}</ref> It is not known whether #BIS admits a FPRAS.<ref>{{Cite book |url=https://epubs.siam.org/doi/book/10.1137/1.9781611975994 |title=Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms |date=2020 |publisher=Society for Industrial and Applied Mathematics |isbn=978-1-61197-599-4 |editor-last=Chawla |editor-first=Shuchi |location=Philadelphia, PA |language=en |doi=10.1137/1.9781611975994.88|arxiv=1906.01666 |s2cid=174799567 |last1=Cannon |first1=Sarah |last2=Perkins |first2=Will }}</ref> The question of [[counting maximal independent sets]] has also been studied.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)