\documentclass{article}
\usepackage{algorithm,algorithmic,amsmath}

\begin{document}

  \begin{algorithmic}[1]
  \STATE initial population $\gets$ (pair, starting distribution) \
  \STATE population $\gets$ initial population

    \WHILE {repetitions $\leq$ max repetitions}
      \FOR{player in population}
      \FOR{opponent in (population - player)}
        \STATE match $\gets$ (player, opponent)
        \STATE results $\gets$ cache (match)
        \ENDFOR
      \ENDFOR
      \STATE population $\gets$ sorted(results)

      \STATE parent $\gets$  first in population
      \STATE child $\gets$ parent
      \STATE kill off $\gets$ random player from population
      \STATE population $\gets$   child replaces kill off
    \ENDWHILE
  \end{algorithmic}

\end{document}

\documentclass{article}
\usepackage{algorithm,algorithmic,amsmath}

\begin{document}

  \begin{algorithmic}[1]
  \STATE initial population $\gets$ (pair, starting distribution) \
  \STATE population $\gets$ initial population

    \WHILE {repetitions $\leq$ max repetitions}
      \FOR{player in population}
      \FOR{opponent in (population - player)}
        \STATE match $\gets$ (player, opponent)
        \STATE results $\gets$ cache (match)
        \ENDFOR
      \ENDFOR
      \STATE population $\gets$ sorted(results)
      \STATE parent $\gets$ selected randomly in proportion to total match payoffs
      \STATE child $\gets$ parent
      \STATE kill off $\gets$ random player from population
      \STATE population $\gets$ child replaces kill off
    \ENDWHILE
  \end{algorithmic}

\end{document}

Correct Moran process algorithm chart
Correct Moran process algorithm chart
