17 maja 2012
1 Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność 2 Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące 3 Ślady Monoidy Sieci Petriego 4
Grafy planarne Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Definicja Przez zanurzenie grafu planarnego w płaszczyźnie rozumiemy jego przedstawienie na płaszczyźnie bez krawędzi przecinających siebie lub wierzchołki.
Grafy planarne Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Definicja Przez zanurzenie grafu planarnego w płaszczyźnie rozumiemy jego przedstawienie na płaszczyźnie bez krawędzi przecinających siebie lub wierzchołki. Definicja Przez graf planarny rozumiemy posiadający zanurzenie w płaszczyźnie.
Grafy nie planarne Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Grafy K 3,3 i K 5 :
Wzór Eulera Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Zachodzi: v e + f = 2 dla spójnych grafów planarnych gdzie v - liczba wierzchołków, e - liczba krawędzi, f - liczba ścian.
Wzór Eulera - wniosek 1 Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Wykorzystując wzór Eulera otrzymujemy ograniczenie e 3v 6 dla grafów o co najmniej trzech wierzchołkach.
Wzór Eulera - wniosek 2 Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Stąd w prosty sposób otrzymujemy następujące 2 fakty: K 5 nie jest planarny, K 3,3 nie jest planarny.
Homeomorfizm z grafu Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Powiemy, że graf G jest homeomorfizmem z grafu G (G = HG), jeśli istnieje sekwencja, być może pusta, podziałów krawędzi grafu G, taka, że powstały graf jest izomorficzny z G.
Homeomorfizm z grafu Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Powiemy, że graf G jest homeomorfizmem z grafu G (G = HG), jeśli istnieje sekwencja, być może pusta, podziałów krawędzi grafu G, taka, że powstały graf jest izomorficzny z G. Powiemy, że grafy G, G są homeomorficzne, jeśli są homeomorficzne z pewnego grafu F.
Homeomorfizm z grafu - rysunek Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Homeomorfizm z grafu K 5 :
Twierdzenie Kuratowskiego Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Twierdzenie Kuratowskiego mówi, że graf jest planarny nie zawiera jako podgrafu HK 5 ani HK 3,3.
Kilka algorytmów Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm kwadratowy (Demoucron-Malgrange-Pertuiset)
Kilka algorytmów Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm kwadratowy (Demoucron-Malgrange-Pertuiset) Algorytm Lempel-Even-Cederbaum Algorytm Shih-Hsu
Kilka algorytmów Spis rzeczy Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm kwadratowy (Demoucron-Malgrange-Pertuiset) Algorytm Lempel-Even-Cederbaum Algorytm Shih-Hsu Algorytm Fraysseix-Mendez-Rosenstiehl
Algorytm DMP - definicje Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Załóżmy, że mamy pewien planarny podgraf G grafu G (o obu zakładamy, że są dwuspójne).
Algorytm DMP - definicje Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Załóżmy, że mamy pewien planarny podgraf G grafu G (o obu zakładamy, że są dwuspójne). Spójne podgrafy G E nazywamy fragmentami.
Algorytm DMP - definicje Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Załóżmy, że mamy pewien planarny podgraf G grafu G (o obu zakładamy, że są dwuspójne). Spójne podgrafy G E nazywamy fragmentami. Dla każdego fragmentu f znajdujemy zbiór pasujących obszarów jako tych obszarów G, które zawierają wszystkie wierzchołki f G (tylko w takich obszarach możemy umieścić f ).
Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm DMP - podział na fragmenty
Algorytm DMP - idea Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm polega na dodawaniu do G pewnej ścieżki z pewnego fragmentu, o początku i końcu w G (istnieje ponieważ G jest dwuspójny, zapewnia też jego dwuspójność w następnej iteracji).
Algorytm DMP - idea Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm polega na dodawaniu do G pewnej ścieżki z pewnego fragmentu, o początku i końcu w G (istnieje ponieważ G jest dwuspójny, zapewnia też jego dwuspójność w następnej iteracji). Jeśli dla jakiegoś fragmentu jest dokładnie jeden pasujący obszar wybieramy ścieżkę właśnie z niego. Jeśli dla jakiegoś fragmentu nie ma żadnego graf jest nieplanarny.
Algorytm DMP - idea Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm polega na dodawaniu do G pewnej ścieżki z pewnego fragmentu, o początku i końcu w G (istnieje ponieważ G jest dwuspójny, zapewnia też jego dwuspójność w następnej iteracji). Jeśli dla jakiegoś fragmentu jest dokładnie jeden pasujący obszar wybieramy ścieżkę właśnie z niego. Jeśli dla jakiegoś fragmentu nie ma żadnego graf jest nieplanarny. Okazuje się, że w przeciwnym wypadku możemy wybrać dowolną ścieżkę z dowolnego fragmentu.
Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność Algorytm FMR - podział na krawędzie lewe i prawe
Algrytm FMR - interakcja Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność
Genom - definicja Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Genomem nazywamy całą sekwencję DNA danego żywego organizmu. Genom składa się z chromosomów, które są liniowe lub cykliczne. Chromosomy składają się z genów.
Genom - definicja Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Genomem nazywamy całą sekwencję DNA danego żywego organizmu. Genom składa się z chromosomów, które są liniowe lub cykliczne. Chromosomy składają się z genów. Genem nazywamy fragment DNA odpowiedzialny za określoną cechę organizmu (np. kolor oczu czy wytwarzanie pewnego białka).
Genom - definicja Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Genomem nazywamy całą sekwencję DNA danego żywego organizmu. Genom składa się z chromosomów, które są liniowe lub cykliczne. Chromosomy składają się z genów. Genem nazywamy fragment DNA odpowiedzialny za określoną cechę organizmu (np. kolor oczu czy wytwarzanie pewnego białka). Geny są podstawowymi, niepodzielnymi jednostkami w genetyce. Będziemy je oznaczać kolejnymi liczbami naturalnymi 1, 2,..., n.
Geny ze znakami Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Ponieważ gen może występować w sekwencji DNA w postaci oryginalnej lub odwróconej (ze względu na występowanie dwóch nici DNA), często do jego reprezentacji używa się permutacji ze znakami.
Ważna jest kolejność genów Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Zdarza się, że dwa różne organizmy zawierają identyczny zbiór genów i różnią się tylko ich kolejnością.
Ważna jest kolejność genów Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Zdarza się, że dwa różne organizmy zawierają identyczny zbiór genów i różnią się tylko ich kolejnością. Chromosom X jest postaci (4, 6, 1, 7, 2, 3, 5, 8) u człowieka, podczas gdy u myszy ma on postać (1, 2, 3, 4, 5, 6, 7, 8). Genotyp kapusty jest postaci (+1, 5, +4, 3, +2), podczas gdy w rzepie ma on postać (+1, +2, +3, +4, +5).
Przekształcenia genomowe Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Przekształceniami genomowymi nazywamy przekształcenia permutacji odpowiadające zmianom jakie zachodzą na rzeczywistym genomie (np. odwrócenie bloku genów lub translokacja chromosomów).
Przekształcenia genomowe Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Przekształceniami genomowymi nazywamy przekształcenia permutacji odpowiadające zmianom jakie zachodzą na rzeczywistym genomie (np. odwrócenie bloku genów lub translokacja chromosomów). Naturalnym wydaje się zdefiniowanie pokrewieństwa między organizmami jako minimalnej liczby pewnych przekształceń genomowych koniecznych do zamiany genomu jednego organizmu w drugi.
Graf złamań - rysunek Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Graf złamań B(π) permutacji π = (4, 1, 3, 2).
Permutacja podwojona Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja Permutacją podwojoną dla permutacji ze znakami π nazywamy permutację bez znaków π taką, że π 0 = 0, π 2n+1 = 2n + 1 oraz π 2i = 2 π i, π 2i 1 = 2 π i 1 (jeśli π i > 0) lub π 2i = 2 π i 1, π 2i 1 = 2 π i (jeśli π i < 0), 1 i n.
Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Graf złamań permutacji podwojonej - rysunek Graf złamań B(π ) permutacji podwojonej π dla permutacji π = (+4, 1, +3, 2).
Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Maksymalny rozkład grafu złamań na cykle alternujące Definicja Maksymalnym rozkładem na cykle alternujące (ang. breakpoint graph decomposition, w skrócie BGD) grafu złamań B(π) nazywamy rozkład na cykle alternujące OPT C (π) zawierający maksymalną liczbę cykli.
Problem BGD jest NP-trudny Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Problem BGD jest NP-trudny. Najlepszy uzyskany do tej pory współczynnik aproksymacji jest równy 12 17.
Definicja odwrócenia Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja Odwróceniem nazywamy przekształcenie ρ π (i, j) na permutacji π takie, że ρ π (i, j) = (π 1,..., π i 1, π j 1,..., π i, π j,..., π n ) gdzie 1 i < j n + 1. Innymi słowami - przekształcenie polegające na odwróceniu kolejności wszystkich elementów o indeksach od i począwszy na j 1 skończywszy.
Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja sortowania przez odwrócenia Definicja Sortowaniem permutacji przez odwrócenia (ang. sorting by reversals, w skrócie SBR) nazywamy dowolny minimalny ciąg odwróceń OPT ρ (π) przekształcający permutację π w id.
Problem SBR jest NP-trudny Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Problem SBR jest NP-trudny. Najlepszy uzyskany do tej pory współczynnik aproksymacji jest równy 11 8.
Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja odwrócenia permutacji ze znakami Definicja Odwróceniem nazywamy przekształcenie ρ π (i, j) na permutacji π takie, że ρ π (i, j) = ( π 1,..., π i 1, π j 1,..., π i, π j,..., π n ) gdzie 1 i < j n + 1.
Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja sortowania permutacji ze znakami przez odwrócenia Definicja Sortowaniem permutacji ze znakami przez odwrócenia (ang. signed sorting by reversals, w skrócie SSBR) nazywamy dowolny minimalny ciąg odwróceń OPT ρ ( π ) przekształcający permutację π w id.
Problem SSBR jest rozwiązywalny Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Problem SSBR jest rozwiązywalny w czasie wielomianowym!
Transpozycja Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja Transpozycją nazywamy przekształcenie τ π (i, j, k) na permutacji π takie, że τ π (i, j, k) = (π 1,..., π i 1, π j,..., π k 1, π i,..., π j 1, π k,..., π n ) gdzie 1 i < j < k n + 1. Innymi słowami - przekształcenie polegające na przeniesieniu wszystkich elementów o indeksach od i począwszy na j 1 skończywszy za element o indeksie k 1.
Zamiana Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja Zamianą nazywamy przekształcenie γ π (i, j, k, l) na permutacji π takie, że γ π (i, j, k, l) = (π 1,..., π i 1, π k,..., π l 1, π j,..., π k 1, π i,..., π j 1, π l,.. gdzie 1 i < j k < l n + 1. Innymi słowami - przekształcenie polegające na zamianie miejscami wszystkich elementów o indeksach od i począwszy na j 1 skończywszy z elementami o indeksach od k począwszy na l 1 skończywszy.
Ruch blokowy Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące Definicja Ruchem blokowym nazywamy przekształcenie β π (i, j, k) na permutacji π takie, że β π (i, j, k) = (π 1,..., π i 1, π j,..., π k 1, π i,..., π j 1, π k,..., π n ) gdzie 1 i < j n, 1 k n + 1 oraz π i,..., π j 1 tworzą blok niemalejący. Ruch blokowy jest zatem szczególnym przypadkiem transpozycji.
Kilka implementacji Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące SBR2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez odwrócenia
Kilka implementacji Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące SBR2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez odwrócenia SBRGenetic.java - implementacja algorytmu genetycznego dla sortowania przez odwrócenia
Kilka implementacji Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące SBR2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez odwrócenia SBRGenetic.java - implementacja algorytmu genetycznego dla sortowania przez odwrócenia SBRT4Approx.java - implementacja algorytmu aprosymacyjnego dla sortowania przez odwrócenia i transpozycje
Kilka implementacji Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące SBR2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez odwrócenia SBRGenetic.java - implementacja algorytmu genetycznego dla sortowania przez odwrócenia SBRT4Approx.java - implementacja algorytmu aprosymacyjnego dla sortowania przez odwrócenia i transpozycje SBBIExact.java - implementacja algorytmu dokładnego dla sortowania przez zamianę
Kilka implementacji Spis rzeczy Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące SBR2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez odwrócenia SBRGenetic.java - implementacja algorytmu genetycznego dla sortowania przez odwrócenia SBRT4Approx.java - implementacja algorytmu aprosymacyjnego dla sortowania przez odwrócenia i transpozycje SBBIExact.java - implementacja algorytmu dokładnego dla sortowania przez zamianę SBSM2Approx.java - implementacja algorytmu aproksymacyjnego dla sortowania przez ruchy blokowe
Definicja zależności Spis rzeczy Ślady Monoidy Sieci Petriego Definicja Zależnością nazywamy skończoną, zwrotną i symetryczną relację czyli skończony zbiór uporządkowanych par D taki, że jeśli (a, b) D to (b, a) D, (a, a) D
Definicja śladu Spis rzeczy Ślady Monoidy Sieci Petriego Definicja Śladem dla zależności D nazywamy klasę słów równoważnych względem zależności D.
Przykład śladu Spis rzeczy Ślady Monoidy Sieci Petriego Dla zależności D = {(a, b), (a, c)} i słowa w = abbca śladem jest [abbca] D = {abbca, abcba, acbba}.
Ślady Monoidy Sieci Petriego Ślady a programowanie współbieżne Ślady w programowaniu współbieżnym odpowiadają słowom w programowaniu sekwencyjnym.
Definicja monoidu Spis rzeczy Ślady Monoidy Sieci Petriego Monoid (M, ) to zbiór M z binarną operacją złożenia, spełniającą następujące warunki: ( x, y M) x y M - Operacja złożenia nie wyprowadza poza zbiór M
Definicja monoidu Spis rzeczy Ślady Monoidy Sieci Petriego Monoid (M, ) to zbiór M z binarną operacją złożenia, spełniającą następujące warunki: ( x, y M) x y M - Operacja złożenia nie wyprowadza poza zbiór M ( x, y, z M) (x y) z = x (y z) - Operacja złożenia jest łączna
Definicja monoidu Spis rzeczy Ślady Monoidy Sieci Petriego Monoid (M, ) to zbiór M z binarną operacją złożenia, spełniającą następujące warunki: ( x, y M) x y M - Operacja złożenia nie wyprowadza poza zbiór M ( x, y, z M) (x y) z = x (y z) - Operacja złożenia jest łączna ( 1 M) - Istnieje element neutralny, zwany jedynką (oznaczany 1M)
Monoid wolny Spis rzeczy Ślady Monoidy Sieci Petriego Definicja Monoidem wolnym nazywamy zbiór wszystkich słów nad alfabetem A wraz z 1M jako słowem pustym i jako operacją konkatenacji.
Monoid śladów Spis rzeczy Ślady Monoidy Sieci Petriego Definicja Monoidem śladów M(D) nazywamy każdy monoid zadany przedstawieniem równaniowym (A, E), gdzie A jest alfabetem skończonym, a E jest zbiorem równań postaci ab = ba (gdzie a, b A).
Język śladów Spis rzeczy Ślady Monoidy Sieci Petriego Definicja Językiem śladów nazywamy dowolny podzbiór L M(D).
Ślady Monoidy Sieci Petriego Akcje w elementarnej sieci Petriego
Elementarna sieć Petriego Ślady Monoidy Sieci Petriego
Ślady Monoidy Sieci Petriego Graf osiągalności elementarnej sieci Petriego
Dodawanie współbieżne Ślady Monoidy Sieci Petriego
Ślady Monoidy Sieci Petriego Akcje w markowanej sieci Petriego
Kilka linków Spis rzeczy Testowanie planarności grafów - http://chomikuj.pl/leszek.marcjan/praca+magisterska+1
Kilka linków Spis rzeczy Testowanie planarności grafów - http://chomikuj.pl/leszek.marcjan/praca+magisterska+1 Algorytmy aproksymacyjne dla sortowania permutacji - http://chomikuj.pl/leszek.marcjan/praca+magisterska+3
Kilka linków Spis rzeczy Testowanie planarności grafów - http://chomikuj.pl/leszek.marcjan/praca+magisterska+1 Algorytmy aproksymacyjne dla sortowania permutacji - http://chomikuj.pl/leszek.marcjan/praca+magisterska+3 - http://www-users.mat.umk.pl/ edoch/