Hacker News new | ask | show | jobs
by chongli 1356 days ago
If you're doing programming exercises you can brute force or guess a solution but there's a cultural bias against doing that, because what you're trying to learn is how to be smart about the problem, otherwise the exercise is pointless.

What exactly counts as “being smart about the problem” is culturally determined. In my view, taking ten times as long to solve the problem using pure deduction (because you’re struggling to hold all of the possibilities in your head simultaneously) is being less smart about the problem than making an informed guess and then quickly and mechanically checking whether you were correct.

A puzzle that heavily benefits from guesswork is just a bad puzzle.

That puts an upper limit on the difficulty rating of puzzles which is in some sense limited by the imagination of solvers.

1 comments

Unless the whole point of the puzzle is to determine the logic.

Bruteforcing (aside from taking longer is just not interesting. When people are setting puzzles a lot of time and effort is put into how the logic is expected to work on the path to solving. When people post puzzles for testing if people find a spot where bifurcation is necessary they’ll generally point it out and the setter will check to see if they made an error or whether the person testing has missed some of the logic.

Guess-and-check is not brute forcing. I addressed this in another part of this thread.
Ok, what do you mean by “guess and check”?

Because general rule for a sudoku to not be considered is that at no point should you be in a position where you are needing to simply try different solution paths to find one that works.

I’d recommend watch a video by cracking the cryptic on YouTube to see how the solve works at the higher levels, as it’s possible I’m misunderstanding what you’re meaning by guess and check, and you’re meaning similar logic to what is used. In that case the problem is calling it “guess and check” leading us sudoku folk to think you’re meaning bifurcation.