suite chapitre 4 et début chapitre 5
This commit is contained in:
parent
de18a33ad7
commit
342e4c0f1c
5 changed files with 198 additions and 0 deletions
BIN
algorithme-genetique.png
Normal file
BIN
algorithme-genetique.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
1
algorithme-genetique.xml
Normal file
1
algorithme-genetique.xml
Normal file
|
@ -0,0 +1 @@
|
|||
<mxfile modified="2019-02-24T21:16:44.002Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0" etag="-TQDvLPUakzCCxzjF5za" version="10.2.6" type="device"><diagram id="1VcpRvlRX4VIsJ3TEB03" name="Page-1">5ZhLc5swEMc/DTPtIRlAYJOj7bwObcatO5PkKIMMagViJBGbfvpKIMwrdmmalHriA6P9e/Vg97dCYIBFvLthMI0+0wARwzaDnQEuDdt2Jq68KiEvhemFVQohw0EpNYQV/om0aGo1wwHiLUdBKRE4bYs+TRLki5YGGaPbttuGkvasKQxRT1j5kPTVexyIqFQ9e1rrtwiHUTWzNbko/4lh5azvhEcwoNuGBK4MsGCUirIV7xaIqNhVcSn7XR/4d78whhIxpEO6iDLrZmPfzpbo9ub+7kt2dn+mF8tFXt0wCuT9a5MyEdGQJpBc1eqc0SwJkBrVlFYkYiKblmx+R0LkOoUwE1RK9QifKE21XzmnmujgrWiJ04z56Mj6KyQgC5E44mfvAy5BRTRGguWyH0MECvzUXgfUyIR7vzqqsqED+wdB1uM+QZLpmQx7QuRy5wF+ks1QNZc0zdRiaKKqBcnLGnJUOcp5G769pLVTso2wQKsUFpHbyrJsp0mvBjGBdscT0A+Y7uBppnVRO9rc1hVim1qLGtVR+b1+hM1eSE6LY3sgx2BMju0hHBsLYHgXykfDfAoAW/boBFu9mPwFwTIKLH9Q+rlbmY/arTAudy0r19YI5IOB5Dtjkg+GkL9S6M8uiDyGnAz4e8jHA99+p+A7A8F3xwTfGQK+PMRijmIVARkbdYkzcUK7/94erwicd1oE7sAisEY9+Li9KviGWIyTcsM3wHWf6IjG64z/E5otp40zmPRx9p6h2XsrmifPbBpdupNgpt7OpeUTyDn2OwjvsHioIJXtx5pmadX8KiNvwqw6nZnnpum1yD+fAPAb+gtriRiWQUBMiyOgfuBVtZFM95lkVtrggtAzLCkutm3NEui82FkdRsq71J2aHxs643gHkKzGKaPQG0cyAfOGW6oc+OHlOt33UPPoqjruluN2WC/nr8nfx//lxTAd8gS9G/yolNuEaJcKQxz/hOvCQSGrYya93bnhXkoFEhwmqtIks4rsudpusA/JTP8R4yAoHikErhGZQ/9HWDxcFpRQVswLNsXv2Ialv8DplRj7717NWjm8XRzc3VQxT2U1NxNXncdfCnvlQjcbjkSHgVfJutV/Y/haPi14RuTZiFfpXrMq1R9mKStcPK6iRjKOUcZUG4uyKyvOVPzj/3Z+ct7w/CTN+hNpmZ36OzO4+gU=</diagram></mxfile>
|
|
@ -13,6 +13,89 @@
|
|||
\subsection{Escalade}
|
||||
\label{sec:ch4escalade}
|
||||
|
||||
\begin{itemize}
|
||||
\item À chaque tour, choisis le noeud ayant la meilleure valeur de la mesure de performance
|
||||
\item Arrête quand plus aucun successeur n'a de valeur plus grande
|
||||
\item Aucune prospection
|
||||
\item Problèmes:
|
||||
\begin{itemize}
|
||||
\item Maximum local
|
||||
\item Plateaux
|
||||
\item Crête
|
||||
\end{itemize}
|
||||
\item Solutions:
|
||||
\begin{itemize}
|
||||
\item Redémarrage aléatoire:
|
||||
\begin{itemize}
|
||||
\item Point de départ différent
|
||||
\item Sauvegarde de la meilleure solution
|
||||
\item Solution dépend de la surface d'états:
|
||||
\begin{itemize}
|
||||
\item Rapide si peu de minima locaux
|
||||
\item Lent (exponentiel) si surface en porc-épic
|
||||
\end{itemize}
|
||||
\item Solution raisonnable obtenue rapidement
|
||||
\end{itemize}
|
||||
\item Recuit simulé:
|
||||
\begin{itemize}
|
||||
\item Déplacements perturbateurs
|
||||
\item Démonstration: faire rebondir une balle sur une surface en agitant celle-ci.
|
||||
\item On commence en agitant fort et on diminue l'intensité.
|
||||
\item Algorithme: si successeur est meilleur $\Delta E > 0$, on y va. Sinon, avec une probabilité $e^{\Delta E/T}$, on y va aussi. $T$ est une fonction décroissante du temps ($t \mapsto T$).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Recherche locale en faisceau}
|
||||
\label{sec:ch4faisceau}
|
||||
|
||||
\begin{itemize}
|
||||
\item Choisir k états aléatoirement
|
||||
\item Générer leurs successeurs
|
||||
\item Arrêter si un but est trouvé
|
||||
\item Sinon, choisir les k meilleurs successeurs et recommencer (variante, choisir les k successeurs aléatoirement, avec une probabilité proportionnelle à la fonction d'évaluation)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Algorithmes génétiques}
|
||||
\label{sec:ch4algogenetiques}
|
||||
|
||||
\paragraph{Principes de bases}
|
||||
|
||||
\begin{itemize}
|
||||
\item Un individu fort a plus de chance de survivre.
|
||||
\item Deux individus forts donnent généralement des enfants forts
|
||||
\item Si l'environnement évolue lentement, les organismes évoluent et s'adaptent
|
||||
\item Des mutations surviennent aléatoirement, peuvent être bénéfiques ou mortelles
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Fonctionnement}
|
||||
|
||||
\begin{itemize}
|
||||
\item Chaînes de bits, expressions symboliques ou programmes
|
||||
\item Population initiale séparée en paires
|
||||
\item Reproduction (inverser deux sections entre les parents) et mutations (inverser un bit au hasard)
|
||||
\item Sélection des enfants avec une fonction d'utilité
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=175px]{algorithme-genetique.png}
|
||||
\caption{Algorithme génétique}
|
||||
\label{fig:algogenetique}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Paramétrage}
|
||||
|
||||
\begin{itemize}
|
||||
\item Taille de la population
|
||||
\item Taux de mutation
|
||||
\item Taux de reproduction
|
||||
\item Nombre de générations
|
||||
\end{itemize}
|
||||
|
||||
Se fait habituellement par essais et erreurs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
111
chapitre5.tex
Normal file
111
chapitre5.tex
Normal file
|
@ -0,0 +1,111 @@
|
|||
\section{Chapitre 5: Recherche avec un adversaire}
|
||||
\label{sec:ch4}
|
||||
|
||||
\subsection{Particularités des jeux avec adversaires}
|
||||
\label{sec:ch5jeuxadversaires}
|
||||
|
||||
\begin{itemize}
|
||||
\item Plusieurs agents qui modifient l'environnement
|
||||
\item Imprévisibilité
|
||||
\item Temps de réaction limité
|
||||
\item Relation entre les joueurs:
|
||||
\begin{itemize}
|
||||
\item Coopératifs: même but
|
||||
\item Compétitifs: un gain pour un est une perte pour l'autre:
|
||||
\begin{itemize}
|
||||
\item Cas particulier: jeux à somme nulle (utilité de +1 ou -1)
|
||||
\end{itemize}
|
||||
\item Mixte: alliances
|
||||
\end{itemize}
|
||||
\item Jeux à tour de rôle:
|
||||
\begin{itemize}
|
||||
\item Joueurs coopératifs ou rivaux
|
||||
\item Connaissance partielle ou totale de l'état du jeu
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Hypothèses pour le cours}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Deux adversaires (Max et Min)
|
||||
\item Tour de rôle
|
||||
\item Somme nulle (Récompense positive ou négative)
|
||||
\item Complètement observables
|
||||
\item Déterministes
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Arbre de recherche}
|
||||
\label{sec:ch5arbrerecherche}
|
||||
|
||||
\begin{itemize}
|
||||
\item Noeud initial
|
||||
\item Fonction de transition
|
||||
\item Test de terminaison
|
||||
\item Fonction d'utilité
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Algorithme minimax}
|
||||
\label{sec:ch5minimax}
|
||||
|
||||
À chaque tout, choisir l'action menant à la plus grande valeur minimax. Meilleure action optimale contre un joueur optimal. C'est un algorithme de recherche en profondeur.
|
||||
|
||||
\paragraph{Algorithme}
|
||||
|
||||
Programmation récursive jusqu'à la racine de l'arbre
|
||||
|
||||
\begin{align}
|
||||
E[MMV(n)] &=
|
||||
\begin{cases}
|
||||
U(n)&\text{$n$ est terminal}\\
|
||||
max_{s \in Child(n)}MMV(s)&\text{$n$ est Max}\\
|
||||
min_{s \in Child(n)}MMV(s)&\text{$n$ est Min}\\
|
||||
\end{cases}
|
||||
\end{align}
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\begin{tabular}{p{4cm}|p{3cm}|p{4cm}}
|
||||
Propriété&Valeur&Conditions\\
|
||||
\hline
|
||||
Complétude&Oui&Si l'arbre est fini\\
|
||||
Complexité en temps &$O(b^m)$&\\
|
||||
Complexité en espace&$O(bm)$&\\
|
||||
Optimalité&Oui&Contre un adversaire optimal\\
|
||||
\end{tabular}
|
||||
\caption{minimax: propriétés}
|
||||
\end{table}
|
||||
|
||||
\subsection{Accélérer la recherche}
|
||||
\label{sec:ch5accelerer}
|
||||
|
||||
Deux approches:
|
||||
\begin{itemize}
|
||||
\item Élagage Alpha-Beta: élaguer les chemins explorés inutilement
|
||||
\item Remplacer la fonction d'utilité par une évaluation heuristique: recherche la plus profonde possible + prédiction du résultat ensuite
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Élagage Alpha-Béta}
|
||||
\label{sec:ch5alphabeta}
|
||||
|
||||
\begin{itemize}
|
||||
\item $\alpha$ est la valeur du meilleur choix pour Max (plus grande valeur trouvée jusqu'ici)
|
||||
\item $\beta$ et la valeur du meilleur choix pour Min (plus petite valeur trouvée jusqu'ici)
|
||||
\end{itemize}
|
||||
|
||||
Couper dans un noeud
|
||||
\begin{itemize}
|
||||
\item Min: Si $f(n)<\alpha$ (pire que $\alpha$ pour Max)
|
||||
\item Max: Si $f(n)>\beta$ (pire que $\beta$ pour Min)
|
||||
\end{itemize}
|
||||
|
||||
\href{http://inst.eecs.berkeley.edu/~cs61b/fa14/ta-materials/apps/ab_tree_practice/}{Simulation (Berkeley)}
|
||||
|
||||
\subsection{Negamax}
|
||||
\label{sec:ch5negamax}
|
||||
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "notes_de_cours"
|
||||
%%% End:
|
|
@ -98,6 +98,9 @@
|
|||
\include{chapitre3a}
|
||||
\include{chapitre3b}
|
||||
\include{chapitre4}
|
||||
\include{chapitre5}
|
||||
\include{chapitre6}
|
||||
|
||||
% Ajouter les autres chapitres au besoin
|
||||
|
||||
\bibliography{bibliographie}
|
||||
|
|
Loading…
Reference in a new issue