Problém Steinerova stromu - Steiner tree problem
The Problém Steinerova stromunebo minimální problém se Steinerovým stromem, pojmenoval podle Jakob Steiner, je deštníkové období pro třídu problémů v kombinatorická optimalizace. Zatímco problémy se Steinerovým stromem lze formulovat v řadě nastavení, všechny vyžadují optimální propojení pro danou sadu objektů a předdefinovanou objektivní funkci. Jedna známá varianta, která se často používá jako synonymum pro termín Steinerův problém stromu, je Problém Steinerova stromu v grafech. Vzhledem k neorientovaný graf s nezápornými hranovými váhami a podmnožinou vrcholů, obvykle označovaných jako terminály, problém Steinerova stromu v grafech vyžaduje a strom minimální hmotnosti, která obsahuje všechny terminály (ale může zahrnovat další vrcholy). Další dobře známé varianty jsou Problém euklidovského Steinera a přímý minimální problém Steinerova stromu.
Problém Steinerova stromu v grafech lze chápat jako zobecnění dvou dalších slavných kombinačních optimalizačních problémů: (nezáporný) problém s nejkratší cestou a minimální problém s kostrou. Pokud problém Steinerova stromu v grafech obsahuje přesně dva terminály, redukuje se na nalezení nejkratší cesty. Pokud jsou naopak všechny vrcholy terminály, je problém Steinerova stromu v grafech ekvivalentní minimálnímu spanning stromu. Přestože jak nezáporná nejkratší cesta, tak problém s minimálním kostrou jsou řešitelné v polynomiálním čase, varianta rozhodnutí problému Steinerova stromu v grafech je NP-kompletní (což znamená, že varianta optimalizace je NP-tvrdé ); ve skutečnosti byla rozhodovací varianta Karp je původní 21 NP-kompletní problémy. Problém Steinerova stromu v grafech má aplikace v obvod rozložení nebo návrh sítě. Praktické aplikace však obvykle vyžadují variace, které vedou k mnoha variantám problému se Steinerovým stromem.
Většina verzí problému se Steinerovým stromem je NP-tvrdé, ale některé omezené případy lze vyřešit v polynomiální čas. Přes pesimistickou nejhorší možnou složitost lze v praxi efektivně vyřešit několik variant problému Steinerova stromu, včetně problému Steinerova stromu v grafech a přímého problému Steinerova stromu, a to i pro rozsáhlé problémy v reálném světě.[1][2]
Euklidovský Steinerův strom
Původní problém byl uveden ve formě, která se stala známou jako Problém euklidovského Steinera nebo geometrický problém Steinerova stromu: Dáno N body v letadlo, cílem je spojit je liniemi minimální celkové délky takovým způsobem, aby mohly být libovolné dva body vzájemně propojeny úsečky buď přímo, nebo prostřednictvím jiného bodů a úsečky. Může se ukázat, že segmenty spojovacích čar se neprotínají navzájem kromě koncových bodů a tvoří strom, proto název problému.
Problém pro N = 3 byla dlouho zvažována a rychle se rozšířila na problém hledání a hvězdná síť s jediným rozbočovačem připojujícím se ke všem N dané body, minimální celková délka. Nicméně, ačkoli celý problém Steinerova stromu byl formulován v dopise od Gauss, jeho první seriózní léčba byla v článku z roku 1934, který napsal česky Vojtěch Jarník a Miloš Kössler . Tento dokument byl dlouho přehlížen, ale již obsahuje „prakticky všechny obecné vlastnosti Steinerových stromů“, které byly později přisuzovány dalším badatelům, včetně zobecnění problému z roviny do vyšších dimenzí.[3]
U problému Euclidean Steiner byly do grafu přidány body (Steinerovy body ) musí mít a stupeň tří a tři hrany dopadající na takový bod musí tvořit tři úhly 120 stupňů (viz Fermatův bod ). Z toho vyplývá, že maximální počet Steinerových bodů, který může mít Steinerův strom, je N - 2, kde N je počáteční počet daných bodů.
Pro N = 3 existují dva možné případy: pokud má trojúhelník tvořený danými body všechny úhly menší než 120 stupňů, řešení je dáno Steinerovým bodem umístěným na Fermatův bod; jinak je řešení dáno dvěma stranami trojúhelníku, které se setkávají na úhlu 120 nebo více stupňů.
Obecně N, problém stromu Euclidean Steiner je NP-tvrdé, a proto není známo, zda optimální řešení lze najít pomocí a algoritmus polynomiálního času. Existuje však a schéma aproximace v polynomiálním čase (PTAS) pro euklidovské Steinerovy stromy, tj. A téměř optimální řešení lze nalézt v polynomiálním čase.[4] Není známo, zda je problém stromu euklidovských Steinerů NP-úplný, protože členství ve třídě složitosti NP není známo.
Přímočarý Steinerův strom
Přímočarý problém Steinerova stromu je variantou geometrického problému Steinerova stromu v rovině, ve které Euklidovská vzdálenost je nahrazen přímá vzdálenost. Problém nastává v fyzický design z elektronická automatizace designu. v Obvody VLSI, vedení drátu se provádí pomocí drátů, které jsou často omezeny konstrukčními pravidly tak, aby fungovaly pouze ve svislém a vodorovném směru, takže pro modelování směrování sítí s více než dvěma terminály lze použít přímý problém Steinerova stromu.[5]
Steinerův strom v grafech a variantách
Steinerovy stromy byly rozsáhle studovány v kontextu vážené grafy. Prototyp je pravděpodobně Problém Steinerova stromu v grafech. Nechat G = (PROTI, E) být neorientovaný graf s nezápornými hranovými vahami c a let S ⊆ PROTI být podmnožinou vrcholů, tzv terminály. A Steinerův strom je strom v G to se klene S. Existují dvě verze problému: v optimalizační problém spojené se Steinerovými stromy, úkolem je najít Steinerův strom s minimální hmotností; v rozhodovací problém okrajové váhy jsou celá čísla a úkolem je určit, zda existuje Steinerův strom, jehož celková hmotnost nepřesahuje předem definovanou přirozené číslo k. Rozhodovací problém je jeden z Karpových 21 NP-úplných problémů; proto je problém s optimalizací NP-tvrdé.
Zvláštní případ tohoto problému je, když G je kompletní graf, každý vrchol proti ∈ PROTI odpovídá bodu v a metrický prostor a okrajová závaží w(E) pro každého E ∈ E odpovídají vzdálenostem v prostoru. Jinak řečeno, okrajové závaží splňují nerovnost trojúhelníku. Tato varianta je známá jako metrický problém Steinerova stromu. Vzhledem k instanci (nemetrického) problému Steinerova stromu jej můžeme v polynomiálním čase transformovat na ekvivalentní instanci problému metrického Steinerova stromu; transformace zachovává aproximační faktor.[6]
Zatímco euklidovská verze připouští PTAS, je známo, že problém metrického stromu Steinerů je APX-kompletní, tj. pokud P = NP, je nemožné dosáhnout aproximačních poměrů, které jsou libovolně blízké 1 v polynomiálním čase. Existuje algoritmus polynomiálního času přibližný minimální Steinerův strom s faktorem ;[7]přibližné však v rámci faktoru je NP-tvrdý.[8] Pro omezený případ problému Steiner Tree se vzdálenostmi 1 a 2 je známý algoritmus aproximace 1,25.[9] Karpinski a Alexander Zelikovsky zkonstruovaný PTAS pro husté instance problémů se Steinerovým stromem.[10]
Ve zvláštním případě problému s grafem, problém Steinerova stromu pro kvazi-bipartitní grafy, S je požadováno, aby zahrnoval alespoň jeden koncový bod každé hrany v G.
Problém Steinerova stromu byl zkoumán také ve vyšších dimenzích a na různých površích. Algoritmy pro nalezení Steinerova minimálního stromu byly nalezeny na kouli, torusu, projektivní rovina, široké a úzké kužele a další.[11]
Další zobecnění problému Steinerova stromu jsou k- problém se sítí Steiner připojený k okraji a k- problém se sítí Steiner připojený k vrcholu, kde cílem je najít a kgraf spojený s hranami nebo a kgraf spojený s vrcholem spíše než jakýkoli připojený graf.
Steinerův problém byl také uveden v obecném nastavení metrických prostorů a pro možná nekonečně mnoho bodů.[12]
Přibližuje se Steinerův strom
Obecný problém se Steinerovým stromem v grafu lze aproximovat výpočtem minimálního spanningového stromu podgrafu metrického uzavření grafu vyvolaného koncovými vrcholy. Metrické uzavření grafu G je kompletní graf, ve kterém je každá hrana vážena nejkratší dráhovou vzdáleností mezi uzly v G. Tento algoritmus vytváří strom, jehož váha je v rozmezí 2 - 2 /t faktor hmotnosti optimálního Steinerova stromu, kde t je počet listů v optimálním Steinerově stromu; to lze dokázat zvážením cesty obchodního cestujícího na optimálním stromě Steiner. Přibližné řešení je vypočítatelné v polynomiální čas tím, že nejprve vyřešíte problém s nejkratšími cestami všech párů vypočítat metrický závěr, poté vyřešením minimální problém s kostrou.
Série příspěvků poskytla aproximační algoritmy pro minimální problém Steinerova stromu s aproximačními poměry, které se zlepšily na 2 - 2 /t poměr. Tato sekvence vyvrcholila algoritmem Robinsa a Zelikovského v roce 2000, který zlepšil poměr na 1,55 iterativním vylepšením stromu s minimálními náklady na terminál. V poslední době však Jaroslaw Byrka a kol. prokázáno aproximace pomocí relaxace lineárního programování a techniky zvané iterativní, randomizované zaokrouhlování.[7]
Parametrizovaná složitost Steinerova stromu
Je známo, že obecný problém se Steinerovým stromem je fixovatelný parametr, s počtem terminálů jako parametrem, pomocí Dreyfus-Wagnerova algoritmu.[13][14] Délka algoritmu Dreyfus-Wagner je , kde je počet vrcholů grafu a je sada terminálů. Existují rychlejší algoritmy čas pro všechny nebo v případě malých závaží čas, kde je maximální hmotnost jakékoli hrany.[15][16] Nevýhodou výše uvedených algoritmů je, že používají exponenciální prostor; běží algoritmy polynomiálního prostoru čas a čas.[17][18]
Je známo, že obecný graf Steinerova stromu nemá spuštěný parametrizovaný algoritmus čas pro všechny , kde je počet hran optimálního Steinerova stromu, pokud Nastavit problém s krytem má spuštěný algoritmus pro některé čas , kde a jsou počet prvků a počet sad instance problému krytí sady.[19]Dále je známo, že problém nepřipouští a polynomiální jádro ledaže , dokonce parametrizováno počtem hran optimálního Steinerova stromu a pokud jsou všechny hmotnosti hran 1.[20]
Steinerův poměr
The Steinerův poměr je supremum poměru celkové délky minimálního spanningového stromu k minimálnímu Steinerovu stromu pro množinu bodů v euklidovské rovině.[21]
V problému euklidovského Steinera se předpokládá, že Steinerův poměr je , poměr, kterého je dosaženo o tři body v an rovnostranný trojúhelník s kostrou, která využívá dvě strany trojúhelníku, a Steinerovým stromem, který spojuje body přes těžiště trojúhelníku. Přes dřívější tvrzení o důkazu[22] domněnka je stále otevřená.[23] Nejlepší široce přijímaný horní hranice pro problém je 1,2134, do Chung a Graham (1985).
Pro přímočarý problém Steinerova stromu je Steinerův poměr přesně , poměr, kterého je dosaženo čtyřmi body ve čtverci s klenutým stromem, který používá tři strany čtverce, a Steinerovým stromem, který spojuje body středem čtverce.[24] Přesněji pro vzdálenost, na kterou by měl být čtverec nakloněn vzhledem k souřadným osám, zatímco pro vzdálenost, kterou by měl být čtverec zarovnán.
Viz také
Poznámky
- ^ „Zpráva Polzina a Vahdatiho Daneshmanda“ (PDF). Citováno 11. listopadu 2016.
- ^ Juhl a kol. (2014).
- ^ Korte, Bernhard; Nešetřil, Jaroslav (2001), „Práce Vojtěcha Jarnika v kombinatorické optimalizaci“, Diskrétní matematika, 235 (1–3): 1–17, doi:10.1016 / S0012-365X (00) 00256-9, hdl:10338.dmlcz / 500662, PAN 1829832.
- ^ Crescenzi a kol. (2000).
- ^ Sherwani (1993), str. 228.
- ^ Vazirani (2003), s. 27–28.
- ^ A b Byrka a kol. (2010).
- ^ Chlebík & Chlebíková (2008).
- ^ Berman, Karpinski a Zelikovsky (2009).
- ^ Karpinski & Zelikovsky (1998).
- ^ Smith & Winter (1995), str. 361.
- ^ Paolini & Stepanov (2012).
- ^ Dreyfus & Wagner.
- ^ Levin.
- ^ Fuchs a kol.
- ^ Björklund a kol.
- ^ Lokshtanov & Nederlof.
- ^ Fomin a kol.
- ^ Cygan a kol.
- ^ Dom, Lokshtanov a Saurabh.
- ^ Ganley (2004).
- ^ The New York Times, 30. října 1990, uvádí, že byl nalezen důkaz, a to Ronald Graham, který jako důkaz nabídl 500 $, se chystal zaslat autorům šek.
- ^ Ivanov a Tuzhilin (2012).
- ^ Hwang (1976).
Reference
- Berman, Piotr; Karpinski, Marek; Zelikovsky, Alexander (2009). "Algoritmus 1,25 pro aproximaci problému Steinerova stromu se vzdálenostmi 1 a 2". Algoritmy a datové struktury: 11. mezinárodní sympozium, WADS 2009, Banff, Kanada, 21. – 23. Srpna 2009, sborník. Přednášky z informatiky. 5664. str. 86–97. arXiv:0810.1851. doi:10.1007/978-3-642-03367-4_8.CS1 maint: ref = harv (odkaz)
- Bern, Marshall W .; Graham, Ronald L. (1989). Msgstr "Problém s nejkratší sítí". Scientific American. 260 (1): 84–89. Bibcode:1989SciAm.260a..84B. doi:10.1038 / scientificamerican0189-84.CS1 maint: ref = harv (odkaz)
- Björklund, Andreas; Husfeldt, Thore; Kaski, Petteri; Koivisto, Mikko (2007). „Fourier Meets Möbius: Fast Subset Convolution“. Proceedings of the 39. ACM Symposium on Theory of Computing. str. 67–74. arXiv:cs / 0611101. doi:10.1145/1250790.1250801.
- Byrka, J .; Grandoni, F .; Rothvoß, T .; Sanita, L. (2010). "Vylepšená aproximace založená na LP pro Steinerův strom". Proceedings of the 42nd ACM Symposium on Theory of Computing. str. 583–592. CiteSeerX 10.1.1.177.3565. doi:10.1145/1806689.1806769.CS1 maint: ref = harv (odkaz)
- Chlebík, Miroslav; Chlebíková, Janka (2008). Msgstr "Problém Steinerova stromu v grafech: Výsledky nepřibližnosti". Teoretická informatika. 406 (3): 207–214. doi:10.1016 / j.tcs.2008.06.046.CS1 maint: ref = harv (odkaz)
- Chung, F. R. K.; Graham, R. L. (1985). "Nový směr pro minimální stromy Euklidea Steinera". Diskrétní geometrie a konvexita (New York, 1982). Annals of the New York Academy of Science. 440. New York: New York Academy of Science. 328–346. Bibcode:1985NYASA.440..328C. doi:10.1111 / j.1749-6632.1985.tb14564.x. PAN 0809217.CS1 maint: ref = harv (odkaz)
- Cieslik, Dietmar (1998). Steinerovy minimální stromy. p. 319. ISBN 0-7923-4983-0.
- Crescenzi, Pierluigi; Kann, Viggo; Halldórsson, Magnús; Karpinski, Marek; Woeginger, Gerhard (2000). "Minimální geometrický Steinerův strom". Kompendium problémů s optimalizací NP.CS1 maint: ref = harv (odkaz)
- Cygan, Marek; Dell, Holger; Lokshtanov, Daniel; Marx, Dániel; Nederlof, Jesper; Okamoto, Yoshio; Paturi, Ramamohan; Saurabh, Saket; Wahlström, Magnus (2016). „Problémy tak těžké jako CNF-SAT“. Transakce ACM na algoritmech. 12 (3): 41:1–41:24. doi:10.1145/2925416. S2CID 7320634.
- Dom, Michael; Lokshtanov, Daniel; Saurabh, Saket (2014). "Kernelization Lower Bound Through Colors and IDs". Transakce ACM na algoritmech. 11 (2): 13:1–13:20. doi:10.1145/2650261. S2CID 13570734.
- Dreyfus, S.E .; Wagner, R.A. (1971). Msgstr "Steinerův problém v grafech". Sítě. 1 (3): 195–207. doi:10,1002 / net.3230010302.
- Fomin, Fedor V .; Kaski, Petteri; Lokshtanov, Daniel; Panolan, Fahad; Saurabh, Saket. "Parametrizovaný jednorexponenciální časový polynomiální prostorový algoritmus pro Steinerův strom". Automaty, jazyky a programování - 42. mezinárodní kolokvium, ICALP 2015, sborník, část I.. 494–505. doi:10.1007/978-3-662-47672-7_40.
- Fuchs, Benjamin; Kern, Walter; Mölle, Daniel; Richter, Stefan; Rossmanith, Peter; Wang, Xinhui (2007). "Dynamické programování pro minimální Steinerovy stromy" (PDF). Teorie výpočetních systémů. 41 (3): 493–500. doi:10.1007 / s00224-007-1324-4. S2CID 7478978.
- Ganley, Joseph L. (2004). "Steinerův poměr". In Black, Paul E. (ed.). Slovník algoritmů a datových struktur. Americký národní institut pro standardy a technologie. Citováno 24. května 2012.CS1 maint: ref = harv (odkaz)
- Garey, Michael R.; Johnson, David S. (1979), Počítače a neodolatelnost: Průvodce po teorii NP-úplnosti, W. H. Freeman, ISBN 0-7167-1045-5, s. 208–209, problémy ND12 a ND13.
- Hwang, F. K. (1976). "Na Steinerovi minimum stromů s přímou vzdáleností". SIAM Journal on Applied Mathematics. 30 (1): 104–114. doi:10.1137/0130013.CS1 maint: ref = harv (odkaz)
- Hwang, F. K .; Richards, D. S .; Winter, P. (1992). Problém Steinerova stromu. Annals of Discrete Mathematics. 53. Severní Holandsko: Elsevier. ISBN 0-444-89098-X.
- Ivanov, Alexander; Tuzhilin, Alexey (1994). Minimální sítě: Steinerův problém a jeho zobecnění. N.W., Boca Raton, Florida: CRC Press. ISBN 978-0-8493-8642-8.
- Ivanov, Alexander; Tuzhilin, Alexey (2000). Větvená řešení jednorozměrných variačních problémů. Singapur - New Jersey - Londýn - Hongkong: World Scientific. ISBN 978-981-02-4060-8.
- Ivanov, Alexander; Tuzhilin, Alexey (2003). Teorie extrémních sítí (v Rusku). Moscow-Izhevsk: Institute of Computer Investigations. ISBN 5-93972-292-X.
- Ivanov, Alexander; Tuzhilin, Alexey (2012). „Steinerův poměr Gilbert – Pollak je stále otevřený: Vyjasnění“. Algorithmica. 62 (1–2): 630–632. doi:10.1007 / s00453-011-9508-3. S2CID 7486839.CS1 maint: ref = harv (odkaz)
- Ivanov, Alexander; Tuzhilin, Alexey (2015). "Rozvětvené krytiny a Steinerův poměr". Mezinárodní transakce v operačním výzkumu (ITOR). 23 (5): 875–882. arXiv:1412.5433. doi:10.1111 / itor.12182. S2CID 3386263.CS1 maint: ref = harv (odkaz)
- Juhl, D .; Warme, D.M .; Winter, P .; Zachariasen, M. (2014). "Softwarový balíček GeoSteiner pro výpočet Steinerových stromů v rovině: aktualizovaná výpočetní studie". Sborník 11. výzvy k implementaci DIMACS (PDF).CS1 maint: ref = harv (odkaz)
- Korte, Bernhard; Vygen, Jens (2006). „Oddíl 20.1“. Kombinatorická optimalizace: Teorie a algoritmy (3. vyd.). Springer. ISBN 3-540-25684-9.
- Karpinski, Marek; Zelikovsky, Alexander (1998). „Přibližování hustých případů problémů s krytím“. Proceedings of the DIMACS Workshop on Network Design: Connectivity and Facilities Location. Řada DIMACS v diskrétní matematice a teoretické informatice. 40. Americká matematická společnost. 169–178.CS1 maint: ref = harv (odkaz)
- Levin, A. Yu. (1971). Msgstr "Algoritmus pro nejkratší připojení skupiny vrcholů grafu". Sovětská matematika Doklady. 12: 1477–1481.
- Lokshtanov, Daniel; Nederlof, Jesper (2010). "Úspora místa algebraizací". Proceedings of the 42nd ACM Symposium on Theory of Computing. 321–330. doi:10.1145/1806689.1806735.
- Paolini, E .; Stepanov, E. (2012). „Výsledky existence a pravidelnosti pro Steinerův problém“ (PDF). Calc. Var. Částečný rozdíl. Rovnice. 46 (3–4): 837–860. doi:10.1007 / s00526-012-0505-4. hdl:2158/600141. S2CID 55793499.CS1 maint: ref = harv (odkaz)
- Robins, Gabriel; Zelikovsky, Alexander (2000). „Vylepšená aproximace Steinerova stromu v grafech“. Sborník z jedenáctého výročního sympozia ACM-SIAM o diskrétních algoritmech (SODA '00). Philadelphia, PA, USA: Společnost pro průmyslovou a aplikovanou matematiku. str.770–779. ISBN 0-89871-453-2.
- Sherwani, Naveed A. (1993). Algoritmy pro automatizaci fyzického návrhu VLSI. Kluwer Academic Publishers. ISBN 9781475722192.CS1 maint: ref = harv (odkaz)
- Smith, J. M .; Winter, P. (1995). Msgstr "Výpočetní geometrie a návrh topologické sítě". V Du, Ding-Zhu; Hwang, Frank (eds.). Výpočet v euklidovské geometrii. Série přednášek o práci na počítači. 4 (2. vyd.). River Edge, NJ: World Scientific Publishing Co. str. 351–451. ISBN 981-02-1876-1.CS1 maint: ref = harv (odkaz)
- Vazirani, Vijay V. (2003). Aproximační algoritmy. Berlín: Springer. ISBN 3-540-65367-8.CS1 maint: ref = harv (odkaz)
- Wu, Bang Ye; Chao, Kun-Mao (2004). „Kapitola 7“. Překlenutí stromů a problémy s optimalizací. Chapman & Hall / CRC. ISBN 1-58488-436-3.
externí odkazy
- Hazewinkel, M. (2001) [1994], „Steinerův strom“, Encyclopedia of Mathematics, Stiskněte EMS
- M. Hauptmann, M. Karpinski (2013): Kompendium k problémům stromů Steiner
- GeoSteiner (Euklidovský a přímočarý řešič stromů Steiner; Zdroj k dispozici, pro nekomerční použití)
- SCIP-Jack (Řešitel problému Steinerova stromu v grafech a 11 variantách; zdroj k dispozici zdarma pro akademické použití)
- https://archive.org/details/RonaldLG1988 (Film: Ronald L Graham: The Shortest Network Problem (1988))
- Fortranský podprogram pro nalezení Steinerova vrcholu trojúhelníku (tj. Fermatův bod ), jeho vzdálenosti od vrcholů trojúhelníků a relativní váhy vrcholů.
- Phylomurka (Řešitel pro malé problémy Steinerova stromu v grafech)
- https://www.youtube.com/watch?v=PI6rAOWu-Og (Film: řešení problému Steinerova stromu s vodou a mýdlem)
- „Použití Steinerových stromů k minimalizaci průměrných dob dokončení hromadných přenosů dat“, DCCast: Efektivní přenosy mezi více body mezi datovými centry Sdružení USENIX