Problém parity matroidů - Matroid parity problem - Wikipedia

Příklad problému parity matroidu na a grafický matroid: daný graf s barevnými hranami, který má přesně dva okraje na barvu, najděte co největší les, který má opět přesně dva okraje na barvu.

v kombinatorická optimalizace, problém parity matroidu je problém najít největší nezávislou sadu spárovaných prvků v a matroid.[1] Problém formuloval Lawler (1976) jako společné zobecnění shoda grafu a průnik matroidů.[1][2] Je také známý jako polymatroid odpovídající, nebo matchoid problém.[3]

Paritu matroidů lze vyřešit v polynomiální čas pro lineární matroidy. Ale je NP-tvrdé pro některé kompaktně zastoupené matroidy a vyžaduje více než polynomický počet kroků v matroid věštec Modelka.[1][4]

Aplikace paritních algoritmů matroidů zahrnují hledání velké planární podgrafy[5] a hledání vkládání grafů z maximální rod.[6] Tyto algoritmy lze také použít k vyhledání spojené dominující sady a sady vrcholů zpětné vazby v grafech maximálního stupně tři.[7]

Formulace

A matroid lze definovat z a konečná množina prvků a z pojmu, co to znamená, aby byly podmnožiny prvků nezávislé, s výhradou následujících omezení:

  • Každá podmnožina nezávislé množiny by měla být nezávislá.
  • Li a jsou nezávislé množiny, s , pak existuje prvek takhle je nezávislý.[1]

Příklady matroidů zahrnují lineární matroidy (ve kterém jsou prvky vektory v a vektorový prostor, s lineární nezávislost ), grafické matroidy (ve kterém jsou prvky hranami v neorientovaný graf, nezávislé, pokud obsahují č cyklus ) a rozdělit matroidy (ve kterém prvky patří do rodiny disjunktní sady, a jsou nezávislé, pokud obsahují nejvýše jeden prvek v každé sadě). Grafické matroidy a dělící matroidy jsou speciální případy lineárních matroidů.[1]

V problému parity matroidu se vstup skládá z matroidu spolu s párováním jeho prvků, takže každý prvek patří jednomu páru. Cílem je najít podmnožinu párů, pokud možno co největší, aby spojení párů ve zvolené podmnožině bylo nezávislé.[1][2] Další zdánlivě obecnější variace, ve které přípustné páry tvoří graf, spíše než mít pouze jeden pár na prvek, je ekvivalentní: prvek, který se objevuje ve více než jednom páru, lze nahradit několika kopiemi prvku, jednou na pár.[8]

Algoritmy

Problém parity matroidů pro lineární matroidy lze vyřešit pomocí a randomizovaný algoritmus včas , kde je počet prvků matroidu, je jeho hodnost (velikost největší nezávislé sady) a je exponent v časových mezích pro rychlé násobení matic.[1]Zejména pomocí maticového algoritmu násobení Le Gall,[9] lze to vyřešit včas Bez použití rychlého násobení matic lze problém s paritou lineárního matroidu vyřešit včas .[1]

Tyto algoritmy jsou založeny na a lineární algebra formulace problému pomocí Geelen & Iwata (2005). Předpokládejme, že vstup do problému sestává z páry -dimenzionální vektory (uspořádané jako vektory sloupců v matice velikosti ). Pak je počet párů v optimálním řešení

kde je bloková diagonální matice jejichž bloky jsou dílčí matice formuláře

pro sled proměnných .[10] The Schwartz – Zippelovo lemma lze použít k testování, zda má tato matice úplnou hodnost nebo ne (tj. zda má řešení velikost.) nebo ne) přiřazením náhodných hodnot proměnným a testování, zda výsledná matice má určující nula. Použitím a chamtivý algoritmus který odstraňuje páry jeden po druhém nastavením jejich neurčitostí na nulu, dokud matice zůstane v plné hodnosti (zachování inverzní matice pomocí Sherman – Morrisonův vzorec zkontrolovat pořadí po každém odstranění), lze najít řešení, kdykoli tento test ukáže, že existuje. Další metody rozšiřují tento algoritmus v případě, že optimální řešení problému parity matroidu má méně než páry.[1]

U grafických matroidů jsou známy efektivnější algoritmy s dobou chodu na grafech s vrcholy a hrany.[11]Pro jednoduché grafy, je , ale pro multigrafy, může být větší, takže je také zajímavé mít algoritmy s menší nebo žádnou závislostí na a horší závislost na . V těchto případech je také možné vyřešit problém parity grafické matroid v náhodně očekávaném čase nebo včas když každá dvojice hran tvoří cestu.[1]

Přestože problém parity matroidů je NP-tvrdé pro libovolné matroidy to lze ještě efektivně aproximovat. Jednoduchý místní vyhledávací algoritmy poskytnout a schéma aproximace v polynomiálním čase pro tento problém a najděte řešení, jejichž velikost jako zlomek optimální velikosti řešení je libovolně blízká jedné. Algoritmus začíná na prázdná sada jako jeho řešení a opakovaně se pokouší zvětšit velikost řešení o jednu odstraněním maximálně konstantního počtu párů z řešení a jejich nahrazení jinou sadou ještě jednou dvojicí. Pokud již nejsou takové pohyby možné, je výsledné řešení vráceno jako aproximace optimálního řešení. K dosažení přibližného poměru , stačí si vybrat být přibližně .[8]

Aplikace

Mnoho dalších optimalizačních problémů lze formulovat jako problémy s paritou lineárního matroidu a vyřešit je v polynomiálním čase pomocí této formulace.

Shoda grafů
A maximální shoda v grafu je podmnožina hran, žádné dvě nesdílejí koncový bod, který je co největší. Lze jej formulovat jako problém s paritou matroidu v matroidu oddílu, který má v grafu prvek pro každý výskyt vrcholů hran. V tomto matroidu jsou spárovány dva prvky, pokud jsou to dva výskyty pro stejnou hranu jako každý jiný. Podmnožina prvků je nezávislá, pokud má nejvýše jeden výskyt pro každý vrchol grafu. Dvojice prvků v řešení problému parity matroidu pro tento matroid jsou výskyty mezi hranami v maximální shodě a jejich koncovými body.[2]
Průnik matroidů
Příklad úlohy průniku matroidů se skládá ze dvou matroidů na stejné sadě prvků; cílem je najít podmnožinu prvků, která je co největší a je nezávislá v obou matroidech. Chcete-li formulovat průnik matroidu jako problém parity matroidu, vytvořte nový matroid, jehož prvky jsou disjunktní sjednocení dvou kopií daných prvků, jedna pro každý vstupní matroid. V novém matroidu je podmnožina nezávislá, pokud její omezení na každou ze dvou kopií je nezávislé v každém ze dvou matroidů. Spárujte prvky nového matroidu tak, aby byl každý prvek spárován s jeho kopií. Dvojice prvků v řešení problému parity matroidu pro tento matroid jsou dvě kopie každého prvku v řešení problému průniku matroidů.[2]
Velké planární podgrafy

V libovolném grafu lze problém nalezení největší sady trojúhelníků v daném grafu bez cyklů kromě vybraných trojúhelníků formulovat jako problém parity matroidu na grafickém matroidu, jehož prvky jsou hrany grafu, s jedním dvojice hran na trojúhelník (v případě potřeby duplikování hran, pokud patří do více než jednoho trojúhelníku). Dvojice prvků v řešení problému parity matroidu pro tento matroid jsou dva okraje v každém trojúhelníku optimální sady trojúhelníků. Stejný problém lze také popsat jako jeden z hledání největšího Berge-acyklický sub-hypergraf 3 uniformy hypergraf. Ve verzi problému s hypergrafem jsou hyperhrany trojúhelníky daného grafu.[3]

A kaktusový graf je graf, ve kterém mají každé dva cykly nejvýše jeden společný vrchol. Ve zvláštním případě jsou grafy, ve kterých je každý cyklus trojúhelníkem, nutně kaktusové grafy. Největší trojúhelníkový kaktus v daném grafu lze najít přidáním dalších hran z a kostra, aniž by vytvářely nové cykly, aby výsledný podgraf měl stejné připojené komponenty jako původní graf. Kaktusové grafy jsou automaticky rovinné grafy, a problém najít trojúhelníkové kaktusové grafy tvoří základ pro nejznámější aproximační algoritmus k problému najít největší rovinný podgraf daného grafu, důležitý krok planarizace. Největší trojúhelníkový kaktus má vždy alespoň 4/9 počet okrajů největšího plošného podgrafu, což zlepšuje poměr přiblížení 1/3 získaný použitím libovolného kostry.[5]

Kombinatorická tuhost
Kostra tuhých tyčí v Euklidovské letadlo, připojené na svých koncových bodech na pružných spojích, lze upevnit do jediné polohy v rovině připnutím některých jejích spojů k bodům roviny. Minimální počet spojů, které je třeba připnout k opravě konstrukce, se nazývá její číslo připnutí. Lze jej vypočítat z řešení přidruženého problému parity matroidu.[3]
Vložení maximálního rodu

A buněčné vkládání daného grafu na maximální plochu rod lze získat od a Strom Xuong grafu. Toto je překlenovací strom s vlastností, že v podgrafu hran, které nejsou ve stromu, je počet připojené komponenty s lichým počtem hran je co nejmenší.

Chcete-li formulovat problém s nalezením stromu Xuong jako problém parity matroidů, nejprve rozdělte každou hranu daného grafu do cesty, přičemž délka cesty se rovná počtu dalších hran, které na ni dopadly . Poté spárujte okraje rozděleného grafu tak, aby každá dvojice okrajů v původním grafu byla představována jednou dvojicí hran v rozděleném grafu a každá hrana v rozděleném grafu byla spárována přesně jednou. Vyřešte problém parity matroidu se spárovanými hranami rozděleného grafu pomocí jeho grafického matroidu (lineární matroid, ve kterém je podmnožina hran nezávislá, pokud jeho odstranění neoddělí graf). Jakýkoli překlenovací strom původního grafu, který se vyhýbá hranám použitým v řešení paritní matroid, je nutně strom Xuong.[6]

Propojená nadvláda
A propojená dominující sada v grafu je podmnožina vrcholů, jejichž indukovaný podgraf je spojeno, sousedí se všemi ostatními vrcholy. Je těžké najít nejmenší spojenou dominující množinu v libovolných grafech, ale lze ji najít v polynomiálním čase pro grafy maximálního stupně tři. kubický graf, je možné nahradit každý vrchol dráhou se dvěma okraji připojenou ke koncům jejích tří koncových bodů a formulovat problém parity matroidů na dvojicích hran generovaných tímto způsobem pomocí grafického matroidu rozšířeného grafu. Vrcholy, jejichž cesty se v řešení nepoužívají, tvoří minimální propojenou dominující množinu. V grafu maximálního stupně tři některé jednoduché další transformace snižují problém na jednu na kubickém grafu.[7]
Sada vrcholů zpětné vazby
A sada vrcholů zpětné vazby v grafu je podmnožina vrcholů, která se dotýká všech cyklů. V kubických grafech existuje lineární rovnice vztahující se k počtu vrcholů, cyklomatické číslo, počet připojených komponent, velikost minimální připojené dominující množiny a velikost minimální sady vrcholů zpětné vazby.[12] Z toho vyplývá, že stejný problém parity matroidů, který se používá k vyhledání propojených dominujících množin, lze také použít k vyhledání sad vrcholů zpětné vazby v grafech maximálního stupně tři.[7]

Tvrdost

The klika problém, hledání a -vrchol kompletní podgraf v daném -vrcholový graf , lze transformovat na instanci matroidní parity následovně. Vytvořte a dlažba matroid na prvky spárované tak, že na pár vrcholů je jeden pár prvků. Definujte podmnožinu nezávislost těchto prvků, pokud splňuje některou z následujících tří podmínek:

  • má méně než elementy.
  • má přesně prvků, ale není spojením dvojice prvků.
  • je unie dvojice prvků, které tvoří kliky dovnitř .

Pak existuje řešení problému parity matroidů pro tento matroid o velikosti , právě když má velikost kliky . Vzhledem k tomu, že hledání kliků dané velikosti je NP-úplné, vyplývá z toho, že určení, zda má tento typ paritního problému matice řešení velikosti je také NP-kompletní.[13]

Tato transformace problému nezávisí na struktuře problému kliky žádným hlubokým způsobem a fungovala by pro jakýkoli jiný problém hledání velikosti - podmnožiny větší sady, které splňují vypočítatelný test. Aplikováním na náhodně permutovaný graf, který obsahuje přesně jednu velikost kliky lze ukázat, že jakýkoli deterministický nebo randomizovaný algoritmus pro paritu matroidu, který přistupuje k matroidu pouze pomocí testů nezávislosti, musí provést exponenciální počet testů.[4]

Reference

  1. ^ A b C d E F G h i j Cheung, Ho Yee; Lau, Lap Chi; Leung, Kai Man (2014), "Algebraické algoritmy pro problémy s paritou lineárního matroidu" (PDF), Transakce ACM na algoritmech, 10 (3): 10:1–10:26, CiteSeerX  10.1.1.194.604, doi:10.1145/2601066, PAN  3233690, S2CID  894004
  2. ^ A b C d Lawler, Eugene L. (1976), „Kapitola 9: Problém parity matroidů“, Kombinatorická optimalizace: Sítě a matroidy, New York: Holt, Rinehart a Winston, s. 356–367, PAN  0439106
  3. ^ A b C Lovász, L. (1980), "Matroid matching and some applications", Journal of Combinatorial Theory, Řada B, 28 (2): 208–236, doi:10.1016/0095-8956(80)90066-0, PAN  0572475
  4. ^ A b Jensen, Per M .; Korte, Bernhard (1982), "Složitost algoritmů vlastností matroidů", SIAM Journal on Computing, 11 (1): 184–190, doi:10.1137/0211014, PAN  0646772
  5. ^ A b Călinescu, Gruia; Fernandes, Cristina G .; Finkler, Ulrich; Karloff, Howard (1998), „Lepší aproximační algoritmus pro hledání rovinných podgrafů“, Journal of Algorithms, 27 (2): 269–302, CiteSeerX  10.1.1.47.4731, doi:10.1006 / jagm.1997.0920, PAN  1622397, S2CID  8329680.
  6. ^ A b Furst, Merrick L .; Gross, Jonathan L .; McGeoch, Lyle A. (1988), „Nalezení maximálního rodového grafu“, Deník ACM, 35 (3): 523–534, doi:10.1145/44483.44485, PAN  0963159, S2CID  17991210
  7. ^ A b C Ueno, Shuichi; Kajitani, Yoji; Gotoh, Shin'ya (1988), „On the nonseparating independent set problem and feedback set problem for graphs with no vertex degree greater than three“, Proceedings of the First Japan Conference on Graph Theory and Applications (Hakone, 1986), Diskrétní matematika, 72 (1–3): 355–360, doi:10.1016 / 0012-365X (88) 90226-9, PAN  0975556
  8. ^ A b Lee, Jon; Sviridenko, Maxim; Vondrák, Jan (2013), „Matroid matching: the power of local search“, SIAM Journal on Computing, 42 (1): 357–379, CiteSeerX  10.1.1.600.4878, doi:10.1137 / 11083232X, PAN  3033132
  9. ^ Le Gall, François (2014), „Powers of tensors and fast matrix multiplication“, Sborník 39. mezinárodního sympozia o symbolických a algebraických výpočtech (ISSAC 2014), New York: ACM, s. 296–303, doi:10.1145/2608628.2608664, ISBN  9781450325011, PAN  3239939, S2CID  2597483
  10. ^ Geelen, James; Iwata, Satoru (2005), „Matroid shoda pomocí smíšených zkosených symetrických matic“, Combinatorica, 25 (2): 187–215, CiteSeerX  10.1.1.702.5431, doi:10.1007 / s00493-005-0013-7, PAN  2127610, S2CID  18576135
  11. ^ Gabow, Harold N .; Stallmann, Matthias (1985), „Efektivní algoritmy pro grafický průnik a paritu matroidů (rozšířený abstrakt)“, Brauer, Wilfried (ed.), 12. mezinárodní kolokvium o automatech, jazycích a programování (ICALP), Nafplion, Řecko, 15. – 19. Července 1985, Přednášky v informatice, 194, Berlín: Springer, s. 210–220, doi:10.1007 / BFb0015746, ISBN  978-3-540-15650-5, PAN  0819256
  12. ^ Speckenmeyer, E. (1986), "Hranice na zpětnovazebních vertexových souborech neorientovaných kubických grafů", Algebra, kombinatorika a logika v informatice, sv. I, II (Győr, 1983), Colloquia Mathematica Societatis János Bolyai, 42, Amsterdam: Severní Holandsko, s. 719–729, PAN  0875903
  13. ^ Soto, José A. (2014), „Jednoduchý PTAS pro porovnávání vážených matroidů na silně objednatelných matroidech“, Diskrétní aplikovaná matematika, 164 (část 2): 406–412, arXiv:1102.3491, doi:10.1016 / j.dam.2012.10.019, PAN  3159127