grF[n_Integer, t_, opts : OptionsPattern[Graph]] :=
Module[{vcoords = Join[{Sin[#], Cos[#]} & /@
Range[-\[Pi]/n, 2 (n - 1) \[Pi]/n, 2 \[Pi]/n], {{0, 0}}],
vertices = Join[Property[#, {VertexStyle -> Blue, VertexSize -> Medium}] & /@
Range[n], {Property[n + 1, {VertexStyle -> Black, VertexSize -> Large}]},
Property[Subscript[ToString@y,
ToString[# - n - 1]], {VertexShapeFunction -> None}] & /@
Range[n + 2, 2 n + 1], {Property[Subscript[ToString@u,
ToString[0]], {VertexShapeFunction -> None}]}],
edges = Join[Property[# -> n + 1,
{EdgeShapeFunction -> ({Arrowheads[{{.03, 2/3}}],
If[t == 2, Opacity@1, Opacity@0], Arrow[#, {0, .1}]} &),
EdgeLabels -> Placed[Style[Subscript["u", ToString[#]], Bold, 16,
If[t == 2, Opacity@1, Opacity@0], Italic,
Background -> White], {1/3, {1/2, 1/2}}],
EdgeStyle -> If[t == 2, Directive[Opacity[1], Red],
Directive[Opacity[.0], Red]]}] & /@ Range[n],
Property[Subscript[ToString@y, ToString[# - n - 1]] -> # - n - 1,
{EdgeShapeFunction -> ({Arrowheads[{{.03, 1.}}],
If[t == 1, Opacity@1, Opacity@0], Arrow[#, {.1, .1}]} &),
EdgeLabels -> Placed[Style[Subscript["y", ToString[# - n - 1]],
Bold, 16, If[t == 1, Opacity@1, Opacity@0], Italic], "Start"],
EdgeStyle -> If[t == 1, Directive[Opacity[1], Black],
Directive[Opacity[0], Black]]}] & /@ Range[n + 2, 2 n + 1],
{Property[ n + 1 -> Subscript[ToString@u, ToString[0]],
{EdgeShapeFunction -> ({Arrowheads[{{.03, 1.}}],
If[t >= 3, Opacity@1, Opacity@0], Arrow[#, {.0, .2}]} &),
EdgeLabels -> Placed[Style[Subscript["u", ToString[0]], Bold, 16,
Italic, If[t >= 3, Opacity@1, Opacity@0],
Background -> White], {3/4, {1/2, 1/2}}],
EdgeStyle -> If[t >= 3, Directive[Opacity[1], Black],
Directive[Opacity[0], Black]]}]}]},
Graph[vertices, edges,
VertexCoordinates -> Join[vcoords, 1.4 Most@vcoords, {{0, -.5} + Last@vcoords}],
ImagePadding -> 45, opts]]
Dynamic@With[{t = Clock[{0, 4, 1}, 5, 2]}, grF[10, t, ImageSize -> 400]]