Given an $n$-vertex undirected graph $G=(V, E)$, consider the following method of generating an independent set. Given a permutation $\sigma$ of the vertices, define a subset $S(\sigma)$ of the vertices as follows: for each vertex $i, i \in S(\sigma)$ if and only if no neighbor $j$ of $i$ precedes $i$ in the permutation $\sigma$.
(a) Show that each $S(\sigma)$ is an independent set in $G$.
(b) Suggest a natural randomized algorithm to produce $\sigma$ for which you can show that the expected cardinality of $S(\sigma)$ is
$$
\sum_{i=1}^{n} \frac{1}{d_{i}+1}
$$
where $d_{i}$ denotes the degree of vertex $i$.
(c) Prove that $G$ has an independent set of size at least $\sum_{i=1}^{n} 1 /\left(d_{i}+1\right)$.