Home

Awesome

============================ Distributed Sudoku Generator

=========== Team: FUXIA

Andrei Grigorean
Sonia Stan
Mihnea Giurgea

=============== Install and Run

Install

1) Install picloud http://docs.picloud.com/quickstart.html
    sudo pip install cloud

2) Configure picloud 
    picloud setup
        email: s.kipy3@gmail.com
        password: hackathon

Run

<code> $ ./generate difficulty_level [--simulate] </code> - difficulty_level can be [1,2,3,4,5] - without the simulate flag, the program will not simulate picloud on the localhost and will try to connect to the site.

Running Tests

==================== Project Description:

The Distributed Sudoku Generator Project generates Sudoku games having different levels of difficulty. Traditionaly the Sudoku games are divided into five categories, according to human perceived difficulty. We have decided to keep the same five levels in our implementation of the generator:

"Generating Sudoku puzzles is easy. Generating evil Sudoku puzzles is... EVIL."

Four factors affecting the difficulty level are taken into consideration in this metrics respectively as follows:

======================= Project Implementation:

Solution's Building Blocks

There are three fundamental entities used in our implementation:

The Digging Strategy

Two variables are used that set restrictions on the digging operations: the first one tells us the maximum total number of digged cells and the second one tells us the maximum number of digged cells on a row or an a column.

The Digging Orders:

Conclusions

Q: How far are we from the optimal solution for generating an evil puzzle?

A: It has been proven that it is necessary to have at least 17 completed cells in a starting board. Our algorithm can generate an evil puzzle with 22 completed cells! Of course, there are other algorithms with better results than ours, but their implementation requires a much greater effort than can be achieved in 24hours.