Comment

Comment by triska

Thank you very much for the publicity, I greatly appreciate your interest!

Prolog is extremely well-suited for solving combinatorial tasks like Sudoku puzzles, and also for tough practical challenges such such as timetabling, scheduling and allocation tasks on an industrial scale.

The key feature that makes Prolog so efficient and frequently used for such tasks is constraint propagation, provided via libraries or as a built-in feature in many Prolog system. Fast and efficient constraint propagation is often an important reason for buying a commercial Prolog system.

In this example, I am using CLP(FD/ℤ), constraint logic programming over finite domains/integers, the amalgamation of constraint programming (CP) and logic programming (LP), which blend especially seamlessly. I have uploaded a short video that shows how it works for Sudoku puzzles:

https://www.metalevel.at/prolog/videos/sudoku

If you are interested in constraint solving, a few related videos may also be useful:

https://www.metalevel.at/prolog/videos/n_queens

https://www.metalevel.at/prolog/videos/knights_and_knaves

https://www.metalevel.at/prolog/videos/map_colouring

These videos are all work in progress, and they may be replaced by better versions at any time. However, the links above will always point to the latest version.

Enjoy!

parent triska 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton