Примером параметризованной сложности является ядро для задачи покрытия вершин с использованием теоремы Немхаузера и Троттера.
В задаче о минимальном покрытии вершин нам дан неориентированный граф G, и нам нужно найти покрытие вершин G минимального размера. Покрытие вершин неориентированного графа - это подмножество вершин, которое касается всех ребер.
Вот точный алгоритм, который использует приближение на первом этапе.
Этап 1. Настройка целочисленного линейного программирования для задачи о минимальном покрытии вершин . Известно (или легко показать), что базовое оптимальное решение релаксации линейного программирования является полуцелым (т. Е. Каждая координата равна 0, 1 или 1/2). Такое базовое оптимальное решение может быть найдено с помощью обычного алгоритма полиномиального времени для линейного программирования (или в этом особом случае мы можем сформулировать его как задачу сетевого потока, чтобы мы могли решить его комбинаторно за полиномиальное время). Имея такое базовое оптимальное решение, мы округляем его, чтобы получить реальное решение исходной задачи целочисленного линейного программирования. Пусть S будет соответствующим подмножеством вершин. Хорошо отметить, что S является 2-аппроксимацией данного минимального экземпляра покрытия вершины.
Фаза 2: Найти минимальное покрытие вершин в подграфе, индуцированном S (например, путем исчерпывающего поиска). Теорема Немхаузера и Троттера утверждает, что этот подграф содержит оптимальное решение исходного входного графа. Итак, правильность такого подхода заключается в следующем.
Вы можете обратиться к книге Niedermeier об алгоритмах с фиксированными параметрами для этого алгоритма.