Vous êtes sur la page 1sur 66

INFORMATIQUE APPLIQUÉE: CSI 3206

l’INTELLIGENCE
ARTIFICIELLE
Ibrahima Amadou
l’Intelligence Artificielle

Avant-propos
L’Université Virtuelle Africaine (UVA) est fière de participer à accès à l’éducation dans les pays
africains en produisant du matériel d’apprentissage de qualité. Nous sommes également fiers
de contribuer à la connaissance globale, pour nos ressources éducatives sont principalement
accessibles de l’extérieur du continent africain.

Ce module a été développé dans le cadre d’un programme de diplôme et diplôme en


informatique appliquée, en collaboration avec 18 institutions partenaires dans 16 pays africains.
Un total de 156 modules ont été développés ou traduits pour assurer la disponibilité en
anglais, français et portugais. Ces modules sont également disponibles en tant que ressources
éducatives ouvertes (OER) à oer.avu.org.

Au nom de l’Université Virtuelle Africaine et notre patron, nos institutions partenaires,


la Banque africaine de développement, je vous invite à utiliser ce module dans votre
établissement, pour leur propre éducation, partager aussi largement que possible et participer
activement aux communautés AVU de pratique d’intérêt. Nous nous engageons à être à
l’avant-garde du développement et de partage ouvert de ressources pédagogiques.

L’Université Virtuelle Africaine (UVA) est une organisation intergouvernementale


panafricaine mis en place par lettre recommandée avec un mandat d’augmenter l’accès
à l’enseignement supérieur et de formation de qualité grâce à l’utilisation novatrice des
technologies de communication de l’information. Une charte instituant la UVA Organisation
intergouvernementale, signée à ce jour par dix-neuf (19) Les gouvernements africains - Kenya,
Sénégal, Mauritanie, Mali, Côte d’Ivoire, Tanzanie, Mozambique, République démocratique du
Congo, Bénin, Ghana, République de Guinée, le Burkina Faso, le Niger, le Soudan du Sud, le
Soudan, la Gambie, la Guinée-Bissau, l’Ethiopie et le Cap-Vert.

Les institutions suivantes ont participé au programme informatique appliquée: (1) Université
d’Abomey Calavi au Bénin; (2) University of Ougagadougou au Burkina Faso; (3) Université
Lumière Bujumbura Burundi; (4) Université de Douala au Cameroun; (5) Université de
Nouakchott en Mauritanie; (6) Université Gaston Berger Sénégal; (7) Université des Sciences,
Techniques et Technologies de Bamako au Mali (8) Institut de la gestion et de l’administration
publique du Ghana; (9) Université des sciences et de la technologie Kwame Nkrumah au
Ghana; (10) Université Kenyatta au Kenya; (11) Université Egerton au Kenya; (12) Université
d’Addis-Abeba en Ethiopie (13) Université du Rwanda; (14) University of Salaam en Tanzanie
Dar; (15) Université Abdou Moumouni Niamey Niger; (16) Université Cheikh Anta Diop au
Sénégal; (17) Université pédagogique au Mozambique; E (18) L’Université de la Gambie en
Gambie.

Bakary Diallo

le Recteur

Université Virtuelle Africaine

2
Crédits de production
Auteur
Ibrahima Amadou

Pair Réviseur

Dembele Jean

UVA – Coordination Académique

Dr. Marilena Cabral

Coordinateur global Sciences Informatiques Apliquées

Prof Tim Mwololo Waema

Coordinateur du module

Florence Tushabe

Concepteurs pédagogiques

Elizabeth Mbasu

Benta Ochola

Diana Tuel

Equipe Média
Sidney McGregor Michal Abigael Koyier

Barry Savala Mercy Tabi Ojwang

Edwin Kiprono Josiah Mutsogu

Kelvin Muriithi Kefa Murimi

Victor Oluoch Otieno Gerisson Mulongo

3
l’Intelligence Artificielle

Droits d’auteur
Ce document est publié dans les conditions de la Creative Commons

Http://fr.wikipedia.org/wiki/Creative_Commons

Attribution http://creativecommons.org/licenses/by/2.5/

Le gabarit est copyright African Virtual University sous licence Creative Commons Attribution-
ShareAlike 4.0 International License. CC-BY, SA

Supporté par

Projet Multinational II de l’UVA financé par la Banque africaine de développement.

4
Table des matières
Avant-propos 2

Crédits de production 3

Copyright Remarquer 4

Supporté par 4

Prérequis
Objectifs du cours 5

Unités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Évaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Lectures et autres ressources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Unité 0. Évaluation diagnostique 9

Introduction à l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Objectifs de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Termes clés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Évaluation de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Système de notation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Lectures et autres ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Unité 1. Fondements de l’intelligence artificielle 12

Introduction à l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Objectifs de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Activités d’apprentissage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Activité 1.1 - Présentation de l’Intelligence Artificielle . . . . . . . . . . . . . . . 13

Termes clés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Détails de l’activité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Détails de l’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Description formelle d’un problème . . . . . . . . . . . . . . . . . . . . . . . . . 16

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5
l’Intelligence Artificielle

Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Activité 1.3 - [Représentation des Connaissances]. . . . . . . . . . . . . . . . . 20

Détails de l’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

La logique des prédicats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Propriétés de la connaissance des systèmes de représentation. . . . . . . . . . 22

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Évaluation de l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Lectures et autres ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Unité 2. Programmation en Intelligence Artificielle 24

Introduction à l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Objectifs de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Activités d’apprentissage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Activity 1.1 Agents: Perception, Décision et action . . . . . . . . . . . . . . . . 25

Détails de l’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Termes clés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Règles et Programmation Logique. . . . . . . . . . . . . . . . . . . . . . . . . 29

Logique en pratique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Évaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Activité 1.2 - Logique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Détails de l’activité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Activité 1.3 - [Ajouter un titre ici] . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Évaluation de l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Lectures et autres ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Unité 3. Apprentissage automatique et jeux 37

Introduction à l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

Termes clés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Objectifs de l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Activités d’apprentissage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6
Activité 1.1 - Apprentissage supervisé. . . . . . . . . . . . . . . . . . . . . . . 39

Détails de l’activité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Activité 1.2 - Apprentissage non supervisé . . . . . . . . . . . . . . . . . . . . 42

Détails de l’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Activité 1.3 - jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Détails de l’activité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

Résumé de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Lectures et autres ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Unité 4. Représentation des connaissances et langage naturel 49

Introduction à l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Objectifs de l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Termes clés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Activités d’apprentissage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Activité 1.1 - Représentation des connaissances. . . . . . . . . . . . . . . . . . 50

Les représentations logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Les réseaux sémantiques . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Remarque : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Activité 1.2 - Traitement du langage naturel. . . . . . . . . . . . . . . . . . . . 53

niveau morphologique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Résumé de l’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Évaluation de l’unité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Lectures et autres ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7
l’Intelligence Artificielle

Aperçu du cours
Bienvenue à [Ajouter le titre du cours ici [sous-titre]

L’intelligence artificielle est l’un des champs les plus importants et les plus passionnants
de l’informatique. Ce programme de spécialiste couvre les principes fondamentaux de
l’informatique et des systèmes d’information afin de maximiser vos chances pour de futurs
emplois. Il offre également la possibilité d’effectuer des recherche de pointe dans des
domaines de haut niveau.

Les modules introductifs couvrent la programmation en Java, les systèmes d’information, les
bases de données, la programmation centrée sur l’humain, les bases de l’algorithmique. Le
cours est complété par une sélection de modules couvrant des sujets importants en rapport
avec le thème concerné : représentation de la connaissance, l’étude des systèmes multi-agents,
la robotique pour ne citer que ceux-ci. Le cours comprend également un second projet annuel
de groupe et un projet individuel annuel.

Prérequis

- cours de probabilité

- cours de langage de programmation

- cours d’algorithmique

Il est souhaitable que l’étudiant puisse se familiariser avec la manipulation de l’ordinateur.

Matériaux
Les matériaux nécessaires pour compléter ce cours comprennent:

• Ordinateurs Portables /
• Connexion Internet
• Logiciels
• Réseaux sociaux et plates-formes virtuelles

Cours Site Web:

Celui – ci sera complété par des lectures en classe. Vous aurez également besoin d’un livre
comme (Java’s GUI toolkit or Visual Studio). Se référer aussi à quelques autres bons livres à
posséder qui peuvent être :

- Russell and Norvig. Artificial Intelligence: A Modern Approach. Une référence complète pour
tous les thèmes de l’IA que nous allons découvrir

- Koller and Friedman. Probabilistic Graphical Models. Traite les graphes et les réseaux
bayésiens (celui – ci est le manuel pour CS228).

- Sutton and Barto. Reinforcement Learning: An Introduction. Traite les processus de décision
de Markov et l’apprentissage par renforcement. Disponible en ligne gratuitement.

8
Objectifs du cours
À la fin de ce cours, l’étudiant devrait être en mesure de :

• dentifier les principaux paradigmes classiques et modernes de l’IA


• Analyser les concepts et techniques de l’intelligence artificielle.
• Apprendre l’IA en développant les compétences d’utilisation des algorithmes
pour résoudre des problèmes pratiques
• Analyser la structure d’un problème donné de telle sorte qu’il puisse choisir une
méthode appropriée d’implémentation des algorithmes de l’IA
• Apprécier une machine intelligente qui est dotée de capacité de raisonnement,
de planification, de résolution de problèmes, de pensée abstraite, de
compréhension des idées complexes, d’apprendre rapidement et d’apprendre à
partir d’expérience.

Unités

• Unité 0: Évaluation diagnostique


[Ajouter un résumé de l’unité ici. Longueur maximale: trois phrases]

• Unité 1 : [Fondements de l’intelligence artificielle]


L’étude des facultés mentales grâce à l’utilisation de modèles informatiques

L’étude des calculs qui permettent de percevoir, de raisonner et d’agir.

L’étude de l’intelligence naturelle par l’utilisation de modèles informatiques.

• Unité 2: [ Programmation de l’Intelligence Artificielle]


Logique de programmation

Concevoir et appliquer des composants intelligents pour les médias informatiques distribués
interactifs

Développer des outils pour la création de la connaissance nécessaire par de tels systèmes

• Unité 3: Apprentissage automatique et Jeux


Vision informatique pour percevoir les objets, Robotique pour déplacer ces objets

Apprentissage automatique adapté à de nouvelles circonstances et pour détecter et extrapoler


des modèles.

Algorithme de résolution pour jeux

• Unité 4: [Langage naturel, Représentation et raisonnement]


Traitement du langage naturel pour permettre de communiquer avec succès en anglais (ou
une autre langue humaine).Représentation des connaissances pour stocker des informations
fournies avant ou pendant l’interrogatoire.

5
l’Intelligence Artificielle

Raisonnement automatisé pour utiliser les informations stockées afin de répondre à des
questions et de tirer de nouvelles conclusions.

Évaluation
Les évaluations formatives (vérification de progrès) sont inclus dans chaque unité.

Les évaluations sommatives (tests et travaux finaux) sont fournies à la fin de chaque module et
traitent des connaissances et compétences du module.

Les évaluations sommatives sont gérés à la discrétion de l’établissement qui offre le cours. Le
plan d’évaluation proposé est le suivant:

1 Interrogations / Devoirs 35%

2 Test / Quiz 35%

3 Examens finaux 30%

Plan

Unité Sujets et Activités Durée estimée

Unité 1 Cette unité vise à présenter les représentation 16 heures


de base et les paradigmes de raisonnement
utilisés en IA aussi bien en théorie et qu’en
pratique avec une attention particulière aux
principes sous-jacents de la logique, de
la recherche, et de la probabilité. Après
avoir terminé le cours, l’étudiant sera en
mesure de fournir un aperçu du domaine de
l’intelligence artificielle, sa base, son histoire,
ses questions fondamentales, ses défis et
principales orientations . L’apprenant sera en
aussi en mesure d’interpréter et de formuler
des représentations des connaissances sous la
forme d’expressions logiques.

Unité 2 Cette unité fournira une introduction à l’IA 16 heures


appliquée par l’intermédiaire de fonctions
de programmation qui soutiennent les
applications de base de l’IA. En satisfaisant
les objectifs de cette unité, l’apprenant aura
une familiarité avec la programmation de
l’IA et peut être capable de l’utiliser dans
d’autres modèles pour implémenter diverses
applications de l’IA.

6
En misant sur le matériel couvert dans l’Unité 2, 20 heures
les étudiants développeront des programmes
plus avancés, plongeront dans des aspects de
la vie réelle à l’aide de fonction permettant
de prédire et tout cela en mettant un accent
sur le côté pratique. À la fin de cette unité,
l’étudiant comprendra les composants d’un
algorithme d’apprentissage automatique,
il saura également comment mettre en
application plusieurs outils de l’apprentissage
automatique pour construire et évaluer des
prévisions sur des données réelles.

Unité 4 En misant sur le matériel couvert dans l’unité 20 heures


3 , les apprenants seront initiés au traitement
du langage naturel et à la représentation
des connaissances en mettant l’accent sur la
construction de programmes informatiques qui
comprennent la langue naturelle. L’objectif est
d’être en mesure d’obtenir des informations
dans le but de combler les lacunes d’une
connaissance - systèmes raisonnement fondé
sur le cas - méthodologie de raisonnement de
base

Lectures et autres ressources


Les lectures et autres ressources dans ce cours sont indiquées ci-dessous.

Unité 0

Lectures et autres ressources obligatoires:

• Russell and Norvig, Artificial Intelligence, A Modern Approach


• Koller Friedman, Probablistic Graphical Models

Unité 1

Lectures et autres ressources obligatoires:

Lectures et autres ressources optionnelles:

• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]


• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]

7
l’Intelligence Artificielle

Unité 2

Lectures et autres ressources obligatoires:

• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]


• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]

Lectures et autres ressources optionnelles:

• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]


• [ajouter un titre, le nom de l’auteur, et d’autres informations de référence]

Unité 3

Lectures et autres ressources obligatoires:

• Hastie, Tibshirani and Friedman, The Elements of Statistical Learning, Covers


Machine Learning (Available free online)
• Sutton and Barto, An Introduction to Re-enforcement Learning (Available free
online)

Unité 4

Lectures et autres ressources obligatoires:

• Artificial Intelligence, A Modern Approach (3rd Edition) Stuart and Russell and
Peter Norvig. Prentice Hall (2010), ISBN: 0-13-604259-7
• James Allen, Natural Language Understanding, Benjammin/Cunmmings, 2nd
Edition 1995.

8
Unité 0. Évaluation diagnostique

Unité 0. Évaluation diagnostique


Introduction à l’unité
Cette unité est une étude préliminaire de l’intelligence artificielle. Le cours portera sur
l’histoire, la théorie et les méthodes de calcul de l’intelligence artificielle. Les concepts de
base comprennent la représentation des connaissances et des méthodes de calcul pour le
raisonnement. L’étudiant finira le cours avec des comptétences spécifiques de modélisation
et d’analyse (par exemple, la recherche, la logique, la probabilité), une connaissance
très approfondie sur la représentation des connaissances, le raisonnement, les schémas
d’apprentissage automatique, une compréhension générale des principes et pratique de l’IA.
Le cours servira à préparer l’étudiant à une étude plus approfondie de l’IA, ainsi qu’à un travail
impliquant la conception de programmes informatiques pour des domaines d’application très
importants.

Objectifs de l’unité
À la fin de cette unité, vous devriez être capable de:

À la fin de cette unité, vous devriez être capable de:

• Identifier les principaux paradigmes classiques et modernes de l’IA, et expliquer


comment ils inter-réagissent
• Analyser la structure d’un problème donné de façon à choisir un paradigme
approprié pour cadrer ce problème
• mplémenter une grande variété classiques et modernes de l’IA

Termes clés
Agent: Un programme qui effectue une collecte de renseignements ou de
processus en arrière-plan. Typiquement, à un agent est assignée une très
petite tâche bien définie.

Intelligence artificielle: La capacité pour un ordinateur ou un


programmes de fonctionner de manière censée imiter les processus de la
pensée humaine, tels que le raisonnement et l’apprentissage.

Données: faits ou chiffres à traiter ; la preuve, dossiers, statistiques, etc. à


partir desquels des conclusions peuvent être tirés comme information.

Démon: Un utilitaire qui réside dans la RAM, en arrière plan jusqu’à


ce qu’un événement déclenche sa mise en action. Les gestionnaires de
courrier électronique, et les utilitaires de sauvegarde automatiques sont des
exemples de démons.

9
l’Intelligence Artificielle

Formules: Fonctions au sein des programmes informatiques. Ces


formules sont utilisées pour traiter des données passées aux fonctions pour
fournir un résultat.

Intelligence: Est la pensée abstraite, la compréhension, la conscience de


soi, la communication,
le raisonnement, l’apprentissage, la connaissance
émotionnelle, la retenue, la planification et la résolution de problèmes.

Évaluation de l’unité
Vérifiez votre compréhension!

[Écrire le titre de l’évaluation ici]

Directives
Il est souhaitable que ce cours soit classé 100% sur les devoirs, mais l’instructeur se réserve le
droit de donner des examens s’il ya un cas significatif de malhonnêteté intellectuelle. Dans ce
cas, il y aura des examens en classe et éventuellement un examen final au cours de la dernière
séance. Les notes sont cumulatives. Les documents et les dispositifs électroniques ne sont pas
autorisés au cours des examens.

Système de notation
Idéalement, le cours sera évalué en se basant entièrement sur les devoirs et les quiz, avec les
devoirs ayant une note proportonnielle à la difficulté estimée.

Si aucun examen n’est donné, alors les devoirs à domicile compteront pour 90% de la note
finale du cours, et les quiz pour 10%.

Si il ya un cas significatif malhonnêteté intellectuelle, alors les examens compteront pour 50%
de la note finale du cours, les devoirs pour 45%, et les quiz pour 5%. Si il ya une finale, elle
comptera comme deux examens en classe.

Vos pensées et vos préoccupations sur ce cours sont importantes. Vous êtes encouragés à
donner des commentaires à l’instructeur pendant toute la durée. Comme toujours les étudiants
seront invités à remplir une évaluation du cours à la fin.

Votre note de cours sera également disponible sur le site du cours. S’il vous plaît rester en
contact avec votre instructeur pour confirmer l’adresse web de votre site de cours, car cela
varie d’un établissement à un autre.

10
Unité 0. Évaluation diagnostique

Lectures et autres ressources


Artificial Intelligence: A Modern Approach (3rd edition). Stuart Russell and Peter Norvig,
Prentice Hall (2010) ISBN: 0-13-604259-7

Les lectures et ressources de cette unité sont se trouvent au niveau des lectures et autres
ressources du cours.

11
l’Intelligence Artificielle

Unité 1. Fondements de
l’intelligence artificielle
Introduction à l’unité
L’Intelligence artificielle (IA) est un domaine qui a une longue histoire et qui est toujours en
constante évolution.

Dans cette unité, l’apprenant va apprendre les rudiments de l’IA moderne ainsi que quelques-
unes des applications représentatives de l’IA. Au cours de l’étude, l’étudiant appréciera les
bases et les applications de l’IA, y compris: l’apprentissage automatique, le raisonnement
probabiliste, la portée, les résolutions de problèmes, et les approches de l’IA.

Cette unité de cours offre une première approche pour répondre aux questions suivantes.
Quelles méthodes sont là pour aider à la compréhension des systèmes ou des programmes
complexes? Comment un programme peut - il faire ce qu’on attend de lui ? comment un
humain peut - il comprendre ce que font les ordinateurs en principe, et y - a - t - il des
problèmes que l’ordinateur ne sait pas encore résoudre ?

Objectifs de l’unité
À la fin de cette unité, vous devriez être capable de:

• expliquer un aperçu du domaine de l’intelligence artificielle, son histoire, ses


fondements, ses défis et ses principales tendances
• interpréter et formuler des représentations de connaissances sous la forme
d’expressions logiques
• appréciez la pertinence des différentes techniques et applications pour l’IA
• démontrer des concepts de base, les méthodes et les théories des réseaux
neuronaux
• apprécier les concepts de base, les méthodes et les théories de l’évolution
artificielle, de l’algorithme génétique,
• mettre en pratique un certain nombre de théories, méthodes et principes donnés.

12
Unité 1. Fondements de l’intelligence artificielle

Termes clés
Algorithme: Un processus ou un ensemble de règles à suivre dans les
calculs ou autre résolution de problèmes, en particulier par un ordinateur.

Intelligence artificielle: La théorie et le développement de systèmes


informatiques capables d’effectuer des tâches qui normalement nécessiterait
le concours l’intelligence humaine.

Recherche arrière: Une recherche qui commence à partir de l’objectif


et recherche des actions qui pourraient atteindre cet objectif, de manière
récursive.

Prise de décision: action ou processus pour prendre des décisions


importantes.

Apprentissage automatique : Un domaine de l’intelligence artificielle (IA)


permettant à l’ordinateur d’apprendre sans être explicitement programmé

Probabilité: La qualité ou l’état d’être probable; la mesure dans laquelle


quelque chose est susceptible d’être dans un cas ou dans un autre.

Robots: une machine capable d’effectuer une série complexe d’actions


automatiquement, en particulier une machine programmable par un
ordinateur.

Activités d’apprentissage

Activité 1.1 - Présentation de l’Intelligence Artificielle


Introduction

L’activité présente l’étude de l’intelligence artificielle (IA) pour les apprenants tout au long du
cours. Il est conçu pour présenter l’introduction à l’IA et fournir une base pour des études plus
poussées. L’activité présente l’I.A. d’un point de vue probabiliste et est centrée autour de
deux problèmes particuliers: (i) localisation par robots; (ii) la compréhension du langage. Au
cours des conférences, les principales idées et les théories nécessaires pour ces problèmes
seront présentées ; les exemples en classe viendront renforcer des exercices faits au crayon
et les travaux de laboratoires développeront des programmes pour les résoudre. Il y aura une
heure de conférence et une heure de cours pour chaque semaine, ainsi que cinq sessions de
deux heures de laboratoire au cours du semestre.

13
l’Intelligence Artificielle

Détails de l’activité

Il s’agit de :

• présenter des notions mathématiques pertinentes pour l’intelligence


artificielle et les applications concernant ces notions,
• d’aborder des notions de base avec des nombres complexes et les opérations
standardes pour l’IA.
Penser comme des humains : L’approche cognitive de la
modélisation
Pour dire qu’un programme donné pense comme un être humain, il nous faut avoir un moyen
qui détermine comment les humains pensent.

Nous avons besoin de pénétrer le fonctionnement réel de l’esprit humain. Il y a deux façons de
le faire: par l’introspection (en essayant de saisir nos propres pensées comme elles agissent)
grâce à des expériences psychologiques.

Une fois que nous avons une théorie suffisamment précise de l’esprit, il devient possible
d’exprimer la théorie comme un programme d’ordinateur. Si les deonnées d’entrée / sortie
et le comportement temporel du programme correspondent au comportement humain, alors
nous avons la preuve que certains des mécanismes du programme peuvent également être
opérants chez les humains.

Par exemple, Newell et Simon, qui ont développé le GPS, le ‘’General Problem Solver’’ (Newell
et Simon, 1961), ne se contentaient pas seulement d’avoir un programme qui puisse résoudre
correctement les problèmes. Ils étaient plus préoccupés par la comparaison des effets des
raisonnements à ceux des sujets humains ayant à résoudre les mêmes problèmes.

Certains chercheurs de la même époque (tels que Wang (1960)), n’avaient pas la même
approche, et étaient préoccupés par l’obtention réponses satisfaisantes quel que soit
l’humain pour traiter le problème. Le champ interdisciplinaire de la science cognitive rassemble
des modèles informatiques de l’IA et des techniques expérimentales de la psychologie pour
essayer de construire des théories précises et vérifiables du fonctionnement de l’esprit humain.

Penser rationnellement: Les lois de la pensée approche


Le philosophe grec Aristote fut l’un des premiers à tenter de codifier la ‘’ pensée droite ‘’
qui est un processus de raisonnements irréfutables. Ses syllogismes célèbres ont fournis des
modèles pour les structures d’arguments qui permettent d’avoir des conclusions correctes à
partir de clauses correctes données. Par exemple, ‘’ Socrate est un homme; tous les hommes
sont mortels; donc Socrate est mortel.’’ Ces lois de la pensée étaient censées régir le
fonctionnement de l’esprit, et ont été à la base de la logique.

Le développement de la logique formelle à la fin du XIXe siècle et au début du XXe siècle, a


fourni une notation précise pour les déclarations de toutes sortes dans le monde et pour les
relations entre ces déclarations. (Comparez cela à la notation arithmétique ordinaire, qui prévoit

14
Unité 1. Fondements de l’intelligence artificielle

principalement égalité et d’inégalité sur des déclarations à base de chiffres.)

En 1965, il existait des programmes qui pourraient, étant donné assez de temps et de mémoire,
prendre une description d’un problème dans la notation logique et trouver la solution au
problème, si elle existe. (S’il n’y a pas de solution, le programme pourrait ne jamais s’ arrêter
de tenter pour cela.) La tradition logiciste au sein de l’intelligence artificielle espère se baser
sur de tels programmes pour créer des systèmes intelligents.

Il ya deux obstacles majeurs à cette approche. Premièrement, il est pas facile de prendre
des connaissance au sens informel et les énoncer dans des termes formels requis par la
notation logique, en particulier lorsque la certitude sur la connaissance est inférieure à 100%.
Deuxièmement, il ya une grande différence entre être en mesure de résoudre un problème ‘’
en principe ‘’ et de le faire dans la pratique. Même des problèmes avec quelques dizaines
de faits peuvent épuiser les ressources de calcul de tout ordinateur, sauf si il a quelques
indications lui indiquant quel raisonnement prendre le premier. Bien que ces deux obstacles se
retrouvent dans toute tentative de construire des systèmes de raisonnement à base de calcul,
ils furent leur apparition dans la tradition logiciste, parce que la puissance des systèmes de
représentation et de raisonnement est bien définie et assez bien maîtrisée.

Conclusion
L’objectif de cette mission est d’affûter vos compétences en mathématiques et en
programmation nécessaires pour cette unité. Si vous remplissez les conditions, vous devriez
trouver ces problèmes relativement abordables. Certains de ces problèmes se retrouveront
plus tad comme sous-problèmes d’autres devoirs, alors assurez-vous que vous savez comment
les traiter.

Évaluation
Un apprenant est tenu de procéder à une lecture de fond, qui est soutenue par des
conférences pour expliquer différentes notions et montrer l’application de diverses techniques
utilisant des exemples. Le cursus exige que les étudiants traitent les exercices chaque semaine.
Les commentaires et aides pour cette tâche sont fournis dans les exemples en classes.

Activité 1.2 - Applications de l’intelligence artificielle

Présentation

Le but de cette activité est de fournir un aperçu de ce domaine. Nous allons aborder des sujets
tels que: les agents, la recherche, la planification, et l’incertitude. Cette activité vise à fournir
des connaissances fondamentales du domaine.

Détails de l’activité
Définir le problème comme recherche d’états

Pour comprendre ce qu’est exactement l’intelligence artificielle, nous allons illustrer certains
problèmes courants.Les problèmes traités dans l’intelligence artificielle utilisent généralement
le terme commun appelé «état». Un état représente un état de la solution à une étape donnée

15
l’Intelligence Artificielle

de la procédure de résolution d’un problème. La solution d’un problème, par conséquent,


est une collection d’états de problèmes. La procédure de résolution du problème applique
un opérateur à un état pour obtenir l’état suivant. Puis, elle applique un autre opérateur pour
l’état résultant pour obtenir un nouvel état. Ce processus d’application d’opérateur sur les
états se poursuit jusqu’à ce que l’Etat but (souhaitée) soit atteint. Une telle méthode de
résolution d’un problème est généralement appelée approche par espace d’états.

Environnement de problème et recherche

Construire un système pour résoudre un problème nécessite les étapes suivantes :

• définir le problème, précisément les spécifications détaillées et ce qui constitue


une solution acceptable;
• analyser le problème à fond pour certaines fonctionnalités peut affecter
sérieusement la méthode choisie pour la solution;
• Isoler et représenter les connaissances de base nécessaires à la solution du
problème;
• choisir les meilleures techniques de résolution de problème pour la solution.

Par exemple, pour résoudre le problème ‘’ jouer à un jeu ’’, qui est limité à deux joueurs de
table ou jeux de plateau, il nous faut connaitre les règles du jeu et les objectifs à atteindre
(buts) et aussi les moyens pour représenter les positions dans le jeu. La position du début du
jeu peut être définie comme l’état initial et une position gagnante comme un état but, il peut y
avoir plus d’un coup légl permettant le transfert de l’état initial à d’autres états et conduisant
à l’état-but. Toutefois, les règles sont beaucoup plus abondantes dans la plupart des jeux,
en particulier dans les jeux d’échecs où ils dépassent le nombre de particules dans l’univers.
Ainsi, les règles ne peuvent pas en général être fournies de façon précise et les programmes
informatiques ne peuvent pas les gérer facilement. Le stockage présente également un autre
problème, mais la recherche peut être obtenu en faisant un hachage.

Le nombre de règles qui sont utilisés doit être réduit au minimum et l’ensemble peut
être produit en exprimant chaque règle dans une forme aussi générale que possible. La
représentation des jeux de cette manière conduit à une représentation de l’espace des états
et il est naturel pour les jeux bien organisés avec une structure.

Cette représentation permet la définition formelle d’un problème qui nécessite le déplacement
d’un ensemble de positions initiales vers un ensemble de positions cibles (buts). Cela signifie
que la solution consiste à utiliser des techniques connues et une recherche systématique. Cette
méthode est assez commune dans l’IA.

Description formelle d’un problème

Définir un espace d’états qui contient toutes les configurations possibles des objets pertinents,
sans énumérer tous les états de cet espace. Un espace d’états représente un problème en
termes d’états et des opérateurs qui changent ces états:

16
Unité 1. Fondements de l’intelligence artificielle

• définir certains de ces états comme états initiaux possibles;


• spécifier un ou plusieurs des solutions acceptables, ce sont des états buts;
• spécifiez un ensemble de règles comme étant des actions possibles autorisées.
Cela pousse à penser à la généralisation des règles, les hypothèses formulées
dans la présentation informelle et combien le travail peut être anticipé par
l’inclusion dans les règles.

La stratégie de contrôle n’est de nouveau pas pleinement discuté mais le programme de l’IA
a besoin d’une structure pour faciliter la recherche qui est une caractéristique de ce type de
programme.

Système de production

• un ensemble de règles comprenant chacune un côté gauche représentant


l’applicabilité de la règle et un côté droit les opérations à effectuer;
• une ou plusieurs bases de connaissances contenant des informations requises
pour chaque tâche;
• une stratégie de commande qui spécifie l’ordre dans lequel les règles seront
comparées à la base de données et les moyens de résoudre les conflits;
• un applicateur de règle

Choisir une technique de recherche approprié:

Quelle est la taille de l’espace de recherche?

Combien le domaine est - il bien structuré?

Quelles sont les connaissances sur le domaine à être utilisées pour guider la recherche?

Exemple: le problème de la cruche d’eau

Il ya deux cruches nommées quatre et trois; quatre peut contenir au maximum quatre litres et
trois au maximum trois litres. Comment pouvons-nous obtenir 2 litres dans la cruche quatre ?.
L’espace d’états est un ensemble de couples donnant le nombre de litres dans chaque cruche
à tout moment c’est - à - dire (quatre, trois), où quatre = 0, 1, 2, 3, 4 et trois = 0, 1, 2, 3 .L’état
initial est (0,0) et l’état but est (2, n) où n est quelconque, mais est limité à trois, dans notre
cas, de 0 à 3 litres. Les principales règles de production pour résoudre ce problème sont
présentées ci-dessous:

initialisation condition but commententaire

1 (quatre,trois) si quatre < 4 (4,trois) remplir quatre du robinet

2 (quatre,trois) si trois< 3 (quatre,3) remplir trois du robinet

3 (quatre,trois) si quatre > 0 (0,trois) vider quatre

4 (quatre,trois) si trois > 0 (quatre,0) vider trois

17
l’Intelligence Artificielle

5 (quatre,trois) si quatre+trois <4 (quatre+trois,0) vider trois

6 (quatre,trois) si quatre+trois<3 (0,quatre+trois) vider quatre dans trois

7 (0,trois) si trois >0 (trois,0) vider trois dans quatre

8 (quatre,0) si quatre >0 (0,quatre) vider quatre dans trois

9 (0,2) (2,0) vider trois dans quatre

10 (2,0) (0,2) vider quatre dans trois 11


(quatre,trois) si quatre <4 (4,trois-diff) pour diff, 4-quatre, dans quatre a partir de trois

12 (trois,quatre) si trois<3 (quatre-diff,3) pour diff, 3-trois, dans trois à partir de quatre et une
solution est donnée ci -dessous :

cruche quatre, cruche trois règle appliquée

0 0

0 3 2

3 0 7

3 3 2

4 2 11

0 2 3

2 0 10

Les stratégies de contrôle. Une bonne stratégie de contrôle devrait avoir l’exigence suivante:

• la première exigence est qu’il provoque des déplacements. Dans un programme


les pièces se déplacent sur le plateau et dans celui des cruches, l’eau est utilisée
pour remplir les cruches.

La deuxième condition est qu’elle soit systématique, cela est une exigence claire pour qu’il ne
soit pas judicieux de remplir une cruche et de la vider de façon répétée, ou aussi dans un jeu
de déplacer les pièces tour à tour, autour de la table de façon cyclique. Nous allons d’abord
examiner deux approches systématiques de la recherche.

Recherche heuristique : Une heuristique est une méthode qui pourrait ne pas toujours trouver
la meilleure solution, mais garantit de trouver une bonne solution dans un délai raisonnable.
En sacrifiant l’exhaustivité, elle augmente l’efficacité. Elle est particulièrement utile pour
résoudre les problèmes difficiles qui ne pouvaient pas être résolus de toute autre manière
ou si l’obtention d’une solution complète necessite un temps indéfiniment long c’est - à -dire
toute une vie. Exemple: Le problème de voyageur de commerce: Un vendeur a une liste de
villes à visiter et elle doit visiter chaque ville une seule fois. Il ya des routes distinctes entre les
villes. Le problème est de trouver le plus court chemin entre les villes de sorte que le vendeur

18
Unité 1. Fondements de l’intelligence artificielle

se rende dans chaque ville une seule fois. Supposons qu’il y ait N villes, puis une solution qui
pourrait fonctionner serait de prendre toutes les N! combinaisons possibles et de trouver la
plus courte distance nécessaire. Cela ne veut pas efficace ; avec N = 10, il existe 3 628 800
itinéraires possibles. Ceci est un exemple de l’explosion combinatoire. Il existe de meilleures
méthodes pour la solution, une d’elles est appelée ‘’branch and bound’’.

Conclusion
La conception des programmes de recherche. Chaque processus de recherche peut être
considéré comme un parcours d’arbre. L’objet de la recherche est de trouver un chemin à
partir d’un état initial à un état but en utilisant un arbre. Le nombre de nœuds générés pourrait
être immense et dans la pratique, un grand nombre de nœuds ne seraient pas nécessaires.
Le secret d’une bonne routine de recherche est de générer uniquement les nœuds qui sont
susceptibles d’être utiles. Plutôt que d’avoir un arbre, des règles explicites sont utilisées pour
représenter l’arbre implicitement et seulement pour créer des nœuds explicitement si cela est
necessaire. Les questions suivantes se posent lors de la recherche:

• l’arbre peut avoir une recherché avant : du nœud initial à l’état de but ou
recherche arrière : de l’état de but à l’état initial.
• comment sélectionner et appliquer ces règles , il est essentiel d’avoir une
procédure efficace pour appliquer ces règles aux états correspondants
• comment représenter chaque nœud du processus de recherche tel est le
problème de la représentation des connaissances ou le problème du cadre. Dans
les jeux un tableau suffit, mais pour d’autres problèmes il faut des structures de
données plus complexes.

La largeur premier ne prend pas en compte tous les nœuds générés, mais la profondeur peut
être modifiée. Vérification de nœuds doublons.

Évaluation
Générer tous les chemins complets et trouver la longueur du premier chemin complet. Si
le chemin suivant est plus court, enregistrer et passer et de cette manière abandonner tout
chemin lorsque sa longueur dépasse de loin la plus courte longueur du trajet. Bien qu’elle
est mieux que la méthode précédente, elle est toujours exponentielle. Recherche Heuristique
appliquée au problème du voyageur de commerce:

L’application de ce concept au problème voyageur de commerce.

1. sélectionner une ville au hasard comme un point de départ;

2. répéter

3. pour sélectionner la prochaine ville, avoir une liste de toutes les villes à
visiter et choisir le plus proche de la ville actuelle, puis avancer;

4. jusqu’à ce que toutes les villes soient visitées. Cela produit une amélioration
significative et réduit le temps de l’ordre N! à N.

19
l’Intelligence Artificielle

Le problème est décomposable en un ensemble de sous-problèmes approximativement


indépendants ou de plus petits problèmes très simples.

• Les étapes de la solution peuvent être ignorées ou du moins annulées si elles se


révèlent peu judicieuses.
• l’univers du problème est -il prévisible?
• une bonne solution pour le problème est -elle évidente sans comparaison à
toutes les autres solutions possibles?
• La solution désirée est -elle un état du monde ou un chemin vers un état?
• une grande quantité de connaissances est -elle absolument nécessaire pour
résoudre ce problème ou faut - il avoir une connaissance importante seulement
pour limiter la recherche?
• Un ordinateur peut - il donner à lui seul trouver la solution ou bien necessite - t- il
une interaction avec un humain?

Activité 1.3 - [Représentation des Connaissances]


Introduction

La base de connaissances est le stock des connaissances particulières du domaine. La base


de connaissances stocke les informations sur le domaine de l’objet. Toutefois, cela va plus loin
qu’une collecte passive d’enregistrements dans une base de données. Au contraire, il contient
des représentations symboliques des connaissances d’experts, y compris les définitions des
termes de domaine, les interconnexions des entités qui la composent, et les relations de cause
à effet entre ces composants. La connaissance de la base de connaissances est exprimée
comme une collection de faits et de règles. Chaque fait exprime la relation entre deux ou
plusieurs objets dans le domaine du problème et peut être exprimé en terme de prédicats.

Détails de l’activité
Connaissance de procédure

Connaissance codée dans certaines procédures :

• de petits programmes qui savent comment faire des choses spécifiques, la façon
de procéder.
• Par exemple un analyseur du langage naturel sait qu’un syntagme nominal peut
contenir des articles, des adjectifs et des noms. Il est représenté par des appels à
des routines qui savent comment traiter des articles, des adjectifs et des noms.
Problème dans la représentation des connaissances

Voici les questions énumérées qui devrait être soulevées lors de l’utilisation d’une technique de
représentation des connaissances:

20
Unité 1. Fondements de l’intelligence artificielle

Attributs importants: Y at-il des attributs qui se produisent dans de nombreux types de
problème? Il ya deux instance chacune d’elle est importante parce que prenant en charge la
propriété d’héritage.

Relations: Qu’en est-il de la relation entre les attributs d’un objet, comme inverses,
l’existence, les techniques de raisonnement sur les valeurs et les attributs à valeur unique.
Nous pouvons considérer un exemple d’inverse dans le cas suivant :

band(Andrew, Masikini, Banjul City)

Cela peut être interprété comme Andrew Masikini joue dans la bande Banjul City ou la bande
de Andrew Masikini est Banjul City.

Une autre représentation est

band = Banjul City membres-Band = Andrew Masikini ...... ..

Exemple 1:

Si Tom nourrit un chien alors il pourrait devenir: alimente (tom, chien)

Si Tom donne au chien un os comme: donne (tom, chien, os) sont-elles les mêmes?

Dans quel contexte donner de la nourriture à un objet devient - il l’alimenter ?

Si donner (x, nourriture) alimenter (x) alors que nous faisons des progrès.

Mais nous avons besoin d’ajouter certaines règles d’inférence.

Dans le célèbre programme sur les relations Louise est le cousin de Bill Comment représentons
- nous cela? louise = fille (frère ou sœur (père ou mère (Bill)))

Supposons que ce soit Chris alors nous ne savons pas si Chris est un homme ou une femme,
pour pouvoir appliquer fils ainsi.

Exemple 2: Représentation logique des Connaissances

Ici, nous allons mettre en évidence les grands principes impliqués dans la représentation
des connaissances. En particulier la logique des prédicats sera rencontrée dans d’autres
organismes de représentation des connaissances et des méthodes de raisonnement.

Symboles utilisés : les symboles logiques standards que nous utilisons dans ce cours sont les
suivants :

Quelque soit ∀

Il existe Ǝ

Implique →

Non ¬

Ou ˅

ET Ʌ

21
l’Intelligence Artificielle

La logique des prédicats est utilisée pour représenter la connaissance. Il ya d’autres façons,
mais cette forme est populaire.

La logique des prédicats


Un exemple: Considérez ce qui suit:

• Prince est une méga star.


• Les Mega stars sont riches.
• Les gens riches ont des voitures rapides.
• les voitures rapides consomment beaucoup d’essence.

et essayer de tirer la conclusion: la voiture du prince consomme beaucoup d’essence. Donc,


nous pouvons traduire Prince est une méga star en: mega_star (prince) et Mega star sont
riches en: ∀m: mega_star (m) riche (m) Les gens riches ont des voitures rapides, la troisième
axiome est plus difficile:

Propriétés de la connaissance des systèmes de représentation


Les propriétés suivantes doivent être possédés par un système de représentation des
connaissances:

Adéquation de représentation: la capacité de représenter les connaissances requises;

Efficacité d’inférence: la capacité de diriger les mécanismes d’inférence dans les directions les
plus productives en stockant guides appropriés;

Efficacité acquisitionnelle: la capacité à acquérir de nouvelles connaissances en utilisant des


méthodes automatiques mesure du possible, plutôt que le recours à une intervention humaine.

Approches de la représentation des connaissances:

Exemple 1: la connaissance relationnelle simple

Une façon simple pour stocker des faits.

• Chaque fait d’un ensemble d’objets est défini de façon systématique dans les
colonnes (figure ci-dessous)
• Peu de possibilité pour l’inférence.
• Base de connaissances pour les moteurs d’inférence.

22
Unité 1. Fondements de l’intelligence artificielle

Musician Style Instrument Age

John Macundi Jazz Trumpet Deceased

Andrew Masikini Rumbaa Saxophone 35

Lamin Njie Rapa Guitar Deceased

Pateh Thomas HipHop Guitar 47

Exemple 2: connaissances Héritables

Une connaissance relationnelle est composée d’objets, comprenant des attributs et des valeurs
associées correspondantes.Les valeurs peuvent être des objets avec des attributs et ainsi de
suite. Les flèches sont dirigées de l’objet vers sa valeur. Cette structure est connue comme
étant un réseau sémantique ou une collection de frames.

Conclusion
Apprentissage : se réfère à l’acquisition des connaissances. Ceci est plus qu’un simple ajout
de nouveaux faits à une base de connaissances. De nouvelles données peuvent être classées
avant le stockage pour faciliter la recherche, etc .. L’interaction et l’inférence avec des faits
existants pour éviter la redondance et la réplication dans la connaissance et aussi pour que les
faits puissent être mis à jour.

Évaluation de l’unité
Vérifiez votre compréhension!

[Écrire le titre de l’évaluation ici]

Directives
[Ajouter directives précises et instruments d’évaluation ici]

Lectures et autres ressources


Les lectures et autres ressorces de cette unité se trouvent au niveau des lectures et autres
ressources du cours.

23
l’Intelligence Artificielle

Unité 2. Programmation en
Intelligence Artificielle
Introduction à l’unité
Le cours donne aux étudiants la possibilité d’implémenter de nombreux algorithmes
classiques de l’IA et de les utiliser sous forme de modules dans de grands systèmes de l’IA afin
d’effectuer des tâches telles que la parole et le traitement d’image, le football simulé, le jeu au
poker, et la navigation robot.

Certaines des méthodes importantes de l’IA qui peuvent apparaître dans divers projets
comprennent l’algorithme A *, l’analyse moyens-fins, les arbres de décision, les algorithmes
génétiques, les réseaux de neurones, la classification bayésienne, le raisonnement par cas, le
renforcement et l’ensachage.

Grâce à ce travail, les étudiants acquerront une compréhension en profondeur de ‘’ l’IA dans la
pratique ‘’, par opposition à la combinaison de “l’IA en théorie” et “l’IA sur les problèmes de
jouets’’ que l’on retrouve dans le cours d’initiation et les cours de niveau intermédiaires en IA.

Objectifs de l’unité
À la fin de cette unité, vous devriez être capable de:

• avoir une expérience pratique dans la conception et la mise en œuvre des projets
relativement importants en IA,
• démontrer des informations précieuses sur pourquoi, quand et comment utiliser
des méthodes de l’IA dans les problèmes réels rencontrés en carrières techniques
• apprendre des idées et des techniques de base sur la conception des systèmes
informatiques intelligents
• mettre en pratique comment construire des agents qui dotés de raisonnement et
d’apprentissage
• maîtriser des applications de programme base pour des variétés de l’intelligence
artificielle.

24
Unité 2. Programmation en Intelligence Artificielle

Termes clés
Agent: tout ce qui peut être considéré comme ayant la capacité
de percevoir son environnement grâce à des capteurs et d’agir sur
l’environnement grâce à des actionneurs

Jeu: discute de la théorie et des algorithmes à travers des programmes


informatiques qui peuvent exécuter des jeux, comme les jeux d’échecs et le
sudoku.

Apprentissage automatique : Discute des algorithmes qui peuvent


automatiquement s’adapter à l’évolution des environnements à partir
des observations passées apprises. Elle comprend aussi la théorie sur les
systèmes à raisonnement probabiliste

Robotique : Discute des principes de base des systèmes robotiques, en


particulier le suivi automatique et la navigation.

Activités d’apprentissage

Activity 1.1 Agents: Perception, Décision et action


Introduction

Cette unité fournira à l’apprenant une introduction à l’IA sur des programmations qui
prennent en charge les applications de base de l’IA. En satisfaisant les objectifs de cette unité,
l’apprenant aura une familiarité avec la programmation en IA et sera en mesure de l’utiliser
dans des modèles à venir pour implémenter diverses applications de l’IA.

Détails de l’activité

Un agent est tout ce qui peut être considéré comme ayant une perception de son
environnement grâce à des capteurs et ayant une action sur cet environnement grâce à des
actionneurs. Les agents sont répartis en deux catégories, à savoir:

- agent humain : exemples

les yeux, les oreilles, et d’autres organes pour les capteurs; les mains, les jambes, la bouche, et
d’autres parties du corps pour les actionneurs.

Agent robotique: exemples

caméras et télémètres à infrarouges pour capteurs; divers moteurs pour actionneurs

agent rationnel : exemple

pour chaque séquence de perception possible, un agent rationnel devrait sélectionner une
action qui devrait maximiser sa mesure de performance, à partir des preuves fournies par la
séquence de perception et cela quelles que soient ses connaissances intégrées ; la mesure de

25
l’Intelligence Artificielle

performance: est le critère visé à travers le succès d’un agent et son comportement, la mesure
de performance d’un agent aspirateur pourrait être la quantité de saleté nettoyé, le temps
nécessaire, la quantité d’électricité consommée, la quantité de bruit généré, etc.

Les agents et leurs environnements

La fonction agent une fonction de l’historique des perceptions vers les actions :

[f: P* → A]

Le programme d’agent fonctionne sur l’architecture physique pour produire f

agent = architecture + program

Un exemple d’un agent au travail: opérations logiques d’un agent robotique

Un environnement pour aspirateur

Préceptes: localisation et état de l’environnement, par exemple, [A, Sale], [B, Propre]

Actions : Droite, Gauche, Aspirer, PasOp

Les agents peuvent effectuer des actions en vue de modifier les préceptes futurs pour obtenir
des informations utiles (informations de rassemblement, exploration). Un agent est autonome
si son comportement est déterminé par ses propres préceptes et l’expérience (avec la
capacité d’apprentissage et d’adaptation) sans dépendre uniquement sur la construction des
connaissances internes.

Avant de concevoir un agent intelligent, il nous faut d’abord spécifier son «environnement de
travail»:

26
Unité 2. Programmation en Intelligence Artificielle

PEAS : Mesure du rendement

Environnement

Actionneurs

Capteurs

Exemple: Agent = chauffeur de taxi

Mesure du rendement: Sûr, rapide, loyal, voyage confortable, maximise les profits

Environnement: Les routes, les autres types de circulation, les piétons, les clients

Actionneurs: volant, accélérateur, frein, signal, klaxon

Capteurs: Caméras, sonar, compteur, GPS, odomètre, capteurs de moteur, clavier.

Il existe cinq types de base en général :

• agent cherchant dans une table


• agents réflexes simples
• agents réflexes basés sur des modèles
• agents basés sur objectifs
• agents fondée sur l’utilité

27
l’Intelligence Artificielle

28
Unité 2. Programmation en Intelligence Artificielle

Règles et Programmation Logique


Nous avons maintenant passé beaucoup de temps à apprendre sur le langage de la logique
du premier ordre et les mécanismes d’inférence automatique. Et, nous avons également
constaté que (a) il est assez difficile d’écrire la logique du premier ordre et (b) assez cher à faire
l’inférence. Ces deux conclusions sont bien justifiées. Par conséquent, vous demandez peut-
être pourquoi nous avons passé le temps sur la logique.

Nous pouvons motiver notre étude de la logique dans une variété de façons. Pour l’un, il est le
fondement intellectuel

pour tous les autres modes de représentation des connaissances sur le monde. Comme nous
l’avons déjà vu, le Web Consortium a adopté un langage logique pour son projet de Web
sémantique. Nous avons également vu que les compagnies aériennes utilisent un langage
semblable à FOL pour décrire les restrictions tarifaires. Nous verrons plus loin quand on parle
de compréhension du langage naturel que la logique joue également un rôle clé.

Il y a une autre application pratique de la logique qui est raisonnablement répandue à


savoir la programmation logique. Dans cette section, nous allons examiner brièvement la
programmation logique. Plus tard, quand nous étudions la compréhension du langage naturel,
nous allons construire sur ces idées.

Logique en pratique
L’une des caractéristiques clés de la logique, par opposition aux langages de programmation,
mais comme les langues naturelles, est que, dans la logique que vous écrivez ce qui est vrai sur
le monde, sans dire comment l’utiliser. Ainsi, par exemple, on peut caractériser la relation entre
les parents et les grands-parents dans cette phrase sans donner un algorithme pour trouver
les grands-parents des petits-enfants ou un algorithme différent pour trouver les petits-enfants,
compte tenu des grands-parents.

Il existe, cependant, des approches pour obtenir une partie de l’efficacité tout en gardant une
grande partie de la puissance de la représentation. Ces approches impliquent à la fois limiter la
langue ainsi que la simplification des algorithmes d’inférence pour les rendre plus prévisibles.
Des idées similaires sont à la base à la fois la programmation logique et les systèmes à base de
règles. Nous biaiser notre présentation à la programmation logique.

Dans la programmation logique, nous allons également utiliser la représentation clausal que
nous avons calculé pour la résolution réfutation. Cependant, nous allons limiter le type de
clauses que nous allons examiner les clauses de Horn de classe appelé

Une clause est de Horn si elle a au plus un littéral positif. Dans les exemples ci-dessous, nous
montrons littéraux sans variables, mais la discussion applique aussi bien à la logique de
commande propositionnelle et le premier.

Il existe trois cas de clauses de Horn:

Une règle est une clause avec un ou plusieurs négatifs littéraux et exactement un littéral positif.
Vous pouvez voir que c’est la forme de clause d’une implication de la forme :

29
l’Intelligence Artificielle

p1 ^ P2 ^... ^

Pn -> Q, qui est, la conjonction du P implique Q.

Un fait est une clause avec exactement un littéraux littéral et pas négatifs positifs. Nous allons
généralement distinguer le cas d’un fait au sol, qui est, un littéral sans variables, à partir du cas
général d’un littéral avec des variables, qui ressemble plus à une règle inconditionnelle que ce
que l’on peut considérer comme un «fait».

En général, il y a un autre cas, connu comme une contrainte de cohérence lorsque la clause n’a
pas littéraux positifs. Nous ne traiterons pas avec ces plus loin, à l’exception du cas particulier
d’une clause de but conjonctif qui prendra cette forme (la négation d’une conjonction de
littéraux est une clause de Horn sans littéral positif). Toutefois, les clauses de but ne sont pas
des règles

Conclusion
Les concepts et les techniques de l’IA sont apprises en deux étapes: la théorie et la mise en
œuvre de la théorie dans les programmes. Les techniques de l’IA sont difficiles à programmer
et peuvent être obscurcies par les détails de la programmation. Afin de rendre ces techniques
explicites et de cacher les détails de la programmation, langues AI - tels que Lisp, Prolog,
Scheme, et d’autres - ont été définis pour avoir des caractéristiques linguistiques qui
soutiennent directement la mise en œuvre des techniques de l’IA.

L’utilisation de bibliothèques de classes et les bibliothèques de code source servent le même


but pour les langues à usage général, tels que C ++ et Java.

Évaluation

1. L’environnement de travail de taxi au volant est épisodique. Preuve qu’il est


vrai / faux

2. Un agent rationnel sera toujours atteindre son objectif. Preuve qu’il est vrai
/ faux

3. Agents d’échecs:

Considérez 2 agents intelligents jouant aux échecs avec une horloge.

L’un d’eux est appelé “bleu profond”, tandis que l’autre est appelé Garry Kasparov.

Préciser grossièrement l’environnement de travail pour “Deep Blue”. (Cela signifie spécifier
chaque lettre dans le “PEA”.

2. Déterminé chacune des propriétés suivantes à cet environnement:

1. totalement observable vs partiellement observable

2. déterministe ou stochastique

3. épisode ou séquentielle

4. statique, dynamique ou semi-dynamique

30
Unité 2. Programmation en Intelligence Artificielle

5. discrète ou continue

6. agent unique ou multi-agent

Expliquez vos réponses en détail avec des preuves ..

Activité 1.2 - Logique


Présentation

Dans cette unité, l’apprenant apprendra comment expliquer la syntaxe et la sémantique des
états logiques dans AI, écrire des déclarations, opérer sur des déclarations, appliquer les
règles de la logique de transformer une déclaration aux états équivalents, et d’évaluer les
déclarations tant dans le propositionnel et le prédicat calcul. Faire des inférences et de prouver
les déclarations dans la logique.

Détails de l’activité

Nous allons utiliser deux types de logique: la logique propositionnelle et la logique du


premier ordre. La différence entre les deux réside dans l’utilisation de variables. Logique
propositionnelle n’a pas de variables qui prennent des valeurs dans un domaine. Par exemple,
P est une phrase dans le calcul de la proposition qui est vrai ou faux. Un exemple pour le calcul
des prédicats est P (X, Y), où P est une relation et X et Y sont des variables qui prennent des
valeurs dans un domaine de discours. Le calcul des prédicats, aussi appelé le calcul de premier
ordre, étend le calcul propositionnel.

Introduction à la logique: Pourquoi avons-nous besoin d’une logique?

agents de résolution de problèmes étaient très rigides: coder en dur chaque état possible.

La recherche est presque toujours exponentielle du nombre d’états.

résolution de problèmes agents ne peuvent pas déduire des informations inobservée.

Connaissances et Raisonnement

Pour répondre à ces questions, nous allons en apprendre davantage sur:

Une base de connaissances (KB): une liste de faits qui sont connus pour l’agent.

Règles de déduire de nouveaux faits à partir de vieux faits en utilisant des règles d’inférence.

Logic fournit le langage naturel pour cela.

Exemple: Base de connaissances

Exemple: Base de connaissances

ensemble de phrases dans un langage formel.

approche déclarative à la construction d’un agent:

Dites-lui ce qu’il a besoin de savoir.

Demandez-lui ce qu’il faut faire → réponses devraient suivre de la KB

31
l’Intelligence Artificielle

Exemple 1 logique dans la recherche et la prise de décision

Description Wumpus mondiale PEAS

Mesure du rendement et des critères

or: +1000, la mort: -1000

-1 Par étape, -10 pour l’utilisation de la flèche

carrés adjacents à wumpus sont malodorantes

carrés adjacentes aux puits sont frais

brille si et seulement si l’or est dans le même carré

Le tir tue wumpus si vous êtes face à lui

Le tir utilise la seule flèche

Grabbing capte l’or si dans le même carré

Releasing laisse l’or dans le même carré

Capteurs: Puanteur, Breeze, Glitter, Bump, Cri

Les règles du monde caractérisation Wumpus

Pas entièrement Observable - seulement la perception locale

Déterministes Oui - résultats exactement spécifié

Épisodique Non - choses que nous avons un impact.

Statique Oui - Wumpus et Pits ne se déplacent pas

Oui Discrete

Un seul agent? Oui - Wumpus est essentiellement une caractéristique naturelle

32
Unité 2. Programmation en Intelligence Artificielle

Exemple 2.1: Explorer un monde wumpus

33
l’Intelligence Artificielle

Exemple 2.2

Exemple 3 : logique

Nous avons utilisé un raisonnement logique pour trouver l’or.

La logique est un langage formel pour représenter des informations telles que des conclusions
puissent être tirées

La syntaxe définit les phrases dans le langage

34
Unité 2. Programmation en Intelligence Artificielle

La sémantique définit le sens des phrases,

à savoir, définir la vérité d’une phrase dans un monde (un environnement)

Par exemple, l’expression arithmétique

x + 2 ≥ y est une phrase; x2 + y> {} n’est pas une phrase

x + 2 ≥ y est vrai dans un monde où x = 7, y = 1

x + 2 ≥ y est faux dans un monde où x = 0, y = 6

implication

Implication signifie qu’une chose découle de l’autre:

KB = α

Base de connaissances KB implique phrase α si et seulement si α est vrai dans tous les mondes
où KB est vrai

Exemple: x + y = 4 comporte 4 = x + y

Des modèles:

Les logiciens pensent généralement en termes de modèles, qui sont des mondes
formellement structurés, à l’égard desquels la vérité peut être évaluée

Nous disons que m est un modèle d’une phrase α si α est vrai dans m

M (α) est l’ensemble de tous les modèles de α

Ensuite, KB = α si M (KB) ⊆ M (α)

Exemple: KB = les géants ont gagné et les rouges ont gagné

α = les géants ont gagné

Logique propositionnelle: Syntaxe:

35
l’Intelligence Artificielle

la logique propositionnelle est la logique la plus simple - illustre les idées de base -

Les symboles de proposition P1, P2, etc sont des phrases

SI S est une proposition alors , ¬S est une proposition (negation)

Si S1 et S2 sont des propositions alors , S1 ∧ S2 est une proposition (conjonction)

Si S1et S2 sont des propositions alors , S1 ∨ S2 est une proposition (disjonction)

Si S1 et S2 sont des propositions alors,S1 ⇒ S2 est une proposition (implication)

Si S1 et S2 sont des propositions alors , S1 ⇔ S2 est une proposition (équivallence)

Activité 1.3 - [Ajouter un titre ici]


Introduction

[Ajouter le texte ici]

Détails de l’activité

[Ajouter le texte ici y compris les instructions et les ressources activité]

Évaluation de l’unité
Vérifiez votre compréhension!

[Écrire le titre de l’évaluation ici]

Lectures et autres ressources


Les lectures et autres ressorces de cette unité se trouvent au niveau des lectures et autres
ressources du cours.

36
Unité 3. Apprentissage automatique et jeux

Unité 3. Apprentissage
automatique et jeux
Introduction à l’unité
L’apprentissage automatique est un des domaines de l’Intelligence Artificielle. Il consiste à
doter l’ordinateur de capacités pour se programmer lui - même, au lieu de le programmer
manuellement ; ainsi il pourra résoudre de nouveaux problèmes à partir de données déjà
fournies (exemples). L’ordinateur doit améliorer ses performances à partir de tâches déjà
observées, il doit s’auto-programmer, il doit élaborer de nouvelles connaissances à partir
d’expériences fournies. L’objectif est d’appliquer les règles apprises sur de nouveaux exemples.
Il est utilisé lorsque le programme est trop complexe pour être traité de façon manuelle, ou
lorsqu’on manque d’informations sur la tâche à résoudre, ou lorsque les données évoluent
avec le temps ou lorsque le système se comporte différemment selon les utilisateurs…

Il est utilusé dans beaucoup de domaines dont :

• les moteurs de recherche


• la reconnaissance des caractères manuscrits
• la reconnaissance visuelle
• la reconnaissance de la parole
• la détection de fraudes
• l’aide au diagnostique
• la détection de données manquantes
• la robotique etc
Le langage, mais aussi l’apprentissage, sont deux des domaines les plus difficiles en IA car
ils nécessitent plusieurs autres facultés. Les agents intelligents doivent apprendre de leur
expérience : comment un agent peut-il être qualifié d’intelligent s’il est incapable d’apprendre?
En ingénierie des connaissances, l’apprentissage automatique offre une solution au problème
de l’acquisition des connaissances : Initialement, une quantité minimum de connaissances peut
être modélisée, le reste pouvant être appris par le système à partir d’exemples du domaine.

Plusieurs enjeux importants en apprentissage automatique :

• Le problème de la g énéralisation: comment une machine peut-elle


identifier des invariants dans un ensemble de données de manière à ce que ces
invariants puissent être mis à profit lors de la résolution de futurs problèmes?
• Le problème de l’induction biaisée: comment un programmeur utilise-t-il ses
propres intuitions et heuristiques dans la conception de représentations, de
modèles ou d’algorithmes qui supportent le processus d’apprentissage? Le
problème est que, bien que ces inductions biaisées rendent possible
l’apprentissage, elles limitent du même coup ce qui peut être appris par le
système.

37
l’Intelligence Artificielle

• Le problème du dilemme de l’empiriste : s’il n’y a aucune induction biaisée


dans la conception du système d’apprentissage, 1) comment le système peut-il
apprendre quoique ce soit d’utile? 2) comment le système peut-il savoir qu’il a
appris quelque chose ?

On distingue 3 types d’apprentissages :

• l’apprentissage supervisé
• l’apprentissage non supervisé
• l’apprentissage par renforcement

Les données sont appelées exemples d’apprentissage.

Pour la procédure, on divise l’ensemble des données en deux parties :

• une partie est utilisée pour les tests : données d’entrainement


• une partie est utilisée pour mésurer la performance : données
d’évaluation.
Après, il s’agit de voir si la machine peut appliquer la méthode à de nouvelles données.

Objectifs de l’unité
À la fin de cette unité, vous devriez être capable de:

• choisir les modes de représentation les plus appropriés dans un contexte


donné
• résoudre des problèmes en utilisant des techniques de résolution de l’IA
• concevoir et implémenter des solutions en utilisant une approche déclarative

Termes clés
[Apprentissage]: auto - programmation de l’ordinateur

[Arbre de décision]: arbre informatique dont les feuilles


correspondent à des décisions à prendre

[Classifier]: Séparer des données suivant un critère donnée

[Exemple d’entrainement]: un ensemble de données fournies à


l’ordinateur

38
Unité 3. Apprentissage automatique et jeux

Activités d’apprentissage

Activité 1.1 - Apprentissage supervisé


Introduction

Dans l’apprentissage supervisé, les données fournies sont sous la forme de couples (xi,yi) où
xi est l’entrée et yi la cible correspondant à xi : yi est le résultat attendu pour l’entrée xi. On dit
que les données sont étiquetées. La solution de la tâche est connue pour un certain nombre
d’observations. Elles sont généralement étiquetées par un superviseur (expert humain), d’où le
nom d’apprentissage supervisé.

Lorsque la cible yi prend des valeurs discrètres (des valeurs dans ), on parle de classification et
lorsque yi prend des valeurs réelles, on parle de régression.

Il y a un certain nombre d’algorithmes pour ce domaine :

• les arbres de décision


• les réseaux de neurones
• les machines à vecteurs de support

Nous verrons en détail comment fonctionne l’algorithme des arbres de décision.

Détails de l’activité

Apprentissage supervisé : arbre de décision

Un arbre est constitué de noeuds et d’arcs. Les noeuds sont reliés par des arcs. Le noeud, le
plus en haut est appelé racine. Les noeuds terminaux sont appelés feuilles (voir fig 1)

Pour la méthode des arbres de décision, il s’agit de construire un arbre de décision à partir
d’un ensemble d’exemples étiquettés. A l’aide de cet arbre on peut étiquetter de nouvelles
instances. En entrée, on a un multi-ensemble d’exemples : E ⊂A〖〖〖1_ ×A2×...×An×C〗_
〗_ 〗_où les Ai sont des attributs et C est l’attribut cible.

39
l’Intelligence Artificielle

Chaque attribut A a un domaine de valeurs possibles : dom(A). Les

domaines ici sont des ensembles finis. En sortie on aura une fonction

qui montre comment classer tous les éléments de .

Il y a plusieurs fonctions possibles, il s’agit de trouver celle qui donne la

meilleure réponse pour tous les éléments de

Prenons un exemple où il s’agit de connaître si un message est un spam oui ou non. Donc C =
spam, et dom(C) ={oui, non}. Le tableau suivant donne un ensemble de 7 exemples

Auteur Mots Clés Lien HTML Majuscule Spam

connu oui oui non non

inconnu non non oui oui

inconnu oui non non non

inconnu oui oui oui oui

connu non non non non

inconnu non non non non

connu oui non non non

Les attributs sont : Auteur, Mots clés, Lien HTML, Majuscule et l’attribut cible qui est Spam.

dom(Auteur ) ={connu, inconnu}

dom(Mots clés)={oui, non}

dom(Lien HTML)={oui, non}

dom(Majuscule)={oui,non}

dom(Spam)={oui,non}

On peut avoir comme arbre de décision comme l’arbre ci – dessous

40
Unité 3. Apprentissage automatique et jeux

Les arcs sont étiquetés par des valeurs du domaine du nœud dont ils découlent.

Comment trouver le meilleur arbre, c’est – à – dire qui a un bon taux de couverture, comment
choisir la racine ? Ce sont des heuristiques qui nous permettent de répondre à de telles
questions. Parmi les heuristiques, une qui est plus connue est celle du gain d’information. Il
s’agit de voir parmi tous les attributs, celui qui a le plus grand gain d’information. Cette notion
de gain conduit à la notion d’entropie. L’entropie mesure combien les différents classes sont
melangées.

Avec un ensemble D réparti en n classes différentes, l’entropie est définie par :

où pi est la proportion d’éléments dans D qui sont étiquetés par la ième classe.

Dans l’exemple ci-dessus, on a

Nous avons H(D)= 0.86, car il ya 2/7 oui et 5/7 non

Le gain d’information d’un attribut est défini comme suit :

désigne les éléments de D ayant la valeur x pour l’attribut A

Calculons par exemple les entropies pour les valeurs de l’attribut Auteur

car pour la valeur connu de Auteur, il y a 3 non (Spam) et 0 oui.

car pour la valeur inconnu de Auteur il y a 2 non (Spam) et 2 oui (Spam).

Calculons maintenant le gain d’information pour auteur

Car pour l’attribut Auteur, nous avons 3 connu et 4 inconnu

On aura :

On fait de même pour tous les attributs, l’attribut ayant le plus grand gain sera pris comme
racine.

Une fois la racine choisie, on procède de la même manière pour les autres attributs.

41
l’Intelligence Artificielle

Conclusion
Dans cette partie, on a parlé d’un type d’apprentissage : l’apprentissage supervisé et d’un
algorithme pour ce type : l’algorithme des arbres de décision. A partir de données étiquetées,
on construit un arbre de décision qui permettra de classer toute nouvelle donnée qu’on lui
fournit. Les noeuds de cet arbre sont déterminés grâce à des calculs de gain d’information.
Ces gains d’information sont à leur tour calculés à l’aide d’entropie.

Activité 1.2 - Apprentissage non supervisé


Présentation

L’objectif de l’apprentissage non supervié est de regrouper les données non étiquetés en
fonction de leur similarité. Dans ce cas on ne dispose que d’exemples, pas d’étiquettes
(données brutes), le nombre de classes et leur nature n’ont pas été prédéterminés et doit
dégager des points communs entre ces données, on parle d’apprentissage non supervisé ou
clustering. Aucun expert n’est sollicité.

On parlera dans les détails un des algorithmes utilisés : l’algorithme des K-moyennes.

Détails de l’activité
L’algorithme des K-moyennes est un algorithme utilisé en apprentissage non supervisé. Pour
cela on procède comme suit :

a) choisir aléatoirement k

b)créer k groupes au hasard et déterminer leurs centres

c) réaffecter chaque objet au groupe dont le centre est le plus proche

d) recalculer le centre de chaque groupe

e) répéter les étapes c) et d) jusqu’à convergence (les centres ne


changent plus)

A titre d’exemple, nous disposons d’un ensemble A={1,2,3,6,7,8,13,15,17}. Appliquons


l’algorithme des K-moyennes à cet ensemble pour classifier ses éléments.

Prenons k = 3

Nous prenons donc 3 groupes g1,g2 et g3 de centres respectifs 1,2 et 3.

Nous calculons la distance entre chaque élément et le centre, en prenant comme distance
d(x,y) = |x-y|

Aidons - nous d’un tableau pour faciliter la tâche.

pi 1 2 3 6 7 8 13 15 17

d(c1,pi) 0 1 2 5 6 7 12 14 16

d(c2,pi) 1 0 1 4 5 6 11 13 15

42
Unité 3. Apprentissage automatique et jeux

d(c3,pi) 2 1 0 3 4 5 10 12 14

dist 0
min

0 3 4 5 10 12 14

On a donc g1={1}, c1=1,

g2={2}, c2 =2,

g3 ={3,6,7,8,13,15,17}, c3 = 9.86 (le centre de gravité des points)

On recalcule, les distances entre les points et les nouveaux centres.

pi 1 2 3 6 7 8 13 15 17

d(c1,pi) 0 1 2 5 6 7 12 14 16

d(c2,pi) 1 0 1 4 5 6 11 13 15

d(c3,pi) 8.86 7.86 6.86 3.86 2.86 1.86 3.14 5.14 7.14

dist 0
min

0 1

3.86 2.86 1.86 3.14 5.14 7.14

On constate que g1={1}, c1={1}

g2={2,3}, c2=2.5

g3={6,7,8,13,15,17}, c3 = 11

On recalcule les distances entre les points et les nouveaux centres

On constate que g1={1}, c1={1}

g2={2,3}, c2=2.5

g3={6,7,8,13,15,17}, c3 = 11

43
l’Intelligence Artificielle

On recalcule les distances entre les points et les nouveaux centres

pi 1 2 3 6 7 8 13 15 17

d(c1,pi) 0 1 2 5 6 7 12 14 16

d(c2,pi 1.5 0.5 1.5 3.5 4.5 5.5 10.5 12.5 14.5

d(c3,pi) 10 9 8 5 4 3 2 4 6

dist 0
min

0.5 1.5 3.5

4 3 2 4 6

g1={1}, c1 = {1}

g2={2,3,6} c2 = 3.67

g3= {7,8,13,15,17}, c3 = 12

Recalcul des distances

pi 1 2 3 6 7 8 13 15 17

d(c1,pi) 0 1 2 5 6 7 12 14 16

d(c2,pi) 2.67 1.67 0.67 2.33 3.33 4.33 9.33 11.33 13.

d(c3,pi) 11 10 9 6 5 4 1 3 5

dist 0 1
min

0.67 2.33 3.33

4 1 3 5

44
Unité 3. Apprentissage automatique et jeux

G1={1,2} c1= 1.5

g2={3,6,7}, c2=5.33

g3={8,13,15,17} , c3=13.25

g1={1,2,3}, c1=2

g2={6,7,8}, c2 =7

g3={13,15,17},c3 = 15

Recalcul des
centres

pi 1 2 3 6 7 8 13 15 17

d(c1,pi) 1 0 1 4 5 6 11 13 15

d(c2,pi) 6 5 4 1 0 1 6 8 10

d(c3,pi) 14 13 12 9 8 7 2 0 2

dist min 1 0

1 0 1

2 0 2

G1={1,2,3}, c1=2

g2={6,7,8}, c2 = 7

g3={13,15,17}, c3 =15

Nous constatons que les centres ne changent pas.

Donc nous avons pu regrouper l’ensemble en 3 groupes g1={1,2,3}, g2={6,7,8} et

g3 = {13,15,17} avec comme centres respectifs 2, 3 et 17.

Conclusion
A partir d’un jeu de données sans étiquettes, on fait un regroupement de ces mêmes données
suivant des points similaires. L’apprentissage non supervisé est utilisé dans plusieurs domaines
dont la céismologie.

45
l’Intelligence Artificielle

Évaluation
Dans le plan, on considère les points p1(1,3), p2(3,3), p3(4,3), p4(5,3),p5(1,2), p6(4,2), p7(1,1)
et p8(2,1). A l’aide de l’algorithme du k-moyenne et pour k = 2, faire un regroupement de ces
points.

Activité 1.3 - jeu


Introduction

Les jeux sont également un des domaines de prédilection de l’Intelligence Artificielle. Au délà
de l’aspect ludique du jeu, on s’interesse, grâce à des heuristiques à des aspects généraux de
recherche de solution. Au début, on se servait de la seule puissance de calcul des ordinateurs
en envisageant un grand nombre de voies en un temps record. Mais l’explosion combinatoire
des problèmes a conduit à envisager l’utilisation d’heuristiques pour mieux résoudre les
résoudre. Puis, il y a eu l’apparition de plans d’action pour atteindre le but visé, c’est – à – dire
battre l’adversaire.

Détails de l’activité

On s’interesse aux cas où on a deux joueurs : J1 et J2, le jeu est asynchrone, c’est – à -dire
chaque joueur a son tour de jouer, il est à information complète, chaque joueur sait tout de la
situation de jeu à chaque instant. On se met dans la situation où J1 est le premier à jouer. Un
jeu peut être vu comme étant un arbre dont :

• la racine est l’état actuel du jeu


• les nœuds à profondeur pair correspondent aux cas où J1 doit jouer
• les nœuds à profondeur impair correspondent aux cas où J2 doit jouer
• un arc correspond à un coup joué et lie un état où ce coup est autorisé à l’état
résultant de l’application du coup
• les feuilles correspondent aux fins de partie : (les états perdants, gagnants ou nuls
pour J1)
• un chemin allant de la racine à une feuille décrit une partie.

Il y a plusieurs algorithmes, parmi lesquels l’algorithme du minMax, décrit ci-dessus. C’est un


jeu à somme nulle qui s’applique à deux joueurs Min et Max ; Max joue le premier

• une situation gagnante pour Max vaut +1 ;


• une situation perdante pour Max vaut -1 ;
• une situation nulle vaut 0.

Il s’agit de développer l’arbre pour le jeu, on note chaque feuille avec sa valeur, puis on fait
remonter ces valeurs avec l’hypothèse que chaque joueur choisit le meilleur coup pour lui.
Ainsi Max choisit le coup amenant à l’état de valeur maximale, Min choisit le coup amenant à
l’état de valeur minimale. Le joueur Max est appelé le joueur maximisant (ou joueur), le joueur

46
Unité 3. Apprentissage automatique et jeux

Min est appelé le joueur minimisant (ou adversaire).

Un état du jeu est une configuration du jeu , par exemple : l’état d’un jeu d’échec est
l’ensemble de toutes les positions des pièces sur l’échiquier

L’ état initial est l’état de jeu avant que les joueurs aient joué, et l’état final est un état mettant
fin au jeu (gagné, perdu, égalité)

Le gain d’un état est la valeur gagnée par un joueur s’il atteint l’état donné. Un coup est une
action permettant de passer le jeu d’un état à un autre .

Par exemple : déplacer un pion de A en B

Les fils d’un état ei, sont les états atteignables depuis cet état. On les désigne par f(ei).

On définit une fonction heuristique, notée h, qui associe une valeur à chaque état du jeu, cela
nous permet de savoir les gains.

Algorithme du MinMax.

Fonction Minimax ( e , d )

Entrées : nœud e, profondeur d

Sorties : Valeur Minimax du nœud e

si final ?(e) ou (d == 0) alors retourne h ( e )

sinon

si joueur ?(e) alors

retourne max { Minimax ( e i , d − 1 ) ∣ e i ∈ f ( e )}

sinon

retourne min { Minimax ( e i , d − 1 ) ∣ e i ∈ f ( e )}

Conclusion

L’algorithme du MiniMax s’applique à la théorie des jeux pour les jeux à deux joueurs à
somme nulle (et à information complète) consistant à minimiser la perte maximum. Il amène
l’ordinateur à revoir toutes les possibilités pour un nombre limité de coups et à leur assigner
une valeur qui prend en compte les bénéfices pour le joueur et pour son adversaire. Le
meilleur choix est alors celui qui minimise les pertes du joueur tout en supposant que
l’adversaire cherche lui aussi à les maximiser (le jeu est à somme nulle).

Évaluation
Sur une table sont disposés des brin d’ allumettes. Chaque fois que c’est le tour d’un joueur, il
choisit 1, 2 ou 3 brins en même temps. Le joueur qui

à retirer la dernière allumette est le perdant. Faire l’arbre MINIMAX pour la situation avec 5
allumettes

47
l’Intelligence Artificielle

Résumé de l’unité
Cette unité a porté sur l’apprentissage automatique, et sur les jeux. L’apprentissage
automatique est un domaine très prisé en intelligence artificielle, car il ne s’agit plus de
programmer manuellement l’ordinateur (ce qui est fastidieux dans certains cas), mais plutôt de
fournir à l’ordinateur des capacités lui permettant lui - même d’apprendre, c’est - à - dire de
s’auto-programmer. Il y a plusieurs types d’apprentissages et chaque type englobe plusieurs
algorithmes. Les jeux ne sont pas restés en marge dans l’Intelligence Artificielle, dès ses
premiers débuts elle s’est interessé aux jeux. Cette rubrique sur les jeux n’a cessé d’évoluer,
et il y a même eu des ordinateurs qui ont battu des champions du monde. Cette partie aussi
comporte plusieurs algorithmes parmi lesquels l’algorithme du minimax décrit ci-haut.

Évaluation de l’unité

Vérifiez votre compréhension!

Evaluation pour apprentissage automatique

Directives
A partir des données de la table ci-après, faire un arbre de décision.

Évaluation
A partir de l’algorithme du minimax, décrire une partie de tic-tac-toe.

Lectures et autres ressources


Les lectures et autres ressources de cette unité se trouvent au niveau des lectures et autres
ressources du cours.

48
Unité 4. Représentation des connaissances et langage naturel

Unité 4. Représentation des


connaissances et langage naturel
Introduction à l’unité

De nos jours, où l’informatique est un outil incontournable, on assiste à un besoin de plus


en plus grandissant de la manipulation de l’information, surtout sa transmission. Cette
manipulation ne peut se faire sans une convention à grande échelle de la représentation des
connaissances. Ainsi bon nombres de formalismes ont vu le jour pour faciliter sa representation,
les mots et les phrases ne suffisant plus.

Il faut aussi noter la necessité grandissante pour l’homme de dialoguer avec les ordinateurs,
non pas avec un langage artificiel, mais avec la langue utilisée par l’humain : le langage naturel.
Cette unité permettra de savoir quelques techniques utilisées pour la représentation des
connaissances et le langage naturel.

Objectifs de l’unité
À la fin de cette unité, vous devriez être capable de:

• citer les différents paradigmes de représentation des connaissances


• représenter des concepts à l’aide de paradigmes cités
• Mettre sous formes logiques des énoncés proposés
• décrire un réseau sémantique représentant une situation particulière
• faire des déductions à partir d’un arbre sémantique
• citer les différents niveaux d’élaboration du langage naturel
• citer quelques sites utilisant des programmes pour langage naturel

Termes clés
Connaissance : Ce que l’on a appris par l’étude ou la pratique.

Représentation des connaissances : transcription de celles – ci sous une


forme conventionnelle

Logique propositionnelle : étude assertions pouvant prendre des valeurs


vraies ou fausses

Logique du premier ordre : extension de la logique propositionnelle


avec ajout de variables et de quantificateurs

Réseaux sémantiques : arbres dont les nœuds étiquetés représentent des


concepts

49
l’Intelligence Artificielle

Morphologie : étude des mots et de leurs déclinaisons

Syntaxe : règles de combinaisons des mots pour donner des phrases


sensées

Sémantique : s’occupe plutôt du sens des mots

Pragmatique : pour exprimer un choix, un désir, un sentiment mais pas de


façon implicite.

Activités d’apprentissage

Activité 1.1 - Représentation des connaissances


Introduction

Il s’agit de la transcription sous forme symbolique des connaissances pour qu’elles


puissent être exploitées par un système de raisonnement. On distingue plusieurs types de
connaissances :

Ainsi, une connaissance peut être :

• toujours vraie
• évolutive
• incertaine
• floue
• typique
• ambiguë

Pour la représentaion on distingue deux aspects :

• les structures de données


• les méthodes pour exploiter ces données. Ceci nous permet d’aborder ce sujet
en parlant des cas suivants :
• les représentations logiques
• les réseaux sémantiques
• Détails de l’activité

Comme dit précédemment, la représentation des connaissances sera abordée sous deux
aspects : les représentations logiques et les réseaux sémantiques.

50
Unité 4. Représentation des connaissances et langage naturel

Les représentations logiques


Logique des propositions

C’est des assertions capables de prendre des valeurs vrai ou faux dans un univers donné. Ces
assertions sont composées de prédiacts et de leur arguments. On peut leur associer des
opérateurs pour donner d’autres assertions : ¬ (négation) , ^ (et), v (ou) , => (implication), <=>
(équivalence).

Exemple : poisson(saumon) désigne poisson comme étant un prédicat et poisson son


argument. Cette assertion prend la valeur ‘’vrai’’ si on interprète que : le saumon est un
poisson.

On avoir plusieurs arguments : queue (cheval, longue) : la queue du cheval est longue.

Logique des prédicat du 1er ordre

La logique des proposition présentant des insuffisances, celle des prédicats du 1er ordre en est
une extension, avec l’introduction des variables notées : u,v,w, etc. qui peuvent être quantifiées
avec le quantificateur universel , ou le quantificateur existenciel . Elle est dite de 1er ordre car
ce sont les variables qui sont quantifiées et non les prédicats .

Par exemple : x P(x), veut dire que la proposition P(x) est vraie pour tous les éléments x du
domaine de définition de P.

( y) Q(y), veut dire qu’il existe au moins un élément y du domaine pour lequel Q(y) est vraie.

Exemples de formules :

( x ) (PAYS(x) ^ CAPITALE(x, Bamako))

( x) (ELEPHANT(x) => OREILLES(x, larges))

Le raisonnement en logique :

C’est produire de nouvelles formules à partir de formules existantes. Pour cela, il y a des règles
que fournissent certains logiciels comme le logiciel PROLOG. Ces règles sont :

• la règle du ‘’modus ponens’’ : P et P=>Q, permettent de prouver que Q est vrai

Exemple : INFORMATICIEN(x) => OUTIL(x, ORDINATEUR) et INFORMATICIEN(JEAN)


permettent de déduire OUTIL(JEAN,ORDINATEUR). Cet mécanisme est appelé unification ou
filtrage.

• la règle du ‘’modus tollens’’ : à partir de P => Q et on déduit



Exemple : PROFESSEUR(x) => TOGE(x,BLEUE) et donc

• le principe de résolution : Elle permet de construire une nouvelle clause à partir


de deux clauses considérées comme étant des clauses parents. Une clause étant
une disjonction entre plusieurs formules simples.

51
l’Intelligence Artificielle

Les réseaux sémantiques

Un réseau sémantique est un graphe dont les nœuds étiquetés représentent des concepts et
les arcs des relations traduisant de sens entre les concepts. Ces rel tions peuvent
se traduire par des expressions du genre ‘’ est une sorte de ‘’ ou ‘’ est un ‘’ ou d’autres
expressions traduisant les compléments circonstanciels.

Exemple :

Remarque :
Les réseaux sémantiques représentent généralement des connaissances dont les liens sont de
nature hiérarchique.

Conclusion
La représentation des connaissances par la logique présente certains défauts, car le système
est basé sur les connaissances des développeurs et aussi il est impossible d’implémenter des
modules qui expliquent les comportements intelligents.

Les réseaux sémantiques quant à eux conviennent pour la représentation de classifications et


dans ce cas les seuls liens sont ceux qui se limitent aux relations hiérarchiques du type “est un “
et “est une sorte de “. Cette représentation avait pour ambition de constituer un modèle de la
mémoire

52
Unité 4. Représentation des connaissances et langage naturel

humaine.

Évaluation

1. Quels sont les types de paradigmes de représentation des connaissances


abordés ici ?

2. A l’aide de la logique de 1er ordre représenter les propositions suivantes :

a) Tout professeur d’informatique possède une toge blanche

b) Il y a au moins un oiseau qui ne vole pas

c) Si A est un étudiant et si A a validé plus de 3 crédits non valides,


alors A est ajourné.

3. Représenter les propositions suivantes à l’aide de réseaux sémantiques :

a) Issa travaille au service ORANGE. Ce service fait partie du


ministère de la communication. Mariam est l’epouse de Issa, elle
travaille au service Malitel qui fait aussi partie du ministère de la
communication. Moussa et Hawa sont les enfants de Issa et Mariam.
Moussa est dans une école appelée Castor et Hawa dans une école
appelée Futé. Moussa aime son chat qui est un felin.

b) Un mammifère est un animal. Un oiseau est un animal. Le chien


est un mammifère. Le chat est un mammifère. Le coq est
un oiseau. Le pigeon est un oiseau. Le coq et le pigeon mangent
des graines. Le chat et le chien possèdent des poils et mangent des
oiseaux. Les oiseaux possèdent des plumes.

Activité 1.2 - Traitement du langage naturel


Présentation

Le traitement du langage naturel est un domaine qui résulte d’efforts conjugués des linguistes
et des informaticiens. Il se fait par le biais du traitement sur le codage des informations
(algorithmes). De nos jours un des défis de l’IA est de pouvoir utiliser le langage naturel pour
communiquer avec la machine. Le traitement du langage naturel intervient dans plusieurs
domaines :

• la traduction automatique
• la correction orthographique
• la reconnaissance de la parole
• la synthèse de la parole
• les moteurs de recherche
• Détails de l’activité

53
l’Intelligence Artificielle

On distingue plusieurs niveaux de traitement du langage naturel, nous prenons ici le cas des
textes. Il s’agit de :

niveau morphologique :
La morphologie est l’étude des morphèmes et des types de combinaisons existant entre ces
morphèmes. Le morphème est la plus petite entité linguistique ayant un sens et une forme. On
distingue les morphèmes lexicaux et les morphèmes grammaticaux (affixes). Les morphèmes
lexicaux ou lexèmes se refèrent à des objets du monde tels que les noms, les verbes et les
adjectifs, tandis que les grammaticaux jouent un rôle grammatical ; ils se combinent aux
lexèmes pour donner d’autres mots. Les lexicaux ont une liste extensible (choquant, hyper
choquant) tandis que la liste des grammaticaux est figée. Dans un système de TALN, l’analyse
morphologique a pour objectif principal de reconnaître les propriétés grammaticales des mots,
d’identifier des entités nommées telles que les noms d’objets.

• niveau syntaxique : Il s’agit d’élaborer des règles pour la combinaison des mots
en vue d’obtenir des phrases. Ces règles parlent de la nature des constituants de
la phrase, de la structure hiérarchique des constituants. Ce niveau est beaucoup
utilisé pour la compilation des langages de programmation.

• niveau sémantique : pour les sens des “mots”. IL met une correspondance entre
des situations du monde réel et les structures reconnues par le niveau syntaxique.
Un mot n’a pas de sens que quand il est utilisé dans un contexte.
• le niveau pragmatique : interprétation au sens général permettant de lever des
ambiguités par rapport à certains concepts. Il porte sur certaines attitudes à
prendre vis – à – vis des énoncés : probalité, déisrabilité, vérité.

La pragmatique peut évoluer au cours du temps dans un dialogue.

Conclusion

Le traitement du langage naturel est de nos jours beaucoup utilisé dans l’industrie (industrie
du langage) , les recherches sont toujours pointées vers ce domaine même si les réalisations
restent encore à désirer. Les tendances actuelles sont :

• utilisation de la logique pour le traitement des aspects propres au langage


• interaction entre analyse syntaxique et analys sémantique
• tolérances aux fautes, aux mots et tournures inconnus
• dialogue approfondi entre l’homme et la machine.

54
Unité 4. Représentation des connaissances et langage naturel

Évaluation
Le sens des phrases importe peu ici.Nous disposons d’une mini-grammaire :

a. Une phrase est formée d’un groupe nominal accompagné d’un groupe verbal.

b. Un groupe nominal : article + nom commun

c. Un groupe verbal : verbe + groupe nominal

d. Les seuls articles connus sont le et la.

e. Les seuls noms communs connus sont chien et viande

f. Le seul verbe connu est aime.

Ecrire toutes les phrases possibles qui respectent les règles de cette mini-grammaire. Il doit y
en avoir 16 en tout.

Identifiez celles qui comportent des erreurs au niveau sémantique et celles qui comportent
des erreurs au niveau syntaxique. Une phrase comme “ chien aime viande “ comporte erreurs
syntaxiques mais reste compréhensible.

Résumé de l’unité

La nécessité grandissante d’échanger les connaissances a donné naissance à une


représentation de celles – ci. Une réprésentation de connaissances est un système utilisant des
symboles et des opérations sur ces symboles. Mais disposer seulement des symboles et des
opérations ne suffit pas car il est impossible de concevoir une représentation sans considérer
une modélisation du raisonnement. La logique fut l’un des premiers formalismes conçus pour
la représentation des connaissances, et elle demeure de nos jours comme étant la base de
nombreuses recherches en IA. Les sciences cognitives ont eu aussi leur part de contribution,
ainsi que les réseaux sémantiques.

Deux aspects essentiels sont à la base de la motivation pour le traitement du langage naturel :

• la volonté de modéliser le langage naturel (qui est une compétence fascinante)


dans le but de tester les hypothèses sur les mécanismes de la communication
humaine,
• le besoin de construire des applications pouvant traiter efficacement des
documents écrits ou sonores disponibles sous forme électronique.

Ceci fait du TALN (Traitement Automatique du Langage Naturel) un domaine qui se trouve à la
croisée de plusieurs disciplines telles que l’Intelligence Artificielle, la logique, la linguistique et
même les statistiques et les neuro-sciences.

55
l’Intelligence Artificielle

L’application de ce champ a donné naissance à quelques outils :

• - outils de traduction automatique :


• Google traduction : http://translate.google.fr
• reverso:http://www.reverso.net
• Babel Fish : http://www.fr.babelfish.yahoo.com
• Systran : http://www.systran.fr/traduction-en-ligne-gratuite
• - des outils de recherche :
• Google : http://www.google.com
• bing : http://www.bing.com
• yahoo : htpp: //fr.yahoo.com
• altavista : http://fr.altavista.com
• Wikio : http://www.wikio.fr

Évaluation de l’unité
Vérifiez votre compréhension!

[Représentation des connaissances]

Directives
Exercice 1

Représenter les connaissances suivantes en logique des prédicats. On vérifiera

si les phrases sont équivalentes.

a1) Moussa est chez-lui ou chez Karim

a2) Si Moussa n’est pas chez-lui, il est chez Karim.

b1) Vous bénéficierez de carte de priorité si votre si vous gagnez moins de

30 000 francs et que vous avez plus de 60 ans.

b2) Vous ne bénéficierez pas de carte de priorité si vous gagnez plus de 30 000

francs ou que vous avez moins de 60 ans.

c1) Karim validera sa session ou il n’est pas excellent en informatique.

c2) Si Karim ne valide pas sa session alors il n’est pas excellent en informatique.

c3) Si karim n’est pas excellent en informatique, alors il ne valide pas sa session.

56
Unité 4. Représentation des connaissances et langage naturel

Exercice 2

Représentez les connaissances suivantes par des réseaux sémantiques :

a1) La voiture de Karim blanche

a2) La voiture de Fanta est rouge.

a3) Karim et Fanta sont des humains. Blanche et rouge sont des couleurs.

b1) Seydou est plus petit que Harouna.

b2) Seydou qui fait 1m70 cm est plus petit que Harouna qui mesure 1 m 90 cm.

c1) Kanda a donné la cigarette ‘’Liberté’’ fabriquée Sonatam à Tiéblé

c2) Kanda et Tiéblé sont des personnes, Sonatam est une société de fabrique de
cigarettes.

[Traitement du langage naturel]


Exercice 1

On considère l’algorithme suivant donné en langage naturel

Initialisation

Entrer a

Entrer b

Traitement des données


Affecter à a la valeur a – b

Affecter à b la valeur a + b

Affecter à a la valeur b – a

Sortie
Afficher a

Afficher b

a) Qu’affiche l’algorithme en sortie si a = 7 et b = 3 sont saisis en entrée ?

b) Même question pour a = 12 et y = 13

c) Que constate – t – on ?

Exercice 2

Rédiger un programme qui permet d’obtenir en sortie le quotient et le reste de la division


euclidienne de deux nombres entiers saisis en entrée.

On suivra un plan : initialisation, traitement des données, sortie.

57
l’Intelligence Artificielle

Exercice 3

Quel est le lien commun existant entre les mots suivants : «chantait »,

« chantons », « chanterais » ? Comment appelle-t-on le processus qui permet

de générer de tels noms ?

Lectures et autres ressources


Les lectures et autres ressources de cette unité se trouvent au niveau des lectures et autres
ressources du cours.

• Gérard Ligauzat. Représentation des connaissances et linguistique. Armand


Colin, Paris, 1994.
• Jean-Marie Pierrel. Ingéniérie des Langues. Hermès, Paris, 2000.
• Gérard Sabah. L’intelligence artificielle et le langage, vol. 1. Hermès, Paris, 1988.
• Gérard Sabah. L’intelligence artificielle et le langage, vol. 2. Hermès, Paris, 1989.

58
Unité 4. Représentation des connaissances et langage naturel

59
l’Intelligence Artificielle

60
Unité 4. Représentation des connaissances et langage naturel

61
Siège de l’Université Virtuelle Africaine

The African Virtual University


Headquarters

Cape Office Park

Ring Road Kilimani

PO Box 25405-00603

Nairobi, Kenya

Tel: +254 20 25283333

contact@avu.org

oer@avu.org

Bureau Régional de l’Université


Virtuelle Africaine à Dakar

Université Virtuelle Africaine

Bureau Régional de l’Afrique de l’Ouest

Sicap Liberté VI Extension

Villa No.8 VDN

B.P. 50609 Dakar, Sénégal

Tel: +221 338670324

bureauregional@avu.org

2017 UVA