ift7025-notes-de-cours/chapitre3b.tex

212 lines
5.7 KiB
TeX
Raw Normal View History

2019-02-24 19:35:53 +00:00
\section{Chapitre 3: Recherche informée}
2019-03-01 02:48:16 +00:00
\label{sec:ch3b}
2019-02-24 19:35:53 +00:00
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}
2019-02-25 04:30:33 +00:00
\begin{table}[ht]
2019-02-24 19:35:53 +00:00
\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}
2019-02-25 04:30:33 +00:00
\begin{table}[ht]
2019-02-24 19:35:53 +00:00
\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}
2019-03-01 02:48:16 +00:00
\label{eq:astaroptimgraph}
2019-02-24 19:35:53 +00:00
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}
2019-02-25 04:30:33 +00:00
\begin{table}[ht]
2019-02-24 19:35:53 +00:00
\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: