Le calcul de la beauté : le principe de Pinocchio
Auteur : Frédéric Drouillon
Se peut-il qu’en tant qu’artiste on ne veuille plus dessiner, peindre, composer ou jouer de la musique mais programmer ? …Oui. 
L’enjeu général de notre recherche porte sur la programmation informatique dans des langages fondamentaux comme le C ou le C++, en tant qu'elle permet à un artiste ou un créateur de définir sa propre écriture, son propre langage [DROUILLON, 2003]. Nous proposons d’aborder ici la beauté telle qu’elle puisse faire l’objet d’une démarche de programmation. Mais comment peut-on s’y prendre pour calculer la beauté ? 
Notre investigation nous conduit tout d’abord à reconnaître ce qu’il y a de non-calculable dans le programme informatique considéré en tant que phénomène. Ensuite nous examinons en amont du programme ce qui peut être mis en œuvre de non-calculable dans la démarche de programmation elle-même. La programmation est alors orientée vers un procédé de « création évolutive » qui s’accompagne d’un objet-programme en métamorphose continue. A titre d’exemple nous présentons une expérimentation, « Le Kandoscope », dont l’inspiration artistique se réfère au peintre Wassily Kandinsky. En conclusion nous proposons une synthèse personnelle à cette problématique de la beauté comme défi à la programmation : c’est « le principe de Pinocchio » qui évoque la notion de « formes fonctionnantes » en mémoire de Paul Klee.
Du non-calculable au calcul
Le programme comme mélodie
Un programme informatique peut être considéré auprès du public comme doté de propriétés non programmées : il fait l’objet de lectures et d’interprétations par ceux qui l’observent ou l’utilisent. Ce constat nous conduit à définir une propriété du programme informatique que nous appelons la « réfraction » du programme. La réfraction du programme est quelque chose du programme comme une autonomie qui échappe une fois qu’il est réalisé et rendu public. 
Cette propriété peut être comparée à une mélodie dans le domaine musical. On peut comprendre et discuter comment techniquement une mélodie est faite ainsi que la place qui lui est accordée dans un morceau. Mais la volonté dont elle témoigne exactement lorsqu’on l’écoute, personne ne peut en rendre compte autrement que par une croyance reliée par exemple à l’analyse de résultats qu’elle produirait effectivement sur chaque personne d’un auditoire. L’élaboration même de la mélodie est objet de croyances et de désir. Désir d’atteindre tel ou tel objectif vis-à-vis d’un public et croyance qu’il faut s’y prendre de telle ou telle manière compte-tenu de ce que l’on sait, imagine et croit à propos de son public. 
De même le programme en tant qu’objet indépendant et phénomène peut être considéré auprès du public comme doté de propriétés non programmées. Certes cette capacité dite de « réfraction » du programme, aux prises avec l’imaginaire de chacun, n’est pas observable comme « hardware » ou « software » et à ce titre elle ne fait pas partie de l’objet informatique ni d’un savoir direct sur ces composants. Mais elle relève de ce qui est non calculable par nature dans l’opération réalisée. A savoir tout ce qui a trait au sujet et au désir, c’est-à-dire au principe même de l’engendrement, que ce soit dans l’acte de conception ou, une fois le programme conçu, sa mise en situation publique, son utilisation et son fonctionnement. 
Sous l’angle du non-calculable le programme informatique présente deux pôles : celui en aval de l’objet qui concerne l’objet fini, mais aussi celui en amont de l’objet dont procède sa définition. Dans les deux cas nous constatons que le non-calculable, ce qui relève de l’investissement psychique de celui qui fait ou regarde, s’exprime néanmoins par un calcul. La question se pose ainsi de faire du non-calculable un calcul. Evidement on peut se demander pourquoi se donner tant de mal ?
Plaisir de calculer l’incalculable
Lors de la programmation, les représentations, ce ne sont pas seulement celles des données en machine, mais également celles nées de l’imagination de celui qui conçoit. Cela rapproche la programmation informatique d’une notion d’écriture plutôt littéraire et que nous attachons au programme qui, de façon générale, raconte : le programme peut être une interprétation bien réelle de quelque chose qui existe d’abord dans l’imaginaire de celui qui le réalise. 
Cependant ce type de réalisation impose à l’imaginaire ses contraintes. Pour le débutant en programmation, au début de la démarche de création, il n’y a pas grand chose de visible du point de vue d’une relation possible entre l’imaginaire et la réalisation d’un programme. Mais progressivement se façonne avec la pratique une sorte de perception à partir des expériences de réalisation de programmes. L’intérêt s’éveille petit à petit et se porte sur des potentiels attractifs de développement. Bientôt une sorte de relief différencie entre eux  les programmes réalisés : il y en a qui plaisent plus que d’autres. Des compositions qui « fonctionnent » apparaissent. Elles fonctionnent parce qu’elles apportent du plaisir, tant pour le concepteur que pour le public, et selon la nature des relations que le concepteur  souhaite entretenir avec un public. 
Mais ce plaisir complexe qui répond à un désir esthétique dans la démarche de programmation que nous proposons ne se laisse pas aisément planifier et cette vision de la programmation informatique s’accompagne d’une mise en oeuvre peu orthodoxe du développement informatique.
Développement évolutif
Développement est le terme consacré en informatique : le développement informatique qui suppose le plus souvent la rationalisation d’activités professionnelles. Mais dans notre perspective, l’efficacité du développement ne réside pas dans la mise au point de nouveaux algorithmes opérationnels, rationnels dans une situation donnée. L’objectif est esthétique de développer un imaginaire selon une démarche artistique qui s’appuie sur l’écriture de programmes. 
Au départ l’imaginaire n’est pas concrétisé par une réalisation : il est à imaginer ! Il est initialement objectivement absent et le développement s’appuie nécessairement sur une recherche. De ce fait le développement devient « démarche », « cheminement vers », et il se pose la difficile question d’un développement évolutif qui épouse la progression d’une démarche en devenir. On s’aperçoit que le développement est généralement le développement de quelque chose qui est déjà là, et que sur la base d’une étape donnée, il y a approfondissement et élargissement d’une étape, mais tout en restant au même niveau d’étape. Dans notre cas il s’agit de l’avancée « métamorphique » d’une idée ce qui est certes un développement de l’idée mais un développement à la transversalité imprédictible liée au développement de l’être, à son investissement et son ouverture psychique, son devenir. Cette dynamique se retrouve effectivement dans le développement objectif du programme sous la forme d’une métamorphose continue du projet. 
Nous pouvons observer ici qu’il y a deux plans principaux corrélés du point de vue d’un développement évolutif : celui de l’inspiration et de l’élaboration d’une démarche d’auteur, et celui, dans le cadre d’un projet de programme, de l’évolution du programme soumis à des variations dans sa forme.  Nous allons évoquer tout d’abord le plan de l’auteur et ensuite, à travers un exemple de programme, les métamorphoses de l’objet sous l’impulsion de la démarche de l’auteur.
La démarche ne se calcule pas
Principe de l’oignon
Nous pouvons proposer une métaphore approximative pour le développement tel qu’il ressort de notre expérience : l’oignon. 
L’oignon présente cette particularité d’être constitué de pelures enveloppées les unes dans les autres depuis le centre jusqu’à la périphérie. Elles sont emboîtées de l’intérieur vers l’extérieur et chacune définit un espace ayant sa propre dimension qui correspond aussi à un stade de développement de l’oignon. Didi Hubermann en dit ceci : « Dans l’oignon, en effet, l’écorce est le noyau : plus de hiérarchie possible, désormais, entre le centre et la périphérie. Une solidarité troublante, basée sur le contact – mais aussi sur d’inframinces interstices –, noue l’enveloppe et la chose enveloppée. Le dehors, ici, n’est qu’une mue du dedans. » [DIDI-HUBERMAN, 2000, p. 19]. 
C’est l’image d’une évolution possible mais dans notre perspective, à la différence du végétal, le principe de l’oignon n’a pas au départ de finalité ferme, même si celle-ci peut apparaître à un moment donné dans le cours du projet et de son développement. Ce dont l’image nous parle est surtout cette « solidarité troublante » entre l’intériorité et l’extériorité réunies dans un même processus de mutation : « le dehors n’est qu’une mue du dedans ». 
Fonctionnement par projet
Le plan de l’auteur, celui de la démarche, s’appuie sur une vision de la notion de projet et précisons qu’elle se distingue de la notion, typique en IA, de résolution de problème. La fonction du projet est de rendre cohérente une dynamique de questionnement mais il n’y a pas à proprement parler de problème à résoudre. C’est plutôt la mise en œuvre d’une exploration expérimentale ou ludique. Par exemple le projet du «Kandoscope » sur lequel nous allons revenir plus bas permet d’illustrer ce point. 
Ce programme est à l’origine un travail sur la mobilité. A la base, on a des objets de formes simples, ronds, carrés, triangles, et de tailles variables. Ils sont assujettis chacun à une trajectoire.  En jouant sur les paramètres de chacun des objets et sur des groupes d’objets simultanément, on obtient des images et mouvements d’ensemble intéressants. L’idée est venue alors de faire un tableau « métamorphique » à partir de ce générateur. Le souhait est d’obtenir un tableau avec des possibilités de voyage dans le tableau par métamorphoses de figures d’ensemble, c’est-à-dire de saisir dans un premier temps par tâtonnements des figures d’ensemble satisfaisantes, puis de trouver le principe d’une métamorphose des ensembles afin de passer d’une figure à une autre et d’explorer au passage d’autres agencements. 
Nous avons réussi à réaliser des agencements et faire des ensembles très intéressants pour nous sur le plan esthétique, mais nous n’avons pas réussit à mettre en place un principe de métamorphose qui nous plaise pour l’enchaînement des figures. 
Cette situation de questionnement n’a pas de solution. C’est plutôt l’émergence d’une problématique et d’un espace de recherche lié à un auteur. La situation créée avec le projet permet de se poser problème. De ce fait le projet ne résout rien mais l’auteur lui donne un sens. Ce sens est produit par un « état d’esprit » au sens de Pierre Schaeffer à propos des objets sonores et musicaux. Il s’appuie sur une sensibilité, un phénomène de « résonance intérieure » tel qu’il est décrit par Wassily Kandinsky à propos de la peinture.
Tension vers la réalisation 
Comme espace de recherche le projet devient un espace de préoccupations et toutes ne sont pas visibles de prime abord : le projet va évoluer. La réalisation effective du projet peut même être éloignée de sa formulation initiale. La notion de projet est cependant orientée par une tension vers la réalisation de quelque chose. Cette tension recouvre un ensemble psychologique de motivations, d’intérêts et de désirs qui sont personnels. Cette tension suit et anime l’évolution du projet et conserve une identité, même lorsqu’il est amené à se transformer.
Création évolutive
La tension vers la réalisation est ce qui pousse vers l’obtention d’un résultat, mais en même temps c’est aussi ce qui motive l’exploration de résultats différents. C’est à la fois ce qui provoque l’ouverture sur des préoccupations diverses et la spécialisation vers un objectif particulier. Ces deux tendances ne sont pas antinomiques mais au contraire s’appellent et se nourrissent l’une de l’autre : l’acte de création et de réalisation est évolutif. La maîtrise de cette évolution fonde la pratique, et réciproquement, on peut dire également que la pratique est l’expression d’une maîtrise de cette évolution. 
Si l’on entendait par maîtrise, au sens fort, une sorte de toute puissance, il serait possible d’évoquer entre le processus évolutif de la création et celui de la réalisation, une certaine forme d’ambivalence. Les tendances de l’ouverture peuvent entrer en conflit avec celles de la maîtrise. Il y a une dynamique  entre ces deux bords. Cette dynamique caractérise un auteur. L’engagement dans la création et la réalisation d’un programme informatique fait l’objet d’une analyse des motivations et de son fonctionnement : l’évolution c’est celle de celui qui conçoit.
Par des apports successifs, la création évolue. Mais ce ne sont pas seulement les idées qui évoluent ; le matériau algorithmique lui-même doit évoluer.
Métamorphoses de l’objet avec la démarche
Le matériau algorithmique doit évoluer et ce n’est pas toujours trivial, notamment lorsque les structures de données fondamentales choisies pour le programme se révèlent insuffisantes pour supporter l’apport des idées nouvelles. La maturation du programme peut alors se traduire par une succession de programmes, chacun correspondant à une phase de son évolution liée à l’évolution du projet. Ce point est illustré avec le projet de tableau métamorphique « Kandoscope ».
Exemple du « Kandoscope »
Nous avons vu que la base du programme est l’animation de formes simples, cercles, rectangles et triangles. Chacune est soumise à une trajectoire et l’ensemble compose des figures selon le nombre des formes mises en mouvement. Tout d’abord le moteur de l’animation est paramétré de façon à réaliser des figures-types qui sont découvertes expérimentalement, par tâtonnements. Ensuite le moteur s’enrichit progressivement d’options nouvelles. Elles apportent des directions à explorer et des gammes supplémentaires de paramétrages. En quelque sorte, au fur et à mesure de l’évolution du projet, le potentiel esthétique du moteur s’élargit. 
Avec l’élargissement esthétique apparaît la nécessité de refondre le programme du point de vue des structures de données. L’idée s’approfondit et se développe à travers des programmes-fragments, et il s’agit à un moment donné de les incorporer tous dans un nouveau programme unique. Ainsi, développer le programme et développer l’idée du programme se fait simultanément de façon réciproque. Il eut été impossible de prévoir  l’évolution et l’avancement du programme, et donc de rationaliser autrement son développement. L’idée se développe et le programme avec elle sur la base expérimentale des réalisations effectuées. On ne peut savoir réellement ce qu’est le programme qu’après l’avoir fait et avoir constaté un fonctionnement non seulement du point de vue de la machine, mais aussi du point de vue d’une sorte de catharsis, du ressenti, des aspects psychiques et psychologiques associés à la conception. 
Dans cette perspective de création évolutive, l’idée du programme ne peut être atteinte que par cette évolution et il n’y a, dans un premier temps exploratoire, aucun autre moyen que celui d’un cheminement pour accéder aux idées.  
Résistance des matériaux algorithmiques et des « idées a priori »
Le développement du Kandoscope se traduit par trois moteurs successivement réalisés. Ils expriment chacun un chapitre constitué de plusieurs étapes dans la recherche et la conception. Mais les expérimentations et le projet du Kandoscope sont finalement immobilisées à cause d’un débordement du point de vue de la gestion des innombrables paramètres du programme. Le programme a été pensé au fur et à mesure par séquences et les moteurs fonctionnent bien mais seulement une fois qu’ils sont paramétrés. Ils ne sont pas équipés pour générer des paramétrages. Sans entrer dans le détail du code, mais à titre indicatif, afin d’illustrer le nombre des paramètres, la figure 1 ci-dessous présente la fonction d’initialisation d’un modèle de paramétrage pour un fonctionnement du programme.
La fonction « model0 » détermine un état particulier du programme selon des affectations de valeurs choisies à un ensemble fixé de paramètres. Il y a en tout 55 variables réparties sur quatre fonctions distinctes. La première concerne des paramètres généraux du moteur sur les différents secteurs d’activité, chacun disposant ensuite de ses propres structures de données (essentiellement des structures et des tableaux ). La seconde concerne des paramètres additionnels dit des « métros immobiles » découverts lors de l ‘évolution du programme. La troisième concerne une autre couche supplémentaire de l’évolution : « les machines pédalo-arachno-mécaniques » et la quatrième les formes soumises à trajectoire qui sont à l’origine du programme.  Une fois le programme affublé de toutes ces valeurs il tourne en fonction d’elles mais sans possibilité d’évolution des paramétrages.
Effectivement l’attention a surtout porté sur la définition des bonnes structures de données pour l’obtention des figures imaginées. C’est en ce sens que la bonne organisation interne du programme, a été recherchée. La transversalité du fonctionnement, le processus métamorphique proprement dit, correspond à l’étape à venir. Il faut d’abord réduire la lourdeur obtenue du fait des nombreuses possibilités de figures, c’est-à-dire également assurer une bonne maîtrise des différents plans de fonctionnement. Cette lourdeur ralentit les expérimentations rendues de plus en plus compliquées. Mais peut-être s’agit-il d’une difficulté irréductible inhérente à la définition d’une pensée évolutive ?

	void modele0( MODELE*cm ){
	
(1)	   construct_moteur ( cm, 0, NON, OUI, 0, TRAJ_MAX, 0, 0, 0, 20, NON, NON  ); 

(2)	   construct_aff_metros_immobiles( cm->m, DRAW_MODE_COPY_PATTERN, A[PAT] );

(3)	   construct_rls_metro(cm->m, 32, ALTERNE_FORK(cheval,roi,OUI), ALTERNE-1,        
ALTERNE, A[PAT], 
DRAW_MODE_COPY_PATTERN,
   	ALTERNE, 1, 1, 1, 1, 20, 20, 0, 0, 0, 0, 0, NON, NON, 
NON,  NON, NON, NON, NON, NON );	
			
(4)	construct_traj_objet( cm->m, NULL, DRAW_MODE_SOLID, OBJ_ALT,	
ALTERNE, NON, OUI, ALTERNE, ALTERNE,
ALTERNE);
	}

Fig. 1 : Complexité du paramétrage née d’une surabondance de variables

Conclusion : le calcul de la beauté et le principe de Pinocchio
Le calcul de la beauté
Le calcul de la beauté dans le cadre de la réalisation d’un programme se heurte d’une part au problème de calculer le non-calculable et d’autre part à la définition du désir lui-même.
Dans le Kandoscope c’est la question des métamorphoses des figures d’ensemble qui nous pose actuellement problème. La beauté des métamorphoses ne se laisse pas facilement approcher. Il y a une grande résistance du matériau algorithmique qui ressort avec un trop grand nombre de paramètres à activer. On s’y perd, d’autant qu’il est impossible de se représenter un résultat sans en faire d’abord l’expérience.  Comment imaginer la continuité d’une métamorphose réalisée à travers une discontinuité d’étapes inconnues ? Et surtout il faut que le programme, dont l’identité est fixée,  ne se déroule pas exactement de la même façon à chaque nouveau lancement. Il ne s’agit pas de faire un film d’animation.
Mais il serait injuste d’attribuer à la seule matière algorithmique et ses difficultés associées, tout le poids de la résistance. La résistance est également de l’ordre du psychologique. En effet la tendance est souvent de rechercher le plaisir que l’on connaît déjà, ce qui se traduit alors par un refus inconscient de ce que cette matière algorithmique peut produire de surprenant. La notion de beauté ou de plaisir ressentis personnellement font ainsi l’objet d’une évolution : comment pourrait-on apprécier quelque chose qu’on ne connaît pas ? Il faut bien développer une perception de quelque chose à propos duquel on éprouve de l’intérêt et accepter le renouvellement de cette ouverture qui permet l’évolution.
Le principe de Pinocchio 
Pour Paul Klee le tableau fonctionne et dispose d’une autonomie propre [KLEE, 1956]. Depuis notre approche artistique de la programmation nous disons de même du programme qui a une identité et génère une cohérence.
A un moment donné le programme, en tant qu’objet esthétique, est détaché du concepteur. On est tenté parfois de penser qu’il se détache de lui-même comme un être accompli. C’est le principe de Pinocchio.  Ce détachement entre le programme et le concepteur fait apparaître la conception comme une sorte de dialogue à trois bords. Il y a le dialogue de soi à soi, mais également de soi à l’intuition d’autrui auquel le programme s’adresse en partie,  et tout l’échange de soi aux limites de la matière informationnelle, comme il est reconnu qu’il existe un échange entre un musicien instrumentiste et son instrument. Cette matière résiste. Elle n’est pas facile à maîtriser et le travail prend la forme d’un dialogue avec la difficulté. Un équilibre est toujours à trouver entre ces composantes. Le principe de Pinocchio qui coïncide avec l’idée d’une autonomie du programme est défini par cet équilibre. C’est lorsqu’un équilibre est trouvé que le programme « fonctionne ». Il suscite alors des réactions diverses auprès du public. Son développement est considéré comme terminé. 
Cette fin du programme ne signifie pas que le projet soit satisfait du point de vue du désir qu’il recouvre. D’ailleurs, soulignons que  les « erreurs » ou maladresses qui entrent dans le résultat final contribuent aussi au cachet général du programme du point de vue de son autonomie. En fait devant un programme, de la nature de ceux auxquels nous nous intéressons, il n’y a pas d’a priori sur ce qu’il serait mieux de faire, il n’y a pas d’a priori ni de règle sur la notion de progrès à faire. Les progrès sont ceux de la démarche, compte- tenu des connaissances dont dispose le concepteur ou qu’il décide d’acquérir. L’enjeu n’est pas un enjeu de puissance et souvent le choix esthétique est dicté par la recherche d’une intelligence dans les relations entre les formes et les objets imaginés. Dans ce domaine d’une créativité associée à la programmation informatique, faut-il le souligner, la puissance de l’ordinateur ne garantit ni la qualité des propositions, ni l’intérêt que l’on peut éprouver pour elles. 

Références bibliographiques :
DIDI-HUBERMAN Georges, Etre crâne, lieu, pensée, sculpture, éditions de minuit, Paris 2000.
DROUILLON Frédéric, Exercer Chimères et gargouilles informatiques, Thèse de Doctorat en Sciences de l’information et de la communication, Université de Paris 8 Vincennes Saint-Denis, 2003.
KLEE Paul, Théorie de l’art moderne,Denöel, Paris 1985, première édition 1956.
KANDINSKY Wassily, Point et ligne sur plan, Gallimard, Paris 1991, première édition 1926.