IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

[Debutant] Apprendre à créer une Intelligence Artificielle (IA)


Sujet :

Intelligence artificielle

  1. #21
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    [quote]Je n'ai plus le chiffre exact du nombre de départ, mais on arrive à montrer qu'il faut prendre un nombre n d'allumettes tel que n+a = 4 (où a est le nombre d'allumette qu'a pris l'adversaire).[quote]

    En fait, il faut qu'il reste 4n allumettes apres son tour pour être sur de pouvoir prendre la dernière.

    Citation Envoyé par PRomu@ld Voir le message
    On est d'accord, ça n'a d'intelligent que le nom. C'est de la pure mécanique.
    Oui, tout à fait d'accord. J'ai aussi dit
    Enfin, l'IA, c'est comme le cerveau humain. Il faut cyniquement mettre en algorythme l'activité humaine 8o)
    et celà n'est possible que sur des "petits jeux". Je joue au jeu de go, et apres m'être un peu renseigné sur le sujet, la logiciels utilisent entre autre du min/max (parce que le MinMax ne permet pas d'avoir assez de profondeur dans la partie). Et c'est quand ce n'est pas fini que l'intelligence humaine prend le dessus... (les meilleurs logiciels de jeu de go atteignent le niveau d'un amateur moyen). Mettre en algorythme l'activité humaine est donc parfois inateignable, c'est vrai, mais pourquoi se passer de la mécanique quand elle existe et atteint le même but ?

  2. #22
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Mais comme il ne faut pas prendre la dernière allumette

  3. #23
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Enfin, l'exemple que j'avais pris été intéressant car il y avait plusieurs rangés... évidemment avec une seule rangée, c'est très simple et il n'y a pas besoin de calculer un point fixe ^^
    Je ne répondrai à aucune question technique en privé

  4. #24
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Citation Envoyé par Miles Voir le message
    Mais comme il ne faut pas prendre la dernière allumette
    Ha oui, forcément 8o) Cet été, j'essaierai de regarder Fort Boyard ;o)p

  5. #25
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Quelqu'un pourrait me traduire en vb.net le code de cette page :
    http://fearyourself.developpez.com/t...morpion/part6/

    car je comprends pas trop l'algo...

    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #26
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    A mon avis, tu devras le faire tout seul, et puis l'algo est quand même bien expliqué ici :

    http://fearyourself.developpez.com/t...on/part6/#L2.2

  7. #27
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ca ne sera pas plus clair en vb.net que l'explucation de fearyourself !
    Quelle est en fait la partie que tu ne comprends pas ?

  8. #28
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par Miles Voir le message
    Ca ne sera pas plus clair en vb.net que l'explucation de fearyourself !
    Quelle est en fait la partie que tu ne comprends pas ?
    Bah j'ai créé les fonctions CalcMin et CalcMax sans trop de soucis je pense mais alors pour la fonction d'évaluation, j'ai pas du tout compris le principe. De plus, je ne sais pas si les coups simulés sont stockés dans un tableau temporaire et si l'ordi simule aussi les coups du joueur...

    Voici le code en vb.net :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    #Region "Algo MIN-MAX"
        Private Const MINEVAL As Integer = -1000
        Private Const MAXEVAL As Integer = 1000
     
        Private Sub calculIA(ByVal prof As Integer)
            Dim maxcourant As Integer = MINEVAL
            Dim tmp As Integer
            Dim coup As PictureBox = Nothing
            For Each ctr As Control In Me.Controls
                If TypeOf ctr Is PictureBox Then
                    Dim c As PictureBox = ctr
                    If c.Image Is Nothing Then
                        Simulercoup(ctr)
                        tmp = calcMin(prof - 1)
                        If tmp > maxcourant Then
                            maxcourant = tmp
                            coup = ctr
                        End If
                        Annulercoup(ctr)
                    End If
                End If
            Next
     
            PlacerPion(J2, coup)
            turn = 1
        End Sub
        Private Function calcMax(ByVal prof As Integer) As Integer
            Dim max As Integer = MINEVAL
            Dim tmp As Integer
     
            If nbr_restant = 0 Or prof = 0 Then
                Return eval() 'ici je comprends pas
            Else
                For Each ctr As Control In Me.Controls
                    If TypeOf ctr Is PictureBox Then
                        Dim c As PictureBox = ctr
                        If c.Image Is Nothing Then
                            Simulercoup(ctr)
                            tmp = calcMin(prof - 1)
                            If tmp > max Then
                                max = tmp
                            End If
                            Annulercoup(ctr)
                        End If
                    End If
                Next
     
                Return max
            End If
        End Function
        Private Function calcMin(ByVal prof As Integer) As Integer
            Dim min As Integer = MAXEVAL
            Dim tmp As Integer
     
            If nbr_restant = 0 Or prof = 0 Then
                Return eval()
            Else
                For Each ctr As Control In Me.Controls
                    If TypeOf ctr Is PictureBox Then
                        Dim c As PictureBox = ctr
                        If c.Image Is Nothing Then
                            Simulercoup(ctr)
                            tmp = calcMax(prof - 1)
                            If tmp < min Then
                                min = tmp
                            End If
                            Annulercoup(ctr)
                        End If
                    End If
                Next
     
                Return min
            End If
        End Function
        Private Function eval() As Integer
     
        End Function
    #End Region
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  9. #29
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le morpion est un jeu à connaissance complète, donc tu peux simuler tous les coups possibles, et c'est en gros ce qui est fait ici. Donc oui, tu simules les coups possibles aléternativement du joueur puis de l'IA pour sélectionner l'intervalle le plus intéressant pour toi.

  10. #30
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Pourtant dans le cours, je ne vois à aucun moment que les coups du joueur sont simulés et je ne vois pas non plus où les coups sont stockés.
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  11. #31
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Fonction calculValeurNoeud(Noeud n)
    {
    Si n est une feuille alors
        retourner eval(n);
    Sinon 
        Si c'est un noeud max alors
            retourner le maximum des évaluations des fils du noeud
        sinon 
            retourner le minimum des évaluations des fils du noeud
    Fin Si
    }
    Dans ce bout de pseudo code, on teste les différentes possibilités, donc on simule les coûts possibles

  12. #32
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ok je crois commencer à comprendre

    Deux choses :

    La première à quoi sert la variable "jeu" comme argument dans chaque fonction (CalcIA, CalcMin, CalcMax) ? Est ce une variable qui définie l'état de la partie simulée ou alors la vrai partie ?

    Et que signifie la fleche :
    en francais

    EDIT : Une dernière chose, a quel moment se produit le changement de joueur lors de la simulation ? je n'ai pas vu ce passage dans le code...

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  13. #33
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    La première à quoi sert la variable "jeu" comme argument dans chaque fonction (CalcIA, CalcMin, CalcMax) ? Est ce une variable qui définie l'état de la partie simulée ou alors la vrai partie ?
    En fait, c'est pour mettre à jour (et connaître) l'état du jeu. C'est une donnée que tu passes en paramètre pour jouer dans une case, récupérer le joueur courant, ... .

    Et que signifie la fleche :
    C'est juste un appel de fonction membre sur une donnée de type pointeur. Si jeu n'est pas un pointeur, tu utilises un point.

    EDIT : Une dernière chose, a quel moment se produit le changement de joueur lors de la simulation ? je n'ai pas vu ce passage dans le code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //On met en place le joueur courant
    joueurCourant = jeu->getTour();
    Et : (dans Jeu.cpp)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Fonction qui joue la case (i,j)
    void Jeu::joue(int i,int j)
    {
        plateau[i][j].setType(tour);
        tour = (tour==Rond)?Croix:Rond; // <- La mise à jour se fait ici 
        verifFini();
    }

  14. #34
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ok donc à chaque simulation de coup, si c'est un coup de l'IA qui est simulé alors le prochain doit etre un coup du joueur et vice versa ? On change donc de tour après chaque simulation ?

    Concernant l'annulation du coup simulé, pourquoi faut-il changer le tour du joueur ? et pourquoi vérifier l'état du jeu ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void Jeu::annuleCoup(int a, int b)
    {
       int i,j;
     
       plateau[a][b].setType(Vide);
       for(i=0;i<3;i++)
            for(j=0;j<3;j++)
            {
            plateau[i][j].setType(plateau[i][j].getType());
            }
     
        tour = (tour==Rond)?Croix:Rond; 'et idem ici !
        verifFini(); 'je vois pas l'interet ici
    }
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  15. #35
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Concernant l'annulation du coup simulé, pourquoi faut-il changer le tour du joueur ?
    Parce que le tour a changé lorsque tu as simulé un coup. Il faut donc revenir à l'état d'avant.

    et pourquoi vérifier l'état du jeu ?
    Très bonne question

  16. #36
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ok lol donc la vérification du jeu est facultative je suppose

    Sinon, voici ma fonction qui joue un coup :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Grid1_CellClick(ByVal Row As Integer, ByVal Col As Integer, ByVal Header As LameGrid.HeaderInfo) Handles Grid1.CellClick
            If Grid1.Cell(Row, Col).BackColor = Color.White Then 'si le coup est possible
                Grid1.Cell(Row, Col).BackColor = couleur 'on le joue
     
                If IsWinner(couleur) = True Then 'vérifie si qq1 à gagné
                    MsgBox(WhoWin)
                End If
     
                If couleur = Color.Red Then 'si c'est le joueur ROND alors c'est aux CROIX de jouer
                    couleur = Color.Green
                ElseIf couleur = Color.Green Then 'et vice versa
                    couleur = Color.Red
                End If
            Else
                MsgBox("impossible case non vide")
            End If
        End Sub
    Lors de la simulation de l'IA, que dois je faire de
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                If IsWinner(couleur) = True Then 'vérifie si qq1 à gagné
                    MsgBox(WhoWin)
                End If
    Je ne vais pas afficher le gagnant lors de la simulation ! Donc comment gérer ca (car si je supprime ces trois lignes alors le CPU va jouer un coup mais ne va meme pas vérifier si il a gagné...)

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  17. #37
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 66
    Points
    66
    Par défaut
    Deux livres pas mal:

    Intelligence artificielle et informatique théorique (2e ed.)
    de J.-M. Alliot (Auteur), T. Schiex (Auteur), P. Brisset (Auteur).
    Fait le tour des techniques actuelles, c'est un bon livre pour comprendre ce qu'on appelle IA.

    Heuristic de Judea Pearl (bonne traduction fr). Il y une importante partie sur min-max alpha-beta autres qui pourrait visiblement interesser, c'est un bon livre mais pas super facile.

    Pourquoi en vb.net, c'est une contrainte ou plaisir personel?

    Edit:
    Ces livres sont des introductions à l'IA, donc pas de connaissance particulière à avoir dans ce domaine.

  18. #38
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    En tout cas ils sont pas données !
    As tu essayé ces deux livres ? Y'a t-il une partie interessante sur le min-max et/ou alpha-beta dans le premier livre ?

    PS : Par pur plaisir personnel car je sais que le vb.net n'est pas le langage adéquate pour faire ce genre de programme
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  19. #39
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Pour le bouquin, tu as Intelligence Artificielle, 2ème édition qui est pas mal. Il y a entre autres un passage sur min-max, alpha-beta, mais aussi les réseaux de neurones et j'en passe...

    Comme l'a dit Miles, le morpion étant un jeu où le nombre de situations possibles est "petit" (comparé aux échecs, par exemple), tu peux lister sous forme d'arbre toutes les possibilités : si je joue tel coup, voici les différents coups que peut jouer l'IA -> et si elle joue ça, qu'est-ce que je risque de jouer après, et ainsi de suite. Et ainsi, l'IA va pour chaque situation évaluer cette situation. Si une situation lui est très favorable, elle lui donnera une bonne évaluation. Par exemple, une situation qui mène à une victoire de l'IA est une très bonne situation, et c'est celle vers laquelle l'IA va se diriger. Pour les échecs, c'est plus compliqué car tu ne peux pas évaluer toutes les situations possibles, du moins pas sur un ordinateur normal. Ou alors, pour ta partie, toi et l'IA jouez un coup par jour...

  20. #40
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Par contre il est très chère... mais peut etre que ca en vaut la peine.

    Mais vu que je suis débutant dans le domaine, peut etre que ca risque d'être un peu dur pour moi non ?

    De plus, donne t-il des exemples d'IA avec du code ? Si oui en quel(s) langage(s) ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/02/2015, 14h52
  2. Créer une intelligence artificielle qui joue a un jeu sur internet..
    Par pinkfloyd234 dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 10/01/2013, 02h41
  3. [Flash Pascal] Architecture d'un jeu incluant une intelligence artificielle
    Par Roland Chastain dans le forum Flash Pascal
    Réponses: 26
    Dernier message: 28/12/2012, 19h09
  4. [Xtext] Introduction à XText : apprendre à créer une grammaire pour votre DSL
    Par alain.bernard dans le forum Eclipse Modeling
    Réponses: 2
    Dernier message: 04/11/2012, 18h32
  5. Réponses: 2
    Dernier message: 08/06/2006, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo