Задача про незалежну множину належить до класу NP-повних задач в області теорії графів. Еквівалентна задачі про кліку.
Визначення
Множина вершин графу називається незалежною, якщо ніякі дві вершини цієї множини не з'єднані ребром. Іншими словами, індукований цією множиною підграф складається з ізольованих вершин. Іноді також говорять, що кожне ребро графу інцидентне не більше ніж одній вершині з незалежної множини. Задача розпізнавання (Проблема вибору) виглядає так: чи існує в заданому графі G незалежна множина розміру k? Відповідна їй оптимізаційна задача, вона ж задача про незалежну множину, формулюється таким чином: в заданому графі G потрібно знайти незалежну множину максимального розміру. Цей розмір називають число́м незале́жності або число́м вну́трішньої щі́льності і позначають як α(G).
Іноді цю задачу називають пошуком незалежної множини максимального розміру або максимальної (за розміром) незалежної множини. Не варто плутати це поняття з максимальною (по включенню) незалежною множиною, яка визначається як така незалежна множина вершин, що при додаванні до неї ще однієї (будь-якої) вершини початкового графу вона перестає бути незалежною. Зрозуміло, що таких множин, взагалі кажучи, може бути декілька і різних розмірів. Максимальною по включенню незалежна множина аж ніяк не завжди є максимальною за розміром. У той же час, кожна незалежна множина максимального розміру за визначенням є також і максимальною по включенню. Для знаходження (якоїсь) максимальної по включенню незалежної множини можна скористатися жадібним алгоритмом, який виконується за поліноміальний час, тоді як задача про незалежну множину максимального розміру належить до класу NP-повних задач.
Максимальна незалежна множина в дереві
Якщо даний граф є деревом, то завдання про незалежну множину ефективно вирішується методом динамічного програмування.
Оптимальна підструктура задач
Структура дерева сама підказує рішення задачі: Позначимо коренем дерева будь-яку вершину і назвемо її . Нехай позначає розмір максимальної незалежної множини вершин піддерева, коренем якого є вершина . Тоді відповіддю на задачу буде .
Неважко бачити, що якщо ми включаємо вершину u в максимальну незалежну множину, то її потужність збільшується на 1, але його дітей ми брати не можемо (так як вони з'єднані ребром з вершиною u); якщо ж ми не включаємо цю вершину, то потужність максимальної незалежної множини дорівнюватиме сумі розмірів незалежних множин дітей цієї вершини. Залишається тільки вибрати максимум з цих двох варіантів, щоб отримати рішення задачі:
де grandchild позначає всякого «онука» вершини, а child позначає всякого нащадка вершини.
Псевдокод
Вважаємо, що у вершині u зберігається :
function get_independent_set(Node u) { якщо I(u) вже пораховане, то повернути I(u) //потужність множини, яку можна отримати, якщо не брати вершину u children_sum = 0 //потужність множини, яку можна отримати, якщо взяти вершину u grandchildren_sum = 0 //цикл по всім дітям for i := 1 to child_num do children_sum = children_sum + get_independent_set(children[i]) //цикл по всіх онукам for i:= 1 to grandchildren_num grandchildren_sum = grandchildren_sum + get_independent_set(grandchildren[i]) //запам'ятовуємо, щоб не перераховувати ще раз I(u) = max(1 + grandchildren_sum, children_sum) повернути I(u) }
Виклик get_independent_set(r) дасть відповідь на завдання. Час виконання алгоритму, очевидно, (O)(|V| + |E|).
Література
- Richard Karp (1972). Reducibility Among Combinatorial Problems. Proceedings of a Symposium on the Complexity of Computer Computations.
- Michael R. Garey, David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. . A1.2: GT20, pg.194.
- Moon, J. W.; Moser, L. (1965), On cliques in graphs, Israel J. Math., 3: 23—28, MR0182577
- Sanjoy Dasgupta, Christos H. Papadimitriou, Umesh Vazirani. Algorithms. — 1-е вид. — McGraw-Hill Science/Engineering/Math, 2006. — С. 336. — .
Див. також
- Алгоритм Брона-Кербоша для знаходження максимальних по включенню незалежних множин вершин.
Посилання
- Weisstein, Eric W. Maximal Independent Vertex Set(англ.) на сайті Wolfram MathWorld.
- Challenging Benchmarks for Maximum Clique, Maximum Independent Set, Minimum Vertex Cover and Vertex Coloring [ 29 травня 2013 у Wayback Machine.]
- Полікарпова Н., Герасименко А.
- Слайди лекції по динамічному програмуванні [ 19 квітня 2009 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zadacha pro nezalezhnu mnozhinu nalezhit do klasu NP povnih zadach v oblasti teoriyi grafiv Ekvivalentna zadachi pro kliku ViznachennyaNezalezhnij nabir z 9 blakitnih vershin Mnozhina vershin grafu nazivayetsya nezalezhnoyu yaksho niyaki dvi vershini ciyeyi mnozhini ne z yednani rebrom Inshimi slovami indukovanij ciyeyu mnozhinoyu pidgraf skladayetsya z izolovanih vershin Inodi takozh govoryat sho kozhne rebro grafu incidentne ne bilshe nizh odnij vershini z nezalezhnoyi mnozhini Zadacha rozpiznavannya Problema viboru viglyadaye tak chi isnuye v zadanomu grafi G nezalezhna mnozhina rozmiru k Vidpovidna yij optimizacijna zadacha vona zh zadacha pro nezalezhnu mnozhinu formulyuyetsya takim chinom v zadanomu grafi G potribno znajti nezalezhnu mnozhinu maksimalnogo rozmiru Cej rozmir nazivayut chislo m nezale zhnosti abo chislo m vnu trishnoyi shi lnosti i poznachayut yak a G Inodi cyu zadachu nazivayut poshukom nezalezhnoyi mnozhini maksimalnogo rozmiru abo maksimalnoyi za rozmirom nezalezhnoyi mnozhini Ne varto plutati ce ponyattya z maksimalnoyu po vklyuchennyu nezalezhnoyu mnozhinoyu yaka viznachayetsya yak taka nezalezhna mnozhina vershin sho pri dodavanni do neyi she odniyeyi bud yakoyi vershini pochatkovogo grafu vona perestaye buti nezalezhnoyu Zrozumilo sho takih mnozhin vzagali kazhuchi mozhe buti dekilka i riznih rozmiriv Maksimalnoyu po vklyuchennyu nezalezhna mnozhina azh niyak ne zavzhdi ye maksimalnoyu za rozmirom U toj zhe chas kozhna nezalezhna mnozhina maksimalnogo rozmiru za viznachennyam ye takozh i maksimalnoyu po vklyuchennyu Dlya znahodzhennya yakoyis maksimalnoyi po vklyuchennyu nezalezhnoyi mnozhini mozhna skoristatisya zhadibnim algoritmom yakij vikonuyetsya za polinomialnij chas todi yak zadacha pro nezalezhnu mnozhinu maksimalnogo rozmiru nalezhit do klasu NP povnih zadach Maksimalna nezalezhna mnozhina v dereviYaksho danij graf ye derevom to zavdannya pro nezalezhnu mnozhinu efektivno virishuyetsya metodom dinamichnogo programuvannya Optimalna pidstruktura zadach Struktura dereva sama pidkazuye rishennya zadachi Poznachimo korenem dereva bud yaku vershinu i nazvemo yiyi r displaystyle r Nehaj I u displaystyle I u poznachaye rozmir maksimalnoyi nezalezhnoyi mnozhini vershin piddereva korenem yakogo ye vershina u displaystyle u Todi vidpoviddyu na zadachu bude I r displaystyle I r Nevazhko bachiti sho yaksho mi vklyuchayemo vershinu u v maksimalnu nezalezhnu mnozhinu to yiyi potuzhnist zbilshuyetsya na 1 ale jogo ditej mi brati ne mozhemo tak yak voni z yednani rebrom z vershinoyu u yaksho zh mi ne vklyuchayemo cyu vershinu to potuzhnist maksimalnoyi nezalezhnoyi mnozhini dorivnyuvatime sumi rozmiriv nezalezhnih mnozhin ditej ciyeyi vershini Zalishayetsya tilki vibrati maksimum z cih dvoh variantiv shob otrimati rishennya zadachi I u max 1 grandchild w o f u I w child w o f u I w displaystyle I u max left 1 sum text grandchild w of u I w sum text child w of u I w right de grandchild poznachaye vsyakogo onuka vershini a child poznachaye vsyakogo nashadka vershini Psevdokod Vvazhayemo sho u vershini u zberigayetsya I u displaystyle I u function get independent set Node u yaksho I u vzhe porahovane to povernuti I u potuzhnist mnozhini yaku mozhna otrimati yaksho ne brati vershinu u children sum 0 potuzhnist mnozhini yaku mozhna otrimati yaksho vzyati vershinu u grandchildren sum 0 cikl po vsim dityam for i 1 to child num do children sum children sum get independent set children i cikl po vsih onukam for i 1 to grandchildren num grandchildren sum grandchildren sum get independent set grandchildren i zapam yatovuyemo shob ne pererahovuvati she raz I u max 1 grandchildren sum children sum povernuti I u Viklik get independent set r dast vidpovid na zavdannya Chas vikonannya algoritmu ochevidno O V E LiteraturaGodsil Chris Gordon Royle 2004 1949 Algebraic Graph Theory New York Springer ISBN 0 387 95220 9 Richard Karp 1972 Reducibility Among Combinatorial Problems Proceedings of a Symposium on the Complexity of Computer Computations Michael R Garey David S Johnson 1979 Computers and Intractability A Guide to the Theory of NP Completeness W H Freeman ISBN 0 7167 1045 5 A1 2 GT20 pg 194 Moon J W Moser L 1965 On cliques in graphs Israel J Math 3 23 28 MR0182577 Sanjoy Dasgupta Christos H Papadimitriou Umesh Vazirani Algorithms 1 e vid McGraw Hill Science Engineering Math 2006 S 336 ISBN 0073523402 Div takozhAlgoritm Brona Kerbosha dlya znahodzhennya maksimalnih po vklyuchennyu nezalezhnih mnozhin vershin PosilannyaWeisstein Eric W Maximal Independent Vertex Set angl na sajti Wolfram MathWorld Challenging Benchmarks for Maximum Clique Maximum Independent Set Minimum Vertex Cover and Vertex Coloring 29 travnya 2013 u Wayback Machine Polikarpova N Gerasimenko A Slajdi lekciyi po dinamichnomu programuvanni 19 kvitnya 2009 u Wayback Machine