Alternatívne výpočtové modely^ ^ Alternatívne výpočtové modely Motivácia existencia veľkej triedy prakticky neriešiteľných (a/e rozhodnutelných) problémov, ktore potrebujeme prakticky riešil;! Idea využil! principiýlne ine spôsoby poatania ■ paralelne pocítanie ■ sýbežnosl! ■ kvantove pocítanie ■ molekularne pocítanie ■ nahodnosl! pomože to ??? IB110 Podzim 2010 1 Alternatívne výpočtové modely^Paralelizmus ^ ^ Alternatívne výpočtové modely TI Paralelizmus ^Kvantové po HlVIolekuiarne HNahodnostne IB110 Podzim 2010 2 Alternatívne výpočtové modely^Paralelizmus ^ ^ Princíp paralelizmu Praktický príklad A veža o zaklade 1m x 10 m a výšky 1 m; 1 murýr vs 10 murýrov B veža o zaklade 1m x 1 m a výšky 10 m; 1 murýr vs 10 muraýrov Jednoduchý program A X — 3; Y — 4 Varianta B X — 3; Y — X paralelizovatefné problémy vs vnútorne sekvenčné problémy IB110 Podzim 2010 3 Alternatívne výpočtový modely^Paralelizmus ^ ^ Paralelne sčitovanie IB110 Podzim 2010 4 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelné scitovanie pre sčítanie 1 000 čísel potrebujeme v 1. kroku 500 procesorov v 2. kroku 250 procesorov v 3. kroku 125 procesorov pri vhodne zvolenej dátovej strukture a organizácii komunikácie mezdi procesormi stací na realizáciu celeho výpoctu práve 500 procesorov pre scítanie N císel potrebujeme N/2 procesorov a pocet (paralelných) výpoctových krokov je O(log N) IB110 Podzim 2010 5 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelizmus - poCet procesorov pocet procesorov potrebných k realizácii paralelného výpočtu ako funkcia velkosti vstupnej inStancie (N/2 pre sčítanie N čísel) je to realisticke? indikátor, aké veľké vstupy môžeme riešil! s počtom procesorov, ktoré máme k dispozícii (viz analógia s časovou a priestorovou zložitosiou) ak pocet procesorov, ktore mame k dispozícii, je mensí, moZeme kombinoval! paralelný a sekvencný prístup IB110 Podzim 2010 6 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelené triedenie sekvenčné triedenie zoznamu L spájaním (mergesort) procedúra sort-L (1) ak L má len 1 prvok, je utriedený (2) inak (2.1) rozdel' L na dve polovičky Li a L2 (2.2) sort-Li (2.3) sort-L2 (2.4) spoj dva utriedene zoznamy do jedneho utriedeneho zoznamu počet vykonaných porovnaní je O(N log N) IB110 Podzim 2010 7 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelné triedenie paralelne triedenie zoznamu L spájaním procedúra parallel-sort-L (1) ak L ma len 1 prvok, je utriedený (2) inak (2.1) rozdel' L na dve poloviCký Li a L2 (2.2) súbeZne volaj parallel-sort-L1 a parallel-sort-L2 (2.3) spoj dva utriedene zoznamy do jedneho utriedeneho zoznamu poCet (paralelných) porovnaní je (predpokladáme, že N je mocninou 2) v 1. kroku N postupností dlzký 1; N/2 procesorov; spojenie dvoch postupností = 1 porovnanie v 2. kroku N/2 postupností dlzký 2; N/4 procesorov; spojenie dvoch postupností = 3 porovnania v 3. kroku N/4 postupností dlzký 4; N/8 procesorov; spojenie dvoch postupností = 7 porovnaní spolu 1 + 3 + 7 + 15+-----h (N - 1) < 2N porovnaní IB110 Podzim 2010 8 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelizmus - cas x priestor konvencia: v kontexte paralelných výpočtov sa pod priestorovou zložitosťou rozumie počet procesorov potrebných k realizácii výpočtu časová a priestorova zložitost paralelných výpoctov su spolu tesne zviazanáe zníženie jednej obvykle znamená zvýšenie druhej a naopak IB110 Podzim 2010 9 Alternatívne výpočtové modely^Paralelizmus ^ ^ Paralelizmus - cas x priestor SEQUENTIAL PARALLEL Name Size (no. of processors) Time (worst case) Product (time x size) Bubblesort 1 0(N2) Mergesort 1 0(Nx\ogN) 0(Nx logAO (optimal) Parallelized mergesort 0(N) obsahujuci prvký z A väcsie nez x Krok 3 výstup je Rand-Quicksort(A<), x, Rand-Quicksort(A>) ocakavana zlozitost algoritmu je O(N log N) IB110 Podzim 2010 39 Alternatívne výpočtové modely^ Núhodnostné algoritmy ^ ^ Typy núhodnostnych algoritmov o s ohranicenou pravdepodobnostou je odpoved' nespravna príklad: randomizovany protokol pre problem rovnosti s odpoved' je vzdy spravna; ciel': ocakavanú zlozitost Las Vegas algoritmu pre problem je lepsia nez zlozitosl! (deterministickeho) algorimtu príklad: randomizovany Quicksort IB110 Podžim 2010 40 Alternatívne vípočtove modely^ Níhodnostne algoritmy ^ ^ Nahodnostne zložitostne triedy Pravdepodobnostný Turingov stroj pracuje ako nedeterministický TS s tým rozdielom, ze nedeterministickí výber kroku výpoctu interpretujeme ako níhodnostní volbu Trieda RP obsahuje rozhodovacie problemý, pre ktore existuje polýnomialne casovo ohranicený pravdepodobnostný Turingov stroj s vlastnostou: ak odpoveďou pre vstup X je „Nie", tak s pravdepodobnostou 1 stroj da spraívnu odpoved ak odpoved'ou je „Ano", tak stroj s pravdepodobnostou > 1/2 dí yes. P C RP C NP nahodnostne algoritmy nemôžu efektívne riesit problémy mimo NP; problémy z NP ale dokážu (často) riešit s väčšou efektivitou IB110 Podzim 2010 41