Unverified Commit d4d5de49 authored by Vanille-N's avatar Vanille-N
Browse files

sources

parent b40191ca
\section{Motivation}
\begin{frame}
\frametitle{Static Unit Disk Graphs}
\begin{definition}[Unit Disk Graph]
\(G = (V, E)\) an undirected graph is a Unit Disk Graph (UDG) in dimension \(n\)
when there exists an embedding \(\iota : V \to \RR^n\) such that
\(\forall v,v'\in V,\ \set{v,v'} \in E \iff \|\iota(v) - \iota(v')\| \leq 1\)
\end{definition}
\begin{center}
\visible<2->{\includegraphics[width=4.3cm]{udg-examples.pdf}}
\visible<2->{\includegraphics[width=2.6cm]{not-pig.pdf}}
\visible<3->{\includegraphics[width=3.5cm]{not-udg.pdf}}
\end{center}
\end{frame}
% Left: examples of UDG
% Right: simple example of not UDG
% Mention that halving the radius yields intersection model
\begin{frame}
\frametitle{Dynamic UDG}
\begin{definition}
A dynamic UDG is \(\mathcal{G} = (V, E_0, \cdots, E_\tau)\)
such that all \(G_i = (V, E_i)\) are UDG and successive embeddings change
in limited ways.
\end{definition}
\(G_i\): ``snapshots''\\
\((V, \bigcup_{0 \leq i \leq \tau} E_i)\): ``footprint''\\
\begin{itemize}
\item To what extent can dynamic UDG be recognized ?
\item How to define ``limited ways'' ?
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Plausible Mobility}
\begin{figure}[H]
\begin{center}
\includegraphics[width=5.3cm]{../figures/ditl-perf.png}
\includegraphics[width=5.3cm]{../figures/ditl-perf2.png}
\caption{Inferring of positions from contact trace}
Screenshots from simulations of reconstructed movements
\end{center}
\end{figure}
Tolerates missing or extra links.\\
Reasonable assumption in the case of a low quality trace, but can we do better ?\\
{\tiny Whitbeck \& Amorim \& Conan,
\textit{Plausible Mobility}, \ttt{https://plausible.lip6.fr} (2011)}
\end{frame}
\begin{frame}
\frametitle{Results}
\begin{center}
\begin{tabular}{|l|c|c|}
\hline
setting & static & dynamic (new) \\
\hline
unrestricted (2D) & NP-hard\(^{(1)}\) & \visible<2->{NP-hard} \\
tree (2D) & NP-hard\(^{(2)}\) & \visible<2->{NP-hard} \\
caterpillar (2D) & Linear\(^{(2)}\) & \visible<2->{NP-hard\({}^{(*)}\)} \\
1D & Linear\(^{(3)}\) & \visible<2->{Linear} \\
\hline
\end{tabular}
\end{center}
\visible<2->{
\({}^{(*)}\) all snapshots are caterpillars
}~\\~\\
{\tiny
\(^{(1)}\) Breu \& Kirkpatrick, \textit{Unit disk graph recognition is NP-hard}
(1998)\\
\(^{(2)}\) Bhore \& Nickel \& N\"ollenburg, \textit{Recognition of
Unit Disk Graphs for Caterpillars, Embedded Trees, and Outerplanar Graphs} (2021)\\
\(^{(3)}\) Booth \& Lueker, \textit{Testing for the consecutive ones property,
interval graphs, and graph planarity using PQ-tree algorithms} (1976)
(And at least 3 other papers)\\
}
\end{frame}
\section{2-dimensional}
\begin{frame}
\frametitle{Overview and intuition}
\begin{itemize}
\item reduction from 3\tsf{-SAT}: \(F = C_1 \wedge \cdots \wedge C_k\);
\(C_i = l_i \vee l'_i \vee l''_i\)
\item one group of disks for each variable
\item each variable can take two states, interpreted as true or false
\item clauses are handled sequentially over a sequence of consecutive snapshots\\~\\
\includegraphics[width=10cm]{timeline.pdf}
\end{itemize}
\visible<2->{
Hypothesis: ``slow enough''. Speed is bounded by a constant fraction
of the radius.\\
This makes variables unable to change state in the middle of the process.
}
\end{frame}
\begin{frame}
\frametitle{Two configurations of variables}
\begin{figure}[H]
\begin{center}
\includegraphics[width=11cm]{variable.pdf}
Left: \tbf{true}, Right: \tbf{false}
\end{center}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Clause assembling}
\begin{figure}[H]
\begin{minipage}[t]{0.45\linewidth}
\begin{center}
\includegraphics[height=7cm]{clause.pdf}
\end{center}
\end{minipage}
\hfill
\begin{minipage}[t]{0.45\linewidth}
The clause \(C = \neg x_1 \vee x_2 \vee \bot\).\\
With \(x_1 = x_2 = \tbf{true}\).\\
Satisfied thanks to \(x_2\).\\
The central 12-cycle can fit \(4\) disks but not \(6\).
\end{minipage}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Extension of the result}
This shows NP-hardness in the general case.\\~\\
Simpler proof than in the static case\\
+ linear number of disks instead of quadratic\\
+ fewer restrictions on initial \tsc{3-SAT} instance\\
~\\
\visible<2->{
Still NP-hard under the modified constraints (separately):
\begin{itemize}
\item integer coordinates \visible<3->{{\color{red} (static: unknown)}}
\item footprint is a tree \visible<3->{{\color{red} (static: NP-hard)}}
\item snapshots are caterpillars \visible<3->{{\color{red} (static: linear)}}
\item snapshots have CCs of size at most 2
\visible<3->{{\color{red} (static: \(O(1)\))}}
\item one event at a time \visible<3->{{\color{red} (static: irrelevant)}}
\end{itemize}
}
\visible<2->{\small (caterpillar: tree with all vertices within distance 1 of a
central path)}
\end{frame}
\section{1-dimensional}
\begin{frame}
\frametitle{Takeaway and 1D restriction}
Main source of problems: structures can be forced to ``choose'' one of
several embeddings, which they are then unable to escape from.\\
~\\
In one dimension, an efficient representation
of all possible configurations\\
\(\longrightarrow\) extension of \(PQ\)-trees\\
\end{frame}
\begin{frame}
\frametitle{Physical 1D model}
\begin{itemize}
\item one event at a time \(\tsc{LinkUp}\) or \(\tsc{LinkDown}\)
\((|E_i \Delta E_{i+1}| = 1)\)\\
\(\longrightarrow\) perfect trace\\
\item continuous transition from one embedding to the next
\end{itemize}
\begin{figure}[H]
\begin{center}
\includegraphics[width=7cm]{movements.pdf}
\end{center}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Equivalent permutations}
\begin{theorem}
For \(\pi\in\mathfrak{S}(V)\), there exists an injective embedding
\(\iota\) of \(G\) with the same ordering of vertices
iff all neighborhoods \(N[v]\) are contiguous subsequences of \(\pi\)
\end{theorem}
\(\longrightarrow\) The set of all valid embeddings can be represented by a set of
permutations.\\
\begin{figure}[H]
\begin{center}
\includegraphics[height=3.8cm]{thm-1.pdf}
\end{center}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Equivalent transitions}
\begin{theorem}
There exists a continuous transition without event from \(\iota\) to \(\iota'\)
iff \(\iota\) and \(\iota'\) differ only in the order of vertices that have the same
neighborhood
\end{theorem}
\(\longrightarrow\) From now on, only manipulations on sets of permutations
\begin{figure}[H]
\begin{center}
\includegraphics[height=4cm]{thm-2.pdf}
\end{center}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{\(PQ\)-tree}
\begin{minipage}{0.62\textwidth}
\begin{figure}[H]
\begin{center}
\includegraphics[width=6cm]{pqtree.pdf}
\end{center}
\end{figure}
\end{minipage}
\hfill
\vline
\hfill
\begin{minipage}{0.35\textwidth}
Example:
\begin{figure}[H]
\begin{center}
\includegraphics[width=3cm]{pqtree-example.pdf}
\end{center}
\end{figure}
\begin{tiny}
A tree for the set \\
1234567, 1324567, 2134567,\\
2314567, 3124567, 3214567,\\
7654321, 7654231, 7654312,\\
7654132, 7654213, 7654123,\\
\end{tiny}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{\(PQ\)-forest}
\begin{itemize}
\item set of \(PQ\)-trees
\item \(P\)-nodes as leaves contain disks with the same neighborhood
\item toplevel trees can be arbitrarily permuted
\end{itemize}
\begin{figure}[H]
\begin{center}
\includegraphics[width=10cm]{pqforest.pdf}
\end{center}
\end{figure}
\end{frame}
%\begin{frame}
% \frametitle{Initialization and input}
% Input: sequence of events \(\tsc{LinkUp}(v,v')\) or \(\tsc{LinkDown}(v,v')\)\\
% starting from an empty contact trace\\
% ~\\
%
% Initial forest:
% \begin{figure}[H]
% \begin{center}
% \includegraphics[width=5cm]{initforest.pdf}
% \end{center}
% \end{figure}
% \textit{i.e.} no information available
%\end{frame}
\begin{frame}
\frametitle{\(\tsc{LinkUp}(v,v')\)}
\begin{minipage}{0.48\linewidth}
\visible<1->{
\begin{figure}[H]
\includegraphics[width=5cm]{up_start.pdf}
Initial
\end{figure}
}
\end{minipage}
\hfill
\begin{minipage}{0.48\linewidth}
\visible<2->{
\begin{figure}[H]
\includegraphics[width=5cm]{up_rotate.pdf}
Rotate
\end{figure}
}
\end{minipage}
\vspace{1cm}\\
\begin{minipage}{0.48\linewidth}
\visible<3->{
\begin{figure}[H]
\includegraphics[width=5cm]{up_extract.pdf}
Extract
\end{figure}
}
\end{minipage}
\hfill
\begin{minipage}{0.48\linewidth}
\visible<4->{
\begin{figure}[H]
\includegraphics[width=5cm]{up_flatten.pdf}
\vspace{1.02cm}\\
Flatten
\end{figure}
}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{\(\tsc{LinkDown}(v,v')\)}
\begin{minipage}{0.48\linewidth}
\visible<1->{
\begin{figure}[H]
\includegraphics[height=2cm]{down_start.pdf}\\
Initial
\end{figure}
}
\end{minipage}
\hfill
\begin{minipage}{0.48\linewidth}
\visible<2->{
\begin{figure}[H]
\includegraphics[height=2cm]{down_extract.pdf}\\
Extract
\end{figure}
}
\end{minipage}
\vspace{1cm}\\
\begin{minipage}{0.48\linewidth}
\visible<3->{
\begin{figure}[H]
\includegraphics[height=2.5cm]{down_flip.pdf}\\
Allow flip
\end{figure}
}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{Final result}
\begin{itemize}
\item each new event requires amortized \(O(\log n)\)\\
(\(n\): number of vertices)
\item linear overall: \(O(\tau \cdot \log n)\)\\
(\(\tau\): number of events)
\item online algorithm: updates the \(PQ\)-forest in real time
\end{itemize}
\end{frame}
\section{Conclusion}
\begin{frame}
\frametitle{Open questions \& future works}
\begin{itemize}
\item characterization of forbidden 1D patterns
\item exact algorithm for 2D (even if exponential) ?
\item 2D when the \textit{footprint} is a caterpillar\\
(despite it being too restrictive for practical purposes)
\item 1D algorithm implementation
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beamer Presentation
% LaTeX Template
% Version 1.0 (10/11/12)
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
% License:
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND THEMES
%----------------------------------------------------------------------------------------
\mode<presentation> {
% The Beamer class comes with a number of default slide themes
% which change the colors and layouts of slides. Below this is a list
% of all the themes, uncomment each in turn to see what they look like.
%\usetheme{default}
%\usetheme{AnnArbor}
%\usetheme{Antibes}
%\usetheme{Bergen}
%\usetheme{Berkeley}
%\usetheme{Berlin}
%\usetheme{Boadilla}
%\usetheme{CambridgeUS}
%\usetheme{Copenhagen}
%\usetheme{Darmstadt}
%\usetheme{Dresden}
%\usetheme{Frankfurt}
%\usetheme{Goettingen}
%\usetheme{Hannover}
%\usetheme{Ilmenau}
%\usetheme{JuanLesPins}
%\usetheme{Luebeck}
%\usetheme{Madrid}
%\usetheme{Malmoe}
%\usetheme{Marburg}
%\usetheme{Montpellier}
%\usetheme{PaloAlto}
%\usetheme{Pittsburgh}
%\usetheme{Rochester}
%\usetheme{Singapore}
%\usetheme{Szeged}
\usetheme{Warsaw}
% As well as themes, the Beamer class has a number of color themes
% for any slide theme. Uncomment each of these in turn to see how it
% changes the colors of your current slide theme.
%\usecolortheme{albatross}
%\usecolortheme{beaver}
%\usecolortheme{beetle}
%\usecolortheme{crane}
%\usecolortheme{dolphin}
%\usecolortheme{dove}
%\usecolortheme{fly}
%\usecolortheme{lily}
%\usecolortheme{orchid}
%\usecolortheme{rose}
%\usecolortheme{seagull}
%\usecolortheme{seahorse}
\usecolortheme{whale}
%\usecolortheme{wolverine}
%\setbeamertemplate{footline} % To remove the footer line in all slides uncomment this line
%\setbeamertemplate{footline}[frame number] % To replace the footer line in all slides with a simple slide count uncomment this line
\useoutertheme{miniframes}
%\setbeamertemplate{navigation symbols}{} % To remove the navigation symbols from the bottom of all slides uncomment this line
\setbeamercovered{transparent} % Fait apparaître les animations en grisé (utile pour la conception, mais peut être commenté lors de la remise du document final)
% Pour utiliser une police à empattements partout
\usefonttheme{serif}
% Pour rajouter la numérotation des frames dans les pieds de page
\newcommand*\oldmacro{}%
\let\oldmacro\insertshorttitle%
\renewcommand*\insertshorttitle{%
\oldmacro\hfill%
%\insertframenumber\,/\,\inserttotalframenumber
}
}
\beamertemplatenavigationsymbolsempty
\addtobeamertemplate{navigation symbols}{}{%
\usebeamerfont{footline}%
\usebeamercolor[fg]{footline}%
\hspace{1em}%
\insertframenumber/\inserttotalframenumber
}
\usepackage{graphicx} % Allows including images
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
\setbeamercovered{invisible}
% Ce fichier contient toutes les macros que vous pouvez avoir envie de définir
% si vous les utilisez plusieurs fois dans le document.
\PassOptionsToPackage{svgnames}{color}
% Un environnement pour bien présenter le code informatique
\newenvironment{code}{%
\begin{mdframed}[linecolor=green,innerrightmargin=30pt,innerleftmargin=30pt,
backgroundcolor=black!5,
skipabove=10pt,skipbelow=10pt,roundcorner=5pt,
splitbottomskip=6pt,splittopskip=12pt]
}{%
\end{mdframed}
}
\newcommand{\bijective}{%
\hookrightarrow\mathrel{\mspace{-15mu}}\rightarrow
}
\newcommand{\surjective}{\twoheadrightarrow}
\newcommand{\injective}{\hookrightarrow}
\newcommand{\implication}{\Longrightarrow}
\newcommand{\impl}{\Rightarrow}
\newcommand{\reciprocal}{\Longleftarrow}
\newcommand{\equivalent}{\Longleftrightarrow}
\newcommand{\NN}{\ensuremath{\mathbb{N}}}
\newcommand{\RR}{\ensuremath{\mathbb{R}}}
\newcommand{\QQ}{\ensuremath{\mathbb{Q}}}
\newcommand{\ZZ}{\ensuremath{\mathbb{Z}}}
\newcommand{\CC}{\ensuremath{\mathbb{C}}}
\newcommand{\EE}{\ensuremath{\mathbb{E}}}
\newcommand{\PP}{\ensuremath{\mathbb{P}}}
\renewcommand{\epsilon}{\varepsilon}
\renewcommand{\phi}{\varphi}
\renewcommand{\leq}{\leqslant}
\renewcommand{\geq}{\geqslant}
\newcommand{\bbrack}[1]{\left\llbracket#1\right\rrbracket}
\newcommand{\inv}[1]{#1^{-1}}
\newcommand{\tsf}[1]{\textsf{#1}}
\newcommand{\ttt}[1]{\texttt{#1}}
\newcommand{\tbf}[1]{\textbf{#1}}
\newcommand{\tsc}[1]{\textsc{#1}}
\newcommand{\tq}{\ |\ }
\newcommand{\abs}[1]{\ensuremath{\left|#1\right|}}
\newcommand{\set}[1]{\ensuremath{\left\{#1\right\}}}
\newcommand{\paren}[1]{\ensuremath{\left(#1\right)}}
\usepackage{natbib} % Pour la bibliographie
\usepackage{url} % Pour citer les adresses web
\usepackage[T1]{fontenc} % Encodage des accents
\usepackage[english]{babel}
\usepackage[utf8]{inputenc} % Lui aussi
\usepackage{numprint} % Histoire que les chiffres soient bien
\usepackage{amsmath} % La base pour les maths
\usepackage{mathtools}
\usepackage{mathrsfs} % Quelques symboles supplémentaires
\usepackage{amssymb} % encore des symboles.
\usepackage{amsfonts} % Des fontes, eg pour \mathbb.
\usepackage{array}
\usepackage{cancel}
\usepackage{hyperref}
%\usepackage[svgnames]{xcolor} % De la couleur
%%% Si jamais vous voulez changer de police: décommentez les trois
%\usepackage{tgpagella}
%\usepackage{tgadventor}
%\usepackage{inconsolata}
\usepackage{graphicx} % inclusion des graphiques
\usepackage{wrapfig} % Dessins dans le texte.
\usepackage{tikz} % Un package pour les dessins (utilisé pour l'environnement {code})
\usepackage{tikz-cd}
\usetikzlibrary{positioning, arrows}
\usepackage{adjustbox}
\usepackage[framemethod=TikZ]{mdframed}
\begin{frame}
\frametitle{IMAP}
\framesubtitle{Internet Message Access Protocol}
\begin{align*}
&\text{serveur} & \xrightarrow[\qquad\text{mail}\qquad]{}\qquad & \text{client} \\
&(\ttt{crans.org}) & & (\text{Evolution})
\end{align*}~\\
Mais que veut dire exactement \(\xrightarrow[\text{mail}]{}\) ? Comment ça marche ?
\(\impl\) IMAP
\end{frame}
\begin{frame}
\frametitle{IMAP}
\framesubtitle{Objectifs et caract\'eristiques}
\begin{itemize}
\item protocole de couche application
\begin{itemize}
\item discussion textuelle structur\'ee
\item crypt\'e (TLS)
\end{itemize}~\\
\item v\'erifie que le client a le droit de reçevoir le mail
\begin{itemize}
\item un seul serveur g\`ere de nombreux utilisateurs
\item identifiant + mdp
\end{itemize}~\\
\item ob\'eit aux demandes de lecture/renommage/suppression
\begin{itemize}
\item un mail supprim\'e sur Evolution l'est aussi sur Thunderbird
\item pareil pour un brouillon
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Authentification}
\begin{center}
\includegraphics[height=7cm]{$(HERE)/imap-flowchart.png}
\includegraphics[width=5cm]{$(HERE)/imap-flowchart-legend.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Discussion avec un serveur IMAP}
Bas\'e sur des commandes :
\begin{enumerate}
\item le client envoit une commande
\item le serveur l'ex\'ecute
\item le serveur renvoit la r\'eponse
\item si commande interactive retourner en (1)
\item le serveur envoit OK qui signale la fin de la commande
\item retourner en (1) pour la commande suivante
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Commandes IMAP}
\begin{itemize}
\item s'authentifier: \ttt{LOGIN identifiant mdp}
\item t\'el\'echarger un mail: \ttt{FETCH messageid partie}
\begin{itemize}
\item \ttt{partie}: \ttt{BODY}, \ttt{HEADER}, \ttt{FLAGS}
\item \ttt{flags}: \ttt{\textbackslash Draft},
\ttt{\textbackslash Seen}, \ttt{\textbackslash Answered},
\ttt{\textbackslash Flagged}
\end{itemize}
\item supprimer un message: \ttt{DELETE message}
\item renommer un message: \ttt{RENAME old new}