Informace o Cookovi

V teorii výpočetní složitosti je redukce problému na Cooka  algoritmem , který je polynomiální v čase (jinými slovy Turingův stroj s polynomiální dobou běhu), který řeší problém za předpokladu, že funkce, která najde řešení problému je mu dáno jako orákulum , to znamená, že odvolání k němu trvá jen jeden krok.

Pokud takový algoritmus existuje, říkáme, že je Cooke redukovatelný na a zapisovatelný

Neformálně v tomto případě říkají, že „přinejmenším tak komplexní“ jako .

Pokud je problém podle Cooka redukován na problém , lze řešení problému použít k vyřešení problému následujícím způsobem: když je od orákula požadován algoritmus, který počítá, použije se odpovídající řešení . Vzhledem k tomu, že Turingův stroj se může dotazovat věštce mnohokrát, může konečný algoritmus pro vyřešení problému trvat asymptoticky déle než algoritmus, který problém řeší .

Historie

První formální definici redukovatelnosti navrhl Alan Turing v roce 1939.

Viz také

Odkazy