Skip to content

Обучение искусственного интеллекта игре в крестики нолики

Notifications You must be signed in to change notification settings

Amonlol/tic-tac-toe-qlearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

tic-tac-toe-qlearning

Reinforcement learning\Q-Learning

Проект обучения агента ИИ через алгоритм обучения с подкреплением

Описание

Проект с обучением агента искусственного интеллекта для игры в крестики-нолики

Зависимости

В ходе разработки была использована сторонняя библиотека

Newtonsoft.Json 13.0.2 https://www.nuget.org/packages/Newtonsoft.Json

Установка

  1. Загрузить зависимости:
    dotnet add package Newtonsoft.Json --version 13.0.2
  2. Склонировать репозиторий:
    git clone https://github.com/Amonlol/tic-tac-toe-qlearning
  3. Открыть с помощью Visual Studio и скомпилировать проект
  4. Запустить исполняемый файл .\tic-tac-toe-cli\main\bin\Debug\net6.0\main.exe или решение через Visual Studio
  5. Выбрать режим игры (в данный момент доступны только первые 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 <-- Основная точка входа в программу

About

Обучение искусственного интеллекта игре в крестики нолики

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages