j'ai un problème concernant la situation suivante.
J'ai deux tableaux de nombres comme celui-ci:
index/pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Array 1(i): 1 2 3 4 7 5 4 3 7 6 5 1 2 3 4 2
Array 2(j): 4 4 8 10 10 7 7 10 10 11 7 4 7 7 4
supposons maintenant que le deuxième tableau est très difficile à calculer, mais j'ai remarqué que si j'ajoute
A [i] + A [i + 1]
dans le tableau 1 j'obtiens le nombre très proche du nombre A [j] dans le tableau 2.
Ma solution est-elle une heuristique ou une approximation?
Si j'avais une raison de croire que je ne dépasserai jamais la valeur de A [j] par + -x avec cet algorithme et que je peux le prouver, alors ma solution serait-elle une heuristique ou une approximation?
Existe-t-il une littérature traitant des questions heuristiques vs d'approximation pour les problèmes de classe P où la solution peut être obtenue en temps polynomial mais l'entrée est tout simplement trop grande pour qu'un algorithme de temps poly soit pratique.
Merci
la source
Réponses:
Une heuristique est essentiellement une intuition, c'est-à-dire que le cas que vous décrivez ("j'ai remarqué qu'il est proche", vous n'avez pas de preuve qu'il en est ainsi) est une heuristique. Tout comme la résolution du problème des vendeurs itinérants en partant d'un sommet aléatoire et en se rendant au plus proche pas encore visité à chaque étape. C'est une idée plausible , qui ne devrait pas donner une trop mauvaise solution. Dans ce cas, il peut être démontré qu'il ne donnera pas toujours une bonne solution.
Un algorithme d'approximation est généralement compris comme donnant une solution approximative, avec une sorte de garantie de performance (c'est-à-dire qu'il résout le TSP, et le coût total n'est jamais inférieur de plus d'un facteur 2; ou mieux encore, il résout le TSP et, en fonction de <certains paramètres pouvant être modifiés> la solution n'est jamais pire qu'optimale de plus d'un facteur , où dépend de <paramètres>).1 + ϵ ϵ
la source
Vous pouvez voir cette réponse très intéressante sur l' heuristique dans Wikipedia:
"une heuristique est une technique conçue pour résoudre un problème plus rapidement lorsque les méthodes classiques sont trop lentes. L'objectif d'une heuristique est de produire assez rapidement une solution suffisamment bonne pour résoudre le problème en question.".
L'heuristique pourrait dériver de la théorie ou de l'expérience expérimentale, mais les algorithmes d'approximation ont une base théorique solide (solution prouvable).
la source
Quant à votre dernière question, il n'y a pas de théorie distincte pour les algorithmes d'approximation des problèmes qui peuvent être résolus en temps polynomial. En fait, il se pourrait queP = N P . Quelques exemples d'algorithmes d'approximation des problèmes dansP inclure des algorithmes d'algèbre linéaire numérique et de géométrie de calcul. Voir la question Algorithmes d'approximation pour les problèmes dans P pour plus.
la source