Vous êtes sur la page 1sur 76

Université de Carthage

FSB - Dép. Info. GLSI2

Intelligence
Artificielle
Dr. Ing. Hela Mahersia
Email: helamahersia@yahoo.fr

1
Partie 4

Agents Intelligents

Dr. Ing. Hela Mahersia


2
Sommaire
4

Dr. Ing. Hela Mahersia


3
Agents et environnement
• Agent: Un agent est toute entité qui :
 Perçoit son environnement à l’aide de ses capteurs
 Agit sur son environnement à l’aide de ses actionneurs
Agent = Architecture + Programme

Actionneurs = effectueurs

• Pour un agent humain : • Pour un agent robot :


 yeux, oreilles, … : capteurs  caméras, IR, … : capteurs
 mains, bouche : actionneurs  moteurs : actionneurs

Dr. Ing. Hela Mahersia


4
Définitions importantes
• Environnement : correspond à tout ce que l’agent ne peut
pas contrôler

• Percepts : entités perçues par l’agent à un instant donné


• Séquence de perception : l’historique complet des percepts

• Une fonction d’agent : fonction qui associe une action à


chaque séquence de perception

• Un programme d’agent : implémentation concrète qui permet


de relier la séquence de perception à son action

Dr. Ing. Hela Mahersia


5
Exemple simple : Agent Aspirateur

A B

Si la case courante est sale → aspirer


Sinon : se déplace vers l’autre case

Dr. Ing. Hela Mahersia


6
Exemple simple : Agent Aspirateur
Séquence de perception

Fonction de l’agent
Programme de l’agent

Dr. Ing. Hela Mahersia


7
Exemple simple : Agent Aspirateur

Fonction de l’agent
Quelle est la bonne façon de remplir la table?
L’agent est-il bon ou mauvais, intelligent ou non?
Dr. Ing. Hela Mahersia
8
Description PEAS pour l’agent Taxi-driver

• Performance : sécurité, vitesse, légalité, confort, profits, etc.


• Environnement : routes, autres autos, piétons, clients, etc.
• Actuators : volant, accélérateur, frein, clignotant, klaxon, etc.
• Sensors : caméras, sonar, odomètre, indicateur de vitesse,
capteurs du moteur, etc..

Dr. Ing. Hela Mahersia


9
Types de l’environnement (1/2)

Dr. Ing. Hela Mahersia


10
Types d’environnement (2/2)

Dr. Ing. Hela Mahersia


11
Structure d’agents
• 4 types de base :

→ Tous ces types peuvent être transformés en agents


apprenants (learning agents ) :
 La phase d’apprentissage : améliore leurs performances et
Produit des actions meilleures

Dr. Ing. Hela Mahersia


12
GLSI2

Merci

Des questions ?

13
Université de Carthage
FSB - Dép. Info. GLSI2

Intelligence
Artificielle
Dr. Ing. Hela Mahersia
Email: helamahersia@yahoo.fr

14
Partie 5

Résolution de problèmes
à l’aide d’algorithmes de
recherche

Dr. Ing. Hela Mahersia


15
Sommaire

Dr. Ing. Hela Mahersia


16
Rappel : Agent basé sur le but

Considération des conséquences


futures de mes actions
Objectif
L’exploration + La planification
Dr. Ing. Hela Mahersia
17
Agents de résolution de problèmes
• Agent de résolution de problèmes = Agent basé sur le but
• Ces agents utilisent une représentation atomique :
• Chaque état de l’environnement est considérée comme une
boite noire sans structure interne

A B

• Ces agents opèrent par l’adoption d’un but qu’ils essayent de


satisfaire
• Formulation du but = 1ère étape du résolution du problème

Dr. Ing. Hela Mahersia


18
Terminologie importante
• But : état(s) à atteindre
• Formulation du problème = processus qui cherche quels
états/quelles actions considérer pour atteindre un but donné
Environnement est supposé observable : l’agent connait en
tout instant l’état actuel
Environnement est supposé discret : l’agent dispose d’un
nombre fini d’actions pour tout état
Environnement est supposé déterministe : il y a une seule
issue pour chaque action
Environnement est supposé statique : l’environnement ne
change pas pendant que l’agent fonctionne
• Exploration : processus de recherche d’une séquence
d’actions qui mènent au but
Dr. Ing. Hela Mahersia
19
Programme d’un agent de résolution de problèmes

Boucle : agent commence par formuler un but et un problème, recherche


une séquence d’actions qui résout le problème puis les exécute une à une
Dr. Ing. Hela Mahersia
20
Description du formulation du problème
• État initial : l’état n où se trouve l’agent
• Actions possibles : la fonction S(n) donne la séquence des
actions à faire dans l’état n = (action, état successeur)
• Test de but : un test afin de voir si l’état donné est un état but
• Coût du chemin : fonction (à valeurs  0) qui attribut un coût
à un chemin. Elle reflète la mesure de performance de
l’agent.

une solution est une séquence d'opérateurs


menant de l'état initial à l'état final (but)

Dr. Ing. Hela Mahersia


21
Formulation du problème

• État initial : A(Arad)


• Actions : S( Arad) = (Aller (Sibiu), Aller(Fagaras)), etc.
• Test de but : A(Bucharest) ?
• Coût du chemin : longueur en kilomètres
Dr. Ing. Hela Mahersia
22
Exemple 1: agent aspirateur

Formuler le problème pour le monde de l’aspirateur

• États ? A B
• Actions ?
• Test du but ?
• Coût du chemin ?
Si la case courante est sale → aspirer
Sinon : se déplace vers l’autre case

Dr. Ing. Hela Mahersia


23
Agent aspirateur : solution
• États : position de l’agent et
position de la saleté

 soit 2x22 = 8 états possibles


 état initial : n’importe quel état

• Actions : Chaque état possède 3 actions = gauche (G), droite


(D), aspire (A)
• Test du but : toutes les cases propres?
• Coût du chemin : chaque opération coûte 1

Dr. Ing. Hela Mahersia


24
Exemple 2: The 8-puzzle

Formuler le problème pour le monde du 8-puzzle

• États
• Actions
• Test du but
• Coût du chemin
État initial État but

Dr. Ing. Hela Mahersia


25
The 8-puzzle : solution

• États: position des 8 pièces et du vide


• Actions : déplacement du vide gauche, droite, haut, bas
• Test du but = atteint-on la configuration finale ?
• Coût du chemin : chaque déplacement coûte 1,
coût total = nombre de déplacements

État initial État but

Dr. Ing. Hela Mahersia


26
Recherche de solutions
• Les algorithmes d’exploration modélisent les problèmes par
des arbres d’exploration
• État initial = racine de l’arbre
• Actions = branches de l’arbre
• États de l’espace d’état = nœuds de l’arbre
• L’ensemble de tous les nœuds développables = frontière

Comment choisir le nœud prochain?


=
Dr. Ing. Hela Mahersia
Stratégie d’exploration ou de recherche
27
Recherche dans un arbre : exemple

Dr. Ing. Hela Mahersia


28
Recherche dans un arbre : exemple

Dr. Ing. Hela Mahersia


29
Recherche dans un arbre : exemple

Dr. Ing. Hela Mahersia


30
Recherche dans un arbre : exemple

Dr. Ing. Hela Mahersia


31
Stratégies de recherche
• Explorent et développent les nœuds selon un ordre précis
• Recherches non‐informées (aveugles) :
 Ne sont pas capables de décider si un nœud est meilleur
qu’un autre.
 Elles sont seulement capables de tester si l’état est un but ou
non.
 Pas d’informations additionnelles.

• Recherches informées (heuristiques) :


 Estimation d’une fonction heuristique qui décide si un nœud
est plus important que d’autres.

Dr. Ing. Hela Mahersia


32
Évaluation des stratégies

• Complétude :
 L’algorithme garantit-t-il de trouver une solution s’il y en a une
?
• Optimalité :
 La stratégie trouve-t-elle la solution optimale ?

• Complexité de temps :
 Temps nécessaire pour trouver une solution
• Complexité d’espace :
 Mémoire nécessaire pour terminer l’exploration

Dr. Ing. Hela Mahersia


33
Stratégies de recherche non‐informées

Dr. Ing. Hela Mahersia


34
La recherche en largeur d’abord (BFS)
• Stratégie : Tous les nœuds situés à une profondeur donnée
sont explorés avant ceux du niveau suivant → l’arborescence
est construite horizontalement niveau après niveau
Fonction Exploration-largeur (problème) retourne une solution ou échec
noeud  un nœud avec état = problème.état-initial, coût-chemin = 0
si problème.test-but(nœud.état) alors retourner solution (nœud)
Frontière  file FIFO avec nœud comme un seul élément
Exploré  ensemble vide
Faire en boucle (Russel & Norvig, 2009)
Si la frontière est vide alors retourner échec
Nœud  POP(frontière) /* nœud le moins profond dans frontière */
Ajout nœud.état à exploré
pour chaque action dans problème.action(nœud.état) faire
fils  nœud-fils(problème,noeud,action)
si fils.état n’est pas dans exploré ou dans frontière alors
si problème.test-but(fils.état) alors retourner solution (fils)
frontière  insérer(fils,frontière)

Dr. Ing. Hela Mahersia


35
La recherche en largeur d’abord (BFS)

Dr. Ing. Hela Mahersia


36
La recherche en largeur d’abord (BFS)
(Russel & Norvig, 2009)
Profondeur Nœuds Temps Mémoire
2 110 0.11 ms 107 ko
4 11110 11 ms 10.6 Mo
6 106 1.1 s 1 Go
8 108 2 mn 103 Go
10 1010 3h 10 To
12 1012 13 jours 1 Po
14 1014 3.5 années 99 Po
16 1016 350 années 10 Eo
Exigence en temps et en mémoire
catastrophique !!!
Dr. Ing. Hela Mahersia
37
La recherche à Coût uniforme (UCS)
• Stratégie : l’exploration à coût uniforme explore le nœud qui
a le coût de chemin le plus faible → recherche optimale.
Fonction Exploration-coût-uniforme(problème) retourne une solution ou échec
noeud  un nœud avec état = problème.état-initial, coût-chemin = 0
Frontière  file de priorité ordonné par coût-chemin nœud comme un seul élément
Exploré  ensemble vide
Faire en boucle (Russel & Norvig, 2009)
Si la frontière est vide alors retourner échec
Nœud  POP(frontière) /* nœud de la frontière avec coût le moins faible */
si problème.test-but(nœud.état) alors retourner solution (nœud)
Ajout nœud.état à exploré
pour chaque action dans problème.action(nœud.état) faire
fils  nœud-fils(problème,noeud,action)
si fils.état n’est pas dans exploré ou dans frontière alors
frontière  insérer (fils, frontière)
sinon si fils.état est dans frontière avec coût-chemin le plus élevé alors
remplacer ce nœud de frontière avec fils

Dr. Ing. Hela Mahersia


38
La recherche en profondeur d’abord (DFS)
• Stratégie : l’algorithme étend le nœud le plus profond de la
frontière courante de l’arbre

Fonction Exploration-profondeur(problème) retourne une solution ou échec


Initialiser la frontière avec l’état initial du problème
Exploré  ensemble vide
Faire en boucle
Si la frontière est vide alors retourner échec (Russel & Norvig, 2009)
choisir un nœud feuille et l’enlever de la frontière
si le nœud contient un état but alors retourner la solution correspondante
Ajout nœud.état à exploré
si nœud n’est pas dans exploré ou dans frontière alors
développer le nœud choisi, en ajoutant les nœuds obtenus à la frontière

Dr. Ing. Hela Mahersia


39
La recherche en profondeur d’abord (DFS)

Dr. Ing. Hela Mahersia


40
Recherche à profondeur limitée
• algorithme de recherche en profondeur avec une limite de
profondeur d'exploration L → remédier aux espaces infinis
• les nœuds de profondeur L n'ont pas de successeurs
• Exemple de la recherche à profondeur limitée :

L=1

Dr. Ing. Hela Mahersia


41
Recherche à profondeur limitée

L=2

Dr. Ing. Hela Mahersia


42
Recherche à profondeur limitée

L=3

Dr. Ing. Hela Mahersia


43
Recherche itérative en profondeur
• Stratégie : elle procède en augmentant graduellement la
limite du profondeur jusqu’à atteindre un nœud but
• Elle combine les avantage des deux stratégies largeur
d’abord et profondeur d’abord

Fonction Exploration-ittérative-profondeur(problème) retourne une solution ou échec


Pour profondeur = 0 jusqu’à + faire
résultat  Exploration-profondeur-limitée(problème, L)
si résultat  arrêt alors retourner résultat
(Russel & Norvig, 2009)

Dr. Ing. Hela Mahersia


44
Évaluation des stratégies non informées
(Russel & Norvig, 2009)
Critère Largeur Coût Profondeur Profondeur Profondeur
d’abord uniforme d’abord limitée itérative
Complète oui oui non non oui
Temps O(bd) O(bl+(C*/)) O(bm) O(bl) O(bd)
Espace O(bd) O(bl+(C*/)) O(bm) O(bl) O(bd)
Optimale oui oui non non oui
b : facteur de branchement l : profondeur limite
d : profondeur de la solution la moins profonde m : profondeur maximale

Que peut-on conclure ?

Dr. Ing. Hela Mahersia


45
EXERCICE
Donner l’ordre du visite des nœuds jusqu’au nœud but G en
utilisant des stratégies non informées

Dr. Ing. Hela Mahersia


46
GLSI2

Merci

Des questions ?

47
Université de Carthage
FSB - Dép. Info. GLSI2

Intelligence
Artificielle
Dr. Ing. Hela Mahersia
Email: helamahersia@yahoo.fr

48
Partie 5

La recherche
dans les jeux à
adversaires
Dr. Ing. Hela Mahersia
49
Sommaire

Dr. Ing. Hela Mahersia


50
Hypothèses considérées : Rappel
• But : état(s) à atteindre
• Formulation du problème = processus qui cherche quels
états/quelles actions considérer pour atteindre un but donné
Environnement est supposé observable : l’agent connait en
tout instant l’état actuel
Environnement est supposé discret : l’agent dispose d’un
nombre fini d’actions pour tout état
Environnement est supposé déterministe : il y a une seule
issue pour chaque action
Environnement est supposé statique : l’environnement ne
change pas pendant que l’agent fonctionne
• Exploration : processus de recherche d’une séquence
d’actions qui mènent au but
Dr. Ing. Hela Mahersia
51
Définitions (1/2)
• La théorie des jeux est un domaine des mathématiques qui
s'intéresse aux interactions des choix des joueurs
• Cette théorie considère les environnements multiagents
comme des jeux
• Un jeu = ensemble de règles qui permettent à des joueurs en
interactions de faire des choix → entrainant des gains/pertes
• Dans les jeux, l’environnement n’est plus statique ni mono
agent : le joueur adverse est un agent qui peut modifier
l’environnement.
 On ne peux pas appliquer les stratégies de recherche
précédentes à cause de l’imprévisibilité de l’autre agent

Dr. Ing. Hela Mahersia


52
Définitions (2/2)
• On appelle jeu à somme nulle = jeu strictement compétitif,
les jeux à deux joueurs dans lesquels l'intérêt de l'un des
deux joueurs est strictement opposé à l'intérêt de l'autre
joueur.
• Si les récompenses des joueurs sont représentées par une
fonction de gain = une fonction d'utilité → la somme des
deux fonctions est toujours égale à 0
Joueur 2
Stratégie 1 Stratégie 2
Stratégie 2 Stratégie 1
Joueur 1

-A/A -B/B

-C/C -D/D

Dr. Ing. Hela Mahersia


53
Les Jeux comme un problème de recherche
• On s’intéresse dans ce cours aux jeux à somme nulle et à
deux joueurs MAX et Min qui jouent à tour de rôle

• Nous supposons qu'à tout moment, c'est au tour d'un joueur


qui peut choisir parmi les coups disponibles → Cela nous
permet de présenter chaque jeu via un arbre

→ Un jeu peut être vu comme un problème d’exploration :


L’état initial : position du jeu au début
Actions : les coups autorisés dans un état donné
Fonction utilité : définit une valeur numérique aux nœuds
finaux pour les deux joueurs

Dr. Ing. Hela Mahersia


54
Arbre de jeux (1/5)
• Un jeu peut être vu comme un problème d’exploration :
Le nœud racine représente le début du jeu,
chaque mouvement valide que le joueur peut faire, est
représenté par une branche de la racine à un autre nœud qui
représente le nouvel état.
chaque nœud doit être étiqueté pour désigner le joueur
nous disons qu'une position est définitive lorsque le jeu est
terminé, c'est-à-dire quand il n'y a pas de mouvements valides
du tout à partir de cette position.

• Quel est le meilleur coup pour MAX? et pour MIN?


ALGORITHME MIN-MAX

Dr. Ing. Hela Mahersia


55
Arbre de jeux (2/5)

Les nœuds dans un


tel arbre représentent
les positions du jeu

Dr. Ing. Hela Mahersia


56
Arbre de jeux (3/5)

À chaque nœud, il
doit être clair qui est
en train de jouer

Dr. Ing. Hela Mahersia


57
Arbre de jeux (4/5)

Les nœuds inférieurs dans l'arbre


représentent les positions finales
du jeu, où est noté le résultat

Dr. Ing. Hela Mahersia


58
Arbre de jeux (5/5)
Notez que différentes positions dans
l'arbre peuvent correspondre à la
même constellation sur la planche.

Dr. Ing. Hela Mahersia


59
Algorithme MIN-MAX
• Principe de l’algorithme : les meilleurs actions pour MAX sont
celles qui maximise la fonction d’utilité en tenant compte que
les meilleurs actions pour MIN sont celles qui minimise cette
même fonction

• Étapes de l’algorithme
Tracer l’arbre du jeux
Évaluer les nœuds terminaux
Partager en remontant :
• La valeur maximale des nœuds du MAX
• La valeur minimale des nœuds du MIN

Dr. Ing. Hela Mahersia


60
Algorithme MIN-MAX

Dr. Ing. Hela Mahersia


61
Algorithme MIN-MAX : Exemple 1

Dr. Ing. Hela Mahersia


62
Algorithme MIN-MAX : Exemple 1

C D

Dr. Ing. Hela Mahersia


63
Algorithme MIN-MAX : Exemple 2

Dr. Ing. Hela Mahersia


64
Algorithme MIN-MAX : Exemple 2

Dr. Ing. Hela Mahersia


65
Algorithme Min-Max pour le TicTacToe

TicTacToe = morpion

Dr. Ing. Hela Mahersia


66
Algorithme Min-Max pour le TicTacToe

X a 6 chemins de
X réussite

E(n) = 6 – 5 = 1
O
O a 5 chemins de
réussite

Évaluation de l’utilité

Dr. Ing. Hela Mahersia


67
Évaluation des nœuds terminaux : Exemple

Dr. Ing. Hela Mahersia


68
Exercice

Calculer les coefficients


MinMAx pour cet arbre
Dr. Ing. Hela Mahersia
69
L’algorithme d’élagage -
• L’algorithme d’élagage - est un algorithme de recherche
qui vise à réduire le nombre de nœuds évalués par
l'algorithme minimax dans son arbre de recherche.
• C'est un algorithme de recherche à adversaire utilisé
couramment pour le jeu en machine de jeux à deux joueurs
(Tic-tac-toe, Echecs, etc.).
• Il arrête complètement l'évaluation d’un coup lorsqu’il est
possible que le coup actuel est pire que le coup
précédemment examiné
• Appliqué à un arbre minimax standard, il retourne le même
coup que minimax, mais élimine les branches qui ne vont
pas influencer la décision finale.

Dr. Ing. Hela Mahersia


70
Règles d’élagage -
• Initialiser  = -  et  = +
• Parcourez l'arbre en profondeur d’abord
• Arrêter la recherche du nœud MAX si    de son nœud
parent
• Arrêter la recherche du nœud MIN si    de son nœud
parent >=2
• On n’a pas besoin de calculer la
valeur de ce noeud
=2 <=1 Branche ne peut pas donner un
score meilleur que le noeud qui a
été évalué précédent

2 7 1 ?

Dr. Ing. Hela Mahersia


71
Exemple d’élagage -

Dr. Ing. Hela Mahersia


72
Exemple d’élagage -

Dr. Ing. Hela Mahersia


73
Exercice

1. Appliquer l’algorithme d’élagage alpha-beta


2. Quels sont les inconvénients ce cet algorithme

Dr. Ing. Hela Mahersia


74
GLSI2

Merci

Des questions ?

75
Textbook Bibliographie à consulter
• Abney, S. (2007). Semisupervised Learning for Computational
Linguistics. CRC Press.
• Ballard, B. W. (1983). The *-minimax search procedure for trees
containing chance nodes. AIJ, 21(3), 327–350.
• Charniak, E., Riesbeck, C., McDermott, D., and Meehan, J. (1987).
Artificial Intelligence Programming (2nd edition). Lawrence Erlbaum
Associates.
• Clarke, M. R. B. (Ed.). (1977). Advances in Computer Chess 1.
Edinburgh University Press.
• Haugeland, J. (Ed.). (1985). Artificial Intelligence: The Very Idea. MIT
Press.
• MacCulloch, W. S., Pitts, W., A Logical Calculus of the Ideas Immanent
in Nervous Activity, Bulletin of Mathematical Biophysics, vol. 5, pp. 115-
133, 1943.
• McCarthy, J., Minsky, M. L., Rochester, N., and Shannon, C. E. (1955).
Proposal for the Dartmouth summer research project on artificial
intelligence. Tech. rep., Dartmouth College.
• Newell, A., Shaw, J. C., and Simon, H. A. (1957), Empirical explorations
with the logic theory machine, Proc. Western Joint Computer
Conference, 15, 218–239.
• Nilsson, N. J. (1984). Shakey the robot. Technical note 323, SRI
International.
• Poole, D., Mackworth, A. K., and Goebel, R. (1998). Computational
intelligence: A logical approach. Oxford University Press.
• Rich, E. and Knight, K. (1991). Artificial Intelligence (second edition).
McGraw-Hill.
• Turing, A. (1950). Computing machinery and intelligence.
• Mind, 59, 433–460.
Dr. Ing. Hela Mahersia
76

Vous aimerez peut-être aussi