Вопрос

У меня есть 2 способа решения независимой заданной задачи фиксированного размера $ k $ для графика $ g= (v,E) $ :


- алгоритм крышки вершины, работающий в $ O ^ * (1.47 ^ {v - k}) $ (оптимизированный рекурсивный алгоритм) - алгоритм клики, работающий в $ o ({v \ phare k}) $ (простые перечисление подмножества $ v $ И алгоритм проверки)

Как я могу определить, какой из них имеет более низкую сложность времени?Я не очень знаком с алгоритмами для NP-полных проблем и $ O ^ * $ Обозначения.Положит бы эти функции достаточно?Я думаю, что алгоритм VC может иметь любой многочлен $ n ^ {o (1)} $ как умножение из-за $O ^ * $ Обозначение, и это может повлиять на время работы, но я не уверен.

Это было полезно?

Решение

Для любого фиксированного $ k $ , $ O (\ binom {v} {k})= o (v^ k) $ многочлен, тогда как $ ^ * (1.47 ^ {vk})= o ^ * (1.47 ^ v) $ экспоненциально.Экспоненты растут намного быстрее, чем полиномы.

Построение кривых не так полезно, поскольку это асимптотические утверждения.

Это сказано, что если вы заинтересованы в частности $ v $ и $ K$ , то ваш лучший вариант - это эмпирически проверять, какой из этих алгоритмов быстрее.Асимптотическое обозначение здесь не полезно, поскольку она скрывает постоянные факторы, и они могут вносить большую разницу для конкретных значений $ V $ и $ k $ .

Другие советы

Вершина крышка - это теплайный параметр. Существует простой алгоритм $ 2 ^ K n $ Algorithm, чтобы найти VC размера $ K $ . Это должно побить наивный алгоритм. Текущее состояние искусства - это что-то вроде $ 1,24 ^ k n $ .

При некоторых предположениях нет алгоритма для клики K с временем работы $ f (k) n ^ c $ .

Если у вашего графика есть особая структура, результаты могут быть улучшены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top