https://github.com/mateuseap/projeto-si
Projeto para disciplina IF684 (Sistemas Inteligentes)
https://github.com/mateuseap/projeto-si
Last synced: about 1 year ago
JSON representation
Projeto para disciplina IF684 (Sistemas Inteligentes)
- Host: GitHub
- URL: https://github.com/mateuseap/projeto-si
- Owner: mateuseap
- License: mit
- Created: 2023-02-14T16:26:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-25T07:22:38.000Z (almost 3 years ago)
- Last Synced: 2025-02-12T03:51:28.958Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://mateuseap.github.io/projeto-si/
- Size: 1.34 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Projeto (Sistemas Inteligentes)
Esse projeto foi criado utilizando a biblioteca de animação [p5.js](https://p5js.org/) e tem a finalidade de representar visualmente um **agente autônomo** que realiza uma busca em um ambiente **totalmente observável** buscando um objeto alvo (uma comida). O usuário pode escolher qual será o algoritmo de busca utilizado pelo agente, os algoritmos disponíveis são:
- **BFS**
- **DFS**
- **Greedy**
- **Dijkstra**
- **A***
O ambiente em que o **agente autônomo** se encontra é gerado aleatoriamente e é composto por um **grid 35x35**, onde cada bloco desse grid pode ser de um desses 4 diferentes tipos de blocos:
- [#DCCBB5] **Areia** (Menor custo)
- [#869818] **Pântano** (Custo médio)
- [#3399CC] **Água** (Maior custo)
- [#565656] **Obstáculo** (Custo ∞)
O **agente autônomo** não pode percorrer blocos que sejam do tipo [#565656] **Obstáculo** e além disso, quanto maior for o custo do bloco que o agente estiver percorrendo, mais lento ele fica. Por fim, vale ressaltar que a posição inicial do **agente autônomo** e do objeto alvo (a comida) também são gerados aleatoriamente.
## 💡 Como rodar o projeto pelo navegador
O deploy do projeto foi realizado utilizando o [GitHub Pages](https://pages.github.com/), basta acessar o link abaixo para rodar o nosso projeto diretamente no seu navegador:
https://mateuseap.github.io/projeto-si/
## 🚀 Como rodar o projeto localmente
Para rodar o projeto locamente você vai precisar instalar o [Node.js](https://nodejs.org/en/) `http-server`, siga os seguintes passos para realizar a instalação:
- Baixe e instale o [Node.js](https://nodejs.org/en/)
- Abra um terminal ou um command prompt (no **Windows** você deve executar o command prompt como administrador)
- No terminal digite o comando:
```bash
npm install -g http-server
```
Se você receber um erro de permissão no **Ubuntu**, tente executar o comando usando `sudo`. Depois de instalar o `http-server`, você está pronto para rodar o projeto!
A partir daí basta digitar o seguinte comando no terminal:
```bash
http-server
```
Ele mostrará em que URL o código será executado, então, você só precisa abrir a URL em seu navegador:

## 📋 Relatório de post mortem
1. **Maiores desafios, erros e aprendizados**
- Dividir as tarefas entre os membros da equipe
- Representar os algoritmos de busca visualmente (nos deparamos com diversos erros durante esse processo)
- Definir a arquitetura do projeto
2. **Divisão do trabalho em grupo**
- Menu, mapa e movimentação do agente: Williams
- Algoritmos de busca: Guilherme, Mateus, Williams e Lucca
- Refatoração do código: Guilherme, Mateus e Lucca
3. **Arquitetura e tecnologias utilizadas**
- [p5.js](https://p5js.org/)
- [Prettier](https://prettier.io/)
- [GitHub](https://github.com/)
- [GitHub Pages](https://pages.github.com/)
- [http-server](https://www.npmjs.com/package/http-server)
## 👥 Grupo
- [Guilherme Morone (gma2)](https://github.com/guimorone)
- [Mateus Elias de Andrade Pereira (meap)](https://github.com/mateuseap)
- [Lucca Morosini Gioia (lmg2)](https://github.com/LuccaMorosiniGioia)
- [Williams Santiago (wssf)](https://github.com/wssantiago)