\documentclass[crop,tikz]{standalone} \input{common-headers} \begin{document} \tikzset{cell color/.style={black!20}} \newcommand{\common}{% \coordinate (ll) at (0cm,-1cm); \coordinate (ur) at (5cm, 3cm); \draw (ll) rectangle (ur); \clip (ll)+(0.1cm,0.1cm) rectangle ([shift={(-0.1cm,-0.1cm)}]ur); } \begin{tikzpicture}[ every node/.style={draw, inner sep=0cm, minimum width=10pt, minimum height=10pt}, arrowed/.style={-Stealth, out=-90, in=90}] \common \node (h1) at (1,2) {}; \node (h2) at (2,2) {}; \node (h3) at (3,2) {}; \node (h4) at (4,2) {}; \node (m1) at (1,1) {}; \node (m2) at (2,1) {}; \node (m3) at (3,1) {}; \node (m4) at (4,1) {}; \node (b1) at (1,0) {}; \node (b2) at (2,0) {}; \node (b3) at (3,0) {}; \node (b4) at (4,0) {}; \draw[arrowed] (h1) to (m2.north) (h3) to (m2.north) (h2) to (m2.north); \draw[arrowed,dashed] (h2) to (m3.north) (h4) to (m3.north) (h3) to (m3.north); \draw[arrowed] (m1) to (b2.north) (m3) to (b2.north) (m2) to (b2.north); \draw[arrowed,dashed] (m2) to (b3.north) (m4) to (b3.north) (m3) to (b3.north); \end{tikzpicture} \begin{tikzpicture}[ c/.style={draw, inner sep=0cm, minimum width=10pt, minimum height=10pt}, arrowed/.style={-Stealth, out=-90, in=90}, mix/.style={draw, circle, inner sep=1pt}] \common \node[c] (h1) at (1,2) {}; \node[c] (h2) at (2,2) {}; \node[c] (h3) at (3,2) {}; \node[c] (h4) at (4,2) {}; \node[mix] (q1) at (1.5,1.5) {}; \node[mix] (q2) at (3.5,1.5) {}; \node[c] (m1) at (1,1) {}; \node[c] (m2) at (2,1) {}; \node[c] (m3) at (3,1) {}; \node[c] (m4) at (4,1) {}; \node[mix] (q3) at (2.5,0.5) {}; \node[c] (b1) at (1,0) {}; \node[c] (b2) at (2,0) {}; \node[c] (b3) at (3,0) {}; \node[c] (b4) at (4,0) {}; \draw[arrowed] (h1) to (q1) (q1) to (m1); \draw[arrowed] (h2) to (q1) (q1) to (m2); \draw[arrowed] (h3) to (q2) (q2) to (m3); \draw[arrowed] (h4) to (q2) (q2) to (m4); \draw[arrowed] (m2) to (q3) (q3) to (b2); \draw[arrowed] (m3) to (q3) (q3) to (b3); \end{tikzpicture} \end{document}