## A Nature Inspired Sudoku Solver.

This machine learning project aims to the development of an open-source experimental prototype for solving and generating Sudoku puzzles by using only the strength of Genetic Algorithms. This is not a general purpose GA framework but a specific GA implementation for solving and generating Sudoku puzzles. The mechanics of the GA are based on the theoretical scientific paper “Solving and Rating Sudoku Puzzles with Genetic Algorithms” of Timo Mantere and Janne Koljonen. From the first moment, I liked the paper. So, I implemented it in Python. Also, I have add some variations to the algorithm in order to be more efficient. This project can be used in order to solve or generate new NxN Sudoku puzzles with N sub-boxes (e.g. 4×4, 9×9, etc).

## Differential Evolution – Example 5.

I quote below a personal portable implementation (in C++) of a classic Differential Evolution algorithm used to maximize the function **f(x) = sin(x)** in the domain 0 <= x <= 2pi. You can compile the program with the g++ compiler.

## Genetic Algorithm – Example 4.

I quote below a personal portable implementation (in C++) of a classic genetic algorithm (evolutionary algorithm) used to maximize the function **f(x, y) = sin(x) * sin(y)** in the domain 0 <= x, y <= 2pi. You can compile the program with the g++ compiler.

## Genetic Algorithm – Example 3.

I quote below a personal portable implementation (in C++) of a classic genetic algorithm (evolutionary algorithm) used to maximize the function **f(x) = sin(x)** in the domain 0 <= x <= 2pi. You can compile the program with the g++ compiler.

## Genetic Algorithm – Example 2.

I quote below a personal portable implementation (in C++) of a classic genetic algorithm (evolutionary algorithm) used to maximize the function **f(x) = sin(x)** in the domain 0 <= x <= 2pi. You can compile the program with the g++ compiler.

## Genetic Algorithm – Example 1.

I quote below a personal portable implementation (in C++) of a classic genetic algorithm (evolutionary algorithm) used to maximize the function **f(x) = sin(x)** in the domain 0 <= x <= 2pi. You can compile the program with the g++ compiler.