Paralelné algoritmy, cast c. 3

Podobné dokumenty
Paralelné algoritmy, cast c. 3

Paralelné algoritmy, cast c. 2

Kolmogorovská zložitost

Algoritmizácia a programovanie - Príkazy

Relačné a logické bázy dát

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Pokrocilé spracovanie obrazu - Fourierová transformácia

NÁVRH UČEBNÝCH OSNOV PRE 1

Snímka 1

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Microsoft Word - skripta3b.doc

Klasická metóda CPM

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

1.1 Základné princípy práce Turingovho stroja 1 1 Turingove stroje 1.1 Základné princípy práce Turingovho stroja Predstavme si kol ajnice pevný, na je

Informačné technológie

Prenosový kanál a jeho kapacita

Teória pravdepodobnosti Zákony velkých císel

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Operačná analýza 2

Vhodnosť lokálneho ohodnocovania grafu v sociálnej sieti obchodného registra SR Peter Vojtek Mária Bieliková Fakulta informatiky a informačných techno

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Priebeh funkcie

12Prednaska

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Matematika 2 - cast: Funkcia viac premenných

Úvodná prednáška z RaL

Snímka 1

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

Siete vytvorené z korelácií casových radov

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Viacnásobne použitelné oblasti spolahlivosti pre viacrozmernú kalibráciu

unhbox group let unhbox hbox {Sglobal mathchardef spacefactor }accent 20 Segroup spacefactor acce

Pokrocilé programovanie XI - Diagonalizácia matíc

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Microsoft Word - Argumentation_presentation.doc

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

Microsoft Word - Transparencies03.doc

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Axióma výberu

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

Analýza toku dát Ján Šturc Zima 2010 Kompilátory

História

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Microsoft Word - Zaver.pisomka_januar2010.doc

enum

Metódy násobenie v stredoveku

trafo

--1/7-- ZŠ Scratch III 10/20 UK M. Tomcsányiová verzia HRA NIM 13 Oblasť informatiky / Téma Algoritmické riešenie problémov / Hra NIM 13 I

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Olympiáda v informatike ročník (2012/2013) zadania domáceho kola kategórie A a B Informácie a pravidlá Pre koho je súťaž určená? Kat

Microsoft Word - mnohouholnik.doc

03_ControlFlow.dvi

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin

MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5

MO_pred1

NSK Karta PDF

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Štruktúra Modelu Výsledky odhadu Záver Trh práce v krajinách strednej Európy: Small Search and Matching Model Martin Železník Národná Banka Slovenska

Pokrocilé programovanie II - Nelineárne iteracné schémy, chaos, fraktály

Identity Lifecycle Management

Photo Album

Microsoft Word - FRI”U M 2005 forma B k¾úè.doc

Úlohy o veľkých číslach 6. Deliteľnosť In: Ivan Korec (author): Úlohy o veľkých číslach. (Slovak). Praha: Mladá fronta, pp Persistent UR

Verejná konzultácia k článku 18 Nariadenia Komisie (EÚ) 2017/2195, ktorým sa ustanovuje usmernenie o zabezpečovaní rovnováhy v elektrizačnej sústave P

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

Projektovanie výrobných systémov

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

STRUČNÝ NÁVOD KU IP-COACHU

Titulná strana Arial 30 bodov

Oceňovanie amerických opcií p. 1/17 Oceňovanie amerických opcií Beáta Stehlíková Finančné deriváty, FMFI UK Bratislava

1

Rozdeľovanie IT zákaziek UX Peter Kulich

Príklad 9 - Lisovanie+ Vylúhovanie+ Sušenie 3. Bilančná schéma 1. Zadanie príkladu Bilančná schéma: m6 =? w6a = m4 =? kg 0.1 Zvolený základ výpočtu: w

Numerické riešenie všeobecnej (klasickej) DMPK rovnice.

Katalóg cieľových požiadaviek k maturitnej skúške

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Microsoft PowerPoint - Prog_p08.ppt

1

Jozef Kiseľák Sada úloh na precvičenie VIII. 15. máj 2014 A. (a) (b) 1

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

midterm2014_1

Tomáš Jelínek - včely vyhľadávanie

Dokonalé a spriatelené čísla 3. kapitola. Pojem hustoty množiny v teorii čísel a dokonalé čísla In: Tibor Šalát (author): Dokonalé a spriatelené čísla

Priklad 9 - LisovanieVyluhovanieSusenie.xls

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

GIS ako nástroj priestorového rozhodovania

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Strana 1 / 7 Stav účtu Názov a sídlo účastníka: Základná škola Jozefa Kollára Ul. L. Svobodu Banská Štiavnica 1 IČO: Adresa platite

Funkcie viac premenných

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Stat1_CV1 VES

Prepis:

Paralelné algoritmy, čast č. 3 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2011/2012 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 1 / 23

Obsah 1 Simulácia sekvenčných výpočtov na PRAMe v čase O(1) 2 Simulácie Turingových strojov na PRAMe 3 Simulácie PRAMu na Turingových strojoch František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 2 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Úvod Otázky: 1 Aké najvyššie zrýchlenie sa dá dosiahnut na PRAMe? František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 3 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Úvod Otázky: 1 Aké najvyššie zrýchlenie sa dá dosiahnut na PRAMe? 2 Je možné všetky problémy z P zrýchlit exponenciálne na rozumnom paralelnom modele, tj. na modele spĺňajúcom paralelnú tézu? František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 3 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Úvod Otázky: 1 Aké najvyššie zrýchlenie sa dá dosiahnut na PRAMe? 2 Je možné všetky problémy z P zrýchlit exponenciálne na rozumnom paralelnom modele, tj. na modele spĺňajúcom paralelnú tézu? František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 3 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Úvod Otázky: 1 Aké najvyššie zrýchlenie sa dá dosiahnut na PRAMe? 2 Je možné všetky problémy z P zrýchlit exponenciálne na rozumnom paralelnom modele, tj. na modele spĺňajúcom paralelnú tézu? Definícia Hovoríme, že funkcia T : N N je ws-konštruovatel ná (word size), ak PRAM so šírkou slova O(T (n)) môže počítat T (n) v konštantnom čase zo vstupu n. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 3 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Úvod Otázky: 1 Aké najvyššie zrýchlenie sa dá dosiahnut na PRAMe? 2 Je možné všetky problémy z P zrýchlit exponenciálne na rozumnom paralelnom modele, tj. na modele spĺňajúcom paralelnú tézu? Definícia Hovoríme, že funkcia T : N N je ws-konštruovatel ná (word size), ak PRAM so šírkou slova O(T (n)) môže počítat T (n) v konštantnom čase zo vstupu n. mnoho dôležitých funkcií je ws-konštruovatel ných František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 3 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Lemma (Parberry, Schnitger) Nech T (n) je ws-konštruovatel ná. Potom PRAM s obmedzenou sadu aritmetických inštrukcií môže simulovat k-páskový (deterministický) T (n) časovo obmedzený Turingov stroj v konštantnom čase a so šírkou slova O(T (n)). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 4 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Lemma (Parberry, Schnitger) Nech T (n) je ws-konštruovatel ná. Potom PRAM s obmedzenou sadu aritmetických inštrukcií môže simulovat k-páskový (deterministický) T (n) časovo obmedzený Turingov stroj v konštantnom čase a so šírkou slova O(T (n)). Dôkaz: je daný Turingov stroj M = (Q, Σ, δ, q 0, F); jeho inštrukcie očíslujeme František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 4 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Lemma (Parberry, Schnitger) Nech T (n) je ws-konštruovatel ná. Potom PRAM s obmedzenou sadu aritmetických inštrukcií môže simulovat k-páskový (deterministický) T (n) časovo obmedzený Turingov stroj v konštantnom čase a so šírkou slova O(T (n)). Dôkaz: je daný Turingov stroj M = (Q, Σ, δ, q 0, F); jeho inštrukcie očíslujeme procesory rozdelíme do 2 O(T (n)) tímov jeden tím pre každú postupnost inštrukcii r 0, r 1,..., r T (n) 1 Turingovho stroja M. Každý tím bude mat 2 O(T (n)) procesorov. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 4 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Lemma (Parberry, Schnitger) Nech T (n) je ws-konštruovatel ná. Potom PRAM s obmedzenou sadu aritmetických inštrukcií môže simulovat k-páskový (deterministický) T (n) časovo obmedzený Turingov stroj v konštantnom čase a so šírkou slova O(T (n)). Dôkaz: je daný Turingov stroj M = (Q, Σ, δ, q 0, F); jeho inštrukcie očíslujeme procesory rozdelíme do 2 O(T (n)) tímov jeden tím pre každú postupnost inštrukcii r 0, r 1,..., r T (n) 1 Turingovho stroja M. Každý tím bude mat 2 O(T (n)) procesorov. Každý tím najprv určí polohy hláv na všetkých k páskach vo všetkých krokoch výpočtu M čiastočné súčty pohybov hlavy podl a postupnosti inštrukcií. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 4 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): 1 Ak v kroku t hlava navštívila políčko prvý krát, tak symbol čítaný inštrukciou r t musí byt symbol, ktorý tam bol v počiatočnej konfigurácii TS M. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): 1 Ak v kroku t hlava navštívila políčko prvý krát, tak symbol čítaný inštrukciou r t musí byt symbol, ktorý tam bol v počiatočnej konfigurácii TS M. 2 Ak hlava navštívila toto políčko pred okamžikom t naposledy v čase s, tak symbol zapísaný inštrukciou r s sa musí zhodovat so symbolom čítaným inštrukciou r t. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): 1 Ak v kroku t hlava navštívila políčko prvý krát, tak symbol čítaný inštrukciou r t musí byt symbol, ktorý tam bol v počiatočnej konfigurácii TS M. 2 Ak hlava navštívila toto políčko pred okamžikom t naposledy v čase s, tak symbol zapísaný inštrukciou r s sa musí zhodovat so symbolom čítaným inštrukciou r t. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): 1 Ak v kroku t hlava navštívila políčko prvý krát, tak symbol čítaný inštrukciou r t musí byt symbol, ktorý tam bol v počiatočnej konfigurácii TS M. 2 Ak hlava navštívila toto políčko pred okamžikom t naposledy v čase s, tak symbol zapísaný inštrukciou r s sa musí zhodovat so symbolom čítaným inštrukciou r t. Ako spočítat funkcia prev. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe overit : 1 je postupnost stavov určená postupnost ou inštrukcií uskutočnitel ná? Inštrukcia r 0 začína v q 0, ak inštrukcia r i 1 prevedie M do stavu q i, tak inštrukcia r i začína v stave q i. 2 pre každú z k pások a každý krok t, 0 t < T (n): 1 Ak v kroku t hlava navštívila políčko prvý krát, tak symbol čítaný inštrukciou r t musí byt symbol, ktorý tam bol v počiatočnej konfigurácii TS M. 2 Ak hlava navštívila toto políčko pred okamžikom t naposledy v čase s, tak symbol zapísaný inštrukciou r s sa musí zhodovat so symbolom čítaným inštrukciou r t. Ako spočítat funkcia prev. práve jeden tím zistí, že jeho postupnost inštrukcií je správna, zistí, či stav dosiahnutý v r t je koncový. Výsledok zapíše manažér tímu do spoločnej pamäte. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 5 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Počet proc. Čas Šírka slova Model 2 O(T (n)) O(1) O(T (n)) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 6 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Počet proc. Čas Šírka slova Model 2 O(T (n)) O(1) O(T (n)) COMMON l ahko sa dá zovšeobecnit pre TS počítajúce funkciu využije sa last() František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 6 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Počet proc. Čas Šírka slova Model 2 O(T (n)) O(1) O(T (n)) COMMON l ahko sa dá zovšeobecnit pre TS počítajúce funkciu využije sa last() zrejme nereálny výsledok František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 6 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe Počet proc. Čas Šírka slova Model 2 O(T (n)) O(1) O(T (n)) COMMON l ahko sa dá zovšeobecnit pre TS počítajúce funkciu využije sa last() zrejme nereálny výsledok ak šírka slova W (n) = T (n) O(1), tak by PRAM mohol spĺňat paralelnú tézu BUDE NA PREDNÁŠKE NESKÔR! Ukážeme, že potom je možné dosiahnut l ubovol né polynomické zrýchlenie. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 6 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Veta Nech funkcia B : N N je ws-konštruovatel ná a PRAM so šírkou slova W (n) môže simulovat l ubovol ný B(n) časovo obmedzený deterministický TS v čase C(n). Potom PRAM so šírkou slova O(W (n) + B(n) + log T (n)) môže simulovat l ubovol ný T (n) časovo obmedzený deterministický TS v čase ( ) T (n) O B(n) + C(n). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 7 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Veta Nech funkcia B : N N je ws-konštruovatel ná a PRAM so šírkou slova W (n) môže simulovat l ubovol ný B(n) časovo obmedzený deterministický TS v čase C(n). Potom PRAM so šírkou slova O(W (n) + B(n) + log T (n)) môže simulovat l ubovol ný T (n) časovo obmedzený deterministický TS v čase ( ) T (n) O B(n) + C(n). Dôkaz: Nech je daný T (n) časovo obmedzený Turingov stroj M = (Q, Σ, δ, q 0, F) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 7 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Simulácia bude mat O( T (n) B(n) ) fáz, z ktorých každá bude zodpovedat B(n) krokom výpočtu stroja M. Budeme počítat konfigurácie na konci každej fázy. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 8 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Simulácia bude mat O( T (n) B(n) ) fáz, z ktorých každá bude zodpovedat B(n) krokom výpočtu stroja M. Budeme počítat konfigurácie na konci každej fázy. zóna čast pásky, ktorá sa môže zmenit počas jednej fázy, tj. k(2b(n) 1) políčok pásky, ktoré sú vo vzdialenosti max. B(n) od pozície hlavy na začiatku fázy. TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 8 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. predvýpočet: tabul ka s 2 O(B(n)) položkami. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. predvýpočet: tabul ka s 2 O(B(n)) položkami. Index obsah zóny na začiatku fázy, František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. predvýpočet: tabul ka s 2 O(B(n)) položkami. Index obsah zóny na začiatku fázy, obsah políčka obsah zóny na konci fázy (tj. po B(n) krokoch výpočtu TS M). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. predvýpočet: tabul ka s 2 O(B(n)) položkami. Index obsah zóny na začiatku fázy, obsah políčka obsah zóny na konci fázy (tj. po B(n) krokoch výpočtu TS M). Na predvýpočet je treba šírka slova O(W (n)) bitov a čas C(n). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova TS zóna na začiatku fázy zóna po B(n) krokoch... k B(n) 1 B(n) 1 V priebehu fázy sa simulácia riadi iba obsahom zóny. Na konci fázy sa obsah zóny aktualizuje. predvýpočet: tabul ka s 2 O(B(n)) položkami. Index obsah zóny na začiatku fázy, obsah políčka obsah zóny na konci fázy (tj. po B(n) krokoch výpočtu TS M). Na predvýpočet je treba šírka slova O(W (n)) bitov a čas C(n). dá sa zovšeobecnit na TS počítajúci funkciu: využijeme funkciu last František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 9 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Celkom O(C(n) + T (n) B(n) ). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Celkom O(C(n) + T (n) B(n) ). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Každá fáza: O(1) (obmedzená sada aritmetických inštrukcií). Celkom O(C(n) + T (n) B(n) ). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Každá fáza: O(1) (obmedzená sada aritmetických inštrukcií). Celkom O(C(n) + T (n) B(n) ). Šírka slova je maximum z: František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Každá fáza: O(1) (obmedzená sada aritmetických inštrukcií). Celkom O(C(n) + T (n) B(n) ). Šírka slova je maximum z: O(W (n) + B(n)) pri predvýpočte, František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Každá fáza: O(1) (obmedzená sada aritmetických inštrukcií). Celkom O(C(n) + T (n) B(n) ). Šírka slova je maximum z: O(W (n) + B(n)) pri predvýpočte, O(B(n)) na identifikačné čísla procesorov pre všetky fázy. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe s obmedzenou šírkou slova Na začiatku fázy určíme obsah zóny vykrojením úsekov pások do vzdialenosti B(n) 1 od polôh hláv. Z tabul ky zistíme obsah zóny po B(n) krokoch. Aktualizujeme obsah zóny a polohy hláv na konci fázy. T (n) krokov stroja M vyžaduje T (n) B(n) fáz. časová zložitost : Predvýpočet: O(C(n)). Každá fáza: O(1) (obmedzená sada aritmetických inštrukcií). Celkom O(C(n) + T (n) B(n) ). Šírka slova je maximum z: O(W (n) + B(n)) pri predvýpočte, O(B(n)) na identifikačné čísla procesorov pre všetky fázy. O(log T (n)) na uloženie polôh hláv v konfigurácii. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 10 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe spĺňajúcom paralelnú tézu František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 11 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe spĺňajúcom paralelnú tézu Veta Nech funkcia B : N N je ws-konštruovatel ná funkcia. T (n) časovo obmedzený det. TS sa dá simulovat v čase O( T (n) B(n) ) s PRAMom so šírkou slova O(B(n) + log T (n)). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 11 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) Simulácia Turingovho stroja na PRAMe spĺňajúcom paralelnú tézu Veta Nech funkcia B : N N je ws-konštruovatel ná funkcia. T (n) časovo obmedzený det. TS sa dá simulovat v čase O( T (n) B(n) ) s PRAMom so šírkou slova O(B(n) + log T (n)). Dôkaz: L ubovol ný B(n) časovo obmedzený TS sa dá simulovat v konštantnom čase na PRAMe so šírkou slova O(B(n)) dosadíme do predchádzajúcej vety. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 11 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) L ubovol né polynomické zrýchlenie je možné na PRAMe spĺňajúcom paralelnú tézu Ak T (n) je ws-konštruovatel ná, tak aj B(n) = T (n) ε je ws-konštruovatel ná. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 12 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) L ubovol né polynomické zrýchlenie je možné na PRAMe spĺňajúcom paralelnú tézu Ak T (n) je ws-konštruovatel ná, tak aj B(n) = T (n) ε je ws-konštruovatel ná. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 12 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) L ubovol né polynomické zrýchlenie je možné na PRAMe spĺňajúcom paralelnú tézu Ak T (n) je ws-konštruovatel ná, tak aj B(n) = T (n) ε je ws-konštruovatel ná. Dôsledok Ak je T (n) ws-konštruovatel ná funkcia, potom T (n) časovo obmedzený det. TS sa dá simulovat v čase O(T (n) 1 ε ), pre l ubovol né reálne číslo ε > 0, PRAMom spĺňajúcom paralelnú tézu. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 12 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) L ubovol né polynomické zrýchlenie je možné na PRAMe spĺňajúcom paralelnú tézu Ak T (n) je ws-konštruovatel ná, tak aj B(n) = T (n) ε je ws-konštruovatel ná. Dôsledok Ak je T (n) ws-konštruovatel ná funkcia, potom T (n) časovo obmedzený det. TS sa dá simulovat v čase O(T (n) 1 ε ), pre l ubovol né reálne číslo ε > 0, PRAMom spĺňajúcom paralelnú tézu. (Pozn. To že PRAM so šírkou slova W (n) = T (n) ε počítajúci v čase O(T (n) 1 ε ) spĺňa paralelnú tézu BUDE NA PREDNÁŠKE NESKÔR!) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 12 / 23

Simulácia sekvenčných výpočtov na PRAMe v čase O(1) L ubovol né polynomické zrýchlenie je možné na PRAMe spĺňajúcom paralelnú tézu Ak T (n) je ws-konštruovatel ná, tak aj B(n) = T (n) ε je ws-konštruovatel ná. Dôsledok Ak je T (n) ws-konštruovatel ná funkcia, potom T (n) časovo obmedzený det. TS sa dá simulovat v čase O(T (n) 1 ε ), pre l ubovol né reálne číslo ε > 0, PRAMom spĺňajúcom paralelnú tézu. (Pozn. To že PRAM so šírkou slova W (n) = T (n) ε počítajúci v čase O(T (n) 1 ε ) spĺňa paralelnú tézu BUDE NA PREDNÁŠKE NESKÔR!) Nevieme, či je možné exponenciálne zrýchlenie (polylogaritmický čas) pre úlohy z P, ale l ubovol né polynomické zrýchlenie je možné! František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 12 / 23

Simulácie Turingových strojov na PRAMe Paralelná téza paralelný čas sekvenčný priestor 1 Aby PRAM spĺňal paralelnú tézu, tak je ho treba obmedzit František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 13 / 23

Paralelná téza Simulácie Turingových strojov na PRAMe paralelný čas sekvenčný priestor 1 Aby PRAM spĺňal paralelnú tézu, tak je ho treba obmedzit šírku slova František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 13 / 23

Paralelná téza Simulácie Turingových strojov na PRAMe paralelný čas sekvenčný priestor 1 Aby PRAM spĺňal paralelnú tézu, tak je ho treba obmedzit šírku slova sadu aritmetických inštrukcií František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 13 / 23

Paralelná téza Simulácie Turingových strojov na PRAMe paralelný čas sekvenčný priestor 1 Aby PRAM spĺňal paralelnú tézu, tak je ho treba obmedzit šírku slova sadu aritmetických inštrukcií počet procesorov František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 13 / 23

Paralelná téza Simulácie Turingových strojov na PRAMe paralelný čas sekvenčný priestor 1 Aby PRAM spĺňal paralelnú tézu, tak je ho treba obmedzit šírku slova sadu aritmetických inštrukcií počet procesorov 2 Paralelná téza ohraničuje, aké zrýchlenie sa dá dosiahnut na rozumnom modele. Napr. to čo sa dá vyriešit na rozumnom modele v čase log O(1) n, tak sa dá vyriešit sekvenčne v polylogaritmickom priestore (a naopak) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 13 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Vstup: orientovaný graf G = (V, E), V = {1,..., n} je množina vrcholov, E je množina orientovaných hrán zadaná maticou susednosti A[i, j] = true (i, j) E. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 14 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Vstup: orientovaný graf G = (V, E), V = {1,..., n} je množina vrcholov, E je množina orientovaných hrán zadaná maticou susednosti A[i, j] = true (i, j) E. Výstup: graf tranzitívneho uzáveru G = (V, E ), kde (x, y) E v G existuje cesta z x do y. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 14 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Vstup: orientovaný graf G = (V, E), V = {1,..., n} je množina vrcholov, E je množina orientovaných hrán zadaná maticou susednosti A[i, j] = true (i, j) E. Výstup: graf tranzitívneho uzáveru G = (V, E ), kde (x, y) E v G existuje cesta z x do y. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 14 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Vstup: orientovaný graf G = (V, E), V = {1,..., n} je množina vrcholov, E je množina orientovaných hrán zadaná maticou susednosti A[i, j] = true (i, j) E. Výstup: graf tranzitívneho uzáveru G = (V, E ), kde (x, y) E v G existuje cesta z x do y. Alg.: n 3 procesorov PID: i j k František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 14 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Vstup: orientovaný graf G = (V, E), V = {1,..., n} je množina vrcholov, E je množina orientovaných hrán zadaná maticou susednosti A[i, j] = true (i, j) E. Výstup: graf tranzitívneho uzáveru G = (V, E ), kde (x, y) E v G existuje cesta z x do y. Alg.: n 3 procesorov PID: i j k i := PID ; n 2 j := PID mod n2 n ; k := PID mod n; A[i, i] := true; L := 1; while L < n do begin if A[i, k] and A[k, j] then A[i, j] := true; L := L 2; end; František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 14 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Na konci t-tej iterácie cyklu je L = 2 t a 0 i, j < n platí A[i, j] = true v G cesta z i do j dĺžky max. L (dokáže sa indukciou podl a t) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 15 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Na konci t-tej iterácie cyklu je L = 2 t a 0 i, j < n platí A[i, j] = true v G cesta z i do j dĺžky max. L (dokáže sa indukciou podl a t) Počet proc. Čas Šírka slova Model n 3 O(log n) O(log n)) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 15 / 23

Simulácie Turingových strojov na PRAMe Tranzitívny uzáver grafu GAP Graph Accessibility Problem Na konci t-tej iterácie cyklu je L = 2 t a 0 i, j < n platí A[i, j] = true v G cesta z i do j dĺžky max. L (dokáže sa indukciou podl a t) Počet proc. Čas Šírka slova Model n 3 O(log n) O(log n)) COMMON dokonca s minimálnou sadou aritmetických inštrukcií (+, =, div2) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 15 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Veta (Goldschlager) Predpokladajme, že S(n) = Ω(log n) sa dá spočítat PRAMom s minimálnou sadou aritmetických inštrukcií, šírkou slova O(S(n)) v čase O(S(n)) z jediného vstupu n. Potom S(n) priestorovo obmedzený nedeterministický TS môže byt simulovaný v čase O(S(n)) na PRAMe s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 16 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Veta (Goldschlager) Predpokladajme, že S(n) = Ω(log n) sa dá spočítat PRAMom s minimálnou sadou aritmetických inštrukcií, šírkou slova O(S(n)) v čase O(S(n)) z jediného vstupu n. Potom S(n) priestorovo obmedzený nedeterministický TS môže byt simulovaný v čase O(S(n)) na PRAMe s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)). Dôkaz: Predpokladáme, že TS M rozhoduje nejaký jazyk a má jedinú prijímaciu konfiguráciu. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 16 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Veta (Goldschlager) Predpokladajme, že S(n) = Ω(log n) sa dá spočítat PRAMom s minimálnou sadou aritmetických inštrukcií, šírkou slova O(S(n)) v čase O(S(n)) z jediného vstupu n. Potom S(n) priestorovo obmedzený nedeterministický TS môže byt simulovaný v čase O(S(n)) na PRAMe s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)). Dôkaz: Predpokladáme, že TS M rozhoduje nejaký jazyk a má jedinú prijímaciu konfiguráciu. S(n) priestorovo obmedzený TS má maximálne 2 O(S(n))+log n = 2 O(S(n)) konfigurácií. Skonštruujeme graf G možných výpočtov: uzly budú konfigurácie, z konfigurácie K 1 do konfigurácie K 2 vedie hrana práve vtedy, ked K 1 M K 2. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 16 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Veta (Goldschlager) Predpokladajme, že S(n) = Ω(log n) sa dá spočítat PRAMom s minimálnou sadou aritmetických inštrukcií, šírkou slova O(S(n)) v čase O(S(n)) z jediného vstupu n. Potom S(n) priestorovo obmedzený nedeterministický TS môže byt simulovaný v čase O(S(n)) na PRAMe s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)). Dôkaz: Predpokladáme, že TS M rozhoduje nejaký jazyk a má jedinú prijímaciu konfiguráciu. S(n) priestorovo obmedzený TS má maximálne 2 O(S(n))+log n = 2 O(S(n)) konfigurácií. Skonštruujeme graf G možných výpočtov: uzly budú konfigurácie, z konfigurácie K 1 do konfigurácie K 2 vedie hrana práve vtedy, ked K 1 M K 2. M prijíma vstup x v G existuje cesta z počiatočnej konfigurácie do koncovej konfigurácie algoritmus na riešenie GAP. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 16 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Veta (Goldschlager) Predpokladajme, že S(n) = Ω(log n) sa dá spočítat PRAMom s minimálnou sadou aritmetických inštrukcií, šírkou slova O(S(n)) v čase O(S(n)) z jediného vstupu n. Potom S(n) priestorovo obmedzený nedeterministický TS môže byt simulovaný v čase O(S(n)) na PRAMe s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)). Dôkaz: Predpokladáme, že TS M rozhoduje nejaký jazyk a má jedinú prijímaciu konfiguráciu. S(n) priestorovo obmedzený TS má maximálne 2 O(S(n))+log n = 2 O(S(n)) konfigurácií. Skonštruujeme graf G možných výpočtov: uzly budú konfigurácie, z konfigurácie K 1 do konfigurácie K 2 vedie hrana práve vtedy, ked K 1 M K 2. M prijíma vstup x v G existuje cesta z počiatočnej konfigurácie do koncovej konfigurácie algoritmus na riešenie GAP. Časová zložitost : log 2 O(S(n)) = O(S(n)), šírka slova tá istá. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 16 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Ked funkciu priestorovej zložitosti nevieme odhadnút Dôsledok S(n) priestorovo obmedzený deterministický TS sa dá simulovat PRAMom s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)) v čase O(S(n) log S(n)) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 17 / 23

Simulácie Turingových strojov na PRAMe Simulácia TS na PRAMe Ked funkciu priestorovej zložitosti nevieme odhadnút Dôsledok S(n) priestorovo obmedzený deterministický TS sa dá simulovat PRAMom s minimálnou sadou aritmetických inštrukcií a šírkou slova O(S(n)) v čase O(S(n) log S(n)) Dôkaz: Funkcia S(n) sa nemusí dat dobre počítat. Stačí, že poznáme, ked TS dopočíta. Skúšame postup z predchádzajúceho dôkazu pre S(n) = 1, 2, 4, 8,.... František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 17 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM procesory nebudú používat lokálne pamäte František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM procesory nebudú používat lokálne pamäte inštrukcie očíslované 1, 2, 3,.... František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM procesory nebudú používat lokálne pamäte inštrukcie očíslované 1, 2, 3,.... 0-tý register je nulový počas výpočtu a je do neho vložené číslo Potom sa už hodnota registru 0 nemení dokial nedopočítajú všetky procesory. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM procesory nebudú používat lokálne pamäte inštrukcie očíslované 1, 2, 3,.... 0-tý register je nulový počas výpočtu a je do neho vložené číslo 1 ak M vstup prijíma, alebo Potom sa už hodnota registru 0 nemení dokial nedopočítajú všetky procesory. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie Turingových strojov na PRAMe Simulácia PRAMu na Turingovom stroji Veta (Goldschlager) T (n) časovo obmedzený PRAM M so šírkou slova W (n) môže byt simulovaný deterministickým TS v priestore T (n)(w (n) + log T (n)) + S(n), kde S(n) je priestor, ktorý potrebuje TS na simuláciu jednej inštrukcie jedného procesoru PRAM. Dôkaz: použije sa PRIORITY PRAM procesory nebudú používat lokálne pamäte inštrukcie očíslované 1, 2, 3,.... 0-tý register je nulový počas výpočtu a je do neho vložené číslo 1 ak M vstup prijíma, alebo -1 ak M vstup neprijíma. Potom sa už hodnota registru 0 nemení dokial nedopočítajú všetky procesory. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 18 / 23

Simulácie PRAMu na Turingových strojoch Simulácia PRAMu na Turingovom stroji function instruction(i,t) {vracia hodnotu PC i-teho procesoru v čase t} begin if t = 0 then return 1 else begin h := instruction(i,t 1); case h-ta inštrukcia of goto m if r j > 0 : if register(j,t 1) > 0 then return m else return h + 1; halt : return h; otherwise : return h + 1; end end end; function input(i) {posuň čítaciu hlavu na i-te políčko a vrát znak, ktorý tam je} František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 19 / 23

Simulácie PRAMu na Turingových strojoch Simulácia PRAMu na Turingovom stroji function register(j,t) {vracia obsah registru j v čase t} begin if t = 0 then return (input(j)) else {skontroluj, či tam niekto nezapisoval} begin winner := P(n); for w := P(n) 1 downto 0 do begin h := instruction(w,t 1); if h-ta inštrukcia je zápis do r j ((r j := d) or [(r r x := d) and (register(r x,t 1)=j)]) then begin winner := w; value := d; end end end; if winner < P(n) then return value else return register(j,t 1) end; František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 20 / 23

Simulácie PRAMu na Turingových strojoch Simulácia TS na PRAMe M prijíma vstup register(0,t (n))=1. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 21 / 23

Simulácie PRAMu na Turingových strojoch Simulácia TS na PRAMe M prijíma vstup register(0,t (n))=1. T (n) sa možno t ažko počíta, tak skúšame T (n) = 1, 2, 3,.... František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 21 / 23

Simulácie PRAMu na Turingových strojoch Simulácia TS na PRAMe M prijíma vstup register(0,t (n))=1. T (n) sa možno t ažko počíta, tak skúšame T (n) = 1, 2, 3,.... výpočet register(0,t (n))=1 rekurzia hĺbky T (n); počet premenných použitých v jednej procedúre je konštantný, každá so šírkou slova bud O(W (n)) alebo O(log T (n)), František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 21 / 23

Simulácie PRAMu na Turingových strojoch Simulácia TS na PRAMe M prijíma vstup register(0,t (n))=1. T (n) sa možno t ažko počíta, tak skúšame T (n) = 1, 2, 3,.... výpočet register(0,t (n))=1 rekurzia hĺbky T (n); počet premenných použitých v jednej procedúre je konštantný, každá so šírkou slova bud O(W (n)) alebo O(log T (n)), O(log n) potrebujeme ako pointer na vstup. Celkovo pracovný priestor T (n)(w (n) + logt (n)) + S(n) + log n, kde S(n) je priestor, v ktorom Turingov stroj nasimuluje vykonanie jednej inštrukcie jedného procesora. log n môžeme zanedbat, pretože W (n) = Ω(log n) taká šírka slova je nutná na adresovanie n vstupov. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 21 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Jednotková cena inštrukcie: môžeme používat jednotkovú cenu takých inštrukcií, ktoré sa dajú simulovat TS v čase T (n) O(1), kde T (n) je čas výpočtu PRAMu František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 22 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Jednotková cena inštrukcie: môžeme používat jednotkovú cenu takých inštrukcií, ktoré sa dajú simulovat TS v čase T (n) O(1), kde T (n) je čas výpočtu PRAMu ak to prijmeme, tak PRAM spĺňa paralelnú tézu, ak W (n) = T (n) O(1) to umožňuje stále PRAM s 2 T (n)o(1) procesormi František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 22 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Jednotková cena inštrukcie: môžeme používat jednotkovú cenu takých inštrukcií, ktoré sa dajú simulovat TS v čase T (n) O(1), kde T (n) je čas výpočtu PRAMu ak to prijmeme, tak PRAM spĺňa paralelnú tézu, ak W (n) = T (n) O(1) to umožňuje stále PRAM s 2 T (n)o(1) procesormi preto zástancovia lenivej aktivácie trvajú na P(n) = 2 O(T (n)) alebo dokonca na P(n) = n O(1) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 22 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. b) P(n) = n O(1) a T (n) = log O(1) n NC. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. b) P(n) = n O(1) a T (n) = log O(1) n NC. 3 Obmedzenie šírky slova: František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. b) P(n) = n O(1) a T (n) = log O(1) n NC. 3 Obmedzenie šírky slova: a) W (n) = O(T (n)). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. b) P(n) = n O(1) a T (n) = log O(1) n NC. 3 Obmedzenie šírky slova: a) W (n) = O(T (n)). b) W (n) = T (n) O(1) simulácia jednej inštrukcie viz. 1b). František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23

Simulácie PRAMu na Turingových strojoch Obmedzenie sily PRAMu do rozumných medzí Používané obmedzenia: 1 Obmedzenia množiny inštrukcií (často preto, aby sa dala používat jednotková cena inštrukcií): a) Jednotlivé procesory nesmú používat inštrukcie, ktoré sa nedajú simulovat na det. TS v čase T (n) O(1), kde T (n) je doba výpočtu na PRAMe. b) každá inštrukcia procesora sa dá simulovat TS v priestore T (n) O(1) slabšie obmedzenie než a). 2 Obmedzenie počtu procesorov a paralelného času (zabránit simulácii v konštantnom čase): a) P(n) < 2 O(T (n)) dôsledok lenivej aktivácie. b) P(n) = n O(1) a T (n) = log O(1) n NC. 3 Obmedzenie šírky slova: a) W (n) = O(T (n)). b) W (n) = T (n) O(1) simulácia jednej inštrukcie viz. 1b). c) W (n) = n O(1) širšie slovo vel kost vstupu nie je dobrou mierou, ak vstupné čísla môžu mat viac než polynomický počet bitov. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy, 2011/2012 23 / 23