espitau 8 years ago
parent
commit
077d1bbece
2 changed files with 121 additions and 61 deletions
  1. 21 15
      main.tex
  2. 100 46
      main.tex.bak

+ 21 - 15
main.tex

@@ -37,13 +37,11 @@ Comparison of three heuristics for generating points set}
   In this work we present a tool realizing the implantation of three 
   basics heuristics for construction low discrepancy points sets 
   in the generalized Halton model: fully random search, local search with
-  simmulated annealing and genetic $(5+5)$ search with a ad-hoc 
+  simulated annealing and genetic $(5+5)$ search with a ad-hoc 
   crossover function. 
 \end{abstract}
 
 
-\section{Introduction}
-
 \section{General architecture of the tool}
 
 The testing tool is aimed to be modular: it is made of independents blocks that
@@ -121,7 +119,7 @@ represents the incertitude with regards to the values obtained.
 
 \subsection{Fully random search (Test case)}
  The first heuristic implemented is the random search. We generate
- random permutations, compute the corresponging sets of Halton points
+ random permutations, compute the corresponding sets of Halton points
  and select the best set with regard to its discrepancy.
  The process is wrapped up in the 
  flowchart~\ref{random_flow}. In order to generate at each step random 
@@ -194,7 +192,7 @@ The final wrap up graphs are much more lighter and only presents the best
 results obtained.
 As expected from a fully random search, the error bands are very large for 
 low number of iterations ($15\%$ of the value for 400 iterations) and tends
-to shrink with a bigger number of iterations (around $5\%$ for 1600 iterations).
+to shrink with a bigger number of iterations (around $5\%$ for 1500 iterations).
 This shrinkage is a direct consequence of well known concentrations bounds
 (Chernoff and Asuma-Hoeffding).
 The average results are quite stable, they decrease progressively with 
@@ -234,7 +232,7 @@ evolution is kept, either it does not but is still kept with
 a probability $e^{\frac{\delta}{T}}$ where $\delta$ is the difference
 between the old and new discrepancy, and $T$ the current temperature.
 If the de discrepancy has decreased, the temperature $T$ is multiplied
-by a factor $\lambda$ (fixed to $0.992$ in all our simultations), hence
+by a factor $\lambda$ (fixed to $0.992$ in all our simulations), hence
 is decreased.
 The whole algorithm is described in the flowchart~\ref{flow_rec}.
 
@@ -258,7 +256,7 @@ after~\cite{Doerr}.
 The most interesting part of these results are concentrated between 80 and 160
 points were the different curves splits. The graph~\ref{temp3_z} is a zoom 
 of~\ref{temp3} in this window. We remark on that graph that the lower the 
-temperature is, the best the results are.
+temperature is, the best the results are, with a threshold at $10^{-3}$.
 
 \begin{figure}
 \includegraphics[scale=0.3]{Results/resu_2_temp.png}
@@ -323,6 +321,10 @@ The most interesting part of these results are concentrated --- once again ---
 between 80 and 160 points were the different curves splits. 
 The graph~\ref{res_gen2z} is a zoom  of~\ref{res_gen2} in this window, and 
 graphs~\ref{res_gen3} and~\ref{res_gen4} are focused directly into it too.
+We remark that in dimension 2, the results are better for $p$ close to $0.5$ 
+whereas for dimension 3 and 4 the best results are obtained for $p$ closer to
+$0.1$.
+
 
 \begin{figure}
 \includegraphics[scale=0.3]{Results/res_gen_2.png}
@@ -350,14 +352,18 @@ graphs~\ref{res_gen3} and~\ref{res_gen4} are focused directly into it too.
 Once again we investigated the stability
 of the algorithm with regards to the number of iterations.  Once again we
 restricted the window between 80 and 180 points were curves are split.
-An interesting phenomena can be observed: the error rates are somehow 
-invariant w.r.t.\ the number of iteration and once again the 1000 iterations
-threshold seems to appear --- point 145 is a light split between iteration 
-1600 and the others, but excepted for that point, getting more than 1000
-iterations tends be be a waste of time. The error rate is for 80 points the
-biggest and is about $15\%$ of the value, which is similar to the error
-rates for fully random search with 400 iterations.
+The results are compiled in graph~\ref{gen_iter}.
+An interesting phenomena can be observed: the error rates are getting really
+big for 1400 iterations at very low points (up to 120), 
+even if the average results are stables after the threshold 1000 iterations, 
+like we get before.
+
 
+\begin{figure}
+\includegraphics[scale=0.3]{Results/gen_iter.png}
+\caption{Stability w.r.t.\ number of iterations: D=2}
+  \label{gen_iter}
+\end{figure}
 
 \section{Results}
 Eventually we made extensive experiments to compare the three previously
@@ -407,7 +413,7 @@ same for each heuristic}.
 
 \section{Conclusion}
 
-\section*{Acknoledgments}
+\section*{Acknowledgments}
 We would like to thank Magnus Wahlstrom from the Max Planck Institute for Informatics 
 for providing an implementation of the DEM algorithm [DEM96]. 
 We would also like to thank Christoff Durr and Carola Doerr 

+ 100 - 46
main.tex.bak

@@ -2,35 +2,46 @@
 \documentclass{llncs}
 \input{prelude}
 \begin{document} 
-\title{Star Discrepancies for generalized Halton points}
+\title{$\mbox{\EightStarBold}$ Discrepancies for generalized Halton points\\
+Comparison of three heuristics for generating points set}
 % \titlerunning{}  % abbreviated title (for running head)
 %                                     also used for the TOC unless
 %                                     \toctitle is used
 
-\author{Thomas Espitau\inst{1} \and Olivier Marty\inst{1}} 
+\author{Thomas Espitau$\mbox{}^{\mbox{\SnowflakeChevron}}$ \and Olivier Marty$\mbox{}^{\mbox{\SnowflakeChevron}}$}
 %
 % \authorrunning{} % abbreviated author list (for running head)
 %
 %%%% list of authors for the TOC (use if author list has to be modified)
 % \tocauthor{}
 %
-\institute{
-  $\mbox{}^1$ ENS Cachan \qquad
-}
+\institute{$\mbox{}^{\mbox{\SnowflakeChevron}}$ ENS Cachan}
 
 \maketitle
 
 \makeatletter
-
+\renewcommand\bibsection%
+{
+  \section*{\refname
+    \@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}
+  }
 \makeatother
 
 
 \begin{abstract}
+  Geometric discrepancies are standard measures to quantify the irregularity of 
+  distributions. They are an important notion in numerical integration. 
+  One of the most important discrepancy notions is the so-called star 
+  discrepancy. Roughly speaking, a point set of low star discrepancy value 
+  allows for a small approximation error in quasi-Monte Carlo integration.
+  In this work we present a tool realizing the implantation of three 
+  basics heuristics for construction low discrepancy points sets 
+  in the generalized Halton model: fully random search, local search with
+  simmulated annealing and genetic $(5+5)$ search with a ad-hoc 
+  crossover function. 
 \end{abstract}
 
 
-\section{Introduction}
-
 \section{General architecture of the tool}
 
 The testing tool is aimed to be modular: it is made of independents blocks that
@@ -41,6 +52,8 @@ layer is written in C++ for performances. The given discrepancy algorithm
 The wrapper dispatch the computations on the multi-core architecture of 
 modern computers\footnote{for us, between 2 and 4 physical cores and 4 or 8 
 virtual cores}. This basic architecture is described in figure~\ref{main_flow}.
+More precisely the class diagram for the unitary test layer is 
+presented in figure~\ref{class_flow}.
 Experiments were conducted on two machines: 
 \begin{itemize}
   \item 2.4 GHz Intel Dual Core i5 hyper-threaded to 2.8GHz, 8 Go 1600 MHz DDR3.
@@ -53,6 +66,12 @@ Experiments were conducted on two machines:
   \label{main_flow}
 \end{figure}
 
+\begin{figure}
+\includegraphics[scale=1]{graph_classes.pdf}
+\caption{Class dependencies}
+  \label{class_flow}
+\end{figure}
+
 On these machines, some basic profiling has make clear that 
 the main bottleneck of the computations is hiding in the \emph{computation
 of the discrepancy}. The chosen algorithm and implantation of this 
@@ -79,7 +98,7 @@ extremal values are also given in order to construct error bands graphs.
 
 A flowchart of the conduct of one experiment is described in the 
 flowchart~\ref{insight_flow}. The number of iteration of the heuristic is 
-I and the number of full restart is N. Th function Heuristic() correspond to
+I and the number of full restart is N. The function Heuristic() correspond to
 a single step of the chosen heuristic. We now present an in-depth view of
 the implemented heuristics.
 
@@ -91,7 +110,7 @@ the implemented heuristics.
 \end{mdframed}
 \end{figure}
 
-Graph are presented not with the usual "mustache boxes" to show the 
+Graph are presented not with the usual box plot to show the 
 error bounds, but in a more graphical way with error bands. The graph
 of the mean result is included inside a band of the same color which
 represents the incertitude with regards to the values obtained.
@@ -99,11 +118,12 @@ represents the incertitude with regards to the values obtained.
 \section{Heuristics developed}
 
 \subsection{Fully random search (Test case)}
- The first heuristic implemented is the random search. We generates
- random sets of Halton points and select the best set with regard to its
- discrepancy iteratively. The process is wrapped up in the 
- flowchart~\ref{random_flow}. In order to generate at each step a random 
- permutation, we transform it directly from the previous one.
+ The first heuristic implemented is the random search. We generate
+ random permutations, compute the corresponging sets of Halton points
+ and select the best set with regard to its discrepancy.
+ The process is wrapped up in the 
+ flowchart~\ref{random_flow}. In order to generate at each step random 
+ permutations, we transform them directly from the previous ones.
   More precisely the permutation is a singleton object which have method 
   random, built on the Knuth Fisher Yates shuffle. This algorithm allows
   us to generate an uniformly chosen  permutation at each step. We recall 
@@ -172,11 +192,11 @@ The final wrap up graphs are much more lighter and only presents the best
 results obtained.
 As expected from a fully random search, the error bands are very large for 
 low number of iterations ($15\%$ of the value for 400 iterations) and tends
-to shrink with a bigger number of iterations (around $5\%$ for 1600 iterations).
+to shrink with a bigger number of iterations (around $5\%$ for 1500 iterations).
 This shrinkage is a direct consequence of well known concentrations bounds
 (Chernoff and Asuma-Hoeffding).
 The average results are quite stable, they decrease progressively with 
-the growing number of iterations, but seems to get to a limits after 1000 
+the growing number of iterations, but seem to get to a limits after 1000 
 iterations. This value acts as a threshold for the interesting number of iterations.
 As such interesting results can be conducted with \emph{only} 1000 iterations, 
 without altering too much the quality of the set with regards to its
@@ -193,6 +213,7 @@ discrepancy and this heuristic.
 \label{rand_iter3}
 \end{figure}
 
+%# TODO sa n'est pas evolutionnaire
 \subsection{Evolutionary heuristic: Simulated annealing and local search}
 The second heuristic implemented is a randomized local search with 
 simulated annealing. This heuristic is inspired by the physical 
@@ -200,15 +221,20 @@ process of annealing in metallurgy.
 Simulated annealing interprets the physical slow cooling as a 
 slow decrease in the probability of accepting worse solutions as it 
 explores the solution space. 
-More precisely the neighbours are here the permutations which can be obtained
-by application of exactly one transposition of the current permutation.
+More precisely a state is a $d$-tuple of permutations, one for each dimension,
+and the neighbourhood is the set of $d$-tuple of permutations which can be obtained
+by application of exactly one transposition of one of the permutation of 
+the current state.
 The selection phase is dependant on the current temperature:
-after applying a random transposition on the current permutation, either
+after applying a random transposition on one of the current permutations, either
 the discrepancy of the corresponding Halton set is decreased and the 
 evolution is kept, either it does not but is still kept with 
 a probability $e^{\frac{\delta}{T}}$ where $\delta$ is the difference
 between the old and new discrepancy, and $T$ the current temperature.
-The all algorithm is described in the flowchart~\ref{flow_rec}.
+If the de discrepancy has decreased, the temperature $T$ is multiplied
+by a factor $\lambda$ (fixed to $0.992$ in all our simultations), hence
+is decreased.
+The whole algorithm is described in the flowchart~\ref{flow_rec}.
 
 \begin{figure}
  \begin{mdframed}
@@ -221,7 +247,7 @@ The all algorithm is described in the flowchart~\ref{flow_rec}.
 \subsubsection{Dependence on the temperature}
 First experiments were made to select the best initial temperature.
 Results are compiled in graphs~\ref{temp_2},~\ref{temp3},\ref{temp3_z}.
-Graphs~\ref{temp_2},~\ref{temp3} represents the results obtained respectively
+Graphs~\ref{temp_2},~\ref{temp3} represent the results obtained respectively
 in dimension 2 and 3 between 10 and 500 points. The curve obtained is 
 characteristic of the average evolution of the discrepancy optimization 
 algorithms for Halton points sets: a very fast decrease for low number of 
@@ -230,7 +256,7 @@ after~\cite{Doerr}.
 The most interesting part of these results are concentrated between 80 and 160
 points were the different curves splits. The graph~\ref{temp3_z} is a zoom 
 of~\ref{temp3} in this window. We remark on that graph that the lower the 
-temperature is, the best the results are.
+temperature is, the best the results are, with a threshold at $10^{-3}$.
 
 \begin{figure}
 \includegraphics[scale=0.3]{Results/resu_2_temp.png}
@@ -258,7 +284,7 @@ of the algorithm with regards to the number of iterations. We present here
 the result in dimension 3 in the graph~\ref{iter_sa}. Once again we
 restricted the window between 80 and 180 points were curves are split.
 An interesting phenomena can be observed: the error rates are somehow 
-invariant w.r.t.\ the number of iteration and once again the 1000 iterations
+invariant w.r.t.\ the number of iterations and once again the 1000 iterations
 threshold seems to appear --- point 145 is a light split between iteration 
 1600 and the others, but excepted for that point, getting more than 1000
 iterations tends be be a waste of time. The error rate is for 80 points the
@@ -276,47 +302,68 @@ rates for fully random search with 400 iterations.
 
 \begin{figure}
  \begin{mdframed}
-  \label{rand_flow}
 \includegraphics[scale=0.4]{crossover_flow.pdf}
 \caption{Flowchart of the crossover algorithm.}
+  \label{cross_flow}
 \end{mdframed}
 \end{figure}
 
+\subsubsection{Dependence on the parameter p}
+First experiments were made to select the value for the crossover parameter
+p. Results are compiled in graphs~\ref{res_gen2},~\ref{res_gen2z},\ref{res_gen3}
+and~\ref{res_gen4}.
+Graph~\ref{res_gen2}, represents the results obtained
+in dimension 2 between 10 and 500 points. The curve obtained is, with no
+surprise again, 
+the characteristic curve of the average evolution of the discrepancy we already 
+saw with the previous experiments.
+The most interesting part of these results are concentrated --- once again ---
+between 80 and 160 points were the different curves splits. 
+The graph~\ref{res_gen2z} is a zoom  of~\ref{res_gen2} in this window, and 
+graphs~\ref{res_gen3} and~\ref{res_gen4} are focused directly into it too.
+We remark that in dimension 2, the results are better for $p$ close to $0.5$ 
+whereas for dimension 3 and 4 the best results are obtained for $p$ closer to
+$0.1$.
+
+
 \begin{figure}
-  \label{rand_flow}
 \includegraphics[scale=0.3]{Results/res_gen_2.png}
-\caption{Dependence on iterations number: D=3}
+\caption{Dependence on parameter p: D=2}
+  \label{res_gen2}
 \end{figure}
 
 \begin{figure}
-  \label{rand_flow}
 \includegraphics[scale=0.3]{Results/res_gen_2_zoom.png}
-\caption{Dependence on iterations number: D=3}
+\caption{Dependence on parameter p (zoom): D=2}
+\label{res_gen2z}
 \end{figure}
 \begin{figure}
-  \label{rand_flow}
 \includegraphics[scale=0.3]{Results/res_gen_3_zoom.png}
-\caption{Dependence on iterations number: D=3}
+\caption{Dependence on parameter p: D=3}
+  \label{res_gen3}
 \end{figure}
 
 \begin{figure}
-  \label{rand_flow}
 \includegraphics[scale=0.3]{Results/res_gen_4_zoom.png}
-\caption{Dependence on iterations number: D=3}
+\caption{Dependence on parameter p: D=4}
+  \label{res_gen4}
 \end{figure}
 
-As prev we investigated the stability
-of the algorithm with regards to the number of iterations. We present here
-the result in dimension 3 in the graph~\ref{iter_sa}. Once again we
+Once again we investigated the stability
+of the algorithm with regards to the number of iterations.  Once again we
 restricted the window between 80 and 180 points were curves are split.
-An interesting phenomena can be observed: the error rates are somehow 
-invariant w.r.t.\ the number of iteration and once again the 1000 iterations
-threshold seems to appear --- point 145 is a light split between iteration 
-1600 and the others, but excepted for that point, getting more than 1000
-iterations tends be be a waste of time. The error rate is for 80 points the
-biggest and is about $15\%$ of the value, which is similar to the error
-rates for fully random search with 400 iterations.
+The results are compiled in grah~\ref{gen_iter}.
+An interesting phenomena can be observed: the error rates are getting really
+big for 1400 iterations at very low points (up to 120), 
+even if the average results are stables after the threshold 1000 iterations, 
+like we get before.
+
 
+\begin{figure}
+\includegraphics[scale=0.3]{Results/gen_iter.png}
+\caption{Stability w.r.t.\ number of iterations: D=2}
+  \label{gen_iter}
+\end{figure}
 
 \section{Results}
 Eventually we made extensive experiments to compare the three previously
@@ -333,9 +380,9 @@ annealing and genetic search --- is clear over fully random search.
 Both curves for these heuristics are way below the error band of random 
 search. As a result \emph{worse average results of non trivial heuristics are
 better than best average results when sampling points at random}.
-In dimension 2~\ref{wrap2z}, the best results are given by the gentic search,
-wheras in dimension 3 and 4~\ref{wrap3z},~\ref{wrap4z}, best results are
-given by simmulated annealing. It is also noticable that in that range
+In dimension 2~\ref{wrap2z}, the best results are given by the simulated annealing,
+whereas in dimension 3 and 4~\ref{wrap3z},~\ref{wrap4z}, best results are
+given by genetic search. It is also noticeable that in that range
 of points the error rates are roughly the same for all heuristics: 
 \emph{for 1000 iteration, the stability of the results is globally the
 same for each heuristic}.
@@ -366,6 +413,13 @@ same for each heuristic}.
 
 \section{Conclusion}
 
+\section*{Acknoledgments}
+We would like to thank Magnus Wahlstrom from the Max Planck Institute for Informatics 
+for providing an implementation of the DEM algorithm [DEM96]. 
+We would also like to thank Christoff Durr and Carola Doerr 
+for several very helpful talks on the topic of this work.
+Both Thomas Espitau and Olivier Marty  supported by the French Ministry for
+Research and Higher Education, trough the Ecole Normale Supérieure.
   \bibliographystyle{alpha}
   \bibliography{bi}
 \end{document}