Loading AI tools
З Вікіпедії, вільної енциклопедії
Вершинне покриття графа — це множина вершин така, що кожне ребро графа інцидентне хоча б одній вершині цієї множини. Задача знаходження найменшого вершинного покриття є класичною задачею оптимізації в інформатиці і типовим прикладом NP-складної задачі оптимізації, для якої відомий апроксимаційний алгоритм. Її версія у вигляді проблеми вибору, задача вершинного покриття, була однією з 21 NP-повної задачі Карпа і, отже, класичною NP-повною задачею в теорії складності обчислень.
Задачу найменшого вершинного покриття можна сформулювати як напівцілочисельну задачу лінійного програмування чия дуальна лінійна програма є задача найбільшого парування.
Формально, вершинне покриття неорієнтованого графа це підмножина V′ множини вершин V така, що для кожного ребра (u, v) графа G або u у V′, або v у V′, або обидві вершини. Кажуть, що множина V′ «покриває» ребра G. Наступні зображення показують приклади вершинних покриттів в двох графах (і множина V′ позначена червоним).
Найменше вершинне покриття це покриття з найменшого можливого розміру. Число вершинного покриття це розмір найменшого такого покриття. Наступні зображення показують приклади найменших вершинних покриттів у наведених вище графах.
Задача найменшого вершинного покриття це задача оптимізації щодо знаходження найменшого вершинного покриття певного графа.
Якщо задача сформульована як проблема вибору, її називають задача вершинного покриття:
Задача вершинного покриття — це NP-повна задача: вона була серед задач Карпа. В теорії складності обчислень часто використовується як відправна точка для доведення NP-складності.
Припустимо, що кожна вершина має пов'язану вартість Задачу найменшого зваженого вершинного покриття можна сформулювати як таку цілочисельну програму (ЦЛП).[1]
мінімізувати | (мінімізувати підсумкову вартість) | |||
за умов | для всіх | (покрити кожне ребро графа) | ||
для всіх . | (кожна вершина або належить до вершинного покриття, або ні) |
ЦЛП належить до загальнішого класу ЦЛП задач покриття.
Незважаючи на те, що ми не знаємо як знайти оптимальне/найменше вершинне покриття у графі за поліноміальний час, ми можемо ефективно знайти вершинне покриття, яке буде близьким до оптимального. Наведемо алгоритм, який повертає вершинне покриття гарантовано не більше ніж вдвічі більше за розміром порівняно з оптимальним покриттям.
НАБЛИЖЕНЕ-ВЕРШИННЕ-ПОКРИТТЯ
|
За умов використання списків суміжності час виконання цього алгоритму
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.