Wikipédia le définit comme
Un algorithme est dit de temps polynomial si son temps de fonctionnement est délimité par une expression polynomiale dans la taille de l'entrée pour l'algorithme, c'est-à-dire pour une constante k.
L'algorithme fonctionne en temps fortement polynomial si [8]
le nombre d'opérations dans le modèle arithmétique de calcul est limité par un polynôme dans le nombre d'entiers dans l'instance d'entrée; et
l'espace utilisé par l'algorithme est délimité par un polynôme de la taille de l'entrée.
Chez Bernhard Korte, Jens Vygen, Combinatorial Optimization :
Définition 1.4.
Un algorithme à entrée rationnelle fonctionnerait en temps polynomial si
- il existe un entier k tel qu'il s'exécute en temps , où n est la taille d'entrée, et
- tous les nombres dans les calculs intermédiaires peuvent être stockés avec bits.
Un algorithme à entrée arbitraire fonctionnerait en temps fortement polynomial si
- il existe un entier k tel qu'il s'exécute en temps pour toute entrée composée de n nombres et
- il s'exécute en temps polynomial pour une entrée rationnelle.
S'il vous plait corrigez moi si je me trompe. Voici les différences littérales que j'ai remarquées:
Pour les algorithmes de temps polynomiaux, la définition de Korte et Vygen est "la définition de Wikipédia + espace de stockage polynomial".
Pour les algorithmes de temps fortement polynomiaux, la définition de Korte et Vygen et la définition de Wikipedia nécessitent toutes deux un temps polynomial dans la taille de stockage d'entrée. Mais K et V nécessitent en outre un temps polynomial dans le nombre de nombres dans n'importe quelle entrée, tandis que Wikipedia nécessite en outre un espace de stockage polynomial dans la taille d'entrée.
Les définitions de K et V et de Wikipedia pour ces deux concepts sont-elles respectivement équivalentes? Quelles sont les autres différences et relations entre eux?
Merci et salutations!