Википедия определяет это как
Считается, что алгоритм имеет полиномиальное время, если его время выполнения ограничено сверху полиномиальным выражением в размере входных данных для алгоритма, т. Е. для некоторой константы k.
Алгоритм работает за сильно полиномиальное время, если [8]
количество операций в арифметической модели вычислений ограничено полиномом от числа целых чисел во входном экземпляре; и
пространство, используемое алгоритмом, ограничено полиномом по размеру входных данных.
В Бернхард Корте, Jens Vygen, комбинаторной оптимизации :
Определение 1.4.
Говорят, что алгоритм с рациональным вводом работает за полиномиальное время, если
- существует целое число k такое, что оно выполняется за время , где n - размер ввода, и
- все числа в промежуточных вычислениях могут быть сохранены с битами.
Говорят, что алгоритм с произвольным вводом работает за строго полиномиальное время, если
- существует целое число k такое, что оно выполняется за время для любого ввода, состоящего из n чисел и
- он работает за полиномиальное время для рационального ввода.
Пожалуйста, поправьте меня, если я ошибаюсь. Ниже приведены буквальные различия, которые я заметил:
Для алгоритмов полиномиального времени определение Корта и Выгена - это «определение Википедии + пространство хранения полинома».
Для сильно полиномиальных алгоритмов времени определение Корта и Вигена и определение Википедии требуют полиномиального времени в объеме входной памяти. Но для K и V дополнительно требуется полиномиальное время в количестве чисел в любом входе, в то время как в Википедии дополнительно требуется полиномиальное пространство для хранения во входном размере.
Значит, определения K и V и Wikipedia для этих двух понятий эквивалентны соответственно? Какие еще различия и отношения между ними?
Спасибо и всего наилучшего!