\documentclass{report}


\usepackage[T1]{fontenc} % encodage
\renewcommand{\familydefault}{\sfdefault} % police en sans-serif

\usepackage[french]{babel} % langue
\frenchsetup{SmallCapsFigTabCaptions=false}

\usepackage[hidelinks]{hyperref} % liens cliquable dans la table des matières

\usepackage{graphicx} % images
% \usepackage{caption}

\usepackage[a4paper, left=20mm, top=20mm]{geometry} % dimensions de la page

\usepackage{titlesec}
\titleformat{\chapter}
  {\LARGE\bfseries}{}{1em}{}
  \titlespacing*{\chapter}{0pt}{0pt}{1em}

% Minimum pour les colonnes des tableaux
\usepackage{array}
\newcolumntype{y}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\newcolumntype{Y}{y{126pt}|y{70pt}|y{66pt}|y{71pt}}

\title{\textbf{TP1 - Sokoban}}
\author{Groupe 4\thanks{César PICHON, Florian POSEZ, Omar ANOUAR, Anri KENNEL}\\
    \\Intelligence artificielle pour les jeux $\cdot$ Université Paris 8}

\date{Année universitaire 2022-2023}

\begin{document}
\maketitle
\tableofcontents
\clearpage

\chapter{C++}
\section{Algorithmes}
\subsection{Algorithme de parcours en largeur}
Notre implémentation de l'algorithme de parcours en largeur est, malheureusement,
trop lente pour résoudre un Sokoban, on a décidé de ne pas l'optimiser et
d'utiliser un autre algorithme.

\subsection{Algorithme de parcours en profondeur}
Notre implémentation de l'algorithme de parcours en profondeur,
elle arrive à résoudre le \texttt{screen-0} en temps raisonnable.

\subsubsection{Optimisations}
Afin d'éviter les cas répétitifs, on utilises un tableau qui stockes les états
déjà visités.

\section{Pré-calculs}
Nous n'avons pas utilisés de pré-calculs.

\section{Problèmes}
\subsection{1 joueur}
\begin{enumerate}
    \item \texttt{Screen-0} :
          \begin{figure}[h]
              \centering
              \begin{tabular}{Y}
                  Nombre max caisses déplacées & Solution         & Temps calcul & Temps précalculs \\
                  \hline
                  6 (toutes)                   & Oui, en 39 coups & 5-10s        & Aucun
              \end{tabular}
          \end{figure}
    \item \texttt{Screen-2} :
          \begin{figure}[h]
              \centering
              \begin{tabular}{Y}
                  Nombre max caisses déplacées & Solution & Temps calcul    & Temps précalculs \\
                  \hline
                  2-3                          & Non      & Encore en cours & Aucun
              \end{tabular}
          \end{figure}
\end{enumerate}

\subsection{2 joueurs}
L'algorithme n'as pas tourné sur les parties à 2 joueurs.

\chapter{Prolog}
\section{Algorithmes}
\subsection{B-prolog}
Nous avons essayé de réimplenter la logique de B-Prolog.

\section{Pré-calculs}
Nous n'avons pas utilisés de pré-calculs.

\section{Problèmes}
\subsection{1 joueur}
Malheureusement le programme ne résoud pas de programme à 1 joueur.

\subsection{2 joueurs}
Malheureusement le programme ne résoud pas de programme à 2 joueurs.

\end{document}
