Je voudrais trouver un algorithme de temps polynomial qui détermine si la durée d'un ensemble donné de matrices contient une matrice de permutation.
Si quelqu'un sait si ce problème est d'une classe de complexité différente, ce serait tout aussi utile.
EDIT: J'ai étiqueté cette question avec la programmation linéaire, car j'ai une forte suspicion que si une telle solution existait, ce serait une sorte d'algorithme de programmation linéaire. La raison pour laquelle je crois que c'est parce que les points extrêmes du polytope de Birkhoff sont précisément les matrices de permutation. Si vous pouviez alors trouver une fonction objective qui soit soit maximisée soit minimisée uniquement sur les sommets du polytope de Birkhoff, vous pourriez contraindre votre fonction à l'intersection du polytope et de votre sous-espace vectoriel, puis la maximiser en temps polynomial. Si cette valeur était une matrice de permutation, vous sauriez que l'ensemble contenait une permutation. Telles sont mes réflexions sur le sujet.
EDIT 2: Après un peu de réflexion, il me semble que les matrices de permutation sont précisément les éléments du polytope de Birkhoff avec la norme euclidienne , nous considérons le polytope de Birkhoff comme la coque convexe des matrices de permutation. Cela pourrait peut-être aussi être important.
EDIT 3: J'ai ajouté la balise de programmation semi-définie, car après mon commentaire précédent, je commence à penser qu'une solution de programmation semi-définie peut être possible car il s'agit désormais d'un algorithme d'optimisation quadratique à contrainte linéaire.
la source
Réponses:
Bien sûr, il s'ensuit que le problème est peu susceptible d'avoir un algorithme poly-temps comme demandé par op.
Voici l'intuition. Le problème dans le poste est
C'est essentiellement le même que
Ceci est à son tour le même que
Réduire le sous-ensemble-somme à ce dernier problème est un exercice standard.
Voici la preuve détaillée.
Définissez le problème intermédiaire suivant:
Le prouver est un exercice de devoirs standard. La preuve est à la fin.
Preuve du lemme 2. Fixer une entrée de somme de correspondance: un graphe bipartite complet avec des poids de bord entiers non négatifs , et cible , où et . Pour chaque , définissez comme étant la matrice dans où , et , et toutes les autres entrées sont nulles . La réduction génère l'ensemble de matrices suivant:G=(U,V,E) w:U×V→N+ T∈N+ U={u1,…,un} V={v1,…,vn} i,j∈{1,2,…,n} M(ij) R(n+1)×(n+1) M(ij)ij=T M(ij)n+1,n+1=w(ui,vj)
Prétendre. L'étendue de cet ensemble de matrices est constituée des matrices satisfaisant aux contraintes linéaires pour tout et la contrainte linéaireM∈R(n+1)×(n+1) Mh,n+1=Mn+1,h=0 h≤n
( Preuve de revendication. En inspectant chaque matrice de l'ensemble satisfait ces contraintes, donc chaque combinaison linéaire de ces matrices le fait. Inversement, si satisfait les contraintes, alors est égal à la combinaison linéaire des matrices, où Notons en particulier que, par les différentes définitions et les contraintes linéaires, Cela prouve la revendication.)M(ij) M∈R(n+1)×(n+1) M M′=∑ni=1∑nj=1αijM(ij) αij=Mij/M(ij)ij=Mij/T
Nous montrons maintenant que la réduction est correcte. C'est-à-dire que le graphe donné a une pondération correspondant si et seulement si l'ensemble de matrices s'étend sur une matrice de permutation.G T
( Seulement si. ) Supposons d'abord que le graphe donné ait une pondération parfaite . Soit la matrice de permutation correspondante , avec une ligne et une colonne supplémentaires ajoutées de telle sorte que et pour tout . Alors est le poids de , c'est-à-dire et , donc les contraintes linéaires dans la revendication se maintiennent, et la plage de l'ensemble donné de matrices contient la matrice de permutationG T M′ M∈{0,1}(n+1)×(n+1) n×n Mn+1,n+1=1 Mh,n+1=Mn+1,h=0 h≤n ∑ni=1∑nj=1Mijw(ui,vj) M′ T Mn+1,n+1=1 M .
( Si. ) Inversement, supposons que la durée contient toute matrice de permutation . Selon la revendication, la seule entrée non nulle dans la ligne ou la colonne est , donc (comme est une matrice de permutation), il doit être que . Ainsi, la suppression de la dernière ligne et colonne donne une matrice de permutation . Soit l'appariement parfait de correspondant à cette matrice de permutation . Le poids de est , qui (selon la revendication) estM n+1 n+1 Mn+1,n+1 M Mn+1,n+1=1 n×n M′ G n×n M′ ∑ni=1∑nj=1Mijw(ui,vj) TMn+1,n+1=T . Donc, le graphe donné a une correspondance poids- , prouvant le lemme 2.T □
Voici la preuve retardée du lemme 1:
Preuve du lemme 1. Étant donné l'instance de sous-somme , la réduction génère l'instance de somme de correspondance où , , pour chaque , le bord a le poids et tous les bords restants ont le poids zéro.(w,T)∈Nn+×N+ (G=(U,V,E),T) U={u1,u2,…,u2n} V={v1,v2,…,v2n} i∈{1,…,n} (ui,vi) wi
Pour toute correspondance parfaite avec des poids de bord sommant à , l'ensemble est une solution à l'instance de sous-ensemble donnée (car ce sont les seuls bords de poids non nuls en ).T S={i:(ui,vi)∈M,i≤n} M
Inversement, étant donné toute solution à l'instance de sous-ensemble-somme, disons avec , l'ensemble des arêtes est une correspondance partielle avec le poids , et il s'étend facilement à une correspondance parfaite de poids- en ajoutant, par exemple, l'ensemble suivant d'arêtes (de poids nul):S⊆{1,…,n} ∑i∈Swi=T {(ui,vi):i∈S} T T
Cela prouve le lemme 1. Le théorème découle des lemmes 1 et 2. □
ps En passant, selon cette réponse , la restriction de Matching-Sum aux instances avec des poids de bord polynomialement bornés est en P. Mais je suis sûr que la restriction du problème dans le post aux matrices avec polynomialement borné (entier ) entrées NP reste difficile.
la source
En ce qui concerne le problème du calcul du diamètre d'un polytope présenté comme l'intersection de demi-espaces, le problème est NP-dur en général, et aussi NP-difficile à approximer à l'intérieur de tout facteur constant, voir l'article de Brieden et ses références. Je pense que pour les polytopes à symétrie centrale, un SDP donne une approximation où est le nombre d'inégalités définissant le polytope. J'esquisse ceci sous la ligne.O(logm−−−−−√) m
Dans votre cas, le polytope Birkhoff n'est pas symétrique au centre, mais travailler avec la coque convexe de et suffit pour vos besoins. Je pense que ce polytope "Birkhoff symétrique" peut être représenté comme l'ensemble de toutes les matrices carrées qui satisfont:P P −P M
S'il s'agit d'une représentation correcte (pas sûr), vous pouvez simplement ajouter les contraintes qui restreignent ce polytope à votre sous-espace donné. Il n'est pas difficile d'adapter le SDP en dessous de la ligne à cette représentation, mais j'ai choisi de ne pas le parcourir afin de garder une notation gérable.
Je ne sais pas quel diamètre approximatif fait pour votre problème: il vous permet probablement de décider si le sous-espace donné est proche d'une matrice de permutation ou loin de tous, mais je n'ai pas travaillé sur les calculs.
Permettez-moi de terminer avec un croquis de l'arrondissement SDP (qui est un tarif assez standard). Soit un polytope à symétrie centrale, où est . Définissez le programme vectoriel:P={x:−b≤Ax≤b} A m×n
sujet à:
Au-dessus de la plage sur des vecteurs à dimensions. Cela peut être écrit comme un SDP de manière classique et est une relaxation du diamètre de , ie est au moins le diamètre euclidienne de .vi n P α P
Je prétends maintenant que . Pour le montrer, je vais vous donner un algorithme qui, étant donné de valeur , produit de longueur au moins . L'algorithme n'est qu'une projection aléatoire: choisissez un vecteur dimensions aléatoires où chaque est un gaussien standard. Définissez . Par les propriétés standard des gaussiens:α≤O(logm−−−−−√)⋅diam(P) (vi)ni=1 α x∈P αO(logm√) n g gi x~i=gTvi
Les deux équations impliquent déjà qu'il existe un tel que et . Ou, en utilisant des limites de concentration, vous pouvez montrer qu'avec une probabilité constante et .x x∈P ∥x∥22≥1Clogm√α 12Clogm√x~∈P ∥x~∥2≥12α
la source