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
PTIME
- Třída obsahující všechny problémy řešitelné algoritmy 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.
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
-
-
- 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