{"id":13338527,"url":"https://github.com/aurelien-castel/DUT-Oct-2019-API-IA","last_synced_at":"2025-03-11T10:31:24.909Z","repository":{"id":40967622,"uuid":"248534813","full_name":"aurelien-castel/DUT-Oct-2019-API-IA","owner":"aurelien-castel","description":"Projet qui a été construit sous forme d'API et codé en Python. Il permet de créer des intelligences artificielles qui apprennent à jouer à des jeux en en tour par tour. Le projet utilise des algorithmes d'apprentissage renforcé: le Q-Learning et le SARSA","archived":false,"fork":false,"pushed_at":"2022-06-22T01:28:27.000Z","size":11018,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-23T22:16:53.185Z","etag":null,"topics":["api","minmax-algorithm","python","qlearning","sarsa","turn-based"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aurelien-castel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-19T15:14:15.000Z","updated_at":"2020-06-27T08:11:46.000Z","dependencies_parsed_at":"2022-08-31T22:10:34.295Z","dependency_job_id":null,"html_url":"https://github.com/aurelien-castel/DUT-Oct-2019-API-IA","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelien-castel%2FDUT-Oct-2019-API-IA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelien-castel%2FDUT-Oct-2019-API-IA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelien-castel%2FDUT-Oct-2019-API-IA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelien-castel%2FDUT-Oct-2019-API-IA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aurelien-castel","download_url":"https://codeload.github.com/aurelien-castel/DUT-Oct-2019-API-IA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243015347,"owners_count":20222070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","minmax-algorithm","python","qlearning","sarsa","turn-based"],"created_at":"2024-07-29T19:16:28.856Z","updated_at":"2025-03-11T10:31:19.880Z","avatar_url":"https://github.com/aurelien-castel.png","language":"Python","readme":"#### Membres du groupe : Castel Aurélien, Léa Dacosta, Kevin Seri, Nicolas Guiblin\n#### Tuteur : Florent Madelaine\n\u003cbr\u003e\n\n# Cahier des charges PT\n### Délais (Octobre 2019 à Mars 2020)  \n\n## Sommaire\n### I) Contexte\n### II) Spécifications fonctionnelles\n### III) Spécifications techniques\n### IV) Diagrammes\n\n\n## I) Contexte\n\n\nAujourd'hui, l'intelligence artificielle est en forte expansion dans tous les domaines. Elles s'appliquent notamment aux transports, aux jeux vidéos, aux systèmes embarqués ou encore aux diagnostics médicaux, etc. Afin d'en avoir une première approche, nous avons choisi d'implémenter une IA dans le cadre de notre projet tuteuré. Par ailleurs, la transformation digitale des entreprises est primordiale et nécessite la présence d'APIs (Interface de Programmation Applicative), qui facilitent l'intégration de logiciels. Nous avons donc décidé de lier ces deux concepts en réalisant une API d'intelligence artificielle.\n\nCe projet nous permet d'expérimenter le travail de groupe en totale autonomie. Ainsi, chacun peut apporter ses compétences et les élargir. Il nous permet aussi d'utiliser une méthode de gestion de projet qui correspond à celles mises en place dans les entreprises. Le groupe s'entretient donc régulièrement avec son tuteur, considéré comme client, afin de rendre compte de ses réalisations.\n\n## II) Spécifications fonctionnelles\n\nLe but de ce projet est de créer une API d’intelligence artificielle permettant\nde jouer à n’importe quel jeu à deux joueurs en tour par tour et à information\ncomplète tels que le jeu de Nim, le Korridor, etc.\n\nAfin de déterminer les fonctionnalités que nous devrons au minimum\nproduire, nous utilisons la méthode MoSCoW :\n\n* M : Must (fonctionnalités vitales)\n* S : Should (fonctionnalités importantes)\n* C : Could (fonctionnalités optionnelles)\n* W : Would (fonctionnalités pour parfaire le projet)\n\n#### Diagramme de MoSCoW\n\n![https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/MoSCoW.png?raw=true](https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/MoSCoW.png?raw=true)\n\n## III) Spécifications techniques\n\nNotre projet sera codé en Python. En effet, ce langage est le plus utilisé\ndans le domaine de l’intelligence artificielle et possède de nombreuses\nlibrairies. Parmi celles-ci, nous utiliserons anytree, matplotlib, networkx, numpy, pylab, etc. qui serviront principalement à représenter graphiquement les résultats obtenus des tests de nos intelligences artificielles.\nDe plus, c’est l’occasion de se former sur un langage qui nous est\ninconnu.\n\nNous utiliserons dans un premier temps l’algorithme minimax, qui est\nle plus adapté au type de jeux utilisés dans le cadre de ce projet. De ce fait,\nl’IA prendra la meilleure décision parmi celles qui lui sont offertes, au vu de\nl’état actuel du jeu.\n\nL’API devra être la plus générique possible afin d’en faciliter son\nintégration dans le développement du programmeur. Elle devra également\nêtre mise à jour sans corruption des fonctionnalités des différents jeux.\nAinsi le projet utilisera le data-driven developpement : le projet est\npiloté par les données qui lui sont fournies et l’application marchera peu\nimporte ces données.\n\n#### Diagramme de Gantt\n\n![https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/Gantt.png?raw=true](https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/Gantt.png?raw=true)\n\n#### Résultat des entretiens\n\n*  24/10/2019 : Introduction du jeu \"Le Korridor\"\n*  07/11/2019 : Explication de l'algorithme minimax\n*  14/11/2019 : Confirmation du cahier des charges\n\n## IV) Diagrammes\n\n#### Diagramme de cas d’usage\n\n![https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/Cas%20d'usage.png?raw=true](https://github.com/aurelien-castel/DUT-Oct-2019-API-IA/blob/master/images/Cas%20d'usage.png?raw=true)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurelien-castel%2FDUT-Oct-2019-API-IA","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faurelien-castel%2FDUT-Oct-2019-API-IA","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurelien-castel%2FDUT-Oct-2019-API-IA/lists"}