100 lines
3.2 KiB
TeX
100 lines
3.2 KiB
TeX
\documentclass{beamer}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage{multicol}
|
|
\columnseprule 0.4pt\raggedcolumns
|
|
\usetheme{Warsaw}
|
|
|
|
\title{Programmation Dynamique \\ Recherche du plus grand carré}
|
|
\author{Todaro Cédric et Bertrand Benjamin}
|
|
\date{}
|
|
|
|
\begin{document}
|
|
|
|
\begin{frame}
|
|
\titlepage
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]{Approche déconnecté}
|
|
\begin{minipage}{0.6\linewidth}
|
|
\begin{block}{Trouver la taille d'un côté du plus grand carré blanc dans une grille}
|
|
\includegraphics[scale=0.4]{./fig/grids}
|
|
|
|
(Bonus) Avoir la position des plus grand carrés par leur coin inférieur droit.
|
|
\end{block}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}{0.35
|
|
\linewidth}
|
|
\textbf{Consignes}
|
|
\begin{itemize}
|
|
\item Résoudre le problème à la main sur les grilles données.
|
|
\item Trouver et rédiger une méthode pour résoudre le problème pour n'importe quelle grille.
|
|
\item Trouver une façon d'encoder une grille.
|
|
\end{itemize}
|
|
\end{minipage}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]{Programmation}
|
|
\textbf{Consignes} choisir une méthode et l'implémenter.
|
|
|
|
\begin{block}{Spécifications}
|
|
\begin{minipage}{0.6\linewidth}
|
|
Le module doit avoir une fonction nommé \verb|taille_plus_grand_carre|.
|
|
|
|
\textbf{paramètre}:
|
|
\begin{itemize}
|
|
\item une grille (liste de liste avec 0 si blanc et 1 si noir)
|
|
\end{itemize}
|
|
\textbf{retourne}:
|
|
\begin{itemize}
|
|
\item la taille d'un côté du plus grand carré.
|
|
\end{itemize}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}{0.3\linewidth}
|
|
\includegraphics[scale=0.4]{./fig/grid}
|
|
\end{minipage}
|
|
\end{block}
|
|
\paragraph{Aide:} Dans le module...
|
|
|
|
\end{frame}
|
|
|
|
\begin{frame}{Comparaison}
|
|
\textbf{Consignes}
|
|
\begin{itemize}
|
|
\item Choisir 3 implémentations
|
|
\item Exécuter ces trois implémentations sur des grilles de tailles différentes
|
|
\item Noter les temps d'exécutions
|
|
\item Tracer une graphique représentant ces temps d'exécutions
|
|
\item Comparer ces trois implémentations
|
|
\item Que peut-on dire sur la complexité des algorithmes mis en oeuvre?
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Programmation dynamique de l'algorithme}
|
|
\begin{block}{Récurrence}
|
|
\begin{minipage}{0.45\linewidth}
|
|
\includegraphics[scale=0.5]{./fig/recurence}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}{0.45\linewidth}
|
|
On note \texttt{gc(i, j)} la taille du plus grand carré possible qui a le coin inférieur droit en position $(i,j)$.
|
|
\end{minipage}
|
|
\[
|
|
\scriptstyle
|
|
gc(i, j) = \left\{
|
|
\begin{array}{ll}
|
|
0 & \mbox{Si noir}\\
|
|
\min(gc(i-1, j), gc(i, j-1), gc(i-1, j-1)) +1 & \mbox{Si blanc}
|
|
\end{array}
|
|
\]
|
|
\end{block}
|
|
\begin{block}{Stockage des valeurs}
|
|
\begin{center}
|
|
\includegraphics[scale=0.4]{./fig/sauvegarde}
|
|
\end{center}
|
|
\end{block}
|
|
\end{frame}
|
|
|
|
\end{document}
|