I looked at @madness’s book for inspiration a year or so ago. Since then, I have also been looking at improving my hill climbing techniques by going back through the previous years challenges. I have recently settled on using Quadram analysis from the plain text output generated from a possible key. The technique is very similar to @madness’s. I am summing the log of the probability of the Quadrams in a text to then narrow the key to its solution. If you google, you should find appropriate techniques and Quadram frequency statistics. There are 26*26*26*26 (456,976) Quadrams although if the cyphertext includes numbers then this increases to 36*36*36*36 (1,679,616). I use VBA (!) as Excel is helpful for other aspects and sometimes spreadsheet manipulation is quicker than coding – like viewing possible transposition solutions. I generally arrive at a solution within about 10 mins. Since using Quadrams I have only once needed to stop the code and feed a different random starting key when the sum led me up the wrong local optima.