Está decidindo se alterar uma entrada diminui a permanente de uma matriz na hierarquia polinomial?


11

Considere o seguinte problema: dada uma matriz , índices e um número inteiro . Substituir por e chamar nova matriz . É ?M{m,,0,,m}n×ni,j{1,,n}aM[i,j]aM^per(M)>per(M^)

Esse problema está na hierarquia polinomial?


4
Ele pode ser resolvido com duas chamadas para um oráculo #P ... Se estivesse no PH, isso implicaria que o PP também estivesse no PH ... No entanto, se o PP estiver no PH, o PH entraria em colapso. Então eu acho improvável que esteja no PH.
Tayfun Pay

1
@TayfunPay Eu não acho que esse argumento esteja correto. O problema pode ser resolvido com 2 chamadas para #P, mas não pode ser descartado tão facilmente que existe um algoritmo mais simples que pode mostrar que ele está no PH. Você teria que mostrar que é difícil para o #P, por exemplo, reduzindo Permanente a ele.
Jan Johannsen 15/02

8
Se você inserir a definição de permanente e simplificar a desigualdade resultante, seu problema se resume à questão de saber se a permanente de uma dada matriz (n-1) -por- (n-1) é estritamente positiva.
Gamow

2
@ Gamow, e vice-versa, isto é, decidir se pode ser reduzido a esse problema. Dada uma matriz , construa adicionando uma linha no topo e uma coluna à esquerda com 1 no canto superior esquerdo e 0 no caso contrário. Agora seja a matriz onde a entrada superior esquerda foi substituída por . Então por multilinearidade e desenvolvendo a primeira coluna. Assim, se o problema de Turbo em , e retornar verdadeiro. PER(M)>0MMMM1PER(M)=PER(M)=PER(M)PER(M)>0M(i,j)=(0,0)a=1
holf 15/02

@olf: Acho que você deve postar isso como resposta. Ela responde definitivamente à pergunta e, em seguida, a pergunta não aparecerá mais como "sem resposta".
Joshua Grochow 30/09

Respostas:


10

Seu problema é equivalente ao teste, dado , seja .MPER(M)>0

Prova : Suponha que você receba e deseje decidir se . Construímos seguinte forma: É fácil ver que . Agora, defina como onde substituímos a entrada de por . Por multilinearidade, segue-se que . Assim, se e somente seMPER(M)>0M

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

Agora vamos supor que você está dado , e e definir como na sua pergunta, ou seja, alterando para . Nós temos M(i,j)aM^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

onde é a matriz obtida de removendo a linha e a coluna . M(n1)×(n1)Mij


Boa resposta, mas provavelmente vale a pena declarar explicitamente a resposta à pergunta do OP também.
Stella Biderman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.