Další partie teorie složitosti. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
|
|
- Klára Marešová
- před 7 lety
- Počet zobrazení:
Transkript
1 Další partie teorie složitosti M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 1/ 51
2 Řešení těžkých problémů Pro mnoho důležitých problémů nejsou známy efektivní algoritmy. Řada těchto problémů je například NP-úplných. Je možné, že pro tyto problémy ani polynomiální algoritmy neexistují amytozatímjenomneumímedokázat. Přesto potřebujeme tyto problémy řešit. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 / 51
3 Řešení těžkých problémů Pokud chceme řešit nějaký problém, tak v ideálním případě chceme použít k jeho řešení algoritmus, který: Bude polynomiální, tj. rychle skončí pro libovolnou vstupní instanci. Bude korektní, tj. pro libovolnou vstupní instanci najde správnou odpověď. Pokud nevíme, jak takový algoritmus najít, musíme trochu slevit ze svých požadavků. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 3/ 51
4 Řešení těžkých problémů Obtížné instance versus typické instance Při studiu složitosti problémů zkoumáme většinou složitost v nejhorším případě. Instance, kvůli kterým je problém těžký, mohou být dost odlišné od typických instancí,prokteréchcemeproblémřešit. Při podrobnějším zkoumání problému můžeme nalézt určitou podmnožinu instancí, pro které je možné problém rychle řešit. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 4/ 51
5 Řešení těžkých problémů Problém batohu Vstup:Číslaa 1,a,...,a m ačíslos. Otázka:Existujepodmnožinamnožinyčísela 1,a,...,a m taková,že součetčíselvtétopodmnožinějes? Poznámka: Jako velikost instance bereme celkový počet bitů v zápisu čísela 1,a,...,a m as. Tento problém je NP-úplný. Neumíme ho v rozumném čase řešit, pokud číslavinstancibudou velká (např.1000-bitová). Pokudjevšakhodnotasmalá(např.do ,tj.asi0bitů),je možné tento problém vyřešit během několika sekund i pro relativně velké hodnotym(např.m=10000). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 5/ 51
6 Řešení těžkých problémů Problém HORN-SAT Vstup: Booleovská formule ϕ v KNF obsahující pouze Hornovy klauzule. Otázka: Je ϕ splnitelná? Problém HORN-SAT se dá(narozdíl od obecného problému SAT) řešit v polynomiálním čase. Poznámka: Hornova klauzule je klauzule, ve které se nachází nejvýše jeden pozitivní literál. Například( x 1 x x 3 x 4 x 5 )jehornovaklauzule. Všimněte si, že tato klauzule je ekvivalentní formuli (x 1 x x 3 x 4 ) x 5 M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 6/ 51
7 Řešení těžkých problémů Následující problém je rovněž možné řešit v polynomiálním čase: Problém -SAT Vstup: Booleovská formule ϕ v KNF, kde každá klauzule obsahuje nejvýše literály. Otázka: Je ϕ splnitelná? Příklad: (x 1 x ) ( x 1 x ) ( x x 3 ) (x 3 x 4 ) (x x 4 ) M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 7/ 51
8 Řešení těžkých problémů Exponenciální algoritmy I exponenciální algoritmus může být prakticky použitelný, pokud: Instance, pro které problém chceme řešit, jsou poměrně malé. Složitostjesiceexponenciální,alerostepomalejinež n. Algoritmus je co nejoptimálněji naprogramován. Příklad: f(n)=(1.) n pron=100jef(n) f(n)=10 n pron=300jef(n) M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 8/ 51
9 Řešení těžkých problémů Menší požadavky na korektnost Randomizované algoritmy algoritmy, které využívají při výpočtu generátor náhodných čísel. Existuje určitá nenulová pravděpodobnost, že algoritmus vrátí chybný výsledek. Prolibovolněmalé ε >0jsmevšakschopnizaručit,že pravděpodobnost chyby není větší než ε. Aproximační algoritmy používají se pro řešení optimalizačních problémů. U těchto algoritmů není zaručeno, že naleznou optimální řešení, ale je zaručeno, že naleznou řešení, které nebude o moc horší než optimální řešení(např. nanejvýš horší). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 9/ 51
10 Testování prvočíselnosti Prvočíselnost Vstup: Přirozené číslo p. Otázka: Je p prvočíslo? Pro malá p(např.do10 1 )stačívyzkoušetčíslaoddo p,zda některéznichdělíp. Tento problém má velký význam v kryptografii, kde ho potřebujeme řešit pro čísla, která mají délku několik tisíc bitů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
11 Testování prvočíselnosti To, zda je možné testovat prvočíselnost v polynomiálním čase, byl dlouho otevřený problém. Vroce00sepodařilonajítpolynomiálníalgoritmussesložitostíO(n 1 ) (N. Saxona, M. Agrawal, N. Kayal). PozdějisehopodařilozlepšitnaO(n 8 ),alepropraktickéúčelyjestále nepoužitelný. VpraxisepoužívajírandomizovanéalgoritmysesložitostíO(n 3 ): Miller-Rabin(1976) Solovay-Strassen(1977) Poznámka: n zde označuje počet bitů čísla p. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
12 Testování prvočíselnosti S problémem testování prvočíselnosti úzce souvisí následující problém. Faktorizace Vstup: Přirozené číslo p. Výstup: Rozklad čísla p na prvočísla. Na rozdíl od prvočíselnosti není pro problém faktorizace znám žádný efektivní algoritmus, a to ani randomizovaný. Jedna z používaných šifer je tzv. RSA kryptosystém, který je založen na tom, že: Umíme rychle najít velká prvočísla(a rychle je mezi sebou vynásobit). Není známo, jak v rozumném čase z tohoto součinu zjistit původní prvočísla. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 1/ 51
13 Testování prvočíselnosti Poznámka: Pokud umíme rychle testovat, zda je dané číslo prvočíslem, není problém velké prvočíslo náhodně vygenerovat, neboť je známo, že prvočíslajsoumeziostatnímičíslyrozmístěnapoměrně hustě. π(n) početprvočíselvintervalu1,,...,n Je dokázáno, že lim n π(n) n/lnn =1 nebolijinakřečeno,mezičíslyod1donjezhruban/lnnprvočísel. Pokud tedy chceme náhodně vygenerovat k-bitové prvočíslo, stačí zhruba kpokusů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
14 Randomizované algoritmy Randomizovaný algoritmus: používá během výpočtu generátor náhodných čísel může pro tentýž vstup skončit s různým výsledkem existuje určitá pravděpodobnost, že vrátí chybný výsledek Aby měl randomizovaný algoritmus praktický smysl, musíme mít možnost regulovat pravděpodobnost chyby: Prolibovolněmalé ε >0musímebýtschopnizaručit,že pravděpodobnost chyby nebude větší než ε. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
15 Randomizované algoritmy Vezměme si například algoritmus Miller-Rabin pro testování prvočíselnosti. Prolibovolnénvracíbuďodpověď Prvočíslo neboodpověď Složené. Pokudnjeprvočíslo,vrátívždyodpověď Prvočíslo. Pokud n je číslo složené, je pravděpodobnost toho, že vrátí odpověď Složené nejméně50%. Můževšakvrátit(chybnou)odpověď Prvočíslo. Algoritmus můžeme spouštět opakovaně. Výsledek při dalším spuštění je nezávislý na výsledcích z předchozích spuštění. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
16 Randomizované algoritmy Řekněme, že algoritmus spustíme m krát(pro tentýž vstup n). Pokudalespoňjednoudostanemeodpověď Složené,pakvíme sjistotou,ženječíslosložené. Pokudpokaždédostanemeodpověď Prvočíslo,pak pravděpodobnost toho, že n není prvočíslo je maximálně ( ) 1 m = m Například pro m = 100 je pravděpodobnost chyby zanedbatelně malá. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
17 Randomizované algoritmy Poznámka: Lze například odvodit, že pravděpodobnost toho, že počítač budezasaženběhemdanémikrosekundymeteoritem,jenejméně 100 za předpokladu,žekaždých1000letjemeteoritemzničenoalespoň100m zemského povrchu. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
18 Randomizované algoritmy Randomizované algoritmy jsou typicky založeny na hledání svědků (witness),kteří dosvědčí určitouodpověďvydanoualgoritmem. Tyto svědky vybíráme z množiny potenciálních svědků: Náhodně vybereme nějakého potenciálního svědka. Ověříme, zda se jedná o skutečného svědka, a podle toho vydáme odpověď. Například v algoritmu Miller-Rabin hledáme svědky složenosti čísla n. Vybírámejezmnožinyčísel {,3,...,n 1}: Pokud n je prvočíslo, žádní svědci složenosti neexistují. Pokud n není prvočíslo, je zaručeno, že alespoň polovina čísel vmnožině {,3,...,n 1}jsousvědcisloženostin. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
19 Testování prvočíselnosti Malá Fermatova věta: Pokudnjeprvočíslo,pakprokaždéazmnožiny {1,,...,n 1}platí a n 1 1 (modn) Malou Fermatovu větu lze použít k testování prvočíselnosti(tzv. Fermatův test): Prodanénzvolímenějakéa {,3,...,n 1}. Pokuda n 1 1(modn),paknurčitěneníprvočíslo. Pokuda n 1 1(modn),paknjemožnáprvočíslo. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
20 Testování prvočíselnosti Je překvapivé, že tato procedura vrací chybný výsledek jen poměrně zřídka: Proa=an <10000jejenhodnot,prokterédostaneme chybnou odpověď. Proa=an sepravděpodobnosttoho,žepronáhodně vybrané n dostaneme chybnou odpověď, blíží nule. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 0/ 51
21 Testování prvočíselnosti Fermatův test není 100% spolehlivý. Existují složená čísla, která splňují podmínkua n 1 1(modn)provšechnaa {1,,...,n 1}nesoudělná sn. Tato čísla se nazývají Carmichaelova čísla a jsou extrémně vzácná. Napříkladmezičíslydo10 8 existujejen55carmichaelovýchčísel. Prvních 15 Carmichaelových čísel: 561, 1105, 179, 465, 81, 6601, 8911, 10585, 15841, 9341, 41041, 46657, 5633, 6745, M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 1/ 51
22 Umocňování v modulární aritmetice Problém Vstup: Přirozená čísla a, b, n. Výstup:Hodnotaa b modn. Využijemetoho,žea i =a i a i aa i+1 =a i a i a. Modular-Exponentiation(a, b, n) 1 d 1 b k,b k 1,...,b 0 jebinárníreprezentaceb 3 fori kdownto0 4 dod (d d)modn 5 ifb i =1 6 thend (d a)modn 7 returnd M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 / 51
23 Testování prvočíselnosti(miller-rabin) Na umocňování je založen i následující algoritmus pro testování prvočíselnosti: Miller-Rabin(n,s) 1 forj 1tos doa Random(,n 1) 3 if Witness(a, n) 4 thenreturn Složené njezcelajistěsložené. 5 return Prvočíslo njesvelkoupravděpodobnostíprvočíslo. Využívá malou Fermatovu větu a toho, že platí následující tvrzení: Jestližepjelichéprvočíslo,pakrovnicex 1(modp)máprávědvě řešení:x=1ax=p 1. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 3/ 51
24 Testování prvočíselnosti(miller-rabin) Witness(a, n) 1 d 1 b k,b k 1,...,b 0 jebinárníreprezentacen 1 3 fori kdownto0 4 dox d 5 d (d d)modn 6 ifd=1andx 1andx n 1 7 then return true 8 ifb i =1 9 thend (d a)modn 10 ifd 1 11 then return true 1 returnfalse M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 4/ 51
25 Randomizované algoritmy Množina potenciálních svědků bývá obrovská většinou exponenciálně velká Poznámka: Kdyby byla polynomiálně velká mohli bychom systematicky projít všechny potenciální svědky a nepotřebovali bychom randomizovaný algoritmus. Musí být zaručeno, že pokud nějací skuteční svědci existují, pak jich je dostatečně mnoho, čímž je zaručeno, že pravděpodobnost, že na nějakého svědka narazíme, je dostatečně vysoká. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 5/ 51
26 Aproximační algoritmy Mnoho důležitých problémů je NP-úplných. U optimalizačních problémů často nepotřebujeme nalézt nejoptimálnější řešení, ale stačí nám řešení, kteréje dostatečnědobré. Algoritmům,kterévracítakováto dostatečnědobrá řešení,seříká aproximační algoritmy. Poznámka: Optimalizační problém je problém, kde pro každý vstup w mámedefinovánumnožinus w všechpřípustnýchřešeníafunkci c:s w R +. Úkolemjenajíttakovéx S w,prokteréjehodnotac(x)minimální (resp. maximální). Příklady: Hledání nejkratší cesty v grafu, určování maximálního toku v síti. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 6/ 51
27 Aproximační algoritmy Řekněme, že řešíme problém, kde je úkolem hodnotu c(x) minimalizovat. Řekněme, že pro vstup w vydá algoritmus řešení x, přičemž optimálním řešenímjex.zjevněplatíc(x) c(x ). Jako aproximační poměr daného algoritmu označujeme funkci ρ(n), která každémunpřiřazujemaximálníhodnotupoměruc(x)/c(x )provšechny vstupy velikosti n. Poznámka: Naopak u algoritmu, kde je cílem hodnotu c(x) maximalizovat,bychomuvažovalipoměrc(x )/c(x). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 7/ 51
28 Aproximační algoritmy O algoritmu, který dosahuje aproximačního poměru ρ(n), říkáme, že je to ρ(n)-aproximační algoritmus. Pro řadu problémů jsou známy polynomiální algoritmy, kde je hodnota ρ(n) omezena: malou konstantou, např. -aproximační algoritmy, nebo pomalu rostoucí funkcí, např. Θ(log n)-aproximační algoritmy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 8/ 51
29 Vrcholové pokrytí grafu Mějme neorientovaný graf G =(V, E). Vrcholové pokrytí(vertex-cover) grafugjemnožinac Vtaková,žeprokaždouhranu(u,v) Eplatí, žebuďu Cnebov C. Úkolem je najít pro zadaný graf minimální vrcholové pokrytí. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
30 Vrcholové pokrytí grafu Mějme neorientovaný graf G =(V, E). Vrcholové pokrytí(vertex-cover) grafugjemnožinac Vtaková,žeprokaždouhranu(u,v) Eplatí, žebuďu Cnebov C. Úkolem je najít pro zadaný graf minimální vrcholové pokrytí. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
31 Vrcholové pokrytí grafu Máme tedy vyřešit následující problém: Minimální vrcholové pokrytí grafu(vertex cover) Vstup:NeorientovanýgrafG=(V,E). Výstup: Minimalní množina C(C V) tvořící vrcholové pokrytí grafug. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
32 Vrcholové pokrytí grafu Máme tedy vyřešit následující problém: Minimální vrcholové pokrytí grafu(vertex cover) Vstup:NeorientovanýgrafG=(V,E). Výstup: Minimalní množina C(C V) tvořící vrcholové pokrytí grafug. Následující(rozhodovací) varianta tohoto problému je NP-úplná: Vrcholové pokrytí(vertex cover) Vstup:NeorientovanýgrafG=(V,E)apřirozenéčíslok. Otázka: Existuje vrcholové pokrytí grafu G tvořené k vrcholy? Tento problém tedy není možné řešit v polynomiálním čase(leda by platilo PTIME=NPTIME). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
33 Vrcholové pokrytí grafu Máme tedy vyřešit následující problém: Minimální vrcholové pokrytí grafu(vertex cover) Vstup:NeorientovanýgrafG=(V,E). Výstup: Minimalní množina C(C V) tvořící vrcholové pokrytí grafug. Existuje však -aproximační algoritmus řešící tento problém: Algoritmus najde pro zadaný graf G vrcholové pokrytí C takové, že C k kde k je velikost minimálního vrcholového pokrytí grafu G. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
34 Vrcholové pokrytí grafu Approx-Vertex-Cover(G) 1 C E E 3 whilee 4 dovyberlibovolnouhranu(u,v)ze 5 C C {u,v} 6 odstraňze hranyincidentnísunebov 7 returnc M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
35 Vrcholové pokrytí grafu Approx-Vertex-Cover(G) 1 C E E 3 whilee 4 dovyberlibovolnouhranu(u,v)ze 5 C C {u,v} 6 odstraňze hranyincidentnísunebov 7 returnc M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
36 Vrcholové pokrytí grafu Approx-Vertex-Cover(G) 1 C E E 3 whilee 4 dovyberlibovolnouhranu(u,v)ze 5 C C {u,v} 6 odstraňze hranyincidentnísunebov 7 returnc M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
37 Vrcholové pokrytí grafu Approx-Vertex-Cover(G) 1 C E E 3 whilee 4 dovyberlibovolnouhranu(u,v)ze 5 C C {u,v} 6 odstraňze hranyincidentnísunebov 7 returnc M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
38 Vrcholové pokrytí grafu Approx-Vertex-Cover(G) 1 C E E 3 whilee 4 dovyberlibovolnouhranu(u,v)ze 5 C C {u,v} 6 odstraňze hranyincidentnísunebov 7 returnc M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
39 Vrcholové pokrytí grafu Tvrzení Approx-Vertex-Cover je polynomiální -aproximační algoritmus. Důkaz: Označme A množinu všech hran vybraných v kroku 4, C vrcholové pokrytínalezenéalgoritmemac minimálnívrcholovépokrytígrafug. Jakékoliv vrcholové pokrytí musí obsahovat alespoň jeden z koncových vrcholůkaždéhranyza. ProlibovolnévrcholovépokrytíC tedyplatí A C. SpeciálněproC tedytakémusíplatit A C. Nadruhoustranu,zjevněplatí C = A. Dohromadytedydostáváme C C. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
40 Problém obchodního cestujícího(tsp) Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Poznámka:Slovem okružní myslíme,žecestakončívestejnémměstě, kde začíná. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
41 Problém obchodního cestujícího(tsp) Příklad instance problému: M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
42 Problém obchodního cestujícího(tsp) Příklad instance problému: Nejkratší okružní cesta má délku 8. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
43 Problém obchodního cestujícího(tsp) Můžeme uvažovat dvě různé varianty tohoto problému: Každé město musí být navštíveno právě jednou. Města je možné navštěvovat opakovaně. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
44 Problém obchodního cestujícího(tsp) V následujícím výkladu se nám bude hodit poněkud formálnější definice problému: Na instanci problému(tj. množinu měst a vzdálenosti mezi nimi) se můžemedívatjakonaúplnýneorientovanýgrafg=(v,e) sohodnocenímhrand(kded:e N). ProlibovolnoumnožinuhranE Edefinujeme d(e )= e E d(e) ProlibovolnýcyklusHpakdefinujemed(H)=d(E ),kdee jemnožina hran ležících na cyklu H. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
45 Problém obchodního cestujícího(tsp) Problém TSP pak můžeme formulovat následovně: Problém obchodního cestujícího(tsp) Vstup:ÚplnýneorientovanýgrafG=(V,E)sohodnocenímhrand. Výstup: Cyklus H procházející všemi vrcholy grafu G takový, že hodnota d(h) je minimální možná. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
46 Problém obchodního cestujícího(tsp) Následující problém je NP-úplný(ať už je či není povoleno navštěvovat vrcholy opakovaně): Problém obchodního cestujícího(tsp) rozhodovací varianta Vstup:ÚplnýneorientovanýgrafG=(V,E)sohodnocenímhrand ačíslol. Otázka: Existuje v grafu G cyklus H procházející všemi vrcholy takový,žed(h) L? Poznámka:Nemůžemetedyočekávat,žebyproblémTSP(aťužvtéči onévariantě)bylřešitelnývpolynomiálnímčase,ledažebyplatilop=np. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
47 Problém obchodního cestujícího Pro problém TSP, kde vyžadujeme aby byl každý vrchol navštíven právě jednou, se dá dokázat následující: Věta PokudP NP,pakprožádnoukonstantu ρ 1neexistujepolynomiální ρ-aproximační algoritmus řešící problém obchodního cestujícího. Důkaz: Předpokládejme, že by pro nějaké ρ takový algoritmus existoval. Ukážeme, že pak by existoval polynomiální algoritmus pro problém Hamiltonovské kružnice. Problém Hamiltonovské kružnice je NP-úplný, nalezení polynomiálního algoritmubyznamenalo,žep=np. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
48 Problém obchodního cestujícího NechťG=(V,E)jeinstanceproblémuHamiltonovskékružnice. InstanciproblémuobchodníhocestujícíhoG =(V,E )sestrojímetak,že V =VaE obsahujevšechnymožnéhrany,kterýmpřiřadímeohodnocení { 1 pokud(u,v) E d(u,v)= ρ V +1 jinak JestližegrafGobsahujeHamiltonovskoukružnici,pakvG existuje okružní cesta délky V. JakákolivokružnícestavG,kteráobsahujehranu,kteránenívG,má délkuvětšínež ρ V. Pokud v G Hamiltonovská kružnice existuje, ρ-aproximační algoritmus musí nějakou takovou kružnici vrátit jako výslednou okružní cestu. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května 007 4/ 51
49 Problém obchodního cestujícího(tsp) Není těžké si rozmyslet, že varianta TSP kde je povoleno opakovaně navštěvovat vrcholy se dá snadno převést na variantu, kde musí být každý vrchol navštíven právě jednou: ProdanýgrafGsohodnocenímdsestrojímenovéohodnoceníd, kded (u,v)jedélkanejkratšícestyzudov Poznámka: Pro nalezení nejkratších cest mezi dvojicemi vrcholů existují rychlé polynomiální algoritmy(např. Dijkstrův, Floydův-Warshallův apod.) Grafsohodnocenímd navícsplňujetzv.trojúhelníkovounerovnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
50 Problém obchodního cestujícího(tsp) V grafu G s ohodnocením d je splněna trojúhelníková nerovnost, jestliže prolibovolnoutrojicijehovrcholůu,v,wplatí d(u,w) d(u,v)+d(v,w) v d(u, v) d(v, w) u d(u, w) w Tj.nejkratšícestazudowjevždypohraně(u,w)anemácenujít oklikou přesnějakýjinývrchol. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
51 Problém obchodního cestujícího(tsp) Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
52 Problém obchodního cestujícího(tsp) Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP. Pro problém -TSP je znám 1.5-aproximační polynomiální algoritmus, tj.algoritmus,kterýprodanýgrafgsohodnocenímdvrátícyklush procházející všemi vrcholy takový, že d(h) 1.5 d(h ) kdeh optimálnířešení(tj.cyklussminimálníhodnotoud(h )). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
53 Problém obchodního cestujícího(tsp) Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP. Pro problém -TSP je znám 1.5-aproximační polynomiální algoritmus, tj.algoritmus,kterýprodanýgrafgsohodnocenímdvrátícyklush procházející všemi vrcholy takový, že d(h) 1.5 d(h ) kdeh optimálnířešení(tj.cyklussminimálníhodnotoud(h )). My si ukážeme poněkud jednodušší -aproximační polynomiální algoritmus pro problém -TSP. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
54 Problém obchodního cestujícího(tsp) Před vlastním popisem algoritmu si připomeňme některé pojmy: KostragrafuG=(V,E)jelibovolnýsouvislýacyklickýgrafT=(V,E ), kdev=v ae E(tj.TjesouvislýpodgrafgrafuGobsahující všechnyvrcholyzg). Hodnotu d(t) definujeme jako součet hodnot hran v této kostře, tj.d(t)=d(e ). KostraTjeminimální,jestližeprolibovolnoujinoukostruT vgrafug platíd(t) d(t ). Pro problém nalezení minimální kostry v daném ohodnoceném grafu jsou známy rychlé polynomiální algoritmy(např. Kruskalův nebo Jarníkův (Primův)). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
55 Problém obchodního cestujícího(tsp) PříkladkostryT,kded(T)=8: M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
56 Problém obchodního cestujícího(tsp) PříkladminimálníkostryT,kded(T)=6: M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
57 Problém obchodního cestujícího(tsp) -aproximační algoritmus pro -TSP pracuje v následujících krocích: Najde minimální kostru grafu G. Vytvoří uzavřený tah podél této kostry. Z vytvořeného tahu odstraní opakující se vrcholy a výsledný cyklus vrátí jako výsledek. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
58 Problém obchodního cestujícího(tsp) Vezměme si následující instanci -TSP M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
59 Problém obchodního cestujícího(tsp) Krok 1: Nalezení minimální kostry T M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
60 Problém obchodního cestujícího(tsp) Všimněmesi,žed(T) <d(h ): PokudzH odstranímelibovolnouhranu,dostanemekostrut. Zjevněplatíd(T ) <d(h ). ProlibovolnoukostruT platíd(t) d(t ). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
61 Problém obchodního cestujícího(tsp) Příklad: Vezměme si optimální cyklus M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
62 Problém obchodního cestujícího(tsp) Příklad: Odstraněním jedné hrany vznikne kostra M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
63 Problém obchodního cestujícího(tsp) Krok 1: Nalezení minimální kostry M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
64 Problém obchodního cestujícího(tsp) Krok : Vytvoření tahu H podél kostry M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
65 Problém obchodního cestujícího(tsp) Krok : Vytvoření tahu H podél kostry Každouhranuprocházímedvakrát,platítedyd(H)=d(T) <d(h ). M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
66 Problém obchodního cestujícího(tsp) Krok : Vytvoření tahu H podél kostry M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
67 Problém obchodního cestujícího(tsp) Každé vypuštění vrcholu tah leda zkrátí. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51 Krok 3: Postupné vypouštění opakujících se vrcholů z tahu H
68 Problém obchodního cestujícího(tsp) Každé vypuštění vrcholu tah leda zkrátí. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51 Krok 3: Postupné vypouštění opakujících se vrcholů z tahu H
69 Problém obchodního cestujícího(tsp) Každé vypuštění vrcholu tah leda zkrátí. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51 Krok 3: Postupné vypouštění opakujících se vrcholů z tahu H
70 Problém obchodního cestujícího(tsp) Nalezený cyklus: M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51
Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.
Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Poznámka:Slovem okružní myslíme,žecestakončívestejném městě,
VíceZ. Sawa (VŠB-TUO) Teoretická informatika 18. prosince / 67
Další třídy složitosti Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince 018 1/ 67 Další třídy složitosti Pro libovolnou funkci f : N R + definujme následující třídy: DTIME(f(n)) třída všech rozhodovacích
Více4. NP-úplné (NPC) a NP-těžké (NPH) problémy
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce
VíceNP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do
VíceSložitost a moderní kryptografie
Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie
VíceAproximativní algoritmy UIN009 Efektivní algoritmy 1
Aproximativní algoritmy. 14.4.2005 UIN009 Efektivní algoritmy 1 Jak nakládat s NP-těžkými úlohami? Speciální případy Aproximativní algoritmy Pravděpodobnostní algoritmy Exponenciální algoritmy pro data
VíceProblémy třídy Pa N P, převody problémů
Problémy třídy Pa N P, převody problémů Cvičení 1. Rozhodněte o příslušnosti následujících problémů do tříd Pa N P(N PCověříme později): a)jedanýgrafsouvislý? danýproblémjeztřídy P,řešíhonapř.algoritmyDFS,BFS.
VíceZadá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 podzimu 2014
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 podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
VíceVýroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a
VíceDalší NP-úplné problémy
Další NP-úplné problémy Známe SAT, CNF, 3CNF, k-klika... a ještě následující easy NP-úplný problém: Existence Certifikátu (CERT ) Instance: M, x, t, kde M je DTS, x je řetězec, t číslo zakódované jako
Více19. a 20. přednáška z kryptografie
19. a 20. přednáška z kryptografie Alena Gollová 1/35 Obsah 1 2 IsPrime jako IsPrime jako s dělením malými prvočísly Alena Gollová 2/35 V předchozí kapitole jsme používali algoritmus IsPrime(n), který
Vícezejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.
Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít
Více3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Více10 Přednáška ze
10 Přednáška ze 17. 12. 2003 Věta: G = (V, E) lze nakreslit jedním uzavřeným tahem G je souvislý a má všechny stupně sudé. Důkaz G je souvislý. Necht v je libovolný vrchol v G. A mějme uzavřený eurelovský
VíceVýpočetní složitost algoritmů
Výpočetní složitost algoritmů Slajdy pro výuku na KS Ondřej Čepek Sylabus 1. Definice časové a prostorové složitosti algoritmů. Příklady na konkrétních algoritmech. Prostředky pro popis výpočetní složitosti
VíceNP-úplnost problému SAT
Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x
VíceTestování prvočíselnosti
Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo
VíceTGH12 - Problém za milion dolarů
TGH12 - Problém za milion dolarů Jan Březina Technical University of Liberec 7. května 2013 Složitost problému Co je to problém? Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu
VíceFIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
FIT ČVUT MI-LOM Lineární optimalizace a metody Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Michal Černý, 2011 FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 2/5 Dualita Evropský
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VíceTřídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
VíceYZTI - poznámky ke složitosti
YZTI - poznámky ke složitosti LS 2018 Abstrakt Poznámky k přednášce YZTI zabývající se složitostí algoritmických problémů a teorií NP-úplnosti. Složitost algoritmu a problému Zabýváme se už pouze rekurzivními
VíceStromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,
Stromové rozklady Zdeněk Dvořák 25. října 2017 Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, β je funkce přiřazující každému vrcholu T podmnožinu vrcholů v G, pro každé
VíceH {{u, v} : u,v U u v }
Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo
VícePřijímací zkouška - matematika
Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,
Více5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška jedenáctá Miroslav Kolařík Zpracováno dle P. Martinek: Základy teoretické informatiky, http://phoenix.inf.upol.cz/esf/ucebni/zti.pdf Obsah 1 Složitost algoritmu 2 Třídy složitostí
VíceVzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
VíceAlgoritmy na ohodnoceném grafu
Algoritmy na ohodnoceném grafu Dvě základní optimalizační úlohy: Jak najít nejkratší cestu mezi dvěma vrcholy? Dijkstrův algoritmus s t Jak najít minimální kostru grafu? Jarníkův a Kruskalův algoritmus
VíceUkážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou
VíceNP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32
NP-úplnost M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května 2007 1/ 32 Rozhodovací problémy Definice Rozhodovací problém je takový, kde je množina možných výstupů dvouprvková
VíceSložitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost
1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole
VíceDefinice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),
VíceVrcholová barevnost grafu
Vrcholová barevnost grafu Definice: Necht G = (V, E) je obyčejný graf a k N. Zobrazení φ : V {1, 2,..., k} nazýváme k-vrcholovým obarvením grafu G. Pokud φ(u) φ(v) pro každou hranu {u, v} E, nazveme k-vrcholové
VíceKapitola 11. Vzdálenost v grafech. 11.1 Matice sousednosti a počty sledů
Kapitola 11 Vzdálenost v grafech V každém grafu lze přirozeným způsobem definovat vzdálenost libovolné dvojice vrcholů. Hlavním výsledkem této kapitoly je překvapivé tvrzení, podle kterého lze vzdálenosti
VíceProgramování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace
Programování: základní konstrukce, příklady, aplikace IB111 Programování a algoritmizace 2011 Připomenutí z minule, ze cvičení proměnné, výrazy, operace řízení výpočtu: if, for, while funkce příklady:
VíceJak funguje asymetrické šifrování?
Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil
VícePŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
VíceVýroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
Více1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
VíceDiskrétní matematika 1. týden
Diskrétní matematika 1. týden Elementární teorie čísel dělitelnost Jan Slovák Masarykova univerzita Fakulta informatiky jaro 2015 Obsah přednášky 1 Problémy teorie čísel 2 Dělitelnost 3 Společní dělitelé
VíceInformatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
VíceVztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31
Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu
VíceMatematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Splnitelnost množin Definice Množina
VíceDů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ť.
Přednáška 3, 19. října 2015 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ť X i = M i I je jeho pokrytí otevřenými
VíceAlgoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39
Algoritmy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna 2018 1/ 39 Algoritmy Příklad: Popis algoritmu pomocí pseudokódu: Algoritmus 1: Algoritmus pro nalezení největšího prvku v poli 1 Find-Max(A,n):
Více10. Složitost a výkon
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří
VíceSložitost Filip Hlásek
Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VíceKostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019
Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý
Více12. Aproximační algoritmy
12. Aproximační algoritmy (F.Haško,J.enda,.areš, ichal Kozák, Vojta Tůma) Na minulých přednáškách jsme se zabývali různými těžkými rozhodovacími problémy. Tato se zabývá postupy, jak se v praxi vypořádat
VíceAlgoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
VícePřevoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS HC 1/10
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
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou
VíceDefinice 1 eulerovský Definice 2 poloeulerovský
Dále budeme předpokládat, že každý graf je obyčejný a má aspoň tři uzly. Definice 1 Graf G se nazývá eulerovský, existuje-li v něm uzavřený tah, který obsahuje každou hranu v G. Definice 2 Graf G se nazývá
VíceDynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VíceAlgoritmy a výpočetní složitost
Algoritmy a výpočetní složitost Zdeněk Sawa Katedra informatiky Fakulta elekrotechniky a informatiky VŠB-TU Ostrava 3. ledna 2005 Co je to algoritmus? Algoritmus Algoritmus je mechanický postup skládající
VíceTýden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost
Teoretická informatika průběh výuky v semestru 1 Týden 14 Přednáška PSPACE, NPSPACE, PSPACE-úplnost Uvědomili jsme si nejprve, že např. pro zjištění toho, zda Bílý má nějakou strategii ve hře ŠACHY, která
Více12. Globální metody MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Více4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.
4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a
VíceVýhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
VíceZadá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 podzimu 2015
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 podzimu 05 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Více8 Přednáška z
8 Přednáška z 3 12 2003 Problém minimální kostry: Dostaneme souvislý graf G = (V, E), w : E R + Našim úkolem je nalézt strom (V, E ) tak, aby výraz e E w(e) nabýval minimální hodnoty Řešení - Hladový (greedy)
Více1 Lineární prostory a podprostory
Lineární prostory a podprostory Přečtěte si: Učebnice AKLA, kapitola první, podkapitoly. až.4 včetně. Cvičení. Které z následujících množin jsou lineárními prostory s přirozenými definicemi operací?. C
VíceUčební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)
VíceZáklady elementární teorie čísel
Základy elementární teorie čísel Jiří Velebil: X01DML 29. října 2010: Základy elementární teorie čísel 1/14 Definice Řekneme, že přirozené číslo a dělí přirozené číslo b (značíme a b), pokud existuje přirozené
VíceKonstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
VíceVLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5
VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 5 Evropský sociální fond Praha & EU: Investujeme do vaší
VícePravděpodobnostní algoritmy
Pravděpodobnostní algoritmy 17. a 18. přednáška z kryptografie Alena Gollová 1/31 Obsah 1 Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test 2 Alena Gollová 2/31 Diskrétní rozdělení náhodné
Více4EK311 Operační výzkum. 5. Teorie grafů
4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,
VíceMarkov Chain Monte Carlo. Jan Kracík.
Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),
VíceZáklady elementární teorie čísel
Základy elementární teorie čísel Jiří Velebil: A7B01MCS 3. října 2011: Základy elementární teorie čísel 1/15 Dělení se zbytkem v oboru celých čísel Ať a, b jsou libovolná celá čísla, b 0. Pak existují
Více= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez
Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,
VíceROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094
10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)
Více8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.
Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů
Více+ 2y. a y = 1 x 2. du x = nxn 1 f(u) 2x n 3 yf (u)
Diferenciální počet příklad 1 Dokažte, že funkce F, = n f 2, kde f je spojitě diferencovatelná funkce, vhovuje vztahu + 2 = nf ; 0 Řešení: Označme u = 2. Pak je F, = n fu a platí Podle vět o derivaci složené
VícePrincipy indukce a rekursivní algoritmy
Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
VíceOd Turingových strojů k P=NP
Složitost Od Turingových strojů k P=NP Zbyněk Konečný Zimnění 2011 12. 16.2.2011 Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 1 / 24 O čem to dnes bude? 1 Co to je složitost 2 Výpočetní modely
Více7 Ortogonální a ortonormální vektory
7 Ortogonální a ortonormální vektory Ze vztahu (5) pro výpočet odchylky dvou vektorů vyplývá, že nenulové vektory u, v jsou na sebe kolmé právě tehdy, když u v =0. Tato skutečnost nám poslouží k zavedení
VícePredik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16
Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ
Více1. Toky, řezy a Fordův-Fulkersonův algoritmus
1. Toky, řezy a Fordův-Fulkersonův algoritmus V této kapitole nadefinujeme toky v sítích, odvodíme základní věty o nich a také Fordův-Fulkersonův algoritmus pro hledání maximálního toku. Také ukážeme,
VíceObsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie
Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické
VíceDnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.
Předmět: MA4 Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení. Literatura: Kapitola 2 a)-c) a kapitola 4 a)-c) ze skript Karel Rektorys: Matematika 43, ČVUT,
VíceNecht L je lineární prostor nad R. Operaci : L L R nazýváme
Skalární součin axiomatická definice odvození velikosti vektorů a úhlu mezi vektory geometrická interpretace ortogonalita vlastnosti ortonormálních bázi [1] Definice skalárního součinu Necht L je lineární
VícePoužití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
VíceAsymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča
Asymetrická kryptografie a elektronický podpis Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Kryptoanalýza
VíceHEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO
HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO Heuristické algoritmy jsou speciálními algoritmy, které byly vyvinuty pro obtížné úlohy, jejichž řešení je obtížné získat v rozumném čase. Mezi
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška devátá Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 Obsah 1 Kombinatorika: princip inkluze a exkluze 2 Počítání
VíceZadá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
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 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
VíceUsuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
VíceVýroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
VíceParalelní grafové algoritmy
Paralelní grafové algoritmy Značení Minimální kostra grafu Nejkratší cesta z jednoho uzlu Nejkratší cesta mezi všemi dvojicemi uzlů Použité značení Definition Bud G = (V, E) graf. Pro libovolný uzel u
VíceÚvod do kryptologie. 6. března L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března / 41
Testování prvočíselnosti L ubomíra Balková Úvod do kryptologie 6. března 2014 L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března 2014 1 / 41 Problémy 1 Primality problem: Rozhodni,
VíceÚvod. Karel Klouda c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011
MI-MPI, Přednáška č. 11 Karel Klouda karel.klouda@fit.cvut.cz c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011 RSA potřiapadesáté šifrování Co potřebuje k zašifrování zprávy x: číslo n, které
Více9.Cosipočítstěžkýmproblémem
9.Cosipočítstěžkýmproblémem V předchozí kapitole jsme zjistili, že leckteré rozhodovací problémy jsou NPúplné.Ztohoplyne,žejsouekvivalentní,alebohuželtaké,žeanijedenznichzatím neumíme vyřešit v polynomiálním
VíceSložitost. Teoretická informatika Tomáš Foltýnek
Složitost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika 2 Opakování z minulé přednášky Co říká Churchova teze? Jak lze kódovat Turingův stroj? Co je to Univerzální
VíceÚvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
VíceTGH08 - Optimální kostry
TGH08 - Optimální kostry Jan Březina Technical University of Liberec 14. dubna 2015 Problém profesora Borůvky řešil elektrifikaci Moravy Jak propojit N obcí vedením s minimální celkovou délkou. Vedení
Více