Set independent (teoria graficelor)
În teoria graficelor , o mulțime independentă sau stabilă este un set de vârfuri într-un grafic , care nu este adiacent cu două. Adică, este un set I de vârfuri astfel încât pentru fiecare două vârfuri din I , nu există o margine care să le lege. În mod echivalent, fiecare margine a graficului are cel mult o extremă în I. Dimensiunea unui set independent este numărul de vârfuri pe care le conține. Seturile independente au fost, de asemenea, numite seturi stabile intern. [1]
Un set maxim independent este un set independent astfel încât adăugarea oricărui vârf la set forțează setul să conțină o margine.
Un set independent maxim este un set independent de cea mai mare dimensiune posibilă pentru un grafic dat G. Această dimensiune se numește numărul de independență al lui G și se notează α ( G ). [2] Problema găsirii unui astfel de set se numește cea mai mare problemă de set independent și este o problemă de optimizare dificilă pentru NP . Ca atare, este puțin probabil să existe un algoritm eficient pentru găsirea unui set maxim independent de grafic.
Fiecare set maxim independent este, de asemenea, maxim, dar implicația inversă nu este neapărat validă.
Proprietate
Relația cu alți parametri ai graficului
Un set este independent dacă și numai dacă este o clică în complementul graficului, deci cele două concepte sunt complementare. Într-adevăr, graficele suficient de mari, fără fisuri mari, au seturi independente mari, o temă care este explorată în teoria lui Ramsey .
Un set este independent dacă și numai dacă complementul său este un capac de vârf . [3] Prin urmare, suma mărimii celui mai mare set independent α ( G ) și a dimensiunii celui mai mic capac de vârf β ( G ) este egală cu numărul de vârfuri din grafic.
Colorarea vârfurilor unui grafic G corespunde unei partiții a mulțimii vârfurilor sale în subseturi independente. Prin urmare, numărul minim de culori necesar pentru o colorare a vârfurilor, numărul cromatic χ ( G ), este cel puțin coeficientul dintre numărul de vârfuri din G și numărul independent α ( G ).
Într-un grafic bipartit fără vârfuri izolate, numărul vârfurilor dintr-un set maxim independent este egal cu numărul de muchii într-o acoperire minimă a muchiilor ; aceasta este teorema lui König .
Ansamblu maxim independent
Un set independent care nu este un subset al unui alt set independent se numește maxim . Astfel de seturi sunt seturi dominante . Fiecare grafic conține cel mult 3 n / 3 seturi independente maxime, [4] dar multe grafice au mult mai puține. Numărul seturilor maxime independente din graficele ciclului n- vârf este dat de numerele Perrin , iar numărul seturilor maxime independente din graficele traseului n- vârf este dat de secvența Padovan . [5] Prin urmare, ambele numere sunt proporționale cu puterile de 1.324718, numărul plastic .
Găsiți seturi independente
În informatică , au fost studiate mai multe probleme de calcul legate de seturi independente.
- În problema setului maxim independent , intrarea este un grafic indirect, iar ieșirea este un set maxim independent al graficului. Dacă există seturi independente de maxime multiple, doar unul trebuie să fie ieșirea. Această problemă este uneori denumită „ împachetarea vertexului ”.
- În problema setului independent cu greutatea maximă , intrarea este un grafic indirect cu greutățile pe vârfurile sale, iar ieșirea este un set independent cu greutatea totală maximă. Problema celui mai mare set independent este cazul special în care greutățile sunt una.
- În problema listării seturilor independente maxime , intrarea este un grafic indirect, iar ieșirea este o listă a tuturor seturilor independente maxime. Problema celui mai mare set independent poate fi rezolvată folosind ca subrutină un algoritm pentru problema listării seturilor maxime independente, deoarece setul maxim independent trebuie inclus în toate seturile maxime independente.
- În problema de decizie a setului independent , intrarea este un grafic indirect și un număr k , iar ieșirea este o valoare booleană : adevărat dacă graficul conține un set independent de mărime k și fals în caz contrar.
Primele trei dintre aceste probleme sunt importante în aplicațiile practice; problema deciziei setului independent nu este, dar este necesar să se aplice teoria completitudinii NP problemelor legate de seturi independente.
Seturi maxime independente și fisuri maxime
Problema setului independent și problema clici sunt complementare: o clică în G este un set independent în graficul complement al lui G și invers. Prin urmare, multe rezultate de calcul pot fi aplicate la fel de bine ambelor probleme. De exemplu, rezultatele legate de problema fisurilor au următorii corolari:
- Problema decizională a setului independent este NP-completă și, prin urmare, nu se crede că există un algoritm eficient pentru a o rezolva.
- Problema celui mai mare set independent este NP-dificil și este, de asemenea, dificil de aproximat .
În ciuda relației strânse dintre clici maxime și seturi maxime independente în grafice arbitrare, problemele seturilor independente și clice pot fi foarte diferite atunci când sunt limitate la clase speciale de grafice. De exemplu, pentru graficele rare (grafice în care numărul muchiilor este cel mult o dată constantă a numărului de vârfuri în orice subgraf), fisura maximă este limitată ca dimensiune și poate fi găsită în timp exact liniar; [6] cu toate acestea, pentru aceleași clase de grafice, sau chiar pentru clasa mai restrânsă de grafice de grad limitat, găsiți că cel mai mare set independent este MAXSNP-complet , ceea ce înseamnă că, pentru o constantă c (în funcție de grad), este NP-dificil de găsit o soluție aproximativă care se încadrează într-un factor de c al optimului. [7]
Găsiți seturile maxime independente
Algoritmi exacți
Problema celui mai mare set independent este NP-dificilă. Cu toate acestea, poate fi rezolvat mai eficient decât în timpul O ( n 2 2 n ) care ar fi dat de un algoritm naiv de forță brută care examinează fiecare subset al vârfurilor și verifică dacă este un set independent.
Un algoritm Robson (1986) rezolvă problema în timp O (1.2108 n ) folosind spațiul exponențial. Când se reduce la spațiul polinomial, există un algoritm în timpul O (1.2127 n ). [8] care îmbunătățește un algoritm O mai simplu (1.2209 n ). [9]
În unele clase de grafice, inclusiv grafice fără stele și grafice perfecte , cel mai mare set independent poate fi găsit în timp polinomial. [10]
Într-un grafic bipartit , toate nodurile care nu se află în acoperirea minimă a vârfurilor pot fi incluse în setul maxim independent; vezi teorema lui König . Prin urmare, acoperirea minimă a vârfurilor poate fi găsită folosind un algoritm de cuplare.
Algoritmi de aproximare
Problema generală a celui mai mare set independent nu poate fi aproximată la un factor constant în timpul polinomial (cu excepția cazului în care P = NP). Cu toate acestea, există algoritmi de aproximare eficienți pentru clase restrânse de grafice.
În graficele plane , setul maxim independent poate fi aproximat în orice raport de aproximare c <1 în timp polinomial; scheme similare de aproximare timp-polinom există în orice familie de grafice închise în timp ce identifică minorii . [11]
În graficele de grad limitat, algoritmii de aproximare efectivi sunt cunoscuți cu rapoarte de aproximare mai slabe decât cele constante; de exemplu, un algoritm lacom (lacom) care formează un set maxim independent prin selectarea, la fiecare pas, a vârfului de grad minim din grafic și eliminarea vecinilor acestuia, urmează un (raport de aproximare Δ + 2) / 3 pe grafice cu grad maxim Δ. [12]
Seturi independente în graficele de intersecție ale intervalelor
Un grafic de intervale este un grafic în care nodurile sunt intervale unidimensionale (de exemplu, intervale de timp) și există o margine între două intervale dacă și numai dacă se intersectează. Un set independent într-un grafic de intervale este tocmai un set de intervale care nu se suprapun. Problema găsirii seturilor maxime independente în graficele de intervale a fost studiată, de exemplu, în contextul programării lucrărilor: dat fiind un set de joburi care trebuie rulate pe un computer, găsiți un set maxim de joburi care pot fi rulate fără a deduce din unul pe altul. Această problemă poate fi rezolvată în timp exact polinomial folosind cel mai devreme termen limită primul program.
Seturi independente în grafice de intersecție geometrice
Un grafic de intersecție geometrică este un grafic în care nodurile sunt forme geometrice și există o margine între două forme dacă și numai dacă se intersectează. Un set independent într-un grafic de intersecție geometrică este tocmai un set de forme disjuncte (care nu se suprapun). Problema găsirii seturilor maxime independente în graficele geometrice de intersecție a fost studiată, de exemplu, în contextul plasării automate a etichetelor : dat un set de locații pe o hartă, găsiți un set maxim de etichete dreptunghiulare disjuncte lângă aceste locații.
Găsirea unui set maxim independent în graficele de intersecție este încă NP-completă, dar este mai ușor de aproximat decât problema generală a celui mai mare set independent. O recenzie recentă poate fi găsită în introducerea Chan & Har-Peled (2012) .
Găsiți seturi maxime independente
Problema găsirii unui set independent maxim poate fi rezolvată în timp polinomial printr-un trivial algoritm lacom . [13] Toate seturile maxime independente pot fi găsite în timpul O (3 n / 3 ) = O (1,4423 n ).
Programe gratuite pentru cercetarea ansamblului maxim independent
Nume | Licență | Limbajul API | Informații scurte |
---|---|---|---|
igraph | GPL | C, Python, R, Ruby | soluție exactă. „Implementarea actuală a fost convertită în igraph de Very Nauty Graph Library de Keith Briggs și folosește algoritmul din eseul S. Tsukiyama, M. Ide, H. Ariyoshi și I. Shirawaka,„ Un nou algoritm pentru generarea tuturor independențelor maxime seturi ", SIAM J Computing , 6, pp. 505-517, 1977. |
NetworkX | BSD | Piton | soluție aproximativă, consultați rutina maximum_independent_set |
OpenOpt | BSD | Piton | soluție exactă și aproximativă, posibilitatea de a trimite nodurile care trebuie să fie inclus / exclus; consultați clasa STAB pentru mai multe detalii și exemple |
Notă
- ^ Korshunov (1974)
- ^ Godsil & Royle (2001) , p. 3.
- ^ Dovadă: un set V de vârfuri este un set independent dacă și numai dacă fiecare margine din grafic este adiacentă cel mult unui membru al lui V ; dacă și numai dacă fiecare margine din grafic este adiacentă la cel puțin un membru care nu este în V ; dacă și numai dacă complementul lui V este un capac de vârf.
- ^ Moon & Moser (1965) .
- ^ Füredi (1987) .
- ^ Nishizeki (1985) .
- ^ Berman199 , Berman și Fujito (1995) .
- ^ Bourgeois, Escoffier, Paschos și van Rooij (2010)
- ^ Fomin, Grandoni și Kratsch (2009)
- ^ Pentru grafice fără stele, vezi Sbihi (1980) . Pentru grafice perfecte, vezi Grötschel, Lovász & Schrijver (1988) .
- ^ Baker (1994) ; Grohe (2003) .
- ^ Halldórsson și Radhakrishnan (1997) .
- ^ Luby (1986) .
Bibliografie
- Brenda S. Baker, Algoritmi de aproximare pentru probleme NP-complete pe grafice plane , în Journal of the ACM , vol. 41, nr. 1, 1994, 153-180, DOI : 10.1145 / 174644.174650 .
- Piotr Berman și Toshihiro Fujito, Despre proprietățile de aproximare ale problemei setului independent pentru graficele de gradul 3 , în Workshop on Algorithms and Data Structures , Lecture Notes in Computer Science, vol. 955, Springer-Verlag , 1995, 449-460, DOI : 10.1007 / 3-540-60220-8_84 .
- Nicolas Bourgeois, Bruno Escoffier, Vangelis Th. Paschos și Johan MM van Rooij, O metodă de jos în sus și algoritmi rapidi pentru MAX INDEPENDENT SET , în teoria algoritmului - SWAT 2010 , Lecture Notes in Computer Science, vol. 6139, Berlin, Springer, 2010, 62–73, DOI : 10.1007 / 978-3-642-13731-0_7 , MR 2678485 .
- TM Chan, scheme de aproximare timp polinomial pentru ambalarea și străpungerea obiectelor grase , în Journal of Algorithms , vol. 46, nr. 2, 2003, 178–189, DOI : 10.1016 / s0196-6774 (02) 00294-8 .
- TM Chan și S. Har-Peled, Algoritmi de aproximare pentru un set maxim independent de pseudo-discuri , în Discrete & Computational Geometry , vol. 48, nr. 2, 2012, 373, DOI : 10.1007 / s00454-012-9417-5 .
- N. Chiba și T. Nishizeki, Arboricity și algoritmi de listare a subgrafelor , în SIAM Journal on Computing , vol. 14, n. 1, 1985, 210–223, DOI : 10.1137 / 0214017 .
- T. Erlebach, K. Jansen și E. Seidel, Scheme de aproximare în timp polinomial pentru grafice de intersecție geometrică , în SIAM Journal on Computing , vol. 34, nr. 6, 2005, 1302, DOI : 10.1137 / s0097539702402676 .
- Fedor V. Fomin, Fabrizio Grandoni și Dieter Kratsch, O abordare de măsurare și cucerire pentru analiza algoritmilor exacți , în Journal of ACM , vol. 56, nr. 5, 2009, 1-32, DOI : 10.1145 / 1552285.1552286 .
- Z. Füredi , Numărul de seturi maxime independente în grafice conectate , în Journal of Graph Theory , vol. 11, n. 4, 1987, 463-470, DOI : 10.1002 / jgt.3190110403 .
- Chris Godsil și Gordon Royle , Algebraic Graph Theory , New York, Springer , 2001, ISBN 0-387-95220-9 .
- Martin Grohe, Lățimea arborelui local, minorii excluși și algoritmi de aproximare , în Combinatorica , vol. 23, n. 4, 2003, 613-632, DOI : 10.1007 / s00493-003-0037-9 .
- M. Grötschel, L. Lovász și A. Schrijver , 9.4 Colorarea graficelor perfecte , în algoritmi geometrici și optimizare combinatorie , algoritmi și combinatorie, vol. 2, Springer - Verlag , 1988, 296–298, ISBN 0-387-13624-X .
- MM Halldórsson și J. Radhakrishnan, Lăcomia este bună: Aproximarea seturilor independente în grafice rare și în limitare , în Algorithmica , vol. 18, nr. 1, 1997, 145-163, DOI : 10.1007 / BF02523693 .
- Michael Luby , Un algoritm simplu paralel pentru problema maximă a setului independent , în SIAM Journal on Computing , vol. 15, nr. 4, 1986, 1036-1053, DOI : 10.1137 / 0215074 , MR 861369 .
- JW Moon și Leo Moser , Despre clici în grafice , în Israel Journal of Mathematics , vol. 3, nr. 1, 1965, 23-28, DOI : 10.1007 / BF02760024 , MR 0182577 .
- JM Robson, Algorithms for maximum independent sets , în Journal of Algorithms , vol. 7, nr. 3, 1986, 425-440, DOI : 10.1016 / 0196-6774 (86) 90032-5 .
- ( FR ) Najiba Sbihi, Algorithme de recherche d'un stable de cardinalité maximum dans un graphe sans étoile , în Discrete Mathematics , vol. 29, nr. 1, 1980, 53-76, DOI : 10.1016 / 0012-365X (90) 90287-R , MR 553650 .
- ( Marea Britanie ) AD Korshunov, Coefficient of Internal Stability , în Kibernetika , vol. 10, nr. 1, 1974, 17-28, DOI : 10.1007 / BF01069014 .
Elemente conexe
- Un set independent de margini este un set de margini care nu are niciun vârf în comun două câte două. De obicei se numește împerechere .
- O colorare a vârfurilor este o partiție a setului de vârfuri în seturi independente.
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere dintr-o colecție independentă
linkuri externe
- (EN) Eric W. Weisstein, Maxime Independent Vertex septembrie , în MathWorld Wolfram Research.
- Puncte de referință provocatoare pentru clic maxim, set maxim independent, copertă minimă pentru vertex și colorare pentru vertex , la nlsde.buaa.edu.cn .
- Set independent și copertă Vertex , Hanan Ayad.