LATEX:=pdflatex
BASE:=pres
+GRAPHS:=$(addsuffix .pdf,$(basename $(shell ls img/*.dot)))
all: $(BASE).pdf
-.SECONDARY: $(BASE).fmt
+.SECONDARY: $(BASE).fmt $(GRAPHS)
-%.pdf: %.fmt %.tex
+%.pdf: %.fmt %.tex $(GRAPHS)
$(LATEX) $(basename $@)
$(LATEX) $(basename $@)
%.fmt: preamble.tex
$(LATEX) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump"
+%.pdf: %.dot
+ dot -Tpdf $< > $@
+
clean:
- $(RM) -v $(addprefix $(BASE).,aux log out toc pdf fmt nav snm)
+ $(RM) -v $(addprefix $(BASE).,aux log out toc pdf fmt nav snm) $(GRAPHS)
--- /dev/null
+../../thesis2/img/dagexample.dot
\ No newline at end of file
--- /dev/null
+../../thesis2/img/dawgexample.dot
\ No newline at end of file
--- /dev/null
+digraph {
+ rankdir=LR;
+ node [shape="rectangle"];
+ source [label="Source"];
+ crawler [label="Crawler"];
+ temporum [label="Temporum"];
+ employee [label="User"];
+ programmer [label="Programmer"];
+ database [label="Database"];
+ source -> crawler;
+ crawler -> temporum;
+ temporum -> employee;
+ employee -> database;
+ employee -> programmer [constraint=false,style="dotted"];
+ programmer -> crawler [constraint=false,style="dotted"];
+}
--- /dev/null
+digraph {
+ rankdir=LR;
+ node [shape="rectangle"];
+ source [label="Source"];
+ crawler [label="Crawler"];
+ temporum [label="Temporum"];
+ employee [label="User"];
+ programmer [label="Programmer"];
+ database [label="Database"];
+ source -> crawler;
+ crawler -> temporum;
+ temporum -> employee;
+ employee -> database;
+ employee -> programmer [constraint=false,style="dotted"];
+ employee -> crawler [constraint=false,style="dashed"];
+ programmer -> crawler [constraint=false,style="dotted"];
+}
--- /dev/null
+../../thesis2/img/graphexample.dot
\ No newline at end of file
--- /dev/null
+digraph{
+ //rankdir=TB;
+ rankdir=LR;
+ graph [compound=true];
+ node [shape="rectangle",fontsize=10,nodesep=0.7,ranksep=0.75,width=1];
+ edge [weight=10];
+
+ subgraph cluster_0 {
+ node [shape="rectangle",fontsize=10,nodesep=0.7,ranksep=0.75,width=1];
+ edge [weight=5.];
+ i0 [label="Website"];
+ i1 [label="Email"];
+ i2 [label="RSS/Atom"];
+ i4 [label="..."];
+ label="Sources";
+ }
+
+ c1 [label="Crawling"];
+ t2 [label="Temporum"];
+ d1 [label="Database"];
+
+ subgraph cluster_1 {
+ node [shape="rectangle",fontsize=10,nodesep=0.7,ranksep=0.75,width=1];
+ edge [weight=5.];
+ o1 [label="..."];
+ o2 [label="BiosAgenda"];
+ o3 [label="TheAgenda"];
+ label="Publication";
+ }
+ i2 -> c1 [ltail=cluster_0];
+ i0 -> d1 [ltail=cluster_0];
+ c1 -> t2;
+ t2 -> d1;
+ d1 -> o2 [lhead=cluster_1];
+}
pdfsubject={Crawler generation}
}
-\DeclareGraphicsExtensions{.png}
+\DeclareGraphicsExtensions{.png,.pdf}
\graphicspath{{./img/}}
\title{Adaptable crawler specification generation system for leisure activity %
\subsection{Hyperleap}
\begin{frame}
\frametitle{Hyperleap}
+ \framesubtitle{Infotainment}
\begin{block}{}
\begin{figure}[H]
\includegraphics[width=0.2\linewidth]{hyperleaplogo}
\end{figure}
- \end{block}
-
- \begin{block}{Infotainment}
\begin{itemize}[<+->]
- \item Information
- \item Entertainment
- \item biosAgenda.nl
- \item theAgenda.nl
- \item \ldots
+ \item Information $+$ Entertainment $=$ Infotainment
+ \item Nijmegen
+ \item 1995
+ \item Leisure industry
\end{itemize}
\end{block}
\end{frame}
- \subsection{Graphs}
+ \begin{frame}
+ \frametitle{Current situation}
+ \begin{block}{}
+ \begin{figure}[H]
+ \includegraphics[width=\linewidth]{informationflow}
+ \end{figure}
+ \note{Show automated path and manual path}
+ \end{block}
+ \end{frame}
+
+ \subsection{Goal \& Research question}
+ \begin{frame}
+ \frametitle{Current feedback loop}
+ \framesubtitle{Indepth in the automated path}
+ \begin{block}{}
+ \begin{figure}[H]
+ \includegraphics<1>[width=\linewidth]{feedbackloop}
+ \includegraphics<2>[width=\linewidth]{feedbackloop2}
+ \end{figure}
+ \end{block}
+ \note{Expensive programmer time for usually trivial changes}
+ \end{frame}
+
+ \subsection{Crash course graphs}
+ \begin{frame}
+ \frametitle{Directed graphs}
+ \begin{columns}[T]
+ \column{.5\textwidth}
+ Graph $G=(V, E)$\\
+ \pause$\quad$ where\\
+ $\quad\quad V=\{n_1, n_2, \ldots, n_k\}$\\
+ \pause$\quad\quad E\subseteq V\times V$
+ \column{.5\textwidth}
+ \begin{figure}[H]
+ \pause\includegraphics[width=\linewidth]{graphexample}
+ \end{figure}
+ \end{columns}
+ \begin{block}{}
+ \pause$$G=(\{n_1, n_2, n_3, n_4\}, \{(n_1, n_2), (n_2, n_1), (n_2, n_3), (n_3, n_4), (n_1, n_4)\})$$
+ \end{block}
+ \end{frame}
+
+ \begin{frame}
+ \frametitle{Directed acyclic graphs}
+ \begin{block}{Arrow notation}
+ If $e\in E$ and $e=(v_1,v_2)$ or $v_1\rightarrow v_2$ then\\
+ $\quad v_1\xrightarrow{+}v_n$ which means
+ $v_1\rightarrow v_2\rightarrow\ldots\rightarrow v_{n-1}\rightarrow v_n$
+ \end{block}
+ \pause\begin{block}{Cyclicity}
+ $\nexists v\in V: v\xrightarrow{+}v$
+ \pause\begin{figure}[H]
+ \includegraphics[scale=0.4]{dagexample}
+ \end{figure}
+ \end{block}
+ \end{frame}
+
+ \begin{frame}
+ \frametitle{Directed acyclic word graphs (DAWGs)}
+ \pause\begin{figure}[H]
+ \includegraphics[width=\textwidth]{dawgexample}
+ \end{figure}
+ \end{frame}
\section{Methods}
\subsection{Algorithm}