Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Klasifikace rozhodovacích problémů
2
Churchova (Turingova) teze
Každý Turingův stroj reprezentuje nějaký algoritmus a každý algoritmus lze realizovat nějakým Turingovým strojem.
3
Univerzální Turingův stroj
Každý Turingův stroj lze popsat konečným počtem symbolů nějaké abecedy. Stačí zakódovat vhodně jeho stavy, páskovou abecedu a přechodovou funkci. Množina všech Turingových strojů je tedy nekonečná, spočetná. Kódy všech Turingových strojů lze uspořádat do posloupnosti T1, T2, ….
4
Algorotmicky nerozhodnutelné problémy
Všechna zadání rozhodovacích problémů zapsaná pomocí konečné abecedy lze lze též seřadit do nekonečné posloupnosti Z1, Z2,…, Zn. Číslo k nazveme červené, pokud se Turingův stroj Tk při zadání Zk zastaví. Předpokládejme, že lze naprogramovat Turingův stroj / funkci cervene(n), která o daném čísle n rozhodne, zda je červené.
5
Algorotmicky nerozhodnutelné problémy
Sestavíme program If cervene(n) then while true do ; else stop; Tento program / Turingův stroj má číslo C Je číslo C červené? Nemůže být, protože by se program Tc zastavil Nemůže ani nebýt Jediná možnost je, že nelze sestavit funkci/Turingův stroj cervene(c)
6
Problém zastavení Turingova stroje
Je dán Turingův stroj v nějaké své konfiguraci. Existuje algoritmus, který rozhoduje zda se tento stroj zastaví či nikoliv? Odpověď na tuto otázku je negativní. Tento poznatek je důležitý pro prokázání nemožnosti algoritmicky prověřit v obecném případě úplnou korektnost programů.
7
Taxonomie problémů, případ NP není P
Všechny rozhodovací problémy Rozhodnutelné problémy Přečíslitelné, ale nerozhodnutelné problémy Nepřečíslitelné problémy NP problémy Nikoli NP problémy Doplňkově přečíslitelné problémy Doplňkově Nepřečíslitelné problémy P problémy NP, ale ne P problémy NP, ale ne NP úplné NP úplné problémy
8
Taxonomie problémů, případ NP je P
Všechny rozhodovací problémy Rozhodnutelné problémy Přečíslitelné, ale nerozhodnutelné problémy Nepřečíslitelné problémy NP problémy Nikoli NP problémy Doplňkově přečíslitelné problémy Doplňkově Nepřečíslitelné problémy P problémy NP, ale ne P problémy Toto vše je to samé, jako NP NP, ale ne NP úplné NP úplné problémy
9
Jak obejít nepřijatelnou časovou složitost
1. Nahradit daný problém jiným problémem, který v polynomiálním čase řešit umíme a jehož řešení „není příliš odlišné“ od řešení původního problému, které nás zajímá, nebo se od něj příliš neliší „v převážné většině případů“. 2. Užít algoritmus pro řešení původního problému, jehož pesimistická časová složitost sice není polynomiální, nalézt však takovou jeho modifikaci, při které k časově neúnosně dlouhému výpočtu dochází spíše výjimečně a ve „většině“ případů je potřebná doba přijatelná. 3. Zpochybnit Churchovu tezi, tedy pokusit se o nalezení takového technického prostředku pro výpočet, který bude „umět více“, než Turingův stroj. To ovšem určitě nemůže být současný počítač založený na von Neumannově architektuře.
10
Paraelní systémy Tradiční paralelizmus pro řešení úloh, kde není znám polynomiálně složitý algoritmus příliš nepomohou. Je-li K procesorů, zvýší se propustnost systému nejvýše K- krát. Třídu složitosti to neovlivní. 10
11
Algoritmy prořezávání stromu
V každé situaci, kdy musíme vyšetřit více možností se věnujeme pouze těm, které jsou z nějakého důvodu perspektivní. Ty, které se jeví jako málo nadějné pro nalezení řešení vynecháme Typická aplikace metody větví a mezí bývá užit v programech pro hru šachy. 11
12
Gradientní algoritmy V řadě optimalizačních algoritmů je vhodné volit metodu postupného přibližování k optimu tak, že přiblížení volíme „tím směrem“, kde se sledovaná hodnota zlepšuje nejrychleji. Je to jako když horolezec chce dosáhnout vrcholu hory tak, že leze tím směrem, kterým je svah nejpříkřejší. V řadě případů to k cíli vede. Ne však vždy. Může se snadno stát, že horolezec, který si dal za cíl zdolat nejvyšší vrchol pohoří vyleze do sedla mezi dvěma vrcholy a na základě zvoleného principu vyleze na ten nižší z obou. 12
13
Genetické algoritmy 13
14
Neuronové sítě 14
15
Kvantové počítače Foton se může nacházet „současně na více místech“ (s různou pravděpodobností). Nemá deterministicky určenou polohu. To dává šanci elementární částice užít přímo pro modelování nedeterministického Turingova stroje. Ve stádiu předběžných úvah a částečných pokusů 15
16
První úspěšný pokus, 1989 Vzdálenost 37cm 16
17
Přenos volným prostrorem
17
18
Přenos po optickém kabelu
18
19
Praktické využití ? 19
20
Chemické počítače Data jsou reprezentována různými koncentracemi chemikálií na vstupu. Výpočet je modelován průběhem chemické reakce. Ve stádiu předběžných úvah a neurčitých záměrů 20
21
DNA počítače Myšlenka založena se schopnosti řetězců aminokyselin DNA vytvářet masivně vlastní kopie paralelně. Výpočet by byl realizován jako biologický experiment. Pokud se aminokyseliny spojí do vhodného řetězce, lze jej považovat za řešení úlohy. Ve stádiu předběžných experimretnů 21
22
První pokusy 1994 Leonard Adleman
23
DNA ČIP Ehud Shapiro (2004) Dokáže vyhodnotit pravdivost jednoduchých formulí výrokové logiky. Například (A and B) or C 23
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.