Existe-t-il un cas où l'on puisse dire que l'élagage alpha-bêta est inefficace. En d'autres termes, disons que nous avons un jeu où vous devez atteindre 27 pour gagner, et vous et votre adversaire pouvez seulement utiliser 1,2,5 à chaque fois pour additionner. L'élagage Alpha-Beta est-il efficace ici? N'est-ce pas un peu déroutant de l'évaluer de cette façon, surtout au début de notre cas où il y a beaucoup de possibilités dont nous ne nous soucions pas vraiment? Je me sens comme je peux l'expliquer, mais je ne peux pas! Aidez-moi.Quand l'élagage alpha-bêta est inefficace
Répondre
Pour ce jeu, il peut arriver qu'il soit possible de le réduire à une formule mathématique, et que la recherche arborescente et l'élagage alpha-bêta soient surdimensionnés.
Mais disons que ce n'est pas possible. Vous avez un jeu avec deux ou trois résultats: PERTE (-1), WIN (1) et éventuellement DRAW (0), et aucune évaluation significative des positions intermédiaires. Ensuite, vous devrez rechercher jusqu'à la fin de chaque variation, et par ex. l'approfondissement itératif serait inutile. Cependant, l'élagage alpha-bêta pourrait être très efficace: Si bêta = -1 (ce qui signifie que l'adversaire a trouvé une victoire), vous pouvez juste revenir -1 immédiatement, sans même chercher un PV. Si bêta = 0, la seule fois où vous auriez besoin de rechercher tous les nœuds enfants, c'est quand tous les coups (sauf peut-être les derniers) sont perdus. La condition pour que l'alpha-bêta soit suffisamment efficace est, bien entendu, que l'arbre complet soit suffisamment petit pour traverser dans un temps raisonnable. J'ai oublié de mentionner que pour votre exemple particulier, se souvenir des évaluations aurait beaucoup plus d'effet que l'élagage alpha-bêta par rapport au nombre de nœuds parcourus (de 2688332 à 77).
- 1. MulticastDelegate.CombineImpl est-il inefficace?
- 2. Mon LINQ est vraiment inefficace
- 3. Est-il inefficace d'émettre QByteArray?
- 4. Le gestionnaire WndProc est inefficace
- 5. Quand est-ce que Big-O = x est classé comme inefficace?
- 6. Est-il inefficace d'utiliser un vecteur std :: quand il ne contient que deux éléments?
- 7. Méthode JOIN inefficace?
- 8. Est-ce que ce générateur primaire est inefficace C++?
- 9. Clause LINQ inefficace 'ANY'
- 10. Jasmine coffeescript Horloge inefficace
- 11. JSLint -Tolerate indice inefficace?
- 12. MapReduce réducteur inefficace
- 13. Une architecture de niveau 3 (physique) est-elle inefficace?
- 14. "GLOBAL peut être très inefficace"
- 15. Inefficace CoreData dans la requête
- 16. Est-il inefficace d'utiliser un grand nombre de fermetures?
- 17. Pourquoi le code d'exemple SimpleTextInput d'Apple est inefficace
- 18. Pourquoi le préchargement de l'image est-il inefficace?
- 19. SQL SELECT ... WHERE avec REMPLACER - inquiet qu'il est inefficace
- 20. La manipulation d'image lors d'un événement tactile est inefficace!
- 21. code inefficace dans la vue
- 22. Utilisation inefficace des instructions if - Android
- 23. Plan d'exécution inefficace pris par MySQL InnoDB
- 24. wso2 bps OutOfMemoryError - liste d'événements inefficace
- 25. Comment cela ne rend pas varchar2 inefficace?
- 26. Android Webview setHttpAuthUsernameAndPasssword inefficace avec Google Login
- 27. Entity framework génère un SQL inefficace
- 28. Event.observe inefficace avec prototype javascript, alternatives?
- 29. Haskell mise en œuvre de fibonacci inefficace
- 30. Est-il inefficace de spécifier des règles par défaut pour CSS?