Disciplina: FGA0134 - Sistemas Multiagentes
Nro do Grupo (de acordo com a Planilha de Divisão dos Grupos): 1
Frente de Pesquisa: Planning
Matrícula | Aluno |
---|---|
19/0011911 | Ciro Costa de Araújo |
19/0112123 | Lucas Gabriel Sousa Camargo Paiva |
19/0033088 | Lucas Braun Vieira Xavier |
21/1062437 | Raquel Ferreira Andrade |
Esse projeto tem como objetivo realizar a representação de um jogo de damas, em um tabuleiro 8x8, utilizando de Sistemas Multiagentes, mais especificamente utilizando do framework Jadex. Para isso foi implamentado um jogo que ocorre entre dois agentes, os quais disputam uma partida de damas.
Figura 1 - Inicio de partida.Figura 2 - Jogo em andamento.
Linguagens: Java 11
Framework: Jadex
Build e execução automatizada: Gradle 8.12
Para outros Sistemas Operacionais consulte a documentação oficial do Java e Gradle e realize a instalação nas versões indicadas
Instale o Java
sudo apt install openjdk-11-jdk -y
Execute o comando e selecione o Java 11 através da CLI
sudo update-alternatives --config java
Adicione o Java 11 as suas variáveis de ambiente
-
Primeiramente acesse seu arquivo bashrc usando seu editor de texto de preferencia, no exemplo abaixo é utilizado o Visual Studio Code
code ~/.bashrc
-
Em seguida adicione as seguintes linhas no final do arquivo bashrc, observe que não é necessário modificar outras partes relacionas a esse arquivo
# Java 11 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
Verifique sua instalação
java -version
Para facilitar a instalação do Gradle pode-se usar o SDKMAN!, o qual pode ser instalado através do comando
curl -s "https://get.sdkman.io" | bash
Em seguida, é necessário adicionar o SDKMAN! as suas variáveis de ambiente
-
Primeiramente acesse seu bashrc usando seu editor de texto de preferencia, no exemplo abaixo é utilizado o Visual Studio Code.
code ~/.bashrc
-
Em seguida adicione as seguintes linhas no final do arquivo bashrc, observe que não é necessário modificar outras partes relacionas a esse arquivo
# SDKMAN! source "$HOME/.sdkman/bin/sdkman-init.sh" #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! export SDKMAN_DIR="$HOME/.sdkman" [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
Instale o Gradle 8.12 utilizando o SDKMAN!
sdk install gradle 8.12
Por fim , verifique sua instalação
gradle --version
Após a instalação de todas dependencias do projeto, conforme indicado anteriormente, basta executar o seguinte comando para realizar o build e execução do projeto:
gradle build && gradle run
Após isso, o programa irá inicar uma interface gráfica com o Jadex Control Center e outra interface gráfica com o jogo de damas.
Arquivo de apresentação inicial
Nome do Membro | Contribuição | Significância da Contribuição para o Projeto (Excelente/Boa/Regular/Ruim/Nula) | Comprobatórios (ex. links para commits) |
---|---|---|---|
Lucas Gabriel Sousa Camargo Paiva | Ajustes no tamanho e organização do tabuleiro para o jogo de damas, modificação das peças e movimento para representar o jogo de dama, produção da implementação da lógica de estratégia de seleção de movimentos e ajustes relacionados à evolução da peça para dama, bem como movimentação especial para as peças damas. Auxílio na criação da lógica do agente Sócrates e do tabuleiro. Correção do build e execução automatizada e criação do README | Excelente | Commit associado |
Raquel Ferreira Andrade | Auxílio nos ajustes de movimento para representar o jogo de dama, da lógica de estratégia na comparação dos movimentos, e na criação da lógica do agente Sócrates, para fazer capturas. Elaboração do artigo. | Boa | Commit associado |
Ciro Costa de Araújo | Ajustes iniciais das movimentações das damas, adição dos sprites das damas e logica de mudança de peça para damas | Excelente | Commit associado |
Lucas Braun Vieira Xavier | Adição da obrigatoriedade de capturar e contribuições no ajuste do movimento das damas | Regular | Commit associado |
- Aplicação do paradigma multiagentes com foco em planning utilizando de intencionalidade para criação do planejamento do agente e entendimento inicial do uso do framework Jadex.
- Dificuldade de trabalhar com tecnologias com pouca documentação e comunidade não tão atuante. Apesar disso, foi interessante poder explorar um novo framework que implementa sistemas multiagentes de uma forma única.
- A equipe se desempenhou razoavelmente bem, porém houve uma falta de organização da equipe para desempenho de atividades semanais associadas à disciplina.
- Adição da obrigatoriedade de se tomar multiplas peças caso possível
- Adição da regra de empate ao se repetir movimentos diversas vezes
- Possibilidade de mudança de estratégias dos agentes
- Possibilidade de iniciar agentes com estratégias diferentes
- Apresentar um vencedor ao final da partida
- Adição da Sprite das casas negras do tabuleiro
[1] Active Components. Activecomponents.org. Disponível em: https://www.activecomponents.org/index.html#/project/news. Acesso em: 6 jan. 2025.