Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Concours d'IA : 1ère édition
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Concours d'IA : 1ère édition

Posté le 07/02/2014 20:42

Bonjour à tous et à toutes, casiofans !
Pour la première fois sur Casio, j'ai le privilège de vous annoncer le commencement d'un nouveau style de concours : le combat d'intelligences artificielles !



pour la petite histoire
et oui !
Il y a 2 ans, je me lançais avec Ne0tux dans un concours d'IA, nous avions déjà bien avancé quand le bac puis de la prépa de ce dernier ne nous laissa pas le temps de le finir...
Suite à un crash de mon ordi, je perdit tous les squelette de jeux qu'on avait programmé, ce qui arrêta définitivement notre projet, mais aujourd'hui suite à une discussion avec Limachi et vu l'engouement que provoque Prologin, je pense qu'il est l'heure de remettre à jour ce projet.
(D'ailleurs Neo' a réussi à retrouver le squelette d'un programme et la belle image que vous avez quand vous lancez le programme.)


Tout d'abord qu'est ce qu'une IA (intelligence artificielle) ?
Wikipédia nous explique un peu ce que c'est mais je vais vous simplifier l'histoire.

Le but d'une IA est de faire réfléchir l'ordinateur, en l’occurrence la calculatrice, comme un humain l'aurait fait.
Pour ce faire, vous allez devoir apprendre à gérer l'algorithmie.

Je vois déjà quelques visages interrogateurs "Qu'est ce qu'il est en train de me raconter celui-là"
Et bien, en fait, c'est beaucoup plus simple que ça n'en a l'air.
Si vous avez le courage, vous verrez que dans 5 minutes, tout sera déjà beaucoup plus clair dans votre esprit et vous serez fin prêts pour débuter le concours.

Voici comment se déroule une étape du concours :

1) Je sors le "squelette" du programme, c'est moi qui gère tout l'aspect graphique du programme, les menus...
2) Je vous propose également un fichier vide, que vous devrez remplir avec votre IA.
3) Toutes vos IA se battent l'une contre l'autre et un certain nombre de points vous est attribué en fonction de vos résultats.


Parlons dès à présent du "comment" d'une intelligence artificielle. J'utiliserai dans cet exemple un jeu de morpion :
Une première approche d'une IA est de la coder en conditions préférentielles. Je m'explique, vous devez lui indiquer en fonction de la situation, ce qu'elle doit d'abord faire, puis ensuite cela, si elle ne peut pas faire la première action.
Exemple du morpion:
1) Regarder si vous pouvez gagner.
2) Vérifier que l'autre ne peut pas gagner.
3) Trouver quel est le meilleur coup à jouer.

Facile à dire hein mais un peu moins à faire

Comment vérifier si vous pouvez gagner : c'est très simple, il suffit de regarder si deux de vos pions ne sont pas mis l'un a côté de l'autre et si la troisième case est vide (pareil pour vérifier si l'autre ne peut pas gagner).
Par après la partie (un peu) plus dure consiste à trouver quel est le coup le plus avantageux pour vous. Mais je suis sur que vous allez vous en sortir
Avec un peu de réflexion, je suis sur que vous trouverez plein d'idées auxquelles je n'aurais même pas pensé.

Il vous suffit ensuite de ne retourner à la fin de votre programme que la valeur de deux variables, A et B qui seront les coordonnées de votre coup stocké dans une matrice ( mat B[ B , A ] ).


Parlons dès à présent du concours en lui-même :

- C'est un concours qui se déroule sur une année entière.
- Tous les deux mois, un nouveau squelette de programme vous est proposé.
- Vous avez deux semaines pour remettre votre intelligence artificielle.
- Vous n'êtes pas obligé de participer à tous les éditions pour gagner un prix à la fin de l'année.
- Chaque participation vous rapportera plus ou moins de points en fonction de vos résultats et un classement sera établi à partir de ces points.
- Le concours est exclusivement en Basic pour toucher plus de monde et pour vous obliger à réfléchir à quelle IA est la plus rapide et comment l'optimiser au lieu de faire une méthode bourrin en C.
- Quand vous êtes satisfait de votre IA, vous pouvez l'envoyez à Email address, replace the 【arobase】 with a @ and ▶ with a . : btlcasio【arobase】gmail▶com
vous aveez le droit de me l'envoyer plusieurs fois, si vous vous rendez compte que vous vous êtes trompé, mais ne me spammez pas non plus.

Critères de notations :

1.5 point pour le niveau de programmation
1 point pour l’optimisation du code
1 point pour absence de bugs
2 points pour la rapidité
2 points pour l’efficacité contre une autre IA
2.5 points pour l’efficacité contre un joueur humain

Si, vous vous demandez pourquoi j'ai décidé de favoriser l'efficacité contre des joueurs humains, est que :
Imaginons que toutes les IA soient globalement mauvaises (on ne l'espère pas), la moins mauvaise gagnerait plus de points et auraient à la fin un plutôt bon score alors qu'elle ne le mérite pas vraiment au vu de ses performances contre des personnes réelles.


J'espère que vous êtes aussi motivés que je le suis et que vous allez nous pondre des IA de qualité.

Pour cette première édition :

Vous avez 2 semaines (donc jusqu'au 22/02/2014) pour écrire une Intelligence Artificielle du jeu du morpion (ou OXO) qui sera écrite dans le programme OXOIA et qui renverra A et B, comme les coordonnées du coup de votre IA.
Le fichier contenant le programme OXO, OXOIA, la picture 2 et 3 est dans le fichier joint.
Attention à ne pas changer la matrice B, pour le bon déroulement du jeu. Vous êtes libres d'utiliser tout ce qui est autres matrices, str, list, fn,variables... mais faites attention au fait que ces données peuvent être modifiées par les autres joueurs aussi. Sauf les variables C, H, U, M, N, r !

Pour le menu du squelette, les cases vides à gauche et à droite, contiendront les IA quand elles auront été programmées.

participants :
- Positon
- Totoyo
- BTL
- Tenmatx
- Limachi
- Julien_1
- Javierxd
- Nemhardy
- Kirafi
- Pie3636
- Eltoredo
- Dark Storm
- Thomatos
- Maliafo
- Drac0300

...

N'hésitez pas à participer, il ne faut pas forcément être très bon en programmation, il faut juste savoir réfléchir et réussir à faire réfléchir votre calculatrice.
Je compte sur vous pour participer en masse et ainsi créer le plus gros combat d'IA jamais programmé sur CASIO !

Si vous avez des questions, n'hésitez pas à les poser, je répondrai volontiers (et je ne serai pas le seul).

BTL

Fichier joint


Précédente 1, 2, 3, 4, 5 ··· 10, 11, 12 Suivante
Tenmatx Hors ligne Membre Points: 996 Défis: 2 Message

Citer : Posté le 07/02/2014 23:29 | #


Je veux participer aussi ! Mon IN va vous sortir une belle IA
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 07/02/2014 23:34 | #


Ah ben voila , il sort enfin ce concours depuis le temps que c'était en secret sur le tchat, presque 1 mois je crois...
Je participe
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 07/02/2014 23:51 | #


J'ai regardé le code du jeu vite fait
Je comprend la fonction des calculs mais je pige que dalle au calcul eu-même
Mais bon, ça fonctionne, c'est déjà ça
Par contre, ça ne détecte pas lorsqu'un joueur gagne mais bon, c'est pas indispensable parce que l'important, c'est l'IA
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 08/02/2014 01:13 | #


Je pense que je vais essayer aussi, ça m'intéresse pas mal
Cool !
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 08/02/2014 08:27 | #


@Kirafi, bien sur que ça ne détecte pas quand un joueur gagne !

Si tu réfléchis un peu, tu verrais que si je la met maintenant, je vous donne un énorme indice sur comment créer votre IA.

Donc le fonction a déjà été programmé, mais elle ne sortira qu'avec la version finale du programme.

@Maliafo, ça je ne le dis pas, mais ton IA doit le deviner toute seule.
indice
c'était facile hein
il suffit de compter le nombre de case remplie pour savoir combien de coup ont été joué et savoir quel joueur tu es.


@Totoyo, que veux-tu dire par "ne marche pas" ? le jeu ne détecte pas la victoire, les IA ne jouent pas, le jeu plante?
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 08/02/2014 09:03 | #


Alors que mon IA est la croix, subitement, elle trace des cercles, et moi des croix.

Ajouté le 08/02/2014 à 09:28 :
Un combat IA vs IA : 2 croix, puis 3 ronds puis 1 croix (avant de bloquer).
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 08/02/2014 09:40 | #


Alors peut-être est-ce lié, mais je viens de le rendre compte qu'il ne faut en aucun cas changer la valeur de la variable C et H
Je suppose que c'est ce que tu as fait et que donc l'ordre des tours est totalement modifié.
Je suis désolé de ne pas y avoir pense plus tôt, j'espère que ça résoudra ton problème.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 08/02/2014 10:09 | #


Merci, ça résout mon problème. En revanche, le programme ne s'arrête pas quand l'un des joueurs à gagner.
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 08/02/2014 10:13 | #


Ce concours va être dur!!!

Mais bon, j'espère que l'on pourra voir les algos.

PS: derniere manche, une IA sur Yugioh avec magie,piège,effet (ce serait marrant de voir comment certains vont se débrouiller)
PS2: Certains partent avec une légère avance sur les IA vu qu'ils en ont déja programmer
,
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 08/02/2014 10:32 | #


Monsieur l'organisateur du concours a écrit :
Vous êtes libres d'utiliser tout ce qui est autres matrices, str, list, fn,variables... mais faites attention au fait que ces données peuvent être modifiées par les autres joueurs aussi.

Mais de toute façon, tout ce que l'on utilisera sera temporaire, je vois pas trop quelles données on aura besoin de conserver...
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 08/02/2014 11:46 | #


@totoyo
Btl a écrit :
@Kirafi, bien sur que ça ne détecte pas quand un joueur gagne !

Si tu réfléchis un peu, tu verrais que si je la met maintenant, je vous donne un énorme indice sur comment créer votre IA.

Donc le fonction a déjà été programmé, mais elle ne sortira qu'avec la version finale du programme.


Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 08/02/2014 11:52 | #


Pour les points, tu peux préciser sur quoi ils porteront ?
-> Rapidité ?
-> Taille ?
-> Efficacité ?
-> Autre ?

Parce que je me demandais si mettre des commentaires (et donc augmenter la taille) serai pénalisant

Ajouté le 08/02/2014 à 11:54 :
Btl a écrit :
Si tu réfléchis un peu, tu verrais que si je la met maintenant...

Donc pour "l'évaluation", le jeu s'arrêtera bien ? Parce que j'était en train de prévoir dans le cas où j'ai gagné mais ça tourne encore
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 08/02/2014 12:08 | #


Oui, c'est moi qui m'occupe de ça.

Vous ne devez pas faire une fonction qui arrête le jeu si vous avez gagné.
Elle sera comprise dans le code du squelette.
Positon a écrit :

Mais de toute façon, tout ce que l'on utilisera sera temporaire, je vois pas trop quelles données on aura besoin de conserver...


Détrompe-toi Positon, l'IA pourrait retenir l'ordre dans lequel l'IA (ou la personne) adverse a joué ses coups et après x parties essayer de trouver une logique dans ce que fait la personne, pour savoir la contrer à tous les coups.
Mais... on va dire que ce n'est pas une IA comme ça qui est demandé ici.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 08/02/2014 12:16 | #


Ah ah dark storm qui se voit déjà dans un futur proche ou il a gagné
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 08/02/2014 12:20 | #


Quand je disais si j'ai gagné", je pensais dans le cas où mon IA aurai gagné une partie, mais pas forcément toutes
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 08/02/2014 12:21 | #


Ah d'accord Personnellement, je voit pas comment une IA peut forcément êtrep lus intelligente qu'une autre, je sais qu'il y a des niveaux mais dans les plus fortes, il y aura surement des égalités :/
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 08/02/2014 12:28 | #


Si IA1 renvoie une position aléatoire, et que IA2 renvoie la position qui le fera gagner, alors IA1 est moins forte que IA2

J'en dirai pas plus, sinon tout le monde aura la même IA
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 08/02/2014 12:29 | #


C'est surtout celui qui commence en premier qui perd entre IA je crois xD
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 08/02/2014 12:29 | #


Au passage, BTL t'as toujours pas répondu si la taille du programme était prise en compte dans la note
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 08/02/2014 12:31 | #


Je suis pas sûr que c'est un détail très important mais c'est vrai que si quelqu'un fait une meilleure IA qu'un autre en moins d'octets que l'autre, on doit le prendre en compte, enfin c'est mon avis Btl doit avoir des critères déjà prêtes je pense
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Précédente 1, 2, 3, 4, 5 ··· 10, 11, 12 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 76 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd