ift7025-notes-de-cours/chapitre3b.tex
2019-02-24 14:35:53 -05:00

211 lines
5.7 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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 dabord 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 dabord 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)$$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$$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: