Décider si la modification d'une entrée diminue le permanent d'une matrice dans la hiérarchie polynomiale?


11

Considérons le problème suivant: étant donné une matrice , les indices i, j \ in \ {1, \ dots, n \ } et un entier a . Remplacer M [i, j] par une et appeler nouvelle matrice \ M chapeau . Est-ce que par (M)> par (\ chapeau M) ? i , j { 1 , ... , n } a M [ i , j ] une M p e r ( M ) > p e r ( M )M{m,,0,,m}n×ni,j{1,,n}aM[i,j]aM^per(M)>per(M^)

Ce problème est-il dans la hiérarchie polynomiale?


4
Il peut être résolu par deux appels à un oracle #P ... S'il était en PH, cela impliquerait que PP est également en PH ... Cependant, si PP est en PH, alors PH s'effondre. Je pense donc qu'il est peu probable que ce soit en PH.
Tayfun Pay du

1
@TayfunPay Je ne pense pas que cet argument soit correct. Le problème peut être résolu avec 2 appels à #P, mais il ne peut pas être écarté si facilement qu'il existe un algorithme plus simple qui pourrait montrer qu'il est en PH. Il faudrait montrer que c'est difficile pour #P pour cela, par exemple en y réduisant Permanent.
Jan Johannsen

8
Si vous branchez la définition du permanent et simplifiez l'inégalité qui en résulte, votre problème se résume à la question de savoir si le permanent d'une matrice donnée (n-1) -par- (n-1) est strictement positif.
Gamow

2
@Gamow, et inversement, c'est-à-dire décider si peut être réduit à ce problème. Étant donné une matrice , construisez en ajoutant une ligne en haut et une colonne à gauche avec un 1 dans le coin supérieur gauche et 0 sinon. Soit maintenant la matrice où l'entrée en haut à gauche a été remplacée par . Puis par multilinéarité et développement de la première colonne. Ainsi si le problème de Turbo sur , et renvoie vrai. PER(M)>0MMMM1PER(M)=PER(M)=PER(M)PER(M)>0M(i,j)=(0,0)a=1
holf

@holf: Je pense que vous devriez poster ceci comme réponse. Il répond assez définitivement à la question, puis la question n'apparaîtra plus comme "sans réponse".
Joshua Grochow

Réponses:


10

Votre problème équivaut à tester, étant donné , que .MPER(M)>0

Preuve : Supposons que l'on vous donne et que vous souhaitez décider si . Nous construisons comme suit: C'est facile à voir que . Maintenant, définissez comme étant où nous remplaçons l' entrée de par . Par multilinéarité, il s'ensuit que . Ainsi si et seulement siMPER(M)>0M

[1000M0]
PER(M)=PER(M)M^M(0,0)M1PER(M)=PER(M)=PER(M^)PER(M)>0PER(M)>PER(M^)

Supposons maintenant qu'on vous donne , et et définissons comme dans votre question, c'est-à-dire en changeant en . Nous avons M(i,j)aM M [ i , j ] un P E R ( M ) > P E R ( M )  ssi Σ σ n Π k = 1 M [ k , σ ( k ) ] >M^M[i,j]a

PER(M)>PER(M^) iffσk=1nM[k,σ(k)]>σk=1nM^[k,σ(k)] iffσ,σ(i)=jM[i,j]kinM[k,σ(k)]>σ,σ(i)=jakinM[k,σ(k)] iff(M[i,j]a)σ,σ(i)=jkinM[k,σ(k)]>0 iff(M[i,j]a)PER(M)>0

où est la matrice obtenue à partir de en supprimant la ligne et la colonne . M(n1)×(n1)Mij


Bonne réponse, mais cela vaut probablement la peine de mentionner explicitement la réponse à la question du PO.
Stella Biderman
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.