Oi Muitos de nós, especialistas na área de TI, adoramos jogar jogos - cartas, tabuleiro, computador e outros. Muitas vezes acontece que os jogos não trazem benefícios, mas eu gostaria de tudo de uma só vez - prazer, fã e conhecimento. Especialmente para você, estamos tentando inventar "jogos para programadores" que combinam tudo isso acima. Convidamos você a conhecê-los e a participar da competição de inteligência artificial Mini AI Cup # 4!
Mini AI Cups Histórico da Competição
Em 2017, lançamos o local para os campeonatos de inteligência artificial da
AI Cups , que responderam a muitos pedidos da comunidade de TI, que queriam se dedicar a tarefas semelhantes às encontradas no famoso
campeonato russo da AI Cup .
Brevemente sobre a Copa AI russa?A Russian AI Cup (RAIC) é um campeonato anual para escrever bots e inteligência artificial que lutam ferozmente no mundo virtual em vez de em seus donos. A competição ocorre desde 2012, mais de 20.000 usuários registrados que nos enviaram mais de 150.000 soluções diferentes.
Nem todo mundo pode chegar perto de carregar uma estratégia significativa com suas habilidades de programação e desenvolvimento. Além disso, os participantes exigiram concursos mais interessantes, e não uma vez por ano. Além disso, para o treinamento, eles precisam resolver mais problemas. Por esses motivos, a plataforma AI Cups foi aberta.
Em dois anos, 3.000 pessoas se inscreveram no portal, 600 das quais participaram de três mini-competições e enviaram suas próprias estratégias. Outros usuários continuam a se preparar na área restrita (concursos de treinamento) para o próximo campeonato.
Competições anteriores
Mini Copa AI # 1 / Elevadores
O primeiro campeonato de teste da Mini AI Cup foi realizado em setembro de 2017. 217 pessoas participaram. A essência do problema é a estratégia de transporte de passageiros no elevador, levando em consideração fatores que afetam o algoritmo de distribuição. Os vencedores foram Anton Kozlovsky, Denis Utkin, Daniil Nikolenko.
Mini Taça AI # 2 / AgarIO
A segunda Copa Mini AI começou em fevereiro de 2018. A tarefa era programar o bot para um jogo semelhante ao Agar.io. Foram registrados cerca de 1200 participantes, mais de 300 jogadores ativos. Os vencedores foram Alexei Dichkovsky, Andrei Tokarev, Anton Kozlovsky.
Mini AI Cup # 3 / MadCars
O campeonato começou em 30 de agosto de 2018 e foi desenvolvido com base no jogo Drive Ahead. Cada jogador recebeu um carro com um botão. A tarefa era escrever um bot que controla a máquina, cujo objetivo é pressionar o botão do inimigo mais rápido do que ele. Cada jogador tem 5 vidas.
Vencedores: Alexey Dichkovsky, Anton Kozlovsky, Alexander Kiselev
Nova competição Mini AI Cup # 4 / PaperIO

Desta vez, eles decidiram implementar um análogo do Paper.io, especializado em escrever bots. A mecânica é bastante simples, não há física. Existe apenas um campo de jogo, jogadores, regras e bônus.

Você aprenderá mais sobre isso no dia do lançamento (se contarmos agora, alguém já escreverá bots, o que não será muito honesto com os outros).
JP suportado
Tudo é padrão aqui - as soluções podem ser enviadas em qualquer linguagem de programação da lista de suportadas: C ++ 11, C ++ 14, C ++ 17, C #, Java 1.8, Kotlin, Haskell, Go, Python 2.7, Python 3.6, PHP7, Nó JS, Elixir, Rust, Scala.
Para conveniência dos participantes, além de reduzir o pico de carga no sistema de inicialização, preparamos um programa para inicialização e depuração
local -
Local Runner .

O utilitário foi escrito em Python 3.6 usando o visualizador Pyglet e vem como código-fonte. Instruções detalhadas para configurar e usar você encontrará nas regras.
Arquitetura da solução
A solução mais simples na linguagem de programação Python 3 consistirá em um único arquivo main.py. O programa cliente inicia a sessão e executa esse script no início do trabalho. O cliente esconde em si o trabalho com a rede e o tratamento de erros, é um intermediário entre a mecânica do jogo e a decisão do participante. Ele passa o JSON do mundo para o fluxo de entrada padrão (stdin) e recebe a resposta do fluxo de saída padrão (stdout) (para Python, estes são sys.stdin e sys.stdout).
Para uma operação correta, a solução deve ser iniciada com parâmetros para entrada / saída sem buffer (para Python, esse é o sinalizador -u quando o intérprete é iniciado).
A solução inicia uma vez e depois funciona em um loop infinito. Não é necessário
lidar com uma parada; no final do jogo, o
dockerd desligará todos os contêineres. Dentro do loop, o processamento de E / S é executado, o JSON é processado e o manipulador principal é chamado.
Exemplos de estratégias e início rápido serão publicados no dia do lançamento.
Agenda e Presentes
Então, começamos em 18 de julho às 19:00, terminamos em 18 de agosto. Nesses intervalos, serão realizadas três rodadas, a saber:
- Teste beta (não afeta os resultados) para corrigir possíveis erros - 1 semana.
- Jogos de classificação (2 semanas).
- Jogos finais (1 semana).
Dos jogos classificados, 25% dos participantes vão para as finais. Todos os participantes qualificados para as finais receberão camisetas tradicionais.
Além disso, os melhores participantes receberão presentes valiosos:
- primeiro lugar - Apple MacBook Air;
- segundo e terceiro lugar - Apple iPad;
- quarto, quinto, sexto lugares - Samsung Gear S3.
Comunidade
Para mais diversão e diversão, participe da comunidade de
telegrama de participantes (@aicups). Já somos mais de 900 pessoas!
Boa sorte
Útil
- Um pouco sobre física em quase Agar IO em aicups.ru
- “Criando um bot em uma rede neural recorrente para participar de Mini AI Cups”
- Criando um bot para participar do mini cup AI 2018 com base em uma rede neural recorrente
- Criando um bot para participar do mini cup AI 2018 com base em uma rede neural recorrente (parte 2)
- Criando um bot para participar do mini cup da AI. Experiência GPU
- Criando um bot para participar do mini cup da AI 2018 com base em uma rede neural recorrente (parte 3)
- Mini taça ai 2 ou quase AgarIO - o que poderia ser feito para vencer
- Lançamento Mini AI Cup # 3 Batalha de carros em espaços fechados
- Mini AI Cup # 3 Escrevendo um Top Bot