Um robô AI simples mas forte para Tron / Lightriders em uma grade hexagonal

Como uma simples heurística baseada na descoberta de caminhos encontrou um caminho para o nível superior na tabela de classificação.

Gilles Vandewiele Blocked Unblock Seguir Seguindo 7 de janeiro

Um novo ano acadêmico, o que significa um novo grupo de estudantes brilhantes dando seus primeiros passos em sua carreira de engenharia. No ano passado , três dos meus colegas assistentes de curso ( Elias , Pieter e Ozan ) e eu criamos uma plataforma para uma competição de bots AI , a ser hospedada durante o curso de Informática (na qual eles aprendem a programar em Python). Este ano, decidimos sediar o jogo de Tron (às vezes chamado de serpente contínua ou Lightriders), como mostrado abaixo.

Uma implementação mais avançada do jogo Tron, chamado Armagetron

Como tanto o Riddles.io quanto o CodinGame (que você deve definitivamente verificar se você está interessado em bots do AI) também organizam uma competição de IA para o Tron, decidimos adaptar um pouco o jogo para ser jogado em uma grade hexagonal, em vez de um quadrado. Isso para evitar que os alunos copiem apenas as soluções disponíveis dessas plataformas. Uma imagem do jogo pode ser encontrada abaixo.

Uma visualização de uma correspondência entre dois bots, que perdi. As telhas coloridas mais escuras são posições iniciais.

Como no ano passado, decidi competir na competição, mas não encontrei muito tempo livre. Por isso, minha solução não foi muito forte. No entanto, acabei ficando bem no topo da classificação (5º lugar), com uma base de código mínima e uma heurística simples, baseada na descoberta de caminhos.

O top 10 do ranking final. Novamente, neste ano, ficamos impressionados com a quantidade e a qualidade de muitos agentes enviados pelos alunos.

Para discutir a minha solução, não precisarei de tanto tempo / linhas como no ano passado e, portanto, decidi adicionar algum conteúdo extra. Eu dividi este post em várias seções:

Tabela de conteúdo

  1. Regras de jogo e competição
  2. Uma visão geral detalhada da minha heurística forte (com código)
  3. Um write-up por alguns dos principais concorrentes
  4. Uma visão geral de como a plataforma de competição foi feita (post separado)