Index Berger's Works| HOME DICCAN

22es Journées de l’Association Francophone d’Informatique Graphique, Arles 2009

Art, algorithmes, autonomie. Programmer l’imprévisible.

Pierre Berger
Artiste numérique

Abstract

La création artistique doit, pour mériter ce nom :

- faire émerger de l’inédit, de l’original, donc de l’imprévu, 

- éveiller chez le spectateur une « résonance » : plaisir, émotion, sens ; les arts se hiérarchisent en fonction du niveau de cette résonance; le grand art se concentre sur les capacités les plus élevées du spectateur, qu’il s’agisse de catégories intellectuelles (art conceptuel), politiques (art engagé) ou mystiques (art sacré) ; les autres arts, ou le design visent des satisfactions plus ordinaire (évocation de souvenirs plaisants, états d’âme agréables ou reposants) ; plus les arts sont « mineurs » d’ailleurs, moins l’originalité a d’importance. 

Tant l’inédit que la résonance, sauf aux plus bas niveaux, semblent radicalement impossibles à programmer. Nos expériences avec le logiciel Roxame ont cependant ouvert quelques voies et donné quelques résultats qui justifient la poursuite de ces recherches, que l’on peut considérer comme un cas particulier d’intelligence artificielle. Une partie des résultats sont communicables à tout artiste qui le souhaite, y compris sous forme de codes. L’association Les Algoristes a pour vocation de faciliter les échanges et si possible de les concrétiser dans des projets collectifs.

1.  Introduction

Aider l’artiste a créer en lui donnant des outils puissants. Lui ouvrir de nouveaux espaces avec le multimédia et les réseaux… nul n’y trouve à redire, sinon les nostalgiques du temps passé. En revanche, demander à un ordinateur, un robot ou un programme de se comporter comme un artiste, voilà un projet qui dérange, pour toutes sortes de raisons. L’art, c’est en quelque sorte le dernier refuge de l’humain dans notre monde de machines, l’artiste est le héros qui nous préserve de la robotisation générale et globalisante du monde. Un « système artiste », c’est une grenade lancée dans le dernier bunker de la résistance au réductionnisme voire du post-humanisme. C’est un saut dans l’ « uncanny valley » qui sépare les machines des humains. Les opposants lancent :

- si c’est automatique (même, parfois, informatique), ce n’est pas de l’art
- c’est impossible
- c’est ridicule et sans intérêt, voyez Boronali
- c’est scandaleux : les artistes ont déjà bien du mal à vivre ; si l’on crée des robots pour les concurrencer, où irons-nous ! (je n’invente rien).

Nous avons choisi d’explorer cette piste. Le projet, commencé il y dix ans, vise à réaliser un « système artiste », comme on disait un « système expert », créant des œuvres sans intervention humaine et en particulier de son auteur. Le projet a réussi dans une certaine mesure : d’une part il a souvent surpris son auteur (et pas seulement pas ses bogues), d’autre part il a produit des œuvres suffisamment présentables pour être acceptées dans des salons d’arts plastiques.

Les résultats, modestes, permettent d’avancer que ce n’est pas tout à fait impossible. Mais surtout, et c’est le thème de cet exposé, d’en voir un peu mieux le « comment ».  

2 L’inédit, l’incertain, l’imprévisible

 Ecoutons un socioloque qui vient de consacrer un lourd ouvrage à la création artistique[: L’hypothèse de départ est donc simple : le travail artistique est modelé par l’incertitude. L’activité de l’artiste chemine selon un cours incertain, et son terme n’est ni défini ni assuré. Si elle était programmable, elle dériverait d’une bonne spécification des problèmes à résoudre, de consignes précises à respecter, de connaissances à mettre en œuvre sans difficulté, de règles bien définies de choix et d’optimisation des choix à respecter. Et son évaluation serait aisée, parce que le résultat pourrait être rapporté au but  qui était spécifié par une programmation efficace de l’action. Mais c’est l’incertitude sur le cours de l’activité et son résultat qui est la condition de l’invention originale et de l’innovation à plus longue portée.  [Menger] 

Comment programmer l’incertain ? Le moyen qui vient le premier à l’esprit est l’appel au hasard.  Qu’est-ce à dire ? La définition de Wikepedia convient tout à fait à notre propos « Dans le langage ordinaire, le mot hasard est utilisé pour exprimer un manque apparent, sinon de causes, au moins de connaissance des causes d'un événement…Dans une perspective déterministe, la notion de hasard est uniquement liée à l'incapacité à appréhender complètement certains phénomènes dans leur complexité naturelle et donc à les prévoir infailliblement. »

Tout le sel de la question tient dans le mot « naturel ». Que peut-être la « nature » pour un système informatique ?

Ce peut d’abord être tout simplement les défauts ou les irrégularités même du système matériel et du logiciel, d’autant plus incertaines qu’il est grand et qu’il incorpore de vastes volumes d’algorithmes et de fichiers ; d’où l’importance des procédures try/catch, par exemple ; ce peut être l’état de l’horloge système, au centième de seconde, peu prévisible pour un programme de niveau élevé qui marche sur un cycle de plusieurs secondes au moins. D’où, pour les systèmes où la sûreté de fonctionnement est critique, les techniques de fault-tolerance.  Et n’oublions pas les virus, une source fondamentale d’aléas. Il est dommage que l’on n’ait pas réussi à les utiliser de manière intéressante (bien qu’il y ait quelques exemples d’ « art viral »).

Ce peut ensuite être l’environnement extérieur, non contrôlé par l’ordinateur : lecture de luminosités, de température, micros et caméra. Une solution radicale est proposée par le CERN avec ses modules Quantis, disponibles sous forme d’une clé USB. 

Ce peut être tout simplement des algorithmes génératifs dont la complexité dépasse la capacité normale d’appréhension d’un être humain ; c’est le cas  des algorithmes de pseudo-hasard : ils sont faciles à écrire, mais un être humain ne peut pas faire les opérations correspondantes, en tous cas dans un temps raisonnable. Et, dans bien des cas (mais pas toujours), ils suffisent à générer un hasard dont les régularités inévitables resteront imprévisibles.

Ce peut être des ressources internes en quantité suffisante pour personne, ni même le créateur du système : images, vidéos, musique, textes, voire « données » au sens traditionnel du terme (tableaux de chiffre sur l’économie, par exemple, ou pourquoi pas sur le cours  mondial des œuvres d’art…). Et l’on va pratiquement à l’infini si ces ressources peuvent se trouver sur Internet, ou si les systèmes sont interactifs.

Enfin, on finira peut-être par repérer, voire mesurer et modéliser ce qu’on pourrait appeler la relativité digitale, ou une sorte de principe d’incertitude à la Heisenberg ou Gödel, qui atteindrait tout système au-delà d’une certaine dimension, et même sans faire intervenir les limites de capacité (bruit de calcul dans les filtres, voir par exemple le classique [Bellanger]), de fiabilité des matériels, ou les aléas consubstantiels aux machines quantiques. Voir ici par exemple Bailly et Longo,  qui appellent de leurs vœux un « grand théorème négatif » [Bailly] 

On pourrait ici se référer aux  automates finis, dont l’effet sur l’extérieur pour s’exprimer sous la forme   O = f(I,E) : les sorties sont fonction des entrées et de l’état du système. L’imprévisibilité de la sortie, ce que perçoit le spectateur, peut venir

- des entrées extérieures, de « la nature », du web, ou d’un module quantique de hasard
- de l’état du système ; on considère souvent l’espace des états comme assez petit, pour en faire de jolis diagrammes ; mais si l’on considére que l’état E est le contenu global de l’ensemble du système, il peut devenir énorme, incorporant toutes sortes de ressources
- de la fonction f elle-même, qui peut être aussi complexe que le permet la taille du système.

 3 La résonance

Trouver de l’incertain n’est donc  pas un problème. Il suffit d’allumer son téléviseur sans brancher d’antenne !  Ce qui compte, c’est générer de l’imprévisible intéressant, qui évoque en nous une résonance plaisante, ou « édifiante ». Autrement dit, pour ne pas employer le mot « beau » qui est actuellement strictement tabou, il faut élaborer des critères esthétiques programmables.

Où les trouver, et comment les programmer ? Pour les arts plastiques, la critique technique, analytique, a radicalement disparu. Il y a un crise de la critique comme un crise de l’art (la littérature est très vaste, voir [Jimenez][Miller] entre bien d’autres). Il ne subsiste que le binaire « j’aime/j’aime pas » du comment des mortels, qui se traduit dans la presse par « j’en parle/je n’en parle pas ». A fortiori, les critères quantitatifs sont exclus… sauf la cote des œuvres et des artistes dans les grandes ventes. [marché de l’art].

Or le développement des appareils de photo numériques, par exemple, ne cessent d’intégrer des critères esthétiques à leur fonctionnement :
- le net est meilleur que le flou : donc, autofocus et anti-secousses,
- les couleurs ne doivent pas avoir de dominante ou d’écarts trop sensibles avec la normale : donc, correction automatique des blancs,
- une photo doit être bien cadrée : donc, détection de la face et cadrage automatique,
- un visage souriant est plus plaisant qu’un visage triste ou fermé : donc, détection du sourir
- … 

N’en déplaise aux esthètes et aux théoriciens, il est donc possible de programmer quelques règles de base. Roxame nous a conduit, empiriquement, à mettre au point un « optimum de complexité » rudimentaire. Nous n’entrerons pas ici dans les vastes débats que ce terme implique (voir entre autre [Aho], [Delahaye] ou, sur un autre terrain, La méthode d’Edgar Morin). Nous nous contentons de compter le nombre de pixels qui diffèrent de leurs voisins à droite et au dessus. L’expérience montre que deux tiers de pixels différents donnent les meilleurs résultats à un niveau intermédiaire de l’œuvre (avant les phases de dégradé et de rendu).

Mais quand, dans quelle phase du processus appliquer ces règles ?

Application ex-ante

La première solution est d’appliquer des critères au début du processus, au plus près de la naissance du flux aléatoire. Nous pouvons distinguer plusieurs approches complémentaires.

La première consiste à partir d’un flux aléatoire, et à le cadrer, à y introduire des contraintes ; on peut par exemple générer ainsi des paraboles ; on pourrait aller sans doute très loin avec des jeux subtils de contrainte sur l’énergie (par exemple utilisés par Open CV pour trouver le contour de formes) ; si l’on part « dans la nature », choisir des endroits a priori intéressants ; qui peuvent être très variés ; on peut évidemment emmener son appareil photo dans la forêt voisine si on aime le sous-bois, dans la chambre de sa meilleure copine si on aime les « académies » (et qu’elle aime aussi), ou encore aller découper intelligemment des tranches de roche dans certaines carrières italiennes (paesinas);  ces méthodes incluent en pratique des règles plus ou moins explicites de cadrage dans le temps et dans l’espace.

On peut considérer qu’il s’agit de filtres, ce qui a l’avantage donner accès à l’abondante littérature de ce domaine. Mais la simplicité apparente du concept est d’ailleurs un peu trompeuse, tant il peut être étendu, des la bonnes vieille « bonettes » de la  photographie d’hier jusqu’au traitement du signal et finalement à tout le traitement d’images ; le concept ne fait pas problème quand le filtre est d’ordre limité, appliquant une transformation simple pixel par pixel (filtre sans mémoire) ; il peut devenir très complexe, avec les convolutions et déconvolutions, les opérations morphogéométriques etc. Cela suppose que le filtre a une mémoire de plus en plus grande, pour travailler sur des groupes de pixels importants ; si l’on poursuit, la mémoire du filtre s’étent à la limite à l’ensemble du système

Exemples de synth dans Rox.

La deuxième solution ex ante consiste à projeter le flux aléatoire dans une panoplie d’algorithmes génératifs, le hasard intervenant alors pour choisir parmi ces algorithmes (formes, couleurs) et les paramètres qui les régissent ; on peut même faire aller le hasard un peu en profondeur, par exemple pour donner un caractètre « naturel » à un tracé de trait.  Citons parmi les auteurs : Cohen( Aaron) [Cohen] pour la couleur , Ducrocq (Calliope)[Ducrocq] pour le texte et la pixelisation des  images.

Plutôt que de filtre, on pourrait décrire cette solution comme la projection du flux aléatoire dans un jeu de prismes et de mécanismes. En pratique, c’est le jeu algorithmique qui se déroule, et qui fait appel, au moment opportun, aux bits suivants du flux aléatoire.

//dessin de l’alternance

Ces algorithmes, ces processus, impliquent toujours peu ou prou des paramètres numériques. Le point est en général masqué par les artistes eux-mêmes, qui aiment rarement les nombres, ou qui préfèrent garder leurs secrets de fabrique. Quand on a cité les proportions simples de petits entiers et le nombre d’or, on a pratiquement tout dit. En fait, dès que l’on creuse, on trouve un grand nombre de paramètres appliqués plus ou moins explicitement (nombre d’itérations d’une boucle, relation à la taille de l’écran, etc), aux formes et aux couleur,  aux positions et aux proportions et, dès qu’il s’agit d’œuvres animées ou interactives, aux durées et aux rythmes.

Form quad color enviro
Parameter position size, proportion, épaisseur, orietatnion, style
Blend mode, clip
Ubris, mood 
generator
gradation
texture 
service 
print, comment, cond, list, loop

Application ex_post  

Cette approche est symétrique de la précédente. On laisse le processus génératif avancer et on évaluer le résultat. A minima, on attend la fin de l’œuvre, et on la considère comme bonne ou mauvaise. On programme le « j’aime, j’aime pas ». Un peu plus finement, on procède à un classement (ranking) et on détruit, met de côté, met en avant ou diffuse en fonction du classement. Rien n’empêche d’avoir plusieurs systèmes d’évaluation, correspondant à différents types de « goût » pour ne pas dire de « marché ».

Parmi les différents critères que nous avons testé, la « complexité » citée plus hapouut est très efficace en fin d’œuvre. Par exemple, si on lance le programme tourner de façon autonome et donc générer un grand nombre d’œuvres (mettons une centaine au cours d’une nuit),  il est intéressant de mettre d’emblée de côté les images toutes blanches ou toutes noires. En revanche, il faut appliquer ici le critère des deux tiers en finesse, car des algorithmes de rendu peuvent fortement rapprocher des 100%, et certaines formes de stylisation peuvent au contraire en envoyer.

Parmi les autres critères que nous avons testés, citons :

- le cadrage plus ou moins correct des parties intéressantes de l’image,
- l’emploi plus ou moins complet de l’espace des couleurs  (HSV, RGB) : variété de la palette, couverture correcte de la gamme des tons, saturations et valeurs,
- la richesse sémantique.

Le dernier point n’a été qu’effleuré, mais c’est pourtant le plus prometteur, surtout pour les arts plastiques. En effet, en général, un spectateur apprécie d’autant plus une œuvre qu’elle évoque pour lui des objets connus, qu’il « y voit quelque chose » (Ce n’est pas bon quand « on n’y voit rien », selon le titre d’un ouvrage récent [Arasse]).

Ce critère sémantique était hors de portée tant que les algorithmes de vision restaient lourds et peu efficaces. Ils  deviennent aujourd’hui faciles d’accès (par exemple avec Open CV), et se répandent jusque dans les machines de jeu (Nintendo DSi par exemple, avec des applications impressionnantes bien que ludiques). Il est d’autant plus intéressant qu’il permet entre images et texte une relation symétrique de la relation de génération d’images par un programme. Il sera intéressant de développer (ou de voir apparaître) des logiciels de description d’image, qui pourront inclure des volets d’évaluation. Ces descriptions auront, pour la création artistique, un double avantage :

- elles ne seront pas influencées par la subjectivité des critiques ou la servilité incontournable des revues d’art par rapport au marché et aux galeries en particulier,
- étant formalisées par construction, elles entreront naturellement dans les bouclages cybernétiques dont nous parlerons plus loin.

Au-delà de la sémantique « froide » (mots évoqués par une image), se profile une sémantique « chaude », avec ses émotions, ses intentions (et donc les difficultés rencontrées à les réaliser) et même ses motivations. Ces termes, pour le moins étrangers au paradigme informatique traditionnel, sont maintenant utilisés de manière opérationnelle par les roboticiens. Voir par exemple [Bisognin] pour l’émotion,  [Clodic] pour l’intention, avec un commentaire par la philosophe [Pacherie] et même [McFarland] pour la motivation). Nous n’en avons pas exploré les possiblités dans Roxame, mais la représentation artistique des émotions devient un domaine substantiel de développement. Les robots en sont souvent le support, soit matériellement pour étudier l’importance des expressions dans le dialogue homme-machine

Mais pourquoi attendre la fin de cycle de création d’une œuvre pour l’évaluer ? Il est souvent intéressant d’évaluer la création en cours de route, et de créer ainsi une boucle essais-correction visant cybernétiquement une valeur cible, par exemple la complexité, particulièrement facile à encadrer par des panoplies d’algorithmes de « complexification » ou de simplification.

Exemples de algo et image

Ces méthodes peuvent être combinées, notamment dans l’ « art génératif » [Lioret] inspirés tant par la recherche opérationnelle [Siarry] que par la modélisation de la vie et des processus darwiniens de combinaison aléatoire et de sélection (les critères de « fitness » jouant le rôle de critères « esthétique ») [Bret][Whitelaw]. Citons aussi, pour honorer l’histoire, les démarches de [Schillinger]. 

Mesure, M et ses paramètres histo 
critique
Détection, reconnaissance
Segmentation, classification

4.  Structurer pour mieux surprendre

Dès que ressources et règles prennent un peu d’ampleur, il devient indispensable de les organiser dans une architecture, un ensemble de structures. La montée vers de véritables résonances inédites passe par la construction progressive de « systèmes » qui développent leur complexité de manière de plus en plus puissante, structurée,  Dans ce développement,  les systèmes deviennent à la fois de plus en plus aléatoires (au sens du hasard ci-dessus) et de plus en plus « intéressants » parce qu’ils ne révèlent pas les évolutions plus ou moins browniennes d’un dispositif simpliste mais l’évolution et le comportement structuré d’ « êtres » (par exemple des « painting beings », selon [Lioret]).

La première structure est la séquence qui conduit du début de l’œuvre, de la « page blanche » à l’œuvre achevée (en tous cas pour les créations plastiques traditionnelles ; pour les œuvres de performance, on pourrait dire « de processus », il y a au départ la structuration même du fonctionnement de l’œuvre).

Cette séquence n’est pas réversible. Il peut y avoir des retours en arrière, des repentirs (undo/redo), mais l’on va toujours en complexité croissante. Typiquement une œuvre peinte commence par la construction d’un modèle, d’une construction générale (composition au sens traditionnel, que l’on pourrait décrire comme la construction d’un complexe simplicial) , qui s’affine et se précise (esquisse, passage aux formes complètes ), assemble éventuellement des composants de plusieurs origines (compositing) et se termine par un rendu, une touche finale, avec les textures et les éclairages (rendering).

Cette linéarité abrite des boucles, par exemple :
- les itérations d’opérations sur l’ensemble des pixels ou autres éléments concernés
- la répétition d’opérations globales jusqu’à obtention d’un certain résultat, par exemple l’application répétitive d’un filtre « médian » pour réduire la « complexité » d’une photo d’origine.

Mais les séquences elles-mêmes s’inscrivent dans une série de boucles de plus en plus larges.
- le cycle de l’horloge matérielle (quartz), véritable « moteur digital » de l’ensemble
- le cycle de base du processeur
- les cycles du système d’exploitation avec sa gestion des messages (qui comporte sa part d’aléatoire pour un programme déterminé)
- les cycles introduits par le programmeur (timers et leurs variantes, comme le runnable en Java, le draw en Processing)
- éventuellement des cycles propres à certains objets avec leur propre timer
- des boucles d’interaction immédiate avec l’extérieur (chargement du flux d’images de la webcam), avec lequel on peut d’ailleurs s’amuser à faire des effets comme le Larsen optique, que l’on pourrait plus ou moins sémantiser,
- pour les œuvres de type « cinéma », le cycle essentiel du flot d’images vers l’écran
- enfin le cycle global de création d’une œuvre.

Comment organiser tout cela ? Au niveau le plus global, s’affrontent deux types d’architectures, défendues parfois avec passion par certains artistes (et plus généralement par certains informaticiens) :

- des architecture « centralisées »,  hiérarchisées sous l’autorité d’un processeur principal ; ces architectures jacobines vont de pair avec une programmation de style impératif ; cela  n’exclut pas des jeux de finesse dans les relations entre niveaux hiérarchiques comme entre les deux jeux d’algorithmes amont (génératifs) et aval (sélectifs) ; dans le domaine des algoristes, c’est l’orientation principale de Roxame, par exemple ;

- des architectures « connexionnistes », à base de neurones, d’agents, voire de virus et d’entités « vivantes »  ; la programmation a un style déclaratif ; le ou les moteurs se chargent de générer des processus à partir des contenus et des entrées ; ici, on ne préjuge pas des flux et des constructions temporaires qui vont s’élaborer dans le déroulement des processus, on est particulièrement intéressé par les modèles biologiques ; dans notre domaine, c’est l’orientation principale de Bret ou Lioret, par exemple ; ces systèmes sont à la fois assez imprévisibles et assez « robustes »  pour donner des résultats séduisants. Michel Bret suggère même un critère esthétique tout à fait spécifique : l’équilibre entre les flux amont et aval dans le réseau neuronal.

D’esprit opposé, ces deux approches peuvent  se combiner. Dans un système robotique, par exemple, il peut être opportun de se contenter d’algorithmes impératifs à bas niveau (pilotage élémentaire des moteurs) et de faire en revanche un large appel au connexionnisme au niveau le plus élevé, celui des intentions et des émotions.

Les développeurs peuvent ici trouver des inspirations aussi bien ches les roboticiens que chez les psycho-sociologues, qui recourent de plus en plus aux mêmes concepts : comportements, hiérarchies, langages. (Comparer par exemple [Kaufmann] et [Mourioux]). Noter que, sur les architectures de robots, il n’existe pas actuellement, à notre connaissance, de bon ouvrage de synthèse, ni en français, ni en anglais). On ne peut omettre l’étonnant [Kaplan] , montrant que des robots peuvent aller jusqu’à construire leur propre langage pour communiquer entre eux.

5. Le dictionnaire, une forme d’architecture

Roxame a eu besoin, dès le départ, d’une forme de scripts pour écrire des processus de création, des styles, en quelque sorte. Le premier germe (1990, Turbo C) se limitait à quelques lettres saisies en ligne de commande 

- h pour une ligne bleue horizontale (ordonnée aléatoire)
- v pour une ligne rouge verticale (abscisse aléatoire)
- c pour un cercle jaune
- r pour un rectangle vert
- une série de lettres pour des opérations morphogéométriques (e,g, w, x, X, z Z).

Puis on a été vers la généricité et l’orthogonalité, pour rendre indépendants formes et couleurs, puis formes et positions… Il est toujours possible de faire fonctionner le programme de cette façon :

h h v v red paint circle green rectangle

Le système s’enrichissant, il devenait indispensable de pouvoir stocker de tels « scripts », et de pouvoir les appeler à la demande, soit en ligne de commande, soit en fonctionnement autonome répétitif. D’où l’idée d’un fichier persistant de chaînes de caractères, puis finalement d’un dictionnaire, assorti de catégories syntaxiques pour en diversifier l’analyse par un petit parser.

Dans le cas particulier de Roxame, au fil de son développement, le dictionnaire a fini par jouer un rôle central. La boucle principale de fonctionnement ne fait pratiquement qu’y renvoyer

void draw() {
if ((isenpause == false)){  Ddo(wordtobedone);   Affich(); }

Le premier wordtobedone est la session a_day , qui lance une boucle d’exécution de work, chaque work commençant par une mise en place d’en environnemnt de base (page blanche, couleur terre de sienne, etc.), exécution proprement dite, action, puis phases terminales : nommage de l’œuvre, stockage d’un fichier de description pouvant contenir une analyse critique assez étoffée), stockage de l’œuvre proprement dite.

L’intérêt d’une tel dictionnaire est de
- tout rattacher à un objet unique,  
- structuré pour être accessible,
- accessible aussi aléatoirement que l’on veut,
- (en général) facile à lire par un être humain, notamment par l’ordre alphabétique
- lisible par l’ordinateur (sauf des commentaires),
- hiérarchique puisque le mot peut être une macro-instruction.
- mais tout de même en quelque sorte « non structuré » hiérarchiquement, puisqu’on peut y accéder en n’importe quel point ; et qu’on peut d’ailleurs y créer toute sortes de boucles (mais pour l’instant il n’y a pas de structures de contrôle à proprement parler),
- enrichissable indéfiniment de manière simple et « déclarative ».

La suite des développements nous a conduit à mettre en place des structures annexes, notamment pour faire des présentations, ou pour écrire sous forme séparée des scripts trop longs pour tenir commodément dans une macro-instructions.

Le dictionnaire donne aussi un accès direct à des ressources internes, actuellement des images et des textes quelconques, pourquoi pas bientôt des ressources Internet.  

Cela fait encore un langage de plus… pourquoi ne pas se satisfaire des  nombreux langages disponibles ? Ce point n’est pas critique pour nous (et de meilleures solutions naîtront sans doute des réflexions des Algoristes).

6. Boucles externes : développement et monde de l’Art

Tout artiste fonctionne en boucle : création, présentation au public, reconnaissance et critique par ce public, changement (progrès ou simplement exploration de nouveaux domaines) du projet créatif.

Dans le cas d’un système autonome, la boucle se dédouble.

A un premier niveau, le système produit des œuvres (ou effectue des performances) et peut tenir compte des réactions du public, de même que Google adapte ses prestations au ranking des documents ; cela peut inclure des dispositifs d’apprentissage ; l’étendue  de ce « public » est elle-même plus ou moins large, depuis le cercle de l’atelier, de l’école, des confrères, de quelques galeristes amis jusqu’au plus large marché de l’art, et à la limite, l’inscription dans le « grand récit » du progrès de l’art (si l’on est « moderne ») ou de ses évolutions non orientées (si l’on est « post-moderne »). Selon [Menger], il est dans la nature de l’art que ces boucles incluent des rétro-actions positives qui déterminent le sort des artistes et qui, dans quelques cas, les élèvent aux niveaux supérieurs de la renommée… et de la cote. Tout cela pourrait, théoriquement, s’automatiser.

A un deuxième niveau, c’est l’auteur du programme qui en poursuit le développement, ou qui en construit de nouveaux, de manière à produire toujours de l’inédit, à toujours surprendre son public :

- élargissement du catalogue des formes, des palettes, des modèles,
- accroissement des ressources internes (images, textes),
- nouveaux capteurs, nouveaux effecteurs, nouvelles interactions (en allant vers le « computer to brain » direct ?),
- affinement et diversification des critères d’évaluation, des lois esthétiques, compris en modélisant le spectateur,
- développement structurel du système (généricité, orthogonalité),
- développement du langage, du dictionnaire, des structures syntaxiques et du parser qui les accompagne.

Notons en particulier qu’une part du progrès passe par l’internalisation des ressources, par le passage du « sampling » au procédural. Voir par exemple [Ebert] pour les textures, ou le récent piano Roland V pour les timbres musicaux.

On peut déplorer que les artistes de ces spécialités travaillent le plus souvent seuls, sans trop s’intéresser aux travaux des anciens, et sans aucun souci de la postérité de leur travail. Même dans le monde spécialisé des algoristes, qui connaît les noms de Schillinger ou de Ducrocq, voire d’Howard Cohen ? Dommage, car les voies à explorer sont multiples, et plus complémentaires que concurrentes.

C’est la raison qui nous a conduit à créer, avec quelques amis, l’association Les Algoristes, reprenant le mot américain lancé par Jean-Pierre Hébert pour son groupe d’artistes américains [Algorists]. La coopération n’est pas des plus aisée : la sacralisation de l’art et les modes de fonctionnement de son marché poussent à l’individualisme des artiste, et la multiplicité des outils et des langages, de C-C++ à Lua, en passant par Java, Python, Flash, Processsing et bien d’autres, ne facilite pas les échanges.  Ne désespérons pas qu fil de ses projets collectifs (Primeval, Alkwarel), l’association compte bien finir par déboucher sur des œuvres aussi novatrices que collective. A moins que, ou en même temps que, se développe une nouvelle tendance, inspirée par le post-modernisme japonais [Asuma], ne débouche sur une création par composants, l’œuvre finale (et l’auteur) laissant définivement la place à chaque spectateur, assemblant les composants au gré de ses goûts et de ses désirs, et créant finalement la résonance imprévisible par le remix permanent d’une immense base de ressources artistiques.

Références

[Aho]  Alfred Aho , John Hopcroft John and Jeffrey Ullman: The design and analysis of computer algorithms. Addison-Wesley, 1976.
[Algoristes] Site HTML : http://les-algoristes.org. Blog : http://les-algoristes.over-blog.com/
[Algorists] 
[Arasse] Daniel Arasse : On n’y voit rien. Folio essais 2000.
[Assouline] Pierre Assouline. A l’école de l’écriture littéraire.  Le Monde 2. 13 septembre 200
[Azuma] Hiroki Azuma : Génération Otaku, les enfants de la postmodernité. Hachette Littératures 2008.
[Bailly] Francis Bailly  et Giuseppe  Longo :  Mathématiques et sciences de la nature. La singularité physique du vivant. Hermann 2006.
[Balpe] Jean-Pierre Balpe :   Initiation à la génération de textes en langue naturelle. Exemples de programmes en Basic. Eyrolles, Paris, 1986.
[Bellanger] Maurice Bellanger : Traitement numérique du signal. Théorie et pratique Masson 1987.
[Bisognin] Luca Bisognin et Sylvie Prety : Emotions et systèmes multi-agents, une architecture d’agent émotionnel.  Leibnitz-Imag, équipe Magma, http://magma.imag.fr/publications/papers/2004-Bisognin-Pesty-JFSMA.pdf
[Breazeal] Cynthia L. Breazeal : Designing sociable robots.  MIT Press 2002
[Brinkmann] Ron Brinkmann : The art and science of digital compositing.  Morgan-Kaufmann 1999
[Choquer] Katia Choquer : Touche futuriste. Roland développe un piano utilisant la modélisation des sons au lieu de l’échantillonnage. Diapason, juillet-aout 2009.
[Clodic]  A. Clodic, V. Montreuil, R. Alami et R. Chatila : Une architecture décisionnelle pour l’interaction homme-robot. LAAs. http://jnrr05.irisa.fr/document/jnrr-poster-006.pdf
[Cohen] Harold Cohen : Coloring without seeing, a problem in machine creativity (sur le web) $$$
[Cohen] Harold Cohen : The further expoits of Aaron, painter (sur le web) $$$
[Delahaye] Jean-Paul Delahaye : Information, complexité et hasard. Hermès. 2eme édition 1999.
[Ducrocq] Albert Ducrocq L’Ère des Robots Julliard, 1953
[Ebert] David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin and Steven Workey : Texturing and modeling, a procedural approach. Morgan Kaufman 2003
[Elam] Kimberly Elam : Geometry of Design, Princeton Architectural Press 2001. French translation : Géométrie du design. Eyrolles  2005.
[Jimenez] Marc Jimenez : Qu’est-ce que l’esthétique. Gallimard 1997
[Kaufmann] Jean-Claude Kaufmann : Ego. Pour une sociologie de l'individu. Nathan 2001
[Le Meur] Anne-Sarah Le Meur : « Body, numbers, light. color phenomena of Eye-Ocean, experimenta virtuail image”, in the proceedings of Laval Virtual Virtual reality international conference, 2009. www.laval. Virtual.org.
[Lioret] Alain. Emergences de nouvelles esthétiques du mouvement
[McCorduck] Pamela McCorduck : Aaron’s code. Meta-art, artificial intelligence and the work of Harold Cohen.  Freeman 1991
[McFarland] David McFarland and Thomas Bösser : Intelligent behavior in animals and robots. MIT Press 1993.
[Menger] Pierre-Michel Menger : Le travail créateur. S’accomplir dans l’incertain. Gallimard/Le Seuil 2009
[Meyer]Bertrand Meyer : Touch of class. Learning to program well with objects and contracts. Springer 2009.
[Millet] Catherine Millet : L’art contemporain, histoire et géograhie. Flammarion 2006. 
[Mourioux] G. Mourioux : Architecture fonctionnelle pour les robots. JJC/LVR 19/02/2004.  http://www.bourges.univ- orleans.fr/rech/lvr/intranet/site_jjc/JJC04/Articles/groupe2/JJC04_Mourioux.pdf
[Pacherie] Elisabeth Pacherie : Le robot n’a que des intentions simples. Interview par Azar Khalatbari. Science et avenir, no 724, juin 2007. http://sciencesetavenirmensuel.nouvelobs.com/hebdo/sea/p724/articles/a346791-.html
[Rancière] Jacques Rancière : Malaise dans l’estshétique. Galilée 2004.
[Robertson]  Iain Robertson ed. : Understanding international art markets and management.  Routledge 2005
[Schillinger]  Joseph Schillinger : The mathematical basis of the arts.  Philosophical library, New York, 1948