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^)
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)>0MM′M′′M′−1PER(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′
Respostas:
Seu problema é equivalente ao teste, dado , seja .M PER(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 seM PER(M)>0 M′ ⎡⎣⎢⎢⎢10…00…M0⎤⎦⎥⎥⎥ PER(M)=PER(M′) M′^ M′ (0,0) M′ −1 PER(M)=PER(M′)=−PER(M′^) PER(M)>0 PER(M′)>PER(M′^)
Agora vamos supor que você está dado , e e definir como na sua pergunta, ou seja, alterando para . Nós temosM (i,j) a M^ M[i,j] a PER(M)>∑σ∏k=1nM[k,σ(k)]>∑σ,σ(i)=jM[i,j]∏k≠inM[k,σ(k)]>(M[i,j]−a)⋅∑σ,σ(i)=j∏k≠inM[k,σ(k)]>(M[i,j]−a)⋅PER(M′)>0PER(M^) iff∑σ∏k=1nM^[k,σ(k)] iff∑σ,σ(i)=ja∏k≠inM[k,σ(k)] iff0 iff
onde é a matriz obtida de removendo a linha e a coluna .M′ (n−1)×(n−1) M i j □
fonte