Czy podejmowanie decyzji, czy zmiana jednego wpisu zmniejsza stałą macierzy w hierarchii wielomianowej?
11
Rozważmy następujący problem: biorąc pod uwagę macierz M∈{−m,…,0,…,m}n×n , indeksy i,j∈{1,…,n} i liczbę całkowitą a . Wymienić M[i,j] przez i wywołać nowa macierz M . Czy p e r ( M ) > paM^per(M)>per(M^) ?
Czy ten problem występuje w hierarchii wielomianowej?
Można to rozwiązać za pomocą dwóch wywołań wyroczni #P ... Gdyby było w PH, to sugerowałoby, że PP jest również w PH ... Jednakże, jeśli PP jest w PH, wówczas PH załamuje się. Myślę więc, że jest mało prawdopodobne, że jest w PH.
Tayfun Zapłać
1
@TayfunPay Nie sądzę, aby ten argument był poprawny. Problem można rozwiązać za pomocą 2 wywołań na #P, ale nie można go tak łatwo wykluczyć, że istnieje prostszy algorytm, który może pokazać, że jest w PH. Musiałbyś pokazać, że jest to trudne dla #P, np. Przez zredukowanie do niego wartości Permanentnej.
Jan Johannsen
8
Jeśli włączysz definicję stałej i uprościsz wynikającą z niej nierówność, twój problem sprowadza się do pytania, czy stała dla danej macierzy (n-1) -by- (n-1) jest ściśle dodatnia.
Gamow
2
PER(M)>0MM′M′′ - 1 P E R ( M ″ ) = - P E R ( M ′ ) = - P E R ( M ) P E R ( M ) > 0 M ′ ( i , j ) = ( 0 , 0 ) a = - 1M′−1PER(M′′)=−PER(M′)=−PER(M)PER(M)>0M′(i,j)=(0,0)a=−1zwraca true.
holf
@holf: Myślę, że powinieneś opublikować to jako odpowiedź. Dość definitywnie odpowiada na pytanie, a wtedy pytanie nie będzie już wyświetlane jako „bez odpowiedzi”.
Joshua Grochow
Odpowiedzi:
10
Twój problem jest równoważny testowaniu, biorąc pod uwagę , czy .MPER(M)>0
Dowód : Załóżmy, że otrzymałeś i chcesz zdecydować, czy . Konstruujemy w następujący sposób:
To jest łatwo zauważyć, że . Teraz zdefiniuj na gdzie zamieniamy wpis na na . Z multiliniowości wynika, że . Zatem wtedy i tylko wtedy, gdyMPER(M)>0M′
Załóżmy teraz, że otrzymałeś , i i zdefiniuj jak w swoim pytaniu, to znaczy zmieniając na . Mamy
M(i,j)M K [ i , j ] P E R ( M ) > P E R ( M ) iff Ď σ n Π k = 1 M [ k , σ ( k ) ] >aM^M[i,j]a
Odpowiedzi:
Twój problem jest równoważny testowaniu, biorąc pod uwagę , czy .M PER(M)>0
Dowód : Załóżmy, że otrzymałeś i chcesz zdecydować, czy . Konstruujemy w następujący sposób: To jest łatwo zauważyć, że . Teraz zdefiniuj na gdzie zamieniamy wpis na na . Z multiliniowości wynika, że . Zatem wtedy i tylko wtedy, gdyM 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′^)
Załóżmy teraz, że otrzymałeś , i i zdefiniuj jak w swoim pytaniu, to znaczy zmieniając na . MamyM (i,j) M K [ i , j ] P E R ( M ) > P E R ( M ) iff Ď σ n Π k = 1 M [ k , σ ( k ) ] >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
gdzie jest macierzą uzyskaną z poprzez usunięcie linii i kolumny .M′ (n−1)×(n−1) M i j □
źródło