Permanent

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Spis treści Permanentfunkcja przyporządkowująca każdej macierzy kwadratowej stopnia n o współczynnikach z pierścienia przemiennego R pewien element tego pierścienia. Podobnie jak wyznacznik permanent jest wielomianem stopnia n z n2 zmiennymi, w którym każdy składnik ma n czynników, z których każde dwa są z różnych kolumn i z różnych wierszy macierzy.

Permanent jest symetryczną formą wieloliniową na n wierszach/kolumnach, traktowanych jako wektory przestrzeni liniowej wymiaru n.

Definicja

Dla macierzy kwadratowej

A=[a1,1a1,nan,1an,n]

permanent perm(A) definiuje się jako

perm(A):=σ𝒮ni=1nai,σ(i).

gdzie suma przebiega wszystkie elementy σ grupy symetrycznej 𝒮n, tj. wszystkie permutacje zbioru liczb 1,2,,n.

Definicja permanentu macierzy A różni się więc od wzoru permutacyjnego dla wyznacznika macierzy A tym, że znak permutacji nie jest brany pod uwagę.

Oprócz oznaczenia perm(A) stosuje się też zapis per(A) w wariantach z wielkiej litery i w notacji beznawiasowej (jeśli nie prowadzi to do niejednoznaczności). Współcześnie właściwie nie spotyka się oznaczenia +A+.

Przykłady
perm(a)=a.
perm(abcd)=ad+bc.
perm(abcdefghi)=aei+bfg+cdh+afh+ceg+bdi.

Własności

Rozwinięcie względem wiersza/kolumny

Podobnie, jak dla wyznacznika macierzy, można do obliczania permanentu użyć wzoru analogicznego do rozwinięcie Laplace’a:

  • rozwinięcie według j-tej kolumny:
    perm(A)=i=1naijperm(Aij),
  • rozwinięcie według i-tego wiersza:
    perm(A)=j=1naijperm(Aij).
Przykład
perm(abcdefghi)=aperm(efhi)+bperm(dfgi)+cperm(degh).

Ogólniej można rozważać rozwinięcie względem grupy wierszy/kolumn, wykorzystując pojęcie macierzy blokowej.

Niech B i C będą macierzami o rozmiarach odpowiednio p×n i q×n przy czym p+q=n zaś macierz A=(BC) macierzą kwadratową n×n. (Analogicznie można by zdefiniować macierz A=(BC)).

Wtedy

perm(A)=S{1,2,,n}#S=pperm(BS)perm(C{1,2,,n}S),

gdzie suma jest tworzona ze wszystkich p-elementowych podzbiorów S zbioru {1,,n}, których jest (np). Symbol #S oznacza moc zbioru S. Zaś macierze BS oraz C{1,2,,n}S są to macierze powstałe przez pozostawienie odpowiednio p i q kolumn w macierzach B i C (a usunięcie pozostałych).

Przykład

Rozwinięcie permanentu macierzy stopnia 4 przedstawia się następująco:

perm(abcdefghijklmnop)
=perm(abef)perm(klop)+perm(aceg)perm(jlnp)
+perm(adeh)perm(jkno)+perm(bcfg)perm(ilmp)
+perm(bdfh)perm(ikmo)+perm(cdgh)perm(ijmn).

Liniowość permanentu

Podobnie jak wyznacznik permanent jest funkcją liniową względem swoich wierszy/kolumn, tj.:

  • permanent jest addytywny, czyli zamiana jakiegoś wiersza/kolumny na sumę jest równoznaczne z zamianą permanentu na sumę permanentów,
  • permanent jest jednorodny, czyli pomnożenie któregoś wiersza/kolumny przez skalar jest równoważne pomnożeniu przez tę liczbę permanentu.
Przykłady
perm(ab+bcde+efgh+hi)=perm(abcdefghi)+perm(abcdefghi).
αperm(abcdefghi)=perm(abcαdαeαfghi)=perm(abαcdeαfghαi).

Inne podobieństwa do wyznacznika

Permanent macierzy nie zmienia się przy transpozycji macierzy:

perm(A)=perm(AT).

Permanent macierzy trójkątnej, podobnie jak wyznacznik, jest równy iloczynowi elementów jej przekątnej:

perm(A)=i=1naii.

Różnice w porównaniu z wyznacznikiem

  • Permanent macierzy nie zmienia się przy zamianie kolumn lub wierszy, np.:
perm(abcdefghi)=perm(acbdfegih)=perm(ghidefabc).
Oznacza to symetryczność formy wieloliniowej określonej na wierszach/kolumnach, podczas gdy wyznacznik jest formą antysymetryczną.
  • Na ogół permanent iloczynu zależy od kolejności czynników, tj. perm(AB)perm(BA).
Jeśli A=(1231),B=(1213),
to permAB=perm(1843)=29,permBA=perm(7085)=35.
Stąd na ogół perm(AB)perm(A)perm(B),
Także na ogół perm(A2)(perm(A))2.
A2=(7007),permA=5,permA2=49.
  • Dodanie/odjęcie do któregoś z wierszy innego lub którejś z kolumn innej, nie zachowuje permanentu macierzy.
Niech A=(1111),perm(A)=2. Odejmując w macierzy A pierwszy wiersz od drugiego, dostaniemy macierz B=(1100) oraz perm(B)=0.
Stąd brak odpowiednika metody Gaussa stosowanej przy obliczaniu wyznacznika macierzy.

Złożoność obliczeniowa

Obliczenie permanentu wraz z rosnącym rozmiarem macierzy staje się zadaniem bardzo pracochłonnym. Podczas gdy problem obliczenia wyznacznika macierzy może zostać rozwiązany w czasie ograniczonym funkcją wielomianową, gdzie zmienną jest rozmiar macierzy, dla permanentu nieznany jest algorytm szybszy asymptotycznie niż o złożoności wykładniczej. Podstawową różnicę stanowi fakt, że dla wyznacznika macierzy istnieje efektywny i prosty schemat obliczeń tzw. eliminacja Gaussa. Tak np. można wykazać, że obliczenie permanentu macierzy 0-1 (tj. macierzy, w której występują jedynie liczby 0 i 1) jest problemem #P-zupełnym[1].

Dla macierzy o elementach nieujemnych można jednak policzyć permanent z dowolną dokładnością w czasie wielomianowo zależnym od rozmiaru wejścia. Algorytm ten oparty na metodach probabilistycznych pozwala na obliczenie permanentu z zadaną dokładnością εM, gdzie M to permanent a ε>0 dowolna liczba nieujemna[2].

Wzór Rysera jest podstawą dla jednego z najefektywniejszych (biorąc pod uwagę powyżej opisane ograniczenia) algorytmów:

perm(A)=(1)nS{1,2,,n}(1)#Si=1njSaij,

gdzie #S to moc zbioru S.

Zastosowania

W przeciwieństwie do wyznacznika macierzy permanent nie ma prostej interpretacji geometrycznej. Jest natomiast głównie używany w kombinatoryce. Tak na przykład przy pomocy permanentu można opisać skojarzenie doskonałe grafu dwudzielnego G, w którym podział wyznaczają wierzchołki A1,A2,,An z jednej strony oraz B1,B2,,Bn z drugiej. Wtedy G można przedstawić jako macierz kwadratową n×n A, gdzie ai,j=1 jeśli istnieje krawędź między wierzchołkami Ai i Bj lub ai,j=0, gdy nie istnieje. Permanent macierzy jest równy liczbie skojarzeń doskonałych grafu.

Permanent macierzy znajduje też zastosowanie do opisu czy definicji statystyk nieparametrycznych, a dokładniej pozycyjnych, np. w twierdzeniu Bapata-Bega.

Zobacz też

Przypisy

Szablon:Przypisy

Bibliografia

Szablon:Macierz

  1. Leslie Valiant, The complexity of computing the permanent, „Theoretical Computer Science”, 47(1):85–93, 1979.
  2. Mark Jerrum, Alistair Sinclair, Eric Vigoda, A polynomial-time approximation algorithm for the permanent of a matrix with nonnegative entries, J.ACM, tom 51, z. 4, 2004, s. 671–697.