CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[IA] en language C

space_monster66
space_monster66
Niveau 6
02 novembre 2007 à 21:31:40

Bonjour à tous, j´aimerai savoir comment les programmeurs font pour faire des intelligences artificielles.
par exemple dans un jeu d´échec, comment l´ia se dit quelle possibilité prendre ? ils choisissent entre plusieurs ? ils calculent chaque case dans un tableau et ils font avec un switch contenant les positions des pions (par ex.) et calcule la possibilité pour chaque position du pion ? ca me parait assez long a faire...j´aimerai bien un code qui fait une "mini-IA" pour systeme complexe (comme par ex. les echecs) en language C. merci d´avance ^^

novembre
novembre
Niveau 18
02 novembre 2007 à 23:19:54

Pour un jeu de type échec, toutes les possibilités de jeux sont calculées avec un certain nombres de coups à l´avance. La structure de données utilisée n´est pas un tableau mais un arbre.
Lorsque les différentes situations de jeux futures sont calculées elles sont évaluées en fonctions de règles que se fixe (axiomes) comme par exemple le nombres de pions/pièces, occupation de l´échequier, ... afin de savoir laquelle est la meilleure. La meilleures est retenue et l´ont l´IA va choisir le coup qui va permettre de se "diriger" vers la situation voulue.
Minmax est un algo permettant l´exploration et la recherche d´un tel arbre.

Petit lien explicatif en pseudo-code (ca devrait pas être compliqué à coder en C)
http://fearyourself.developpez.com/tutoriel/sdl/morpion/part6/

Ya d´autres algos d´exploration comme SSS* mais plus compliqué.

Evidement on ne pas calculer tout les coups d´un jeux d´échecs, trop de possibilités et donc explosion combinatoire.
D´ailleurs, si c´était possible, il serait possible que le 1er joueur gagne toujours, perde toujours ou qu´il y ait toujours nulle.

space_monster66
space_monster66
Niveau 6
03 novembre 2007 à 09:30:24

Ok, merci novembre, c´est parce que je comptas faire un jeu d´échec ;) merci beaucoup :D
Maintenant il faudrait voir comment faire ce jeu en C en n´utilisant pas la POO...

saleGauss
saleGauss
Niveau 9
05 novembre 2007 à 17:55:53

effectivement, on choisit le meuilleur coup avec une heuristique : grosso modo une fonction qui met une note à chacune de tes posibilitées.
Apres, c´est juste un chois de la meilleur note tout bete.

Le principal probleme c´est donc de créer une bonne heuristique qui se base sur le plus de choses possibles (nomre de pieces boufées, nombre de pieces qu´on risque de perdre ds cette situation, ocupations stratégiques de l´échiquier...) et surtout qui pondère d´un bon poids chacunes de ces considérations.
exemple : rien à taper de l´ocupation de la B3 si ca me fait perdre ma reine.

Bonne soirée

space_monster66
space_monster66
Niveau 6
05 novembre 2007 à 19:39:06

Merci Gauss ^^
Je crois que je vais commencer par un simple jeu de dames avec une Intelligence Artificielle qui se contentera de regarder les coups à l´avance (juste regarder si une pièce se fait bouffer ou pas, si oui ne pas avancer ^^)
Merci encore à Gauss et à novembre ^^

novembre
novembre
Niveau 18
05 novembre 2007 à 20:42:05

Tu peux aussi avoir une bibliothèque de coups d´ouverture qui peux te servir au début.

Neofungamer
Neofungamer
Niveau 21
11 novembre 2007 à 22:56:13

Le jeu de dame sa represente deja pas mal de possibilité. En recherche il y a pas longtemps les anglais ont déroulé l´arbre pour un jeu de dame de 9 * 9 cases.

Enfin tu peux toujours specifier une profondeur à ton arbre

space_monster66
space_monster66
Niveau 6
12 novembre 2007 à 19:42:23

Oui, je sais que c´est quand même difficile à mettre en oeuvre (rafle de pion, suite, changement de pion en dame, etc...) mais là je me contenterais d´un objectif basique : juste voir où sont les cases ou le pion/la dame peut avancer, comment detruire un pion, pas encore de règles "majeures" ^^

acemicka
acemicka
Niveau 9
16 novembre 2007 à 19:00:12

a ta place pour l ia j utiliserai (objectif ou light )caml qui se débrouille en programmation fonctionnel.

tu pourras facilement faire des arbre n-air et de la récursivité dessus.

space_monster66
space_monster66
Niveau 6
16 novembre 2007 à 22:11:43

bon, vous pouvez laisser couler le topic, c´est gentil vos conseils mais voila quoi, je ne voudrai pas perturber les autres sujets en première page. laissez couler

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment