0% ont trouvé ce document utile (0 vote)
79 vues16 pages

Chapitre 2. Résolution de Problèmes de Planification

Transféré par

nicette511
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • problèmes d'optimisation,
  • espace de recherche,
  • connaissance heuristique,
  • critères d'évaluation,
  • méthodes heuristiques,
  • temps de recherche,
  • recherche en largeur,
  • choix de l'algorithme,
  • heuristique,
  • recherche itérative
0% ont trouvé ce document utile (0 vote)
79 vues16 pages

Chapitre 2. Résolution de Problèmes de Planification

Transféré par

nicette511
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • problèmes d'optimisation,
  • espace de recherche,
  • connaissance heuristique,
  • critères d'évaluation,
  • méthodes heuristiques,
  • temps de recherche,
  • recherche en largeur,
  • choix de l'algorithme,
  • heuristique,
  • recherche itérative

Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Chapitre 2 : Résolution de problèmes de planification

1. Introduction
2. Représentation d’un problème par un espace d’états
2.1. Définition
2.2. Graphes d'états
2.3. Contraintes
3. Méthodes de recherche de solution dans les espaces d’états
3.1. Critères d'évaluation des méthodes de recherche
3.2. Méthodes de recherche
3.2.1. Méthodes de recherche aveugle (non informées)
Recherche en largeur
Recherche en profondeur
Recherche en profondeur limitée
Recherche itérative approfondissement
3.2.2. Méthodes heuristiques (informées)
Recherche A*(Astar)
Autres algorithmes informés (Recherche Greedy Best Search, Recherche hill-
climbing (Greedy Local Search))
3.3. Complexité des algorithmes
3.4. Choix de l'algorithme
3.5. Conclusion

Page | 1 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Chapitre 2 : Résolution de problèmes de planification

1. Introduction :

Les systèmes de résolution de problèmes sont conçus pour imiter ou assister l'intelligence
humaine dans sa capacité à trouver des solutions. Qu'ils soient basés sur des règles logiques,
des algorithmes d'apprentissage automatique ou des heuristiques, ces systèmes offrent un
large éventail de possibilités pour résoudre des problèmes complexes. Dans ce chapitre, nous
nous intéresserons aux différents types de problèmes que ces systèmes peuvent traiter, ainsi
qu'aux techniques et aux outils utilisés pour les résoudre.

Système de Résolution de Problème :

• Problèmes de recherche : Trouver une solution, un résultat, une information.


• Problèmes de décision : Choisir parmi plusieurs options, prendre une décision.
• Problèmes d'optimisation : Trouver la meilleure solution parmi un ensemble de
possibilités.
• Problèmes de classification : Attribuer un élément à une catégorie.
• Problèmes de génération : Créer quelque chose de nouveau (texte, image, musique).

Différents types de problèmes => Différents types de systèmes de résolution de problèmes

En étudiant les différents systèmes « cognitifs » on découvre les mêmes concepts


caractérisant le Système de Résolution de Problèmes :

– Espace de Recherche

– Ensemble de règles de transformation/production

– Stratégie de Recherche

– Connaissance supplémentaire (Heuristique)

Page | 2 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

2. Représentation d’un problème par un espace d’états

2.1. Définition

Un espace d'états est une représentation mathématique d'un problème de résolution. Il se


compose de :

• États: Chaque état représente une configuration possible du système à un instant


donné. C'est une description complète de l'état du monde à un moment précis.

• Opérateurs: Ce sont les actions qui permettent de passer d'un état à un autre. Chaque
opérateur prend un état en entrée et produit un nouvel état.

• État initial: C'est l'état de départ du système.

• État final: C'est l'état ou les états que l'on cherche à atteindre.

Exemple : Le problème du voyageur de commerce (TSP) (travelling salesman problem)

• États: Chaque état représente une ville spécifique que le voyageur visite. L'état peut
être représenté par une liste ordonnée des villes visitées.

• Opérateurs: Se déplacer d'une ville à une autre.

• État initial: La ville de départ.

• État final: Revenir à la ville de départ en ayant visité toutes les autres villes une fois et
une seule.

2.2. Graphes d'états

Un graphe d'états est une représentation visuelle de l'espace d'états.

• Nœuds: Chaque nœud représente un état.

• Arcs: Les arcs représentent les opérateurs, c'est-à-dire les transitions possibles entre
les états.

Page | 3 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

(a) Instance du problème du voyageur de commerce.


(b) Le chemin ABDCA de longueur 4+2+5+3 = 14 km.
(c) Le chemin ACBDA est le chemin le plus court qui part de A, revient à A et passe
par toutes les villes. Il est de longueur 3+1+2+1 = 7 km. Le chemin ADBCA
propose également une longueur de 7km.

Fig 2.1. Exemple de graphe d'états qui représente visuellement Le problème du voyageur de
commerce (TSP).

2.3. Contraintes

Les contraintes limitent les possibilités d'action dans un espace d'états. Elles peuvent être
représentées de différentes manières :

Page | 4 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

• Préconditions: Une action ne peut être appliquée que si certaines conditions sont
remplies.

• Effets: Une action modifie l'état du monde de manière spécifique.

• Invariants: Certaines propriétés doivent être vérifiées à tout moment.

Exemple: Dans le problème du voyageur de commerce, une contrainte pourrait être que
chaque ville ne peut être visitée qu'une fois.

3. Méthodes de recherche de solution dans les espaces d’états

Une fois que nous avons représenté notre problème sous forme d'espace d'états, il nous
faut explorer cet espace pour trouver une solution, c'est-à-dire un chemin allant de l'état initial
à un état final. Pour cela, nous disposons d'un arsenal de méthodes de recherche.

3.1. Critères d'évaluation des méthodes de recherche

Dans la suite, nous allons différents d’algorithmes de recherche. Comment pouvons-nous


les comparer ? Voici quatre critères que nous allons utiliser pour comparer les différents
algorithmes de recherche :

• Complexité en temps : Combien du temps prend l’algorithme pour trouver la solution ?


• Complexité en espace : Combien de mémoire est utilisée lors de la recherche d’une
solution ?
• Complétude : Est-ce que l’algorithme trouve toujours une solution s’il y en a une ?
• Optimalité : Est-ce que l’algorithme renvoie toujours des solutions optimales ?

3.2. Méthodes de recherche


- Méthodes aveugles (non informées) : énumération exhaustive de tous les états de
l'espace de recherche
1. Recherche en largeur
2. Recherche en profondeur
3. Recherche en profondeur limitée
4. Recherche en approfondissement itératif

Page | 5 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

- Méthodes heuristiques (informées) : construction de chemins minimaux dans


l'exploration de l’espace de recherche basée sur des critères, des principes, ou des
méthodes permettant de faire les choix les plus efficaces pour atteindre le but fixé
1. Recherche A*
2. Autres algorithmes informés : Recherche best-first, recherche hill-climbing.

3.2.1. Méthodes de recherche aveugle (non informées)

Ces méthodes sont qualifiées d’aveugles, car en raison de l’ignorance de la position de la


solution et le choix de l’exploration de l’arbre ou graphe en entier sans information a priori du
coût qui sera assigné pour accéder à la solution.

1. Recherche en largeur :
- Explore tous les nœuds d'un niveau avant de passer au niveau suivant.
- Garantit de trouver la solution la plus courte si elle existe.
- Peut être très coûteuse en mémoire pour de grands espaces d'états.

Algorithme

Page | 6 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Exemple

Solution :

queue = [G]

= [A,C]

= [C,B,D,H]

= [B,D,H,D]

= [D,H,D,F]

= [H,D,F,E,G]

= [D,F,E,G,B,K]

= [F,E,G,B,K,E,G]

= [E,G,B,K,E,G,G]

= [G,B,K,E,G,G,A,C,K]

= [B,K,E,G,G,A,C,K,A,C]

= [K,E,G,G,A,C,K,A,C,F]

K : Solution

Page | 7 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

2. Recherche en profondeur :
- Explore un chemin aussi loin que possible avant de revenir en arrière.
- Peut trouver rapidement une solution, mais risque de se perdre dans des branches
infinies.

Algorithme

Exemple : le même exemple utilisé dans la recherche en largeur

Solution :

Frontière = [G]

= [A,C]

= [B,D,H,C]

= [F,D,H,C]

= [D,H,C]

= [E,H,C]

= [C,K,H,C]

= [K,H,C]

= [H,C]

Page | 8 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

3. Recherche en profondeur limitée :


- Variante de la recherche en profondeur qui impose une limite à la profondeur de l'arbre
de recherche.

Algorithme

Exemple : le même exemple utilisé dans la recherche en largeur

Solution :

Page | 9 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

4. Recherche itérative approfondissement :


- Combine les avantages des deux précédentes en augmentant progressivement la limite
de profondeur.
- La recherche en profondeur limitée et la recherche itérative approfondissement sont
deux algorithmes de recherche en profondeur. Bien qu'ils partagent une structure de
base, leur stratégie d'exploration diffère. La recherche en profondeur limitée impose
une limite prédéfinie à la profondeur d'exploration, ce qui peut l'empêcher de trouver
une solution si elle se situe au-delà de cette limite. En revanche, la recherche itérative
approfondissement commence par une profondeur minimale et incrémente
progressivement cette limite à chaque itération jusqu'à trouver la solution ou à explorer
l'espace de recherche entier. Ainsi, la recherche en profondeur limitée est incomplète,
tandis que la recherche itérative approfondissement est complète, garantissant de
trouver la solution si elle existe.

Page | 10 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Algorithme

Quand utiliser quelle méthode ?

• Si vous savez à peu près où se trouve la solution et que vous voulez aller vite, la
recherche en profondeur limitée peut être intéressante.

• Si vous voulez être sûr de trouver la meilleure solution, même si elle est loin, la
recherche itérative approfondissement est plus adaptée.

Page | 11 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

3.2.2. Méthodes heuristiques (informées)

La recherche informée est une famille d'algorithmes de recherche qui utilisent des
informations supplémentaires sur le problème à résoudre pour guider l'exploration de l'espace
de recherche. Ces informations permettent d'orienter la recherche vers les régions de l'espace
de recherche les plus prometteuses, ce qui améliore significativement l'efficacité de la
recherche.

Comment fonctionne la recherche informée ?

Contrairement aux recherches aveugles (comme la recherche en largeur ou en profondeur)


qui explorent l'espace de recherche de manière uniforme, les recherches informées utilisent
une fonction d'évaluation (ou heuristique) pour estimer la distance entre un nœud donné et
l'état but. Cette fonction permet de prioriser les nœuds les plus prometteurs lors de
l'exploration.

Les principales méthodes de recherche informée sont :

1. Recherche A*(Astar):

C'est l'algorithme de recherche informée le plus connu. Il combine le coût du chemin


parcouru depuis l'état initial avec une estimation du coût restant pour atteindre l'état but. La
fonction d'évaluation f(n) utilisée dans A* est définie comme suit : f(n) = g(n) + h(n), où g(n)
est le coût du chemin parcouru jusqu'à n et h(n) est l'heuristique, c'est-à-dire une estimation
du coût minimal pour aller de n à l'état but.

Page | 12 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Algorithme

Exemple :

Page | 13 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

Solution :

2. Autres algorithmes informés :

2.1. Recherche Greedy Best Search : Explore toujours le nœud avec la meilleure
évaluation heuristique f(n) =h(n).
2.2. Recherche hill-climbing (Greedy Local Search) : Améliore itérativement la solution
en choisissant toujours le voisin ayant la meilleure évaluation f(n) =g(n).

Quand utiliser la recherche informée ?

La recherche informée est particulièrement utile lorsque l'espace de recherche est très
grand et que l'on souhaite trouver une solution rapidement. Elle est utilisée dans de
nombreuses applications, telles que :

Page | 14 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

• La planification de trajet: Pour trouver le chemin le plus court entre deux points dans
un graphe.

• Les jeux vidéo: Pour trouver la meilleure action à effectuer dans un jeu.

• La robotique: Pour planifier le mouvement d'un robot dans un environnement


complexe.

• La résolution de problèmes de satisfaction de contraintes: Pour trouver une


affectation de valeurs à des variables qui satisfait un ensemble de contraintes.

3.3. Complexité des algorithmes

La complexité d'un algorithme de recherche dépend de :

- La taille de l'espace d'états : Plus l'espace est grand, plus la recherche sera longue.
- La ramification : Le nombre moyen de successeurs d'un nœud.
- La profondeur de la solution : La longueur du chemin le plus court vers la solution.
- La complexité peut être analysée en termes de temps (nombre d'opérations) et d'espace
(mémoire utilisée).

3.4. Choix de l'algorithme

Le choix de l'algorithme dépend de plusieurs facteurs :

- La nature du problème: Certains problèmes se prêtent mieux à certaines méthodes.


- Les ressources disponibles: Mémoire, temps de calcul.
- La qualité de l'heuristique: Une bonne heuristique peut considérablement améliorer les
performances de la recherche.
- Les garanties souhaitées: Optimalité, complétude.

3.5. Conclusion

Les algorithmes de recherche constituent un pilier fondamental de l'intelligence artificielle


et de la science informatique. Ce chapitre a exploré différentes familles d'algorithmes, chacune

Page | 15 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique


Chapitre 2 : Résolution de problèmes de planification ING3 Module : FIA

ayant ses propres forces et faiblesses. Les méthodes de recherche aveugle, telles que la
recherche en largeur et en profondeur, offrent des approches systématiques mais peuvent être
coûteuses en temps et en espace pour de grands espaces d'états. Les méthodes heuristiques,
quant à elles, exploitent des connaissances sur le problème pour guider la recherche et trouver
plus rapidement des solutions. Les méthodes de recherche dans les espaces d'états
fournissent un cadre formel pour modéliser et résoudre une grande variété de problèmes. En
définitive, le choix d'un algorithme de recherche dépend étroitement de la nature du
problème à résoudre, des ressources disponibles et des critères d'optimalité recherchés.

Page | 16 UNIVERSITE ABDERRAHMANE MIRA-BEJAIA Département Informatique

Vous aimerez peut-être aussi