Skip to content

Tous les types d'IA en TP Python/Java que nous avons utilisés en Master 1, basés sur les travaux d'Emmanuel Adam

Notifications You must be signed in to change notification settings

mathcrin/IA_Raisonnement_Python-Java

Repository files navigation

IA_Raisonnement_Python-Java

Ce dépôt regroupe plusieurs implémentations de techniques d'intelligence artificielle pour le raisonnement automatisé, avec des exemples en Python et Java. Les approches implémentées couvrent divers algorithmes classiques de raisonnement en IA, comme les systèmes de recherche, la logique formelle et la résolution de problèmes à l’aide d’agents intelligents.

Algorithmes et méthodes d'IA utilisés

Q-learning :

Le Q-learning est un algorithme de renforcement qui cherche à apprendre une politique, c'est-à-dire une manière d'agir, en maximisant la récompense totale. Il utilise une table Q pour garder une estimation des récompenses futures possibles pour chaque état-action. Par exemple, dans l'environnement FrozenLake, le Q-learning simple met à jour les valeurs Q en fonction de la récompense reçue et de la meilleure future récompense possible.

Réseaux de neuronnes :

Les réseaux de neurones sont utilisés pour des tâches de traitement du langage naturel et de détection de sentiments dans ce projet. Ces modèles sont formés pour comprendre et prédire des séquences de texte en apprenant des représentations à partir de données d'entraînement. Des bibliothèques comme TensorFlow ou PyTorch peuvent être utilisées pour implémenter ces réseaux.

MCTS pour les jeux :

Le Monte Carlo Tree Search (MCTS) est une méthode utilisée pour prendre des décisions dans les jeux. Elle combine des simulations aléatoires avec une stratégie d'exploration-exploitation pour sélectionner les meilleures actions. L'algorithme UCB (Upper Confidence bounds applied to Trees) est souvent utilisé pour explorer les arbres en sélectionnant les mouvements avec des valeurs de confiance élevées. Des variantes telles que Progressive Bias ou Progressive Unpruning sont également utilisées pour améliorer les performances.

Langages et bibliothèques utilisés

  • Python : Utilisé pour des implémentations rapides des algorithmes et des tests de validation.
  • Java : Utilisé pour des implémentations robustes des agents intelligents et de certains algorithmes complexes.
  • HugginFace : Utilisé pour les modèles de traitement du langage naturel, en particulier pour des tâches comme la classification de texte et la détection de sentiments.

Releases

No releases published

Packages

No packages published