Aluminium95 / PyMastermind

Isn terminale mastermind
1 stars 1 forks source link

IA-Matrice #58

Open Aluminium95 opened 11 years ago

Aluminium95 commented 11 years ago

Il faut tester et improver la nouvelle IA : ia-matrice !

Pour le moment ... il lui arrive de trouver les solutions en mode facile :-P. J'ai fait un affichage cool de la matrice à chaque coup, pour voir l'évolution, et pour savoir comment améliorer son fonctionnement :-).

Pour le moment elle ajoute des points, et le meilleur score gagne, mais je pensais prendre plutôt des pourcentages, arrondis à l'entier, pour permettre de vraiment représenter des probabilités !

Il y a déjà quelques petites astuces : on ne rejoue pas deux fois la même chose, on supprime les combinaisons case/couleur impossibles etc ...

mariee commented 11 years ago

Alors j'ai testé l'IA et en mode facile au bout d'un très long elle a enfin trouvé le code... Bon elle est totalement aléatoire et j'ai pas eu l'impression qu'elle prenait en compte ses réponses justes ou fausses...

Des pourcentages ? Bizarre... Si on fait par pas par point va falloir enlevé le 666 et 999 qui me semblaient une idée bien sympatoche x)

Aluminium95 commented 11 years ago

En fait, c'est pas aléatoire, enfin, pas vraiment :-)

L'IA crée un tableau (une matrice) avec en ligne les cases, en colonne les couleurs, et chaque cellule (combinaison case/couleur) contient un nombre ou F.

Plus le nombre est grand, plus la chance que dans cette case il y ai cette couleur est grand, F indique que c'est impossible :-P.

Bon, après il faut savoir comment remplir le tableau ... et là je fais un peu n'importe quoi : je met 10 * a + b dans chaque case quand le moteur répond (a,b) :-P

Aluminium95 commented 11 years ago

D'après mon père il faut augmenter de manière expo la pondération des cases en fonction du a et de manière linéaire avec b.

De plus, il faut DIMINUER les chances de toutes les autres cases (de pas beaucoup) pour AUGMENTER la vitesse de création des clivages entre réponse juste et fausse !

Aluminium95 commented 11 years ago

Yop, dernières idées sorties de mon chapeau :

YannDesmarais commented 11 years ago

ça marche bien mais quand j'ai testé ia matrice, il trouve très bien mais il se remet à chercher après... étrange

Aluminium95 commented 11 years ago

C'est à dire ? Il trouve la solution, mais gagne pas ?

YannDesmarais commented 11 years ago

oui je crois que c'est ça

Aluminium95 commented 11 years ago

Oh ... tu peux faire un screen ? Ou bien copier-coller la sortie console ?

mariee commented 11 years ago

Bizarre moi ça marche bien....

Aluminium95 commented 11 years ago

Bah : on peut pas résoudre un bug sans plus d'infornations que ça .... En plus ça à l'air d'être spécifique à Yann. Donc il faut qu'il dise ce qu'il fait, et ce qui plante exactement de manière précise, sinon on ferme et on met couldn't reproduce :)

Aluminium95 commented 11 years ago

Hey, après plusieurs tests, en effet cela ne fonctionnait pas :-p.

J'ai résolu le bug, mais c'est vraiment par hasard que j'ai trouvé. En fait j'avais migré les fonctions IA vers des générateurs, qui laissaient la main après chaque coup, pour pouvoir faire des chargements :-P.

Malheureusement, j'avais mal calculé mon coup ... et ça marchait pas :-p

Aluminium95 commented 11 years ago

J'ai crée des superbes fonctions pour les matrices : add et mul qui peuvent servir à ajouter et multiplier des matrices avec nos propres règles :-).

L'addition peut servir de manière évidente à la modification de la matrice, et la multiplication ... je pense qu'on peut en tirer quelque chose au niveau de l'extraction des informations ... je ne suis pas sûr ... faut se pencher dessus sérieusement :-)