211 lines
5.7 KiB
TeX
211 lines
5.7 KiB
TeX
\section{Chapitre 3: Recherche informée}
|
||
\label{sec:ch3}
|
||
|
||
Les algorithmes de recherche informée utilisent une heuristique pour choisir les meilleurs noeuds à visiter.
|
||
|
||
\subsection{Meilleur d'abord}
|
||
\label{sec:ch3meilleur}
|
||
|
||
\begin{itemize}
|
||
\item Implémenté par une file triée par une fonction d'évaluation $f(n)$
|
||
\item Fonction heuristique $h(n)$ qui estime le coût du chemin le plus court pour atteindre un état but $g$. $h(n) \geq 0$ et $h(G)=0 \forall g \in G$.
|
||
\end{itemize}
|
||
|
||
\subsection{Meilleur d’abord gloutonne}
|
||
\label{sec:ch3meilleurgloutonne}
|
||
|
||
\begin{itemize}
|
||
\item $f(n)=h(n)$
|
||
\end{itemize}
|
||
|
||
Exemples d'heuristique:
|
||
|
||
\begin{itemize}
|
||
\item mesure de distance euclidienne,
|
||
\item distance de Manhattan.
|
||
\end{itemize}
|
||
|
||
\begin{table}[h]
|
||
\centering
|
||
\begin{tabular}{p{4cm}|p{3cm}|p{4cm}}
|
||
Propriété&Valeur&Conditions\\
|
||
\hline
|
||
Complétude&Non&Possibilité de cycles. Oui, dans la version pour graphes\\
|
||
Complexité en temps &$O(b^m)$&Dans le pire cas\\
|
||
Complexité en espace&$O(b^m)$&\\
|
||
Optimalité&Non&Arrête à la première solution trouvée\\
|
||
\end{tabular}
|
||
\caption{Meilleur d’abord gloutonne: propriétés}
|
||
\end{table}
|
||
|
||
\subsection{$A^{\star}$}
|
||
\label{sec:ch3astar}
|
||
|
||
\begin{itemize}
|
||
\item Identique à l'algorithme de la recherche avec coût uniforme, sauf pour la fonction $f(n)$
|
||
\item $f(n)=g(n)+h(n)$
|
||
\item $g(n)$: Coût du noeud de départ au noeud $n$.
|
||
\item $h(n)$: Coût estimé du noeud $n$ au but.
|
||
\item $f(n)$: Coût total estimé du noeud de départ au but en passant par $n$.
|
||
\end{itemize}
|
||
|
||
\begin{mydef}
|
||
\textbf{Heuristique admissible}: $h(n) \leq h^{\star}(n)$ où $h^{\star}(n)$ est le véritable coût de $n$ au but.
|
||
\end{mydef}
|
||
|
||
\begin{table}[h]
|
||
\centering
|
||
\begin{tabular}{p{4cm}|p{3cm}|p{4cm}}
|
||
Propriété&Valeur&Conditions\\
|
||
\hline
|
||
Complétude&Oui&\\
|
||
Complexité en temps &$O((b^{\epsilon})^d)$&\\
|
||
Complexité en espace&$O((b^{\epsilon})^d)$&\\
|
||
Optimalité&Oui&Avec heuristique admissible et consistante pour les graphes\\
|
||
\end{tabular}
|
||
\caption{$A^{\star}$: propriétés}
|
||
\end{table}
|
||
|
||
\begin{mydef}
|
||
Consistance de $h(n)$: Soit le noeud $n$ et le successeur $n^{\prime}$ produit par l'action $a$, alors $h(n) \leq c(n,a,n^{\prime})+h(n^{\prime})$
|
||
\end{mydef}
|
||
|
||
\subsection{Preuves d'optimalité pour $a^{\star}$}
|
||
\label{sec:ch3optimastar}
|
||
|
||
\paragraph{Version pour arbres}
|
||
|
||
On a la frontière suivante:
|
||
|
||
\fbox{
|
||
\begin{minipage}{0.25\linewidth}
|
||
$B$,$n$,$\ldots$
|
||
\end{minipage}
|
||
}
|
||
|
||
\begin{itemize}
|
||
\item h est une heuristique admissible
|
||
\item G est un but optimal
|
||
\item B est un but sous-optimal
|
||
\end{itemize}
|
||
|
||
\begin{align}
|
||
\label{eq:astaroptimarbres}
|
||
f(n) &= g(n) + h(n)&&\\
|
||
&\leq g(n) + c(n,G) &&\text{, par l'hypothèse d'admissibilité}\\
|
||
&= g(G)&&\\
|
||
&< g(B)+h(B) &&\text{, car B est sous-optimal}\\
|
||
&= g(B)+0&&\\
|
||
&= f(B)&&\\
|
||
\implies f(n) &< f(B) &&\text{, n sera développé avant B}
|
||
\end{align}
|
||
|
||
G sera éventuellement dans la frontière, on aura alors
|
||
|
||
\fbox{
|
||
\begin{minipage}{0.25\linewidth}
|
||
$B$,$G$,$\ldots$
|
||
\end{minipage}
|
||
}
|
||
|
||
\paragraph{Version pour graphes}
|
||
|
||
On a la frontière suivante:
|
||
|
||
\fbox{
|
||
\begin{minipage}{0.25\linewidth}
|
||
$A$,$X_1$,$X_k$,$\ldots$
|
||
\end{minipage}
|
||
}
|
||
|
||
\begin{align}
|
||
\label{eq:astaroptimarbres}
|
||
h(n) &\leq c(n,a,n^{\prime}) + h(n^{\prime})&&\text{, Inégalité triangulaire}\\
|
||
g(n) + h(n) &\leq g(n) + \leq c(n,a,n^{\prime}) + h(n^{\prime})&&\\
|
||
f(n) &\leq f(n^{\prime}) &&\text{, La fonction d'évaluation ne décroit pas le long d'un chemin}\\
|
||
f(A) &\leq f(x_i) &&\forall i\\
|
||
f(A^{\prime}) &\geq f(x_i) \geq f(A) = g(A) + h(A)&&\\
|
||
g(A^{\prime})+h(A^{\prime})&\geq f(x_i) \geq g(A) + h(A)&&\\
|
||
g(A^{\prime})&\geq g(A) + h(A)-h(A^{\prime})&&\\
|
||
g(A^{\prime})&\geq g(A)
|
||
\end{align}
|
||
|
||
\subsection{Recheche à mémoire limitée}
|
||
\label{sec:ch3memoirelimitee}
|
||
|
||
\paragraph{$IDA^{\star}$}
|
||
|
||
\begin{itemize}
|
||
\item Profondeur itérative, la limite est une valeur de la fonction d'évaluation.
|
||
\item Limite $L_i = min(f(n))$ pour $n$ où $f(n)>L_{i-1}$.
|
||
\item Avantage: beaucoup moins de mémoire
|
||
\end{itemize}
|
||
|
||
\paragraph{$SMA^{\star}$}
|
||
|
||
\begin{itemize}
|
||
\item $A^{\star}$ avec une limite sur la mémoire.
|
||
\item Enlève les noeuds les plus mauvais, enregistre la valeur de la fonction d'évaluation au parent.
|
||
\end{itemize}
|
||
|
||
\begin{table}[h]
|
||
\centering
|
||
\begin{tabular}{p{4cm}|p{3cm}|p{4cm}}
|
||
Propriété&Valeur&Conditions\\
|
||
\hline
|
||
Complétude&Oui&Si solution atteignable\\
|
||
Complexité en temps &Peut être très long&\\
|
||
Complexité en espace&Mémoire allouée&\\
|
||
Optimalité&Oui&Si solution optimale atteignable\\
|
||
\end{tabular}
|
||
\caption{$SMA^{\star}$: propriétés}
|
||
\end{table}
|
||
|
||
\subsection{Fonctions heuristiques}
|
||
\label{sec:ch3fonctionsheuris}
|
||
|
||
\paragraph{Facteur de branchement effectif}
|
||
|
||
\begin{mydef}
|
||
Le facteur de branchement effectif $b^{\star}$ est la facteur de branchement d'un arbre uniforme de profondeur $d$ contenant $n+1$ noeuds.
|
||
\begin{equation}
|
||
\label{eq:facteurbranchement}
|
||
N+1 = \sum_{i=0}^{d}b^{\star}
|
||
\end{equation}
|
||
\end{mydef}
|
||
|
||
Plus $b^{\star} \rightarrow 1$, plus l'heuristique est efficace.
|
||
|
||
\paragraph{Dominance}
|
||
|
||
\begin{mydef}
|
||
Dominance de $h_2$ sur $h_1$:
|
||
\begin{equation}
|
||
\label{eq:dominanceheuristique}
|
||
h_2(n) \geq h_1(n) \forall n \implies h_2 \succ h_1
|
||
\end{equation}
|
||
\end{mydef}
|
||
|
||
\paragraph{Inventer une heuristique}
|
||
|
||
\begin{itemize}
|
||
\item Relaxer le problème
|
||
\item Le coût de la solution optimale doit être plus petit (admissibilité).
|
||
\item Tenir compte aussi de la consistance.
|
||
\end{itemize}
|
||
|
||
\paragraph{Génération automatique}
|
||
|
||
\begin{itemize}
|
||
\item Heuristique composite: $h(n)=max(h_1(n),\ldots,h_m{n})$
|
||
\item Bases de données de motifs: solutions pour des sous-problèmes
|
||
\end{itemize}
|
||
|
||
|
||
|
||
|
||
|
||
%%% Local Variables:
|
||
%%% mode: latex
|
||
%%% TeX-master: "notes_de_cours"
|
||
%%% End:
|