jkomoros / sudoku

A sudoku puzzle solver, generator, and difficulty-rater built in Go
Apache License 2.0
5 stars 1 forks source link

Add a way to attenuate the strength of each twiddler #276

Closed jkomoros closed 8 years ago

jkomoros commented 8 years ago

The naive way to do this is to add a strength field to probabilityTwiddlerItem that attenuates the result.

This is actually not obvious how to do. If it was just a multiplication, then that would effectively be a constant for any CompoundSolveStep with the same number of Steps(). But if we switch twiddlers to be addition then adjusting down requires a negative number, and there it would be possible to get very negative. Alternatively, could have it be where all twiddlers have to be added together, and just set the expectation that they must be between 0 and positive infininty. Hmmm...

jkomoros commented 8 years ago

Once it exists, look carefully at all of the strengths; many of them seem way too strong.