Let's imagine the molecule jumps left or right a distance of 1 mm at the rate of $\lambda = 0.01$ per second. (We are intentionally using ridiculously large jumps at a ridiculously slow rate for this initial approximation.)
When a jump occurs, $X(t)$ is equally likely to jump left or jump right by 1 mm. If we measure distance in millimeters, this process is equivalent to a birth-death process with birth and death rate both equal to 0.005.
In a small time window of length $\Delta t$, the probability that $X(t)$ increases from $x$ to $x+1$ is
$P(X(t + \Delta t)=x+1 \,|\, X(t) = x) =$
and the probability that it decreases from $x$ to $x-1$ is
$P(X(t + \Delta t)=x-1 \,|\, X(t) = x) = $
Since we only allow jumping up or down by one, the probability that it stays the same is
$P(X(t + \Delta t)=x \,|\, X(t) = x) = $
and the probability of jumping to any other location $y \ne x-1, x,$ or $x+1$ is
$P(X(t + \Delta t)=y \,|\, X(t) = x) = $
Let's imagine that the molecule cannot move to a negative position. (Perhaps $X=0$ represents a cell membrane that the molecule cannot cross.) Instead, when $X(t)=0$ at the time of a jump, the molecule always jumps to the right. Therefore, the probability of a rightward jump in a time interval $\Delta t$ is
$P(X(t + \Delta t)=1 \,|\, X(t) = 0) =$
and the probability of no jump is
$P(X(t + \Delta t)=0\,|\, X(t) = 0) = $
Again, the probability of any other jump is zero, so for $y > 1$
$P(X(t + \Delta t)=y \,|\, X(t) = 0) = $
The resulting random left and right motion of the molecule is a random walk that is approximates diffusion. Using the R script diffusion_from_birth_death.R, you can simulate this diffusion process. First set
n_samples to 1 and
X_max to 10 so that the diffusion will keep going until the molecule moves 10 units to the right.
The script plots the resulting position versus time, except that it flips the axes so that the position $X$ is shown on the $x$-axis and the time $t$ is shown on the $y$-axis. Notice how, if the molecule hits the left “wall” at $X=0$, it must move rightward on the next jump. If the molecule hits the right side at $X=10$, the random walk ends and the script reports the time (in seconds) it took the molecule to diffuse from $X=0$ to $X=10$ mm.
Repeat the simulation to observe the large variation in these random walks. You can increase
n_samples to 5 or 10 to see multiple walks plotted together.
n_samples to 100, and the plot becomes too messy to convey much useful information, though one can visualize all the times when the walk hits 10 at the right. You can set
plot_paths=FALSE to turn off plotting the random walks and instead set
plot_histogram=TRUE to turn on a histogram of the times at which the molecule hits $X=10$.
The code also displays the average time for the molecule to diffuse to 10. If you increase
n_samples as large as 10000, this sample average will be close to the actual average (or expected value) of this crossing time. The expected crossing time is actually a round number. You won't get it exactly from your samples, but you should be able to guess how large it is. The expected time for the molecule to diffuse from $X=0$ until $X=10$ is
Now, let's make the random walk really simple and set
X_max to 1. Before you run the code, can you guess what the average time should be for the molecule to take one jump from $X=0$ to $X=1$, given that the jump to the right occurs at a rate of $\lambda=0.01$? The expected time for the molecule to jump (not really diffuse, in this case) from $X=0$ to $X=1$ is
seconds. Verify that you get close to this average time if you make
The change we'll make is set
X_max to 2, so that the molecule has to make two jumps to reach the right boundary. Before you do any simulations, do you have any idea what the average time would be for the molecule to reach the end? What's your guess?
Now simulate the random walk for a large number of samples to get a good idea of the time to reach 2 (it's a round number). The expected time to reach 2 is
When you doubled the distance, the expected time for the molecule to travel that distance was multiplied by
. Let's see if that trend continues. Set
X_max to 4 and estimate the expected time for the molecule to reach 4 mm. It is
seconds. When you doubled
X_max from 2 to 4, the expected travel time was multiplied by
. This means, when you quadrupled
X_max from 1 to 4, the expected travel time was multiplied by
X_max=7, what is the expected travel time?
seconds. Compared to the travel time when
X_max was 1, the expected travel time was multiplied by
In general, how long will it take the molecule to travel a distance of $x$ mm?
The fact that the travel time depends quadratically on the distance $x$ is a fundamental property of diffusive processes. If you remember just one thing about diffusion, remember this fact: if $T$ is the travel time and $x$ is the distance, then $T \propto x^2$ (where $\propto$ means "is proportional to").
You can experiment with different distances
X_max to convince yourself that this relationship is true.
The fact that travel time increases quadratically with distance means the travel time across long distance will be
than travel time across short distances. Hence, using diffusion for the transport of molecules across small distances could be reasonable but replying on diffusion for longer distance transport