Додатки Vertex Cover у реальному світі


22

Які програми має проблема Vertex Cover в реальному світі?

Які галузі або дослідницькі проекти використовують фактично впроваджене програмне забезпечення, засноване на теоретичних результатах для проблеми Vertex Cover? Зокрема, чи реалізовано будь-який із наведених нижче теоретичних результатів у використанні програмного забезпечення?

  • Алгоритми наближення для Vertex Cover
  • Експоненціальні часові алгоритми для вершинного покриття
  • Алгоритми відслідковування фіксованих параметрів для Vertex Cover
  • Алгоритми кернелізації для Vertex Cover

6
Одним із хороших прикладів є вікі про стан перегонів: en.wikipedia.org/wiki/Vertex_cover#Examples Також в якості мотивації люди наводять приклад моніторингу. У кожній вершині рішення ми тримаємо монітор. Я особисто вважаю, що гуглати цю відповідь - кращий варіант, ніж просити її тут.
сингсуміт

5
Чому ви вважаєте, що на вершинній обкладинці є додатки в реальному світі?
Юкка Суомела

3
Я думаю, що відповідь полягає в тому, що обкладинки вершин не мають значних застосувань. Але люди вивчають їх, тому що вершинні кришки - простий особливий випадок заданої кришки. Набір обкладинок має додатки. І ви не можете зрозуміти складність обчислювальної задачі обкладинки, якщо ви спочатку не зрозумієте прості (і не дуже прості) спеціальні випадки, такі як кришки вершин, крайові обкладинки, домінуючі набори тощо
Юкка Суомела

3
Як зазначалося на en.wikipedia.org/wiki/Vertex_cover#Properties, вершини не в найменшій вершинній кришці утворюють найбільший незалежний набір, тому це, по суті, одна і та ж проблема. Існує безліч застосувань реальної задачі в реальному світі, наприклад, тому що кожна проблема задоволення обмеження може бути безпосередньо зведена до неї.
Андраш Саламон

5
@ András: Це хороший момент, але відповідність стосується лише найменшої кришки вершини та найбільшого незалежного набору. З точки зору точних алгоритмів, це, по суті, одна і та ж проблема, але якщо нас цікавлять ефективні алгоритми, ми зазвичай задоволені деякими наближеннями. І тоді виявляється, що проблема покриття вершини має унікальні властивості, які не поділяються з незалежною заданою задачею. Мій улюблений приклад походить з розподілених обчислень: маленькі кришки вершин не потребують розбиття симетрії, великі незалежні множини цього вимагають.
Юкка Суомела

Відповіді:


13

Деякі проблеми в галузі обчислювальної біології здаються придатними для практичних застосувань, які не є штучними - або принаймні не такими штучними, як проблеми, згадані Юккою Суомелою.

Наприклад, люди часто згадують роботи Ф. Абу-Хзама, Р. Коллінза, М. Фелдс, М. Ленґстона, У. Сутерса С. Симона, алгоритми кернелізації для вершинної проблеми обкладинки: теорія та експерименти , матеріали 6-го. Практикум з алгоритмної інженерії та експериментів (ALENEX), ACM / SIAM, Proc. Прикладна математика 115, 2004.

Як зазначають автори, "Одне із застосувань, до яких ми застосували наші методи, включає пошук філогенетичних дерев на основі інформації про домен білка, ..." (розділ 8 вище статті).

Підмножина авторів має подібні статті на цю тему, див., Наприклад, Файсал Н. Абу-Хзам, Майкл А. Ленгстон, Пушкар Шангхаг та Крістофер Т. Симонс, Масштабовані паралельні алгоритми для проблем FPT , Алгоритміка, Том 45, Число 3 , 269-284.

Я не впевнений, чи були випадки, які використовувались в експериментах, випадки реального світу чи штучні, але я сподіваюся, що ці два посилання дають вам хороший вихідний пункт.


4
"принаймні не настільки штучні, як проблеми, про які згадував Юкка Суомела", - і я намагався бути обережним, щоб не згадувати тут жодних проблем!
Юкка Суомела

9

Прикладом може бути те, що краї графіки представляють дороги, а вершини - перехрестя. Завдання - розмістити камери безпеки на перехресті таким чином, щоб ви побачили все місто, але бажано використовувати якомога менше камер, щоб заощадити гроші.


21
Проблема подібних прикладів полягає в тому, що вони, як правило, є іграшковими прикладами. Вони можуть бути використані для ілюстрації цього визначення, але я не думаю, що можна знайти посилання на приклади реального світу, де люди фактично обирали місця камер безпеки, знаходячи мінімальну кришку вершини. Такі проблеми в реальному світі, як правило, мають додаткові обмеження, багато з яких навіть не чітко визначені, а рішення, як правило, жадібні та поступові (спочатку встановіть пару камер безпеки в найбільш критичних місцях, а потім поставте ще кілька коли ми отримаємо більше коштів).
Jukka Suomela

Я б трохи відштовхнувся проти заперечення Юкки. Цілком важливо віднести проблему до основної частини, яка є обчислювальною чи концептуальною. Незважаючи на всі додаткові обмеження в реальному світі, я думаю, що основна обчислювальна складність у виборі камер для покриття простору в реальному світі - це, по суті, проблема вершинного покриття. Звичайно, в цьому випадку алгоритм наближення ідеально; знайти найкращу вершину кришки не потрібно. І в цьому випадку графіки будуть досить простими, можливо, площинними, наприклад.
6005

8

Ви також можете подивитися на http://www.dharwadker.org/pirzada/applications/ . Мова йде про додатки теорії графіків. У ньому зазначено і деякі додатки для вершинного покриття, як, наприклад, в галузі біохімії та вирішення проблеми збирання SNP або проблеми безпеки комп'ютерної мережі.


1

Для мене дещо дивно, що мінімальна вершинна кришка є підпроблемою угорського алгоритму , а саме при визначенні мінімального набору горизонтальних чи вертикальних ліній, що охоплюють усі нулі, що були утворені відніманням мінімумів рядків та стовпців.

Це означає знаходження мінімальної вершинної кришки в двопартійному графіку, що, також дивно, може бути вирішено в поліноміальний час, добре описаний тут


0

Вершина кришка (скоріше, різні обчислення / наближення до неї) була головним алгоритмічним механізмом в нашій статті про класифікацію найближчих сусідів: http://ieeexplore.ieee.org/document/6867374/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.