Skip to content

jirheee/CS492-Team-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Interactive RL Playground

TypeScipt React Chakra

Express MySQL Socket.io Docker

OpenIssues ClosedIssues License


✏️ What is this?

Artificial Intelligence(AI) is a term that is being used more and more everyday. However, for most people it is hard to get familiar with AI since it contains relatively new technologies and jargon such as artificial neural networks or anything related to machine learning, which are difficult to understand without deep prior knowledge of mathematics and computer science. To bridge the gap between people and neural networks, google tensorflow provides Neural Network Playground, where people can easily construct neural networks to classify linearly inseparable data. Inspired by this playground, we create an Interactive Reinforcement Learning(RL) playground, where even users without any background in AI can train and evaluate their own RL agent for well known game Gomoku.

Main features are:

  1. Build own RL agent that plays Gomoku
Screen.Recording.2021-12-19.at.18.11.21.mov
  1. Train the agent to learn how to play Gomoku and monitor train process
Screen.Recording.2021-12-19.at.18.12.30.mov
  1. Battle with Gomoku agents that are created by others
Screen.Recording.2021-12-19.at.18.24.52.mov

🖥 How to launch the project

Dependencies


1️⃣ Clone Repository

$ git clone https://github.com/jirheee/CS492-Team-Project.git

2️⃣ Install Packages

$ cd client && yarn
$ cd ../server && yarn
$ cp .env.example .env
$ cd ..

3️⃣ Run Server

Below command will run the dockerized db server and main api server in your localhost.

$ cd Server
$ docker-compose up

4️⃣ Run Client

Below command will host the frontend at http://localhost:3000

$ cd Client
$ yarn start

5️⃣ Go to http://localhost:3000, you will be able to build, train, test your own agent!

🗂 Directory Structure

Frontend

Client
|-public
|-src
 |-config          // Configurations & Constants
 |-components      // React components
 |-lib             // Utility functions
 |-model           // ML Data type interfaces
 |-pages           // Pages for routing

Backend

Server
|-src
 |-config          // Configurations & Constants
 |-entity          // Typeorm Schema
 |-ioHandler       // Socket.io handlers
 |-loader          // Things that run at the start of server
 |-manager         // Global State Managers
 |-ml              // ML related code, more explained below
 |-routes          // Express.js routes
 |-types           // typescript types

ML

Alphazero_Gomoku
|-game             // Game Environment
|-nn_architecture  // Build RL agent with user's options
|-train            // Train RL agent
|-mcts_pure        // Monte Carlo Tree Search(MCTS) Implementation
|-mcts_alphaZero   // AlphaZero Implementation
|-human_play       // for testing RL agent with human

Final Report

🔖Final Report


2021 KAIST Fall Semester · CS492(I) - Intro to DL

About

CS492-Team-Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published