Automate cellulaire créatif

Encadrants : 

Occurrences : 

2016

Nombre d'étudiants minimum: 

2

Nombre d'étudiants maximum: 

5

Nombre d'instances : 

1
 

Ce projet s’inspire d’un jeu qui permet à un ensemble d’utilisateurs de créer une oeuvre d’art de manière collective. Chaque utilisateur contrôle une portion d’un écran, mais perçoit tout l’écran. Aucune consigne n’est donnée aux utisateurs qui découvrent très vite qu’ils peuvent être collectivement créatifs.

Dans ce projet, on considèrera une version très simplifiée de ce jeu. Chaque agent contrôle un pixel de l’écran, ce qui le fait ressembler à un automate cellulaire. L’écran peut être de taille très limitée (écran 5×5 pour commencer, max. 100×100). La stratégie créative des agents consiste à tenter de se rapprocher d’une forme F telle que:

  • F est simple
  • F est proche (simple à atteindre)
  • F était éloignée (complexe à atteindre) à partir de l’état initial

La forme F prise pour cible par l’agent est celle qui réalise le meilleur compromis.

Ce projet repose sur un calcul l’inattendu utilisant la notion de complexité de Kolmogorov (K-complexité). Les agents maximisent l’inattendu structurel en cherchant à atteindre des formes produisant un saut de K-complexité (formes simples à décrire, mais a priori difficiles à atteindre).

Pour simplifier le problème dans un premier temps, on considèrera un répertoire de formes données à l’avance. De plus, dans cette approche préliminaire, tous les agents adoptent la même stratégie. On s’attend à l’émergence d’un comportement global dans lequel le système converge vers l’une formes simples, la prend comme nouvel état initial, puis converge vers une nouvelle forme simple, et ainsi de suite de manière imprévisible. Ce comportement émergent peut être vu comme une forme élémentaire de créativité.

L’étape suivante consiste a augmenter la taille de l’écran, ce qui a pour effet que les formes simples se trouvent la plupart du temps hors d’atteinte. Pour permettre à la stratégie de fonctionner, on introduira un mécanisme de localité conduisant les agents à effectuer leurs calculs avec un champ de vision limité plutôt que globalement.

Parmi les pistes pour aller plus loin, on peut imaginer de confier le contrôle de plusieurs pixels à chaque agent, de manière à se rapprocher du jeu initial.

Le projet sera réalisé en Python.

Cf. http://www.dessalles.fr/Projets/P16053001.html