Проект с обучением агента искусственного интеллекта для игры в крестики-нолики
В ходе разработки была использована сторонняя библиотека
Newtonsoft.Json 13.0.2 https://www.nuget.org/packages/Newtonsoft.Json
- Загрузить зависимости:
dotnet add package Newtonsoft.Json --version 13.0.2
- Склонировать репозиторий:
git clone https://github.com/Amonlol/tic-tac-toe-qlearning
- Открыть с помощью Visual Studio и скомпилировать проект
- Запустить исполняемый файл .\tic-tac-toe-cli\main\bin\Debug\net6.0\main.exe или решение через Visual Studio
- Выбрать режим игры (в данный момент доступны только первые 2 - 2 игрока и обучение агента, как игрока Х)
│ ReadMe.md <-- Файл ридми
│
└───tic-tac-toe-cli
│ tic-tac-toe-cli.sln <-- Файл с решением
│
├───cli-library
│ │ Agent.cs <-- Файл с описанием обучения агента
│ │ Cell.cs <-- Файл с описанием структуры ячейки и таблицы Q
│ │ Game.cs <-- Файл с описанием логики игры
│ │ Human.cs <-- Файл с описанием игрока-человека
│ │ IPlayer.cs <-- Файл с описанием интерфейса игрока
│ │ qtable.json <-- Файл с таблицей Q после 1000 итераций игр
│ │ RandomPlayer.cs <-- Файл с описанием игрока, который делает случайный выбор
│ │ State.cs <-- Файл с описанием статуса текущего игрового поля
│
└───main
│ Program.cs <-- Основная точка входа в программу