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

  1. ,
  2. je nezávislá,
  3. mezi a nevede hrana,
  4. 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:

  1. 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
  2. najdeme největší párování a spojující VC , jménem , předpokladem je , jinak NE. Protože , .
  3. 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

right 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: