6. Párosítások páros gráfban
Hall-feltétel (házasítási tétel), a tétel szükségessége és elegendősége. Frobenius-tétel a teljes párosítás létezésére. Alkalmazások és szűk keresztmetszetek vizsgálata páros gráfokban.
Javítóutak páros gráfban
Definíció
Legyen $G = (A, B; E)$ páros gráf és $M$ egy párosítás $G$-ben. Ekkor egy $G$-béli $P$ út javítóút $M$-re nézve, ha rá az alábbiak teljesülnek:
$P$ egy $M$ által nem fedett $A$-béli csúcsból indul;
$P$ egy $M$ által nem fedett $B$-béli csúcsban ér véget;
$P$-nek minden páros sorszámú éle (tehát a második, negyedik stb.) $M$-béli.
Javítóutas algoritmus
Algoritmus
JAVÍTÓUTAS ALGORITMUS (MAXIMÁLIS PÁROSÍTÁS KERESÉSÉRE PÁROS GRÁFBAN)
Bemenet: Egy $G = (A,B;E)$ páros gráf
$M \leftarrow \emptyset$ (vagy ehelyett $M$ lehet tetszőleges kezdeti párosítás is)
ciklus
KERESSÜNK EGY $P$ JAVÍTÓUTAT az $M$ párosításra nézve
ha nem létezik $M$-re nézve javítóút, akkor: stop
különben:
$M \leftarrow M \setminus \{P \text{ páros sorszámú élei}\} \cup \{P \text{ páratlan sorszámú élei}\}$
ciklus vége
Interaktív: Augmentálás szimuláció
A gráfban egy $M$ párosítást látsz (vastag élek). A kék szaggatott vonal egy javítóutat ($P$) jelöl, amely szabad csúcsból indul és szabadban végződik. Kattints az augmentálásra az élcseréhez!
Párosítás mérete
Alternáló utak
Definíció
Definíció. Legyen $G = (A,B;E)$ páros gráf és $M$ egy párosítás $G$-ben. A $G$-béli $P$ utat alternáló útnak hívjuk, ha rá a definíció (1) és (3) követelményei teljesülnek (de a (2) nem feltétlenül).
Más szóval: alternáló útnak az olyan utakat nevezzük, amik párosítás által nem fedett $A$-béli csúcsból indulnak és minden második élük $M$-béli.
Alternáló utak
Lemma
Tegyük fel, hogy a $G = (A,B;E)$ páros gráf $M$ párosítására nézve nincs javítóút $G$-ben. Vezessük be az alábbi jelöléseket:
jelölje $A_1$, illetve $B_1$ az $M$ által nem fedett $A$, illetve $B$-béli csúcsok halmazát;
jelölje $A_2$ azoknak az ($M$ által fedett) $A$-béli csúcsoknak a halmazát, amikbe vezet alternáló út;
jelölje $A_3$ a maradék $A$-béli csúcsoknak a halmazát (amik tehát $M$ által lefedettek, de nem vezet hozzájuk alternáló út);
Jelölje $B_2$, illetve $B_3$ az $A_2$, illetve $A_3$ csúcsainak $M$ szerinti párjaiból álló $B$-béli csúcsok halmazait.
Ekkor $G$-nek nincs olyan éle, ami $A_1 \cup A_2$ és $B_1 \cup B_3$ között vezet.
Tegyük fel indirekt, hogy $G$-nek mégis létezik egy olyan $e = \{a, b\}$ éle, amire $a \in A_1 \cup A_2$ és $b \in B_1 \cup B_3$. Ez összesen négy esetet jelent, amiket sorban kizárunk:
1. eset: Ha $a \in A_1$ és $b \in B_1$, akkor $a$-ból $b$-be egyetlen élű javítóút vezetne; ez lehetetlen, hiszen feltettük, hogy $G$-ben nincs javítóút.
2. eset: Ha $a \in A_1$ és $b \in B_3$, akkor $a$-ból $e$-n át $b$-be, majd onnan a $b$-re illeszkedő $M$-béli élen át tovább lépve egy $A_3$-béli csúcsba jutnánk egy két élű alternáló úton. Ez lehetetlen, mert $A_3$-ba épp az alternáló úton nem elérhető $A$-béli csúcsok kerültek.
7.14. ábra
3. eset: Tegyük most fel, hogy $a \in A_2$ és $b \in B_1$. Ekkor $a$-ba vezet egy $P$ alternáló út. Ennek az utolsó éle nyilván $M$-béli, hiszen $P$ $A$-ból indul és $A$-ba is érkezik, így páros sok éle van. Mivel $b$ biztosan nincs rajta $P$-n (mert $b \in B_1$ szabad csúcs), $P$-t folytathatjuk az $e$ élen át $b$-ig, amivel egy javítóutat kapunk. Ez ellentmondás.
4. eset: Végül tegyük fel, hogy $a \in A_2$ és $b \in B_3$. Ekkor az $a$-ig vezető $P$ alternáló utat először $e$-n át $b$-ig, majd a $b$-re illeszkedő $M$-béli éllel tovább hosszabbítva egy $P$-nél kettővel hosszabb $P'$ alternáló utat kapunk. Mivel azonban $b \in B_3$, ezért a $P'$ út vége $A_3$-béli. Ez ellentmondás, mert $A_3$-béli csúcsba nem vezethet alternáló út.
Kőnig tétele
Tétel
Kőnig tétele Ha a $G = (A,B;E)$ páros gráf $M$ párosítására nézve nincs javítóút, akkor $M$ maximális párosítás $G$-ben.
Jelölje $M$ élszámát $|M| = k$. Annak bizonyításához, hogy $M$ maximális, a lefogó ponthalmaz fogalmát hívjuk segítségül: meg fogjuk mutatni, hogy létezik $G$-ben $k$ pontú lefogó ponthalmaz. Ebből a korábban már látott gondolatmenet szerint valóban következni fog, hogy $M$ maximális: a $k$ méretű $M$ párosítás létezéséből $\nu(G) \geq k$, a $k$ pontú lefogó ponthalmaz létezéséből $\tau(G) \leq k$, ezekből az állításokból együtt pedig $k \leq \nu(G) \leq \tau(G) \leq k$ adódik. Következik, hogy $\nu(G) = k$, ami valóban azt jelenti, hogy $M$ maximális párosítás.
Azt állítjuk, hogy a Lemma jelöléseit használva $X = A_3 \cup B_2$ lefogó ponthalmaz $G$-ben. Legyen ugyanis $e = \{a, b\}$ tetszőleges éle $G$-nek, amire $a \in A$ és $b \in B$. Ha $a \in A_3$, akkor $e$-nek az $A$-béli végpontja $X$-béli, így $e$-t $X$ lefogja. Ha viszont $a \in A_1 \cup A_2$, akkor a Lemmából következik, hogy $b \in B_2$; így $X$ ebben az esetben is lefogja $e$-t.
Megmutatjuk még, hogy $|X| = k$. Ez abból adódik, hogy $X$ minden $M$-béli élnek pontosan az egyik végpontját tartalmazza: az $A_2$ és $B_2$ között futóknak a $B$-béli végpontját, az $A_3$ és $B_3$ között futóknak pedig az $A$-béli végpontját. Mivel $|M| = k$ és $X$ minden $M$-béli élnek egy végpontját tartalmazza, ezért $|X| = k$ is igaz.
Interaktív: Lefogó pontok vadászata
Válaszd ki a gráf csúcsait úgy, hogy minden élet lefedj! Próbáld meg ezt pontosan annyi ponttal megtenni, amennyi a maximális párosítás mérete ($|M|=k$).
Segítség: A Kőnig-tétel bizonyítása szerint az $X = A_3 \cup B_2$ választás mindig minimális lefogó ponthalmazt ad!
Kidolgozott példa: $\nu, \tau, \alpha, \rho$ meghatározása
A feladat szövege
Határozzuk meg a 7.14. Feladat b) részének páros gráfjában $\tau(G)$, $\alpha(G)$ és $\rho(G)$ értékét, valamint adjunk meg egy minimális lefogó ponthalmazt, egy maximális független ponthalmazt és egy minimális lefogó élhalmazt!
Megoldás levezetése
1. A korábbiak alapján $\nu(G) = 8$. Kőnig tételéből tudjuk, hogy páros gráfban $\tau(G) = \nu(G)$, tehát a minimális lefogó pontszám is **8**.
A Gallai-tételeket ($n=19$) használva:
2. A csúcsok szétválogatásával ($A_3 \cup B_2$) kapjuk a minimális lefogó ponthalmazt: $X = \{a, c, d, f, 2, 3, 4, 5\}$.
3. A maximális független ponthalmaz az $X$ komplementere: $Y = \{b, e, g, h, i, 1, 6, 7, 8, 9, 10\}$.
Végeredmény: $\nu(G) = \tau(G) = 8$ és $\alpha(G) = \rho(G) = 11$.
Hall-tétel (Házasítási tétel)
Tétel
Tétel. (Hall tétele) A $G = (A,B;E)$ páros gráfban akkor és csak akkor létezik $A$-t lefedő párosítás, ha minden $X \subseteq A$ részhalmazra $|N(X)| \geq |X|$ teljesül.
A feltétel szükségessége nyilvánvaló: ha létezik $A$-t lefedő párosítás, akkor $|N(X)| \geq |X|$ minden $X \subseteq A$ esetén. Valóban, ha $M$ egy $A$-t lefedő párosítás, akkor az $X$ elemeinek $M$ szerinti szomszédjai mind $N(X)$-ben vannak és páronként különbözők, így $N(X)$-nek legalább $|X|$ eleme van. (Vagy ugyanez más megfogalmazásban: ha egy $X \subseteq A$ részhalmazra $|N(X)| < |X|$ teljesülne, akkor – ahogyan azt a tétel kimondása előtti példában is láttuk – nem juthatna már az $X$ minden elemének sem csupa különböző pár, így nem létezhetne $A$-t lefedő párosítás.)
Most belátjuk a feltétel elégségességét: ha $|N(X)| \geq |X|$ minden $X \subseteq A$ részhalmazra teljesül, akkor van $A$-t lefedő párosítás $G$-ben. Futtassuk ugyanis a javítóutas algoritmust a $G$ gráfra (tetszőleges párosításból indítva). Megmutatjuk, hogy az algoritmus leállásakor kapott $M$ párosítás lefedi $A$-t. Tegyük fel ugyanis indirekt, hogy nem ez a helyzet.
Lemma jelöléseit használva $N(A_1 \cup A_2) = B_2$ következik; valóban, a lemma állítása szerint $A_1 \cup A_2$ és $B_1 \cup B_3$ között nincs éle $G$-nek, ezért az $(A_1 \cup A_2)$-béliek minden szomszédja $B_2$-béli. Továbbá mivel $|A_2| = |B_2|$ (hiszen $A_2$ és $B_2$ elemeit az $M$ megfelelő élei párba állítják) és $A_1 \neq \emptyset$ (mert az $M$ nem fedi le $A$-t), ezért $|A_1 \cup A_2| > |B_2|$. Következik, hogy az $X = A_1 \cup A_2$ esetében sérül az $|N(X)| \geq |X|$ feltétel; ez az ellentmondás pedig bizonyítja a tétel állítását.
Interaktív: Hall-feltétel ellenőrző
Kattints az A halmaz csúcsaira a kijelöléshez! A rendszer automatikusan mutatja a B halmazbeli szomszédokat ($N(X)$). Találsz olyan halmazt, ahol $|N(X)| < |X|$?
Állapot
Példa: Hall-tétel alkalmazása
7.23. Feladat
Egy kiránduláson $n$ házaspár vesz részt. El kellene osztani közöttük $2n$ különböző fajta csokit úgy, hogy mindenki egyet kapjon. Tudjuk, hogy mindenki legalább $n$ fajtát szeret a csokik közül. Továbbá minden emberre teljesül, hogy ha valamelyik fajta csokit nem szereti, akkor a házastársa ezt a fajtát biztosan szeretni fogja. Bizonyítsuk be, hogy a csokik szétoszthatók úgy, hogy mindenki olyat kapjon, amit szeret!
Megoldás
A $G = (A, B; E)$ páros gráf $A$ pontosztályát alkossa a $2n$ résztvevő, a $B$-t pedig a $2n$ csoki; egy embert akkor kössünk össze egy csokival, ha az illető ezt a fajta csokit szereti. Azt kell megmutatnunk, hogy $G$-ben létezik $A$-t lefedő párosítás.
Ezért Hall tételét hívjuk segítségül. Legyen $X \subseteq A$ egy tetszőleges részhalmaza $A$-nak. Két esetet vizsgálunk:
1. Eset: Van benne házaspár
Ha van olyan házaspár, aminek $X$ mind a két tagját tartalmazza, akkor a feladat szövege szerint $N(X) = B$ (hiszen minden csoki szomszédos $G$-ben ennek a házaspárnak legalább az egyik tagjával). Így az ilyen $X$-ekre $2n = |N(X)| \geq |X|$ nyilván igaz.
2. Eset: Nincs benne teljes házaspár
Ha viszont $X$ minden házaspárnak legfeljebb csak az egyik tagját tartalmazza, akkor $|X| \leq n$, hiszen csak $n$ házaspár van. De ha $X$ legalább egy embert tartalmaz, akkor $|N(X)| \geq n$ következik abból, hogy minden ember legalább $n$ csokit szeret. Így ilyenkor $|N(X)| \geq n \geq |X|$.
Ha viszont $X = \emptyset$, akkor persze $N(X) = \emptyset$, így $0 = |N(X)| \geq |X| = 0$ ebben az esetben is igaz. Megmutattuk tehát, hogy $|N(X)| \geq |X|$ az $A$ minden $X$ részhalmazára teljesül, így Hall tétele szerint $G$-ben valóban létezik $A$-t lefedő párosítás.
A csokik tehát mindenki számára kielégítően szétoszthatók.
Hall tételéből könnyen választ kaphatunk arra a kérdésre is, hogy teljes párosítás létezése mitől függ egy páros gráfban. Ezt az állítást az alábbi formájában Georg Frobenius (1849 – 1917) német matematikusnak szokták tulajdonítani.
Frobenius-tétel
Következmény
Következmény. (Frobenius tétele) A $G = (A,B;E)$ páros gráfban akkor és csak akkor létezik teljes párosítás, ha $|A| = |B|$ és minden $X \subseteq A$ részhalmazra $|N(X)| \geq |X|$ teljesül.
A feltétel szükségessége ismét nyilvánvaló: ha létezik $G$-ben teljes párosítás, akkor $|A| = |B|$ természetesen igaz és mivel egy teljes párosítás egyben $A$-t lefedő párosítás is, így azt már beláttuk, hogy $|N(X)| \geq |X|$ minden $X \subseteq A$ részhalmazra teljesül.
Megfordítva: ha $|N(X)| \geq |X|$ minden $X \subseteq A$ részhalmazra teljesül, akkor Hall Tétele miatt $G$-ben van $A$-t lefedő párosítás. De mivel $|A| = |B|$, ezért egy ilyen párosításnak nyilván $B$-t is fednie kell, így az teljes párosítás. Ezzel tehát a feltétel elégségességét is beláttuk.
Összefoglaló Kvíz
Párosítási Algoritmusok
Vidd az egeret a kártyák fölé a helyes válaszért!
#01 Javítóút definíciója
Milyen csúcsok között fut egy javítóút, és mi jellemzi az éleit?
#02 Kőnig-tétel
Milyen kapcsolat van páros gráfokban $\nu(G)$ és $\tau(G)$ között?
#03 Hall-feltétel
Mikor létezik egy páros gráfban az $A$ pontosztályt lefedő párosítás?
#04 Teljes párosítás
Mi a Frobenius-tétel szerinti feltétele a teljes párosítás létezésének?
Tudtad-e?
A JAVÍTÓUTAK EREJE
Ahelyett, hogy az összes lehetséges párosítást végigpróbálnánk, a javítóutas algoritmus polinomidőben megtalálja az optimumot. Ez teszi lehetővé, hogy a modern keresőmotorok és adatbázisok villámgyorsan kezeljenek hatalmas adathalmazokat.
A HÁZASÍTÁSI TÉTEL
A Hall-tételt a szakirodalom gyakran "Házasítási tételnek" nevezi. A tétel alapjául szolgáló matematikai modell azt vizsgálja, hogyan lehet egy közösség tagjait optimálisan párba állítani a saját preferencialistáik alapján.
KŐNIG ÉS A DUALITÁS
A $\nu(G) = \tau(G)$ összefüggés a Kőnig-tételben a matematikai dualitás egyik legszebb példája. Azt bizonyítja, hogy egy "maximális" keresési és egy "minimális" lefogási probléma ugyanazt az eredményt adja.
SZOFTVER-ÜTEMEZÉS
A modern operációs rendszerek párosítási algoritmusokat használnak a feladatok processzormagokhoz rendeléséhez. Ez garantálja, hogy a hardver ne maradjon szabadon, amíg van elvégezhető számítási munka.