La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 615 – Intelligence artificielle Recherche heuristique locale Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza.

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence artificielle Recherche heuristique locale Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza."— Transcription de la présentation:

1 IFT 615 – Intelligence artificielle Recherche heuristique locale Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza

2 © Froduald Kabanza2IFT615 Objectifs l Comprendre: u La différence entre une recherche complète et une recherche locale. u La méthode hill-climbing. u La méthode simulated-annealing. u Les algorithmes génétiques.

3 © Froduald Kabanza3IFT615 Motivations pour une recherche locale l Rappel de quelques faits saillants de A*: u Un état final (let but) à atteindre est donné comme entrée. u La solution est un chemin et non juste létat final. u Idéalement on veut un chemin optimal. u Exploration systématique de lespace détats: les états rencontrés sont stockés pour éviter de les revisiter. l Pour certains types de problèmes impliquant une recherche dans un espace détats, on peut avoir lune ou lautre des caractéristiques suivantes: u La solution recherchée est juste létat optimal (ou proche) et non le chemin qui y mène. u Il y une fonction objective à optimiser. u Lespace détats est trop grand pour être enregistré. l Pour ce genre de problèmes, une recherche locale peut être la meilleure approche.

4 © Froduald Kabanza4IFT615 Principe dune recherche locale l Une recherche locale garde juste certains états visités en mémoire: u Le cas le plus simple est hill-climbing qui garde juste un état (létat courant) et laméliore itérativement jusquà converger à une solution. u Le cas le plus élaboré est celui des algorithmes génétiques qui gardent un ensemble détats (appelé population) et le fait évoluer jusquà obtenir une solution. l En général, il y a une fonction objective à optimiser (maximiser ou minimiser) u Dans le cas de hill-climbing, elle permet de détermine létat successeur. u Dans le cas des algorithmes génétiques, on lappelle la fonction de fitness. Elle intervient dans le calcul de lensemble des états successeurs de létat courant. l En général, une recherche locale ne garantie pas de solution optimale. Son attrait est surtout sa capacité de trouver une solution acceptable rapidement.

5 © Froduald Kabanza5IFT615 Méthode Hill-Climbing l Entrée : u État initial. u Fonction à optimiser: » noté VALUE dans lalgorithme; »parfois noté h aussi. l Méthode u Le nœud courant est initialisé à létat initial. u Itérativement, le nœud courant est comparé à ses successeurs immédiats. »Le meilleur voisin immédiat et ayant la plus grande valeur (selon VALUE) que le nœud courant, devient le nœud courant. »Si un tel voisin nexiste pas, on arrête et on retourne le nœud courant comme solution.

6 © Froduald Kabanza6IFT615 Algorithme Hill-Climbing problem.I NITIAL -S TATE ) neighbor.V ALUE current.V ALUE current. S TATE

7 © Froduald Kabanza7IFT615 Illustration de lalgorithme hill-climbing l Imaginez ce que vous feriez pour arriver au (trouver le) sommet dune colline donnée, en plein brouillard et soufrant damnésie.

8 © Froduald Kabanza8IFT615 Exemple: N-Queen l Problème: Placer n reines sur un échiquier de taille n× n de sorte que deux reines ne sattaquent mutuellement: u C-à-d., jamais deux reines sur la même diagonale, ligne ou colonne. l Avec N=4 : 256 configurations. l N=8 : l N= 16 : 18,446,744,073,709,551,616 configurations

9 © Froduald Kabanza9IFT615 Hill-Climbing avec 8 reines l h (VALUE): nombre de paires de reines qui sattaquent mutuellement directement ou indirectement. l On veut le minimiser. l h pour létat affiché: 17 l Encadrés: les meilleurs successeurs.

10 © Froduald Kabanza10IFT615 Hill-Climbing avec 8 reines l Un exemple de minimum local avec h(n)=1

11 Méthode simulated annealing (recuit simulé) l Cest une amélioration de lalgorithme hill-climbing pour minimiser le risque dêtre piégé dans des maxima/minima locaux u au lieu de regarder le meilleur voisin immédiat du nœud courant, avec une certaine probabilité on va regarder un moins bon voisin immédiat »on espère ainsi séchapper des optima locaux u au début de la recherche, la probabilité de prendre un moins bon voisin est plus élevée et diminue graduellement l Le nombre ditérations et la diminution des probabilités sont définis à laide dun schéma (schedule) de « températures », en ordre décroissant u ex.: schéma [ 2 -0, 2 -1, 2 -2, 2 -3,..., ], pour un total de 100 itérations u la meilleure définition du schéma va varier dun problème à lautre IFT 615Froduald Kabanza11

12 © Froduald Kabanza12IFT615 Algorithme Simulated Annealing problem.I NITIAL -S TATE ) next.V ALUE - current.V ALUE plus T est petit, plus e ΔE / T est petite

13 IFT 615Froduald Kabanza13 l Lalgorithme simulated annealing minimise le risque dêtre piégé dans des optima locaux l Par contre, il nélimine pas la possibilité dosciller indéfiniment en revenant à un nœud antérieurement visité l Idée: On pourrait enregistrer les nœuds visités u on revient à A* et approches similaires! u mais cest impraticable si lespace détats est trop grand l Lalgorithme tabu search (recherche taboue) enregistre seulement les k derniers nœuds visités u lensemble taboue est lensemble contenant les k noeuds u le paramètre k est choisi empiriquement u cela nélimine pas les oscillations, mais les réduit u il existe en fait plusieurs autres façon de construire lensemble taboue... Tabu search

14 IFT 615Froduald Kabanza14 Beam search l Idée: plutôt que maintenir un seul noeud solution n, en pourrait maintenir un ensemble de k noeuds différents 1. on commence avec un ensemble de k noeuds choisis aléatoirement 2. à chaque itération, tous les successeurs des k noeuds sont générés 3. on choisit les k meilleurs parmi ces noeuds et on recommence l Cet algorithme est appelé local beam search (exploration locale par faisceau) u à ne pas confondre avec tabu search u variante stochastic beam search : plutôt que prendre les k meilleurs, on assigne une probabilité de choisir chaque noeud, même sil nest pas parmi les k meilleurs (comme dans simulated annealing)

15 © Froduald Kabanza15IFT615 Algorithmes génétiques l Idée très similaire à stochastic beam-search. Rappel de beam search : 1. On commence avec un ensemble n détats choisis aléatoirement. 2. À chaque itération, tous les successeurs des n états sont générés. 3. Si un deux satisfait le but, on arrête. 4. Sinon on choisit les n meilleurs (local) ou au aléatoirement (stochastic) et on recommence. l Algorithme génétique u On commence aussi avec un ensemble n détats choisis aléatoirement. Cet ensemble est appelé une population. u Un successeur est généré en combinant deux parents. u Un état est représentée par un mot (chaîne) sur un alphabet (souvent lalphabet binaire). u La fonction dévaluation est appelée fonction de fitness (fonction dadaptabilité, de survie). u La prochaine génération est produite par sélection, croisement et mutation.

16 IFT615 © Froduald Kabanza 16 Algorithmes génétiques l Les algorithmes génétiques sont inspiré du processus de lévolution naturelle des espèces: u Après tout lintelligence humaine est le résultat dun processus dévolution sur des millions dannées : »Théorie de lévolution (Darwin, 1858) »Théorie de la sélection naturelle (Weismann) »Concepts de génétiques (Mendel) u La simulation de lévolution na pas besoin de durer des millions dannées sur un ordinateur.

17 IFT615 © Froduald Kabanza 17 Algorithmes génétiques l On représente lespace des solutions dun problème à résoudre par une population (ensemble de chromosomes). u Un chromosome est une chaîne de bits (gènes) de taille fixe. u Par exemple : l Une population génère des enfants par un ensemble de procédures simples qui manipulent les chromosomes u Croisement de parents u Mutation dun enfant généré l Les enfants sont conservés en fonction de leur adaptabilité (fitness) déterminée par une fonction dadaptabilité donnée, f(x).

18 IFT615 © Froduald Kabanza 18 Algorithmes génétiques 1. Générer aléatoirement une population de N chromosomes. 2. Calculer la valeur dadaptabilité (fitness) de chaque chromosome x. 3. Créer une nouvelle population de taille N. 3.1 Sélectionnant 2 parents chromosomes (chaque parent est sélectionné avec une probabilité proportionnelle à son adaptabilité) et en les croisant avec une certaine probabilité Mutant les deux enfants obtenus avec une certaine probabilité. 3.3 Plaçant les enfants dans la nouvelle population. 3.4 Répéter à partir de létape 3.1 jusquà avoir une population de taille N. 4. Si la population satisfait le critère darrêt, arrêter. Sinon, recommencer à létape 2.

19 © Froduald Kabanza19IFT615 Croisement: exemple avec 8 reines =

20 © Froduald Kabanza20IFT615 Exemple avec 8 reines l Fonction de fitness: nombre de pairs de reines qui ne sattaquent pas (min = 0, max = (8 × 7)/2 = 28) l Pourcentage de fitness (c-à-d., probabilité de sélection du chromosome): u 24/( ) = 31% u 23/( ) = 29% u 20/( ) = 26% u 11/( ) = 14%

21 IFT615 © Froduald Kabanza 21 Autre Exemple l Calculer le maximum de la fonction f(x) = 15x – x 2 l Supposons x entre [0, 15] : u on a besoin de seulement 4 bits pour représenter la population. [Michael Negnevitsky. Artificial Intelligence. Addison-Wesley, Page 222.]

22 IFT615 © Froduald Kabanza 22 Autre Exemple (suite) l Fixons la taille de la population à 6. l La probabilité de croisement à 0.7 l Et la probabilité de mutation à l La fonction dadaptabilité à f(x)=15x – x 2. l Lalgorithme génétique initialise les 6 chromosomes de la population en les choisissant au hasard.

23 IFT615© Froduald Kabanza23 Autre Exemple (Illustration des étapes) i+1 Critère darrêt : Maximum de la moyenne de fitness de la population. Détectée au point où la moyenne dadaptation commence à décroitre. Problème de minima locaux.

24 IFT615© Froduald Kabanza24 Programmation génétique Même principes que les algorithmes génétiques sauf que les populations sont des programmes au lieu des chaînes de bits.

25 IFT615© Froduald Kabanza25 [Michael Negnevitsky. Artificial Intelligence. Addison-Wesley, Page 247.]

26 IFT615 © Froduald Kabanza 26

27 Recherche locale : pour quel type dagent? IFT615Froduald Kabanza27 Simple reflex Model-based reflex Goal-based Utiliy-based

28 Recherche locale : pour quel type dagent? IFT615Froduald Kabanza28 Simple reflex Model-based reflex Goal-based Utiliy-based

29 Recherche local vs Recherche global IFT615Froduald Kabanza29 agents intelligents agents intelligents recherche globale recherche globale recherche locale Algorithmes et concepts

30 Conclusion l La recherche locale est parfois une alternative plus intéressante que la recherche heuristique l Jai ignoré le cas où on a également une fonction but goal(n) u dans ce cas, lorsquon change la valeur de n, on arrête aussitôt que goal(n) est vrai »ex.: goal(n) est vrai si n est un optimum global de F(n) l La recherche locale va savérer utile plus tard dans le cours u satisfaction de contraintes u apprentissage par renforcement IFT615Froduald Kabanza30

31 Vous devriez être capable de... l Décrire ce quest la recherche locale en général l Décrire les algorithmes : u hill-climbing u simulated annealing u algorithme génétique l Savoir simuler ces algorithmes l Connaître leurs propriétés (avantages vs. désavantages) IFT615Froduald Kabanza31

32 © Froduald Kabanza32IFT615 Prochain Cours l Voir le plan de cours. Voir le plan de cours.


Télécharger ppt "IFT 615 – Intelligence artificielle Recherche heuristique locale Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza."

Présentations similaires


Annonces Google