\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}[ht] \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}[ht] \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}[ht] \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: