tex: write partial demo with k1 and k2

This commit is contained in:
Paul ALNET 2023-06-04 06:11:28 +02:00
parent 87a8bbbf0f
commit 0cb1203a30

View file

@ -123,6 +123,67 @@ with 10 packets.
\section{Next Fit Dual Bin Packing algorithm}
\subsection{La giga demo}
Let $ k \in \mathbb{N} $. Let $ (U_n)_{n \in \mathbb{N}} $ be a sequence of
independent random variables with uniform distribution on $ [0, 1] $, representing
the size of the $ n $-th item.
Let $ i \in \mathbb{N} $. $ T_i $ denotes the number of items in the $ i $-th
bin. We have that
\begin{equation}
T_i = k \iff U_1 + U_2 + \ldots + U_{k-1} < 1 \text{ and } U_1 + U_2 + \ldots + U_{k} \geq 1
\end{equation}
Let $ A_k = \{ U_1 + U_2 + \ldots + U_{k-1} < 1 \}$. Hence,
\begin{align*}
% TODO = k
P(T_i = k)
& = P(A_{k-1} \cap A_k^c) \\
& = P(A_{k-1}) - P(A_k) \qquad \text{ (as $ A_k \subset A_{k-1} $)} \\
\end{align*}
We will try to show that $ \forall k \geq 2 $, $ P(A_k) = \frac{1}{k!} $.
To do so we will use induction to demonstrate that
\begin{equation}
\label{eq:induction}
P(U_1 + U_2 + \ldots + U_{k-1} < a) = \frac{a^k}{k!} \qquad \forall a \in [0, 1], \forall k \geq 2
\end{equation}
Let us denote $ S_k = U_1 + U_2 + \ldots + U_{k-1} \qquad \forall k \geq 2 $.
\paragraph{Base cases} $ k = 2 $ : $ P(U_1 < a) = a $
$ k = 2 $ : \[ P(U_1 + U_2 < a) = \iint_{\cal{D}} f_{U_1, U_2}(x, y) \cdot (x + y) dxdy \]
Where $ \mathcal{D} = \{ (x, y) \in [0, 1]^2 \mid x + y < a \} $.
$ U_1 $ and $ U_2 $ are independent, so
\begin{align*}
f_{U_1, U_2}(x, y) & = f_{U_1}(x) \cdot f_{U_2}(y) \\
& = \begin{cases}
1 & \text{if } x \in [0, 1] \text{ and } y \in [0, 1] \\
0 & \text{otherwise} \\
\end{cases} \\
\end{align*}
Hence,
\begin{align*}
P(U_1 + U_2 < a)
& = \iint_{\cal{D}} (x + y)dxdy \\
& = \int_{0}^{a} \int_{0}^{a - x} (x + y) dy dx \\
& = \int_{0}^{a} \left[ xy + \frac{y^2}{2} \right]_{y=0}^{y=a - x} dx \\
& = \int_{0}^{a} \left( ax - x^2 + \frac{a^2}{2} - ax + \frac{x^2}{2} \right) dx \\
& = \int_{0}^{a} \left( \frac{a^2}{2} - \frac{x^2}{2} \right) dx \\
& = \left[ \frac{a^2 x}{2} - \frac{x^3}{6} \right]_{0}^{a} \\
& = \frac{a^3}{2} - \frac{a^3}{6} \\
\end{align*}
\section{Complexity and implementation optimization}
The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate
@ -140,10 +201,10 @@ store the current sum and the current sum of squares for different variables.
While the mean can easily be calculated by summing then dividing, the variance
can be calculated using the following formula:
\begin{align}
\begin{align*}
{S_N}^2 & = \frac{1}{N-1} \sum_{i=1}^{N} (X_i - \overline{X})^2 \\
& = \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 - \frac{N}{N-1} \overline{X}^2
\end{align}
\end{align*}
The sum $ \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 $ can be calculated iteratively
after each simulation.
@ -155,7 +216,6 @@ the above formulae to calculate the mean and variance of $ N = 10^6 $ random
numbers. We wrote the following algorithms \footnotemark :
\footnotetext{The full code used to measure performance can be found in Annex \ref{annex:performance}.}
% TODO annex
\paragraph{Intuitive algorithm} Store values first, calculate later