Question

J'ai 2 façons de résoudre un problème défini indépendant de taille fixe $ K $ pour graphique $ g= (v,E) $ :
- Algorithme de couverture de sommet fonctionnant dans $ o ^ * (1,47 ^ {v - k}) $ (algorithme récursif optimisé)
- Algorithme de clique en cours d'exécution dans $ o ({v \ choisir k}) $ (Simples sous-ensembles énuméraires de $ V $ et vérifier l'algorithme)

Comment puis-je déterminer lequel a une complexité de temps inférieure?Je ne connais pas très bien les algorithmes pour les problèmes NP-Complets et $ o ^ * $ Notation.Tracerait ces fonctions suffisent?Je pense que cet algorithme VC peut avoir n'importe quel polynôme $ n ^ {o (1)} $ comme multiplication en raison de la $O ^ * $ notation et cela pourrait affecter les temps d'exécution, mais je ne suis pas sûr.

Était-ce utile?

La solution

pour tout $ K $ , $ o (\ binom {v} {k})= O (v^ k) $ est polynomial, tandis que $ o ^ * (1,47 ^ {vk})= o ^ * (1.47 ^ v) $ est exponentiel.Les exponentielles se développent beaucoup plus rapidement que les polynômes.

La traçage des courbes n'est pas si utile, car ce sont des déclarations asymptotiques.

Cela dit, si vous êtes intéressé par particulier $ v $ et $ k$ , alors votre meilleure option consiste à vérifier de manière empirique laquelle de ces algorithmes est plus rapide.La notation asymptotique n'est pas utile ici, car elle cache des facteurs constants, ce qui pourrait faire une grande différence pour les valeurs concrètes de $ v $ et $ K $ .

Autres conseils

La couverture VERTEX est une tractable paramètre fixe. Il y a une simple classe 2 ^ k n $ algorithme pour trouver un vc de taille $ k $ . Cela devrait battre l'algorithme naïf. L'état actuel de l'art est quelque chose comme 1,24 $ ^ k n $ .

Sous certaines hypothèses, aucun algorithme pour K Clique avec temps d'exécution $ F (k) N ^ C $ .

.

Si votre graphique a une structure spéciale, les résultats peuvent être améliorés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top