Monte Carlo Method to maximize word probability

The words or the startup names were created as a result of a random walk
on the generated Markov Chain. As the name suggests random walk is
completely random and the results can be random too.

We assume every generation of the word as a simulation and evaluate the
fitness of the outcome.

```ruby
    if score_val > 0.5
        puts word
        so_far += 1
    end
```

Scoring of a geernated word is the ratio of the number letters with
probability lying between the second and the third quartiles of the
probabilities to the number of letters in the word.

Evaluating it based on the probability distribution always tries to
maximize the occurence of the most frequent letter and hence probably a
name given the dataset