Programmation d’intelligence artificielle en Prolog

Course Features

Course Details

Programmation d’intelligence artificielle en Prolog GINAI04
Enseignant:
Email:
Durée totale du cours: 45 H
Semestre : 5
Option ingénierie des connaissances
Nombre de crédits : 2
Modules spécialisés Modules de base Sciences et techniques de l'ingénierie Préparation à la carrière professionnelle
X
 
Nombre dheures Activités hors classe
45 38

 Code        : GINAI04     Programmation d’intelligence artificielle en Prolog            

Volume Horaire    : 01h30 Cours intégrés + 1h30 Travaux pratiques (par semaine)

Aperçu :

Prolog (PROgrammation et LOGique) est un langage de programmation logique largement utilisé en Intelligence Artificielle. C'est un langage de programmation de haut niveau qui permet à l'utilisateur de créer des programmes en indiquant ce qu'il veut que le programme fasse plutôt que comment il devrait le faire. En raison de l'ancrage de Prolog dans la logique des prédicats du premier ordre, il est destiné à être plus analogue au raisonnement déductif humain que les autres langages de programmation. Le cours est  destiné à fournir aux étudiants toutes les compétences techniques nécessaires pour mettre en œuvre des techniques d'Intelligence Artificielle dans des programmes Prolog compacts et efficaces. À la fin du cours, les étudiants seront capables de construire des programmes Prolog de toutes tailles et complexités qui mettent en œuvre une gamme de techniques d'IA. Les étudiants seront en mesure d'utiliser les compétences acquises au cours de ce cours dans de nombreux domaines:

Objectifs du Cours :

  • Comprendre les concepts avancés de la programmation en Prolog.
  • Acquérir des compétences en résolution de problèmes complexes avec Prolog.
  • Appliquer les techniques de Prolog à des problèmes concrets d'intelligence artificielle.

Contenu du  cours

Semaine 1-2 : Introduction à Prolog
  • Histoire et principes de base de Prolog.
  • Syntaxe et sémantique de Prolog.
  • Premiers pas avec Prolog : prédicats, faits, règles.
Semaine 3-4 : Récursion en Prolog
  • Compréhension de la récursion en Prolog.
  • Exemples de récursion : calculs mathématiques, listes.
  • Optimisation de la récursion.
Semaine 5-6 : Gestion des listes en Prolog
  • Manipulation de listes en Prolog.
  • Utilisation de prédicats intégrés pour le traitement de listes.
  • Exercices pratiques sur les listes.
Semaine 7-8 : Recherche et Unification
  • Mécanisme d'unification en Prolog.
  • Utilisation de l'unification dans la recherche de solutions.
  • Résolution de problèmes pratiques en utilisant l'unification.
Semaine 9-10 : Programmation logique avancée
  • Utilisation de coupures et de négation en Prolog.
  • Règles et prédicats avancés.
  • Résolution de problèmes complexes.
Semaine 11-12 : Intelligence Artificielle en Prolog
  • Introduction à l'IA et à ses domaines d'application.
  • Utilisation de Prolog dans la résolution de problèmes d'IA.
  • Exemples d'applications en IA avec Prolog : jeux, planification, raisonnement.
Semaine 13-14 : Applications pratiques en IA
  • Développement d'applications d'IA avec Prolog.
  • Utilisation de bibliothèques et de frameworks Prolog pour l'IA.
  • Étude de cas : création d'un système d'expertise.
Semaine 15-16 : Projet Final
  • Les étudiants travaillent en équipes pour concevoir, développer et présenter un projet pratique d'IA en utilisant Prolog.
  • Évaluation du projet et présentation devant le groupe.
Évaluation :
  • Examens écrits sur la théorie et les concepts de Prolog.
  • Travaux pratiques et devoirs hebdomadaires.
  • Évaluation du projet final.

Méthodes d’enseignement et d’apprentissage

  • Enseignement frontal (magistral) avec des exemples à résoudre en
  • Exercices théoriques et études de cas (présentation et discussion).
  • Travaux pratiques (laboratoire)
  • Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
Un ensemble complet de notes écrites spécifiquement pour ce cours est fourni avant le début de l'enseignement. Les conférences suivent la structure des notes, un chapitre étant présenté chaque semaine. Les notes contiennent de courts exercices intégrés tout au long du cours, qui peuvent être essayés avant la conférence concernée. Les solutions aux exercices sont fournies dans les notes pour permettre l'auto-évaluation, et la plupart des exercices sont également discutés en classe. Cependant, la principale activité d'apprentissage sont les exercices de laboratoire. Une série de devoirs de programmation sont publiés tout au long du module, avec des heures de laboratoire chaque semaine où les étudiants peuvent poser des questions et obtenir des commentaires sur leurs solutions au fur et à mesure qu'ils y travaillent. Un service en ligne servira de forum de discussion pour le module.

Connaissances et compétences pré-requises

  • Bases informatque

Références bibliographiques

  • Un support de cours de l’enseignant sera

Bibliographie suggérée :

  • "Programming in Prolog: Using the ISO Standard" par William F. Clocksin et Christopher S. Mellish.
  • "Artificial Intelligence: A Modern Approach" par Stuart Russell et Peter Norvig.
Documentation Prolog et ressources en ligne:
  • Documentation officielle SWI-Prolog :
    • Le site web de SWI-Prolog propose une documentation complète, des manuels d'utilisation et des guides d'apprentissage : SWI-Prolog Documentation
  • Prolog Tutorials :
    • Il existe de nombreuses ressources en ligne qui proposent des tutoriels pour apprendre Prolog. Consultez des sites tels que Learn Prolog Now!et Prolog Programming pour des guides d'apprentissage.
  • Livres :
    • Vous pouvez également envisager de consulter des livres sur Prolog. "Programming in Prolog" de William F. Clocksin et Christopher S. Mellish est un choix classique. Assurez-vous de vérifier s'il existe des livres plus récents et adaptés à vos besoins spécifiques.
  • Forums et communautés en ligne :
    • Les forums de discussion et les communautés en ligne sont d'excellents endroits pour poser des questions et obtenir de l'aide de la part d'autres utilisateurs de Prolog. Le forum SWI-Prolog, par exemple, est une ressource précieuse : SWI-Prolog Forum
  • GitHub :
    • Sur GitHub, vous pouvez trouver des exemples de code Prolog, des bibliothèques et des projets open source. Cela peut être une excellente façon d'apprendre en pratiquant : Recherchez des dépôts Prolog sur GitHub
  • Cours en ligne :
    • Recherchez des cours en ligne gratuits ou payants sur Prolog. Des plateformes telles que Coursera, edX et Udemy proposent souvent des cours sur la programmation en Prolog.
  • Prolog dans votre éditeur de texte :
    • Si vous utilisez un éditeur de texte tel que Visual Studio Code, vous pouvez trouver des extensions Prolog pour faciliter le développement. Consultez le marché des extensions de votre éditeur de texte pour les options disponibles.

Modalité d’évaluation

  • 40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiels, …)
  • 60% Examen semestriel
  • TP, Test, Assiduité, Travaux non présentiels, Mini-projets, …
Des exercices simples sont intégrés dans les notes du module pour renforcer les points fondamentaux de l'apprentissage parallèlement à leur explication. Des exercices sélectionnés sont définis puis discutés lors de cours en direct. Tous les exercices ont fourni des solutions dans les notes pour permettre l'auto-évaluation. Deux ensembles de problèmes d'introduction formatifs sont définis lors des séances de laboratoire des deux premières semaines. Les solutions modèles sont publiées après les heures de laboratoire prises en charge. Cinq exercices de laboratoire sommatifs, après la troisième semaine d'enseignement, contribuent à 40% de la note totale. Les exercices 1 à 4 évaluent l'utilisation d'une variété de caractéristiques linguistiques pour démontrer les résultats d'apprentissage 1 à 4. L'exercice 5 évalue spécifiquement le résultat d'apprentissage 5. Un examen en laboratoire chronométré contribue à 60 % de la note totale, évaluant les résultats d'apprentissage 1-5. Les commentaires sur les problèmes de formation et les exercices de laboratoire sont disponibles sous la forme de : solutions modèles à tous les exercices d'auto-évaluation ; et discussion au sein des cours en direct. Les commentaires sur les cinq travaux de laboratoire sommatifs définis au cours du module sont fournis en publiant des notes provisoires et en annotant toutes les soumissions avec des commentaires écrits. Les commentaires sur chaque devoir sont fournis à temps pour alimenter les devoirs ultérieurs.
  • Résultats d'apprentissage :

Après avoir réussi le cours de "Programmation avancée en IA en Prolog", les étudiants devraient acquérir un ensemble de compétences techniques et transversales. Voici une liste de compétences qu'ils peuvent développer: Compétences techniques :
  1. Programmation en Prolog : Les étudiants seront en mesure de maîtriser le langage de programmation Prolog, y compris les concepts avancés tels que la programmation logique, la résolution de contraintes, la manipulation de bases de connaissances et la création de règles complexes.
  2. Intelligence Artificielle : Ils auront une compréhension approfondie des concepts fondamentaux de l'intelligence artificielle, en mettant l'accent sur les applications de l'IA en Prolog.
  3. Systèmes experts : Les étudiants seront capables de concevoir et de mettre en œuvre des systèmes experts en utilisant Prolog pour résoudre des problèmes complexes en utilisant des bases de connaissances.
  4. Apprentissage automatique (Machine Learning) : Ils devraient être familiarisés avec les principes de base de l'apprentissage automatique en utilisant Prolog, ce qui leur permettra de créer des modèles de prédiction et de classification.
  5. Traitement du langage naturel (NLP) : Les étudiants pourront appliquer Prolog pour résoudre des problèmes de traitement du langage naturel, tels que la recherche d'entités, l'analyse syntaxique, et la génération de texte.
  6. Optimisation : Ils devraient être en mesure d'appliquer des techniques d'optimisation en Prolog pour résoudre des problèmes d'optimisation complexes.
  7. Résolution de problèmes : Les étudiants seront compétents dans l'analyse de problèmes complexes et la conception de solutions efficaces en utilisant Prolog.
Compétences transversales :
  1. Pensée critique : Les étudiants développeront leur capacité à analyser de manière critique les problèmes et à concevoir des solutions appropriées en utilisant Prolog.
  2. Communication : Ils apprendront à communiquer efficacement leurs idées et leurs solutions, à la fois à l'écrit et à l'oral, ce qui est essentiel dans le domaine de l'ingénierie des télécommunications.
  3. Travail d'équipe : Les projets en groupe ou les exercices de classe devraient les aider à travailler de manière collaborative avec d'autres étudiants pour atteindre des objectifs communs.
  4. Résolution de problèmes complexes : Ils acquerront la capacité à aborder des problèmes complexes de manière structurée et à développer des solutions efficaces.
  5. Adaptabilité : Comme l'IA est un domaine en constante évolution, les étudiants apprendront à s'adapter aux nouvelles technologies et aux évolutions du domaine.
  6. Éthique de l'IA : Ils devraient être conscients des questions éthiques liées à l'utilisation de l'IA et être en mesure de prendre des décisions éthiques dans leurs projets.
  7. Gestion de projet : Ils auront une compréhension de base de la gestion de projet, ce qui peut être utile pour la planification et l'exécution de projets liés à l'IA en Prolog.
This course does not have any sections.

More Courses by this Instructor


Proud of NASCAR and its supporters and fans. They won put up with disrespecting our Country or our Flag they said it loud and clear! words Friday and Saturday sparked a massive show of defiance Sunday as more than 200 NFL players protested by choosing not to stand for the national anthem. Many coaches locked arms with the players. Goal was to provide cheap china jerseys open dialogue and communication. We listened to one another. We believe it the best way to work through any issue we are facing, on and off the field, owners Terry and Kim Pegula said in a statement distributed by the Bills. Trump remarks were divisive and disrespectful to the entire NFL community, but we tried to use them as an opportunity to further unify our team and our organization. Our players have the freedom to express themselves in a respectful and thoughtful manner and we all agreed that our sole message is to provide and to promote an environment that is focused on love and equality. "Within hours, cheap jerseys certainly, and probably less, the Ranger regiment officers, high ranking officers back in the States were conspiring to cover this up," Krakauer says. military's highest honors, immediately began moving through the Army ranks something that is not done cheap nfl jerseys for deaths by friendly fire, Krakauer says. 'Prairie niggers' is an insult. Those are very upsetting to our kids. But 'Redskins' is an honorable name we wear with pride. He wondered how to tell the Willpinit Redskins the "name they wear proudly across their chests is insulting them. Because they have no idea.". According to the "Princeton Review," there are no prerequisites for sports management positions, but most general managers in the NFL have similar backgrounds as former scouts, accountants or athletes.Start in SchoolGMs in the NFL must have a passion for the game. They typically have experience either playing or coaching football. "This pro football has been personally hand cheap china jerseys signed by Hall of Fame defensive tackle Joe Greene with the inscription ""HOF 87"". This product is officially licensed by the National Football League and comes with an individually numbered; tamper evident hologram from Mounted Memories. To ensure authenticity, the hologram can be reviewed online. This oakley sunglasses sale process helps to ensure that the product purchased is authentic and eliminates any possibility of duplication or Retro Jordans fraud. " Setting Point Spreads, OddsOddsmakers do more than predict the outcome of games. They weigh myriad factors to determine which team is favored by how many points. In individual sports or group events, they set odds on which individual or team is most likely to win. They set odds that spread the betting encouraging bets on the underdogs and discouraging bets on heavy favorites. Their goal is to create higher betting volume and more wins than losses for the sports cheap jerseys book.
Need Help? Chat with us