Sobre o projeto

Reinfors é um framework de aprendizado por reforço que executa simulação de jogos, busca em árvore, orquestração de episódios e montagem de lotes em um backend Rust paralelo. A fronteira entre o motor Rust e o usuário é um callback de inferência: ele recebe observações NumPy agrupadas e retorna saídas do modelo, deixando a arquitetura da rede, o framework de treinamento, o otimizador, o buffer de replay, a alocação de hardware e a topologia distribuída inteiramente sob o controle do chamador. A biblioteca inclui um amplo catálogo de jogos que abrange tarefas com um ou múltiplos agentes, de soma zero, cooperativas e de soma geral, com suporte a decisões em turnos ou simultâneas, eventos de chance explícitos e informações perfeitas e imperfeitas. Os algoritmos abrangem aprendizado de valor orientado por política, aprendizado guiado por busca e métodos autônomos de solução da teoria dos jogos. A instalação é feita via pip com pip install reinfors, com extras opcionais para adaptadores Gymnasium/PettingZoo (reinfors[gym]) e exemplos de treinamento com PyTorch (reinfors[train]). Um exemplo simples cria um motor de Connect4 e coleta lotes de treinamento fornecendo uma função de inferência. Benchmarks mostram ganhos significativos de desempenho em relação a bibliotecas de RL puramente em Python, como Gymnasium, com speedups relatados de aproximadamente 14-20x na execução de ambientes em thread única. O Reinfors também busca um equilíbrio prático entre desempenho de simulação nativa e modularidade para ampla experimentação em jogos, algoritmos, redes e configurações de implantação. O projeto é pré-1.0, o que significa que APIs, comportamentos e formatos serializados podem mudar entre versões 0.x sem avisos de depreciação. Recomenda-se aos usuários fixar versões exatas e consultar as notas de versão ao atualizar. Ele tem licenciamento duplo sob MIT e Apache-2.0.