\tikzstyle{node}=[circle,inner sep=0.5mm,minimum size=5.25mm,draw = black]
\tikzstyle{bright}=[fill=black!14]
\tikzstyle{dark}=[fill=black!28]
\tikzstyle{lightEdgeStyle}=[black!20]

\newcommand{\numberOfNodes}{5} % must be >= 4

\begin{tikzpicture}[scale=1.5, bend angle = 20]

% Obere Reihe
\node(Top1) at (1,1) [node, bright] {1};
\foreach \i [evaluate = \i as \lastNode using \i-1] in {2,3,...,\numberOfNodes}
{
  \node (Top\i) at (\i,1) [node, bright] {\i}
    edge[<-] (Top\lastNode);
}

% Untere Reihe
\node(Bot1) at (1,0) [node, dark] {$\infty$};
\foreach \i [evaluate = \i as \lastNode using \i-1] in {2,3,...,\numberOfNodes}
{
  \node (Bot\i) at (\i,0) [node, dark] {$\infty$}
    edge[<-, lightEdgeStyle] (Bot\lastNode);
}

% Kanten zwischen den Reihen
\foreach \i in {1,2,...,\numberOfNodes}
{
  \foreach \j in {\i,...,\numberOfNodes}
   {
     \draw[lightEdgeStyle] (Bot\i) -- (Top\j);
   }
}

% Pfeile nach rechts
\pgfmathparse{\numberOfNodes - 2}
\foreach \i [evaluate = \i as \nextNode using \i+2] in {1,2,...,\pgfmathresult}
{
 \foreach \j [count=\nodeIndex from \nextNode] in {\nextNode,...,\numberOfNodes}
 {
   \draw[->, lightEdgeStyle] (Bot\i) to [bend right] (Bot\nodeIndex);
 }
}

\end{tikzpicture} 
