This is a problem I heard from a friend. I didn't figure it out, so I want to post it here because it's quite an interesting problem.
The island pictured below is made up of nine towns. One day, a plague arrives at $G$. Though the citizens do their best to contain the plague, each road between an infected and uninfected village has a $10\%$ chance every day to spread it to the uninfected one. How long do we expect it to take until the whole population is infected?"
My attempt:
Probability is not my strong suit, so I couldn't get very far with this problem. The naive way to go about it is to build a probability tree, but I feel like there has to be a simpler way to do with the degrees of the vertices. The problem I keep running into, though, is that you can easily calculate probabilities for the first day - 10% to each neighboring town, 20% overall, but past that you have too many possible infection maps to do any meaningful calculations.
I also just noticed that the last node to be infected (in terms of probability) will be the farthest from $G$, which is $A$ - 4 edges away. Because each day there is a 10% chance of one of those edges being infected, we have an average time of $10*4$=40 days to get to $A$. Is this a correct solution?
If not, what is the solution to this problem?
EDIT: The answers posted thus far have been amazing, but this problem was given to mathematically talented high school students so there has to be a simple solution (in terms of math used, not the argument itself). I'll be offering a bounty for such an answer when it's available.

As been already mentioned here, one way to approach this problem is through Markov Chains. Given that solution heavily relies on connectivity graph, I doubt it is possible to get a closed form.
For your particular setup, you have a Markov Chain with $2^9 = 512$ states, each state might also be represented by a vector of $9$ numbers, being $1$ if corresponding town is infected and $0$ otherwise, also this vectors for convenience can be enumerated as decimals $0 - 511$.
Then you will have to build transition matrix, which is based on connectivity graph. I'll give an example on simplified version with $4$ towns, where $A \ \rightarrow \{B\}$, $B \rightarrow \{A, C, D\}$, $C \rightarrow \{B, D\}$, $D \rightarrow \{B, C\}$. Suppose you have state $\{0, 1, 1, 0\}$. Possible transitions from it are to:
Having completed this for all possible $512$ states (obviously, states $\{0, 0, \ldots, 0\}$ and $\{1, 1, \ldots, 1\}$ are absorbing), you'll get transition matrix $M$, where $M[S_0, S_1]$ is transition probability from state $S_0$ to $S_1$.
After that, if $T \in \mathbb{Z}^+$ is the day when last town(s) get infested, $M^T[S_0, \{1, 1, \ldots, 1\}]$ gives you probability distribution of time $T$. $M^T$ is matrix $M$ multiplied by itself $T - 1$ times, and $S_0$ is your starting state. For any finite $T$ you'll have $M^T[S_0, \{1, 1, \ldots, 1\}] < 1$, but it converges to one fairly quickly.
I actually got interested and took some time to code this in Python. After $500$ days $M^{499}[S_0, \{1, 1, \ldots, 1\} > 1 - 10^{-15}$, pretty much enough, I would say. I got $E[T] \approx 34.554$ days, and probability density graph below. After $79$ days all towns would be infested with probability $> 0.99$.
Interestingly enough, starting plague in the most remove town $A$ doesn't help much - $E[T]$ becomes $38.038$ days, only little more than $3$ extra days on average. On the other hand, if plague start in central town $E$, $E[T]$ becomes $24.814$ days, and $64$ days is enough to get all towns infested with probability $> 0.99$.
ADDITION: I've corrected the example on calculating transition probabilities and results and run simulations to check them. Based on $200000$ rounds for each case, I've got $E[T] = 34.539$ days when plague starts in $G$, and $E[T] = 38.063$ days when plague starts in $A$.