Definice třídy časové a prostorové složitosti
- Pro funkci rozumíme třídou časové složitosti , množinu těch probému, které jsou řešeny TS s časovou složitostí v .
- Třídou prostorové složitosti , rozumíme třídu těch problémů, které jsou řešeny TS s prostorovou složitostí v
Time
- Množina všech problémů, které jsou TS rešitelné s časovou složitostí .
PTIME
- Třída obsahující všechny problémy řešitelné algoritmy (TS) s polynomiální časovou složitostí
- Robustnost třídy PTIME znamená nezávislost na zvoleném referenčním modelu počítačů. Když bychom totiž jako referenční model vzali např. stroje RAM, třída PTIME by se nezměnila.
- Patří sem: dosažitelnost v grafu, nejkratší cesta v grafu, minimální kostra v grafu, třídění, …
Ntime
- Množina všech problémů, které jsou rozhodované NTS s časovou složitostí .
NPTIME
- Třída všech problémů, které jsou rozhodovány nedeterministickými algoritmy s polynomiální časovou složitostí.
- Robustnost třídy NPTIME znamená nezávislost na zvoleném referenčním modelu počítačů. Když bychom totiž jako referenční model vzali např. stroje RAM, třída NPTIME by se nezměnila
Důvod zavedení tříd PTIME a NPTIME
- Třídy časové složitosti PTIME a NPTIME byly vytvořené pro popis a kategorizaci problémů, které jsou řešitelné deterministickými a nedeterministickými algoritmy s polynomiální časovou složitostí.
PSPACE
- Třída obsahující všechny problémy řešitelné algoritmy s polynomiální prostorovou složitostí.
NPSPACE
- Třída obsahující všechny problémy řešitelné nedeterministickými algoritmy s polynomiální prostorovou složitostí.
Vzájemný vztah
-
- Přes velké úsilí vědecké komunity, zatím nebylo dokázáno, že , ani že . To znamená, že stále existuje možnost, že některé problémy, které jsou řešitelné nedeterministickými algoritmy v polynomiálním čase, mohou být řešitelné i deterministickými algoritmy v polynomiálním čase, nebo naopak.
- Nicméně existuje mnoho problémů, u kterých se věří, že jsou řešitelné nedeterministickými algoritmy v polynomiálním čase, ale nebylo nalezeno žádné deterministické řešení v polynomiálním čase.
- Tyto problémy jsou považovány za “typické” pro třídu . Mezi takové problémy patří například problém nalezení Hamiltonovské kružnice v grafu.
- Název: HK (problém Hamiltonovské kružnice)
- Vstup: Neorientovaný graf - Otázka: Existuje v hamiltonovská kružnice (tj. uzavřená cesta, procházející každým vrcholem právě jednou?
- Abychom dokázali, že , museli bychom najít problém, který patří do , ale zároveň nepatří do
- Abychom dokázali, že , tak bychom museli dokázat např.
-
- Pro libovolnou funkci je
- např. Turingův stroj očividně navštíví při výpočtu nejvýše tolik políček, kolik udělá kroků
- Pro libovolnou funkci je
-
- Platí podle Savitchovi věty
Navigace
Předchozí: Složitost algoritmu (časová a paměťová) Následující: NP-úplné problémy Celý okruh: 1. Teoretické základy informatiky