5 ms·
Learning from Sudoku Solvers (2007)
- gnabgib 9mo agoSome comments 2 months ago (15 points, 7 comments) 2012 (28 points, 9 comments) https://news.ycombinator.com/item?id=4434744 https://news.ycombinator.com/item?id=4434744 2010 (65 points, 48 comments) https://news.ycombinator.com/item?id=1221399 https://news.ycombinator.com/item?id=1221399
- Jtsummers 8mo agoThe one from a couple months ago is here: https://news.ycombinator.com/item?id=45733410 https://news.ycombinator.com/item?id=45733410
- crustycoder 8mo agoOr perhaps just use a language that's designed to solve those sorts of problems? In 14 lines of code. https://www.swi-prolog.org/pldoc/man?section=clpfd-sudoku https://www.swi-prolog.org/pldoc/man?section=clpfd-sudoku
- cenamus 8mo agoIs there a similarly short/simple solution not using all of the built ins? Haven't worked with prolog in a while but should be easy enough with primitives (albeit with more duplication)?
- crustycoder 8mo agoWell no, not really. The whole point is to use the appropriate tool for the task at hand. In this case it's the CLP(FD) library, https://www.swi-prolog.org/pldoc/man?section=clpfd https://www.swi-prolog.org/pldoc/man?section=clpfd
- nurettin 8mo agoWhy not just blocks(Rows, Blocks), maplist(all_distinct, Blocks), maplist(label, Rows)
- kayo_20211030 8mo agoPeter Seibel's original post is worth reading in its entirety. It's a decently balanced piece. It leaves room for various views, and its summation seems about right. https://gigamonkeys.wordpress.com/2009/10/05/coders-unit-testing/ https://gigamonkeys.wordpress.com/2009/10/05/coders-unit-tes...
- nurettin 8mo agoI remember implementing some of these https://www.stolaf.edu/people/hansonr/sudoku/12rules.htm https://www.stolaf.edu/people/hansonr/sudoku/12rules.htm With a simple array of unsigned int and bit operations like 20 years ago. It could solve a lot of puzzles within microseconds. Later I realized rules 1, 2, 5, 6 are pretty much the same.