% 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, n$};
	
	\node[problem, below of=klika] (opk) {\problem{OPK}};
	\node[solution, right of=opk] (r-opk) {T/N};
	\node[left of=opk] (i-opk) {$G_1, a, b$};
	
	\draw[->, alpha, left] (i-klika) -- node[right] {$f$} (i-opk);
	
	\draw[->] (klika) -- (r-klika);
	\draw[->] (opk) -- (r-opk);
	
	\draw[->] (i-klika) -- (klika);
	\draw[->] (i-opk) -- (opk);
	
	\draw[Implies-Implies, double distance=2pt] (r-klika) -- (r-opk);
\end{tikzpicture}
