permutation group and cycle index question regarding peterson graph

A symmetry of graph $X$ is a permutation of the vertices that also happens to be a permutation of the induced edges. In particular, the distances between vertices are preserved by a symmetry. Show that the set of symmetries of $X$ is a permutation group of $\operatorname{V}(X)$. Compute the cycle index of the group for the Petersen graph.

Alright I am super confused. I have no idea how to even start. Can someone point me in the right direction. How do I show that something is a permutation group? How do I compute the cycle index of a graph?

The question of how to compute the cycle indices of the automorphisms of the Petersen graph acting on the vertices and edges no doubt admits a sophisticated answer from graph theory in the latter case.

There is however a very simple way to compute these two cycle indices that does not examine all possible permutations of the ten vertices. Instead we simply make use of the fact that the automorphisms of the Petersen graph are obtained from the action of the symmetric group $S_5$ on the two-element subsets of the five-element set whose intersection determines adjacency of two vertices (the subsets are the vertices and they are adjacent if they are disjoint). Therefore we need only iterate over the $120$ permutations in $S_5$, let them act on the vertices/edges,factor the result into cycles and add the $120$ contributions to obtain the cycle indices.

In the first case we obtain for the vertex cycle index the answer

$$Z(P_v) = {\frac {{a_{{1}}}^{10}}{120}}+1/12\,{a_{{1}}}^{4}{a_{{2}}}^{3}+1/ 8\,{a_{{2}}}^{4}{a_{{1}}}^{2}+1/6\,a_{{1}}{a_{{3}}}^{3}+1/6\,a_{{ 1}}a_{{6}}a_{{3}}\\+1/4\,{a_{{4}}}^{2}a_{{2}}+1/5\,{a_{{5}}}^{2}$$

Computing the vertex colorings with at most $N$ colors we obtain the sequence

$$1, 34, 792, 10688, 90005, 533358, 2437848, 9156288, \\ 29522961, 84293770,\ldots$$

which points us to OEIS A063843. We learn that what we have here is the cycle index of the edge permutation group of the complete graph $K_5,$ which is perfectly correct, since the edges of that graph correspond to the two-element subsets and the action is the action of the symmetric group on the five vertices.

In the second case we obtain for the edge cycle index the answer

$$Z(P_e) = {\frac {{a_{{1}}}^{15}}{120}}+{\frac {5\,{a_{{2}}}^{6}{a_{{1}}}^{ 3}}{24}}+1/4\,{a_{{4}}}^{3}a_{{2}}a_{{1}}+1/6\,{a_{{3}}}^{5}+1/6 \,a_{{3}}{a_{{6}}}^{2}+1/5\,{a_{{5}}}^{3}$$

getting for the colorings

$$1, 396, 123786, 9002912, 254721400, 3920311044, 39571426713, \\ 293231076608, 1715840171595, 8333541708700,\ldots$$

The Maple code for this is as follows.

with(combinat);

pet_autom2cycles :=
proc(src, aut)
local numa, numsubs;
local marks, pos, cycs, cpos, clen;

numsubs := [seq(src[k]=k, k=1..nops(src))];
numa := subs(numsubs, aut);

marks := [seq(true, pos=1..nops(aut))];

cycs := []; pos := 1;

while pos <= nops(aut) do
if marks[pos] then
clen := 0; cpos := pos;

while marks[cpos] do
marks[cpos] := false;
cpos := numa[cpos];
clen := clen+1;
od;

cycs := [op(cycs), clen];
fi;

pos := pos+1;
od;

return mul(a[cycs[k]], k=1..nops(cycs));
end;

pet_cycleind_petersen_verts :=
proc()
option remember;
local pet_verts, perm, vperm, s;
pet_verts := convert(choose({seq(k, k=1..5)}, 2), list);

perm := firstperm(5); s := 0;

while type(perm, list) do
vperm :=
subs([seq(q=perm[q], q=1..5)], pet_verts);

s := s + pet_autom2cycles(pet_verts, vperm);

perm := nextperm(perm);
od;

s/120;
end;

pet_cycleind_petersen_edges :=
proc()
option remember;
local pet_verts, vidx1, vidx2, v1, v2, pet_edges, perm, eperm, s;
pet_verts := convert(choose({seq(k, k=1..5)}, 2), list);

pet_edges := [];

for vidx1 to 10 do
for vidx2 from vidx1+1 to 10 do
v1 := pet_verts[vidx1]; v2 := pet_verts[vidx2];

if v1 intersect v2 = {}  then
pet_edges :=
[op(pet_edges), {v1, v2}];
fi;
od;
od;

perm := firstperm(5); s := 0;

while type(perm, list) do
eperm :=
subs([seq(q=perm[q], q=1..5)], pet_edges);

s := s + pet_autom2cycles(pet_edges, eperm);

perm := nextperm(perm);
od;

s/120;
end;

P :=
proc(N)
option remember;
local idx;

idx := pet_cycleind_petersen_verts();
subs([seq(x=N, x in indets(idx))], idx);
end;

Q :=
proc(N)
option remember;
local idx;

idx := pet_cycleind_petersen_edges();
subs([seq(x=N, x in indets(idx))], idx);
end;

Remark. The cycle index of the action on the vertices through the action on the edges of $K_5$ of the symmetric group appears through the complement of the Petersen graph.