quelques éléments d’intelligence...

99
Design III Quelques éléments d’intelligence artificielle Olivier Dugas PLT 3772 [email protected] Matériel tiré des cours IFT-4102 Concepts avancés pour systèmes intelligents GLO-4001 Introduction à la robotique mobile 1

Upload: lynhan

Post on 13-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Quelques éléments d’intelligence artificielle

Olivier DugasPLT [email protected]

Matériel tiré des coursIFT-4102 Concepts avancés pour systèmes intelligentsGLO-4001 Introduction à la robotique mobile

1

Page 2: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Mise en contexte

• Contrôle du robot → Agent• Déplacement du robot → Exploration• Positionnement des rondelles → Planification• Prise de décision

2

Page 3: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Plan

Intelligence artificielle et agent intelligent

Algorithmes d’exploration

Exploration non informée

Exploration heuristique

Discrétisation d’espace

Espace de configuration

Discrétisation de l’espace continu

Exemples d’exploration

3

Page 4: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Quels sont les domaines de l’IA ?

• L’exploration, le CSP et l’optimisation combinatoire

• L’inférence logique• La planification• La représentation des connaissances• Le raisonnement incertain• La prise de décision• L’apprentissage automatique• Les agents et les systèmes multi-agents• La vision numérique• Le traitement de la langue naturelle• La robotique

4

Page 5: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Ce dont vous avez besoin pour votre projet?

• L’exploration, le CSP et l’optimisation combinatoire

• L’inférence logique• La planification• La représentation des connaissances• Le raisonnement incertain• La prise de décision• L’apprentissage automatique• Les agents et les systèmes multi-agents• La vision numérique• Le traitement de la langue naturelle• La robotique

5

Page 6: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Qu’est-ce qu’un agent intelligent?

Agent intelligent: tout ce qui perçoit son environnement

à l’aide de ses capteurset qui agit sur son environnement

à l’aide de ses effecteurs.

6

Environnement?

Agent

Effecteurs

Capteurpercepts

actions

Page 7: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Environnement de tâche

Première étape de la conception d’un agent : Spécifier l’environnement de tâche (task environment)

Contient les quatre éléments suivants (PEAS):Mesure de la performance (Performance measure)Environnement (Environment)Effecteurs (Actuators)Capteurs (Sensors)

7

Environnement?

Agent

Effecteurs

Capteurpercepts

actions

Page 8: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Exemple

Système de diagnostic médicalMesure de performance: patient en santé, éviter les poursuites, minimiser les coûtsEnvironnement: patient, hôpital, personnelEffecteurs: l’écran du système

Questions, tests, diagnostic, traitements, référencesCapteurs: clavier

Saisie des symptômes, évidences, réponses du patient

8

Page 9: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Autre exemple - Votre robot

• Les composantes de votre système– Mesure de performance?

• Maximiser la précision du positionnement• Optimiser la recherche des rondelles• Minimiser le temps de déplacement...

– Environnement? • La table, les grilles, la zone cible, les rondelles, les obstacles, la

station...– Effecteurs?

• Le préhenseur, les roues...– Capteurs?

• La caméra, la kinect, l'ohmmètre…

9

Page 10: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Propriétés de l’environnement

• Complètement observable vs partiellement observable

• Déterministe vs stochastique

• Épisodique vs séquentielle

• Statique vs dynamique

• Discret vs continu

• Un agent vs plusieurs agents

• Connu ou inconnu...

10

Environnement?

Agent

Effecteurs

Capteurpercepts

actions

Page 11: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Propriétés de l’environnement

• Situation la plus difficile• Partiellement

observable• Stochastique• Séquentielle• Dynamique• Continue• Multi-agents• Inconnue

• Exemple • Conduite automatisée

d’un véhicule

• Votre projet• Totalement

observable• Stochastique• Séquentielle• Statique• Discret/continue• Mono-agent• Connue

• En résumé:• On est gentil !!!

11

Page 12: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Structure d’un agent

4 types en ordre de généralité croissante:Agent simple réflexeAgent réflexe avec état interneAgent basé sur les butsAgent basé sur l’utilité

Utile pour la conception du module de contrôle du robot.

12

EnvironnementStructure

Agent

Effecteurs

Capteurpercepts

actions

Page 13: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Agent simple réflexe13

Simple reflex agent

Capteurs

Analyse des données

Quelle action dois-je faire maintenant?

Effecteurs

Règles condition-action

Agent En

vir on

ne

men

t

Page 14: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Agent simple réflexe14

Page 15: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Agent réflexe avec état interne

15

Model-based reflex agent

Capteurs

Analyse des données

Quelle action dois-je faire maintenant?

Effecteurs

Règles condition-action

Agent

En

vir on

ne m

ent

État

Quel est l’impact de mes actions?

Page 16: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Agent réflexe avec état interne

16

Page 17: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Agent basé sur les buts17

Goal-based agent

Capteurs

Analyse des données

Quelle action dois-je faire maintenant?

Effecteurs

Agent

En

vir on

ne

men

t

État

Quel est l’impact de mes actions?Comment sera le mondesi je fais l’action A?

Buts

Page 18: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Plan

Intelligence artificielle et agent intelligent

Algorithmes d’exploration

Exploration non informée

Exploration heuristique

Discrétisation d’espace

Espace de configuration

Discrétisation de l’espace continu

Exemples d’exploration

18

Page 19: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Planification de trajectoire

Représentation continue(espace des configurations)

Discrétisation

Recherche dans un graphe(best-first, A*) Le contenu de

cette section

Page 20: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Recherche dans un graphe20

environnement représentation discrète

représentation par graphe

Page 21: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Exploration par résolution de problèmes1.Formulation d’un but: Un état à atteindre.

2.Formulation du problème: Les états et les actions à considérer.

3.Exploration de solution: Examiner les différentes séquences d’actions

menant à un état but; Et choisir la meilleure.

4.Exécution: Accomplir la séquence d’actions sélectionnées.

21

Page 22: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III22

Agent basé sur les buts :

Agent de résolution de problèmes

Page 23: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III23

Exemple de formulation de problèmes :

Planification de route

Page 24: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Exemple de formulation de problèmes :

Planification de route• On est à Arad et on veut aller à Bucharest

– Problème:• États : villes• Actions : aller d’une ville à une autre.

– But : • Être à Bucharest

– Solution : • Une séquence de villes.• Par ex. Arad, Sibiu, Fagaras, Bucharest

– Coût : • Distance entre les deux villes (en km)

• Environnement simple– statique, observable, discret et déterministe

24

Page 25: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III25

Exploration de solutions dans un arbre

• Exploration obtenue par simulation– On simule l’exploration de l’espace d’états en générant des successeurs

pour les états déjà explorés.• Exploration de type hors-ligne (offline)

Arad

Sibiu Timisoara Zerind

Arad Fagaras Oradea Rimnicu Vilcea

Sibiu Bucharest

Page 26: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III26

Exemple d’exploration dans un arbre

Page 27: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III27

Exemple d’exploration dans un arbre

Page 28: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III28

Exemple d’exploration dans un arbre

Page 29: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III29

Exploration dans un arbre : Mise en oeuvre

Page 30: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III30

Exploration de solutions dans un arbre

• Simuler l’exploration de l’espace d’états en générant des successeurs pour les états déjà explorés.

• Nœud de recherche– État: l’état dans l’espace d’état.– Nœud parent: Le nœud dans l’arbre de recherche qui a généré ce nœud.– Action: L’action qui a été appliquée au parent pour générer ce nœud.– Coût du chemin: Le coût g(n) du chemin à partir de l’état initial jusqu’à ce

nœud. – Profondeur: Le nombre d’étapes dans le chemin à partir de l’état initial.

Page 31: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III31

Stratégies d’exploration

• Détermine l’ordre de développement des nœuds.• Explorations non informées

– Aucune information additionnelle. – Elles ne peuvent pas dire si un nœud est meilleur qu’un

autre. – Elles peuvent seulement dire si l’état est un but ou non.

• Explorations informées (heuristiques): – Elles peuvent estimer si un nœud est plus prometteur

qu’un autre.

Page 32: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III32

Stratégies d’exploration non informées

• Largeur d’abord (Breath-first - BFS)

• Coût uniforme (Uniform-cost - UFS)

• Profondeur d’abord (Depth-first - DFS)

• Profondeur limitée (Depth-limited - DLS)

• Itérative en profondeur (Iterative deepening - IDS)

• Bidirectionnelle (Bidirectional search)

Page 33: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Largeur d’abord (BFS)

• Approche – Développer tous les noeuds au niveau i– Développer par la suite tous les nœuds au niveau

i+1– Et ainsi de suite…

• Implémenté à l’aide d’une file. –Les nouveaux successeurs vont à la fin.

33

Page 34: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III34

Exemple largeur d’abord

A

B C

D E F G

A

B C

D E F G

B C

File:

D E F G

Ordre de visite: A – B – C – D – E – F - G

Page 35: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III35

Évaluation des stratégies

• Complétude: – Est-ce que l’algorithme garantit de trouver une

solution s’il y en a une?• Optimalité:

– Est-ce que la stratégie trouve la solution optimale?

• Complexité en temps: – Combien de temps pour trouver une solution?

• Complexité en espace: – Quelle quantité de mémoire a-t-on besoin?

Page 36: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III36

Propriétés de largeur d’abord

• Complétude : oui, si b est fini• Complexité en temps : O(b^d)

– 1 + b^1 + b^2 + b^3 + … + b^d = O(b^d)• Complexité en espace : O(b^d)

– Garde tous les nœuds en mémoire• Optimal : non en général.

– Oui si le coût des actions est le même pour toutes les actions

Profondeur Nœuds (b=10)

Temps(1 million nœuds/sec)

Mémoire(1000 octets/ nœuds)

8 108 2 minutes 103 gigaoctet

12 1012 13 jours 1 pétaoctets

Page 37: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III37

Coût uniforme (UCS)

• Développe le nœud ayant le coût le plus

faible.

– g(n) := coût du nœud initial au nœud développé.

• File triée selon le coût.

• Si le coût des actions est toujours le même

– Équivalent à largeur d’abord !

Page 38: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Coût uniforme (UCS)38

80

99

177310

278

Page 39: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III39

Coût uniforme

• Complète : oui, si le coût > ε• Complexité en temps : nombre de nœuds avec g(n) ≤ coût(solution optimale)O(b^(1+ C*/ ϵ))où C* est le coût de la solution optimale.• Complexité en espace : même que celle en temps• Optimal : oui

– Les nœuds sont développés en ordre de g(n).

Page 40: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III40

Profondeur d’abord (DFS)

• Développe le nœud le plus profond.

• Implémenté à l’aide d’un pile. – Les nouveaux nœuds générés vont sur le dessus.

Page 41: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III41

A

B C

D E

H I J K

D

Exemple profondeur d’abord

A

B C

D E

B

C

Pile:

H I J K

H

E

I

K

J

Ordre de visite: A – B – D – H – I – E – J – K - C

Page 42: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III42

Propriétés de profondeur d’abord • Complétude :

– Non si la profondeur est infinie, s’il y a des cycles. – Oui, si on évite les états répétés ou si l’espace de

recherche est fini.• Complexité en temps : O(b^m)

– Très mauvais si m est plus grand que d. – Mais si les solutions sont denses, il peut être

beaucoup plus rapide que largeur d’abord.• Complexité en espace : O(bm), linéaire• Optimal : Non

Page 43: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III43

Profondeur limitée (DLS)

• L’algorithme de profondeur d’abord, mais avec une limite de l sur la profondeur.– Les nœuds de profondeur l n’ont pas de

successeurs.• Complétude : Seulement si l > d• Complexité en temps : O(b^l)• Complexité en espace : O(bl), linéaire• Optimal : Non!

Page 44: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III44

A

B C

D E

H I J K

D

Exemple profondeur limité

A

B C

D E

B

C

Pile:

E

Ordre de visite: A – B – D – E - C

Limite l = 2

Page 45: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III45

Itérative en profondeur (IDS)

• Profondeur limitée, mais en essayant toutes les profondeurs: 0, 1, 2, 3, …

• Évite le problème de trouver une limite pour la recherche profondeur limitée.

• A les avantages de largeur d’abord (complète et optimale), – Mais a la complexité en espace de profondeur

d’abord.– Donc une combinaison des deux stratégies.

Page 46: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III46

Exemple - itérative en profondeur

Ordre de visite: A – A – B – C – A – B – D – E – C – F – G – A – B – D – H – I – E – J – K – C – F – L – M – G – N – O

A

B

D E

H I J K

C

F G

L M N O

1

10

2

34

5

6

7 8

9

12

13

1114 17

15 16 18 19 22 23 25 26

20

21 24

Limite: 0Limite: 1Limite: 2Limite: 3

Page 47: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III47

Propriétés itérative en profondeur

• Complétude: Oui• Complexité en temps:

– (d+1)b^0 + db^1+ (d-1)b^2 + b^d = O(b^d)• Complexité en espace: O(b^d)• Optimal?

–Oui, si le coût de chaque action est de 1. –Peut être modifiée pour une stratégie de coût uniforme.

Page 48: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Stratégie de recherche non-informées : Sommaire

48

Dans ce tableau:

1) b est le facteur de branchement;

2) d est la profondeur du but le - profond;

3) m est la profondeur max;

4) l est la profondeur limite

Page 49: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III49

Répétition d’états

• La répétition d’états fait perdre du temps – Dans le pire cas, la recherche tourne en rond

dans les cycles créés.• Détection de répétitions

– Normalement faite en comparant les nouveaux nœuds aux nœuds déjà développés.

• Avant d’éliminer le nouveau nœud – On doit vérifier s’il est meilleur que le nœud que

l’on a déjà.

Page 50: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III50

Répétition d’états :

Exploration de type Graph-Search

Page 51: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Exploration de type Graph-Search

51

Page 52: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III52

Stratégies d’exploration informées

• Stratégies d’exploration non informées –Ne sont pas très efficaces dans la plupart des cas.

–Elles ne savent pas si elles approchent du but.

• Stratégies d’exploration informées –Elles utilisent une fonction d’estimation

• Fonction heuristique.• Pour choisir les nœuds à visiter.

Page 53: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III53

Stratégies d’exploration informée

• Meilleur d’abord (BFS - Best-first)• Meilleur d’abord gloutonne (Greedy best-first)• A* (A-Star)• Algorithmes heuristiques à mémoire limitée

– IDA*, RDFS et SMA*• Par escalade (Hill-climbing)• Par recuit simulé (Simulated annealing)• Exploration locale en faisceau (Local beam)• Algorithmes génétiques

Page 54: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III54

Exemple d’exploration:

Voyage en Roumanie (avec coûts en km)

Page 55: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III55

Meilleur d’abord

• L’idée principale– Utiliser une fonction d’évaluation – Estimer l’intérêt des nœuds – Développer le nœud le plus intéressant.

• Le nœud à développer est choisi selon une fonction d’évaluation f(n)

• Une composante importante de ce type d’algorithme est une fonction heuristique h(n) – Elle estime le coût du chemin le plus court pour se

rendre au but.• Deux types de recherche meilleur d’abord

– Meilleur d’abord gloutonne.– A*

A

B

but

g(B)

h(B)

.

.

.

f(B)= g(B) + h(B)

Page 56: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III56

Meilleur d’abord gloutonne

• f(n) = h(n)

• Donc on choisit toujours

de développer le nœud le

plus proche du but.

A

B

but

g(B)

h(B)

.

.

.

f(B)= h(B)

Page 57: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III57

Exemple meilleur d’abord gloutonne

Arad366

Sibiu Timisoara Zerind253 329 374

Arad Fagaras Oradea Rimnicu Vilcea366 176 380 193

Sibiu Bucharest253 0

But atteint, l’exploration arrête.

Page 58: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III58

Propriétés - Meilleur d’abord gloutonne• Complétude : Non

– Car elle peut être prise dans des cycles. – Mais oui, si l’espace de recherche est fini avec vérification

des états répétés.• Complexité en temps : O(b^m)

– Mais une bonne fonction heuristique peut améliorer grandement la situation.

• Complexité d’espace : O(b^m) – Elle retient tous les nœuds en mémoire.

• Optimale : Non– Elle s’arrête à la première solution trouvée.

Page 59: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III59

A* (A-star)• Fonction d’évaluation: f(n) = g(n) + h(n)

– g(n) : coût du nœud de départ jusqu’au nœud n– h(n) : coût estimé du nœud n jusqu’au but– f(n) : coût total estimé du chemin passant par n pour se

rendre au but.• A* utilise une heuristique admissible

– c’est-à-dire h(n) ≤ h*(n)– h*(n) est le véritable coût pour se rendre de n au but.

• Demande aussi que : – h(n) ≥ 0, et que – h(G) = 0 pour tous les buts G.

A

B

but

g(B)

h(B)

.

.

.

f(B)= g(B) + h(B)

Page 60: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III60

Exemple A*Arad366 = 0 + 366

Sibiu Timisoara Zerind393 = 140 + 253 447 = 118 + 329

449 = 75 + 374

Arad Fagaras Oradea Rimnicu Vilcea

646 = 280+ 366

415 = 239 + 176

671 = 291 + 380

413 = 220 + 193

Sibiu Bucharest

591 = 338 + 253 450 = 450 + 0

Craiova Pitesti Sibiu

553 = 300 + 253

417 = 317 + 100

526 = 366 + 160

CraiovaBucharest Rimnicu Vilcea

607 = 414 + 193615 = 455 + 160418 = 418 + 0

But atteint, la recherche arrête.

Page 61: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III61

Propriétés de A*

• Complétude : Oui – À moins qu’il y est une infinité de nœuds avec f ≤ f(but).

• Complexité de temps : Exponentielle – Selon la longueur de la solution.

• Complexité en espace : Exponentielle – Selon la longueur de la solution. – Elle garde tous les nœuds en mémoire.

• Optimale : Oui– Habituellement, on manque d’espace longtemps avant de

manquer de temps.

Page 62: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III62

Exploration heuristique à mémoire limitée• A* est parfois trop gourmand en mémoire. • Il existe des algorithmes pour surmonter ce

problème dont: – IDA*; – RBFS; – SMA*.

• Ces algorithmes permettent de préserver l’optimalité et la complétude.

• L’augmentation du temps d’exécution est raisonnable. • Voir les notes de 2011 pour un exemple de IDA*.

Page 63: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Plan

Intelligence artificielle et agent intelligent

Algorithmes d’exploration

Exploration non informée

Exploration heuristique

Discrétisation d’espace

Espace de configuration

Discrétisation de l’espace continu

Exemples d’exploration

63

Page 64: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Planification de trajectoire

Représentation continue(espace des configurations)

Discrétisation

Recherche dans un graphe(blind, best-first, A*)

Le contenu de cette section

Page 65: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Espace de configuration C

• Transformation de l’espace– Réduire la dimension du robot

• Le centre du robot devient le point de référence.– « Gonfler » les obstacles

• Reporter les dimensions du robot sur les obstacles.– Planifier un chemin dans l’espace de

configuration (C-space) • Avec les obstacles gonflés et le robot comme un point.

65

Espace libre

Page 66: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Espace de configuration C

• Pour un robot circulaire se déplaçant en x-y

66

Espace libre

Page 67: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Espace de configuration C

• Le centre du robot ne peut être que dans la zone grise.

67

Clibre

(approximé comme un cercle)

régions non-accessibles

Page 68: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Espace de configuration C

• Pour un robot se déplaçant en (x,y,θ)

68

intersection

Page 69: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Trajectoire libre vs. semi-libre

69

Page 70: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Planification de trajectoire

Représentation continue(espace des configurations)

Discrétisation

Recherche dans un graphe(blind, best-first, A*)

Le contenu de cette section

Page 71: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Discrétisation71

environnement représentation discrète

représentation par graphe

Page 72: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Découpage de l’espace72

Page 73: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme

• La forme la plus simple de découpage.• On découpe l’espace en cellules, toutes de même dimension.

On marque les cellules contenant les obstacles – Les cellules occupées.– Et reporter la dimension du robot.

• On recherche un chemin dans les cellules vides.

73

Page 74: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme

• Deux types de déplacement possibles

–Connectivité 4 directions

–Connectivité 8 directions

74

1

4 2

3

C

connectivité von Neumann

1 2 3

4 5

6 7 8

C

connectivité Moore

Page 75: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Exploration meilleur d’abord

• Explorer la grille G avec une stratégie meilleur d’abord avec fonction heuristique

But

Page 76: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

• Exploration sur une grille régulière (Wavefront planner)– 0: non-visité 1: obstacle 2: indique le départ

76

départ

but

Page 77: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

• À chaque étape :– On ajoute +1 aux cellules adjacentes ayant des 0– Déplacement à 8 directions pour cet exemple (au choix)

77

Page 78: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

• On continue jusqu’à ce qu’il n’y ait plus de cellules 0 à côté des cellules > 2

78

Page 79: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

79

Page 80: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

80

Page 81: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

81

Page 82: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

82

• On continue jusqu’à ce que la grille soit pleine• Les 0 correspondent aux cellules non accessibles

Page 83: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

• La trajectoire consiste à partir du but et à choisir de façon vorace les cases les plus petites.

83

Page 84: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme :

Propagation par front d’onde

search() : return boolean {graph := {nodes}, {edges} ;fringe := {root} ;visited := empty ;

return breadth-first-search (graph, fringe, visited);}

breadth-first-search (graph, fringe, visited) return boolean {while fringe not empty {

node := first element of fringe ;if node is what we are searching for { return success ;}//do whatever you need to do to node here children := find children of node in graph;add children not in visited to back of fringe ;add node to visited ;remove node from fringe;

}return failure;

}

84

Page 85: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille régulière uniforme• Point à considérer :

– Si les cellules sont trop petites• On augmente le nombre de nœuds considéré durant

l’exploration (temps de calcul).– Si les cellules sont trop grosses

• Risque d’avoir des solutions de moindre qualité (moins d’options de chemins).

• Possibilité de ne pas trouver de chemin réalisable. – Choisir une taille de cellule empiriquement

• En fonction de la taille du robot , des obstacles et de la table.

85

Page 86: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière

• Découpage par des quadtrees – On divise l’espace en deux régions.– On répète pour chaque région jusqu’à ce qu’on

sépare les obstacles des régions libres.– Revient à créer un arbre binaire qui contient les

différentes régions de notre espace de configuration.

86

Page 87: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

87

Space Representation Equivalent quadtree

Page 88: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

88

Space Representation Equivalent quadtree

Free nodeGray node

NW childNE SW

SE

Page 89: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

89

Space Representation Equivalent quadtree

Obstacle Node

G

S(G)

Page 90: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

90

Space Representation Equivalent quadtree

Page 91: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

91

Space Representation Equivalent quadtree

Page 92: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

92

Space Representation Equivalent quadtree

Complete quadtree

Page 93: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Grille non régulière - quadtrees

• Planification de trajectoire– Trouver le chemin qui mène du point de départ

au but.

– En passant par le centre des régions libres.

93

..

.

.

.

. .

Page 94: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Décomposition cellulaire verticale

• Décomposer une carte 2D en trapèzes et triangles.• Pour chaque sommet Pi des obstacles:

– Étend ligne verticale en haut et en bas, jusqu’à un obstacle• 4 cas possibles:

–C1:(haut,bas)–C2:(haut),–C3:(bas), –C4:(aucun)

94

Page 95: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Décomposition cellulaire verticale

95

Étape 2:place 1 point au milieu frontière entre cellules

Étape 3:place 1 point au milieu de la cellules

Étape 4:relie les centres aux points frontières

Page 96: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Décomposition cellulaire verticale

• Planification : recherche dans le graphe du chemin le plus court

• Donne des trajectoires qui sont en général loin des obstacles

96

Page 97: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Ce dont je n’ai pas parlé...

• Graphe de visibilité – voir matériel de 2012• Diagramme de Voronoi – voir matériel de 2012• Approche Bug

– Déplacement qui s’inspire de celui des insectes.• SLAM (Simultaneous localisation and mapping)

– Déplacement lorsqu’un robot veut construire une carte d’un environnement inconnu

• Méthodes probabilistes– Probabilistic Roadmaps– RRT-Connect

97

Page 98: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Points à considérer

• On suit la trajectoire planifiée hors ligne…–En boucle ouverte–En boucle fermée

• Par la caméra, la kinect ou un capteur de proximité.• Quel est le cycle de rétroaction? (100 ms, 1s, 10 s?)

98

Page 99: Quelques éléments d’intelligence artificiellewcours.gel.ulaval.ca/2014/h/GEL3014/default/5notes/documents/2014... · GLO-4001 Introduction à la robotique mobile 1. ... 4 types

Design III

Conclusion

• Plusieurs options disponibles pour structurer votre espace de navigation

• Différents niveaux de complexité• Prêter une attention particulière :

–Aux trajectoires semi-libres;–Aux approches trop coûteuses en temps;–Replanifier votre itinéraire en cas de déviation de la trajectoire initiale.

99