Ce référentiel contient les données des tâches ARC-AGI, ainsi qu'une interface basée sur un navigateur permettant aux humains de s'essayer à la résolution manuelle des tâches.
"ARC peut être considéré comme une référence générale en matière d'intelligence artificielle, comme une référence de synthèse de programme ou comme un test d'intelligence psychométrique. Il s'adresse à la fois aux humains et aux systèmes artificiellement intelligents qui visent à imiter une forme humaine d'intelligence fluide générale."
Une description complète de l'ensemble de données, de ses objectifs et de sa logique sous-jacente peut être trouvée dans : Sur la mesure de l'intelligence.
Pour rappel, on dit qu'un candidat résout une tâche lorsque, après avoir vu la tâche pour la première fois, il est capable de produire la grille de sortie correcte pour toutes les entrées de test de la tâche (cela inclut le choix des dimensions de la tâche de sortie). grille). Pour chaque entrée de test, le candidat a droit à 3 essais (cela vaut pour tous les candidats, qu'ils soient humains ou IA).
Le répertoire data
contient deux sous-répertoires :
data/training
: contient les fichiers de tâches pour la formation (400 tâches). Utilisez-les pour prototyper votre algorithme ou pour entraîner votre algorithme à acquérir des priorités cognitives pertinentes pour l'ARC.data/evaluation
: contient les fichiers de tâches à évaluer (400 tâches). Utilisez-les pour évaluer votre algorithme final. Pour garantir des résultats d'évaluation équitables, ne divulguez pas d'informations de l'ensemble d'évaluation dans votre algorithme (par exemple en examinant vous-même les tâches d'évaluation pendant le développement, ou en modifiant de manière répétée un algorithme tout en utilisant son score d'évaluation comme feedback).Les tâches sont stockées au format JSON. Chaque fichier JSON de tâche contient un dictionnaire avec deux champs :
"train"
: démonstration de paires entrée/sortie. Il s'agit d'une liste de « paires » (généralement 3 paires)."test"
: tester les paires entrée/sortie. Il s'agit d'une liste de « paires » (généralement 1 paire).Une « paire » est un dictionnaire comportant deux champs :
"input"
: la "grille" d'entrée pour la paire."output"
: la "grille" de sortie pour la paire.Une « grille » est une matrice rectangulaire (liste de listes) d'entiers compris entre 0 et 9 (inclus). La plus petite taille de grille possible est de 1x1 et la plus grande est de 30x30.
Lorsqu'il examine une tâche, un candidat a accès aux entrées et sorties des paires de démonstration, ainsi qu'aux entrées de la ou des paires de test. L’objectif est de construire la ou les grilles de sortie correspondant à la ou aux grilles d’entrée du test, en utilisant 3 essais pour chaque entrée du test. "Construire la grille de sortie" consiste à choisir la hauteur et la largeur de la grille de sortie, puis à remplir chaque cellule de la grille avec un symbole (entier compris entre 0 et 9, qui sont visualisés sous forme de couleurs). Seules les solutions exactes (toutes les cellules correspondent à la réponse attendue) peuvent être considérées comme correctes.
L'interface de test se trouve dans apps/testing_interface.html
. Ouvrez-le dans un navigateur Web (Chrome recommandé). Il vous demandera de sélectionner un fichier JSON de tâche.
Après avoir chargé une tâche, vous entrerez dans l’espace de test, qui ressemble à ceci :
Sur la gauche, vous verrez les paires d'entrées/sorties démontrant la nature de la tâche. Au milieu, vous verrez la grille de saisie du test actuelle. Sur la droite, vous verrez les commandes que vous pouvez utiliser pour construire la grille de sortie correspondante.
Vous avez accès aux outils suivants :
Lorsque votre grille de sortie est prête, cliquez sur le bouton vert « Soumettre ! » bouton pour vérifier votre réponse. Nous n'appliquons pas la règle des 3 essais.
Après avoir obtenu la bonne réponse pour la grille de saisie de test actuelle, vous pouvez passer à la grille de saisie de test suivante pour la tâche à l'aide du bouton « Saisie de test suivante » (s'il y en a une disponible ; la plupart des tâches n'ont qu'une seule entrée de test) .
Lorsque vous avez terminé une tâche, utilisez le bouton « Charger la tâche » pour ouvrir une nouvelle tâche.