La nuit est sombre et pleine de terreurs. Deux équipes doivent combattre l'obscurité, collecter des ressources et progresser à travers les âges. Daytime trouve une ruée désespérée pour rassembler et construire les ressources qui peuvent vous transporter toute la nuit imminente. Planifiez et développez soigneusement - toute ville qui ne produit pas suffisamment de lumière sera consommée par l'obscurité.
Bienvenue à la saison 1 du Lux AI Challenge!

Le Lux AI Challenge est un concours où les concurrents conçoivent des agents pour s'attaquer à un problème d'optimisation, de collecte de ressources et d'allocation multi-variables dans un scénario 1v1 contre d'autres concurrents. En plus de l'optimisation, les agents réussis doivent être capables d'analyser leurs adversaires et d'élaborer des politiques appropriées pour obtenir le dessus.
Pour commencer, allez dans notre section de démarrage. Le concours se déroule jusqu'au 6 décembre 2021 et les soumissions sont dues à 23h59 UTC sur la page du concours: https://www.kaggle.com/c/lux-ai-2021
Grâce à nos sponsors Quantco, J Ventures et Qaimera, nous avons un prize pool de 10 000 $ ainsi que de nombreux autres prix non monétaires cette année! Pour plus d'informations, voir https://www.lux-ai.org/sponsors-2021
Assurez-vous de rejoindre notre discorde communautaire à https://discord.gg/awjt3uacgn pour discuter, stratégie et apprendre avec d'autres concurrents! Nous publierons des annonces sur les forums Kaggle et sur la discorde.
Cela a été construit par l'équipe Lux AI Challenge, en utilisant le package Dimensions.
Les spécifications de la saison 1 peuvent être trouvées ici: https://lux-ai.org/specs-2021. Ceux-ci détaillent le fonctionnement du jeu et les règles que votre agent doit respecter.
Vous aurez besoin de node.js version 12 ou supérieure. Voir les instructions d'installation ici, vous pouvez simplement télécharger la version recommandée.
Les parties suivantes détaillent la configuration recommandée pour développer et rivaliser. Pour les utilisateurs qui souhaitent utiliser Python et Jupyter Notebooks / Kaggle Interactive Notebooks, n'hésitez pas à sauter cette section et à suivre le cahier de tutoriel
Ouvrez la ligne de commande et installez la conception de la concurrence avec
npm install -g @lux-ai/2021-challenge@latest
Vous pouvez ignorer tous les avertissements qui apparaissent, ceux-ci sont inoffensifs. Pour exécuter un match à partir de la ligne de commande (CLI), exécutez simplement
lux-ai-2021 path/to/botfile path/to/otherbotfile
Et le match s'exécutera avec quelques journaux d'erreur de journalisation et de stockage et une relecture dans un nouveau dossier errorlogs et le dossier replays . Les journaux stockés dans les erreurs d'erreur incluront toutes les sorties d'erreur et tout ce qui est imprimé à l'erreur standard par votre agent. Vous pouvez regarder la rediffusion stockée dans le dossier Remplays à l'aide de notre visualiseur. Pour regarder la rediffusion localement, suivez les instructions ici https://github.com/lux-ai-challenge/luxviewer2021/
Pour une liste complète de commandes de la CLI, exécutez
lux-ai-2021 --help
Ou accédez à la section suivante pour voir plus d'instructions sur la façon d'utiliser l'outil de ligne de commande, y compris la génération de rediffusions avec état et l'exécution de classements locaux pour l'évaluation. Vous pouvez également exécuter tout cela dans Docker en utilisant le fichier cli.sh dans ce dépôt, voir les instructions ici.
Chaque langage de programmation a un kit de démarrage, vous pouvez trouver la documentation générale de l'API ici: https://github.com/lux-ai-challenge/lux-design-2021/tree/master/kits
Le dossier Kits dans ce référentiel contient tous les kits de démarrage disponibles que vous pouvez utiliser pour commencer à concurrencer et à construire un agent d'IA et à vous montrer comment commencer avec votre langue de choix et exécuter un match avec ce bot. Nous recommandons fortement de lire la documentation pour votre langue de choix dans les liens ci-dessous
Il existe également de nombreux outils fournis par la communauté pour aider les gens
Vous voulez utiliser une autre langue mais ce n'est pas pris en charge? N'hésitez pas à suggérer cette langue à nos problèmes ou encore mieux, créez un kit de démarrage pour que la communauté puisse utiliser et faire un RP dans ce référentiel. Voir notre document contribution.md pour plus d'informations à ce sujet.
Pour rester à jour sur les modifications et les mises à jour de la compétition et du moteur, surveillez les annonces sur les forums ou la discorde. Voir https://github.com/lux-ai-challenge/lux-design-2021/blob/master/changelog.md pour un journal complet.
L'outil CLI a plusieurs options. Par exemple, une option est la graine et pour définir une graine de 100
lux-ai-2021 --seed=100 path/to/botfile path/to/otherbotfile
qui exécutera un match en utilisant la graine 100.
Vous pouvez dire à l'outil CLI de stocker les journaux d'agent ou de faire correspondre les rediffusions via --storeLogs, --storeReplay . Définissez ces options booléennes comme ainsi
# to set to true
lux-ai-2021 --statefulReplay
# to set to false
lux-ai-2021 --storeLogs=false
Par défaut, l'outil générera des replays minimums et basés sur l'action qui sont de petite taille et fonctionnent dans le visualiseur, mais il ne dispose pas d'informations d'état, par exemple des ressources sur la carte à chaque tour. Pour générer des reéplays avec état , définissez l'option --statefulReplay sur true. Pour convertir une relecture basée sur l'action en une seule fois, définissez l'option --convertToStateful en true et transmettez le fichier à convertir.
Choisissez où le fichier de relecture est stocké en paramètres --out=path/to/file.json
Vous pouvez également modifier les niveaux de journalisation en définissant --loglevel=x pour le nombre x de 0 à 4. La valeur par défaut est 2 qui imprimera à tous les avertissements et erreurs de jeu.
Vous pouvez exécuter votre propre classe / tournoi local pour évaluer plusieurs robots à la fois via
lux-ai-2021 --rankSystem="trueskill" --tournament path/to/agent1 path/to/agent2 path/to/agent3 path/to/agent4 ...
Cela exécutera un classement classé par Trueskill et imprimera les résultats en tant que table à votre console. Les agents sont automatiquement appariés avec des adversaires avec des notes similaires. Recommandé d'ajouter --storeReplay=false --storeLogs=false car la laisser fonctionner pendant longtemps générera beaucoup de rediffusions et de fichiers journaux.
Voir lux-ai-2021 --help pour plus d'options.
Cet outil correspond exactement au Lux-AI-2021, mais fonctionne sur Ubuntu 18.04, le système cible utilisé par les serveurs de compétition. Assurez-vous d'installer d'abord Docker
Pour utiliser ensuite l'outil CLI Lux-AI-2021, appelez simplement bash cli.sh et il acceptera les mêmes arguments exacts. Lors de la première exécution, il créera une image Docker et exécutera un conteneur en arrière-plan. Les courses futures seront alors beaucoup plus rapides. De plus, cela utilise un support de liaison, vous pouvez donc modifier les fichiers localement sur votre ordinateur et ils seront reflétés dans le conteneur Docker et vice versa.
La seule mise en garde de cet outil est qu'elle n'a pas accès aux fichiers dans les répertoires au-dessus du répertoire de travail actuel (la sortie de la commande pwd ).
De plus, cet outil n'héritera pas des mêmes packages Python installés sur votre ordinateur. Pour ajouter des packages, veuillez télécharger le dockerfile à partir de ce dépôt dans le même répertoire que le fichier cli.sh et ajouter des commandes d'installation comme ainsi au bas du fichier
RUN pip3 install <package_name>
Après avoir changé le dockerfile, exécutez bash cli.sh clean pour nettoyer les anciens trucs Docker, puis utilisez cli.sh comme d'habitude.
Ceci est une liste de tous les outils communautaires construits par notre communauté!
Voir le guide sur la contribution
Conception originale de la saison 1 conçue par Bovard et Stone
Conception d'interface utilisateur / UX par Isa
Avec l'aide de test d'équilibre de David
Nous tenons à remercier nos 3 sponsors, Quantco, J Ventures et Qaimera cette année de nous avoir permis de fournir un prize pool et des opportunités passionnantes à nos concurrents! Pour plus d'informations sur eux, consultez-les ici: https://www.lux-ai.org/sponsors-2021
Si vous utilisez l'environnement Lux AI Saison 1 dans votre travail, veuillez citer ce référentiel comme ça
@software{Lux_AI_Challenge_S1,
author = {Doerschuk-Tiberi, Bovard and Tao, Stone},
month = {7},
title = {{Lux AI Challenge Season 1}},
url = {https://github.com/Lux-AI-Challenge/Lux-Design-2021},
version = {1.0.0},
year = {2021}
}