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ů
    • Platí podle Savitchovi věty

Předchozí: Složitost algoritmu (časová a paměťová) Následující: NP-úplné problémy Celý okruh: 1. Teoretické základy informatiky