Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów

Slides:



Advertisements
Podobne prezentacje
Niezawodności sieci telekomunikacyjnych
Advertisements

Materiały pomocnicze do wykładu
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grafy spełniające nierówność Γ(G) < IR(G)
Grażyna Mirkowska PJWSTK 15 listopad 2000
S – student, P – przedmiot, W – wykładowca
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
ZLICZANIE cz. I.
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Badania operacyjne. Wykład 2
ALGORYTMY I STRUKTURY DANYCH
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.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
WYKŁAD 3. Kliki i zbiory niezależne
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
WYKŁAD 5. Skojarzenia – ciąg dalszy
„Zbiory, relacje, funkcje”
Elementy Kombinatoryki (c.d.)
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
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.
ALGORYTMY I STRUKTURY DANYCH
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.
Zależności funkcyjne.
Jak usprawnić obliczanie MKZ?
Przepływy w sieciach. Twierdzenie minimaksowe.
O relacjach i algorytmach
ANALIZA LEKSYKALNA. Zadaniem analizatora leksykalnego jest przetwarzanie danych pochodzących ze strumienia wejściowego a także rozpoznawanie ciągów znaków.
Elementy Rachunku Prawdopodobieństwa i Statystyki
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
Algorytmy i struktury danych
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Podstawy analizy matematycznej II
I. Informacje podstawowe
Rodzaje, przechodzenie grafu
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
PODSTAWOWE WŁASNOŚCI PRZESTRZENI
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Model relacyjny.
FUNKCJE Opracował: Karol Kara.
Podstawy Techniki Cyfrowej
Algorytmy i Struktury Danych
FUNKCJE Pojęcie funkcji
Zagadnienia AI wykład 2.
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
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,
Drogi i cykle Eulera w grafach nieskierowanych
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Autor: Michał Salewski
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Model matematyczny przydziału częstotliwości w sieciach komórkowych
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Metoda klasyczna (wg książki Sasao)
WYRAŻENIA ALGEBRAICZNE
Zapis prezentacji:

Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów Klasy zgodności Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich. 1

Elementy rachunku podziałów Podziałem na zbiorze S jest system zbiorów P = {Bi }, którego podzbiory są rozłączne, czyli Bi  Bj =, jeśli tylko i  j =  a ponadto S B i i Dla S = {1,2,3,4,5,6}, P = {{1,2}, {3,5}, {4,6} } jest podziałem na S.  = Podzbiory nazywamy blokami Podstawowe pojęcia: Relacja , iloczyn podziałów, podział ilorazowy

Elementy rachunku podziałów… Powiemy, że podział Pa jest nie większy od Pb (co oznaczamy: Pa   Pb ), jeśli każdy blok z Pa jest zawarty w pewnym bloku z Pb. a = b = c = a = c ≤ a Tak c = c  b NIE! (0) – podział najmniejszy b = (1) – podział największy c =

Elementy rachunku podziałów… Iloczynem podziałów a • b nazywamy największy (względem relacji ) podział, który jest nie większy od a oraz b. a = b = a • b =

Elementy rachunku podziałów… Podział ilorazowy Niech Pa i Pb są podziałami na S oraz Pa   Pb. Podział Pa | Pb jest podziałem ilorazowym Pa i Pb , jeżeli jego elementy są blokami Pb, a bloki są blokami Pa. Na przykład:

Elementy teorii grafów Grafem prostym nazywamy parę G = (V, E), gdzie V jest niepustym skończonym zbiorem wierzchołków, a E jest skończonym zbiorem krawędzi – nieuporządkowanych par różnych elementów ze zbioru V. v1 v6 v2 Przykład: V = {v1, v2, v3, v4, v5, v6} v5 v3 E = {(v1,v6), (v2,v3), (v2,v4), (v2,v5), (v2,v6), (v3,v4), (v3,v6), (v5,v6)} v4 Pary wierzchołków reprezentują krawędzie 6

Klika Dowolny podzbiór wierzchołków, w którym każde dwa wierzchołki są połączone krawędzią nazywamy kliką. Klikę, która nie jest zawarta w żadnej istotnie innej klice, nazywamy maksymalną. Najliczniejszą klikę w danym grafie nazywamy największa kliką. Przykłady klik: v1 v6 v2 V = {v2, v3, v4} V = { v2, v3, v6} v5 v3 V = {v2, v5, v6} v4 7

Zbiór niezależny (antyklika) Zbiorem niezależnym nazywamy dowolny zbiór wierzchołków, które nie są sąsiednie w danym grafie. Analogicznie określamy pojęcie maksymalnego zbioru niezależnego. 8

Zbiór niezależny (antyklika) Zbiorem niezależnym nazywamy dowolny zbiór wierzchołków, które nie są sąsiednie w danym grafie. Analogicznie określamy pojęcie maksymalnego zbioru niezależnego. Przykłady zbiorów niezależnych v1 v6 v2 V = {v1, v4, v5} V = {v1, v3, v5} v5 v3 V = {v4, v6} v4 V = {v1, v2} 9

Obliczanie klik … …nie jest zadaniem łatwym. Problem obliczania maksymalnych klik można sprowadzić do problemu obliczania maksymalnych klas zgodności definiowanych dla danej relacji zgodności.

Iloczyn kartezjański Iloczynem kartezjańskim zbiorów A i B , oznaczanym A × B nazywamy zbiór wszystkich par uporządkowanych (a, b), takich że pierwszy element pary należy do zbioru A (a  A), natomiast drugi do B (b  B). Przykładzik Niech A = {p, q} oraz B = {r, s, t}, wtedy A × B = {(p, r), (p, s), (p, t), (q, r), (q, s), (q, t)} 11

Pojęcie relacji… Relacją nazywamy dowolny podzbiór iloczynu kartezjańskiego zbiorów A, B . Typowe własności relacji na zbiorze A (czyli A × A): zwrotność symetria przechodniość 12

Najważniejsze relacje Relacja zgodności Relacja równoważności Relację, która jest zwrotna, symetryczna, ale nie jest przechodnia nazywamy relacją zgodności Relację, która jest zwrotna, symetryczna, i przechodnia nazywamy relacją równoważności 13

Własności relacji zgodności… …pokrywają się z intuicyjnym rozumieniem zgodności: Każdy element jest zgodny z samym sobą, Jeśli element v1 jest zgodny z v2, to również v2 jest zgodny z v1. Jeśli v1 jest zgodny z v2 oraz v2 jest zgodny z v3, to z tego nie wynika, że v1 jest zgodny z v3. Janek Marek Piotr Marek Janek Piotr 14

Maksymalne klasy zgodności Zbiór par określających relację zgodności nazywa się zbiorem par zgodnych. Pary zgodne umożliwiają wyznaczenie maksymalnych zbiorów zgodnych. Zbiór V = {v1,...,vp} nazywamy maksymalnym zbiorem zgodności (maksymalną klasą zgodności), jeżeli każda para vi, vj wzięta z tego zbioru jest zgodna oraz nie istnieje żaden inny zbiór elementów zgodnych V, zawierający V. 15

Algorytm obliczania klik metodą Maksymalnych Klas Zgodności (MKZ) Zapisać pary SPRZECZNE w postaci koniunkcji dwuskładnikowych sum (vi, vj), (vk, vl), (vp, vq), … (vi + vj)(vk + vl)(vp + vq) … Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów vivjvk + vpvq vrvs +… Wtedy MKZ są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia 16

Przykład obliczania klik (Maksymalnych Klas Zgodności) v1 v6 v2 Pary zgodne: Pary sprzeczne: (v1, v2) (v1, v3) (v1, v4) (v1, v5) (v3, v5) (v4, v5) (v4, v6) (v1, v6) (v2, v3) (v2, v4) (v2, v5) (v2, v6) (v3, v4) (v3, v6) (v5, v6) v5 v3 v4 17

porządkujemy czynniki Przykład… Pary sprzeczne E = {(v1, v2), (v1, v3), (v1, v4), (v1, v5), (v3, v5), (v4, v5), (v4, v6)} Obliczamy wyrażenie boolowskie typu „koniunkcja sum”: (v1 + v2)(v1 + v3)(v1+ v4)(v1 + v5)(v3 + v5)(v4 + v5) (v4 +v6) = porządkujemy czynniki (v1 + v2)(v1 + v3)(v1+ v4)(v1 + v5) (v4 + v5) (v4 +v6)(v3 + v5) = stosujemy zasadę: (a + b)(a + c) = a +bc (v1 + v2v3v4v5)(v4 + v5v6)(v3 + v5) = 18

Przykład… Pary sprzeczne E = {(v1, v2), (v1, v3), (v1, v4), (v1, v5), (v3, v5), (v4, v5), (v4, v6)} Obliczamy wyrażenie boolowskie typu „koniunkcja sum”: (v1 + v2)(v1 + v3)(v1+ v4)(v1 + v5)(v3 + v5)(v4 + v5) (v4 +v6) = (v1 + v2)(v1 + v3)(v1+ v4)(v1 + v5) (v4 + v5) (v4 +v6)(v3 + v5) = (v1 + v2v3v4v5)(v4 + v5v6)(v3 + v5) = wymnażamy i redukujemy zbędne składniki (v1v4 + v1v5v6 + v2v3v4v5 + v2v3v4v5v6) (v3 + v5) = (v1v4 + v1v5v6 + v2v3v4v5) (v3 + v5) = wymnażamy i redukujemy zbędne składniki v1v3v4 + v1v3v5v6 + v2v3v4v5 + v1v4v5 + v1v5v6 + v2v3v4v5 = v1v3v4 + v1v4v5 + v1v5v6 + v2v3v4v5 19

Przykład… …i to są wszystkie maksymalne kliki w tym grafie v1v3v4 + v1v4v5 + v1v5v6 + v2v3v4v5 {v1,..., v6}  {v1,...,v6}  {v1, v3, v4} = {v2, v5, v6 } …i to są wszystkie maksymalne kliki w tym grafie {v1 , v4 , v5 } = {v2, v3, v6} {v1, v5 , v6} = {v2 , v3, v4} {v2, v3, v4, v5 } = {v1, v6} v5 v6 v1 v2 v3 v4 20

Algorytm obliczania Maksymalnych Zbiorów Niezależnych (MZN) Zapisać pary ZGODNE w postaci koniunkcji dwuskładnikowych sum (vi, vj), (vk, vl), (vp, vq), … (vi + vj)(vk + vl)(vp + vq) … Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów vivjvk + vpvq vrvs +… Wtedy MZN są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia 21

Przykład v1 v6 v2 E = {(v1, v6), (v2, v3), (v2, v4), (v2, v5), Obliczamy wyrażenie boolowskie typu „koniunkcja sum”: v4 (v1 + v6)(v2 + v3)(v2+ v4)(v2 + v5)(v2 + v6)(v3 + v4) (v3 +v6) (v5 +v6) = (v2 + v3)(v2+ v4)(v2 + v5)(v2 + v6)(v6 + v1) (v6 +v3) (v6 +v5) (v3 + v4) = (v2 + v3v4v5v6)(v6 + v1v3v5)(v3 + v4) = (v2v6 + v1v2v3v5 + v3v4v5v6 + v1v3v4v5v6) (v3 + v4) = 22

Przykład… … i to są wszystkie MZN w tym grafie = (v2v6 + v1v2v3v5 + v3v4v5v6 + v1v3v4v5v6) (v3 + v4) = v2v3v6 + v1v2v3v5 + v3v4v5v6 + v2v4v6 + v1v2v3v4v5 + v3v4v5v6 = v2v3v6 + v1v2v3v5 + v3v4v5v6 + v2v4v6 = v2v3v6 + v2v4v6 + v1v2v3v5 + v3v4v5v6 v1 v2 v4 v5 v6 Maksymalne Zbiory Niezależne: {v1, v4, v5} {v1, v3, v5} … i to są wszystkie MZN w tym grafie v3 {v4, v6} {v1, v2} 23

Kolorowanie grafu Kolorowaniem grafu nazywamy przyporządkowanie kolorów do wierzchołków grafu w taki sposób, aby żadna para wierzchołków sąsiednich nie miała takiego samego koloru. 24

Podstawowy problem Jak obliczać najmniejszą liczbę kolorów zapewniających prawidłowe pokolorowanie grafu? Jest to tzw. liczba chromatyczna grafu. 25

Algorytm kolorowania grafu Obliczyć wszystkie Maksymalne Zbiory Niezależne Uzyskujemy Rodzinę Maksymalnych Zbiorów Niezależnych (RMZN) Obliczyć pokrycie zbioru wierzchołków V minimalną liczbą Maksymalnych Zbiorów Niezależnych (tzw. minimalne pokrycie) Minimalne pokrycie reprezentuje minimalny zbiór kolorów W uzyskanym pokryciu usunąć elementy powtarzające się Komentarz: formalnie pokrycie.. 26

Przykład Należy obliczyć optymalne kolorowanie grafu z poprzedniego przykładu: v1 v2 v4 v5 v6 Maksymalne Zbiory Niezależne: {v1, v4, v5} v3 {v1, v3, v5} {v4, v6} {v1, v2} 27

Algorytm kolorowania grafu Minimalna podrodzina pokrywająca zbiór V = {v1, v2,…, v6}: Maksymalne Zbiory Niezależne: v1 v2 v3 v4 v5 v6 {v1, v4, v5} {v1, v3, v5} {v1, v3, v5} {v4, v6} {v4, v6} {v1, v2} {v1, v2} Elementy powtarzające się usuwamy: Wybrane zbiory wyczerpują wszystkie elementy V Uzyskane zbiory rozłączne reprezentują kolorowanie: {v1, v3, v5} {v4, v6} {v2} 28

Komentarz… Następne plansze prezentują inny przykład obliczania MKZ, który należy potraktować jako pracę samodzielną. W razie jakichkolwiek trudności… Wiele ciekawych przykładów znaleźć można w książce: …prowadzący wykład nie stroni od udzielania konsultacji w tym zakresie.

Inny przykład obliczania MKZ (Raczej do dyskusji na ćwiczeniach) Pary zgodne Pary sprzeczne E: 1,2 1,3 1,5 2,3 2,4 2,5 3,5 3,6 4,6 1,4 1,6 2,6 3,4 4,5 5,6 v1 v2 v3 v4 v5 v6 30

Inny przykład obliczania MKZ… Pary sprzeczne: (v1, v4), (v1, v6), (v2, v6), (v3, v4), (v4, v5), (v5, v6) Obliczamy wyrażenie boolowskie typu „koniunkcja sum”: (v1 + v4) (v1 + v6 ) (v2 + v6) (v3 + v4) (v4 + v5) (v5 + v6) = Porządkujemy: (v4 + v1) (v4 + v3 ) (v4 + v5) (v6 + v1) (v6 + v2) (v6 + v5) = Przekształcamy wyrażenie do postaci „suma iloczynów”: = (v4 + v1v3v5) (v6 + v1v2v5) = v4v6 + v1v2v4v5 + v1v3v5v6 + v1v2v3v5 31

Inny przykład obliczania MKZ… Klasy zgodne uzyskamy odejmując od zbioru {v1,...,v6}, zbiory tych vi, które występują w jednym składniku wyrażenia typu „suma iloczynów”: {v1,..., v6}  {v4, v6} = {v1, v2, v3, v5 } {v1,...,v6}  {v1, v2 , v4 , v5 } = {v3, v6} {v1,...,v6}  {v1, v3, v5 , v6} = {v2 , v4} {v1,...,v6}  {v1, v2, v3, v5 } = {v4, v6} v1 v6 v2 Dla przypomnienia… v5 v3 Pary zgodne:(v1,v2),(v1,v3),(v1,v5),(v2,v3), (v2,v4),(v2,v5),(v3,v5),(v3,v6),(v4,v6) v4 …i graf 32