Metody uporządkowania

Podobne dokumenty
Metody uporządkowania

Metoda eliminacji Gaussa. Autorzy: Michał Góra

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

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

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

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

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

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

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

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

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

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

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.

Sortowanie topologiczne skierowanych grafów acyklicznych

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

1 Układy równań liniowych

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

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

AiSD zadanie trzecie

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

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Graf. Definicja marca / 1

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

TEORIA GRAFÓW I SIECI

Macierze. Rozdział Działania na macierzach

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,...

Kolorowanie wierzchołków grafu

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

Matematyka dyskretna - 7.Drzewa

Zagadnienie transportowe

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Algorytmiczna teoria grafów

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

O MACIERZACH I UKŁADACH RÓWNAŃ

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

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

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

Układy równań liniowych

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

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

Matematyczne Podstawy Informatyki

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

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

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

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

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

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

Maciej Piotr Jankowski

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

Analiza matematyczna i algebra liniowa Macierze

Algorytmy i struktury danych

13 Układy równań liniowych

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

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

Digraf. 13 maja 2017

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

Heurystyczne metody przeszukiwania

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Luty 2001 Algorytmy (4) 2000/2001

UKŁADY RÓWNAŃ LINIOWYCH

7. Teoria drzew - spinanie i przeszukiwanie

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

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

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

2. Układy równań liniowych

III TUTORIAL Z METOD OBLICZENIOWYCH

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Metody numeryczne Wykład 4

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

MACIERZE I WYZNACZNIKI

Suma dwóch grafów. Zespolenie dwóch grafów

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):

Schemat programowania dynamicznego (ang. dynamic programming)

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

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

Zaawansowane metody numeryczne

Układy równań liniowych

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Obliczenia iteracyjne

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

TEORIA GRAFÓW I SIECI

Matematyczne Podstawy Informatyki

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Metody numeryczne I Równania nieliniowe

Wybrane podstawowe rodzaje algorytmów

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

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

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Wyznaczanie optymalnej trasy problem komiwojażera

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

Układy równań liniowych

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Układy równań i nierówności liniowych

Matematyka dyskretna

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 ilość zapełnień będzie minimalną. 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 z góry nie jasne, który algorytm heurystyczny będzie najlepszym 1

Rozważymy dwa zupełnie różnych algorytmy uporządkowania: metoda włożonych przekrojów (nested dissection method - ND) i algorytm minimalnego stopnia (minimum degrees algorithm - MDA). 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. 2

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 są wybrane z poziomu środkowego. Dla tego tą metodę nazywają metodą rekursywnych bisekcji. 3

Przykład: rama płaska 4

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

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); 5 9 3 2 1 4 6 8 7 niezerowy element -zapełnienie

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

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 param. 8

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

Algorytm: 1. Znajdujemy wierzchołek, stopień którego jest minimalny. 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. 10

Symboliczna faktoryzacja nadaje możliwość dla algorytmu minimalnego stopnia ustalić kolejność eliminowania wierzchołków, nie rozkładając macierzy faktycznie Wyznaczyć ilość zapełnieni 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 zapełnieni. Przykład SCAD lub SOLVER 11

12

13 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 14

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 15

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 wymogi 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. 16

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. 17

18 5 9 4 7 8 3 2 1 6

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

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