It finds solutions for grid puzzles by using words dictionary. It can support any language - polish dictionary already included in the project. Supported languages by external dictionaries: English. Rich client for editing/viewing/printing is foreseen.
Project home page is here.
Java 1.3/1.4 JRE and/or SDK installed
Any OS supporting the Java and Swing
To download latest binaries and sources click here.
Unpack to any directory
On Windows: go to command line (Start->Run->type cmd->change dir to the unpacked zip), and type:
mlcrosswords.bat -p test1.txt
On Unix: in shell type:
mlcrosswords.sh -p test1.txt
The found solutions are stored in the directory 'resolved' under the program root.
How to use different dictionary and were I can find it?
Polish dictionary is already included in the project.
English dictionary - use one from http://sourceforge.net/projects/cack/ project - download, install and call mlcrosswords with params: -dictionary cack_location\dict\cack.noun.
Example: mlcrosswords.bat -p test1.txt -dictionary I:\cack-1.1\cack-1.1\dict\cack.noun
Other dictionaries - still investigating - let me know if they are avaliable for free and where.
My crossword pattern seems to be unsolvable. Did I make it right?
It depends on two factors - the complexity of pattern and the amount of words in dictionary.
More words - easier to find the solution.
By making the pattern keep in mind that the most difficult to solve are big continuous fields of letters. Try to divide them.
It could be also that due to bug a pattern is unsolvable - but it is not likely.
Two kinds of tests are required:
- solvable - for a given crossword and limited or full dictionary there exists one or more solutions and check if this program is able to find it.
- performance and algorithm quality - for a given crossword measure/check the time spent in solving, number of generated combinations, etc.
Above tests which runs in resonable time will also be part of regression tests - launched for every stable release.
If any extentions to the sources are needed to perform the tests, please request a such.
Another projects of mine:
Polish Flexion Engine (pl. Polski silnik fleksyjny) Click here - Polish Flexion Engine.
Project hosted by: