Hopcroft-Karp
V bipartitních grafech maximální párování m velikost stejnou jako vrcholové pokrytí a máme poly alg.
Definice: Korunní rozklad je , kde
- ,
- je nezávislá,
- mezi a nevede hrana,
- obsahuje párování mezi velikosti .
Lemma: Pro existuje algortimus, který buď najde párování velikosti , nebo máme nějaký horní odhad.
DK:
- hladově najdeme maximální párování (nepřidatelná další hrana) ,předpokladem je , jinak NE, tedy je nezávislá množina , kde jsou hrany z do . indukuje bip. graf
- najdeme největší párování a spojující VC , jménem , předpokladem je , jinak NE. Protože , .
- Zvolíme , , je zbytkem Zbývá bod 3. definice, do nic společného nemají , HopcroftKarp , hrana by musela být pokryta , takže spor
Použití , búno bez izolovaných vrcholů a má-li vrcholů, tak aplikujeme lemma a máme NE, nebo velikost .
Korektnost: musíme alespoň vrcholů
LP pro VC má řešení (v pol. čase) s hodnotami řešení - bip., párování v poly čase → ILP řešení → LP v , průměr z , . Optimalita nechť je nějaké optimum LP v . Zadefinujeme řešení na , z je přípustné řešení
Mějme jako vertex cover v ,
Dokončení: Dáme vyřešíme půlkový LP, a rozdělí vrcholy dle hodnoto a zúžíme problematiku na vrcholy co mají polovinky a jsou součástí VC.
Mějme LP v půlkách a dáno řešení
Použití
vyřešíme LP v půlkách pro VC. pokud NE, protože celočíselné řešení nelepší, jinak řešme VC na
Věta: Pro každé řešení LP v půlkách existuje optimální VC , t. ž. .
DK: Dáno alt. VC , vezmeme
- korektnost stačí hrany uvnitř , ty jsou pokryté ,
- minimalita třeba ukázat, že
Sporem: kdyby platila "", zavedeme :
TODO: