111 lines
3 KiB
TeX
111 lines
3 KiB
TeX
\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:
|