Skip to content

A WPF application that allows you to train and play against a neural network in a game of TicTacToe

Notifications You must be signed in to change notification settings

SMToad/TicTacToeNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TicTacToeNN

This is a WPF application themed around a neural network that can play tic-tac-toe. The app provides two main functionalities: training the neural network and playing against it yourself. The used neural network is a Feedforward neural network that utilizes Q-Learning in its training process.

Features

  • Interactive gameplay of tic-tac-toe
  • Modifying the playboard size (available size range is [3,5])
  • Controlling the training process via Start, Stop and Reset buttons
  • Selecting a train partner for the network (random player, boring player, other neural network), as well as the amount of training rounds
  • Seeing visual statistics of the training process

Screenshots

Start page view

Game mode

in-game page

Training mode

in-training page

Different playboard sizes

Technologies used

  • .NET Framework 4.7.2
  • C# 7.3
  • Visual Studio 2017, refactored with Visual Studio 2022
  • OxyPlot plotting library

Room for improvement

  • Make it possible for the user to modify the network parameters
  • Add the option to see the networks weights
  • Add the ability to select the amount of cells needed for the win as well as the playboard size, e.g. 3 cells in a row on a 5x5 playboard
  • Make the user interface more aesthetically pleasing

Acknowledgements

This project was completed as a coursework on machine learning named "Tic-Tac-Toe Neural Network" ("Нейронная сеть для игры в Крестики-Нолики"). The classes for the neural network and back propagation were based on the AForge.NET framework classes.

About

A WPF application that allows you to train and play against a neural network in a game of TicTacToe

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages