PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Podobné dokumenty
H {{u, v} : u,v U u v }

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

IB112 Základy matematiky

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

5 Orientované grafy, Toky v sítích

PŘEDNÁŠKA 7 Kongruence svazů

1 Linearní prostory nad komplexními čísly

4 Pojem grafu, ve zkratce

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

PŘEDNÁŠKA 2 POSLOUPNOSTI

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

10 Přednáška ze

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Výroková a predikátová logika - II

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

8 Přednáška z

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Další NP-úplné problémy

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

Vrcholová barevnost grafu

které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.

10 Podgrafy, isomorfismus grafů

Základní datové struktury III: Stromy, haldy

Výroková a predikátová logika - II

Stromy, haldy, prioritní fronty

Výroková a predikátová logika - III

2. přednáška 8. října 2007

Lineární algebra : Lineární prostor

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

1 Lineární prostory a podprostory

Binární vyhledávací stromy pokročilé partie

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Diskrétní matematika 2012/2013.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

8 Rovinnost a kreslení grafů

Výroková a predikátová logika - VII

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Základy matematické analýzy

Definice 1 eulerovský Definice 2 poloeulerovský

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

NP-úplnost problému SAT

Výroková a predikátová logika - II

ALGORITMY A DATOVÉ STRUKTURY

Modely Herbrandovské interpretace

Výroková a predikátová logika - IV

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Teorie množin. pro fajnšmekry - TeMno. Lenka Macálková BR Solutions Orličky. Lenka (Brkos 2010) TeMno

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Matematická analýza 1

Přijímací zkouška - matematika

1. Toky, řezy a Fordův-Fulkersonův algoritmus

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Definice 5.1 Graf G = (V, E) je tvořen množinou vrcholů V a množinou hran, kde

Výroková a predikátová logika - XII

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Vybíravost grafů, Nullstellensatz, jádra

1 Soustavy lineárních rovnic

Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

13. přednáška 13. ledna k B(z k) = lim. A(z) = M(z) m 1. z m.

Báze a dimenze vektorových prostorů

10 Funkce více proměnných

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

P 1 = P 1 1 = P 1, P 1 2 =

1 Determinanty a inverzní matice

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

popel, glum & nepil 16/28

Limita a spojitost funkce

Teorie grafů Jirka Fink

1 Báze a dimenze vektorového prostoru 1

Lineární algebra : Změna báze

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

2. LIMITA A SPOJITOST FUNKCE

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Operační výzkum. Síťová analýza. Metoda CPM.

Nerovnice, grafy, monotonie a spojitost

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Přednáška 11, 12. prosince Část 5: derivace funkce

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

Doporučené příklady k Teorii množin, LS 2018/2019

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Matematická logika. Rostislav Horčík. horcik

Lineární algebra Operace s vektory a maticemi

4. Kombinatorika a matice

6 Lineární geometrie. 6.1 Lineární variety

TGH02 - teorie grafů, základní pojmy

Transkript:

-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S [n] tvoří interval v permutaci π, pokud existují indexy i j takové, že S = {π i, π i+1,..., π j }. Řekneme, že S je cyklický interval v π, pokud existují indexy i j takové, že buď S = {π i, π i+1,..., π j }, nebo S = {π j, π j+1,..., π n } {π 1,..., π i }. Uvažme následující dva rozhodovací problémy, které označíme T a TC, což jsou zkratky pro testování intervalů, resp. testování cyklických intervalů. roblém Ti: Na vstupu máme číslo n N a k-tici množin S 1, S 2,..., S k [n]. Otázka je, zda existuje permutace π množiny [n] taková, že každá zadaná množina S i tvoří interval v π. roblém Tci: Na vstupu máme opět číslo n N a k-tici množin S 1, S 2,..., S k [n]. Otázka je, zda existuje permutace π množiny [n] taková, že každá zadaná množina S i tvoří cyklický interval v π. roblém Ti lze snadno převést na problém Tci, protože pro libovolnou k- tici množin S 1, S 2,..., S k [n] platí, že existuje permutace [n], v níž tyto množiny tvoří intervaly, právě tehdy, když existuje permutace [n + 1], v níž tyto množiny tvoří cyklické intervaly. Dále se tedy budeme zabývat pouze řešením problému Tci. Všimneme si nejprve, že pokud množina S tvoří cyklický interval v permutaci π = π 1,..., π n, tak S tvoří cyklický interval i v libovolném cyklickém posunu π, tj. v libovolné permutaci tvaru π i, π i+1,..., π n, π 1, π 2,..., π i 1. roto prohlásíme, že dvě permutace jsou ekvivalentní, jestliže jedna je cyklickým posunem druhé, a třídám této ekvivalence budeme říkat cyklické permutace. Cyklickou permutaci si můžeme představit jako způsob, jak přiřadit čísla 1,..., n v libovolném pořadí vrcholům pravidelného n-úhelníku, přičemž čísla budeme číst po směru hodinových ručiček, ale nerozlišujeme, které číslo přečteme první. ro dané množiny S 1,..., S k [n] označme Cyc n (S 1,..., S k ) množinu všech cyklických permutací [n] takových, že každá z množin S 1,..., S k se v nich vyskytuje jako cyklický interval. Naším cílem při řešení problému Tci je tedy poznat, zda je Cyc n (S 1,..., S k ) neprázdná. 1

5 2 1 6 3 4 Obrázek 1: říklad -stromu. -stromy ro vyřešení problému Tci využijeme datovou strukturu zvanou -strom, kterou nyní popíšeme. -strom řádu n je strom T s následujícími vlastnostmi: T má n listů, očíslovaných čísly 1,..., n. Vnitřní vrcholy T jsou dvou typů: -vrcholy a -vrcholy. Každý vnitřní vrchol v stromu T má předepsanou cyklickou permutaci svých sousedů popisující, v jakém pořadí vycházejí z vrcholu v hrany. Tím, že u každého vnitřního vrcholu -stromu je předepsáno cyklické pořádí jeho sousedů, získáme jednoznačné cyklické pořadí listů stromu, tj. cyklickou permutaci množiny [n], kterou označíme π(t ). ro strom na Obrázku 1 je to například permutace 152436. Řekneme, že dva -stromy T a T jsou ekvivalentní, pokud T lze převést na T posloupností následujících dvou typů operací: Zvolíme libovolný -vrchol a cyklickou permutaci jeho sousedů nahradíme libovolnou jinou cyklickou permutací. Zvolíme libovolný -vrchol a cyklickou permutaci jeho sousedů nahradíme zrcadlově obrácenou cyklickou permutací. Každému stromu T pak můžeme přiřadit množinu cyklických permutací R T = {π(t ), T je ekvivalentní s T }. Řekneme, že strom T reprezentuje množinu cyklických permutací R T. Strom z Obrázku 1 reprezentuje množinu osmi cyklických permutací: 152436, 152346, 162435, 162345, 154326, 153426, 164325 a 163425. Z následující věty plyne, že Tci lze řešit v lineárním čase: 2

Věta 1. ro zadané n a zadané množiny S 1, S 2,..., S k [n] lze v čase O(n + k + k i=1 S i ) buď zjistit, že Cyc n (S 1,..., S k ) je prázdná, nebo zkonstruovat -strom T, pro nějž platí R T = Cyc n (S 1,..., S k ). Částečný důkaz Věty 1. Nebudeme zde probírat celý důkaz této věty, pouze si předvedeme, jak se dá příslušný -strom zkonstruovat. Z popisu tohoto postupu bude zřejmé, že konstrukci lze provést v polynomiálním čase. ro lineární odhad na časovou složitost by bylo potřeba použít poměrně netriviální amortizaci jednotlivých operací, což dělat nebudeme. ro zadané množiny S 1,..., S k zkonstruujeme postupně posloupnost stromů T 0, T 1,..., T k, kde T i bude reprezentovat množinu Cyc n (S 1,..., S i ) a T 0 bude reprezentovat množinu všech cyklických permutací množiny [n]. Strom T 0 vyrobíme snadno: obsahuje jeden vnitřní vrchol typu, s nímž sousedí všech n listů. Nyní předpokládejme, že už jsme pro nějaké i 0 zkonstruovali strom T i reprezentujíci Cyc n (S 1,..., S i ). opišme, jak tento strom modifikovat na strom T i+1 reprezentujíci Cyc n (S 1,..., S i+1 ). Označme S := S i+1 a S := [n]\s. Nechť e je libovolná hrana stromu T i a nechť T je jedna ze dvou komponent grafu T i e, tedy T je nějaký podstrom stromu T i. Řekneme, že T je plný, pokud všechny listy T i patřící do T reprezentují prvky S, naopak T je prázdný, pokud všechny tyto listy reprezentují prvky S, a konečně T je smíšený, pokud na svých listech má prvky S i S. Řekneme, že hrana e je smíšená, pokud obě komponenty T i e jsou smíšené podstromy. Nechť E S je množina všech smíšených hran T i. Všimněme si, že hrany E S tvoří souvislý podgraf T i, neboť mám-li dvě smíšené hrany e, e, tak i každá hrana na cestě mezi e a e je smíšená. Všimněme si také, že pokud je některý vrchol stromu T i incidentní s alespoň třemi smíšenými hranami, tak množina S = S i+1 není cyklický interval v žádné cyklické permutaci reprezentované stromem T i, a tedy Cyc n (S 1,..., S i+1 ) =. Odteď předpokládejme, že každý vrchol T i je incidentní s nejvýše dvěma smíšenými hranami. Tedy buď je E S prázdná, nebo tvoří cestu v T i. řípad, kdy E S je prázdná, je jednodušší a přenecháme ho čtenářům jako cvičení. Zabývejme se nyní situací, kdy E S tvoří cestu. Označme vrcholy této cesty v 1, v 2,..., v m v pořadí, v jakém leží na cestě E S. Všimněme si, že všechny hrany vycházející z vrcholů v 1,..., v m, které nepatří do cesty E S, vedou buď do plného nebo do prázdného podstromu. ředstavme si nyní, že cesta E S je nakreslená vodorovně, s vrcholy označenými v 1,..., v m zleva doprava. Se stromem T i provedeme postupně následující úpravy (viz. Obrázek 2): 1. Nahradíme T i ekvivalentním stromem T i takovým, že v každém vrcholu v j budou hrany vedoucí do plných podstromů nad cestou E S a hrany vedoucí do prázdných podstromů pod ní. okud takový ekvivalentní strom neexistuje, tak S i+1 netvoří cyklický interval v žádné permutaci reprezentované stromem T i a můžeme skončit. 2. Každý vrchol v j rozdělíme na dva nové vrcholy v + j a v j stejného typu jako 3

C D E C D E H v 1 v 2 v 3 1 v 1 v 2 v 3 H 2 C D E H C D E H v 1 + v 2 + v 3 + v 1 + w 3 w v 1 v 2 v 3 v 1 C D E H 4 v + 1 w Obrázek 2: ostup, jak ze stromu T i vytvořit strom T i+1. Vyplněné trojúhelníčky odpovídají plným podstromům, prázdné trojúhelníčky odpovídají prázdným podstromům. 4

v j, kde v + j bude mít za sousedy plné podstromy sousedící s v j, a v j naopak ty prázdné. Cyklické pořadí sousedů bude stejné jako u v j. Zároveň cestu E S nahradíme jedním novým -vrcholem w, který bude mít za sousedy vrcholy v 1 +, v+ 2,..., v+ m, vm,..., v1, v tomto cyklickém pořadí. V cyklickém pořadí sousedů u vrcholů v + j a v j bude w na té pozici, na které byly u v j hrany E S. 3. okud některý vrchol v j byl -vrchol, tak zkontrahujeme hranu mezi w a v + j, jakož i hranu mezi w a v j. To znamená, že tam, kde je k w připojen vrchol v + j (nebo v j ), budou místo něj k w připojeny vrcholy sousedící s v + j (resp. v j ). 4. okud ve vzniklém stromě existuje -vrchol nebo -vrchol stupně 1, smažeme ho. okud existuje -vrchol nebo -vrchol stupně 2, nahradíme ho hranou spojující jeho dva sousedy. Strom vytvořený výše zmíněnými kroky označíme T i+1. Dá se dokázat, že tento strom reprezentuje přesně množinu Cyc n (S 1,..., S i+1 ). ormální důkaz tohoto faktu ovšem dělat nebudeme. oznamenejme, že v literatuře se kromě nezakořeněných -stromů, které jsme si zde představili, často užívá i zakořeněná verze -stromů, která funguje obdobně, ale slouží k reprezentaci obyčejných permutací a intervalů, nikoliv cyklických permutací a cyklických intervalů. opis konstrukce zakořeněných stromů je více technický, proto jsme se soustředili na nezakořeněnou verzi. Rozpoznávání intervalových grafů Díky -stromům lze problém Tci, a tedy i Ti, řešit v lineárním čase. Nyní ukážeme, jak toto využít k získání lineárního algoritmu pro rozpoznávání intervalových grafů. omůže nám následující ekvivalentní charakterizace intervalových grafů. Věta 2. raf = (V, E) je intervalový právě tehdy, když jeho maximální kliky lze uspořádat do posloupnosti 1, 2,..., t tak, že pro každý vrchol x V tvoří kliky obsahující vrchol x interval v této posloupnosti. (Maximální klikou zde rozumíme kliku maximální vzhledem k inkluzi, tj. nikoliv nutně největší.) Důkaz. : Nechť je intervalový graf se zadanou intervalovou reprezentací, která každému vrcholu x přiřazuje interval x. otom pro každou maximální kliku v grafu existuje reálné číslo α takové, že obsahuje přesně vrcholy x, pro něž platí α x. Uspořádáme-li maximální kliky zleva doprava podle hodnot α, dostaneme uspořádání splňující pravou stranu ekvivalence. : Naopak, nechť platí pravá strana ekvivalence, tj. máme dané příslušné pořadí maximálních klik 1,..., t. Nechť x je libovolný vrchol. Dle předpokladů existují indexy i j takové, že x patří právě do klik i, i+1,..., j. řiřaďme vrcholu x interval x = [i, j]. Snadno ověříme, že toto je intervalová reprezentace grafu. 5

Věta 3. ntervalové grafy lze rozpoznávat v lineárním čase. Důkaz. Mějme graf = (V, E) s n vrcholy a m hranami. ak už víme z předchozích přednášek, lze v lineárním čase ověřit, že je chordální, a případně zkonstruovat jeho perfektní eliminační schéma x 1,..., x n. rotože intervalové grafy jsou podtřída chordálních grafů, předpokládejme, že je chordální a mějme jeho ES. Naším cílem je ověřit podmínku na uspořádání maximálních klik z Věty 2. Označme N i množinu vrcholů, která obsahuje vrchol x i spolu se všemi jeho levými sousedy, jinými slovy: N i := {x i } {x j, j < i & {x j, x i } E}. Z vlastností ES plyne, že každá množina N i je klika, navíc snadno nahlédneme, že všechny maximální kliky patří mezi N 1,..., N n. Není také těžké poznat, že některá klika N i není maximální. Ostrá inkluze N i N j platí právě tehdy, když x i je levý soused x j a počet levých sousedů x i je roven počtu levých sousedů x j ležících vlevo od x i. Na základě této vlastnosti v čase O(n + m) najdeme seznam všech maximálních klik grafu. Následně pro každý vrchol x i najdeme množinu těch maximálních klik, které obsahují x i. očet takovýchto klik je nejvýše o jedna větší než počet pravých sousedů x i, takže celková velikost těchto množin je O(m + n). Otestovat existenci posloupnosti klik z Věty 2 tedy odpovídá řešení instance problému Ti o velikosti O(n + m). elikož lze problém Ti vyřešit v lineárním čase, máme lineární algoritmus pro rozpoznávání intervalových grafů. 6