En informatique théorique, le problème de couverture par ensembles (Set Cover problem en anglais) est un problème d'algorithmique particulièrement important car c'est l'un des 21 problèmes NP-complets de Karp .
Étant donné un ensemble A, on dit qu'un élément e est couvert par A si e appartient à A. Étant donné un ensemble U et une famille S de sous-ensembles de U, le problème consiste à couvrir tous les éléments U avec une sous-famille de S la plus petite possible.
Une version plus générale consiste à assigner des poids aux éléments de S, et à chercher la sous-famille de poids minimal.
On considère un ensemble de cinq éléments à couvrir : . On considère les sous-ensembles : et . On essaye de couvrir tous les éléments avec des sous-ensembles. Par exemple est une couverture, puisque chaque élément est dans au moins un des sous-ensembles. La couverture qui utilise le moins de sous-ensembles est , c'est donc cette couverture que l'on cherche à calculer.
Le problème de décision est le suivant :
Entrée : un entier , un ensemble fini et un sous-ensemble de l'ensemble des parties de
Question : existe-il un sous-ensemble de , de taille inférieure à , tel que l'union des éléments présents dans les sous-ensembles de est égal à ?
Le problème d'optimisation associé consiste à minimiser le nombre de sous-ensembles utilisés.
Dans une forme plus générale du problème, à chaque ensemble on associe un poids , et le but est de minimiser la somme des poids de la couverture.
Le problème de couverture par ensembles est NP-difficile (et NP-complet dans sa forme décisionnelle). Une des preuves classiques est une réduction du problème de couverture par sommets.
Il est fructueux d'exprimer ce problème comme un problème d'optimisation linéaire en nombres entiers.
En prenant une variable pour chaque sous-ensemble, le programme linéaire naturel est le suivant :
Si l'on associe un poids à chaque ensemble, le problème devient :
Le problème de couverture de sommets est un cas particulier de ce problème, sur un graphe.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
En informatique théorique et en recherche opérationnelle, la relaxation continue est une méthode qui consiste à interpréter de façon continue un problème combinatoire ou discret. Cette méthode est utilisée afin d'obtenir des informations sur le problème discret initial et parfois même pour obtenir sa solution. Les problèmes discrets ou combinatoires sont en effet très difficiles à traiter en raison de l'explosion combinatoire et il est courant de les traiter par une méthode de séparation et évaluation (branch and bound en anglais) : la relaxation continue fait partie des algorithmes d'évaluation nécessaire à la mise en œuvre de cette méthode.
In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph. In computer science, the problem of finding a minimum vertex cover is a classical optimization problem. It is NP-hard, so it cannot be solved by a polynomial-time algorithm if P ≠ NP. Moreover, it is hard to approximate – it cannot be approximated up to a factor smaller than 2 if the unique games conjecture is true. On the other hand, it has several simple 2-factor approximations.
L’optimisation combinatoire, (sous-ensemble à nombre de solutions finies de l'optimisation discrète), est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. Dans sa forme la plus générale, un problème d'optimisation combinatoire (sous-ensemble à nombre de solutions finies de l'optimisation discrète) consiste à trouver dans un ensemble discret un parmi les meilleurs sous-ensembles (ou solutions) réalisables, la notion de meilleure solution étant définie par une fonction objectif.
This course covers numerous powerful algorithmic techniques (greedy, local search, linear programming, multiplicative weight update, ...). The concepts are studied in clean and simple settings so as t
A first graduate course in algorithms, this course assumes minimal background, but moves rapidly. The objective is to learn the main techniques of algorithm analysis and design, while building a reper
The first part is devoted to Monge and Kantorovitch problems, discussing the existence and the properties of the optimal plan. The second part introduces the Wasserstein distance on measures and devel
Couvre le concept de couverture pour les programmes linéaires et la méthode simplex, en se concentrant sur la réduction des coûts et la recherche de solutions optimales.
This report serves as a general overview of the semester project conducted in the SYCAMORE lab during the Spring 2022 semester. It focuses on multi- agent optimal task assignment methods, which have been implemented on state of the art simulation methods u ...
2022
, ,
Pearl's do calculus is a complete axiomatic approach to learn the identifiable causal effects from observational data. When such an effect is not identifiable, it is necessary to perform a collection of often costly interventions in the system to learn the ...
PMLR2022
,
Knapsack and Subset Sum are fundamental NP-hard problems in combinatorial optimization. Recently there has been a growing interest in understanding the best possible pseudopolynomial running times for these problems with respect to various parameters. In t ...
Schloss Dagstuhl -- Leibniz-Zentrum für Informatik2021