Results 1 to 10 of 28

Thread: Sudoku solver program, do it like a human!

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    @Phibermon @AirPas

    Please keep the conversation about the Phibermons engine in seperate thread as that is off-topci for this one which is about making sudoku solver. Let us keep PGD forums organized shall we.
    I can move all posts about your Phibermons engine to another thread. Just say where OK.

  2. #2
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    Removed, it's not important I'll post about it when I'm ready to. AirPas please feel free to get in touch if you want some more details
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  3. #3
    Wandering the internet today, I found this http://www.sadmansoftware.com/sudoku...techniques.htm maybe you can found here some other approach to what you want to do.

  4. #4
    I also have made a sudoku solver, that you can possibly learn from
    Lazarus source: https://www.dropbox.com/s/u27owmiqrb...u_src.zip?dl=0
    Windows binary: https://www.dropbox.com/s/e95blmhhti...udoku.zip?dl=0

    Actual solver is recursive, nothing human related. Quick and deep scan of all possible choices, it will also display all of them (normal "proper" sudokus are built with only 1 solution though). So if any sudoku has a solution, this will find it.

    But there is a bit more that human-like when building a new sudoku from scratch. First it fills the table, with algorithm i don't remember in detail, but then it starts clearing it. Each cell can have calculated a value, of how many possible numbers it can have based on the numbers already set on board. If for example the row 1 already has number 4, then none of the other 8 cells on that row can have 4, the normal gamerule check. The generator keeps track of that for each cell, and also of what those numbers are. It goes through the whole grid and then finds which ones have lowest value, then randomly picks 1 of the winners and makes it blank. Repeat until number density (filled:empty ratio) reaches the wanted difficulty level, where closest to empty is hardest. When you think about it, a cell that has low value is easy for human to figure out, so it's quite balanced on the difficulty.

    edit: Lowest value, not highest... i think
    Last edited by User137; 16-01-2015 at 09:03 PM.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •