Zaawansowane algorytmy i struktury danych/Ćwiczenia 8: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
 
Linia 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

->