Załóżmy, że mam dwa zestawy: (n_1, n_2, ...) i (m_1, m_2, ...) oraz pasujące dopasowanie funkcji (n, m), która zwraca wartość z 0 na 1. Chcę znaleźć odwzorowanie między dwoma zestawami takie, że następujące ograniczenia są spełnione:Maksymalne ważone dopasowanie dwuczęściowe, ograniczenie: porządek każdego wykresu jest zachowywany
- Każdy element musi mieć co najwyżej 1 dopasowany element w przeciwnym zestawie.
- niedopasowane elementy zostaną połączone z manekina elementu na koszt 1
- Suma funkcją match gdy zastosowany do wszystkich elementów jest maksymalna
- Mam problemy Wyrażając to formalnie, ale jeśli w kolejce każdy zestaw równoległe do siebie nawzajem z oryginalnym porządkiem i narysowali linię pomiędzy dopasowanymi elementami, żadna z linii nie przechodziła. Dawny. [n_1 < -> m_2, n_2 < -> m_3] jest prawidłowym mapowaniem, ale [n_1 < -> m_2, n_2 < -> m_1] nie jest.
(wierzę, że trzy pierwsze są standardowe ważone ograniczenia pasujące Dwuczęściowe, ale podano je w przypadku źle zrozumiałem ważonej dopasowanie dwustronnego)
Jest to stosunkowo proste do zrobienia z wyczerpujących poszukiwań w wykładniczym czasie (w odniesieniu do wielkości zestawów), ale mam nadzieję, że istnieje wielomianowy czas (najlepiej rozwiązanie O ((| | | | | m |)^3) lub lepsze).
Szukałem sporej ilości w "problemie przypisania"/"ważonym dopasowaniu dwustronnym" i widziałem zmiany z różnymi ograniczeniami, ale nie znalazłem takiego, które pasowało lub które udało mi się zredukować do jednego z tym dodanym porządkowanie ograniczeń. Czy masz jakieś pomysły na rozwiązanie tego problemu? A może jakiś dowód na to, że nie da się go rozwiązać w czasie wielomianowym (dla moich celów również działałaby redukcja do NP-complete)?
Niestety zamówienie nie jest uproszczeniem. Masz sekwencje jako dane wejściowe lub zestawy? ponieważ nie ma uporządkowanego zestawu – UmNyobe
Przepraszam za terminologię, uważam, że odpowiednie byłoby wprowadzenie danych wejściowych jako sekwencji, a nie zestawów. – Gibybo