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.

Slides:



Advertisements
Podobné prezentace
Přednáška 10 Určitý integrál
Advertisements

Statistická indukce Teorie odhadu.
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
ALGO – Algoritmizace 1. cvičení
ROZHODOVACÍ PROCESY PRO VÍCECESTNÉ TELEMATICKÉ APLIKACE Filip Ekl
Genetické algoritmy. V průběhu výpočtu používají náhodné operace. Algoritmus není jednoznačný, může projít více cestami. Nezaručují nalezení řešení.
Lineární programování Simplexový algoritmus
LOGISTICKÉ SYSTÉMY 7/14.
Optimalizační úlohy i pro nadané žáky základních škol
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é.
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í.
Řadicí algoritmy autor: Tadeáš Berkman.
Seminář – Základy programování
Fakulta životního prostředí Katedra informatiky a geoinformatiky
STANOVENÍ NEJISTOT PŘI VÝPOŠTU KONTAMINACE ZASAŽENÉHO ÚZEMÍ
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.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Složitost.
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.
Predikátová logika.
Optimalizace versus simulace 9.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Vztah bezkontextových jazyků a ZA
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Umělá inteligence Minského definice: UI je věda o vytváření strojů nebo systémů, které budou při řešení určitého úkolu užívat takového postupu, který –
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é.
Odhad metodou maximální věrohodnost
P-těžké, np-těžké a np-úplné problémy
Experimentální fyzika I. 2
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Algoritmus a jeho vlastnosti
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.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Churchova (Turingova) teze
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Monte Carlo simulace Experimentální fyzika I/3. Princip metody Problémy které nelze řešit analyticky je možné modelovat na základě statistického chování.
NP-úplné problémy v grafech
Mikroprocesor.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Optimalizace versus simulace 8.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Pokročilé architektury počítačů (PAP_16.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
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É.
Stromy a kostry. Definice stromu Souvislý (neorientovaný) graf – mezi každými dvěma vrcholy existuje (alespoň jedna) cesta Strom je souvislý graf, který.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
(řešení pomocí diskriminantu)
Základní pojmy Standard sítě Důvod vzniku standardů
Churchova (Turingova) teze
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
McEllisova šifra.
Jaderné reakce (Učebnice strana 133 – 135) Jádra některých nuklidů jsou nestabilní a bez vnějšího zásahu se samovolně přeměňují za současného vysílání.
Soustavy lineárních rovnic Matematika 9. ročník Creation IP&RK.
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.
Lineární rovnice Druhy řešení.
Definiční obor a obor hodnot
Soustava lineárních rovnic
1. ročník oboru Mechanik opravář motorových vozidel
Soustava dvou lineárních rovnic se dvěma neznámými
Lineární rovnice Druhy řešení.
Soustava tří lineárních rovnic Řešení Gaussovou eliminační metodou
Lineární rovnice Druhy řešení.
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.
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.
Výpočetní složitost algoritmů
Taxonomie problémů, případ NP není P
Soustavy lineárních rovnic
Klasifikace rozhodovacích problémů
Definiční obory. Množiny řešení. Intervaly.
Soustava dvou lineárních rovnic se dvěma neznámými
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

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 kroků, které algoritmus musí provést, než problém rozhodne.

Průměrná a pesimistická složitost u téhož algoritmu i při stejném rozsahu zpracovávaných dat může výpočet trvat různou dobu Je tedy třeba rozlišovat – Pesimistickou výpočetní složitost – Průměrnou výpočetní složitost

Funkce časové složitosti Doba výpočtu nezávisí pouze na algoritmu, ale i na rozsahu dat, s kterými algoritmus pracuje. Tomuto údaji budeme říkat rozměr vstupu charakterizován přirozeným číslem. Časovou složitost lze vyjádřit jako funkci, která rozměru vstupu přiřazuje počet operací potřebných pro provední výpočtu.

Asymptotická složitost U těchto funkcí se zajímáme především o jejich růst v závislosti na růstu rozměru vstupu. Jde tedy o asymptotické chování této funkce při neomezeném růstu rozměru vstupu. Toto chování posuzujeme porovnáním s chováním běžně známých funkcí, o jejichž růstu máme určitou představu.

Typické třídy výpočetní složitosti Θ (1) – růst nezáleží na rozměru vstupu Θ (n) – lineární růst (složitost je přímo úměrná rozměru dat) Θ (n × log n) – tento růst dosahují „chytré“ algoritmy řazení („třídění“) Θ (n 2 ) – kvadratický růst, například Dijskrův algoritmus Θ (n 3 ) – kubický růst typický pro některé operace s maticemi a algoritmy řešení soustav lineárních rovnic Θ (n k ) pro nějaké přirozené číslo k z N – polynomiální růst Θ (2 n ), exponenciální růst Θ (n!) – faktoriální růst.

Srovnání doby výpočtu log 2 nN N  log 2 n n2n2 n3n3 n4n4 2n2n n!n! 2 10  s20  s 40  s80  s160  s40  s20  s 5 23,1  s50  s116  s250  s 1,25ms6,25ms 320  s 1,2ms 10 33,2  s100  s332  s 1ms10ms100ms10,2 ms1,17s 15 39,1  s150  s587  s 2,25ms33,8ms507ms328ms 15,1 days 20 43,2  s200  s864  s 4ms80ms1,6s10,5s years 25 46,4  s250  s 1,16ms6,25ms156ms3,91s5,59min  30 19,1  s300  s 5,73ms9ms270ms37,5s2,98h  50 56,4  s500  s 28,2ms25ms1,25s1,04min357years  ,4  s 1ms6,64ms100ms10s16,7min  ,4  s 2ms15,3ms400ms1,34min4,47h  50089,4  s5ms44,4ms2,5s4,17min13,9h 

Srovnání doby výpočtu Původ ní 2-krát5-krát10-krát 100- krát krát (n)(n) (n2)(n2) (n3)(n3)  (2 n )  (n!)

Třídy nedeterministické složitosti Jestliže existuje nějaký nedeterministický Turingův stroj, který řeší rozhodovací problém pro všechny přípustné vstupy o rozměru n za čas úměrný f(n) kroků (při vhodné volbě posloupnosti svých po sobě bezprostředně následujících konfigurací), potom říkáme, že tento rozhodovací problém patří do třídy nedeterministické časové složitosti NT(f(n)).

Vztah deterministické a nedeterministické složitosti Třídy deterministické časové složitosti T(f(n)) představují horní odhady složitosti nalezení řešení problémů „bez nápovědy“. Tedy čas pro nalezení dosud neznámého řešení problémů. Třídy nedeterministické časové složitosti NT(f(n)) představují horní odhady složitosti ověření, zda nalezené řešení skutečně řešením je. Tedy třídy složitosti „zkoušky“ správnosti řešení, které již známe.

Klasifikace problémů Problémy, které mají neakceptovatelnou nedeterministickou časovou složitost nejsou pro praxi příliš zajímavé. U problémů, které mají přijatelnou nedeterministickou časovou složitost můžeme řešení zkontrolovat. Můžeme je tedy využít. U řady důležitých problémů tohoto typu však neznáme algoritmus řešení, který by patřil do přijatelné třídy časové deterministické složitosti. Řešení tedy neumíme při netriviálním rozměru vstupu nalézt v rozumném čase.

P-těžké problémy Polynomiálně časově těžké nebo je časově P- těžké problémy jsou problémy třídy Jedná se tedy o problémy, jejichž řešení jsme schopni v „rozumném čase nalézt“. Problémy, které do této třídy nepatří je třeba považovat za “prakticky neřešitelné” pro netriviální rozměry vstupních dat.

NP těžké problémy Podobně lze problémy klasifikovat z hlediska nedeterministické časové složitosti. Třída NP těžkých problémů je definována To jsou problémy, jejichž řešení jsme schopni v rozumném čase zkontrolovat a využít.

Problém NP vers P Přes velké úsilí lidstva nebyla dosud zodpovězena zásadní otázka, zda

NP úplné problémy Část NP-těžkých problémů Není pro ně znám polynomiální deterministický algoritmus řešení. Mají navíc tu vlastnost, že kdybychom aspoň pro jediný z těchto problémů polynomiální algoritmus objevili, dovedli bychom v polynomiálním čase řešit všechny NP-těžké problémy a dokázali tak rovnost P TIME = NP TIME. Proto jsou problémy této třídy tak zajímavé.

Příklady NP úplných problémů Problém splnitelnosti Boolovské formule (SAT problém) Pro formuli zapsanou v konjunktivně disjunktivní normální formě zjistit, zda existuje nějaké pravdivostní ohodnocení TRUE / FALSE všech proměnných ve formuli, tak, aby výsledná pravdivostní hodnota formule byla TRUE, či nikoliv

Příklady NP úplných problémů Problém obchodního cestujícího: – Je dána množina míst. Vzdálenosti mezi libovolnými dvěma místy jsou dány jako celá kladná čísla. Existuje hamiltonovská cesta taková, že součet všech vzdáleností mezi sousedními místy je nejvýše roven zadanému kladnému číslu nebo neexistuje? Problém dvou loupežníků: Je dána množina n přirozených čísel. Je možné tuto množinu rozdělit na dvě disjunktní podmnožiny tak, aby součet čísel v obou těchto podmnožinách byl stejný nebo to možné není?

Příklady NP úplných problémů Problém řešení kvadratické diofantické rovnice: – Jsou dána přirozená čísla a, b a c. Existují přirozená čísla x a y tak, že a ⋅ x 2 + b ⋅ y = c nebo neexistují? Problém prvočísel: – Pro dané přirozené číslo rozhodnout, zda je prvočíslem, či nikoliv. (je třeba si uvědomit, co je zde rozměrem vstupu)

Příklady NP úplných problémů Problém ruksaku: – Máme k dispozici n předmětů, každý má stanovenou váhu v a cenu c. Lze vybrat podmnožinu předmětů tak, aby jejich celková váha byla menší nebo rovna V a celková cena větší nebo rovna C? – Problém optimalizace programu: – Je možné daný algoritmus realizovat pouze užitím k paměťových registrů nebo nelze, je-li k zadané číslo (rozsah paměti, která je k dispozici)?

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é problémy Doplňkově přečíslitelné problémy Rozhodnutelné problémy Nikoli NP problémy NP problémy NP, ale ne P problémy NP, ale ne NP úplné NP úplné problémy

Taxonomie problémů, případ NP je P Všechny rozhodovací problémy Nepřečíslitelné problémy Přečíslitelné, ale nerozhodnutelné problémy Doplňkově Nepřečíslitelné problémy Doplňkově přečíslitelné problémy Rozhodnutelné problémy Nikoli NP problémy NP problémy NP, ale ne P problémy NP, ale ne NP úplné NP úplné problémy Toto vše je to samé, jako NP

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.

Paraelní systémy Tradiční paralelizmus (výpočetní systémy na principu SIMD, MIMD, multicube, … ) 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í.

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.

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.

Genetické algoritmy

Neuronové sítě

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ů

První úspěšný pokus, 1989 Vzdálenost 37cm

Přenos volným prostrorem

Přenos po optickém kabelu

Praktické využití ?

Firma MagiQ

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ů

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ů

DNA ČIP Ehud Shapiro (2004) Dokáže vyhodnotit pravdivost jednoduchých formulí výrokové logiky. Například (A and B) or C

Analogové počítače Jsou starší než číslicové. Ke škodě věci se na ně poněkud pozapomenulo. Vytvoří se fyzikální, obvykle spojitě pracující model děje (mechanický, hydraulický, elektromagnetický, …), který se řídí stejnými nebo podobnými zákony jako řešený problém. Nechá se proběhnout vývoj na tomto modelu. Výsledek poskytne informaci o řešení původního problému. Dávno známé, dnes možná neprávem poněkud opomíjené

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 či jiného modelu nedeterministického výpočtu. Ve stádiu předběžných úvah a neurčitých záměrů

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ů

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. Lepší perspektivu skýtají možná peptidy (12 bází místo 4 bází u DNA). Ve stádiu předběžných experimretnů

Analogové počítače Jsou starší než číslicové. Ke škodě věci se na ně poněkud pozapomenulo. Vytvoří se fyzikální, obvykle spojitě pracující model děje (mechanický, hydraulický, elektromagnetický, …), který se řídí stejnými nebo podobnými zákony jako řešený problém. Nechá se proběhnout vývoj na tomto modelu. Výsledek poskytne informaci o řešení původního problému. Dávno známé, dnes možná neprávem poněkud opomíjené