VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Tuto IA de base [Résolu]

valgoku 153Messages postés 17 avril 2006Date d'inscription 16 mars 2012Dernière intervention - Dernière réponse le 3 janv. 2011 à 19:27
Bonjour,
J'aimerai commencer la programmation IA en C++, sauf que je n'ai aucune idée où commencer !
Donc j'ai regardé un peu les autres topics et aucun ne répond réellement à la question.
Auriez-vous des tutos permettant de comprendre l'IA, et d'apprendre le mécanisme et l'algo IA ?
Mon but n'est pas de créer CS ou d'autres jeux encore, mais pour par la suite y arriver, j'aimerai vraiment prendre les bases !
Math ? Algo ?
Merci pour vos réponses !
Lire la suite 

Tuto IA de base »

9 réponses
Réponse
+3
moins plus
Salut,

Commence par lire cet excellent article : "Introduction aux techniques de base
pour l'intelligence artificielle" : http://damien-guichard.developpez.com/tutoriels/algo/introduction-techniques-IA/
Ensuite pour la programmation à C++ va sur le portail dédié à C++ tu y trouvera tout ce dont tu as besoin : http://cpp.developpez.com
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,

Déjà, la première étape, c'est de savoir dans quel environnement doit évoluer ton agent.
Programmer une IA pour Counter-Strike, pour reprendre ton exemple, n'est pas du tout la même chose que programmer une IA pour Civilization, pour un robot ou pour un jeu d'échecs.

Programmer une IA, ce n'est pas créer une entité intelligente qui saura s'adapter au jeu dans lequel on la place ;) Un jour, peut-être, mais on n'y est pas encore !

Donc, première chose à faire, définir l'environnement.
Savoir quels sont les paramètres d'entrée à prendre en compte, quels sont les actions possibles.

Ensuite, une IA doit avoir un but. En général, on utilise un algorithme qui permet de donner un "score" à une situation (c'est-à-dire à l'ensemble des paramètres de l'environnement), et le but de l'IA sera de maximiser (ou minimiser) ce score.
Pour simplifier, à CS, si j'ai un ennemi en face, le score de la situation sera meilleur si j'ai sa tête dans le viseur, et encore meilleur s'il est mort :p

Je ne peux pas vraiment développer plus, d'une part parce que je n'ai pas le temps, et d'autre part parce que n'ayant jamais vraiment mis en pratique cela en dehors d'un ou deux TP à l'école, je n'ai que la théorie (de base) et pas de recul à t'offrir... Mais je pense que c'est déjà une base de démarrage.

Xavier
valgoku- 25 nov. 2010 à 15:46
AHHH je retrouve l'humour des vrais programmeurs ^^ J'aime ^^
Jet Sett - 2 janv. 2011 à 14:34
Salut, tu parlais d'un système de score, mais comment le coder?
Reivax962- 3 janv. 2011 à 10:28
Le coder n'est pas le problème, le plus difficile est de le définir.
En fait, il faut définir le degré de satisfaction que l'agent peut retirer de son environnement (ou de son état propre).
Tu définis donc plein de paramètres, par exemple, pour un agent qui doit se nourrir :
- faim (F)
- soif (S)
- proximité d'un puits (P)
- proximité de gibier (G)

Tu leur attribues une échelle de valeur, par exemple de 0 à 10 pour chacun.

Tu définis une formule qui donne le "score" de la situation en cours :
Score = P + G - F - S

Le but de l'agent sera de maximiser à tout moment ce score, ce qui revient donc à dire qu'il va éviter de s'éloigner des sources de sustentation, et qu'il va manger / boire le plus possible.
Cette règle de décision peut se moduler, plutôt que de maximiser le score il peut se contenter de le maintenir au dessus d'un certain seuil, ou de privilégier la soif sur la faim... Bref il y a énormément de chose à décider avant de passer au codage.

Ensuite, le codage est tout bête... Calculer le score, ce ne sont que des opérations élémentaires, même si tu peux mettre ce que tu veux dans la formule, des racines carrées, des sinus ou autre. Mais on en revient toujours à la même chose, ça commence par la définition.

Xavier
Ajouter un commentaire
Ce document intitulé « Tuto IA de base » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?