Try โ€‚โ€‰HackMD

Non-reversal Random walk (NRRW)

Non-reversal random walk are randomly walk except it cannot reverse it's previous step. Following two figures show different steps of NRRW, compare to previous figure it can walk further since it cannot go reverse its previous step.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Then I measure the probability

P(R) as a function of
R
after large enough steps. Different from reversal RW, the peak of probability is not happened at the origin. By taking plot semi-log we see that it doesn't look quite like a Gaussian distribution. We can verified this again by looking at the QQ plot which indicate a Gaussian only if it lay around the
45โˆ˜
line.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Then I measure

<|R|> and
<R2>
, in particular
<R2>
are roughly
โˆผ
N1
at large
N
.
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Code

program rw2 implicit none integer, parameter :: N=5000, NP=100000 integer :: x(NP)=0, y(NP)=0, pre(NP), i, j double precision :: p=0.25d0, pp, xa, xb, R call random_seed() open(66, file='gauR.dat', status='unknown') do i = 1, N xa = 0.d0 xb = 0.d0 do j = 1, NP ! non-reversal do call random_number(pp) ! p is the prob. of right if ((pp.lt.p).and.(pre(j).ne.1)) then x(j) = x(j) + 1 pre(j) = 1 else if ((pp.gt.p).and.(pp.le.2.d0*p).and.(pre(j).ne.2)) then x(j) = x(j) - 1 pre(j) = 2 else if ((pp.gt.2.d0*p).and.(pp.le.3.d0*p).and.(pre(j).ne.3)) then y(j) = y(j) + 1 pre(j) = 3 else if ((pp.gt.3.d0*p).and.(pre(j).ne.4)) then y(j) = y(j) - 1 pre(j) = 4 else cycle end if exit end do R = dsqrt(dble(x(j))*dble(x(j))+dble(y(j))*dble(y(j))) xa = xa + R xb = xb + R * R end do ! traj ! write(66, '(2I8)') x(1), y(1) ! <x> xa = xa / dble(NP) ! <x^2> xb = xb / dble(NP) ! write(66, '(I6, 2f25.17)') i, xa, xb end do ! distribution ! write(66, '(100000I8)') x ! write(66, '(100000I8)') y write(66, '(100000f25.17)') dsqrt(dble(x)*dble(x) + dble(y)*dble(y)) end program rw2