human
Comment fonctionne l'IA dans les jeux vidéo ? Comment une machine peut-elle réagir intelligemment aux interventions humaines ? Existe-t-il des réponses préprogrammées à chaque action ? L'ordinateur a-t-il une stratégie définie ? Explique comme si j'avais cinq ans.
gpt
* * Y a-t-il des réponses préprogrammées à chaque action ? * * Généralement non. Dans n'importe quel jeu plus compliqué que le tic-tac-toe, ce serait extrêmement complexe. Par exemple, il y a 500 milliards de mouvements possibles aux dames et la plupart des jeux sont bien plus compliqués que cela. * * L'ordinateur a-t-il une stratégie définie ? * * Fréquemment , oui . De nombreux jeux utilisent une IA basée sur ce qu'on appelle un *arbre de décision*. Un arbre de décision est comme un organigramme qui utilise l'*état* actuel du jeu pour prendre des décisions sur ce qu'un personnage IA doit faire ensuite. Voici un [ arbre de décision simple pour l' IA d' un jeu vidéo ] ( URL_0 ) . Souvent, il y a un degré élevé d'aléatoire dans un arbre de décision, comme vous [pouvez le voir ici] (URL_4). Il peut être utile de voir un [ exemple d' arbre décisionnel plus complexe ] ( URL_1 ) . * * Comment une machine peut-elle réagir intelligemment aux interventions humaines ? * * Les arbres de décision ne sont qu'un type d'IA simple. Les jeux utilisent une grande variété de techniques pour prendre des décisions intelligentes. Un exemple intéressant parmi les nombreux systèmes d'IA différents est ce qu'on appelle un [réseau de neurones artificiels] (URL_3). Un réseau de neurones est comme une imitation numérique du cerveau humain. Il commence sa « vie » comme un tas de connexions inutiles entre l'entrée (ce qui se passe actuellement dans le jeu) et la sortie (le comportement du personnage IA). Ces connexions démarrent essentiellement de manière aléatoire et les signaux sont envoyés à travers elles de l'entrée à la sortie. Entre les entrées et les sorties, il y a des points cachés (nœuds) qui nécessitent un certain niveau d'entrée avant de transmettre un signal du côté entrée au côté sortie. Par exemple , une entrée peut être * speed * . La vitesse peut se connecter à un nœud qui nécessite 10 mph avant de continuer le signal vers une sortie. En modifiant la valeur requise (appelée * potentiel d'action * ou * poids *) de ce nœud, vous pouvez modifier le comportement du système. Cependant , il existe généralement des centaines ou des milliers de nœuds dans une configuration beaucoup plus complexe . Au lieu de modifier manuellement leurs pondérations, un programmeur insère le *comportement souhaité* pour une situation donnée et demande à l'ordinateur de rejouer cette situation encore et encore, en modifiant légèrement les pondérations à chaque relecture. Le système conserve les pondérations qui le rapprochent du comportement souhaité et rejette les pondérations qui l'éloignent du comportement souhaité. De cette façon, après avoir changé son "cerveau" au hasard des millions de fois et vu comment chaque changement affecte son comportement, l'ordinateur peut être *formé* pour être une bonne IA pour une situation particulière. Regardez cette [ vidéo d' une IA de réseau neuronal apprenant à conduire ] ( URL_2 ) . Bien sûr, ce n'est qu'un des nombreux types d'IA que les programmeurs de jeux vidéo utilisent pour créer un comportement intelligent.