Je lis actuellement sur l'apprentissage automatique et je me suis demandé comment l'appliquer à la lecture de Connect Four .
Ma tentative actuelle est un classifieur multiclasse simple utilisant un modèle de fonction sigmoïde et la méthode one-vs-all.
À mon avis, les caractéristiques d'entrée doivent être l'état (disque du lecteur 1, disque du lecteur 2, vide) des champs de grille 7x6 = 42.
La sortie serait le numéro de la ligne dans laquelle mettre le disque. Parce que c'est un nombre discret entre 1 et 7, je suppose que cela peut être traité comme un problème de classification multiclasse.
Mais comment générer des exemples de formation utilisables en apprentissage supervisé?
L'objectif principal est de gagner la partie mais le résultat n'est évidemment pas connu lors de tous les tours sauf le dernier. Si je laisse juste deux joueurs qui décident au hasard quoi faire jouer des milliers de fois l'un contre l'autre, sera-t-il suffisant de simplement prendre tous les tours faits par le vainqueur de chaque manche comme exemples d'entraînement? Ou dois-je le faire d'une manière complètement différente?
Edit: Comme suggéré dans les commentaires, j'ai lu un peu sur l'apprentissage par renforcement. D'après ce que je sais comprendre, Q-Learning devrait faire l'affaire, c'est-à-dire que je dois approximer une fonction Q de l'état actuel et l'action à prendre pour être la récompense cumulative maximale commençant dans cet état. Ensuite, chaque étape serait de choisir l'action qui aboutit à la valeur maximale de Q. Cependant, ce jeu a beaucoup trop d'états pour le faire, par exemple comme une table de recherche. Alors, quel est un moyen efficace de modéliser cette fonction Q?