====== Algorithme MinMax ====== C'est bien sur la mise en forme (titre,s image, renvois) \\ Une petite phrase d'introduction expliquant de quoi parle cette page serait une amélioration Cette page traitera de ce qu'est l’**algorithme MinMax**, de son fonctionnement et de ses utilisations dans le cadre des **IA**. ===== Définition ===== Un algorithme est une suite finie et non ambiguë d'opérations ou d'instructions permettant de résoudre un problème ou d'obtenir un résultat. L’algorithme MinMax sert à l’IA dans la prise de décision en utilisant un système d’évaluation des différentes possibilités. Dans le programme sont fixées deux valeurs, suffisamment éloignées l’une de l’autre, qui seront **Min** et **Max**. Ces valeurs serviront à comparer le « **poids** » final d’une configuration (une situation). Si cette valeur finale est plus proche de Min, la victoire ira au joueur ; si elle est plus proche de Max, elle ira à l’IA. Il sera aussi défini une **profondeur** correspondant aux nombres de coups maximum simulés (si la victoire n’intervient pas avant). ===== Fonctionnement ===== L’IA **simule** chacune des actions du joueur en fonction du coup qu’elle jouera. Elle anticipera autant de coups que la profondeur définie le lui permet. On modélise cela sous la forme d’un **arbre de configurations** (aussi appelé arbre de possibilités). Il est donc constitué des solutions simulées qui vont être **évaluées** afin de définir la plus **intéressante**. __Exemple__ :\\ Le rond est l’IA ; la croix est le joueur.\\ Valeur Min : -100 ; valeur Max : 100.\\ Profondeur : 2.\\ {{ :wiki:algo_minmax_exemple.png?600 |}} ===== Applications ===== Les applications possibles de l’algorithme MinMax se situent notamment dans les jeux dits « de plateaux » où on retrouve un **système de tours et de coups** à jouer, par exemple, le tic tac toe, les échecs...\\ De façon plus générale, pour toutes **actions impliquant une prise de décision**, l’algorithme MinMax pourra être utilisé. ===== Evolutions ===== Il existe une **amélioration** de l'algorithme MinMax appelé [[algo_alpha_beta|Alpha-Bêta]]. ===== Sources ===== [[http://fearyourself.developpez.com/tutoriel/sdl/morpion/part6/]]\\ [[https://openclassrooms.com/courses/l-algorithme-min-max]]