venk12 / smart-sweepers-qt

Qt port of Smart Sweepers v1.0 by Mat Buckland

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smart Sweepers Qt

This application is an Qt port of Smart Sweepers v1.0 (see Acknowledgment) with some minor changes.

Smart Sweepers is a simple (educational) simulation framework which uses the Artificial Neural Network (ANN) as an engine for a simple AI model. Used ANN is a feedforward network evaluated with an unsupervised learning. Learning algorithm is based on the gene expression programming (Genetic Algorithm).

In this program, the ANN is used to control the movement of a minesweeper by changing the speed of a left and a right track (speed difference generates rotation force). As an input we've got the position of the closest mine and the minesweeper current direction vector. Genetic Algorithm is used to maximize the fitness factor, which in our example is the best approximation of a linear motion toward the closest mine.

Screenshot

Compilation

$ mkdir build && cd build
$ qmake DEFINES+=WITH_OPENMP ..
$ make && make install

Acknowledgment

This program was originally written by Mat Buckland, as a part of his tutorial about the Neural Network architecture and basic application.

About

Qt port of Smart Sweepers v1.0 by Mat Buckland

License:Other


Languages

Language:C++ 96.2%Language:QMake 2.2%Language:C 1.6%