% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto, node distance=2cm]
	\node[problem] (klika) {\problem{KLIKA}};
	\node[solution, right of=klika] (r-klika) {T/N};
	\node[left of=klika] (i-klika) {$G_0, n$};
	
	\node[problem, below of=klika] (pz) {\problem{PZ}};
	\node[solution, right of=pz] (r-pz) {T/N};
	\node[left of=pz] (i-pz) {$G, H$};
	
	\draw[->, alpha, left] (i-klika) -- node[right] {$f$} (i-pz);
	
	\draw[->] (klika) -- (r-klika);
	\draw[->] (pz) -- (r-pz);
	
	\draw[->] (i-klika) -- (klika);
	\draw[->] (i-pz) -- (pz);
	
	\draw[Implies-Implies, double distance=2pt] (r-klika) -- (r-pz);
\end{tikzpicture}
