Jeu tunisien: Vache - Taureau
+5
lamia
manianis
doudou
informix
Napoléon
9 participants
Page 3 sur 4
Page 3 sur 4 • 1, 2, 3, 4
Jeu tunisien: Vache - Taureau
Rappel du premier message :
Salut,
Qui ne connait pas je fameux jeu de réflexion MasterMind ?
(une petite recherche sr google.fr et vous aurez une idée claire sur le jeu)
Qui n'a pas joué, pendant les heures de cours, en classe, le jeu Vache Taureau ?
Ca demande la présence de deux joueurs, deux stylos et deux papiers
On veut développer un jeu de Vache Taureau utilisant les concepts de l'Intelligence Artificielle.
C'est-à-dire, tu joues contre l'ordinateur comme si tu joues contre un ami. L'ordinateur essaiera de deviner ton nombre secret, toi aussi d'ailleurs. Il doit être capable de raisonner, de trouver des incohérences dans les réponses, de dire Impossible Tu Triches, et de dire Voilà Je suis Sur que Ton Nombre Est ABCD ...
Qu'en pensez-vous ?
Salut,
Qui ne connait pas je fameux jeu de réflexion MasterMind ?
(une petite recherche sr google.fr et vous aurez une idée claire sur le jeu)
Qui n'a pas joué, pendant les heures de cours, en classe, le jeu Vache Taureau ?
Ca demande la présence de deux joueurs, deux stylos et deux papiers
Chaque joueur construit un nombre formé de 4 chiffres distincts deux à deux.
L'objectif de chaque joueur est de deviner en un nombre fini d'étapes, le nombre secret caché par son adversaire.
Comment?
Un joueur commence par construire un nombre de 4 chiffres distincts, et le propose à son adversaire.
L'adversaire vérifie si les chiffres du nombre proposé existent dans le nombre qu'il a caché ou non.
Pour chaque chiffre existant, il y a deux cas: soit le chiffre proposé et bien placé, soit il est mal placé. Pour chaque chiffre bien placé on déclare 1 TAUREAU, pour chaque chiffre mal placé on déclare 1 VACHE. Les chiffres non existants sont ignorés.
L'adversaire répond par le résultat du rapprochement qu'il a fait entre le nombre qu'il a caché et la proposition qu'il a reçue. (exemple: 1V et 0T pour dire qu'il y a un seul chiffre dans le nombre proposé, et ce chiffre il n'est pas situé dans la bonne place)
A son tour, ce dernier propose un nombre à son adversaire...
Le jeu se termine lorsque l'un des deux joueurs devine le nombre secret de son adversaire (4T).
On veut développer un jeu de Vache Taureau utilisant les concepts de l'Intelligence Artificielle.
C'est-à-dire, tu joues contre l'ordinateur comme si tu joues contre un ami. L'ordinateur essaiera de deviner ton nombre secret, toi aussi d'ailleurs. Il doit être capable de raisonner, de trouver des incohérences dans les réponses, de dire Impossible Tu Triches, et de dire Voilà Je suis Sur que Ton Nombre Est ABCD ...
Qu'en pensez-vous ?
Dernière édition par nabiL le Sam 21 Juin - 13:26, édité 1 fois (Raison : taurau = taureau)
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
nabiL a écrit:Comme d'habitude manianis: code source très bien organisé... idée très claire. Je vais extraire de ton code source un ptit sujet.
Visite la rubrique C/C++.
Merci bien. Mais, la question reste toujours posée : comment est-ce que l'ordinateur pourra découvrir les nombres cachés par l'utilisateur.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6015
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Oui, c'est ça la question et l'objectif le plus intéressant!
C'est un défi à nous tous!
Mais, je vous assure que c'est faisable! Il suffit d'y réfléchir pronfondément.
C'est un défi à nous tous!
Mais, je vous assure que c'est faisable! Il suffit d'y réfléchir pronfondément.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Jettez un coup d'oeil sur ceci :
http://hichemkl.tripod.com/
http://hichemkl.tripod.com/
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6015
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Je travaille sur une méthode :
Humain choisi par exemple : N=9125
1234 => 2V, 0T
4567 => 1V, 0T
---> On en déduit qu'une des valeurs 9,0 est une solution.
Raisonnement :
1234 : peut être divisé en deux ensembles
{1, 2}, {3, 4}
{1, 2} : Nombre de bonnes valeurs 0, 1, 2
{3, 4} : Nombre de bonnes valeurs 2, 1, 0
5678 : peut être divisé en deux ensembles
{5, 6}, {7, 8}
{5, 6} : Nombre de bonnes valeurs 0, 1
{7, 8} : Nombre de bonnes valeurs 1, 0
{9, 0} : nombre de bonnes valeurs 1
Proposition :
2190 => 2V, 1T ! 3 bonnes valeurs
Raisonnement :
{3, 4} ne contient pas de bonnes valeurs
{1, 2} sont de bonnes valeurs
Proposition :
9056 => 1T, 1V
Raisonnement :
{7, 8} ne peuvent pas contenir de bonnes valeurs
{5, 6} l'une de ces valeurs est bonne
Proposition :
7851 => 0T, 2V
Raisonnement :
{5} est la bonne solution
Propostion :
7895 => 1T, 1V
Raisonnement :
{1, 2, 9, 5} sont les bonnes solutions
Il faudra maintenant chercher l'ordre.
Humain choisi par exemple : N=9125
1234 => 2V, 0T
4567 => 1V, 0T
---> On en déduit qu'une des valeurs 9,0 est une solution.
Raisonnement :
1234 : peut être divisé en deux ensembles
{1, 2}, {3, 4}
{1, 2} : Nombre de bonnes valeurs 0, 1, 2
{3, 4} : Nombre de bonnes valeurs 2, 1, 0
5678 : peut être divisé en deux ensembles
{5, 6}, {7, 8}
{5, 6} : Nombre de bonnes valeurs 0, 1
{7, 8} : Nombre de bonnes valeurs 1, 0
{9, 0} : nombre de bonnes valeurs 1
Proposition :
2190 => 2V, 1T ! 3 bonnes valeurs
Raisonnement :
{3, 4} ne contient pas de bonnes valeurs
{1, 2} sont de bonnes valeurs
Proposition :
9056 => 1T, 1V
Raisonnement :
{7, 8} ne peuvent pas contenir de bonnes valeurs
{5, 6} l'une de ces valeurs est bonne
Proposition :
7851 => 0T, 2V
Raisonnement :
{5} est la bonne solution
Propostion :
7895 => 1T, 1V
Raisonnement :
{1, 2, 9, 5} sont les bonnes solutions
Il faudra maintenant chercher l'ordre.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6015
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
manianis a écrit:Jettez un coup d'oeil sur ceci :
http://hichemkl.tripod.com/
C'est exactement ça manianis. Merci beaucoup pour la solution.
Alors tu as une idée sur l'IA qui permettra de résoudre le problème?
methodiX- Admin
-
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7014
Date d'inscription : 22/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Jeu tunisien: Vache - Taureau
Pour le raisonnement que vous avez fait, je crois qu'il est un peu humain et que la machine peut faire mieux puisqu'elle est plus rapide.
c'est juste un point de vue personnel.
c'est juste un point de vue personnel.
methodiX- Admin
-
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7014
Date d'inscription : 22/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Jeu tunisien: Vache - Taureau
L'implémentation est possible mais la solution ne me plait pas .
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6015
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
on avance ici ou non? moi j'ai trouvé la solution
informix- Nombre Rationnel
- Nombre de messages : 399
Réputation : 4
Points : 6286
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Jeu tunisien: Vache - Taureau
informix a écrit:on avance ici ou non? moi j'ai trouvé la solution
Eh, oui on avance... J'ai proposé une solution non efficace, ci-haut.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6015
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Salut à tous,
J'ai terminé il y a quelques jours une version intelligente du jeu VAche/Taureau. Je l'ai implémenté en Pascal et en JAVA.
1. Tu choisis n'importe quel nombre de N Chiffres (généralement 4 chiffres) en respectant certaines règles (chiffres non répétitifs, pas de zéro à l'extrême gauche)
2. L'ordinateur devinera le nombre que tu as choisis en un nombre très limité de coups (max 6 pour un nombre de 4 chiffres)
Je vous propose de battre mon algorithme en proposant vos solutions intelligentes.
Comment peut-on affirmer qu'un algorithme A et meilleur qu'un algorithme B résolvant ce jeu ?
La réponse peut être plus compliquée ... à étendre ...
Mais pour le moment, il suffit de confronter les deux algorithmes A et B sur un ensemble très grands de nombres à deviner: Par exemple UN MILLION DE NOMBRES TESTS.
A est dit meilleur que B si A trouve toutes les solutions en un nombre de coups inférieur à celui de B.
Qu'en pensez-vous ? Si vous êtes d'accord, qu'on diffuse l'info dans d'autres forums...
J'ai terminé il y a quelques jours une version intelligente du jeu VAche/Taureau. Je l'ai implémenté en Pascal et en JAVA.
1. Tu choisis n'importe quel nombre de N Chiffres (généralement 4 chiffres) en respectant certaines règles (chiffres non répétitifs, pas de zéro à l'extrême gauche)
2. L'ordinateur devinera le nombre que tu as choisis en un nombre très limité de coups (max 6 pour un nombre de 4 chiffres)
Je vous propose de battre mon algorithme en proposant vos solutions intelligentes.
Comment peut-on affirmer qu'un algorithme A et meilleur qu'un algorithme B résolvant ce jeu ?
La réponse peut être plus compliquée ... à étendre ...
Mais pour le moment, il suffit de confronter les deux algorithmes A et B sur un ensemble très grands de nombres à deviner: Par exemple UN MILLION DE NOMBRES TESTS.
A est dit meilleur que B si A trouve toutes les solutions en un nombre de coups inférieur à celui de B.
Qu'en pensez-vous ? Si vous êtes d'accord, qu'on diffuse l'info dans d'autres forums...
Dernière édition par nabiL le Sam 21 Juin - 13:56, édité 1 fois
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Nabil il n'ya pas d'intéresséssss malheureusement dans le domaine d'intelligence artificiel,
je te propoz de poster la solution dans un forum français par exemple,
il y a plusieurs passionnés là bas !!!
je te propoz de poster la solution dans un forum français par exemple,
il y a plusieurs passionnés là bas !!!
informix- Nombre Rationnel
- Nombre de messages : 399
Réputation : 4
Points : 6286
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Jeu tunisien: Vache - Taureau
informix a écrit:Nabil il n'ya pas d'intéresséssss malheureusement dans le domaine d'intelligence artificiel,
je te propoz de poster la solution dans un forum français par exemple,
il y a plusieurs passionnés là bas !!!
Oui, c'est ce que je compte faire s'il n'y a pas d'intéressés ici.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Alors, qui veut me défier dans l'IA Vache Taureau ?
J'ai développé plusieurs stratégies gagnantes de ce jeu.
Tentez votre chance et que le meilleur GAGNE !
J'ai développé plusieurs stratégies gagnantes de ce jeu.
Tentez votre chance et que le meilleur GAGNE !
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
Personnellement je connais rien en intelligence artificielle
lamia- Modérateur
-
Nombre de messages : 1936
Age : 37
Localisation : Tunis
Réputation : 53
Points : 6561
Date d'inscription : 04/11/2007
Feuille de personnage
Capacité linguistique:
(996/1000)
Re: Jeu tunisien: Vache - Taureau
Moi je veux bien te defier nabil, par contre il faut que tu me laisses pas mal de temps (au moins 2 mois) je suis vraiment plutot deborde niveau programmation en ce moment.
edi9999- Entier Naturel
-
Nombre de messages : 47
Age : 32
Localisation : metz
Réputation : 0
Points : 5738
Date d'inscription : 17/07/2008
Feuille de personnage
Capacité linguistique:
(998/1000)
Re: Jeu tunisien: Vache - Taureau
edi9999 a écrit:Moi je veux bien te defier nabil, par contre il faut que tu me laisses pas mal de temps (au moins 2 mois) je suis vraiment plutot deborde niveau programmation en ce moment.
J'accepte le défi vraiment ! J'attends quelqu'un de motivé comme toi !
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
ok mais il faut programmer l'intelligence artificielle en quel language?
Et on devra poster la source je pense.
Et on devra poster la source je pense.
edi9999- Entier Naturel
-
Nombre de messages : 47
Age : 32
Localisation : metz
Réputation : 0
Points : 5738
Date d'inscription : 17/07/2008
Feuille de personnage
Capacité linguistique:
(998/1000)
Re: Jeu tunisien: Vache - Taureau
Choisis n'importe quel langage de programmation: C, Pascal, Java ...
Tout ce qui est demandé c'est donner un exécutable qui permet tester l'application. Et puis faire de sorte qu'on peut tester cette exécutable sur un fichier contenant par exemple Cent mille (100.000) instances de problèmes Vache/Taureau pour faire la comparaison avec d'autres programmes.
On calculera par exemple:
+ le nombre moyen de coup menant requis pour deviner une solution donnée
+ le temps moyen
+ l'espace mémoire requis ...
Tout ce qui est demandé c'est donner un exécutable qui permet tester l'application. Et puis faire de sorte qu'on peut tester cette exécutable sur un fichier contenant par exemple Cent mille (100.000) instances de problèmes Vache/Taureau pour faire la comparaison avec d'autres programmes.
On calculera par exemple:
+ le nombre moyen de coup menant requis pour deviner une solution donnée
+ le temps moyen
+ l'espace mémoire requis ...
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
ok d'accord donc le mieux ca serait de faire ca en c en console
edi9999- Entier Naturel
-
Nombre de messages : 47
Age : 32
Localisation : metz
Réputation : 0
Points : 5738
Date d'inscription : 17/07/2008
Feuille de personnage
Capacité linguistique:
(998/1000)
Re: Jeu tunisien: Vache - Taureau
Je propose de fixer les regles suivantes:
Chacun des candidats recevra un meme fichier contenant 10000 grilles de mastermind, chaque grille sera separe par un retour a la ligne. Les codes ne pourront commencer par 0, et ne devront contenir de chiffre 2 fois. Ils pourront contenir les chiffres:0,1,2,3,4,5,6,7,8,9. Le programme qui resolvera les grilles devra en les resolvant, ecrire dans le fichier, pour chaque grille, une reponse de la forme:
start 1
1234 01
5671 02
2507 02
6703 13
7306 40
start2
...
...
...
puis a la fin de tout les calculs, le programme doit donner: le temps en seconde de l'execution totale, la moyenne de nombre de coups par solution.
Chacun des candidats recevra un meme fichier contenant 10000 grilles de mastermind, chaque grille sera separe par un retour a la ligne. Les codes ne pourront commencer par 0, et ne devront contenir de chiffre 2 fois. Ils pourront contenir les chiffres:0,1,2,3,4,5,6,7,8,9. Le programme qui resolvera les grilles devra en les resolvant, ecrire dans le fichier, pour chaque grille, une reponse de la forme:
start 1
1234 01
5671 02
2507 02
6703 13
7306 40
start2
...
...
...
puis a la fin de tout les calculs, le programme doit donner: le temps en seconde de l'execution totale, la moyenne de nombre de coups par solution.
edi9999- Entier Naturel
-
Nombre de messages : 47
Age : 32
Localisation : metz
Réputation : 0
Points : 5738
Date d'inscription : 17/07/2008
Feuille de personnage
Capacité linguistique:
(998/1000)
Re: Jeu tunisien: Vache - Taureau
Oui par exemple !!!
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
A quoi correspond la 2ème colonne ???
start 1
1234 01
5671 02
2507 02
6703 13
7306 40
start2
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Jeu tunisien: Vache - Taureau
le fichier la,c'est le fichier qu'on va recuperer a la fin de l'execution.
Sur la premiere colonne, on a le code que l'ordinateur croit connaitre.
et sur la deuxieme, on a d'abord le nombre de chiffres bien places (les taureaux) suivi du nombre de vaches bien placees .
Sur la premiere colonne, on a le code que l'ordinateur croit connaitre.
et sur la deuxieme, on a d'abord le nombre de chiffres bien places (les taureaux) suivi du nombre de vaches bien placees .
edi9999- Entier Naturel
-
Nombre de messages : 47
Age : 32
Localisation : metz
Réputation : 0
Points : 5738
Date d'inscription : 17/07/2008
Feuille de personnage
Capacité linguistique:
(998/1000)
Re: Jeu tunisien: Vache - Taureau
solution envisageable pour le sujet du topique / le jeu s'effectue contre la machine {j'ai affiché l'entier a deviné ex pré pour voir l'évolution du jeu ainsi que le suivit du résultat retourné suite à la tentative du joueur}
- Code:
program jeu_vache_taureau;
uses wincrt;
procedure hazard (var x : integer);
begin
repeat
begin
x:= random(9999)+1;
end
until (x>=1000) and (x<=9999);
end;
function bpos(n,x : integer):integer;
var
i,nb : integer;
ch,ch2 : string;
begin
str(n,ch);
str(x,ch2);
i:=1;
nb:=0;
for i:=1 to length(ch) do
begin
if (ch[i]=ch2[i]) then
begin
nb:=nb+1;
end;
end;
bpos:=nb;
end;
function mpos(n,x:integer):integer;
var
i,nb,p,j :integer;
ch,ch2 : string;
begin
str(n,ch);
str(x,ch2);
nb:=0;
{--------------------------------------------------------}
j:=1;
repeat
begin
if (ch[j]=ch2[j]) then
begin
delete(ch,j,1);
delete(ch2,j,1);
end
else
begin
j:=j+1;
end;
end
until (j>length(ch));
{------------------------------------------------------------------------}
if (length(ch) <>0) then
begin
i:=1;
while (i<=length(ch2)) do
begin
p:=pos(ch2[i],ch);
if (p<>0) then
begin
nb:=nb+1;
delete(ch,p,1);
end;
i:=i+1;
end;
end;
mpos:=nb;
end;
procedure mastermind(x:integer);
var
nb,bp,mp,y:integer;
begin
nb:=0;
repeat
begin
repeat
begin
writeln('entrer un entier a 4 chiffres');
readln(y);
end
until (y>=1000) and (y<=9999);
nb:=nb+1;
bp:=bpos(x,y);
mp:=mpos(x,y);
writeln(bp,' T ',' ',mp,' V'); {T-->bien placé/ V--> mal placé}
end
until (nb>10) or (bp=4); {le joueur aura 10 tentative au maximum}
if (bp=4)and (nb<=10) then
begin
writeln('vous l"avez trouvé apres ',nb,' tentatives');
end;
end;
var
n:integer;
begin
randomize;
hazard(n);
writeln(n);{affichage de l'entier à deviner mais normalement on retire cette ligne de code }
mastermind(n);
end.
{--------------------------POSEIDON------------------------------------------------}
Dernière édition par poseidon le Ven 13 Nov - 1:44, édité 1 fois
poseidon- Entier Naturel
-
Nombre de messages : 6
Localisation : Tunisie,Ariana
Réputation : 2
Points : 5260
Date d'inscription : 12/11/2009
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Jeu tunisien: Vache - Taureau
Pour que tout le monde puisse tirer profit de ta solution, il vaut mieux la décrire en quelques mots. Décrire le principe de la solution quoi.
Pour les fans, ils vont automatiquement ouvrir Pascal et essayer de compiler le code source et le tester.
Pour les fans, ils vont automatiquement ouvrir Pascal et essayer de compiler le code source et le tester.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7632
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Page 3 sur 4 • 1, 2, 3, 4
Sujets similaires
» L'Iran annonce avoir cloné un taureau
» 100% tunisien
» Nouveau Bac Tunisien
» Forum tunisien de plus en plus connu : www.al-mas-tn.
» Un groupe de musique tunisien - à écouter!
» 100% tunisien
» Nouveau Bac Tunisien
» Forum tunisien de plus en plus connu : www.al-mas-tn.
» Un groupe de musique tunisien - à écouter!
Page 3 sur 4
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|