It should take a set of "moves" (puzzle modifications), a score function (#27), and a temperature schedule. The solver will randomly select moves, and accept them according to the Metropolis-Hastings criterion.
The trick will be coming up with a set of moves that allows effective search of the puzzle landscape (all possible letters in all possible boxes). Some potential ideas for moves:
Fill a word with a compatible entry from the ClueDB / Dictionary.
Erase a word or some letters.
Fill some letters based on the N-gram model (#10).
Some initial sketches in the mc_solver branch. If this turns out to be ineffective, an alternative is a refined branch search as described in the Dr. Fill paper.
It should take a set of "moves" (puzzle modifications), a score function (#27), and a temperature schedule. The solver will randomly select moves, and accept them according to the Metropolis-Hastings criterion.
The trick will be coming up with a set of moves that allows effective search of the puzzle landscape (all possible letters in all possible boxes). Some potential ideas for moves:
Some initial sketches in the
mc_solver
branch. If this turns out to be ineffective, an alternative is a refined branch search as described in the Dr. Fill paper.