Počítání na soudobých počítačových architekturách - matice, grafy, sítě, ale hlavně matematika. Přednáška k poctě Miroslava Fiedlera a Alana George

Podobné dokumenty
K velkým datům přes matice a grafy

Objektově orientovaná implementace škálovatelných algoritmů pro řešení kontaktních úloh

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

Simulace (nejen) fyzikálních jevů na počítači

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

4. Úvod do paralelismu, metody paralelizace

6. Základy výpočetní geometrie

INOVACE ODBORNÉHO VZDĚLÁVÁNÍ NA STŘEDNÍCH ŠKOLÁCH ZAMĚŘENÉ NA VYUŽÍVÁNÍ ENERGETICKÝCH ZDROJŮ PRO 21. STOLETÍ A NA JEJICH DOPAD NA ŽIVOTNÍ PROSTŘEDÍ

Dynamické programování

Algoritmus pro hledání vlastních čísel kvaternionových matic

Kombinatorická minimalizace

Propojení matematiky, fyziky a počítačů

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

aneb jiný úhel pohledu na prvák

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Static Load Balancing Applied to Time Dependent Mechanical Problems

Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování. vypracovanou úlohu podle níže uvedených zadání. To mimo jiné znamená, že

1 Projekce a projektory

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

stránkách přednášejícího.

Lingebraické kapitolky - Počítání s maticemi

Arnoldiho a Lanczosova metoda

Aplikovaná numerická matematika

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Operace s maticemi. 19. února 2018

1 Mnohočleny a algebraické rovnice

Matematika III přednáška Aplikace vytvořujících funkcí - další úlohy

Digitalizace převod AS DS (analogový diskrétní signál )

1 Mnohočleny a algebraické rovnice

Změna koeficientů PDR při změně proměnných

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Numerické metody optimalizace - úvod

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

Literatura: Kapitola 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Soustavy lineárních rovnic

Aplikovaná matematika I

Datové struktury 2: Rozptylovací tabulky

Numerické metody 6. května FJFI ČVUT v Praze

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček. 8. přednáška 11MSP pondělí 20. dubna 2015

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

ALGORITMY A DATOVÉ STRUKTURY

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Matematický ústav UK Matematicko-fyzikální fakulta

Nelineární optimalizace a numerické metody (MI NON)

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést


Úlohy nejmenších čtverců

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 2017

Architektura počítačů

Cvičení 5 - Inverzní matice

FREDHOLMOVA ALTERNATIVA

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Nástin formální stavby kvantové mechaniky

Procesor. Hardware - komponenty počítačů Procesory

Úvod do lineární algebry

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

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 2015

0.1 Úvod do lineární algebry

1. Přednáška. Ing. Miroslav Šulai, MBA

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

U Úvod do modelování a simulace systémů

Metoda konečných prvků Charakteristika metody (výuková prezentace pro 1. ročník navazujícího studijního oboru Geotechnika)

Literatura: Kapitoly 3, 4 a 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Lineární algebra : Násobení matic a inverzní matice

Katedra geotechniky a podzemního stavitelství

Co je obsahem numerických metod?

Modelování a simulace Lukáš Otte

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Matematický ústav UK Matematicko-fyzikální fakulta

Digitální učební materiál

Numerické metody a programování. Lekce 4

0.1 Úvod do lineární algebry

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Základy matematiky pro FEK

Interpolace, ortogonální polynomy, Gaussova kvadratura

Matematika B101MA1, B101MA2

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Algoritmus pro hledání nejkratší cesty orientovaným grafem

4. Aplikace matematiky v ekonomii

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

4EK213 LINEÁRNÍ MODELY

naopak více variant odpovědí, bude otázka hodnocena jako nesprávně zodpovězená.

Aplikovaná numerická matematika - ANM

7. Funkce jedné reálné proměnné, základní pojmy

Numerické řešení nelineárních rovnic

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

(Poznámka: V MA 43 je věta formulována trochu odlišně.)

Modulární aritmetika, Malá Fermatova věta.

GIS Geografické informační systémy

Ráda bych ve své práci představila počítání prutových soustav. Jedná se o poměrně rozsáhlé téma,

1 Determinanty a inverzní matice

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Transkript:

Počítání na soudobých počítačových architekturách - matice, grafy, sítě, ale hlavně matematika Přednáška k poctě Miroslava Fiedlera a Alana George Miroslav Tůma Katedra numerické matematiky, MFF UK mirektuma@karlin.mff.cuni.cz MFF UK, 28.4.2016 1 / 39

Outline 1 Úvod do problému 2 Přemítání o problému 3 Dělení grafů na části 4 Rozděl a spojuj 5 Závěr 2 / 39

Úvod do problému Tradiční pohled na počítače (a takové počítače už vyhynuly) CPU I/O Memory 3 / 39

Úvod do problému Tradiční pohled na počítače (a takové počítače už vyhynuly) CPU I/O Memory I v takto jednoduchém modelu kterákoli z těchto tří částí může činit problémy při počítání. 3 / 39

Úvod do problému Tradiční pohled na počítače (a takové počítače už vyhynuly) CPU I/O Memory I v takto jednoduchém modelu kterákoli z těchto tří částí může činit problémy při počítání. Vývoj počítačových architektur výkon klasického modelu průběžně vylepšuje, ale činí jej také vnitřně složitějším soudobé (paralelní) počítačové architektury 3 / 39

Úvod do problému Paralelismus v počítačových architekturách Nedají se počítače zrychlit bez zvyšování jejich vnitřní složitosti? Potřebujeme vůbec stále vyšší výkon? Co vlastně potřebujeme počítat? 4 / 39

Úvod do problému Paralelismus v počítačových architekturách Nedají se počítače zrychlit bez zvyšování jejich vnitřní složitosti? : Počítače jsou pořád rychlejší (Moore s law - počet tranzistorů na čipu se zvětšuje ročně přibližně na dvojnásobek - 2.3k (4004, 1971) 5G (AMD Xbox, 2013)) : Velikost paměti už tak rychle neroste. : Fyzikální limity (rychlost světla, tepelná disipace, absolutní kvantová omezení (Bremmermanova mez - maximální výpočetní rychlost závislá na Einsteinově ekvivalenci a Heisenbergově principu, Landauerova mez na minimální spotřebu energie - omezení závislé na Boltzmannově konstantě a absolutní teplotě, atd.) Potřebujeme vůbec stále vyšší výkon? Co vlastně potřebujeme počítat? 5 / 39

Úvod do problému Paralelismus v počítačových architekturách Nedají se počítače zrychlit bez zvyšování jejich vnitřní složitosti? : Počítače jsou pořád rychlejší (Moore s law - počet tranzistorů na čipu se zvětšuje ročně přibližně na dvojnásobek - 2.3k (4004, 1971) 5G (AMD Xbox, 2013)) : Velikost paměti už tak rychle neroste. : Fyzikální limity (rychlost světla, tepelná disipace, absolutní kvantová omezení (Bremmermanova mez - maximální výpočetní rychlost závislá na Einsteinově ekvivalenci a Heisenbergově principu, Landauerova mez na minimální spotřebu energie - omezení závislé na Boltzmannově konstantě a absolutní teplotě, atd.) Potřebujeme vůbec stále vyšší výkon? Co vlastně potřebujeme počítat? Modelování klimatu (přesnější a globálnější modely), Skládání proteinů (léčení Alzheimerovy a Parkinsonovy nemoci) Energetický výzkum (spalování, solární články, baterie, větrná energie) Deformace konstrukcí a dopravních prostředků, Turbulentní proudění, Zobrazovací metody v medicíně a mnoho dalších. 6 / 39

Úvod do problému Paralelní (a tedy i stále složitější) počítače jsou přirozenou odpovědí na nutnost počítání. Navíc, jsou obecně (energeticky, prostorově - Groschův zákon (1965)) výhodnější. Byť nám přinášejí nové problémy. 7 / 39

Úvod do problému Paralelní (a tedy i stále složitější) počítače jsou přirozenou odpovědí na nutnost počítání. Navíc, jsou obecně (energeticky, prostorově - Groschův zákon (1965)) výhodnější. Byť nám přinášejí nové problémy. CPU CPU CPU CPU Interconnection Memory 7 / 39

Úvod do problému Paralelní (a tedy i stále složitější) počítače jsou přirozenou odpovědí na nutnost počítání. Navíc, jsou obecně (energeticky, prostorově - Groschův zákon (1965)) výhodnější. Byť nám přinášejí nové problémy. CPU CPU CPU CPU Memory Memory Memory Memory Interconnection 8 / 39

Úvod do problému K efektivnímu počítání na soudobých počítačích tak patří nutnost rozdělení úlohy na podúlohy pro jednotlivé procesory, procesy, části vektorových jednotek atd. Pokud možno rovnoměrně (říká se tomu například load balancing) Častá reprezentace úlohy: oblast (rozšíření komára Aedes Albopictus - tiger mosquito) 9 / 39

Úvod do problému K efektivnímu počítání na soudobých počítačích tak patří nutnost rozdělení úlohy na podúlohy pro jednotlivé procesory, procesy, části vektorových jednotek atd. Pokud možno rovnoměrně (říká se tomu například load balancing) Častá reprezentace úlohy: oblast (geografické rozložení teplotních maxim v konkrétní čase) 10 / 39

Úvod do problému K efektivnímu počítání na soudobých počítačích tak patří nutnost rozdělení úlohy na podúlohy pro jednotlivé procesory, procesy, části vektorových jednotek atd. Pokud možno rovnoměrně (říká se tomu například load balancing) Častá reprezentace úlohy: oblast (propojení v elektrické síti) 11 / 39

Úvod do problému K efektivnímu počítání na soudobých počítačích tak patří nutnost rozdělení úlohy na podúlohy pro jednotlivé procesory, procesy, části vektorových jednotek atd. Pokud možno rovnoměrně (říká se tomu například load balancing) Častá reprezentace úlohy: oblast (síť může být složitější - genealogická informace) 12 / 39

Úvod do problému K efektivnímu počítání na soudobých počítačích tak patří nutnost rozdělení úlohy na podúlohy pro jednotlivé procesory, procesy, části vektorových jednotek atd. Pokud možno rovnoměrně (říká se tomu například load balancing) Schématické zachycení situace: graf Graf nám reprezentuje matici (strukturu nulových a nenulových prvků, ale i hodnoty) 0 100 200 300 400 500 600 700 800 0 200 400 600 800 nz = 17070 13 / 39

Úvod do problému 0 100 200 300 400 500 600 700 800 0 200 400 600 800 nz = 17070 Říkáme, že matice je řídká Dimenze klidně až milióny, miliardy Její prvky mohou být vytvořeny přibližnými integrály na malých oblastech, jak jsme je viděli výše. Souhrnně, matematika, jak ji zatím známe, je uvnitř, nad ní je struktura a nad ní zase matematika, jak ji známe. Ale všechno to je matematika! 14 / 39

Úvod do problému Schématické zachycení situace: graf (zde pravidelný, ale viděli jsme; vrcholy, hrany simulují realitu) 15 / 39

Úvod do problému Formulace problému Oblast je třeba rozdělit, abychom ji mohli přiřadit jednotlivým procesorům (procesům) Jak? Rovnoměrně (pokud procesory budou pracovat podobně efektivně) Styk podoblastí (nazývaný separátor) by měl být malý. 16 / 39

Úvod do problému Formulace problému Oblast je třeba rozdělit, abychom ji mohli přiřadit jednotlivým procesorům (procesům) Jak? Rovnoměrně (pokud procesory budou pracovat podobně efektivně) Styk podoblastí (nazývaný separátor) by měl být malý. 17 / 39

Úvod do problému Formulace problému Oblast je třeba rozdělit, abychom ji mohli přiřadit jednotlivým procesorům (procesům) Jak? Rovnoměrně (pokud procesory budou pracovat podobně efektivně) Styk podoblastí (nazývaný separátor by měl být malý. 18 / 39

Outline 1 Úvod do problému 2 Přemítání o problému 3 Dělení grafů na části 4 Rozděl a spojuj 5 Závěr 19 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... 20 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... No u toho minulého ano. Ale zkusme si nějaký realistický. 20 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... No u toho minulého ano. Ale zkusme si nějaký realistický. Například tenhle. 20 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... No u toho minulého ano. Ale zkusme si nějaký realistický. A co tento? 21 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... No u toho minulého ano. Ale zkusme si nějaký realistický. Jiný exemplář. 22 / 39

Přemítání o problému Když je ten graf pravidelný, asi se nám to povede nějakým způsobem střihnout. (Však to vyjde skoro nastejno. Vždyť jsme to viděli výše.) Ostatně, stejně pořád něco děláme přibližně... No u toho minulého ano. Ale zkusme si nějaký realistický. A ještě jeden grafík. 23 / 39

Přemítání o problému Shrňme si, co máme Oblast potřebujeme rozdělit na podoblasti, 24 / 39

Přemítání o problému Shrňme si, co máme Oblast potřebujeme rozdělit na podoblasti, Na podoblastech počítat úlohy, které jsou dány aplikacemi: jednoduché soustavy, ale i třebas komplikované diferenciální rovnice. Možná bude třeba počítat vícekrát (zahrnuje-li model dynamiku procesů) 24 / 39

Přemítání o problému Shrňme si, co máme Oblast potřebujeme rozdělit na podoblasti, Na podoblastech počítat úlohy, které jsou dány aplikacemi: jednoduché soustavy, ale i třebas komplikované diferenciální rovnice. Možná bude třeba počítat vícekrát (zahrnuje-li model dynamiku procesů) Pak to vše nějak dát dohromady. 24 / 39

Přemítání o problému Shrňme si, co máme Oblast potřebujeme rozdělit na podoblasti, Na podoblastech počítat úlohy, které jsou dány aplikacemi: jednoduché soustavy, ale i třebas komplikované diferenciální rovnice. Možná bude třeba počítat vícekrát (zahrnuje-li model dynamiku procesů) Pak to vše nějak dát dohromady. Poznámka: paralelní počítání nebylo jedinou a první motivací dělit grafy: Například: sériová konstrukce procesorů potřebuje řešení stejného problému - součástky a jejich propojení (např. Kernighan, Lin, Bell Labs, 1969-1971) 24 / 39

Přemítání o problému V každém případě, je zapotřebí hlubší vhled Konkrétně: Je třeba promyslet odpovědi na dva základní okruhy otázek 25 / 39

Přemítání o problému V každém případě, je zapotřebí hlubší vhled Konkrétně: Je třeba promyslet odpovědi na dva základní okruhy otázek 1 (1) Jak automaticky dělit, abychom splnili dva výše uvedené úkoly (rovnoměrnost, minimalitu propojek)? 25 / 39

Přemítání o problému V každém případě, je zapotřebí hlubší vhled Konkrétně: Je třeba promyslet odpovědi na dva základní okruhy otázek 1 (1) Jak automaticky dělit, abychom splnili dva výše uvedené úkoly (rovnoměrnost, minimalitu propojek)? 2 (2) Když už chceme počítat nejprve odděleně a pak částečné výsledky spojovat ( rozděl a panuj ), nenadřeme se navíc? 25 / 39

Přemítání o problému V každém případě, je zapotřebí hlubší vhled Konkrétně: Je třeba promyslet odpovědi na dva základní okruhy otázek 1 (1) Jak automaticky dělit, abychom splnili dva výše uvedené úkoly (rovnoměrnost, minimalitu propojek)? 2 (2) Když už chceme počítat nejprve odděleně a pak částečné výsledky spojovat ( rozděl a panuj ), nenadřeme se navíc? 3 Dva články z roku 1973 patří mezi zakladatelské statě nových podoborů informatiky počítačové vědy výpočetní matematiky (dosaďte dle svého uvážení), které na tyto okruhy otázek začaly odpovídat: články (1) Miroslava Fiedlera a (2) Alana George 25 / 39

Přemítání o problému V každém případě, je zapotřebí hlubší vhled Konkrétně: Je třeba promyslet odpovědi na dva základní okruhy otázek 1 (1) Jak automaticky dělit, abychom splnili dva výše uvedené úkoly (rovnoměrnost, minimalitu propojek)? 2 (2) Když už chceme počítat nejprve odděleně a pak částečné výsledky spojovat ( rozděl a panuj ), nenadřeme se navíc? 3 Dva články z roku 1973 patří mezi zakladatelské statě nových podoborů informatiky počítačové vědy výpočetní matematiky (dosaďte dle svého uvážení), které na tyto okruhy otázek začaly odpovídat: články (1) Miroslava Fiedlera a (2) Alana George 4 Varování pro jedince matematičtější nátury: následující text neobsahuje pro jednoduchost výkladu některé technické předpoklady a může tak i slabším povahám uškodit. 25 / 39

Outline 1 Úvod do problému 2 Přemítání o problému 3 Dělení grafů na části 4 Rozděl a spojuj 5 Závěr 26 / 39

Dělení grafů na části Aby se nám dobře se sítěmi a grafy dobře pracovalo, pěkně si je označujeme 1 4 2 e1 e2 e3 e4 e5 6 5 3 27 / 39

Dělení grafů na části Aby se nám dobře se sítěmi a grafy dobře pracovalo, pěkně si je označujeme 1 4 2 e1 e2 e3 e4 e5 6 5 A můžeme si je zapisovat do kompaktních tvarů, některým z nichž říkáme matice. Tohle je například matice, nazývaná Laplacián grafu: 1 1 1 2 1 L= 1 4 1 1 1 1 1 = D A 1 1 1 1 3 27 / 39

Dělení grafů na části Proč si vlastně grafy a sítě do schémat typu matice zapisujeme? 28 / 39

Dělení grafů na části Proč si vlastně grafy a sítě do schémat typu matice zapisujeme? Důvodů je víc: například: rozvinutý teoretický aparát pro operace s nimi, výrazné zjednodušování počítačových implementací 28 / 39

Dělení grafů na části Proč si vlastně grafy a sítě do schémat typu matice zapisujeme? Důvodů je víc: například: rozvinutý teoretický aparát pro operace s nimi, výrazné zjednodušování počítačových implementací Ad teoretický aparát... některé vlastnosti matic a tedy i vlastnosti grafů zprostředkovaných maticemi není příliš vidět: 28 / 39

Dělení grafů na části Proč si vlastně grafy a sítě do schémat typu matice zapisujeme? Důvodů je víc: například: rozvinutý teoretický aparát pro operace s nimi, výrazné zjednodušování počítačových implementací Ad teoretický aparát... některé vlastnosti matic a tedy i vlastnosti grafů zprostředkovaných maticemi není příliš vidět: Skoro násobení: Hledání nejkratších cest mezi všemi vrcholy grafu navzájem se provádí algoritmem, který je velmi blízký maticovému násobení (Floyd (1962), Roy (1959), Warshall (1962)) Praha Ostrava Brno 28 / 39

Dělení grafů na části Opravdické násobení: Uvažujme vektor x a výsledek po vynásobení maticí L: Lx. 29 / 39

Dělení grafů na části Opravdické násobení: Uvažujme vektor x a výsledek po vynásobení maticí L: Lx. Velikosti x a Lx měříme jejich normami x 2 a Lx 2. 29 / 39

Dělení grafů na části Opravdické násobení: Uvažujme vektor x a výsledek po vynásobení maticí L: Lx. Velikosti x a Lx měříme jejich normami x 2 a Lx 2. Kolikrát může být Lx 2 2 xt L T Lx větší nebo menší než x 2 2? 29 / 39

Dělení grafů na části Opravdické násobení: Uvažujme vektor x a výsledek po vynásobení maticí L: Lx. Velikosti x a Lx měříme jejich normami x 2 a Lx 2. Kolikrát může být Lx 2 2 xt L T Lx větší nebo menší než x 2 2? Pro Laplacián je odpověď dána druhou mocninou největšího a nejmenšího vlastního čísla λ matice L a příslušnými vlastními vektory. Lx=λx Vlastní čísla jsou právě takové vlastnosti matice, které nejsou na první pohled vidět, ale naprosto podstatně ji charakterizují. 29 / 39

Dělení grafů na části Opravdické násobení: Uvažujme vektor x a výsledek po vynásobení maticí L: Lx. Velikosti x a Lx měříme jejich normami x 2 a Lx 2. Kolikrát může být Lx 2 2 xt L T Lx větší nebo menší než x 2 2? Pro Laplacián je odpověď dána druhou mocninou největšího a nejmenšího vlastního čísla λ matice L a příslušnými vlastními vektory. Lx=λx Vlastní čísla jsou právě takové vlastnosti matice, které nejsou na první pohled vidět, ale naprosto podstatně ji charakterizují. Miroslav Fiedler (1973) ukázal, že druhé nejmenší vlastní číslo Laplaciánu souvisí s dobrou rozdělitelností grafu. Jak to můžeme nahlédnout? 29 / 39

Dělení grafů na části Mějme graf reprezentující oblast a chtějme jej rozdělit. Jeho hrany označme E. Ω Ω 1 2 Ω 30 / 39

Dělení grafů na části Mějme graf reprezentující oblast a chtějme jej rozdělit. Jeho hrany označme E. Ω Ω 1 2 Ω Zvolme x i = 1 pro Ω 1 a x i = 1 pro Ω 2. Uvažujme Laplacián grafu. (x i x j ) 2 = 4 počet hran mezi Ω 1 a Ω 2 (i,j) E 30 / 39

Dělení grafů na části Mějme graf reprezentující oblast a chtějme jej rozdělit. Jeho hrany označme E. Ω Ω 1 2 Ω Zvolme x i = 1 pro Ω 1 a x i = 1 pro Ω 2. Uvažujme Laplacián grafu. (x i x j ) 2 = 4 počet hran mezi Ω 1 a Ω 2 (i,j) E No ale taky: x T Lx= x T Dx x T Ax= i d i x 2 i 2 (i,j) E x i x j = (i,j) E (x i x j ) 2 30 / 39

Dělení grafů na části Dobré dělení grafu najdeme tedy algebraicky jako problém vlastních čísel. 31 / 39

Dělení grafů na části Dobré dělení grafu najdeme tedy algebraicky jako problém vlastních čísel. Pozor na to, že postup od kvadratické formy zpět nenajde obvykle diskrétní řešení, ale pouze jeho spojitou aproximaci (relaxaci). 31 / 39

Dělení grafů na části Dobré dělení grafu najdeme tedy algebraicky jako problém vlastních čísel. Pozor na to, že postup od kvadratické formy zpět nenajde obvykle diskrétní řešení, ale pouze jeho spojitou aproximaci (relaxaci). Nikoliv náhodná souvislost s hledáním Google algoritmem - zase problém vlastních čísel 31 / 39

Dělení grafů na části Dobré dělení grafu najdeme tedy algebraicky jako problém vlastních čísel. Pozor na to, že postup od kvadratické formy zpět nenajde obvykle diskrétní řešení, ale pouze jeho spojitou aproximaci (relaxaci). Nikoliv náhodná souvislost s hledáním Google algoritmem - zase problém vlastních čísel Ohromný rozvoj oboru po roce 1990 (Pothen, Simon, Liou, 1990; Pothen, Simon, Wang, 1992 atd.); Software (Chaco - Sandia Lab) 31 / 39

Dělení grafů na části Dobré dělení grafu najdeme tedy algebraicky jako problém vlastních čísel. Pozor na to, že postup od kvadratické formy zpět nenajde obvykle diskrétní řešení, ale pouze jeho spojitou aproximaci (relaxaci). Nikoliv náhodná souvislost s hledáním Google algoritmem - zase problém vlastních čísel Ohromný rozvoj oboru po roce 1990 (Pothen, Simon, Liou, 1990; Pothen, Simon, Wang, 1992 atd.); Software (Chaco - Sandia Lab) Miroslav Fiedler - Fiedlerův vektor 31 / 39

Outline 1 Úvod do problému 2 Přemítání o problému 3 Dělení grafů na části 4 Rozděl a spojuj 5 Závěr 32 / 39

Rozděl a spojuj Zopakujme si formulaci našeho druhého problému: když rozdělíme, nebude to na úkor počtu operací? Nebylo by lepší spočítat úlohu najednou. 33 / 39

Rozděl a spojuj Zopakujme si formulaci našeho druhého problému: když rozdělíme, nebude to na úkor počtu operací? Nebylo by lepší spočítat úlohu najednou. Ne. Ba naopak. I když pomineme fakt, že paralelně (jít) musíme 33 / 39

Rozděl a spojuj Zopakujme si formulaci našeho druhého problému: když rozdělíme, nebude to na úkor počtu operací? Nebylo by lepší spočítat úlohu najednou. Ne. Ba naopak. I když pomineme fakt, že paralelně (jít) musíme Do řešení problému totiž vneseme další důležitý prvek, který začal hýbat počítáním hlavně později: Pravidelnost do nepravidelného. 33 / 39

Rozděl a spojuj Zopakujme si formulaci našeho druhého problému: když rozdělíme, nebude to na úkor počtu operací? Nebylo by lepší spočítat úlohu najednou. Ne. Ba naopak. I když pomineme fakt, že paralelně (jít) musíme Do řešení problému totiž vneseme další důležitý prvek, který začal hýbat počítáním hlavně později: Pravidelnost do nepravidelného. C_1 C_2 33 / 39

Rozděl a spojuj Matice po jednom dělení C_1 C_2 S C_1 C_2 S 34 / 39

Rozděl a spojuj Rozdělit můžeme víckrát - rekurzívně 1 7 4 43 22 28 25 3 8 6 44 24 29 27 2 9 5 45 23 30 36 19 20 21 46 40 41 42 10 16 13 47 31 37 34 12 17 15 48 33 38 36 11 18 14 49 32 39 35 35 / 39

Rozděl a spojuj Dělíme vícekrát: krásňoučká pravidelná matice 0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160 nz = 793 36 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách 37 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách Zavedla se tím regulovaná řídkost. 37 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách Zavedla se tím regulovaná řídkost. Která sice činila potíže klasickým implementacím řešičů systémů, ale to je už jiná historie... 37 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách Zavedla se tím regulovaná řídkost. Která sice činila potíže klasickým implementacím řešičů systémů, ale to je už jiná historie... Ale hlavně zavedla do výpočtů pravidelnost hierarchického přístupu. 37 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách Zavedla se tím regulovaná řídkost. Která sice činila potíže klasickým implementacím řešičů systémů, ale to je už jiná historie... Ale hlavně zavedla do výpočtů pravidelnost hierarchického přístupu. Tyto výsledky a následný výzkum velmi silně ovlivnily ohromnou část počítání od konce minulého století. 37 / 39

Rozděl a spojuj Dělíme vícekrát: ale hlavně: Alan George (1973): ukázal, že počet operací s takhle vypadající maticí (při řešení soustavy rovnic) je velmi příznivý - a to je to, co potřebujeme činit ve výše zmíněných úlohách Zavedla se tím regulovaná řídkost. Která sice činila potíže klasickým implementacím řešičů systémů, ale to je už jiná historie... Ale hlavně zavedla do výpočtů pravidelnost hierarchického přístupu. Tyto výsledky a následný výzkum velmi silně ovlivnily ohromnou část počítání od konce minulého století. Alan George - nested dissection 37 / 39

Outline 1 Úvod do problému 2 Přemítání o problému 3 Dělení grafů na části 4 Rozděl a spojuj 5 Závěr 38 / 39

Závěr Dvacet let od roku 1973 se kombinace efektivního dělení grafů a hierarchické reprezentace matic stává a zůstává absolutně nejužívanějším modelem pro paralelní počítání reprezentované rozkladem oblasti. Děkuji a Děkujeme. 39 / 39