Zaawansowane algorytmy i struktury danych/Ćwiczenia 8: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaLinia 1: | Linia 1: | ||
== Zadanie 1 == | == Zadanie 1 == | ||
{{kotwica|zadanie 1|}} | {{kotwica|zadanie 1|}} | ||
+ | Pokaż, że każdy graf <math>G</math> może zostać zanurzony w grafie <math>G'</math> rozpiętym na co najwyżej <math>3|V(G)|</math> wierzchołkach tak, aby dla każdego skojarzenia <math>M</math> w <math>G</math> istniało dokładnie jedno doskonałe skojarzenie <math>F</math> takie, że <math>F \cap E(G) =M</math>. Czy jeżeli <math>G</math> jest zewnętrznie planarny, to <math>G'</math> może być planarny? | ||
+ | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
+ | <div class="mw-collapsible-content" style="display:none"> | ||
+ | Graf <math>G'</math> konstruujemy z grafu <math>G</math> poprzez dodanie do każdego wierzchołka <math>v_i</math> dla <math>1 \le i \le n</math>dwa dodatkowe wierzchołki <math>v_i'</math> i <math>v_i''</math> połączone krawędziami <math>v_iv_i'</math>, <math>v_iv_i''</math> oraz <math>v_i'v_i''</math>. Następnie dodajemy krawędzie <math>v_i''v_{i+1}'</math> dla <math>1 \le i \le n-1</math>. Jeżeli <math>n</math> jest nieparzyste to usuwamy wierzchołek <math>v_n''</math>. | ||
+ | |||
+ | Konstrukcja ta została przedstawiona na rysunku poniżej. | ||
+ | [[Grafika:zasd_maximum_matchings.png|500px|center]] | ||
+ | |||
+ | Łatwo teraz zauważyć, że dowolne skojarzenie <math>M</math> w grafie <math>G</math> daje sie rozszerzyć na doskonałe skojarzenie w grafie <math>G'</math>. | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-== Zadanie 2 == | ||
+ | {{kotwica|zadanie 2|}} | ||
+ | Pokaż, że jeżeli graf <math>G</math> rozpięty na parzystej liczbie wierzchołków <math>p</math> ma więcej niż <math>\left(\begin{array}{c}p-1 \\ 2\end{array}\right)</math> krawędzi, to zawiera doskonałe skojarzenie. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
+ | Przeprowadzimy dowód przez indukcję. Łatwo zauważyć, że dla <math>p=2</math> graf ma co najmniej jedną krawędź, a więc zawiera doskonałe skojarzenie. Załóżmy, że własność ta zachodzi dla grafów o mniej niż <math>p</math> wierzchołkach. Pokażemy teraz, że zachodzi dla grafu <math>G</math> o <math>p</math> wierzchołkach. Wybierzmy z grafu <math>G</math> dwa wierzchołki <math>u</math> i <math>v</math> których sumaryczny stopień jest minimalny. Niech <math>G'</math> będzie grafem otrzymanym z <math>G</math> poprzez usunięcie wierzchołków <math>u</math> i <math>v</math>. | ||
+ | |||
+ | |||
+ | {{wzor2|1= | ||
+ | <math> | ||
+ | \left(\begin{array}{c}p-1 \\ 2\end{array}\right) - \left(\begin{array}{c}p-3 \\ 2\end{array}\right) = \frac{(p-1)(p-2)}{2} - \frac{(p-3)(p-4)}{2} = \frac{p^2 -3p+2}{2} - \frac{p^2 -7p +12}{2} = | ||
+ | \frac{4p-10){2} = 2p-5. | ||
+ | </math> | ||
+ | }} | ||
+ | |||
+ | Weźmy dwa wierzchołki <math>v,u</math> w grafie <math>G</math> o najmniejszym stopniu. Jeżeli wierzchołki te | ||
+ | |||
+ | |||
+ | <math>\deg(u) + \deg(v)</math>. Jeżeli | ||
+ | dowolne wierzchołki w grafie <math>G</math> jeżeli nie są one połączone krawędzią, to z każdego z nich wychodzi <math>p-2</math> krawędzi. Usuńmy te dwa wierzchołki | ||
</div> | </div> | ||
</div> | </div> | ||
+ | |||
+ | -> | ||
== Zadanie 2 == | == Zadanie 2 == | ||
{{kotwica|zadanie 2|}} | {{kotwica|zadanie 2|}} | ||
+ | Dla grafu dwudzielnego <math>G = (V_1 \cup V_2, E)</math>, gdzie <math>|V_1| = |V_2|</math> zdefiniujmy ''symboliczną macierz sąsiedztwa'' <math>B(G)</math> rozmiaru <math>V_1 \times V_2 </math> jako: | ||
− | + | {{wzor2|1= | |
+ | <math>B(G)_{i,j} = \begin{cases} | ||
+ | x_{i,j} & \mbox{jeżeli } (i,j) \in E,\ i \in V_1,\ j \in V_2, | ||
+ | 0 & \mbox{w przeciwnym przypadku,} | ||
+ | \end{cases}</math> | ||
+ | }} | ||
+ | gdzie<math>x_{i,j}</math> to różne zmienne przypisane krawędzią. Pokaż, że <math>\det(A(G))\neq 0</math> wtedy i tylko wtedy gdy <math>G</math> ma doskonałe skojarzenie. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
+ | Wyznacznik <math>\det(B(G))</math> możemy zapisać jako: | ||
+ | {{wzor2|1= | ||
+ | <math>\det(B(G)) = \sum_{p\in \Pi_n} \sgn(p) \prod_{i=1}^{n} B(G)_{i,p_i)</math>. | ||
+ | }} | ||
+ | Zauważmy teraz, że wyraz tej sumy dla <math>p\in \Pi_n</math> jest niezerowy, gdy wszystkie krawędzie <math>ip_i</math> istnieją w grafie <math>G</math>. Zauważmy, że ten zbiór krawędzi | ||
+ | odpowiada dokładnie doskonałemu skojarzeniu, ponieważ permutacja <math>p</math> przypisuje każdemu wierzchołkowi <math>i</math> różny wierzchołek <math>p_i</math>. | ||
</div> | </div> | ||
</div> | </div> | ||
Linia 24: | Linia 68: | ||
== Zadanie 3 == | == Zadanie 3 == | ||
{{kotwica|zadanie 3|}} | {{kotwica|zadanie 3|}} | ||
+ | Dla grafu <math>G= (V,E)</math> zdefiniujmy ''symboliczną macierz sąsiedztwa'' | ||
+ | <math>A(G)</math> rozmiaru <math>V \times V</math> jako: | ||
+ | {{wzor2|1= | ||
+ | <math>A(G)_{i,j} = \begin{cases} | ||
+ | x_{i,j} & \mbox{jeżeli } (i,j) \in E \mbox{ i } i < j, | ||
+ | -x_{j,i} & \mbox{jeżeli } (i,j) \in E \mbox{ i } i > j, | ||
+ | 0 & \mbox{w przeciwnym przypadku,} | ||
+ | \end{cases}</math> | ||
+ | }} | ||
+ | gdzie<math>x_{i,j}</math> to różne zmienne przypisane krawędzią. Pokaż, że <math>\det(A(G))\neq 0</math> wtedy i tylko wtedy gdy <math>G</math> ma doskonałe skojarzenie. | ||
+ | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
+ | <div class="mw-collapsible-content" style="display:none"> | ||
+ | Wyznacznik <math>\det(A(G))</math> możemy zapisać jako: | ||
+ | |||
+ | {{wzor2|1= | ||
+ | <math>\det(A(G)) = \sum_{p\in \Pi_n} \sgn(p) \prod_{i=1}^{n} A(G)_{i,p_i)</math>. | ||
+ | }} | ||
+ | Zauważmy teraz, że wyraz tej sumy dla <math>p\in \Pi_n</math> jest niezerowy, gdy wszystkie krawędzie <math>ip_i</math> istnieją w grafie <math>G</math>. Widzimy więc, że zbiór krawędzi <math>ip_i</math> opisuje zbiór cykli w grafie <math>G</math>. Cykle te odpowiadają dokładnie cyklom permutacji <math>p</math>. Weźmy permutację <math>p</math> zawierającą cykl <math>C</math> nieparzystej długości. Skonstruujmy z <math>p</math> permutację <math>p'</math> z odwróconym skierowaniem cyklu <math>C</math>. Zauważmy, że elementy odpowiadające tym permutacjom zawierają te same zmienne. Jednak ich znaki są przeciwne, ze względu na antysymetryczność macierzy <math>A(G)</math>. Widzimy więc, że w <math>\det(A(G))</math> niezerowe będą tylko wyrazy odpowiadające zbiorom cykli parzystej długości. Z każdego takiego zbioru cykli łatwo jest skonstruować doskonałe skojarzenie. Wystarczy wziąć z każdego cyklu co drugą krawędź. | ||
+ | |||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | == Zadanie 5 == | ||
+ | {{kotwica|zadanie 5|}} | ||
+ | Załóżmy, że graf <math>G = (V,E)</math> ma doskonałe skojarzenie. Powiemy, że krawędź <math>(i,j)</math> jest ''niedozwolona'' jeżeli nie należy do żadnego doskonałego skojarzenia w <math>G</math>. Pokaż jak w czasie <math>O(n^3)</math> znaleźć wszystkie niedozwolone krawędzie w grafie <math>G</math>. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
+ | Zacznijmy od znalezienia doskonałego skojarzenia w <math>G</math> przy pomocy algorytmu Edmondsa. | ||
</div> | </div> | ||
+ | </div>-> | ||
+ | |||
+ | |||
+ | |||
+ | <!--== Zadanie 3 == | ||
+ | {{kotwica|zadanie 3|}} | ||
+ | O grafie <math>G</math> mówimy, że jest | ||
+ | |||
+ | Przepływ dwuskierowany? | ||
+ | |||
+ | |||
+ | <div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie''' | ||
+ | <div class="mw-collapsible-content" style="display:none"> | ||
+ | |||
</div> | </div> | ||
+ | </div>--> |
Wersja z 15:48, 28 wrz 2006
Zadanie 1
Pokaż, że każdy graf
może zostać zanurzony w grafie rozpiętym na co najwyżej wierzchołkach tak, aby dla każdego skojarzenia w istniało dokładnie jedno doskonałe skojarzenie takie, że . Czy jeżeli jest zewnętrznie planarny, to może być planarny?Rozwiązanie
<!-== Zadanie 2 == Pokaż, że jeżeli graf
rozpięty na parzystej liczbie wierzchołków ma więcej niż krawędzi, to zawiera doskonałe skojarzenie.Rozwiązanie
->
Zadanie 2
Dla grafu dwudzielnego
, gdzie zdefiniujmy symboliczną macierz sąsiedztwa rozmiaru jako:gdzie
to różne zmienne przypisane krawędzią. Pokaż, że wtedy i tylko wtedy gdy ma doskonałe skojarzenie.Rozwiązanie
Zadanie 3
Dla grafu
zdefiniujmy symboliczną macierz sąsiedztwa rozmiaru jako:gdzie
to różne zmienne przypisane krawędzią. Pokaż, że wtedy i tylko wtedy gdy ma doskonałe skojarzenie.Rozwiązanie
Zadanie 5
Załóżmy, że graf
ma doskonałe skojarzenie. Powiemy, że krawędź jest niedozwolona jeżeli nie należy do żadnego doskonałego skojarzenia w . Pokaż jak w czasie znaleźć wszystkie niedozwolone krawędzie w grafie .Rozwiązanie
->