begin process at 2012 05 29 09:13:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

ia d'échec


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ia d'échec

samedi 17 avril 2004 à 15:14:27 | ia d'échec

coucou747

Administrateur CodeS-SourceS
comment faire une ia performante pour un jeu d'échec en c?
merci
samedi 17 avril 2004 à 23:49:07 | Re : ia d'échec
lundi 19 avril 2004 à 11:35:54 | Re : ia d'échec

MetalDwarf


Bon courage pour une IA d echec!!
en fait la seule methode valable c est l algorithme alpha-beta, tu doit trouver pas mal de doc sur cet algo en cherchant un peu sur google
dimanche 27 juin 2004 à 19:07:13 | Re : ia d'échec

saispas

Et une IA, tout simplement (pas nécessairement pour les echecs...), c est dur a mettre en place?
dimanche 27 juin 2004 à 19:12:09 | Re : ia d'échec

MetalDwarf

Ca depend vraiment de ce que tu veux faire, mais sache qu en general c est dur! L intelligence artificielle est un domaine de recherche tres pointu, et qui n a pas apporte beaucoup de reponses a des questions importantes a cause de la complexite de la chose. Si tu veux un apercu de certaines methodes, reporte toi aux excellents articles de Fabrice Rossi prus dans Linux Magazine (sur la reconnaissance de forme ce mois ci). Son site est apiacoa.org.

En fait une IA d echec est un exemple assez simple!!
dimanche 18 juillet 2004 à 01:03:07 | Re : ia d'échec

coucou747

Administrateur CodeS-SourceS
MetalDwarf, finalement, tu me rassure, c'est assez simple... Mais, c'est pas gagné quand même, depuis le temps que j'ai posé cette question (et en aditionnant le temps que j'ai passé a y réfléchir avant) je devrais avoir trouvé... mzi j'ai un petit problème et pas des moindre, j'ai pas mis une seule struct, et pas mis mon échiquier dedans (et rendu a 1600 lignes, metre un fichier a la corbeille, c'est chiant). J'ai trouvé un algo dans un linux mag : minimax, et j'aimerais savoir si c'est mieux que AB car selon ce que l'on dit AB est lent (et j'adore jouer aux échecs donc, je voudrais des parties plutot rapides). J'ariverais facilement a y ajouter une base de donnée, mais plu tard, pour le moment, je cherche une ia simple
Donc, j'ai pas mis une strucs, j'ai fais les fonctione echecblanc, echecnoir, droitblanc, droitnoir, main, et affichage, mais y a encore des bugs sur l'enregistrement des coups et les roques. J'ai pas mis d'interface graphique (pour plus de simplicitée et de portabilitée, j'ai besoin d'aucune librairie spéciale).
Donc, voila, je me suis renseigné, et dans les sources que j'ai croisé, j'ai rien compris, pourtant, j'ai fais des efforts (mais je commence le C depuis un an ... lol... Je fais aussi du javascript, et du tchat, donc, j'y passe pas bcp de temps...)
Donc, j'aimerais savoir si qqn savait comment incruster de la récursivitée dans un programme aussi mal débuté que le mien.
samedi 24 juillet 2004 à 19:53:38 | Re : ia d'échec

Katasstrov

Aucun programme d'échecs performants ne s'appuie sur l'IA (Cf fritz, Deep junior, Crafty, Shredder).
En général, ils s'appuient sur 3 fonctions principales,
- alpha/beta,
- mini/max,
- évaluation,

Les 2 premières sont archi connues.
La dernière, en revanche, est la plus délicate car elle est entièrement personalisées.

Essaient ces sites ou tu trouveras de l'info en abondance

http://malin.webhostme.com/chess/links/Default.asp?tema=10[/url]

http://www.xs4all.nl/~verhelst/chess/

[ Lien ]

Bon courage
vendredi 13 août 2004 à 17:56:10 | Re : ia d'échec

pjb

hello

j'ai travaillé un peu sur l'IA, sur des jeux très simples : morpion, puissance 4, jeu des allumettes,... (je te conseille fortement de commencer par ça...)

c'est compliqué, mais ac de la doc (notamment sur minimax, alpha-betha) tu peux créer un petit moteur d'IA en quelques heures si tu tatouilles en C.

Mais ces fonctions minmax & A-B ne sont qu'une petite partie du code, le plus fastidieux est la (les) fonction(s) d'évaluation des coups; c'est la fonction d'évaluation qui est la plus importante dans le code.
La fonction de coupure (A-B) doit être optimisée un maximum, car elle consomme bcp de CPU (elle supprime tous les coups "inutiles" à calculer ; minmax sert à choisir le meilleur coup en remontant successivement les min puis les max des scores jusqu'à la racine de l'arbre de jeu, (si t'utilises un arbre, bien entendu). )

sans la récursivité, tu ne peux pas t'en sortir; t'as donc interret à être plus que familiarisé avec la récursivité

mon jeu des allumettes utilise une méthode tout-à fait originale et surprenante (c pas moi qui l'ai inventée...) : l'apprentissage. Si tu veux en savoir plus, réponds...

@+
samedi 14 août 2004 à 12:57:09 | Re : ia d'échec

coucou747

Administrateur CodeS-SourceS
Je penssais a un minimax basique pas un AB car un AB ne peut pas s'apliquer aux échecs car certains coups sont calculés avec des sacrifices qui commencent a raporter 20 coups, alors le AB ne peut pas vraiment faire ça....

Je penses simplement donc a un minimax, puis une évaluation de la position, mais bon, c'ets vachement dur, a cause de cette *** d'évaluation, et puis la recherche des coups possible...

L'évaluation doit tennir compte :

Valeur des pièces
la structure des pions
IDP (^^on apelle ça comme ça des fois au club,) indice de dévelopement des pièces

la soliditée du roque
si un roi est déroqué
ect...


Cette discussion est classée dans : échec, ia


Répondre à ce message

Sujets en rapport avec ce message

IA jeu d'échec [ par Leinhardt ] Bonjour à tous.Je suis actuellement en dernière année de licence informatique et ce semestre, nous avons un projet à faire. Mes collègues et moi avons probléme de class [ par F0ra ] Bonjour, J'ai un problème pour réaliser une classe en C++ .net.Je voudrais exécuter la fonction RandomPoids() quaund je clique sur le bouton dans la F Inteligence arctphiciel de jeu [ par li ] Bonjour à tous,Je souhaite  developper une ia pour une jeux video de type RPG-A.Avant toute effusion de commentaire visant a me decourager :       J'a [C++ .Net] richTextBox dans une class [ par F0ra ] Bonjour,Sur se forum, Médinoc ma aidé à réaliser une class en C++ .Net qui fonctionne.Maintenant, je n'arrive pas à afficher du texte avec richTextBox visual c++, fonction save [ par williamcplusplus ] bjr tt le monde! je developpe une interface d'acquisition d'image avec visual studio c++, masi j'ai du mal enregistrer mes images. l'idée est d'enre Help Système Multi-Agent et IA [ par c_raf ] Bonjour,Je me permet de poster une question sur le forum car je me trouve confronté à un problème.Voilà, je dois développer un jeux utilisant des Syst Bonjour projet futoshiki urgent help [ par walidbigboss1 ] bonjour mes amis je suis débutant en c et je veux réaliser mon projet de ma licence  que je comprend pratiquement rien avec les greves et les abscence Redémarrage en mode sans échec [ par buno ] Hello,J'ai vu qu'il était possible de redémarrer une machine depuis une application et de reprendre la main sur celle-ci, avec ExitWindowsEx() notamme programme de traitement de texte par ia -- travail collaboratif -- c++ api windows base de donnée : des fichiers texte [ par gregroar ] je bloque sur des trucs tout betes. enfin je crois. je développe un programme qui devrait si j y parviens analyser un texte entier, et donner la gramm Probleme puissance 4 en SDL, sur l'IA min/max [ par diablosephiroth ] Bonjours , je rencontre un problème pour mon programme sur la partie intelligence artificielle. En effet, au début j'étais partie sur une simple IA à


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales