Maksimum bire çok eşleme

Sep 04 2020

İzin Vermek $G = (X+Y,E)$ iki parçalı bir grafik olmak ve $k\geq 1$Bir tam sayı. bir maksimum$k$-matching bir alt kümesidir$E$ her köşesinde $X$ en fazla bitişiktir $k$ kenarları ve her tepe noktası $Y$ en fazla bitişiktir $1$ kenar.

Maksimum kardinalite $k$-Eşleşme aşağıdaki algoritma ile bulunabilir:

  • Oluşturmak $k$ her tepe noktasının kopyaları $x\in X$, öyle ki her kopyanın tüm komşularına bitişik olması $x$ içinde $Y$.
  • Ortaya çıkan grafikte bir maksimum eşleşme bulun.

Bir grafik için çalışma zamanı karmaşıklığı $n$ köşeler ve $m$ Hopcroft-Karp algoritmasını kullanan kenarlar $O(k m\sqrt{k n}) =O(k^{3/2}\cdot m\sqrt{n})$.

Aşağıdaki alternatif algoritmayla ilgileniyorum:

  • Tekrar et $k$ zamanlar:

    • Maksimum eşleşme bul $G$.
    • Eşleşen köşelerini kaldırın $Y$ grafikten.

Çalışma zamanı karmaşıklığı $O(k \cdot m\sqrt{n})$.

Ancak bu algoritma her zaman bir maksimum $k$-eşleştirme?

Yanıtlar

1 j_random_hacker Sep 04 2020 at 17:52

Hayır. İşte bir karşı örnek: $X=\{a,b\}, Y=\{c,d,e,f\}, E=\{ac, ad, ae, be, bf\}, k=2$. Algoritmanızın ilk yinelemesi seçebilir$\{ae,bf\}$ (özellikle kenar $ae$), mevcut olmasına rağmen bir çözüm bulunmasını engellemek: $\{ac, ad, be, bf\}$.