Převoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS C 1/10
Cíle prezentace seznámit s problémem nezávislé množiny seznámit s problémem hamiltonovského cyklu seznámitspřevodemproblémup1naproblémp2(p1 P2) prezentovat polynomiální převod problému nezávislé množiny na problém hamiltonovského cyklu. () IS C 2/10
IS- Independent Set(nezávislá množina) Nezávislá množina(is): Je taková podmnožina množiny vrcholů grafu G,žežádnádvojicevtétopodmnožiněnetvoříhranuvgrafuG. Problém nezávislé množiny: Vstup: neorientovaný graf G(o n vrcholech); číslo k(k n). Otázka: existuje v G nezávislá množina velikosti k(tj. množina k vrcholů, z nichž žádné dva nejsou spojeny hranou)? prok=3,existujevgis prok=4,neexistujevgis prok=3,existujevgis prok=4,neexistujevgis () IS C 3/10
C- amiltonian Circuit(hamiltonovský cyklus) amiltonovský cyklus(c): C je uzavřená smyčka v grafu, která prochází každým vrcholem právě jednou. Problém hamiltonovského cyklu: Vstup: orientovaný graf G. Otázka: existuje v G hamiltonovský cyklus(tj. uzavřená orientovaná cesta, procházející každým vrcholem právě jednou)? existuje C neexistuje C () IS C 4/10
Definice převodu problémů P1 na problém P2 Problém P1 je polynomiálně převeditelný na problém P2, označme P1 P2, jestliže existuje Turingův stroj M s polynomiální časovou složitostí, který pro libovolný vstup w problému P1 sestrojí vstup w problému P2, přičemž platí, že odpověď na otázku problému P1 pro vstup wjestejnájakoodpověďnaotázkuproblémup2provstupw. () IS C 5/10
Polynomiální převod problému IS na problém C (IS C) grafg,číslok algoritmuspřevodu graf () IS C 6/10
Polynomiální převod problému IS na problém C (IS C) grafg,číslok algoritmuspřevodu graf Algoritmus pro jakýkoliv neorientovaný graf G(o n vrcholech) s číslem k n, vytvoří orientovaný graf, přičemž je zaručeno, že v G existuje nezávislá množina vrcholů(vrcholy nemají společnou hranu) velikosti k, pravě když graf obsahuje hamiltonovský cyklus(uzavřenou cestu mezi vrcholy tak, že každý vrchol projde právě jednou). Převod lze uskutečnit pomocí polynomiálního algoritmu. () IS C 6/10
KonstrukcegrafuzgrafuG JedángrafGonvrcholechačíslok (prvníčástkonstrukcegrafujenezávislánačísluk). Tento graf G převeďme na graf, ve kterém existuje amiltonovský cyklus. Nejprve vytvoříme orientovaný graf. Vrcholy grafu jsou trojice(v,e,i), kde v V(G), hrana e jeincidentnísvaije1nebo0. G () IS C 7/10
KonstrukcegrafuzgrafuG JedángrafGonvrcholechačíslok (prvníčástkonstrukcegrafujenezávislánačísluk). Tento graf G převeďme na graf, ve kterém existuje amiltonovský cyklus. Nejprve vytvoříme orientovaný graf. Vrcholy grafu jsou trojice(v,e,i), kde v V(G), hrana e jeincidentnísvaije1nebo0. G () IS C 7/10
KonstrukcegrafuzgrafuG JedángrafGonvrcholechačíslok (prvníčástkonstrukcegrafujenezávislánačísluk). Tento graf G převeďme na graf, ve kterém existuje amiltonovský cyklus. Nejprve vytvoříme orientovaný graf. Vrcholy grafu jsou trojice(v,e,i), kde v V(G), hrana e jeincidentnísvaije1nebo0. G () IS C 7/10
KonstrukcegrafuzgrafuG JedángrafGonvrcholechačíslok (prvníčástkonstrukcegrafujenezávislánačísluk). Tento graf G převeďme na graf, ve kterém existuje amiltonovský cyklus. Nejprve vytvoříme orientovaný graf. Vrcholy grafu jsou trojice(v,e,i), kde v V(G), hrana e jeincidentnísvaije1nebo0. G () IS C 7/10
KonstrukcegrafuzgrafuG JedángrafGonvrcholechačíslok (prvníčástkonstrukcegrafujenezávislánačísluk). Tento graf G převeďme na graf, ve kterém existuje amiltonovský cyklus. Nejprve vytvoříme orientovaný graf. Vrcholy grafu jsou trojice(v,e,i), kde v V(G), hrana e jeincidentnísvaije1nebo0. G () IS C 7/10
KonstrukcegrafuzgrafuG Pravidlo 1 ((v,e,0),(v,e,1)),kdev e E(G) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 1 ((v,e,0),(v,e,1)),kdev e E(G) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 1 ((v,e,0),(v,e,1)),kdev e E(G) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 1 ((v,e,0),(v,e,1)),kdev e E(G) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 1 ((v,e,0),(v,e,1)),kdev e E(G) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 2 ((v,e,i),(w,e,i)), kde e=(v,w) E(G),i=0,1 () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 2 ((v,e,i),(w,e,i)), kde e=(v,w) E(G),i=0,1 () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 2 ((v,e,i),(w,e,i)), kde e=(v,w) E(G),i=0,1 () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 3 ((v,e v,j,1),(v,e v,j+1,0)),v V(G),1 j<deg(v) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 3 ((v,e v,j,1),(v,e v,j+1,0)),v V(G),1 j<deg(v) () IS C 8/10
KonstrukcegrafuzgrafuG Pravidlo 3 ((v,e v,j,1),(v,e v,j+1,0)),v V(G),1 j<deg(v) () IS C 8/10
KonstrukcegrafuzgrafuG Byla dokončena pravidla nezávislá na čísle k. () IS C 8/10
KonstrukcegrafuzgrafuG Nyní se přidá n-k vrcholů. () IS C 8/10
KonstrukcegrafuzgrafuG a 1 a 2 a 3 Pravidlo 4 Propřehlednostbudečtvrtépravidlopoužitojennavrchola 1. () IS C 9/10
KonstrukcegrafuzgrafuG a 1 a 2 a 3 Pravidlo 4 (a p,(v,e v,1,0)),v V(G),1 p n-k () IS C 9/10
KonstrukcegrafuzgrafuG a 1 a 2 a 3 Pravidlo 5 Propřehlednostbudepátépravidlopoužitojennavrchola 1. () IS C 9/10
KonstrukcegrafuzgrafuG a 1 a 2 a 3 Pravidlo 5 ((v,e v,d,1),a p),v V(G),1 p n-k,d=deg(v) () IS C 9/10
NalezeníCvgrafu G Y Y a 1 a 2 a 3 Y Vyznačení IS o 2 prvcích. Vgrafuvytvořímecestuzačínajícívevrcholua 1.Zvrcholua pselzedostatdokteréhokolivvstupníhovrcholukaždého podgrafu množiny Y(vrcholy grafu, které nepatří do nezávislé množiny). () IS C 9/10
NalezeníCvgrafu G Y Y a 1 a 2 a 3 Y Vyznačení IS o 2 prvcích. Přejdeme do libovolného vrcholu a dostaneme se do podgrafu patřícího do Y. Jím projdeme nejkratším možným způsobem až k výstupnímu vrcholu podgrafu. () IS C 9/10
NalezeníCvgrafu G Y Y a 1 a 2 a 3 Y Vyznačení IS o 2 prvcích. TaktolzeprojítvšechnyvrcholyvpodgrafuzmnožinyYanakonecsevrátitdoa 1 avytvořitcyklus. () IS C 9/10
NalezeníCvgrafu G Y Y a 1 a 2 a 3 Y Vyznačení IS o 2 prvcích. Pokud začleníme do vytvořené cesty zbylé vrcholy, vytvoříme tím postupně hamiltonovský cyklus v grafu. () IS C 9/10
NalezeníISvgrafuG G Y Y Y Vyznačení IS o 2 prvcích. Vedoucívrcholyv(v,E v,1,0) Vytrženímvrcholůa 1,...,a n k,dostanemen-korientovanýchcest.vkaždéztěchtocestjevždynazačátkuvrchol tvaru(v,e v,1,0).tentovrcholvsenazývávedoucívrchol. () IS C 9/10
NalezeníISvgrafuG G Určujících vrcholů je n k a jelikož je uvažovaný cyklus hamiltonovský, musí mít každá hrana původního grafu G alespoň jeden vrchol určující. Množina vrcholů, které nejsou určující, tedy vytváří nezávislou množinu o k prvcích grafu G. () IS C 10/10