CancelReport This Post

Please fill out the form below with your name, e-mail address and the reason(s) you wish to report this post.

 

Crossword Help Forum
Forum Rules

charlesy

6th March 2018, 15:33
Having attempted (and sometimes succeeded) solving the Listener Crossword for the last 45 years I have often wished for a tool to help with my struggle so I have written a Windows program which can fuzzily match words by using an algorithm based on the number of mutations (Shannon divergence/edit distance) that can be applied to an input string of letters. I came up with the method when doing a course on genomics! If there is any interest then I'll put the code up (for free) somewhere on the web for anyone to mess about with and compile with visual studio (if they don't trust a pre-compiled version).
By mutation I mean a change of letter, a deletion or an insertion. So, with 1 insertion, 'cart' would match 'carat', 'caret' ... 'scart', 't-cart' etc, with 1 deletion - 'art', 'car' and 'cat' and with 1 substitution - 'Bart','Cara', 'cant',...,'wart'.
The same process can be applied to anagrams - you supply a string of letters and tick the anagram box. Now, all anagrams that have the required number of mutations will be listed. So for 'cart' and with 1 deletion you would get 'act','art','car' etc, for insertion - 'actor', 'artic','bract' etc and substitution - 'acer', 'acre'...'tzar', 'wart'.
It is possible to combine mutations so if the number required is, say 2, then it is possible to find all words matching any combination of 2 mutation types. Any input letter can be protected from mutation by enclosing in square brackets.
It is also possible to select all mutations up to the input number which makes puzzles like the Times Polygon very easy!
It can be used easily to do fun things like find the longest word in the current dictionary that has all different letters (dermatoglyphics in UKACD17.txt)
The list generated can be filtered using a regular expression eg ^c[ao][¬aeiou] would match all words beginning with ca or co followed by any other letter than a vowel. If no input string is given then the regular expression will be applied to the whole word list.
Any text file containing a list of words can be used to match against - I use UKACD17.txt or files from Moby which are available on the web. The program will work with lists of words from as well with an option to ignore accented letters.
You can edit a file containing a list of URLs to add your favourite dictionary sites. Double clicking on a word in the output list will display the web page for the word using the currently selected URL. Selecting a different URL will query it for the current word.
If there is enough interest then I'll sort out somewhere to put the code.
1 of 1  -   Report This Post