Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
Robin Thoni c5fc5f71e2 README 7 роки тому
.idea/.idea.uqac-ia-sudoku-csp added stats 7 роки тому
sample added samples; added MRV strategy 7 роки тому
uqac-ia-sudoku-csp added lcv 7 роки тому
.gitignore init 7 роки тому
AUTHORS README 7 роки тому
README.md README 7 роки тому
uqac-ia-sudoku-csp.sln init 7 роки тому

README.md

CSP Sudoku Solver

This is a sudoku solver using Constraint Satisfaction Problem pattern.

Build

  • Command line

    cd uqac-ia-aspirobot
    dotnet restore
    dotnet build
    dotnet run
    
  • Visual Studio
    Run VS, open solution, wait for package restore, click run (F5)

  • Rider
    Run Rider, open solution, wait for package restore, click run (Shift + F10)

Configuration

The program allows 4 optional arguments:

  • Generator type: The generator to use to create/load the sudoku. Possible values:
    • ’-’ (default): Read from std input
    • ‘0’: Empty sudoku
    • filename: load from the specified file
  • Next cell chooser: The way to select next cell to fill. Possible values:
    • ‘mrv’ (default): Use the Minimum remaining values strategy
    • ‘dh’: Use the Degree heuristic strategy
    • ‘basic’: Select the first blank value, from up to down and left to right
  • Next number chooser: The way to select next number to the next to test in the cell. Possible values:
    • ‘lcv’ (default): Use Least constraining value strategy
    • ‘basic’: Select numbers in ascending order
  • Empty characters: The characters that should be considered as empty cell. Default value: ‘0 .’

Code

This solver is coded in .NET Core (C#) using interfaces to abstract implementation.
Interfaces are in Interfaces/*.cs
Constraints are in Solver/Constraints/*.cs
Sudoku loaders/generators are in Solver/Generators/*.cs
Strategies for choosing next value are in Solver/NextValueChoosers/*.cs
Backtracking search algrithm is in Solver/BacktrackSearch.cs