Wikipedia lo define como
Se dice que un algoritmo es de tiempo polinómico si su tiempo de ejecución está limitado por una expresión polinómica en el tamaño de la entrada para el algoritmo, es decir, para alguna constante k.
El algoritmo se ejecuta en tiempo fuertemente polinómico si [8]
el número de operaciones en el modelo aritmético de computación está limitado por un polinomio en el número de enteros en la instancia de entrada; y
El espacio utilizado por el algoritmo está limitado por un polinomio en el tamaño de la entrada.
En Bernhard Korte, Jens Vygen, Optimización combinatoria :
Definición 1.4.
Se dice que un algoritmo con entrada racional se ejecuta en tiempo polinómico si
- hay un número entero k tal que se ejecuta en tiempo , donde n es el tamaño de entrada y
- Todos los números en los cálculos intermedios se pueden almacenar con bits.
Se dice que un algoritmo con entrada arbitraria se ejecuta en tiempo fuertemente polinómico si
- hay un número entero k tal que se ejecuta en tiempo para cualquier entrada que consta de n números y
- se ejecuta en tiempo polinómico para entrada racional.
Por favor, corríjame si estoy equivocado. Las siguientes son las diferencias literales que noté:
Para los algoritmos de tiempo polinómico, la definición de Korte y Vygen es "la definición de Wikipedia + espacio de almacenamiento polinómico".
Para algoritmos de tiempo fuertemente polinomiales, la definición de Korte y Vygen y la definición de Wikipedia requieren tiempo polinomial en el tamaño de almacenamiento de entrada. Pero K y V además requieren tiempo polinómico en el número de números en cualquier entrada, mientras que Wikipedia también requiere espacio de almacenamiento polinómico en el tamaño de entrada.
Entonces, ¿las definiciones de K y V y Wikipedia para estos dos conceptos son equivalentes, respectivamente? ¿Qué otras diferencias y relaciones hay entre ellos?
¡Gracias y saludos!