• About this program:
    1.This program is instructed by Professor Carla P. Gomes, Computer Science, Cornell University.
    2.This application is developed to study the complexity of sudoku.
    3.Cornell University in Spring, 2005.

  • The rules of Sudoku:
    1.Sudoku is orginally played on a 9x9 board.
    2.Place a number from 1 to 9 in each empty cell.
    3.Each row, column and 3x3 block bounded by bold line (nine blocks) contains all the number from 1 to 9.
    4.For more information, please visit:Rules of Sudoku

  • About this Sudoku Solver:
    1.Extend rules for three orders: 9x9, 16x16, and 25x25.
    2.Create instances and divide them into several levels.
    3.Open a problem from our existing problem database, or manually set a problem.
    4.Include two algorithms for solving problems or providing comparatively best hint to the users. "Firstly pick" algorithm will pick a first value from the available values domain for selected cell, while "Randomly pick" algorithm will randomly pick the value from the remaining domain.
    5.Show the complexity of problems with order 9. (This is tested in 400 instances)

  • How to use this Solver:
    Part 1: Instance Order: Define the order of instance and the default value is 9x9. Users need to choose the order first when start the program.

    Part 2: Instance Create: Either load a new instance in the database or design an instance by your self.

      2.1 Load New Instance: There are two kinds of instance in the database. Type1 is randomly generated by computer while Type2 is designed by human. Type1 has 8 levels according to the number of empty cells. (e.g.level1: % empty cells=20%, level2: % empty cells=30% ...)Type2 has 10 levels according to the complexity of the instance that was designed by human.
      2.2 Design your instance: Click "Setting" to load an empty board for self design and click finish when complete.
    Part 3: Instance Solver: Include two algorithms for solving problems or providing comparatively best hint to the users. "Firstly pick" algorithm will pick a first value from the available values domain for selected cell. "Randomly (new)" and "Randomly (old)" algorithms will randomly pick the value from the remaining domain. "Randomly (new)ˇ± algorithm creates a new seed each time, while ˇ°Randomly (old)ˇ± algorithm uses the previous seed.

    Part 4: Manual Options: "Back"-back one pervious step. "Replay"-repaly the instance. "Check"-check whether there is any conflict currently.

    Result: Calculate the number of backtrack to get this solution.

    Graph: Show the complexity of problems with order 9. (This is tested in 400 instances)

  • Lisa Cai