Adloun

informatique (MP2I/MPI) · Chapitre 25 · Exercice de TD

Décision, optimisation, instance

Algorithmes probabilistes, approximation, séparation et évaluation · niveau 2

Énoncé

Pour chacun des trois problèmes suivants, énoncer la version décision et la version optimisation, dire quelle est la fonction de coût, et donner une instance.

  • La couverture des sommets d'un graphe.
  • Le sac à dos.
  • Le couplage dans un graphe biparti.

Corrigé

ProblèmeDécisionOptimisation
Couverture« Existe-t-il une couverture de taille ? »« Quelle est la plus petite couverture ? »
[2pt] Sac à dos« Peut-on atteindre une valeur sans dépasser la capacité ? »« Quelle est la valeur maximale ? »
[2pt] Couplage« Existe-t-il un couplage de cardinal ? »« Quel est le cardinal maximum ? »

Les fonctions de coût : le nombre de sommets pris (à minimiser) ; la valeur totale des objets (à maximiser) ; le cardinal du couplage (à maximiser).

Les instances — une instance est une donnée, pas un problème : le triangle avec ; les objets de poids et de valeurs avec ; le graphe biparti avec .

Pourquoi la distinction compte. Les deux versions ont exactement la même difficulté à un facteur logarithmique près : si l'on sait décider, on trouve l'optimum par dichotomie sur , en appels. La théorie de la complexité — chapitre chap:decidabilite — se formule sur les problèmes de décision, parce qu'une réponse par oui ou non se compare plus commodément ; mais c'est l'optimisation qui intéresse le praticien.

Et c'est la version optimisation qui donne un sens à l'approximation : « rendre une couverture au plus deux fois trop grande » a un sens, « répondre oui deux fois trop » n'en a aucun. Une approximation n'existe que pour un problème d'optimisation.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre