Mémoire De Master
Total Page:16
File Type:pdf, Size:1020Kb
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Mouloud Mammeri de Tizi-Ouzou Faculté de : Génie électrique et d'informatique Département : Informatique Mémoire de fin d’études En vue de l’obtention du diplôme de Master en Informatique Spécialité : Systèmes Informatiques Réalisé et présenté par : MEHALLI Nassim Sujet : Mise en œuvre de l’apprentissage automatique pour l’évaluation des positions échiquéennes Proposé et dirigé par : SADI Samy Soutenu le 11 juillet 2019 devant le jury composé de: Mr. RAMDANI Mohammed Président du Jury Mlle. YASLI Yasmine Membre du Jury Mr. SADI Samy Directeur de mémoire Dédicaces Je dédie ce travail à mes chers parents qui ne cessent de me donner l’amour nécessaire pour que je puisse arriver à ce que je suis aujourd’hui. Que dieux vous protège et que la réussite soit toujours à ma portée pour que je puisse vous combler de bonheur et d’argent le jour où je serai milliardaire. Je dédie aussi ce modèste travail À mes chers oncles Omar et Mahdi À mon frère et ma sœur À Mima ma meilleure À Sousou et mon meilleur ami Mamed À Racim et Milou À Ine Boula3rass À Smail Remerciements Je remercie Allah de m’avoir donné le courage et la force afin d’accomplir ce modeste projet. Je remercie mon encadreur, monsieur Sadi, pour tout ce qu’il m’a appris dans le monde de l’intelligence artificielle ainsi que toutes ses remarques pertinentes. Je remercie l'ensemble des membres du jury, qui m'ont fait l'honneur de bien vouloir étudier avec attention mon travail. Je remercie Jason Brownlee pour ses conseils, une personne formidable qui m’a beaucoup appris à travers son expérience dans le domaine. Résumé Ce mémoire s'inscrit dans le cadre de l’application de l’apprentissage automatique dans l’évaluation des positions échiquéennes. Nous avons implémenté les algorithmes et les heuristiques les plus utilisées dans la plupart des moteurs d’échecs. Aussi, nous avons mis en pratique une évaluation de positions échiquéennes dotée d’apprentissage automatique. Ainsi, nous avons conçu quatre modèles basés sur les réseaux de neurones artificiels sélectionnés pour leurs performances lors de la phase d’entrainement. Enfin, nous avons testé la qualité de ces modèles en réalisant un championnat entre les modèles lors duquel nous avons eu de bons résultats. L’un des succès est la distinction du moteur utilisant une évaluation à l’aide du modèle RNA1 et qui a confirmé ses statistiques lors de l’entrainement. Mots clés: jeux d’échecs, évaluation, intelligence artificielle, programme, informatique, apprentissage automatique, apprentissage profond Abstract This thesis is part of the application of machine learning to the evaluation of chess positions. We have implemented the most algorithms and heuristics always used in chess engines. In addition, we designed four models based on artificial neural networks selected for their performance during the training phase. Finally, we tested the quality of these models by realizing a championship between the models during which we had good results. One of the successes is the distinction of the engine which used an evaluation using the model RNA1 and which confirmed its statistics during the training phase. Key-words: chess, evaluation, artificial intelligence, program, informatics, machine learning, deep learning… Table des matières INTRODUCTION GENERALE ................................................................................................................ 18 1 CONTEXTE DU TRAVAIL.................................................................................................................... 19 2 PROBLEMATIQUE .............................................................................................................................. 19 3 CONTRIBUTION ................................................................................................................................. 20 4 ORGANISATION DU MEMOIRE ........................................................................................................... 20 CHAPITRE 1: LES JEUX D’ECHECS EN INFORMATIQUE............................................................. 22 1 INTRODUCTION ................................................................................................................................. 23 2 HISTORIQUE DES JEUX D’ECHECS EN INFORMATIQUE ....................................................................... 23 3 LE JEU D’ECHECS SELON THEORIE DES JEUX ..................................................................................... 24 3.1 Définition de la théorie des jeux .................................................................................................. 24 3.1.1 Classification ............................................................................................................................................. 24 3.1.2 La résolution du jeu d’échecs................................................................................................................... 25 4 APERÇU DES REGLES DE LA VARIANTE CLASSIQUE DES ECHECS ....................................................... 25 5 NOTATION ET REPRESENTATION D’UNE PARTIE AUX JEUX D’ECHECS ............................................... 26 5.1 Localisation des cases ................................................................................................................. 26 5.2 Notation des coups ...................................................................................................................... 26 5.2.1 Notations Algébrique Standard ................................................................................................................ 27 5.3 Représentation des positions ....................................................................................................... 27 5.3.1 La notation de Forsyth – Edwards ........................................................................................................... 27 5.3.2 Représentation par des listes de positions ............................................................................................... 28 5.3.3 Représentation par tableau ....................................................................................................................... 28 5.3.4 Méthodede 0x88 ....................................................................................................................................... 29 5.3.5 Représentation par Bitboard..................................................................................................................... 30 5.3.6 La représentation de Huffman ................................................................................................................ 31 5.4 Représentation de parties ............................................................................................................ 31 6 AU CŒUR D’UN PROGRAMME DE JEUX D’ECHECS ............................................................................. 32 6.1 Fonction de génération de coups ................................................................................................ 32 6.1.1 Types de générateur .................................................................................................................................. 32 6.1.2 Génération de coups pour les pièces simples .......................................................................................... 33 6.1.3 Génération de coups pour les coups spéciaux......................................................................................... 33 6.1.4 Génération des coups pour les pièces glissantes ..................................................................................... 34 6.2 Fonction de recherche ................................................................................................................. 35 6.2.1 Algorithme de Monte-Carlo ..................................................................................................................... 35 6.2.2 Algorithme Minimax ................................................................................................................................ 35 6.2.3 Algorithme Alpha-Beta ............................................................................................................................ 36 6.2.4 Optimisation de la recherche.................................................................................................................... 36 6.3 Fonction d’évaluation statique .................................................................................................... 40 Table des matières 7 L’AVENIR DES JEUX D’ECHECS EN INFORMATIQUE ........................................................................... 41 8 CONCLUSION .................................................................................................................................... 42 CHAPITRE 2: APPRENTISSAGE AUTOMATIQUE ........................................................................... 44 1 INTRODUCTION ................................................................................................................................. 45 2 GENERALITES SUR L’APPRENTISSAGE AUTOMATIQUE ...................................................................... 45 2.1 Origines ....................................................................................................................................... 45 2.2 Définition....................................................................................................................................