Après avoir joué beaucoup trop d'Angry Birds, j'ai commencé à observer mes propres stratégies. Il s'avère que j'ai développé une approche très spécifique pour obtenir 3 étoiles à chaque niveau.
Cela m'a fait me questionner sur les défis du développement d'un système d'apprentissage automatique capable de jouer à Angry Birds. Interagir avec le jeu et lancer les oiseaux est trivial. Mais une question que je me posais concerne les «éléments constitutifs» du système.
Les systèmes d'apprentissage automatique semblent fonctionner avec des concepts simples ou une compréhension du problème. Ceci est souvent encodé en tant que fonctionnalités comme entrées. Il semble donc que le système doive avoir la capacité de comprendre certains concepts de haut niveau pour générer une stratégie.
Est-ce vrai? En outre, quels sont les défis ou les parties difficiles de l'élaboration d'un tel système?
EDIT # 1:
Voici quelques éclaircissements. Obtenir 3 étoiles est un problème difficile car il faut maximiser les points. Cela peut se faire de deux manières non exclusives: 1) Minimiser le nombre d'oiseaux utilisés (vous obtenez 10 000 points pour chaque oiseau non utilisé). 2) Maximisé la destruction du verre, du bois et d'autres objets. Chaque objet détruit vous rapporte des points. Il est possible de détruire plus de 10 000 points d'objets avec un seul oiseau.
Voici un peu plus d'explications sur les "concepts de haut niveau". Afin de maximiser les points décrits ci-dessus, vous devez utiliser les pouvoirs spéciaux de chaque oiseau. Cela signifie donc lancer différents oiseaux avec des trajectoires différentes, selon la disposition de la carte. Et, tout en jouant, je développe une stratégie qui détruit certaines zones avec certains oiseaux dans un certain ordre.
Il semble que sans comprendre comment utiliser chaque oiseau pour détruire une zone spécifique, le système ne pourrait pas apprendre à obtenir 3 étoiles. Alors, comment gérez-vous et encodez-vous quelque chose comme ça? Comment vous assurez-vous que le système peut apprendre ces concepts de haut niveau?