Giter Club home page Giter Club logo

pingpong-ai's Introduction

Pingpong Artificial Intelligence

GitHub language count Made by @nelsondiaas License Stargazers

Prerequisites

  • Python (>= 3.6)

Getting Started

  1. Fork este repositório e clone em sua máquina
  2. Mude o diretório para pingpong-IA onde você o clonou;
  3. No terminal, execute:
/* Install dependencies */

$ pip install -r requeriments.txt

/* Coletar dados */

$ python PingPongCollect.py

/* Treinar dados */

$ python NeuralNetwork.py

/* Executar IA */

$ python PingPongIA.py

Neural Network

A rede neural possui: uma camada de entrada de 2 neurônios, uma camada oculta de 30 neurônios e uma camada de saída de 1 neurônio. É possível personalizar a quantidade de neurônios de cada uma das camadas.

File Structure

pingpong-IA
├── src/
│   ├── database/
│   │   ├── controller/
│   │   │   └── db.py
│   │   ├── data/
│   │   │   └── data-50.txt
│   │   └── weights/
│   │       ├── weight-w1.txt
│   │       └── weight-w2.txt
│   ├── network/
│   │   └── NeuralNetwork.py
│   ├── PingPongCollect.py
│   └── PingPongIA.py
├── .gitignore
├── LICENSE.md
├── README.md
└── requeriments.txt

Vision

O objetivo desse jogo é fazer com que a palheta impeça a bolinha de tocar no chão. A implementação consiste no aprendizado de máquina supervisionado, portanto, teremos que passar ao jogo dados iniciais para que ele processe o aprendizado. A partir do arquivo src/PingPongCollect.py, será executado o jogo para que você jogue, e sejam coletadas informações que serão usadas no aprendizado de sua máquina, então, os dados serão salvos em src/database/data. Logo em seguida, você poderá treinar seus dados de duas formas. Na primeira forma, você poderá executar os dados coletados diretamente na rede neural sem precisar jogar, nesse caso, no terminal, será impressa uma informação, que é a taxa de error do treinamento de sua rede neural, quanto menor a taxa, melhor, após isso, no final deste treinamento, serão salvos os pesos em src/database/weights (esses pesos são as informações dos neurônios treinados na sua rede neural, ou seja, eles funcionam como um cérebro com o conhecimento em si). Na segunda forma, você irá treinar a sua rede diretamente jogando, no caso, enquanto se joga, a rede treina. Para fazer a sua máquina jogar, você terá que executar o arquivo src/PingPongIA.py. Nele, ou você seta os pesos emitidos pelo treinamento de sua rede ou não passar nenhum peso e deixar o aprendizado começar do zero.

License

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


pingpong-ai's People

Contributors

nelsonwenner avatar ofelipegabriel321 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

pingpong-ai's Issues

Question on the unit of measurement

Hi, sorry if this sounds like a silly question.

What are the units of measurements used for these (e.g., pixels)?
width = 950
height = 600
pallet_x = 500
pallet_y = 470
pallet_velocity = 20
pallet_height = 20
pallet_width = 120

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.