- il donne le même rapport d'approximation pour des problèmes tels que la couverture minimale des sommets et l'ensemble indépendant maximal qui sont connus pour être des réalisations différentes du même problème;
- il donne le même rapport pour les versions max et min du même problème. En même temps, nous savons que dans la théorie standard, les MIN TSP et MAX TSP ont des rapports très différents.
- Il mesure la distance non seulement à l'optimum mais aussi au pessimum . Donc, dans le cas de la théorie d'approximation standard de Vertex Cover, est la meilleure borne supérieure. Mais l'essentiel est le rapport maximum entre le pessimum et l'optimum. Ainsi, un tel algorithme est garanti pour produire la solution avec la pire valeur.
Mon argument pro est le suivant: dans l'analyse asymptotique, nous ne prenons pas en compte les constantes et les termes d'ordre bas (ici, je me souviens de la citation d'Avi Widgerson: "Nous réussissons parce que nous utilisons le bon niveau d'abstraction.") Et c'est le niveau d'abstraction pour comparer l'utilisation des ressources par l'algorithme. Mais lorsque nous étudions l'approximation, nous introduisons pour une raison quelconque la différence dans les endroits où nous pouvons l'éviter.
Ma question est
pourquoi la théorie d'approximation différentielle si mal étudiée. Ou les arguments impliqués ne sont-ils pas suffisamment solides?
ds.algorithms
approximation-algorithms
approximation-hardness
Oleksandr Bondarenko
la source
la source
Réponses:
Il existe deux interprétations de la revendication "l'algorithme trouve une approximation du problème "UNE α P :
Je pense que la définition classique du facteur d'approximation met l'accent sur la première interprétation. Nous classons les problèmes en fonction de leur facilité de résolution.
Le rapport d'approximation différentielle semble donner un peu plus de poids à la deuxième interprétation: nous ne voulons pas "récompenser" les algorithmes triviaux (par exemple, les algorithmes qui sortent juste un ensemble vide, ou l'ensemble de tous les nœuds).
Bien sûr, les deux sont des points de vue valides, mais ce sont des points de vue différents .
Nous pouvons également étudier la question d'un point de vue un peu plus pratique. Malheureusement, les couvertures de sommets en tant que telles n'ont pas beaucoup d'utilisations directes, mais pour les besoins de l'argument, considérons ces deux applications (quelque peu artificielles):
Couverture de sommet: les nœuds sont des ordinateurs et les bords sont des liens de communication; nous voulons surveiller toutes les liaisons de communication et donc au moins un point d'extrémité de chaque front doit exécuter un processus spécial.
Ensemble indépendant: les nœuds sont des ouvriers et les bords modélisent les conflits entre leurs activités; nous voulons trouver un ensemble d'activités sans conflit pouvant être effectuées simultanément.
Maintenant, les deux problèmes ont une solution triviale: l'ensemble de tous les nœuds est une couverture de sommets et l'ensemble vide est un ensemble indépendant.
La principale différence est qu'avec le problème de la couverture des sommets, la solution triviale fait le travail . Bien sûr, nous utilisons plus de ressources que nécessaire, mais au moins nous avons une solution que nous pouvons utiliser dans la pratique. Cependant, avec le problème d'ensemble indépendant, la solution triviale est complètement inutile . Nous ne faisons aucun progrès. Personne ne fait rien. La tâche n'est jamais terminée.
De même, nous pouvons comparer les solutions presque triviales: couverture sommet qui se compose des extrémités d'une correspondance maximale, et ensemble indépendant qui est le complément de . Encore une fois, certainement le travail dans notre application, et cette fois, nous ne gaspillons pas les ressources de plus du facteur deux. Cependant, pourrais être à nouveau un ensemble vide, ce qui est complètement inutile.C je C C je
La définition standard de la garantie d'approximation nous indique donc directement si la solution est utile ou non. Une approximation 2 de la couverture des sommets fait le travail. Un ensemble indépendant sans aucune garantie d'approximation pourrait être complètement inutile.
Dans un sens, le rapport d'approximation différentielle essaie de mesurer «à quel point la solution est non triviale», mais est-ce important dans l'une ou l'autre de ces applications? (Est-ce important dans n'importe quelle application?)
la source
Je ne connais pas la notion d'approximation différentielle et je n'ai aucune théorie pour expliquer pourquoi elle n'est pas bien étudiée. Cependant, je voudrais souligner qu'il n'est pas toujours souhaitable de décrire les performances d'un algorithme d'approximation par une seule mesure. En ce sens, je trouve difficile de convenir qu'une mesure est meilleure qu'une autre.
Par exemple, comme vous l'avez dit, la couverture minimale des sommets admet un algorithme d'approximation à temps polynomial alors qu'il est difficile de NP d'appréhender un ensemble indépendant maximum à n'importe quel rapport constant. Bien que je comprenne que cela peut être surprenant à première vue, il a une signification légitime: (1) la couverture minimale des sommets peut être bien approchée quand elle est petite mais (2) elle ne peut pas être bien approchée quand elle est grande. Lorsque nous déclarons qu'il est difficile de NP d'approximer la couverture minimale des sommets (et l'ensemble indépendant maximum) avec un rapport d'approximation différentielle constante positive, nous ignorons effectivement la propriété (1). Il est probablement suffisant pour certaines raisons d'ignorer la propriété (1), mais ce n'est certainement pas toujours le cas.
Notez que nous n'utilisons pas toujours le rapport d'approximation pour décrire les performances des algorithmes d'approximation. Par exemple, pour énoncer un résultat d'inapproximabilité basé sur le théorème PCP dans sa pleine généralité, nous avons besoin de la formulation basée sur des problèmes d'écart. Voir ma réponse à une autre question pour plus de détails. Dans ce cas, ni en utilisant le rapport d'approximation standard ni en utilisant le rapport d'approximation différentielle ne nous permet d'énoncer le résultat en général.
la source
Comme Tsuyoshi le fait remarquer, le problème pourrait être de savoir quel type d'argument vous souhaitez utiliser la borne obtenue. Dans ce qui suit, je vais essayer de développer deux motivations différentes.
Donc, selon le type de déclaration que la borne dérivée doit sauvegarder, vous devez choisir l'alternative appropriée.
la source