Algorytmy i struktury danych

Slides:



Advertisements
Podobne prezentacje
Metody optymalizacyjne w logistyce
Advertisements

Teoria Grafów.
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Zadania przygotowawcze na egzamin
Grafy o średnicy 2 i dowolnej liczbie dominowania
ALGORYTMY GRAFOWE.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Grafy inaczej, czyli inne modele grafów
Kolorowanie grafów Niech G = (V, E) będzie spójnym grafem nieskierowanym bez pętli. Kolorowaniem wierzchołków grafu nazywa się przypisanie wierzchołkom.
WYKŁAD 6. Kolorowanie krawędzi
ELEMENTY TEORII GRAFÓW
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Algorytm Dijkstry (przykład)
ALGORYTMY I STRUKTURY DANYCH
Ciągi de Bruijna generowanie, własności
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 5. Skojarzenia – ciąg dalszy
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WYKŁAD 1. Grafy są wokół nas. Pojęcia wstępne.
WYKŁAD 8. Siła spójności Wierzchołek v nazywamy wierzchołkiem cięcia grafu G, gdy podgraf G-v ma więcej składowych spójności niż G. Krawędź e nazywamy.
Dariusz Odejewski Krzysztof Wójcik
Teoretyczne podstawy informatyki
Materiały pomocnicze do wykładu
Macierz incydencji Macierzą incydencji grafu skierowanego D = (V, A), gdzie V = {1, ..., n} oraz A = {a1, ..., am}, nazywamy macierz I(D) = [aij]i=1,...,n,
Algorytmy grafowe Reprezentacja w pamięci
Hipergrafy Hipergraf jest rozszerzeniem pojęcia grafu. Hipergraf różni się od grafu nieskierowanego tym, że każda hiperkrawędź może być incydentna do dowolnej.
Sieci neuronowe jednokierunkowe wielowarstwowe
Algorytmy genetyczne.
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Minimalne drzewa rozpinające
Przepływy w sieciach. Twierdzenie minimaksowe.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Badania operacyjne Wykład 5.
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:
Uniwersytet Dzieci Nieważne jaki masz komputer
Rodzaje, przechodzenie grafu
autorzy: Michał Przykucki Małgorzata Sulkowska
ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACH
3. SPOSOBY REPREZENTACJI GRAFÓW
Wspomaganie Decyzji II
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
Algorytmy i Struktury Danych
Autokształty listwy rysunkowej
System gromadzenia i udostępniania informacji o ruchu pojazdów i przesyłek w przedsiębiorstwie kurierskim Autor: Karol Podsiadło gr. OS1 Promotor: dr inż.
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
Algorytmy i Struktury Danych Grafy
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Drogi i cykle Eulera w grafach nieskierowanych
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Algorytmy grafowe Minimalne drzewa rozpinające
Literatura podstawowa
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
METODY NUMERYCZNE Katedra Mikroelektroniki i Technik Informatycznych
Grafy.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Macierzowe systemy kodowania konstytucji cząsteczki
ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACH
Algorytmy i struktury danych
ALGORYTMY I STRUKTURY DANYCH
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Algorytmy i struktury danych Reprezentacja grafu Wybrane problemy

Graf Pętle Wielokrotne krawędzie Wagi 10 11 7 Prosty Skierowany

Reprezentacja grafu Macierz sąsiedztwa Lista sąsiedztwa B D A B C D Macierz sąsiedztwa A B C D 1 C Lista sąsiedztwa A B C D B A C D B D B C Jeśli macierz jest symetryczna (graf nieskierowany), można przechowywać tylko jedną połówkę.

Reprezentacja grafu Macierz incydencji Lista incydencji m p m n o p n 1 o Lista incydencji m n o p p n m o p p n m n o

Reprezentacja wag Macierz sąsiedztwa Lista incydencji A 2 7 B D A B C 3 A B C D 5 7 2 3 5 C 2 Lista incydencji A B C D A,2 B,3 D,2 B,7 C,5

Składowe spójnosci DFS

Minimalne drzewo spinające 1 3 6 2 4 8 5 Zastosowania – np. budowa sieci dróg

Minimalne drzewo spinające Alg Kruskala: Wybieraj kolejno krawędzie o minimalnej wadze tak, by nie tworzyły cyklu. Pot. problem: stwierdzanie obecności cyklu. Alg Prima-Dijkstry: Drzewo = krawędź o minimalnej wadze; Spośród krawędzi incydentnych z aktualnym drzewem wybierz krawędź o najmniejszej wadze; Dodaj krawędź do drzewa. Pot. problem: grafy niespójne.

Minimalna droga 1 3 6 7 4 9 2 Zastosowania: - wybór najkrótszej (najszybszej) trasy przejazdu; - wybór najtańszego procesu technologicznego.

Alg. Dijkstry Z.: Wagi są nieujemne Dla sąsiadów wierzchołka startowego S ustaw odległość di równą wadze krawędzi e(s,i), dla każdego wierzchołka innego niż S inicjujemy di =  Spośród nieodwiedzonych wierzchołków wybierz wierzchołek i o mininimalnej ogległości di Dla sąsiadów j wybranego wierzchołka aktualizuj odległość jako min{ dj, di+e(j,w) } Jeżeli są nieosiągnięty został wierzchołek końcowy K (lub są nieodwiedzone wierzchołki gdy nie zadajemy K) przejdź do punktu 2

Droga, cykl Eulera Marszruta – otwarta (zamknięta), zawierająca wszystkie krawędzie w grafie Zastosowania: Problem chińskiego listonosza; Rysowanie/wycinanie figur przy pomocy plotera.

Minimalne drzewo spinające Algorytm Dijkstry: Dla wszystkich wierzchołków ustal s=¥; Dla w. początkowego P ustal s=0. Podstaw D={P}; Zaktualizuj odległość s’ dla wszystkich wierzchołków sąsiednich do D; s’[w] = min { s[x] + waga krawędzi {x, w} ; po wszystkich x należących do D }; Wybierz wierzchołek o minimalnej s’, podstaw dla niego s=s’. D = D È {w}. Algorytm pozwala efektywnie wyznaczyć sieć dróg - z określonego wierzchołka do wszystkich innych. Pot. problem: ujemne wagi.

Cykl Eulera - alg Fleury’ego Wystartuj z wierzchołka o nieparzystym stopniu (jeśli jest); Wybierz dowolną krawędź, ale most wybieraj w ostateczności; Przejdź do kolejnego wierzchołka. Algorytm działa dla grafów eulerowkich, półeulerowskich. Problematyczna jest jednak implementacja testu, czy krawędź jest mostem.

Cykl Eulera – alg. ze stosem Wystartuj z dowolnego wierzchołka; Jeżeli istnieją nie przechodzone dotąd krawędzie incydentne z bieżącym wierzchołkiem: Wybierz dowolną krawędź; Przejdź do kolejnego wierzchołka i odłóż go na stos; W przeciwnym wypadku: Przenieś wierzchołek do rozwiązania i zdejmij go ze stosu; Przejdź do wierzchołka na szczycie stosu. Algorytm wymaga grafu eulerowskiego.

Kolorowanie grafów KOLOROWANIE Należy przeprowadzić przydział kolorów w taki sposób, aby sąsiedzi otrzymali różne kolory KOLOROWANIE wierzchołków krawędzi

Kolorowanie grafów heuryst. LF Wybierz niepomalowany wierzchołek o największym stopniu; Przydziel wierzchołkowi najniższy możliwy kolor. Dobroć algorytmu jest liniowa, tj. można pokazać graf, dla którego: liczba użytych kolorów ~ liczba wierzchołków optymalna liczba kolorów

Kolorowanie grafów heuryst. SL Wybierz wierzchołek o najmniejszym stopniu w nieprzetworzonym podgrafie; Wstaw wierzchołek na początek sekwencji; Usuń z podgrafu wierzchołek i incydentne z nim krawędzie; Po uporządkowaniu wszystkich wierzchołków przydzielaj kolejnym wierzchołkom w sekwencji najniższe możliwe kolory. Dobroć algorytmu jest liniowa

Kolorowanie grafów heuryst. SLF Wybierz wierzchołek o największym stopniu saturacyjnym (największej liczbie różnobarwnych sąsiadów), a w przypadku kilku wierzchołków o tym samym stopniu wybierz ten o najwyższym stopniu klasycznym; Przydziel wierzchołkowi najniższy możliwy kolor.

Cykl Hamiltona Cykl Hamiltona; Problem Komiwojażera; Algorytm przybliżony.