Charles Lutwidge Dodgson, better known by his pseudonym Lewis Carroll, is credited with inventing the word game known as word ladder. A word ladder puzzle is a series of words, conventionally represented one above the other, in which each word differs from its immediate neighbours by a single letter. Players are given the first and last words and have to deduce the intervening words to complete the ladder. Carroll's puzzles had a deeper relationship between the start and end words than mere letter exchanges. But for our puzzles a humourless algorithm randomly chooses the start words and then finds end words the specified distance away. However, by chance, the choices are sometimes quite amusing. We also find it amusing that Knuth coined the term "aloof" for words with no hamming distance 1 neighbours. (there is no word 1 letter different from aloof and Knuth used it as a general term for all such words.)
The word ladders puzzles we have seen in newspapers seem to stick to 4-letter words and 6 rungs and, obviously, fixed start and end words. Our game gives a choice of 3, 4 and 5 letter words and the number of rungs can be varied from 3 to 12. It is important to note that the ladders are not stored (and hence are not fixed) but instead the words are shuffled and ladders are calculated each time the player asks for a new one. The game also provides lists of possible 1-letter different words. Players can also enter their own start and end words. The program will always find the shortest path between the start and end words.
A completed wordwheel for the famous Lewis Carroll start and end words APE and MAN.
There are three ways to start a game. First, if you click the stacked disks icon to the right of the jigsaw symbol the program will choose a ladder and show the start and end words. All rungs will be used.
Second, if you type an acceptable word into the top rung (followed by "Enter") the program will choose a corresponding ladder and display the last word. All rungs will be used.
Third, to find the path between two words type the end word into the bottom rung. If there is a path less than or equal to the current number of rungs the program will find it. If the path length is less than the number of rungs the program will move the end word to the appropriate rung.
To enter a word on a rung place the cursor in the corresponding box (tabbing can be used) and type on the keybord, followed by "Enter". If the program does not display an entered word the word was not accepted. If you do not like the last word, type "Enter" in the top rung and the program will look for an alternative. To solve the puzzle proceed to fill in words which differ from their immediate neighbour(s) by exactly one letter. Words can only be entered on rungs adjacent to filled rungs. If you need help, clicking on the + symbol next to a filled in word will produce a list of all the words to which it differs by a single letter. Clicking on the sad smiley icon will produce a solution (there may be more than one). Using the menu players can choose word lengths of 3, 4 or 5 letters and the number of rungs.
Please note that the program calculates the ladders and very occasionally this can take a noticeable time. For this reason there is an option in the menu to set a rough time limit (in seconds) so that the program will stop searching and allow the player to try a different start word or number of rungs.
Wordladder Worked Example
A video to demonstrate wordladder options. The game starts with an empty ladder. The player clicks on the icon for starting a new game and fills in the missing words. Notice that words can be added to any rung touching a filled rung. The player starts a new game, doesn't like the start word, so clicks again. When happy with the start word, she clicks in the top box until she gets an end word she likes. She tries to enter a word, which though correct, is not accepted because neither adjacent rung is filled. She then enters a word which does not differ from the word above by only one letter, so it too is rejected. She then completes the puzzle. The player then changes the word length and completes another puzzle. She then types "APE" into the top box and hits "Enter" and the program finds another ladder. She types "MAN" into the bottom box and hits "Enter". She clicks on the sad smiley and the program displays the path. She then types "Enter" with the cursor in the top box and the program finds another path. She changes the end word to "COW" and asks for the solution. She types "PIG" into the bottom box then clicks on the "+" symbol to the right of the top word to get a list of all possible next words. She completes the puzzle and starts another. She types "PIG" into the bottom rung and the program finds the path only requires 4 rungs and moves "PIG" up two rungs. She shows the solution.
The program uses 486 three letter words, 1865 four letter words and 2723 five letter words. This is a large proportion of all words of those lengths. Obviously some words remain aloof by having no words that differ from them by one letter, and others have very few such neighbours. Such words have been omitted. All words were extracted from Brian Kelk's UK English wordlist.
If you have your own list of words you'd like to use instead - say for educational purposes - we could create the corresponding word ladders.