suite chapitre 4 et début chapitre 5

This commit is contained in:
François Pelletier 2019-02-24 17:26:38 -05:00
parent de18a33ad7
commit 342e4c0f1c
5 changed files with 198 additions and 0 deletions

BIN
algorithme-genetique.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

1
algorithme-genetique.xml Normal file
View 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>

View file

@ -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
View 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:

View file

@ -98,6 +98,9 @@
\include{chapitre3a}
\include{chapitre3b}
\include{chapitre4}
\include{chapitre5}
\include{chapitre6}
% Ajouter les autres chapitres au besoin
\bibliography{bibliographie}