ift7020-notes-de-cours/chapitre5.tex

128 lines
4.4 KiB
TeX
Raw Normal View History

2018-02-26 06:00:43 +00:00
2018-02-28 04:42:59 +00:00
\section{Chapitre 5: Structures traitables}
2018-02-26 06:00:43 +00:00
\label{sec:ch5}
2018-02-28 04:42:59 +00:00
\textbf{Structure traitable}: propriétés d'un problème qui garantissent une résolution en temps polynomial.
\paragraph{Éviter un retour arrière}
\begin{itemize}
\item Heuristique qui ne fait que de bons choix
\item Filtrage assez fort pour éliminer tous les mauvais choix
\end{itemize}
\subsection{Graphe de contraintes}
\begin{itemize}
\item Problème de satisfaction binaire
\item Variable:noeud, Contrainte:arête
\item \textbf{Arbre}: graphe acyclique
\item \textbf{Arbre orienté}: possède une racine, chaque noeud a des enfants et un parent (sauf le noeud racine)
\item Hauteur:
\begin{itemize}
\item feuille: 0
\item autres: maximum des hauteurs des enfants + 1
\end{itemize}
\item Théorème: Arbre + Cohérence de domaine = Aucun retour arrière
\item Sous-ensemble de contraintes forment un arbre = filtrage fort. Dans le cas des horaires de travail, la structure en arbre donne des horaires valides. Il reste à valider les autres contraintes.
\end{itemize}
Modèle avec deux séquences de variables:
\begin{align}
\mathtt{dom}(X_i) &= \lbrace 0,1 \rbrace \forall X_1, \ldots, X_n\\
\mathtt{dom}(Y_i) &= \lbrace 0,1,2 \rbrace \forall Y_1, \ldots, Y_n\\
X_i = 1 &\Leftrightarrow Y_i=1 et Y_i \leq Y_{i+1}
\end{align}
\paragraph{Hypergraphes de contraintes}
Tuple $(V,E)$
\begin{itemize}
\item $V$: ensemble de noeuds: variables du problème
\item $E$: ensemble d'hyperarêtes: portées des contraintes
\item Décomposition de contrainte: arbre arithmétique
\end{itemize}
\begin{figure}[H]
\centering
\includegraphics[width=6cm]{ch5hypergraph}
\caption{Hypergraphe}
\label{fig:ch5hypergraphe}
\end{figure}
\subsection{Automate}
Tuple $(\Sigma,Q,q_0,F,T)$
\begin{itemize}
\item $\Sigma$ : alphabet
\item $Q$: Ensemble d'états
\item $q_0$: État initial
\item $F \subset Q$: États finaux
\item $T \subset Q \times \Sigma \times Q$: Un ensemble de transitions
\end{itemize}
Une séquence de caractères $c_1, \ldots, c_n$ est reconnue par l'automate si $\exists q_1, \ldots, q_n t.q. (q_{i-1},c_i,q_i) \in T \wedge q_n \in F$.
\paragraph{Contrainte \textsc{Regular}}
\begin{itemize}
\item Comprend une séquence de variable et un automate
\item Un algorithme peut appliquer la cohérence de domaine
\item Peut aussi être encodée avec une structure en forme d'arbre \ref{fig:arbreregular}
\end{itemize}
\paragraph{Encoder avec des contraintes}
\begin{figure}[H]
\centering
\includegraphics[width=14cm]{tableau_regular}
\caption{Structure d'arbre pour \textsc{Regular}}
\label{fig:arbreregular}
\end{figure}
\begin{itemize}
\item $dom(x_i) = \Sigma$
\item $n+1$ variables $Q_0,\ldots,Q_n$
\item \begin{itemize}
\item $dom(Q_0)=\lbrace q_o \rbrace$
\item $dom(Q_i)=Q, 0<i<n$
\item $dom(Q_n)=F$
\item $\textsc{Tableau}(Q_{i-1},X_i,Q_i) \in T$
\end{itemize}
\end{itemize}
\paragraph{Ordre lexicographique}
$X_1,\ldots,X_n$ est lexicographiquement plus petite ($\preceq$) que $Y_1,\ldots,Y_n$ si $\exists P t.q. X_P < Y_P \wedge X_i=Y_i \mid i < P$.
La contrainte lexicographique s'écrit
\begin{align}
C(X_i,Y_i,P) \Leftrightarrow (i < P \Rightarrow X_i = Y_i) \wedge (i=O \Rightarrow X_i < Y_i) \\
i \leq P \Rightarrow X_i \leq Y_i
\end{align}
\subsection{Largeur d'arbre}
\textbf{Largeur d'arbre}: permet de dire à quel point une structure est similaire à un arbre. Lorsque la largeur est bornée par une constante, le problème peut être résolu en temps polynomial.
\textbf{Décomposition en arbre}: graphe de contraintes $G \rightarrow $ arbre $T$ de la façon suivante: Si un noeud dans G se trouve à deux endroits dans T, il doit également se trouver sur tout le chemin reliant un endroit à lautre. Minimiser le nombre de noeuds de $G$ par noeud de $T$.
\textbf{Largeur d'arbre}: Cardinalité du plus grand ensemble - 1
\paragraph{Largeur d'arbre bornée par $k$}
Chaque noeud devient un problème de résolution de contraintes. Une contrainte \textsc{Tableau} par arête de $T$ avec une colonne par noeud contenant les tuples de solution valides. On garde les lignes compatibles.
Cardinalité du plus grand domaine bornée par $d$: La complexité d'un sous-problème est $\mathcal{O}(d^{k+1})$. La contrainte tableau a au plus $d^{k+2}$ entrées. L'arbre aura au plus $n$ noeuds. Le problème est résolu en $\mathcal{O}(n)$
2018-02-26 06:00:43 +00:00
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "notes_de_cours"
%%% End: