Files
L4Proj_Dissertation/l4proj.tex

236 lines
6.6 KiB
TeX

\documentclass{l4proj}
\usepackage{url}
\usepackage{fancyvrb}
\usepackage[final]{pdfpages}
\begin{document}
\title{Faster force-directed layout algorithms for the D3 visualisation toolkit}
\author{Pitchaya Boonsarngsuk}
\date{March 21, 2018}
\maketitle
\begin{abstract}
% TODOO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
We show how to produce a level 4 project report using latex and pdflatex using the
style file l4proj.cls\cite{Lichman:2013}
\end{abstract}
%\educationalconsent
%
%NOTE: if you include the educationalconsent (above) and your project is graded an A then
% it may be entered in the CS Hall of Fame
%
\tableofcontents
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% Introduction %
% %
%%%%%%%%%%%%%%%%
\chapter{Introduction}
\label{ch:intro}
\pagenumbering{arabic} % ONLY DO THIS AT THE FIRST CHAPTER
\section{Motivation}
\section{Project Description}
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% Background %
% %
%%%%%%%%%%%%%%%%
\chapter{Background}
\label{ch:bg}
Something
\section{Link force}
\section{Chalmers' 1996 algorithm}
\section{Hybrid Layout for Multidimensional Scaling}
\section{Hybrid MDS with Pivot-Based Searching algorithm}
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% Design %
% %
%%%%%%%%%%%%%%%%
\chapter{Design}
\label{ch:design}
something
\section{Technologies}
\subsection{HTML, CSS, and SVG}
%============================
\subsection{Javascript}
%============================
\subsection{Data Driven Document}
%============================
\subsection{Bartasius' D3 Neighbour Sampling plug-in}
%============================
\section{Input Data and Parameters}
\section{Graphical User Interface for Evaluation}
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% Implement %
% %
%%%%%%%%%%%%%%%%
\chapter{Implementation}
\label{ch:imp}
\section{Outline}
\section{Algorithms}
\subsection{Link force}
%============================
\subsection{Chalmers' 1996}
%============================
\subsection{Hybrid Layout}
%============================
\subsection{Hybrid Layout with Pivot}
%============================
\section{Integration with D3}
\section{Performance-improving Decisions}
\subsection{Different types of loops}
%============================
\subsection{Caching distances for Chalmers' 1996 algorithm}
%============================
\subsection{Multi-threading with HTML5 Web Workers}
%============================
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% EVAL %
% %
%%%%%%%%%%%%%%%%
\chapter{Evaluation}
\label{ch:eval}
\section{Data Sets}
\label{sec:EvalDataSet}
The data sets utilized during the developments are the Iris, Poker Hands\cite{UCL_Data}, and Antarctic data set\cite{Antartica_Data}.
Explain each!!!!
\section{Experimental Setup}
% TODOO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
All experiments are performed using the same data set and the same code. However, The hardware and browser can greatly impact the JavaScript performance and have to be controlled as well.
The computers used are all the same model of a Dell All-in-One desktop computer with Intel\textregistered{} Core\texttrademark{} i5-3470S and 8GB of DDR3 memory, running CentOS 7 with Linux 3.10-x86-64.
As for web browser, the official 64-bit build of Google Chrome 61.0.3163.79 is used to both run and analyse CPU and memory usage with its performance profiling tool.
In order to keep the results as fair as possible, the parameters were controlled as much as we could. The starting position of all nodes are locked at $(0,0)$. The web page is also refreshed after every run to make everything have been properly reset.
\subsection{Stopping Condition}
%============================
\subsection{Selecting Parameters}
To be able to compare different algorithms fairly,
%============================
\subsection{Performance metrics}
%============================
\section{Results}
%==============================================================================
%%%%%%%%%%%%%%%%
% %
% Conclusion %
% %
%%%%%%%%%%%%%%%%
\chapter{Conclusion}
\label{ch:conc}
\section{Summary}
\section{Learning Experience}
\section{Future Work}
\begin{itemize}
\item \textbf{Incorporating Chalmers' 1996 algorithm into D3 framework}
\item \textbf{Data Exploration}
\item \textbf{Data Sets}
\item \textbf{Optimal parameters generalisation}
\item \textbf{GPU rendering}
\item \textbf{asm.js and WebAssembly}
\item \textbf{Locality-Sensitive Hashing}
\end{itemize}
%%%%%%%%%%%%%%%%
% %
% APPENDICES %
% %
%%%%%%%%%%%%%%%%
\begin{appendices}
\chapter{Running the Programs}
An example of running from the command line is as follows:
\begin{verbatim}
> java MaxClique BBMC1 brock200_1.clq 14400
\end{verbatim}
This will apply $BBMC$ with $style = 1$ to the first brock200 DIMACS instance allowing 14400 seconds of cpu time.
\chapter{Generating Random Graphs}
\label{sec:randomGraph}
We generate Erd\'{o}s-R\"{e}nyi random graphs $G(n,p)$ where $n$ is the number of vertices and
each edge is included in the graph with probability $p$ independent from every other edge. It produces
a random graph in DIMACS format with vertices numbered 1 to $n$ inclusive. It can be run from the command line as follows to produce
a clq file
\begin{verbatim}
> java RandomGraph 100 0.9 > 100-90-00.clq
\end{verbatim}
\end{appendices}
%%%%%%%%%%%%%%%%%%%%
% BIBLIOGRAPHY %
%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{plain}
\bibliography{l4proj}
\end{document}
#if 0
\chapter{Introduction}
\label{intro} then \ref{intro}
\section{First Section in Chapter}
\subsection{A subsection}
\vspace{-7mm}
\begin{figure}
\centering
\includegraphics[height=9.2cm,width=13.2cm]{uroboros.pdf}
\vspace{-30mm}
\caption{An alternative hierarchy of the algorithms.}
\label{uroborus}
\end{figure}
\begin{verbatim}
> pdflatex example0
> bibtex example0
> pdflatex example0
> pdflatex example0
\end{verbatim}
#endif