Русская Википедия:Сведение по Куку

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

В теории сложности вычислений сведение задачи <math>R_1</math> к <math>R_2</math> по Куку — это полиномиальный по времени алгоритм (другими словами, машина Тьюринга с полиномиальным временем работы), решающий задачу <math>R_1</math> при условии, что функция, находящая решение задачи <math>R_2</math>, ему дана в качестве оракула, то есть обращение к ней занимает всего один шаг.

Если такой алгоритм существует, говорят, что <math>R_1</math> сводима по Куку к <math>R_2</math> и пишут

<math>R_1 \leq_C R_2.</math>

Неформально в таком случае говорят, что <math>R_2</math> «как минимум так же сложна» как <math>R_1</math>.

Если задача <math>R_1</math> сводится по Куку к задаче <math>R_2</math>, то решение задачи <math>R_2</math> может быть использовано для решения задачи <math>R_1</math> следующим образом: при запросе алгоритма, вычисляющего <math>R_1</math>, к оракулу используется соответствующее решение <math>R_2</math>. Так как машина Тьюринга может делать запросы к оракулу большое количество раз, итоговый алгоритм решения задачи <math>R_1</math> может потребовать асимптотически больше времени, чем алгоритм, решающий задачу <math>R_2</math>.

История

Первое формальное определение сводимости было предложено Аланом Тьюрингом в 1939 г.

См. также

Ссылки