01ZTGA:Kapitola1 8
Z WikiSkripta FJFI ČVUT v Praze
Verze z 15. 1. 2012, 13:37, kterou vytvořil Karel.brinda (diskuse | příspěvky)
[ znovu generovat, | výstup z překladu ] | Kompletní WikiSkriptum včetně všech podkapitol. | |
PDF Této kapitoly | [ znovu generovat, | výstup z překladu ] | Přeložení pouze této kaptioly. |
ZIP | Kompletní zdrojový kód včetně obrázků. |
Součásti dokumentu 01ZTGA
součást | akce | popis | poslední editace | soubor | |||
---|---|---|---|---|---|---|---|
Hlavní dokument | editovat | Hlavní stránka dokumentu 01ZTGA | Karel.brinda | 15. 1. 2012 | 23:45 | ||
Řídící stránka | editovat | Definiční stránka dokumentu a vložených obrázků | Admin | 7. 9. 2015 | 13:51 | ||
Header | editovat | Hlavičkový soubor | Karel.brinda | 15. 1. 2012 | 12:34 | header.tex | |
Kapitola0 | editovat | Úvod | Karel.brinda | 15. 1. 2012 | 12:36 | cast0.tex | |
Kapitola1_1 | editovat | Základní pojmy | Karel.brinda | 15. 1. 2012 | 12:46 | cast1_kapitola1.tex | |
Kapitola1_2 | editovat | Souvislost | Karel.brinda | 15. 1. 2012 | 12:49 | cast1_kapitola2.tex | |
Kapitola1_3 | editovat | Bipartitní grafy | Karel.brinda | 15. 1. 2012 | 12:50 | cast1_kapitola3.tex | |
Kapitola1_4 | editovat | Stromy | Kubuondr | 5. 1. 2019 | 09:06 | cast1_kapitola4.tex | |
Kapitola1_5 | editovat | Hledání minimální kostry grafu | Karel.brinda | 15. 1. 2012 | 12:51 | cast1_kapitola5.tex | |
Kapitola1_6 | editovat | Jednotažky | Karel.brinda | 15. 1. 2012 | 12:53 | cast1_kapitola6.tex | |
Kapitola1_7 | editovat | Hamiltonovské kružnice a grafy | Karel.brinda | 15. 1. 2012 | 13:34 | cast1_kapitola7.tex | |
Kapitola1_8 | editovat | Párování v grafech | Karel.brinda | 15. 1. 2012 | 13:40 | cast1_kapitola8.tex | |
Kapitola1_9 | editovat | Toky v sítích | Karel.brinda | 15. 1. 2012 | 13:44 | cast1_kapitola9.tex | |
Kapitola1_10 | editovat | Hranové obarvení grafu | Karel.brinda | 15. 1. 2012 | 13:48 | cast1_kapitola10.tex | |
Kapitola1_11 | editovat | Vrcholové obarvení grafu | Karel.brinda | 15. 1. 2012 | 13:52 | cast1_kapitola11.tex | |
Kapitola1_12 | editovat | Planární grafy | Karel.brinda | 15. 1. 2012 | 13:56 | cast1_kapitola12.tex | |
Kapitola1_13 | editovat | Vlastní čísla adjacenční matice grafu | Karel.brinda | 15. 1. 2012 | 13:57 | cast1_kapitola13.tex | |
Kapitola2_1 | editovat | Brouwerova věta o pevném bodě | Karel.brinda | 15. 1. 2012 | 14:11 | cast2_kapitola1.tex | |
Kapitola2_2 | editovat | Pravděpodobnostní důkazy v teorii grafů | Karel.brinda | 15. 1. 2012 | 14:12 | cast2_kapitola2.tex | |
Kapitola2_3 | editovat | Extremální teorie grafů | Karel.brinda | 15. 1. 2012 | 14:16 | cast2_kapitola3.tex | |
Kapitola2_4 | editovat | Ramseyovská čísla | Karel.brinda | 15. 1. 2012 | 14:18 | cast2_kapitola4.tex | |
Kapitola3_1 | editovat | Obyčejné mocninné řady | Karel.brinda | 15. 1. 2012 | 14:22 | cast3_kapitola1.tex | |
Kapitola3_2 | editovat | Exponenciální generující funkce | Karel.brinda | 15. 1. 2012 | 14:22 | cast3_kapitola2.tex |
Zdrojový kód
%\wikiskriptum{01ZTGA} \section{Párování v grafech} \begin{defn} Buď $G=(V,E)$ graf. \textbf{Párování} (angl. \emph{matching}) v $G$ je podmnožina $M\subset E$ taková, že\[ \left(\forall e,f\in E\right)\left(e\neq f\Rightarrow e\cap f=\emptyset\right),\] tj. žádné dvě hrany nesdílí koncový vrchol. \end{defn} \begin{defn} Řekneme, že párování $M$ je maximální, pokud pro každé jiné párování $M'$ platí $\# M\geq\# M'$. \end{defn} \begin{example*} K tomuto párování nelze přidat žádnou hranu, ale není to maximílní párování: \hfill{} \begin{center} %Title: parovani1.fig %%Created by: ..\UTILS\FIG2DEV.EXE Version 3.2 Patchlevel 5-alpha7 %%CreationDate: Thu Feb 12 19:14:24 1970 %%User: Pavel Strachota@DIGITHELL (DIGITHELL) \font\thinlinefont=cmr5 % \begingroup\makeatletter\ifx\SetFigFont\undefined% \gdef\SetFigFont#1#2#3#4#5{% \reset@font\fontsize{#1}{#2pt}% \fontfamily{#3}\fontseries{#4}\fontshape{#5}% \selectfont}% \fi\endgroup% \mbox{\beginpicture \setcoordinatesystem units <1.00000cm,1.00000cm> \unitlength=1.00000cm \linethickness=1pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}}) \setshadesymbol ({\thinlinefont .}) \setlinear % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 10.478 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 9.049 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 7.620 20.955 }% % % Fig POLYLINE object % \linethickness=2pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'161}}}) {\color[rgb]{0,0,0}\putrule from 9.049 20.955 to 10.478 20.955 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\putrule from 7.620 20.955 to 11.906 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 11.906 20.955 }% \linethickness=0pt \putrectangle corners at 7.485 21.088 and 12.042 20.822 \endpicture} \end{center} \hfill{}~ Maximální párování je až toto: \hfill{} \begin{center} %Title: parovani2.fig %%Created by: ..\UTILS\FIG2DEV.EXE Version 3.2 Patchlevel 5-alpha7 %%CreationDate: Thu Feb 12 19:16:56 1970 %%User: Pavel Strachota@DIGITHELL (DIGITHELL) \font\thinlinefont=cmr5 % \begingroup\makeatletter\ifx\SetFigFont\undefined% \gdef\SetFigFont#1#2#3#4#5{% \reset@font\fontsize{#1}{#2pt}% \fontfamily{#3}\fontseries{#4}\fontshape{#5}% \selectfont}% \fi\endgroup% \mbox{\beginpicture \setcoordinatesystem units <1.00000cm,1.00000cm> \unitlength=1.00000cm \linethickness=1pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}}) \setshadesymbol ({\thinlinefont .}) \setlinear % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 10.478 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 9.049 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 7.620 20.955 }% % % Fig POLYLINE object % \linethickness=2pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'161}}}) {\color[rgb]{0,0,0}\putrule from 10.478 20.955 to 11.906 20.955 }% % % Fig POLYLINE object % \linethickness=2pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'161}}}) {\color[rgb]{0,0,0}\putrule from 7.620 20.955 to 9.049 20.955 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\putrule from 7.620 20.955 to 11.906 20.955 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 11.906 20.955 }% \linethickness=0pt \putrectangle corners at 7.485 21.088 and 12.042 20.822 \endpicture} \end{center} \hfill{}~ \end{example*} \begin{defn} Nechť $M$ je párování v $G=(V,E)$. Vrchol $v\in V$ takový, že $\left(\exists e\in M\right)\left(v\in e\right)$, nazýváme $M$-\textbf{saturovaný}. Je-li každý vrchol z $V$ $M$-saturovaný, říkáme, že $M$ je \textbf{perfektní} párování. \end{defn} \begin{rem*} Každé perfektní párování je maximální. Nutná podmínka pro existenci perfektního párování je, aby $\# V$ byl sudý. \end{rem*} \begin{rem*} Takto se zlepšovala složitost známých algoritmů pro nalezení perfektního párování: \end{rem*} \begin{lyxlist}{00.00.0000} \item [1965]$O(n^{4})$ \item [1969]$O(n^{3})$ \item [1974]$O(n\cdot m)$ (přitom ovšem $m\leq\binom{n}{2}=O(n^{2})$) \item [1980]$O(n^{\frac{1}{2}}\cdot m)$ \end{lyxlist} \begin{rem*} Nechť $G=(V_{1}\cup V_{2},E)$ je bipartitní graf (třeba množina žen a mužů - hrany pak určují, kdo se s kým zná). Ptejme se, zda má graf perfektní párování (zda si každý může vybrat partnera mezi těmi, které zná, a nikdo nezůstane sám). Nutnou podmínkou je zřejmě\[ \# V_{1}=\# V_{2}.\] Dále si připomeňme, jak vypadá adjacenční matice bipartitního grafu s vhodně uspořádanými vrcholy:\[ \vec{A}_{G}=\left(\begin{array}{cc} \vec{0} & \vec{B}\\ \vec{B}^{\T} & \vec{0}\end{array}\right),\] kde $\vec{B}=\left(b_{ij}\right).$ Je-li $\pi\in S_{n}$, tj. je to permutace $\pi:\hat{n}\mapsto\hat{n}$ , pak\[ M=\left\{ \left.\{ v_{i},v_{\pi(i)}\}\right|i\in\hat{n}\right\} \] představuje perfektní párování, právě když\[ b_{1\pi(1)}b_{2\pi(2)}\cdots b_{n\pi(n)}=1.\] Počet perfektních párování v $G$ je potom roven permanentu matice $\vec{B}$, tj. číslu\[ \textrm{per}\,\vec{B}=\sum_{\pi\in S_{n}}b_{1\pi(1)}b_{2\pi(2)}\cdots b_{n\pi(n)}.\] Na rozdíl od výpočtu determinantu je však výpočet permanentu matice NP-úplná úloha. O existenci perfektního párování v bipartitním grafu tedy není vhodné rozhodovat na základě podmínky $\textrm{per}\,\vec{B}>0$. Následující výklad ukáže mimo jiné postačující podmínku existence perfektního párování. \end{rem*} \begin{example*} Pojem perfektní párování nenalézá uplatnění pouze v tanečních kursech, nýbrž například i v organické chemii. Jak známo, dvojné vazby v benzenovém jádře nemají ve skutečnosti jednoznačné umístění, a proto se někdy v jeho vzorci kreslí místo samotných vazeb jen ,,kolečko{}``. Platí, že nutnou podmínkou pro existenci sloučeniny složené z benzenových jader je, aby graf tvořený jejím vzorcem měl perfektní párování. Přitom sloučenina je tím stabilnější, čím více různých perfektních párování existuje. (viz. obrázek \ref{cap:benzen})% \begin{figure} \begin{center} %Title: benzen.fig %%Created by: ..\UTILS\FIG2DEV.EXE Version 3.2 Patchlevel 5-alpha7 %%CreationDate: Thu Feb 12 20:12:16 1970 %%User: Pavel Strachota@DIGITHELL (DIGITHELL) \font\thinlinefont=cmr5 % \begingroup\makeatletter\ifx\SetFigFont\undefined% \gdef\SetFigFont#1#2#3#4#5{% \reset@font\fontsize{#1}{#2pt}% \fontfamily{#3}\fontseries{#4}\fontshape{#5}% \selectfont}% \fi\endgroup% \mbox{\beginpicture \setcoordinatesystem units <1.00000cm,1.00000cm> \unitlength=1.00000cm \linethickness=1pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}}) \setshadesymbol ({\thinlinefont .}) \setlinear % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 8.308 25.161 7.711 24.564 / \putrule from 7.711 24.564 to 7.711 23.817 \plot 7.711 23.817 8.308 23.220 / \plot 8.308 23.220 8.905 23.817 / \putrule from 8.905 23.817 to 8.905 24.564 \plot 8.905 24.564 8.308 25.161 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 8.905 26.507 8.308 25.910 / \putrule from 8.308 25.910 to 8.308 25.163 \plot 8.308 25.163 8.905 24.564 / \plot 8.905 24.564 9.504 25.163 / \putrule from 9.504 25.163 to 9.504 25.910 \plot 9.504 25.910 8.905 26.507 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 7.711 26.507 7.112 25.910 / \putrule from 7.112 25.910 to 7.112 25.163 \plot 7.112 25.163 7.711 24.564 / \plot 7.711 24.564 8.308 25.163 / \putrule from 8.308 25.163 to 8.308 25.910 \plot 8.308 25.910 7.711 26.507 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 5.916 25.087 5.319 24.490 / \putrule from 5.319 24.490 to 5.319 23.743 \plot 5.319 23.743 5.916 23.144 / \plot 5.916 23.144 6.515 23.743 / \putrule from 6.515 23.743 to 6.515 24.490 \plot 6.515 24.490 5.916 25.087 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 4.720 25.087 4.123 24.490 / \putrule from 4.123 24.490 to 4.123 23.743 \plot 4.123 23.743 4.720 23.144 / \plot 4.720 23.144 5.319 23.743 / \putrule from 5.319 23.743 to 5.319 24.490 \plot 5.319 24.490 4.720 25.087 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 4.123 26.433 3.524 25.834 / \putrule from 3.524 25.834 to 3.524 25.089 \plot 3.524 25.089 4.123 24.490 / \plot 4.123 24.490 4.720 25.089 / \putrule from 4.720 25.089 to 4.720 25.834 \plot 4.720 25.834 4.123 26.433 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 2.254 26.507 1.655 25.910 / \putrule from 1.655 25.910 to 1.655 25.163 \plot 1.655 25.163 2.254 24.564 / \plot 2.254 24.564 2.851 25.163 / \putrule from 2.851 25.163 to 2.851 25.910 \plot 2.851 25.910 2.254 26.507 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 0.834 26.507 0.237 25.910 / \putrule from 0.237 25.910 to 0.237 25.163 \plot 0.237 25.163 0.834 24.564 / \plot 0.834 24.564 1.433 25.163 / \putrule from 1.433 25.163 to 1.433 25.910 \plot 1.433 25.910 0.834 26.507 / }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\ellipticalarc axes ratio 0.523:0.671 360 degrees from 2.777 25.535 center at 2.254 25.535 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 4.123 26.359 4.646 25.834 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\putrule from 3.600 25.834 to 3.600 25.089 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 4.720 23.220 4.197 23.743 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 4.720 25.013 4.197 24.490 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\putrule from 5.393 24.414 to 5.393 23.743 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 6.439 23.743 5.916 23.220 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 5.916 25.013 6.439 24.490 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\putrule from 1.357 25.910 to 1.357 25.163 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 0.311 25.163 0.834 24.640 / }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 0.311 25.910 0.834 26.433 / }% % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}benzen}% } [lB] at 0.804 23.743 % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}neexistuje}% } [lB] at 7.542 22.396 \linethickness=0pt \putrectangle corners at 0.212 26.532 and 9.529 22.197 \endpicture} \end{center} \caption{\label{cap:benzen}Benzenové jádro a teoretické sloučeniny} \end{figure} \end{example*} \begin{defn} Nechť $M$ je párování v grafu $G=(V,E)$. Řekneme, že cesta $v_{0},v_{1},...,v_{k}$ je $M$-\textbf{střídající}, pokud $\forall i\in\{1,2,...,k-1\}$ platí $\{ v_{i-1},v_{i}\}\in M\Leftrightarrow\{ v_{i},v_{i+1}\}\notin M$. $M$-střídající cestu $v_{0},v_{1},...,v_{k}$ nazveme $M$-\textbf{zlepšující}, pokud vrcholy $v_{0}$ a $v_{k}$ nejsou $M$-saturovány. \end{defn} \begin{rem*} Každá $M$-zlepšující cesta má zřejmě lichou délku. Na obrázku \ref{cap:M-stridajici} je $M$-střídající cesta, která není $M$-zlepšující. Ani její úsek $v_{1},...,v_{4}$ není $M$-zlepšující, protože vrchol $v_{1}$ je $M$-saturován.% \begin{figure} \begin{center} %Title: m_stridajici.fig %%Created by: ..\UTILS\FIG2DEV.EXE Version 3.2 Patchlevel 5-alpha7 %%CreationDate: Thu Feb 12 19:29:04 1970 %%User: Pavel Strachota@DIGITHELL (DIGITHELL) \font\thinlinefont=cmr5 % \begingroup\makeatletter\ifx\SetFigFont\undefined% \gdef\SetFigFont#1#2#3#4#5{% \reset@font\fontsize{#1}{#2pt}% \fontfamily{#3}\fontseries{#4}\fontshape{#5}% \selectfont}% \fi\endgroup% \mbox{\beginpicture \setcoordinatesystem units <1.00000cm,1.00000cm> \unitlength=1.00000cm \linethickness=1pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}}) \setshadesymbol ({\thinlinefont .}) \setlinear % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 1.190 24.765 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 2.618 25.718 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 3.571 24.289 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 5.476 25.241 }% % % Fig ELLIPSE % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\put{\makebox(0,0)[l]{\circle*{ 0.237}}} at 4.523 23.336 }% % % Fig POLYLINE object % \linethickness= 0.500pt \setplotsymbol ({\thinlinefont .}) {\color[rgb]{0,0,0}\plot 1.190 24.765 2.618 25.718 / \plot 2.618 25.718 3.571 24.289 / \plot 3.571 24.289 5.476 25.241 / \plot 5.476 25.241 4.523 23.336 / }% % % Fig POLYLINE object % \linethickness=2pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'161}}}) {\color[rgb]{0,0,0}\plot 1.190 24.765 2.618 25.718 / }% % % Fig POLYLINE object % \linethickness=2pt \setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'161}}}) {\color[rgb]{0,0,0}\plot 3.571 24.289 5.476 25.241 / }% % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$v_{2}$}% } [lB] at 3.334 23.694 % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$v_{3}$}% } [lB] at 5.831 25.123 % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$v_{4}$}% } [lB] at 5.000 23.218 % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$v_{0}$}% } [lB] at 0.474 24.765 % % Fig TEXT object % \put{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$v_{1}$}% } [lB] at 2.976 25.599 \linethickness=0pt \putrectangle corners at 0.442 26.082 and 5.863 23.019 \endpicture} \end{center} \caption{\label{cap:M-stridajici}$M$-střídající cesta} \end{figure} V následujících důkazech bude potřeba si podobné skutečnosti plynoucí z definic dobře uvědomovat. \end{rem*} \begin{defn*} Buďte $A,B$ dvě množiny. \textbf{Symetrickou diferencí} množin $A,B$ rozumíme množinu\[ A\Delta B=\left(A\backslash B\right)\cup\left(B\backslash A\right)=\left(A\cup B\right)\backslash\left(A\cap B\right).\] \end{defn*} \begin{thm} \textbf{\emph{\label{thm:bergeova-veta}(Berge, 1957)}} Párování v grafu $G$ je maximální právě tehdy, když v $G$ neexistuje $M$-zlepšující cesta. \end{thm} \begin{proof} Oba směry ekvivalence dokážeme sporem. $\boxed{{\Rightarrow:}}$ Nechť $M$ je maximální a přitom existuje $M$-zlepšující cesta, kterou označíme $P$. Definujeme nyní párování\[ M'=M\Delta P.\] Řečeno slovy: $M'$ vznikne tak, že mimo cestu necháme $M$ jak je a na cestě dáme do $M'$ naopak jen ty hrany, které nejsou v $M$. Je zřejmé, že $M'$ bude opět párování, přičemž $\# M'>\# M$, a to je spor. $\boxed{{\Leftarrow:}}$ Nechť v $G$ neexistuje $M$-zlepšující cesta a přitom $M$ není maximální. Potom existuje párování $M'$ takové, že $\# M'>\# M$. Definujme nyní graf\[ H=(V,M\Delta M').\] Potom je zřejmé, že $H$ se skládá jen z kružnic a cest, na nichž se střídají hrany z $M$ a z $M'$ (to také znamená, že v $H$ jsou všechny kružnice sudé délky). Protože $\# M'>\# M$, tak také $M\Delta M'$ obsahuje více hran z $M'$ než z $M$. Z toho plyne, že v $H$ musí existovat alespoň jedna cesta liché délky, která obsahuje $2k+1$ ($k\in\N_{0}$) hran, z toho $k$ hran je z $M$ a $k+1$ hran je z $M'$, a navíc její koncové vrcholy nejsou $M$-saturovány v $G$. (Poslední vlastnost lze formulovat i tak, že uvedená cesta není vlastním podgrafem nějaké cesty v $H$ - nejde už prodloužit.). Tato cesta je ovšem $M$-zlepšující, což je spor. \end{proof}