Existe-t-il un algorithme de temps polynomial pour déterminer si la plage d'un ensemble de matrices contient une matrice de permutation?

30

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.nn×n


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.

Entaille
la source
2
Quel type d'entrées les matrices d'entrée auraient-elles?
Les entrées peuvent être dans n'importe quel champ, il y a une certaine liberté dans la configuration des matrices; cependant, vous voulez un champ suffisamment grand (donc un champ de caractéristique 2 ne serait pas bon par exemple).
Nick
Peut expliquer quelle est la durée d'un ensemble de matrices?
Mohammad Al-Turkistany
Mohammad: Je pense que c'est une combinaison linéaire d'un ensemble de matrices.
Vivek Bagaria
4
@DavidRicherby Je pense que la confusion de Mohammad vient du fait que nous pensons généralement aux matrices comme représentant des cartes linéaires, et la portée de la carte linéaire est parfois utilisée comme un autre terme pour sa plage. Mais cela n'a pas de sens ici, donc je suppose que nous devons considérer les matrices comme des éléments d'un espace vectoriel
Sasho Nikolov

Réponses:

5

Théorème. Le problème dans le message est NP-difficile, par réduction de Subset-Sum.

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

  • Existe-t-il une matrice de permutation dans l'intervalle d'un ensemble donné de matrices?

C'est essentiellement le même que

  • Existe-t-il une matrice de permutation qui (en considérant la matrice comme un vecteur) satisfait certaines contraintes linéaires données?

Ceci est à son tour le même que

  • Existe-t-il une correspondance parfaite (dans un graphique bipartite complet) dont le vecteur d'incidence satisfait certaines contraintes linéaires données?

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:

Correspondance-somme:

entrée: Complete, bipartite graphe avec des poids de bord de nombre entier non-négatif, et la cible de nombre entier non négatif .G=(U,V,E)T

Sortie: Est-ce que contient une correspondance parfaite de poids exactement ?GT


Lemme 1 . Le poly-temps de sous-somme se réduit à la somme de correspondance.

Le prouver est un exercice de devoirs standard. La preuve est à la fin.

Lemme 2. Le poly-temps de somme de correspondance se réduit au problème dans le message.

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×VN+TN+U={u1,,un}V={v1,,vn}i,j{1,2,,n}M(ij)R(n+1)×(n+1)Mij(ij)=TMn+1,n+1(ij)=w(ui,vj)

{M(ij):i,j{1,,n}}.
Ceci définit la réduction.

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éaireMR(n+1)×(n+1)Mh,n+1=Mn+1,h=0hn

i=1nj=1nMijw(ui,vj)=TMn+1,n+1.

( 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)MR(n+1)×(n+1)MM=i=1nj=1nαijM(ij)αij=Mij/Mij(ij)=Mij/T

Mn+1,n+1=ijαijw(ui,vj)=ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.

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.GT

( 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 permutationGTMM{0,1}(n+1)×(n+1)n×nMn+1,n+1=1Mh,n+1=Mn+1,h=0hni=1nj=1nMijw(ui,vj)MTMn+1,n+1=1M.

( 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) estMn+1n+1Mn+1,n+1MMn+1,n+1=1n×nMGn×nMi=1nj=1nMijw(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)N+n×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 ).TS={i:(ui,vi)M,in}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}iSwi=T{(ui,vi):iS}TT

{(ui+n,vi+n):iS}i{1,,n}S{(ui,vi+n),(ui+n,vi)}.

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.

Neal Young
la source
2
Il semble que vous preniez la coque convexe des matrices plutôt que la travée. L'étendue des matrices que vous avez décrites est l'espace complet des matrices. Ou est-ce que je manque quelque chose?
Vanessa
@Squark, vous avez raison - j'ai mal interprété "span". Merci. J'ai corrigé la preuve pour utiliser la définition correcte de span (comme toute combinaison linéaire des matrices.)
Neal Young
Agréable! Je pense qu'il vaudrait mieux multiplier la définition de par , afin que nous n'ayons pas à diviser par quelque chose qui pourrait être 0? De plus, il semble que la preuve puisse être quelque peu simplifiée en combinant les deux réductions sans problème intermédiaire. M(ij)w(ui,vj)
Vanessa
Bon point sur la division par zéro. Je vais arranger ça. Je vais cependant laisser les deux réductions séparées, pour moi, c'est plus intuitif de cette façon.
Neal Young
3

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:PPPM

i,j:iMij=jMij=c

i,j:1Mij1

1c1

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:bAxb}Am×n

α2=maxi=1nvi22

sujet à:

1im:j=1nAijvj22bi2

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 .vinPα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)i=1nαxPαO(logm)nggix~i=gTvi

E x~22=α2
im:E |(Ax~)i|2bi2    E maxi=1m|(Ax~)i|biClogm.
où la dernière borne vaut pour un suffisamment grand (c'est un fait standard sur le maximum de variables aléatoires sous-guassiennes, et cela peut être prouvé en utilisant la borne de Chernoff).Cm

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 .xxPx221Clogmα12Clogmx~Px~212α

Sasho Nikolov
la source