\documentclass[margin=2pt]{standalone}

\usepackage{amsmath,amsfonts}
\usepackage{booktabs}
\usepackage{xifthen}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows}
\usetikzlibrary{calc,fit}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{snakes}

\begin{document}
\begin{tikzpicture}[every node/.style={inner sep=0pt}, var/.style={draw=black, minimum size=15pt, circle, font=\small, thick, anchor=center, fill=white}, factor/.style={fill=black, minimum size=5pt, rectangle, anchor=center}, edge/.style={thick, -latex}, modulation/.style={thick, -|}, zlabel/.style={font=\scriptsize, yshift=-2pt}, observed/.style={fill=gray!30}, flowlabel/.style={midway, font=\scriptsize}, rewardlabel/.style={pos=1, font=\scriptsize, right}, gfn_edge/.style={ultra thick, -latex}, gfn_node/.style={ultra thick, circle, draw, text height=3.5em, fill=gray!10}, gfn_other/.style={pos=1, anchor=west, inner sep=2pt}, adjacency/.style={minimum width=10pt, minimum height=10pt, rectangle, rounded corners=2pt, font=\bfseries\scriptsize}, y=12pt, x=50pt]

\colorlet{color1}[rgb]{NavyBlue}
\colorlet{color2}[rgb]{NavyBlue!10}

\fill[fill=gray!10] (0, 0) circle (10.5em) {};
\fill[fill=white] (0, 0) circle (7.5em) {};
\fill[fill=gray!10] (0, 0) circle (4.5em) {};
\fill[fill=white] (0, 0) circle (1.5em) {};

\colorlet{cmap}[rgb]{color1!0.00!color2}
\node[var, fill=cmap] (G0) at (0, 0) {};

\foreach \v [count=\j from 0, evaluate=\j as \i using int(\j*60)] in {
0.00, 0.00, 0.00, 0.00, 0.00, 0.00} {
    \node[var, fill=cmap] (G1_\i) at (\i:3em) {};
}

\foreach  \v [count=\j from 0, evaluate=\j as \i using int(\j*30)] in {
0.00, 0.00, 0.00, 100.00, 0.00, 0.00, 0.00, 88.18, 0.00, 0.00, 0.00, 56.10} {
    \colorlet{cmap}[rgb]{color1!\v!color2}
    \node[var, fill=cmap, font=\small] (G2_\i) at (\i:6em) {};
}

\foreach \v [count=\j from 0, evaluate=\j as \i using int(\j*60)] in {
16.29, 16.29, 16.29, 16.29, 16.29, 16.29} {
    \colorlet{cmap}[rgb]{color1!\v!color2}
    \node[var, fill=cmap] (G3_\i) at (\i:9em) {};
}

\foreach \i in {0,60,...,300} {
    \draw[edge, draw=black!70, opacity=1] (G0) -- (G1_\i);
}

\foreach \i [
    evaluate=\i as \j using {int(mod(\i+60, 360))},
    evaluate=\i as \k using {int(mod(\i+300, 360))},
    evaluate=\i as \u using {int(mod(\i+30, 360))},
    evaluate=\i as \v using {int(mod(\i+330, 360))}
] in {0,60,...,300} {
    \draw[edge, draw=black!70, opacity=1] (G1_\i) to[bend left=-10] (G2_\j);
    \draw[edge, draw=black!70, opacity=1] (G1_\i) to[bend right=10] (G2_\k);
    \ifthenelse{
        \( \i = 60 \AND \u = 90 \) \OR
        \( \i = 180 \AND \u = 210 \) \OR
        \( \i = 300 \AND \u = 330 \)
    }{}{\draw[edge, draw=black!70, opacity=1] (G1_\i) -- (G2_\u);}
    \ifthenelse{
        \( \i = 120 \AND \v = 90 \) \OR
        \( \i = 240 \AND \v = 210 \) \OR
        \( \i = 0 \AND \v = 330 \)
    }{}{\draw[edge, draw=black!70, opacity=1] (G1_\i) -- (G2_\v);}
}

\foreach \i [
    evaluate=\i as \j using {int(mod(\i+30, 360))},
    evaluate=\i as \k using {int(mod(\i+330, 360))}
] in {0,60,...,300} {
    \draw[edge, draw=black!70, opacity=1] (G2_\j) to[bend left=10] (G3_\i);
    \draw[edge, draw=black!70, opacity=1] (G2_\k) to[bend right=10] (G3_\i);
    \draw[edge, draw=black!70, opacity=1] (G2_\i) -- (G3_\i);
}

\foreach \i [
    evaluate=\i as \j using {int(mod(\i+30, 360))},
    evaluate=\i as \k using {int(mod(\i+330, 360))}
]in {90,210,330} {
    \draw[edge, draw=Red, very thick] (G1_\j) -- (G2_\i);
    \draw[edge, draw=Red, very thick] (G1_\k) -- (G2_\i);
}

\node[text=white, font=\small] at (G2_90) {$G^{\star}$};

\end{tikzpicture}
\end{document}