Minimalis koltsegu lefogo csucshalmaz
Minden csucsnak van egy nem negativ koltsege:

legyen valtozok:

Ennek az IP feladatnak az LP relaxaltja (tort relaxaltja) csak annyi, hogy elhagyjuk az egeszsegi feltetelt.

IP feladat optimalis megoldasas:
LP feladat optimalis megoldasa:

Eszrevetel 1:
legyen a kovetkezo:

Eszrevetel 2:
Eszrevetel 3:

Tehat ez egy -kozelito algoritmus.

Fixed parameter Tractable (FPT)

Input: ahol egy bites szam (vagy egy csucsu graf), es egy parameter.

peldaul: Kapunk egy grafot es egy paramteret es a kerdes az hogy van e legalabb hossz ut a grafban.

Def.: XP azon feladatok halmaza, melyeket meg tudunk oldani polinomialis idoben minden fix -ra.

Def.: FPT XP ahol FPT azon feladatok halmaza, melyekre ideju algoritmus ami megoldja.

peldaul az elozo orarol a Vertex Cover algoritmus:

VC(G', k'):
	IF k' < 0 THEN return False
	let v in V such that d(v) is maximal
	IF d(v) = 0 THEN return {}  // case: empty graph
	IF k' = 0 THEN return False
	IF d(v) = 1 THEN return tau(G')
	
	// v lefogo
	T_1 := VC(G' - v, k' - 1)
	IF T_1 != False THEN return (T_1 U {v})

	// v nem lefogo
	T_2 := VC(G' - v - N(v), k' - d(v))
	IF T_2 != False THEN return (T_2 U N(v))

Legyen a rekurziv hivasok szama -ra
Ekkor lathato, hogy

Tehat a futasi ido, mert egy lepest minding meg tudunk csinalni idoben es a rekurziv hivasok szama a fenti eszrevetel miatt a fibonacci sorozat altal korlatozott.

Tudjuk egy kicsit javitani az algoritmus ugy, hogy atcsereljuk a kovetkezo sort: IF d(v) = 1 ... arra, hogy IF d(v) = 2 ... es igy a rekurziv lepesek szamara igaz, hogy
Igy a futasi ido . Ezt lattuk az elozo oran.

Def.: Egy inputu feladat -kernele:
polinomialis idoben elkeszitunk egy inputot, amire:

  • Az eredeti feladatra “Igen” a valasz A vesszos feladatra “Igen” a valasz

A lenyege a kernel keszitesnek az, hogy ha tudunk adni egy kernelt egy feladatra, akkor azt a kernelt barhogyan megoldjuk az algoritmus ami eloszor elkesziti a kernelt es utana a kernelt megoldja biztosan FPT algoritmus lesz. Mivel polinomialis idoben adunk egy kernelt, es a meretu feladatot barhogyan megoldjuk, ezert az algoritmus futasideje , ahol jeloli a kernel megoldasanak idejet es a kernel letrehozasanak idejet.

Kernel keszites a lefogo csucshalmaz feladatra
Feladat: Keszitsunk egy csucsu lefogo csucshalmazt.
Ha

Megj.: Ha akkor megallunk es az a valaszunk, hogy “Nem lefoghato”.
Megj.: Az izolalt csucsokat toruljuk.

Legyen a vegso es a vegso graf.
Ha -nek tobb mint ele van, akkor megallunk es az a valaszunk, hogy “Nem lefoghato”.
Ha -nek tobb mint csucsa van, akkor megallunk es az a valaszunk, hogy “Nem lefoghato”.

Ha ezek utan meg mindig nem alltunk meg, akkor lesz a kernelunk ahol es
Ezt a kissebb grafot a fenti algorimussal meg lehet mar oldani lepesben es a kernelt el tudjuk kesziteni idoben.

Def.: korona-felbontasa: (crown, head, body)

  1. fuggetlen
  2. ha es (a korona es a body kozott nincs el)
  3. A paros grafban letezik -t fedo parositas

Korona redukcio:

ahol a graf megszoritasa a halmazra.

All.:
Biz.:
Ha van egy csucshalmazom, ami lefogja eleit es , akkor lefogja eleit.

Legyen egy eleit lefogo csucshalmaz, amire .
Ekkor letezik ugy, hogy es es , mert a korona felbontas 3. pontja szerint letezik -t fedo parositas a paros grafban.

csucsu kernel

-ben legnagyobb parositas, legkisebb lefogo.

Ha akkor megallunk. Ezt eldontottuk idoben.

Kulonben elkeszitjuk a kovetkezo koronafelbontast:

Allitasok:

  1. fuggetlen
  2. nem letezik el, ahol es b inn B
  3. Az a -et felparositja -be
    Igy -ben is *pipa*

Igy a kernelunk.