Зведення (теорія складності обчислень)

перетворення однієї задачі до іншої

Зведення в теорії складності обчислень — перетворення однієї задачі до іншої. У загальному випадку, для алгоритму, що перетворює примірники задачі на примірники задачі , які мають ту саму відповідь («так» або «ні»), кажуть, що зводиться до , таким чином, звідність — це відношення між двома задачами. За допомогою такого зв'язку можна доводити обчислюваність задачі або її належність до того чи іншого класу складності.

Деякі види зведень: зведення за Куком, зведення за Карпом, зведення за Левіном, зведення за Тюрінгом[en].

Зведення за Тюрінгом — найзагальніша форма зведення: деякий алгоритм (обчисле́нний на машині Тюрінга) можна викликати будь-яку кількість разів, при цьому кожен виклик буде вважатися одним кроком алгоритму; для формального визначення звідності за Тюрінгом використовується поняття тюрінг-машини з оракулом.

ЛітератураРедагувати

  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М. : «Вильямс», 2002. — С. 528. — ISBN 0-201-44124-1.

ПосиланняРедагувати