Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aprendendo a agir: desenvolvendo uma IA em Java...

Aprendendo a agir: desenvolvendo uma IA em Javascript para resolver jogos

Muitas vezes ao jogar video games pensamos "como é feita a programação do nosso oponente?", "que tipo de código será que usaram aqui" e "será que dá pra montar um algoritmo que jogue este jogo?".

Nesta palestra irei mostrar como surgiram e como montar alguns algoritmos de resolução desses jogos utilizando técnicas de IA como Machine Learning e Automated Planning para "jogar" alguns jogos com o Javascript.

Daniel Baptista Dias

November 30, 2019
Tweet

More Decks by Daniel Baptista Dias

Other Decks in Programming

Transcript

  1. Engenheiro de Software na Resultados Digitais Mestre em Ciência da

    Computação (foco em IA) pela USP Quem sou?
  2. Engenheiro de Software na Resultados Digitais Mestre em Ciência da

    Computação (foco em IA) pela USP Pai coruja / zumbi Quem sou?
  3. Ação: conjunto de ações possíveis para um agente Mover para

    cima Mover para direita Mover para baixo Mover para esquerda
  4. Modelo de transição: Momento 1 Momento 2 define a transição

    de um estado para outro, dado uma ação Mover para esquerda
  5. ...

  6. ...

  7. Algoritmos de busca • A* • Busca em profundidade •

    Busca em largura • Buscas informadas por heurísticas https://qiao.github.io/PathFinding.js/visual/
  8. Pontos a pensar • Sokoban é semelhante ao Xadrez (combinações

    de cenário possíveis) • Possui "deadlocks" • Precisa de muitas ações em seguida para ganhar uma partida (> 100) • Mas… pode ser um modelo explicável !