Une solution de force brute est celle dans laquelle vous essayez chaque réponse possible, une à la fois, pour trouver la meilleure réponse possible. C'est complet, c'est certain, mais cela gaspille aussi du temps et des ressources dans la plupart des cas. Tester chaque réponse, même s'il est facile de prouver qu'une réponse donnée n'a aucune chance de succès, fait perdre du temps qu'un algorithme peut utiliser sur les réponses qui ont une meilleure chance de succès.
De plus, tester les différentes réponses en utilisant cette approche gaspille généralement des ressources, telles que la mémoire. Pensez-y de cette façon: Vous voulez casser la combinaison pour un verrou, donc vous commencez à 0, 0, 0, même si vous savez que cette combinaison particulière n'a aucune chance de succès étant donné les caractéristiques physiques des verrous de combinaison. Une solution de force brute procéderait à tester 0, 0, 0 de toute façon et ensuite passer à la tout aussi ridicule 0, 0, 1.
Il est important de comprendre que chaque type de solution présente des avantages, parfois assez faibles. Une solution de force brute a un tel avantage. Parce que vous testez toutes les réponses de toute façon, vous n'avez pas besoin d'effectuer de pré-traitement lorsque vous travaillez avec une solution brute-force. Le temps gagné en ignorant le prétraitement, cependant, ne rapportera probablement jamais le temps perdu en essayant chaque réponse. Cependant, vous pouvez trouver l'occasion d'utiliser une solution de force brute quand
Trouver une solution, si elle existe, est essentiel.
- La taille du problème est limitée.
- Vous pouvez utiliser des heuristiques pour réduire la taille de l'ensemble de solutions.
- La simplicité de mise en œuvre est plus importante que la rapidité.