Załóżmy, że mamy macierz n na n. Czy można zmienić kolejność wierszy i kolumn, tak aby uzyskać matrycę górnego trójkąta?
To pytanie jest motywowane tym problemem: Pozytywne uporządkowanie topologiczne
Pierwotny problem decyzyjny jest co najmniej tak trudny jak ten, więc wynik kompletności NP również by go rozwiązał.
Edycja: Laszlo Vegh i Andras Frank zwrócili moją uwagę na równoważny problem zadany przez Guntera Rote'a: http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph
Edycja: Zmniejszenie pierwotnego problemu jest następujące. Załóżmy, że DAG ma tylko dwa poziomy, które odpowiadają wierszom i kolumnom macierzy. Ponadto mamy jeden pojedynczy węzeł o wadze +1. Wszyscy inni na niższym poziomie mają wagę -1, a na wyższym poziomie +1.
źródło
Odpowiedzi:
Problem okazał się być NP-zupełny. Możesz przeczytać więcej szczegółów tutaj i tutaj . Krótkie podsumowanie:
Redukcja wynika z problemu, który Dasgupta, Jiang, Kannan, Li i Sweedyk wykazali, że problem jest całkowity być wyjątkowo dopasowanym. Stéphane Vialette zauważył, że redukuje się to do dwustronnej unikalnej pasującej wersji tego problemu, jeśli dodamy nk izolowane węzły do obu klas.
źródło
Uwaga: To jest częściowa odpowiedź oparta na domysłach i pogłoskach! Podczas gdy bardziej ogólny problem Davida Eppsteina jest NP-zupełny, być może ten jest w P.
Jak dotąd nie udało mi się znaleźć żadnego przykładu, w którym wykres spełnia te warunki, ale nie jest UPMX. W takim razie może są wystarczające. Można to udowodnić za pomocą następującego algorytmu:
Możesz scharakteryzować, które nowe krawędzie stworzyłyby idealne dopasowanie, używając twierdzenia Halla, i nie jest trudno scharakteryzować, które nowe krawędzie naruszałyby stopień związany. Niestety, nawet jeśli prawdą jest, że zawsze istnieje odpowiedni typ krawędzi, nie byłem w stanie tego udowodnić.
źródło
Ten artykuł, Uzyskiwanie trójkątnej macierzy przez niezależne permutacje wierszy i kolumn Fertin, Rusu i Vialette, pokazuje, że problem jest NP-zupełny dla binarnych macierzy kwadratowych.
źródło
Problem jest NP-kompletny, ale gdzie jest algorytm do jego rozwiązania? Mam jeden algorytm, który działa na wielu przykładach, ale nie jestem w stanie wykazać, że cały czas będzie działał.
źródło