Metody uporządkowania

Podobne dokumenty
Metody uporządkowania

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Sposoby tworzenia uwarunkowania wstępnego dla metody gradientów sprzężonych

5. Rozwiązywanie układów równań liniowych

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

AiSD zadanie trzecie

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

3. Macierze i Układy Równań Liniowych

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

TEORIA GRAFÓW I SIECI

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Rozwiązanie układów równań liniowych algebraicznych dla macierzy rzadkich: metody bezpośrednie

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

1 Układy równań liniowych

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Rozwiązywanie układów równań liniowych

Kolorowanie wierzchołków grafu

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Rozwiązanie układów równań liniowych algebraicznych dla macierzy rzadkich: metody bezpośrednie

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Sortowanie topologiczne skierowanych grafów acyklicznych

Numeryczna algebra liniowa

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Macierze. Rozdział Działania na macierzach

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Wyznaczanie optymalnej trasy problem komiwojażera

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

Zagadnienie transportowe

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Matematyka dyskretna - 7.Drzewa

Dr inż. hab. Siergiej Fialko, IF-PK,

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

3. Wykład Układy równań liniowych.

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

O MACIERZACH I UKŁADACH RÓWNAŃ

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Algorytmy wyznaczania centralności w sieci Szymon Szylko

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Graf. Definicja marca / 1

13 Układy równań liniowych

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm genetyczny (genetic algorithm)-

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Maciej Piotr Jankowski

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Układy równań liniowych i metody ich rozwiązywania

Algorytmiczna teoria grafów

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Układy równań liniowych

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Metoda simpleks. Gliwice

Matematyczne Podstawy Informatyki

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Algorytmy i struktury danych

Matematyczne Podstawy Informatyki

Znajdowanie skojarzeń na maszynie równoległej

Heurystyczne metody przeszukiwania

Wybrane podstawowe rodzaje algorytmów

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Luty 2001 Algorytmy (4) 2000/2001

TEORIA GRAFÓW I SIECI

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Metody numeryczne I Równania nieliniowe

0 + 0 = 0, = 1, = 1, = 0.

"Bieda przeczy matematyce; gdy się ją podzieli na więcej ludzi, nie staje się mniejsza." Gabriel Laub

III TUTORIAL Z METOD OBLICZENIOWYCH

2. Układy równań liniowych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Metody numeryczne Wykład 4

Programowanie obiektowe

1. Eliminuje się ze zbioru potencjalnych zmiennych te zmienne dla których korelacja ze zmienną objaśnianą jest mniejsza od krytycznej:

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Układy równań liniowych. Krzysztof Patan

Modelowanie rynków finansowych z wykorzystaniem pakietu R

, A T = A + B = [a ij + b ij ].

Transkrypt:

Metody uporządkowania W trakcie faktoryzacji macierzy rzadkiej ilość zapełnień istotnie zależy od sposobu numeracji równań. Powstaje problem odnalezienia takiej numeracji, przy której: o ilość zapełnień będzie minimalną o macierz można łatwo rozdzielić na podmacierzy, które mają równe rozmiary zabezpieczenie load balance pomiędzy procesorami z punktu widzenia obliczeń równoległych Często tak się okazuje, że różne kryteria takiej optymalizacji powodują zupełnie różne strategie renumeracji (uporządkowania) zabezpieczenie load balance doprowadzi do ilości zapełnień, istotnie większej od optymalnego rozwiązania, a numeracja, która zabezpiecza rozwiązanie, przybliżone do optymalnego, dzieli macierz na istotnie różne po objętości danych części 1

Powoduje to taki efekt: przy dwóch procesorach wydajność może być mniejszą od wydajności kodu sekwencyjnego, a zysk od zrównoleglenia występuje przy dość dużej ilości procesorów Dalej będziemy rozważali tylko renumeracje z celą zmniejszenia zapełnień, a później wrócimy się do zabezpieczenia load balance. Koszt obliczeniowy odnalezienia numeracji optymalnej nie ustępuje kosztowi faktoryzacji macierzy rzadkiej przy braku uporządkowania. Dla tego na praktyce nie używają optymalizacjiściślej, tylko algorytmy heurystyczne. Skutki tego: o istnieje dość dużo różnych algorytmów heurystycznych o żaden z nich nie doprowadzi do rozwiązania optymalnego, tylko do lepszego lub gorszego przybliżenia do rozwiązania optymalnego o dla każdego podanego problemu heurystyczny będzie najlepszym z góry nie jasne, który algorytm 2

Rozważymy dwa zupełnie różnych algorytmy uporządkowania: metoda włożonych przekrojów (nested dissection method) i algorytm minimalnego stopnia (minimum degrees algorithm). Metoda włożonych przekrojów (nested dissection method) Jest dany spójny graf G(X,E). Zbiór węzłów S tworzy separator. To oznacza, że usunięcie tych węzłów z grafa powoduje rozdzielenie grafa G na dwa lub więcej spójnych podgrafów G1, G2,. Idea metody 1. Tworzymy strukturę poziomów z korzeniem w pseudo peryferyjnym wierzchołku. Ustawiamy i=1. 2. Zbiór wierzchołków, który znajduje się na poziomie środkowym struktury poziomów, zaznaczamy jako separator S i, jeśli ilość poziomów Nlvl > 2, i zapisujemy te wierzchołki w tablicą permutacji Perm. Jeśli Nlvl 2, cały podgraf traktujemy jako nierozdzielny i zapisujemy w Perm. 3

3. Usuwamy zbiór S i z grafu, graf pozostaje rozdzielony na podgrafy. i++. 4. Dla każdego z podgrafów tworzymy strukturę poziomów z korzeniem w pseudo peryferyjnym wierzchołku i przechodzimy do punktu 2. 5. Algorytm renumeracji będzie przerwany, kiedy wszystkie wierzchołki pozostaną przenumerowane. Na każdym kroku podziału graf pozostaje rozdzielony na dwa (lub kilka) mniej-więcej równoważne podgrafy dla tego że separatory pozostają wybrane z poziomu środkowego. Dla tego tą metodę nazywją metodą rekursywnych bisekcji. 4

Przykład: rama płaska 5

Etapy wprowadzenie separatorów na grafie Odpowiednie struktury poziomów 6

Kolejność numeracji tablica Perm[newNode] = oldnode Separatory: S 1 = 9, 5; S 2 = 3; Wierzchołki pozostałe (nierozdzielne) w kolejności ich powstania: 1, 2; 4; 6; 7, 8 Zapisujemy w tablice Perm w odwrotnej kolejności wierzchołki pozostałe, a później separatory (też w odwrotnej kolejności): Perm = (7, 8, 6, 4, 1, 2, 3, 9, 5); 7 7 5 9 3 2 1 4 6 8 niezerowy element -zapełnienie

Typowy wygląd macierzy przy uporządkowani metodą włożonych przekrojów 8

Algorytm minimalnego stopnia (minimum degrees algorithm) Eliminacje Gaussa na grafie spójności (twierdzenie D. J. Rose) Żeby wyeliminować wierzchołek Xi z grafu (równanie o numerze Xi z macierzy), trzeba: 1. Usunąć ten wierzchołek z grafu, przy tym odciąć wszystkie krawędzi, które wychodzą z tego wierzchołku 2. Dodać do grafu krawędzi tak, żeby wierzchołki z Adj(Xi) byli w grafie przetworzonym przyległymi po parnie. 9

Stopień wierzchołku jest równa ilości przyległych wierzchołków. W trakcie faktoryzacji stopień wierzchołku może ulegać zmianie. Idea algorytmu minimalnego stopnia: na każdym kroku eliminacji wykluczajmy wierzchołek, stopień którego jest minimalną d d 11 11 d d 22 22 z z d d 33 z 33 z d d 44 z z 44 Jeśli w wiersze wiodącym (pierwszy wiersz w przykładzie) ilość niezerowych elementów () jest najmniejsza, to prawdopodobieństwo powstania zapełnień (z) w macierzy jest minimalna. Z tego i wynika idea eliminacji na każdym kroku równania, które zawiera minimalną ilość elementów niezerowych (na grafie to odpowiada wykluczeniu wierzchołka, z którego wychodzi minimalna ilość krawędzi. Oznacza to, że ten wierzchołek ma minimalną ilość wierzchołków przyległych). Krawędź na grafie odpowiada niezerowemu elementowi macierzy. 10

Algorytm: 1. Znajdujemy wierzchołek, stopień którego jest minimalną 2. Przestawiamy wiersze i kolumny macierzy tak, żeby z góry się okazało równanie dla wierzchołku z minimalnym stopniem. 3. Eliminujemy to równanie i ponownie wyznaczamy stopni pozostałych wierzchołków. (W trakcie eliminacji stopni wierzchołków mogą być zmienione) 4. Przechodzimy do p. 1 Dla macierzy realnych nigdy nie przestawiamy wiersze i kolumny macierzy. To jest bardzo pracochłonna procedura. Zamiast tego używamy faktoryzacje symboliczną, która na podstawie operacji na grafie przyległości nadaje możliwość prześledzić cały proces faktoryzacji bez wykonania obliczeń wartości elementów macierzy. Wynikiem tej procedury jest położenie niezerowych elementów macierzy sfaktoryzowanej. 11

Symboliczna faktoryzacje nadaje możliwość dla algorytmu minimalnego stopnia ustalić kolejność eliminowania wierzchołków, nie rozkładając macierzy faktycznie Wyznaczyć ilość zapełnień dla dowolnej metody uporządkowania, nie rozkładając macierzy faktycznie. To jest bardzo szybka procedura, która nadaje możliwość w krótki okres czasu sprawdzić kilka różnych algorytmów uporządkowania i wybrać ten, który dla podanej macierzy doprowadzi do mniejszej ilości zapelnień. Przykład SCAD lub SOLVER 12

13

1 14 Perm: 1, 4, 7, 2, 3, 6, 9, 5, 8 8 5 9 6 3 2 7 4 1 niezerowy element -zapełnienie

Typowy wygląd macierzy przy uporządkowani algorytmem minimalnego stopnia 15

MMD/ND 2.50 2.00 1.50 1.00 0.50 0.00 0 2 4 6 8 10 log2(k/h) Factor operations Factor entries ND - metoda włożonych przekrojów MMD Algorytm minimalnego stopnia K / h stosunek podziału siatki we wzdłużnym i poprzecznym kierunkach 16

Algorytm minimalnego stopnia jest zbyt krótkowzroczny - ma dobre przewidywanie dla stosownie nie wielu kroków faktoryzacji. Metoda włożonych przekrojów zbyt dalekowzroczna słabe przewidywanie bliskich kroków faktoryzacji. Algorytm minimalnego stopnia nie spełnia wymodzi load balance. Na podstawie doświadczenia było wykryto, że lepsze wyniki dla dowolnego uporządkowania udaje się najczęściej uzyskać, jeśli używać graf zgrubiony (coarse graph) zamiast grafu szczególnego. Jednym z podejść naturalnych jest użycie grafu dla węzłów modelu obliczeniowego zamiast grafu dla równań, wychodząc z tego, że w każdym węźle istnieje grupa równań. Uporządkowanie hybrydowe próba pojednać zalety algorytmu minimalnego stopnia i metody włożonych przekrojów. Jeśli do tego dołożyć zgrubienie grafa powstaje uporządkowanie wielopoziomowe hybrydowe. Jednym z takich podejść jest METIS. 17

1. Zgrubiamy podany graf przyległości Idea 2. Na grafie zgrubionym wykonujemy 2 n kroków bisekcji rekursywnych metodą włożonych przekrojów (n jest wartość stosownie nie wielka metoda włożonych przekrojów nie jest zakończoną) znajdujemy 2 n separatorów na grafie zgrubionym. 3. Znajdujemy separatory na grafie źródłowym zastosujemy refinement dla separatorów odnalezionych. 4. Uporządkowanie w obrębie każdego spójnego podgrafu wykonujemy algorytmem minimalnego stopnia. 18

3 2 1 6 19 5 9 4 7 8

Typowy wygląd macierzy przy uporządkowani metodą wielopoziomową 20

8 7 4 1 1 6 21 5 9 3 2 1 4 6 8 5 9 6 3 2 7 5 9 4 7 8 3 2 NDM MMD Multilevel