]> AND Private Git Repository - prng_gpu.git/blobdiff - prng_gpu.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Corrections en anglais
[prng_gpu.git] / prng_gpu.tex
index 65c2f415439517960dd3310dc6252c939d78cd43..73bc958598d278d6393d5df27a22f1fbfae59d7e 100644 (file)
@@ -19,6 +19,8 @@
 % Pour faire des sous-figures dans les figures
 \usepackage{subfigure}
 
+\usepackage{color}
+
 \newtheorem{notation}{Notation}
 
 \newcommand{\X}{\mathcal{X}}
@@ -28,6 +30,7 @@
 \newcommand{\BN}{\mathds{B}^\mathsf{N}}
 \let\sur=\overline
 
+\newcommand{\alert}[1]{\begin{color}{blue}\textit{#1}\end{color}}
 
 \title{Efficient generation of pseudo random numbers based on chaotic iterations on GPU}
 \begin{document}
@@ -47,11 +50,11 @@ Interet de générer des nombres alea sur GPU
 
 Présentation des itérations chaotiques
 
+\section{blabla}
 
+\subsection{The phase space is an interval of the real line}
 
-\section{The phase space is an interval of the real line}
-
-\subsection{Toward a topological semiconjugacy}
+\subsubsection{Toward a topological semiconjugacy}
 
 In what follows, our intention is to establish, by using a topological semiconjugacy, that chaotic iterations over $\mathcal{X}$ can be described as iterations on a real interval. To do so, we must firstly introduce some notations and terminologies. 
 
@@ -133,7 +136,7 @@ $$
 
 In other words, if $x = \displaystyle{\sum_{k=0}^{9} 2^{9-k} e_k +  \sum_{k=0}^{+\infty} s^{k} ~10^{-k-1}}$, then: $$g(x) = \displaystyle{\sum_{k=0}^{9} 2^{9-k} (e_k + \delta(k,s^0) \textrm{ (mod 2)}) +  \sum_{k=0}^{+\infty} s^{k+1} 10^{-k-1}}.$$
 
-\subsection{Defining a metric on $\big[ 0, 2^{10} \big[$}
+\subsubsection{Defining a metric on $\big[ 0, 2^{10} \big[$}
 
 Numerous metrics can be defined on the set $\big[ 0, 2^{10} \big[$, the most usual one being the Euclidian distance recalled bellow:
 
@@ -186,7 +189,7 @@ To illustrate this fact, a comparison between $D$ and the Euclidian distance is
 
 
 
-\subsection{The semiconjugacy}
+\subsubsection{The semiconjugacy}
 
 It is now possible to define a topological semiconjugacy between $\mathcal{X}$ and an interval of $\mathds{R}$:
 
@@ -210,6 +213,143 @@ In other words, $\mathcal{X}$ is approximately equal to $\big[ 0, 2^\mathsf{N} \
 
 
 
+
+
+\subsection{Study of the chaotic iterations described as a real function}
+
+
+\begin{figure}[t]
+\begin{center}
+  \subfigure[ICs on the interval $(0,9;1)$.]{\includegraphics[scale=.35]{ICs09a1.pdf}}\quad
+  \subfigure[ICs on the interval $(0,7;1)$.]{\includegraphics[scale=.35]{ICs07a95.pdf}}\\
+  \subfigure[ICs on the interval $(0,5;1)$.]{\includegraphics[scale=.35]{ICs05a1.pdf}}\quad
+  \subfigure[ICs on the interval $(0;1)$]{\includegraphics[scale=.35]{ICs0a1.pdf}}
+\end{center}
+\caption{Representation of the chaotic iterations.}
+\label{fig:ICs}
+\end{figure}
+
+
+
+
+\begin{figure}[t]
+\begin{center}
+  \subfigure[ICs on the interval $(510;514)$.]{\includegraphics[scale=.35]{ICs510a514.pdf}}\quad
+  \subfigure[ICs on the interval $(1000;1008)$]{\includegraphics[scale=.35]{ICs1000a1008.pdf}}
+\end{center}
+\caption{ICs on small intervals.}
+\label{fig:ICs2}
+\end{figure}
+
+\begin{figure}[t]
+\begin{center}
+  \subfigure[ICs on the interval $(0;16)$.]{\includegraphics[scale=.3]{ICs0a16.pdf}}\quad
+  \subfigure[ICs on the interval  $(40;70)$.]{\includegraphics[scale=.45]{ICs40a70.pdf}}\quad
+\end{center}
+\caption{General aspect of the chaotic iterations.}
+\label{fig:ICs3}
+\end{figure}
+
+
+We have written a Python program to represent the chaotic iterations with the vectorial negation on the real line $\mathds{R}$. Various representations of these CIs are given in Figures \ref{fig:ICs}, \ref{fig:ICs2} and \ref{fig:ICs3}. It can be remarked that the function $g$ is a piecewise linear function: it is linear on each interval having the form $\left[ \dfrac{n}{10}, \dfrac{n+1}{10}\right[$, $n \in \llbracket 0;2^{10}\times 10 \rrbracket$ and its slope is equal to 10. Let us justify these claims:
+
+\begin{proposition}
+\label{Prop:derivabilite des ICs}
+Chaotic iterations $g$ defined on $\mathds{R}$ have derivatives of all orders on $\big[ 0, 2^{10} \big[$, except on the 10241 points in $I$ defined by $\left\{ \dfrac{n}{10} ~\big/~ n \in \llbracket 0;2^{10}\times 10\rrbracket \right\}$.
+
+Furthermore, on each interval of the form $\left[ \dfrac{n}{10}, \dfrac{n+1}{10}\right[$, with $n \in \llbracket 0;2^{10}\times 10 \rrbracket$, $g$ is a linear function, having a slope equal to 10: $\forall x \notin I, g'(x)=10$.
+\end{proposition}
+
+
+\begin{proof}
+Let $I_n = \left[ \dfrac{n}{10}, \dfrac{n+1}{10}\right[$, with $n \in \llbracket 0;2^{10}\times 10 \rrbracket$. All the points of $I_n$ have the same integral prat $e$ and the same decimal part $s^0$: on the set $I_n$,  functions $e(x)$ and $x \mapsto s(x)^0$ of Definition \ref{def:e et s} only depend on $n$. So all the images $g(x)$ of these points $x$:
+\begin{itemize}
+\item Have the same integral part, which is $e$, except probably the bit number $s^0$. In other words, this integer has approximately the same binary decomposition than $e$, the sole exception being the digit $s^0$ (this number is then either $e+2^{10-s^0}$ or $e-2^{10-s^0}$, depending on the parity of $s^0$, \emph{i.e.}, it is equal to $e+(-1)^{s^0}\times 2^{10-s^0}$).
+\item A shift to the left has been applied to the decimal part $y$, losing by doing so the common first digit $s^0$. In other words, $y$ has been mapped into $10\times y - s^0$.
+\end{itemize}
+To sum up, the action of $g$ on the points of $I$ is as follows: first, make a multiplication by 10, and second, add the same constant to each term, which is $\dfrac{1}{10}\left(e+(-1)^{s^0}\times 2^{10-s^0}\right)-s^0$.
+\end{proof}
+
+\begin{remark}
+Finally, chaotic iterations are elements of the large family of functions that are both chaotic and piecewise linear (like the tent map).
+\end{remark}
+
+
+
+\subsection{Comparison of the two metrics on $\big[ 0, 2^\mathsf{N} \big[$}
+
+The two propositions bellow allow to compare our two distances on $\big[ 0, 2^\mathsf{N} \big[$:
+
+\begin{proposition}
+Id: $\left(~\big[ 0, 2^\mathsf{N} \big[,\Delta~\right) \to \left(~\big[ 0, 2^\mathsf{N} \big[, D~\right)$ is not continuous. 
+\end{proposition}
+
+\begin{proof}
+The sequence $x^n = 1,999\hdots 999$ constituted by $n$ 9 as decimal part, is such that:
+\begin{itemize}
+\item $\Delta (x^n,2) \to 0.$
+\item But $D(x^n,2) \geqslant 1$, then $D(x^n,2)$ does not converge to 0.
+\end{itemize}
+
+The sequential characterization of the continuity concludes the demonstration.
+\end{proof}
+
+
+
+A contrario:
+
+\begin{proposition}
+Id: $\left(~\big[ 0, 2^\mathsf{N} \big[,D~\right) \to \left(~\big[ 0, 2^\mathsf{N} \big[, \Delta ~\right)$ is a continuous fonction. 
+\end{proposition}
+
+\begin{proof}
+If $D(x^n,x) \to 0$, then $D_e(x^n,x) = 0$ at least for $n$ larger than a given threshold, because $D_e$ only returns integers. So, after this threshold, the integral parts of all the $x^n$ are equal to the integral part of $x$. 
+
+Additionally, $D_s(x^n, x) \to 0$, then $\forall k \in \mathds{N}^*, \exists N_k \in \mathds{N}, n \geqslant N_k \Rightarrow D_s(x^n,x) \leqslant 10^{-k}$. This means that for all $k$, an index $N_k$ can be found such that, $\forall n \geqslant N_k$, all the $x^n$ have the same $k$ firsts digits, which are the digits of $x$. We can deduce the convergence $\Delta(x^n,x) \to 0$, and thus the result.
+\end{proof}
+
+The conclusion of these propositions is that the proposed metric is more precise than the Euclidian distance, that is:
+
+\begin{corollary}
+$D$ is finer than the Euclidian distance $\Delta$.
+\end{corollary}
+
+This corollary can be reformulated as follows:
+
+\begin{itemize}
+\item The topology produced by $\Delta$ is a subset of the topology produced by $D$.
+\item $D$ has more open sets than $\Delta$.
+\item It is harder to converge for the topology $\tau_D$ inherited by $D$, than to converge with the one inherited by $\Delta$, which is denoted here by $\tau_\Delta$.
+\end{itemize}
+
+
+\subsection{Chaos of the chaotic iterations on $\mathds{R}$}
+\label{chpt:Chaos des itérations chaotiques sur R}
+
+
+
+\subsubsection{Chaos according to Devaney}
+
+We have recalled previously that the chaotic iterations $\left(\Go, \mathcal{X}_d\right)$ are chaotic according to the formulation of Devaney. We can deduce that they are chaotic on $\mathds{R}$ too, when considering the order topology, because:
+\begin{itemize}
+\item $\left(\Go, \mathcal{X}_d\right)$ and $\left(g, \big[ 0, 2^{10} \big[_D\right)$ are semiconjugate by $\varphi$,
+\item Then $\left(g, \big[ 0, 2^{10} \big[_D\right)$ is a system chaotic according to Devaney, because the semiconjugacy preserve this character.
+\item But the topology generated by $D$ is finer than the topology generated by the Euclidian distance $\Delta$ -- which is the order topology.
+\item According to Theorem \ref{Th:chaos et finesse}, we can deduce that the chaotic iterations $g$ are indeed chaotic, as defined by Devaney, for the order topology on $\mathds{R}$.
+\end{itemize}
+
+This result can be formulated as follows.
+
+\begin{theorem}
+\label{th:IC et topologie de l'ordre}
+The chaotic iterations $g$ on $\mathds{R}$ are chaotic according to the Devaney's formulation, when $\mathds{R}$ has his usual topology, which is the order topology.
+\end{theorem}
+
+Indeed this result is weaker than the theorem establishing the chaos for the finer topology $d$. However the Theorem \ref{th:IC et topologie de l'ordre} still remains important. Indeed, we have studied in our previous works a set different from the usual set of study ($\mathcal{X}$ instead of $\mathds{R}$), in order to be as close as possible from the computer: the properties of disorder proved theoretically will then be preserved when computing. However, we could wonder whether this change does not lead to a disorder of a lower quality. In other words, have we replaced a situation of a good disorder lost when computing, to another situation of a disorder preserved but of bad quality. Theorem \ref{th:IC et topologie de l'ordre} prove exactly the contrary.
+
+
+
 \section{Efficient prng based on chaotic iterations}
 
 On parle du séquentiel avec des nombres 64 bits\\