NP-úplné problémy v grafech

Slides:



Advertisements
Podobné prezentace
Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
Advertisements

Rozhodnutelnost.
Benchmarkingový diagnostický systém finančních indikátorů INFA Hodnocení finanční politiky (politiky kapitálové struktury)
SEDM DIVŮ SVĚTA.
ALGO – Algoritmizace 1. cvičení
1NPRG054 Vývoj vysoce výkonného software /2013 David Bednárek Domácí úkol.
Optimalizace logistického řetězce
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
DOK „Umělá inteligence“ v DOK (i jinde). NEURONOVÉ SÍTĚ.
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Taxonomie problémů, případ NP není P Všechny rozhodovací problémy Nepřečíslitelné problémy Přečíslitelné, ale nerozhodnutelné problémy Doplňkově Nepřečíslitelné.
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
Fakulta životního prostředí Katedra informatiky a geoinformatiky
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
Složitost.
Systémy pro podporu managementu 2
Třída P (PTIME) DEF: P je třída všech jazyků, které jsou rozhodnutelné deterministickým Turingovým strojem v polynomiálním čase. Neboli: Třída P je.
Teorie složitosti I když je problém rozhodnutelný (řešitelný algoritmicky), může mít příliš velké nároky na čas výpočtu nebo paměť, a může se tedy.
KIV/PRO Cvičení N nejvyšších hodnot Mějme 2D čtvercové pole [1,..., n][1,..., n] – n 2 vzájemně různých kladných celých čísel Zkonstruujte.
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
MANAŽERSKÉ ÚČETNICTVÍ
Teorie grafů.
Taxonomie problémů, případ NP není P Všechny rozhodovací problémy Nepřečíslitelné problémy Přečíslitelné, ale nerozhodnutelné problémy Doplňkově Nepřečíslitelné.
Databázové modelování
P-těžké, np-těžké a np-úplné problémy
Relace, operace, struktury
Téma: Rodinný rozpočet
Turingův stroj.
Výpočetní složitost Odhlédneme-li od realizace algoritmu na konkrétním hardwaru a v konkrétním prostředí informačního systému, lze časovou složitost hodnotit.
Barvení grafů Platónská tělesa
Churchova (Turingova) teze
VYUŽITÍ VÝSLEDKŮ TESTOVÁNÍ 1. ROČNÍKŮ
Benchmarkingový diagnostický systém finančních indikátorů INFA Hodnocení úrovně likvidity.
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
Odvození zarovnání více řetězců z párového zarovnání, SP-skóre Ondřej Kazík 2008.
Počítačová chemie (3. přednáška)
Service layer. Service layer – úvod Problém  Vytvoření API aplikace  Odstínění bussiness logiky a transakčního chování od zbytku aplikace  Kam s aplikační.
Teoretická informatika Základní informace k předmětu Literatura Závěrečná práce Zkouška.
České vysoké učení technické Fakulta elektrotechnická Datové typy, výrazy vstup, výstup Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02.
Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
Výpočetní složitost Odhlédneme od realizace algoritmu na konkrétním hardwaru a v konkrétním prostředí informačního systému časovou složitost hodnotit počtem.
Expertní & znalostní systémy
Churchova (Turingova) teze
McEllisova šifra.
Hledání silně souvislý komponent Silně souvislá komponenta orientovaného grafu G= (V,E) je maximální množina uzlů UV taková že ∀ u,v ∈ V : u je dosažitelné.
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
Název závěrečné práce Vedoucí DP : Jméno Příjmení Vypracoval: Jméno Příjmení Vedoucí práce: Jméno příjmení | Studentská 2 | Liberec 1 | tel.: +420.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
Autor bakalářské práce:Martin Šíma Vedoucí bakalářské práce:Ing. Marta Hortová Oponent bakalářské práce:Mgr. Hana Bartošová DAŇOVÉ A ODVODOVÉ ZATÍŽENÍ.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Teoretická informatika II
Úvod do databázových systémů
Financováno z ESF a státního rozpočtu ČR.
Motivace a stimulace zaměstnanců ve vybrané obchodní společnosti
Co je algoritmizace kromě programování?
ZAL – 6. cvičení 2016.
ZAL – 3. cvičení 2016.
Předávání parametrů z příkazové řádky OS (1)
Ing. Milan Houška KOSA PEF ČZU v Praze
Výpočetní složitost Odhlédneme-li od realizace algoritmu na konkrétním hardwaru a v konkrétním prostředí informačního systému, lze časovou složitost hodnotit.
NÁVRH 2. ÚPLNÉ AKTUALIZACE ÚAPo
Běžné reprezentace grafu
Výpočetní složitost algoritmů
Bakalářská/Diplomová práce
Taxonomie problémů, případ NP není P
FUNKCE
Třída P (PTIME)  .
Transkript prezentace:

NP-úplné problémy v grafech

Třídy problémů: Třída P problémů: množina problémů řešitelných v polynomiálním čase (existuje pro ně polynomiální algoritmus) Třída NP problémů: někdo navrhne řešení problémů (tzv. nápověda) a my umíme v polynomiálním čase rozhodnout, zda tento návrh skutečně řešením je (existuje polynomiální verifikační algoritmus ) NP-těžké problémy: je na ně převoditelný každý problém z NP NP-úplný problém: NP-těžké a jsou z NP NP-úplné problémy: existuje polynomiální algoritmus???

Struktura třídy NP Pro NP existuje polynomiální algoritmus → NP=P Pro NP neexistuje polynomiální algoritmus → NP-úplné ∩ P=Ø NP-úplné+NP≠P P=NP=NP-úlné NP P NP-úplné

Porovnání složitosti algoritmů: 1 2 5 25 400000 32 120 10 100 108 1024 106 15 225 109 32000 1012 20 400 1010 1018 30 900 1011 1032 50 2500 1013 1015 1064 10000 1016 1030 10157

Při 1 000 000 000 operací za s: N N2 N8 2N N! 1 <1s 5 10 15 1 s 15 min 20 10 s 31 let 30 2 min 100 * Věk vesmíru 50 3 h 11 dní 100 3 měs Věk vesmíru

P & NP-úplný problém Problém 1[P]: Existuje okružní cesta, na které projedeme každou silnici právě jednou? Tzn. Rozhodnout, zda graf G= (V, H) existuje uzavřený eulerovský tah Řešení: obarvovaní stran Pokud řešení existuje, tak ho umíme najít v čase O(H)

Existuje okružní cesta, na které projedeme každé město právě jednou? Problém 2 [NP- úplný]: Existuje okružní cesta, na které projedeme každé město právě jednou? Tzn. Najít Hamiltonovskou kružnici permutace vrcholů v1, v2, ..., v│V│tvořících hamiltonovskou kružnici ověření: 1. jde o permutaci vrcholů grafu? 2. je (vi, vi+1) ∈ H , i = 1,2, ..., │V│-1 a (v│V│, v1) ∈ H ?

Možný algoritmus: Náročnost: graf zakódován maticí sousednosti algoritmus - ověření všech permutací vrcholů Náročnost: počet prvků matice: n Počet vrcholů: √n Počet permutaci vrcholů: √n!

Řešení NP-úplných problémů Metodou úplného prohledávání všech možností je v praxi již pro relativně malý rozměr úlohy nezvládnutelné Musíme hledat řešení částečná či přibližná – aproximační algoritmy

Aproximační algoritmy: polynomiální algoritmus: nalezení „dostatečné dobrého“ (téměř optimálního) řešení Problémy: nalezení řešení negarantuje (nepoužitelnost v praxi) funguje v praxi, ale chybí teoretické zdůvodnění Rozdíl: relativní chybu lze zmenšit libovolně X omezená zdola

Příklady NP-úplných problémů: Hamiltonova cesta, Hamiltonova kružnice Barvení grafů: obarvit vrcholy k barvami tak, aby vrcholy stejné barvy nebyly nikdy spojeny hranou k-bipartitní graf: množina k vrcholů taková, že žádné dva nejsou propojeny hranou Existence k-kliky (úplný graf s k-vrcholy)

Barvení grafů: Definice: obarvení grafu označujeme takové obarvení uzlů grafů takové, že žádné dva sousední uzly nemají stejnou barvu Otázka: nejmenší počet barev pro obarvení uzlů Je NP-úplný problém? …graf o N uzlech, q barev → qN

Barvení grafů:problém 4 barev

Barvení grafů: heuristika (sekvenční barvení) 1.[Inicializace] K:=0; b=0 while 2. [Test ukončení] existuje neobarvený vrchol grafu go begin 3a. [Volba vrcholu] zvolíme dosud neobarvený vrchol v0 3b. [Určení barvy] Najdeme minimální přirozené číslo b tak, že neexistuje vrchol spojený s v0 a již obarvený barvou b 3c. [Obarvení v0] V0 obarvíme barvou b if b>K then K:=b end;

Jak zvolit v0? Vrcholy uspořádáme do nerostoucí posloupnosti podle velikosti jejich stupňů, za v0 volíme první neobarvený vrchol Pro každý vrchol v určíme počet barev D(v), které byly použity k obarvení jeho již obarvených sousedů. Volíme za v0 neobarvený vrchol, který má největší hodnotu D(v). Pokud je jich více, volíme ten, který má nejvíce neobarvených sousedů.

1

1 2

3 1 2

3 1 4 2

1 3 4 2

1 3 2 4