Konkrétní polynomiální redukce
SAT
(problém splnitelnosti booleovských formulí)Název: SAT Vstup: Booleovská formule v konjuktivní normální formě. Otázka: Je daná formule splnitelná?
3-SAT
(problém SAT s omezením na 3 literály)Název: 3-SAT Vstup: Booleovská formule v konjunktivní normální formě, kde v každé klauzuli jsou právě 3 literály. Otázka: Je daná formule splnitelná?
IS_{DEC}
(problém nezávislé množiny [Independent Set])Název: IS Vstup: Neorientovaný graf (o vrcholech); číslo (). Otázka: Existuje v nezávislá množina velikosti ? (tj. množina vrcholů, z nichž žádné dva nejsou spojeny hranou)
VC_{DEC}
(vrcholové pokrytí [Vertex Cover])Název: VC Vstup: Neorientovaný graf (o vrcholech); číslo . Otázka: Existuje v vrcholové pokrytí velikosti ? (tj. množina vrcholů, v níž má každá hrana aspoň jeden konec)
HC
(problém hamiltonovského cyklu)Název: HC Vstup: Orientovaný graf . Otázka: Existuje v hamiltonovský cyklus? (tj. uzavřená cesta, procházející každým vrcholem právě jednou)
HK
(problém hamiltonovské kružnice)Název: HK Vstup: Neorientovaný graf . Otázka: Existuje v hamiltonovská kružnice? (tj. uzavřená cesta, procházející každým vrcholem právě jednou)
TSP_{DEC}
(problém obchodního cestujícího)Název: TSP Vstup: Množina “měst” , přirozená čísla (“vzdálenosti”) , kde a ; dále číslo (“limit”). Otázka: Existuje “okružní jízda” dlouhá nejvýše , tj. existuje permutace množiny tak, že ?
- je podproblém problému TSP, v němž každá instance splňuje trojúhelníkovou nerosnost (tedy
SAT \leq_{p} 3-SAT
- Sestavím booleovský obvod
- Vypíšu pravidla, jaká musí booleovský obvod splňovat
- Uplatním na ně De Morganovy zákony
3-SAT \leq_{p} IS_{DEC}
- Udělám vrcholy pro každou klauzuli ve formuli a spojím je. (Udělám trojúhelníky)
- Vrchol s proměnnou propojím s vrcholem negací proměnné
- Číslo je počet klauzulí ve formuli
IS_{DEC} \leq_{p} VC_{DEC}
- V grafu je nezávislá množina právě tehdy, když \ je vrcholové pokrytí.
VC_{DEC} \leq_{p} HC
- Pro (neorientovaný) graf a číslo jsme sestrojili graf postupně takto:
- Pro každý vrchol grafu , se stupněm , zařadíme do “řetízek” vrcholů (šipky označují příslušné hrany v )
- Pro dané číslo zařadíme do navíc vrcholy a pro každé a každý vrchol s nenulovým stupněm přidáme do hrany a (z lze tedy “skočit” na začátek libovolného “řetízku” a z konce libovolného “řetízku” lze zase skočit na , pro každé );
- Pro každý vrchol grafu očíslujeme jeho incidentní hrany čísly a pro každou hranu grafu přidáme do čtyři hrany vzhledem k ; pak přidáme hrany a (kde reprezentuje dvojici hran a ).
HC \leq_{p} HK
- Místo každého vrcholu přidám vrcholy (začátek, střed, konec), které propojím podle orientace hran v grafu HC
HK \leq_{p} \triangle - TSP_{DEC}
- V grafu jsme každé hraně přiřadili hodnotu (délku) a pak jsme doplnili hrany tak, aby vznikl úplný graf, každé doplněné hraně jsme přiřadili hodnotu .
Navigace
Předchozí: Cook-Levinova věta Následující: Třída PSPACE, její vztah k třídám P a NP, PSPACE-úplné problémy Celý okruh: 1. Teoretické základy informatiky