Зведення (теорія складності обчислень)
Зведення в теорії складності обчислень — перетворення однієї задачі до іншої. У загальному випадку, для алгоритму, що перетворює примірники задачі на примірники задачі , які мають ту саму відповідь («так» або «ні»), кажуть, що зводиться до , таким чином, звідність — це відношення між двома задачами. За допомогою такого зв'язку можна доводити обчислюваність задачі або її належність до того чи іншого класу складності.
Деякі види зведень: зведення за Куком, зведення за Карпом, зведення за Левіном, зведення за Тюрінгом[en].
Зведення за Тюрінгом — найзагальніша форма зведення: деякий алгоритм (обчисле́нний на машині Тюрінга) можна викликати будь-яку кількість разів, при цьому кожен виклик буде вважатися одним кроком алгоритму; для формального визначення звідності за Тюрінгом використовується поняття тюрінг-машини з оракулом.
- Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2001). Вступ до теорії автоматів, мов і обчислень (вид. 2nd). Addison–Wesley. с. 521.(англ.)
- Роджерс Х. . Теория рекурсивных функций и эффективная вычислимость. — М. : Мир, 1972. — 416 с.(рос.)
- Курс «Вступ до структурної теорії складності» (рос.)
В іншому мовному розділі є повніша стаття Reduction (complexity)(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою перекладу з англійської.
|