Você está na página 1de 5

Curso Técnico de Gestão e

Programação de Sistemas
Informáticos

Relatório
PAP Semana 8 à 22Mar – 26Mar

Miguel Augusto e Simão Fonseca

Março, 2021
Índice
1.Introdução................................................................................................................................ 3
2.Pesquisa.................................................................................................................................... 3
3.Desenvolvimento feito............................................................................................................. 3
4.Conclusão.................................................................................................................................. 4

2
1.Introdução
Na oitava semana, conseguimos por em prática o algoritmo de inteligência artificial da
Keras, nomeadamente keras-rl2, num ambiente teste da OpenAI Gym.

Assim como, mais avanços em termos de pesquisa foi feita para aplicar tornar o nosso
clone de 2048 num ambiente, apartir da OpenAI gym, disponível para instalar na
github como código open-source.

2.Pesquisa
Como foi concluído o nosso código para utilizar o algoritmo que escolhemos foi
necessária mais pesquisa em como tornar o nosso jogo num ambiente que o nosso
código possa reconhecer e retirar a informação que necessita para fornecer ao
algoritmo.
Nós encontramos tutoriais e código exemplo como este:
https://github.com/nicknochnack/OpenAI-Reinforcement-Learning-with-Custom-
Environment
Que utiliza o mesmo algoritmo que o nosso, mas é um ambiente que simula um
chuveiro e a temperatura da água precisa de ser regulada pela I.A.
Em conjunto com tutoriais disponíveis no Youtube e fóruns como Stackoverflow este objetivo
vai ser mais simples de concretizar.

4.Desenvolvimento feito
Desenvolvimento foi mais lento esta semana devido à apresentação ao qual foi preciso um
estudo do nosso tópico para poder ser feita uma apresentação com informação correta assim
como todos os termos técnicos em explicar o que é “Deep Q Learning” entre outros tópicos.
3
Em paralelo, conseguimos construir código que aplica a um ambiente de teste da OpenAI,
especificamente o Cartpole-v0, o algoritmo de I.A. da Keras que é baseado em Deep Q
Learning e funciona com a TensorFlow que na verdade é o que permite o treino da neural
network que por outras palavras é o cérebro da nossa I.A. a Keras apenas permite uma mais
fácil programação daí ser a nossa escolha, por outras palavras mais técnicas é uma
API(Application Programming Interface) que usa Deep neural networks como o seu algoritmo
fornecido pela Tensorflow que é basicamente a base.

Depois de pesquisar e entender a lógica por trás e com ajuda de tutoriais o nosso código
permitiu criar um programa que aprendeu a equilibrar um objeto em cima de um cart no
ambiente Cartpole-v0 da OpenAI Gym com precisão perfeita.

Este pedaço de código carrega da memória toda a informação observada no ambiente e


carrega o “dqn” que é o nosso agente, por outras palavras jogador, com base nessas mesmas
observações.

Estas observações são basicamente a quantidade de “treino” que a I.A. tem e é feito no
processo de construção inicial do agente.

4
Como é necessário treino também é necessário definir quanto é que deve ser feito e isto é
devido em steps, episodes e intervals basicamente cada episode tem um número de steps e
um interval tem um número de episodes e neste caso são ao todo 50000 steps que representa
50000 frames do jogo que são observadas, ou seja, 10000 steps por episode que faz um total
de 5 intervals.

Em conjunto também fizemos melhorias e adições ao nosso powerpoint para estar de acordo
com o nosso progresso feito apresentado em cima assim como algum estudo do tópico para
estarmos bem informados e transmitirmos informação correta e intuitiva pois vamos ter que
fazer isso para o nosso website que também vai ser desenvolvido na próxima semana.

Depois disto foi iniciado o desenvolvimento um ambiente nosso com o jogo 2048 para ser
usado da mesma maneira em vez do ambiente da OpenAI gym o Cartpole-v0.

5.Conclusão
Na semana passada prometemos um “desenrolar” do nosso projeto e na minha ótica isto foi
bem-sucedido pois foi posto em prática muito conhecimento e pesquisa que andávamos a
praticar desde a primeira semana.
Agora, da próxima semana o foco será no novo ambiente do jogo 2048 e finalmente
apresentar tudo no nosso site em forma de tutorial o que vai ser 90 % do nosso projeto
concluído por termos as partes mais técnicas e complicadas já concluídas.