% !Mode:: "TeX:UTF-8"
% !TEX encoding = UTF-8 Unicode

\begin{center}
  \begin{tikzpicture}
    \tikzset {
      block/.style={,draw,inner sep=2pt,rounded corners=2pt,fill=white},
      emphasize/.style={draw=lolred,line width=.04cm}
    }
    \begin{scope}
      \draw [-] (-\textwidth/2,0) -- (\textwidth/2,0);
      \draw [-] (0,-\textwidth/2-.6cm) -- (0,\textwidth/2-2cm);
      \begin{scope}[xshift=-\textwidth/4, yshift=\textwidth/2-3.2cm]
        \node (x) at (0,0) {$\mathbf{x}$};
        \node [anchor=north,fill=black!5!white,minimum width=\textwidth/2-.5cm,minimum height=.7cm] at (0,1cm) {(1) Selection};
        \node [anchor=north,text width=.4\textwidth,block] (x) at (x.south) {\scriptsize{Karen's students are about to take a standardized test. Karen ... what combined score do the last two tests need to have for Karen to earn a \$600 bonus?\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north west,text width=.15\textwidth,block,minimum height=\blockheight,emphasize] (y part1) at ([yshift=-.5cm]x.south west) {\scriptsize{First subtract \$500 from Karen's goal ... \$600 - \$500 = \$100\\}};
        \node [anchor=north east,text width=.15\textwidth,block,minimum height=\blockheight] (y part2) at ([yshift=-.5cm]x.south east) {\scriptsize{Let's denote the combined score of the ... $8 \times 70 = 560$.\\}};
        \node (cdots) at ($(y part1)!.5!(y part2)$) {$\cdots$};
        \draw [->] (x.south) -- (y part1.north);
        \draw [->] (x.south) -- (y part2.north);
        \draw [->] (x.south) -- ($(y part1.north)!.5!(y part2.north)$);
      \end{scope}

      \begin{scope}[xshift=\textwidth/4, yshift=\textwidth/2-3.2cm]
        \node (x) at (0,0) {$\mathbf{x}$};
        \node [anchor=north,fill=black!5!white,minimum width=\textwidth/2-.5cm,minimum height=.7cm] at (0,1cm) {(2) Expansion};
        \node [anchor=north,text width=.4\textwidth,block] (x) at (x.south) {\scriptsize{Karen's students are about to take a standardized test. Karen ... what combined score do the last two tests need to have for Karen to earn a \$600 bonus?\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north west,text width=.15\textwidth,block,minimum height=\blockheight] (y part1) at ([yshift=-.5cm]x.south west) {\scriptsize{First subtract \$500 from Karen's goal ... \$600 - \$500 = \$100\\}};
        \node [anchor=north east,text width=.15\textwidth,block,minimum height=\blockheight] (y part2) at ([yshift=-.5cm]x.south east) {\scriptsize{Let's denote the combined score of the ... $8 \times 70 = 560$.\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north,text width=.15\textwidth,block,minimum height=\blockheight,emphasize] (y part1 1) at ([yshift=-.5cm]y part1.south) {\scriptsize{Then divide the extra bonus by the extra ... = 10 points\\}};
        \node (cdots) at ($(y part1)!.5!(y part2)$) {$\cdots$};
        \draw [->] (x.south) -- (y part1.north);
        \draw [->] (x.south) -- (y part2.north);
        \draw [->] (x.south) -- ($(y part1.north)!.5!(y part2.north)$);
        \draw [->] (y part1.south) -- (y part1 1.north);
      \end{scope}

      \begin{scope}[xshift=-\textwidth/4, yshift=-1.2cm]
        \node (x) at (0,0) {$\mathbf{x}$};
        \node [anchor=north,fill=black!5!white,minimum width=\textwidth/2-.5cm,minimum height=.7cm] at (0,1cm) {(3) Simulation};
        \node [anchor=north,text width=.4\textwidth,block] (x) at (x.south) {\scriptsize{Karen's students are about to take a standardized test. Karen ... what combined score do the last two tests need to have for Karen to earn a \$600 bonus?\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north west,text width=.15\textwidth,block,minimum height=\blockheight] (y part1) at ([yshift=-.5cm]x.south west) {\scriptsize{First subtract \$500 from Karen's goal ... \$600 - \$500 = \$100\\}};
        \node [anchor=north east,text width=.15\textwidth,block,minimum height=\blockheight] (y part2) at ([yshift=-.5cm]x.south east) {\scriptsize{Let's denote the combined score of the ... $8 \times 70 = 560$.\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north,text width=.15\textwidth,block,minimum height=\blockheight] (y part1 1) at ([yshift=-.5cm]y part1.south) {\scriptsize{Then divide the extra bonus by the extra ... = 10 points\\}};
        \node [anchor=north] (cdots 1) at ([yshift=-.2cm]y part1 1.south) {\textcolor{gray}{$\cdots$}};
        \node [anchor=north,text width=.15\textwidth,block,minimum height=.8cm,align=center,emphasize,dashed] (y part1 n-1) at ([yshift=-.8cm]y part1 1.south) {\textcolor{gray}{\scriptsize{Then multiply the current average by the ... = 560 points}\\}};
        \node [anchor=north,text width=.15\textwidth,block,minimum height=.8cm,align=center,emphasize,dashed] (y part1 n) at ([yshift=-.5cm]y part1 n-1.south) {\textcolor{gray}{\scriptsize{Then subtract the number of points  ... = 290 points}\\}};
        \node (cdots) at ($(y part1)!.5!(y part2)$) {$\cdots$};
        \draw [->] (x.south) -- (y part1.north);
        \draw [->] (x.south) -- (y part2.north);
        \draw [->] (x.south) -- ($(y part1.north)!.5!(y part2.north)$);
        \draw [->] (y part1.south) -- (y part1 1.north);
        \draw [->,dashed] (y part1 1.south) -- (cdots 1.north);
        \draw [->,dashed] (cdots 1.south) -- (y part1 n-1.north);
        \draw [->,dashed] (y part1 n-1) -- (y part1 n);
      \end{scope}

        \begin{scope}[xshift=\textwidth/4, yshift=-1.2cm]
        \node (x) at (0,0) {$\mathbf{x}$};
        \node [anchor=north,fill=black!5!white,minimum width=\textwidth/2-.5cm,minimum height=.7cm] at (0,1cm) {(4) Backpropagation};
        \node [anchor=north,text width=.4\textwidth,block] (x) at (x.south) {\scriptsize{Karen's students are about to take a standardized test. Karen ... what combined score do the last two tests need to have for Karen to earn a \$600 bonus?\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north west,text width=.15\textwidth,block,minimum height=\blockheight] (y part1) at ([yshift=-.5cm]x.south west) {\scriptsize{First subtract \$500 from Karen's goal ... \$600 - \$500 = \$100\\}};
        \node [anchor=north east,text width=.15\textwidth,block,minimum height=\blockheight] (y part2) at ([yshift=-.5cm]x.south east) {\scriptsize{Let's denote the combined score of the ... $8 \times 70 = 560$.\\}};
        \def\blockheight{1.0cm}
        \node [anchor=north,text width=.15\textwidth,block,minimum height=\blockheight] (y part1 1) at ([yshift=-.5cm]y part1.south) {\scriptsize{Then divide the extra bonus by the extra ... = 10 points\\}};
        \node (cdots) at ($(y part1)!.5!(y part2)$) {$\cdots$};
        \node [anchor=north] (cdots 1) at ([yshift=-.2cm]y part1 1.south) {\textcolor{gray}{$\cdots$}};
        \node [anchor=north,text width=.15\textwidth,block,minimum height=.8cm,align=center,draw=gray,opacity=.6] (y part1 n-1) at ([yshift=-.8cm]y part1 1.south) {\textcolor{gray}{\scriptsize{Then multiply the current average by the ... = 560 points}\\}};
        \node [anchor=north,text width=.15\textwidth,block,minimum height=.8cm,align=center] (y part1 n) at ([yshift=-.5cm]y part1 n-1.south) {\scriptsize{Then subtract the number of points  ... = 290 points}\\};
        \draw [->] (x.south) -- (y part1.north);
        \draw [->] (x.south) -- (y part2.north);
        \draw [->] (x.south) -- ($(y part1.north)!.5!(y part2.north)$);
        \draw [->] (y part1.south) -- (y part1 1.north);
        \draw [->,gray,opacity=.6] (y part1 1.south) -- (cdots 1.north);
        \draw [->,gray,opacity=.6] (cdots 1.south) -- (y part1 n-1.north);
        \draw [->,gray,opacity=.6] (y part1 n-1) -- (y part1 n);
        \draw [->,emphasize] ([xshift=-.5cm]y part1 n.north) .. controls +(-.5cm,+.5cm) and +(-.5cm,-.5cm) .. ([xshift=-.5cm]y part1 1.south);
        \draw [->,emphasize] ([xshift=-.5cm]y part1 1.north) .. controls +(-.5cm,+.1cm) and +(-.5cm,-.1cm) .. ([xshift=-.5cm]y part1.south);
        \draw [->,emphasize] ([xshift=-.5cm]y part1.north) .. controls +(-.5cm,+.1cm) and +(-.5cm,-.1cm) .. ([xshift=-.5cm]y part1.north|-x.south);
      \end{scope}
    \end{scope}
  \end{tikzpicture}
\end{center}
