LA VIE ARTIFICIELLE: SYSTÈMES, APPLICATION A L´INTERACTIVITÉ
Modèles
Théories, systèmes et modèles
Une théorie est un ensemble cohérent de concepts et de
structures symboliques formant un langage de manipulation
[Cardon 2000]. Par exemple la théorie des ensembles, en
mathématiques, note les ensembles, leurs éléments,
et définit des opérations en utilisant la logique
formelle.
Walliser [Walliser 77] définit un système comme étant
"un ensemble autonome en rapport avec son environnement, un
ensemble cohérent constitué de sous-systèmes en interactions et
enfin un ensemble subissant des modifications plus ou moins
profondes mais lui assurant toujours une certaine permanence".
L´état d´un système le caractérise à un instant donné et
se déduit de la description de ses éléments à cet instant,
l´ensemble de ses états dans un intervalle de temps est appelé
sa trajectoire comportementale.
Un système est une construction abstraite structurée
et opérative en ce sens qu´elle produit des résultats et
peut être considérée comme l´illustration d´une théorie.
Un modèle peut être une transcription abstraite,
utilisant une théorie, d´une réalite concrète
dont l´étude empirique ne serait qu´approximative. Ainsi un
modèle économique peut-il utiliser la théorie des jeux stratégiques
pour rendre compte d´échanges de richesses.
Un modèle peut être aussi une matérialisation
d´une théorie en permettant une compréhension intuitive.
En général un modèle participe de ces deux approches,
il est en même temps illustration d´une réalité et interprétation d´une
théorie.
Par exemple les modèles d´éclairement
de la synthèse utilisent l´optique géométrique
(qui est une théorie expliquant les interactions de la lumière et
de la matière) pour simuler sur ordinateur la vision d´une
scène réelle.
Modèles fonctionnels
La méthode analytique consiste à décomposer un problème
en sous-problèmes plus simples dont les résolutions
conduisent à la solution.
Les modèles fonctionnels sont une illustration de cette méthode,
ils supposent le problème bien posé et décomposable en
sous-problèmes parfaitement identifiables et résolubles.
Par exemple, en synthèse d´image, la méthode dite du
ray tracing analyse une scène 3D parfaitement modélisée et
fixe pour en donner un "instantané"; les sous-problèmes (calculer
l´éclairement en tous les points de l´image) sont résolus
par un procédé récursif de "réflexion-réfraction".
Les modèles fonctionnels produisent des systèmes décomposables dont les
sous-systèmes sont parfaitement définis.
Leur déterminisme
les rend très puissants pour résoudre des problèmes simples (tels que les
simulations de phénomènes physiques modélisés de façon déterministe,
comme la dynamique Newtonienne, la synthèse d´images 3D, ...)
Mais ils échouent dès lors qu´une
complexité organisationnelle
fait intervenir de multiples interactions entre éléments variables dont
le comportement est pratiquement imprévisible (tels que la
simulation d´une société d´insects ou de robots).
Modèles comportementaux
L´analyse détruit les propriétés émergentes, et d´autres
méthodes doivent être trouvées pour l´étude de telles propriétés
(comme la prédiction du comportement d´une colonie d´êtres vivants,
naturels ou artificiels, ou encore la simple prévision du temps).
Lorsqu´un modèle fonctionnel est insuffisant, on utilise
un modèle comportemental en définissant une connaissance
du domaine auquel s´applique le problème posé et en construisant
une représentation des comportements des éléments du système.
La solution résulte alors de l´activation du système, ce qui
revient à le faire "tourner" en situation.
Remarquons que de tels modèles ne supposent pas que soient connus,
ni la solution du problème, ni même un algorithme de résolution.
Au lieu d´écrire un algorithme, puis un programme, censés
trouver la solution, on utilise une machine virtuelle,
sous la forme d´un système complexe qui, en s´adaptant
aux conditions initiales, évolue vers une solution (que
l´on souhaite la meilleure possible) du problème, tout comme un
être vivant, confronté au réel, trouve des solutions,
c´est à dire s´adapte pour survivre.
Pour un tel système qui est dit non simplement décomposable
[Cardon 2000], "on ne sépare pas clairement l´observateur
du système qu´il observe, on ne le décompose pas clairement en
sous-systèmes indépendants et son comportement est non strictement
prévisible, car organisationnellement changeant et non stable".
L´approche par objets
Le génie logiciel
L´informatique classique, pour résoudre des problèmes de
plus en plus complexes dépassant l´entendement d´un seul être
humain, a mis en place des méthodes garantissant une efficacité
maximum à des coûts minimums en investissements matériels et
humains (conception et maintenance). Le but est de rationaliser
les développements d´applications impliquant des compétences
multiples et conduisant à l´écriture de programmes de grandes
tailles.
La programmation structurée répondait, dans les années 60-70,
à cet objectif en organisant les programmes sous forme
de procédures manipulant des entitées partagées; le
code et les données étaient nettement séparées.
Il s´agissait de trouver, par un découpage
analytique, de bonnes fonctions qui seraient exécutées au bon
moment avec les bonnes données, tout comme un puzzle se construit
par assemblage, dans le bon ordre, des bonnes pièces.
Les langages d´acteurs, comme PLANNER (1971), traitent
d´acteurs dont les comportements sont fonction des messages
qu´ils reçoivent.
La programmation orientée objet s´organise autour
d´objets pouvant interagir les uns avec les autres.
Les objets sont définis par agrégation, composition
et généralisation, pour construire un système dont l´évaluation
et la validation sont constantes tout au long de son évolution.
Dans cette approche les entités, designées sous le terme
d´objets, ont un plus grand degré de liberté, ressemblant aux
pièces d´un jeu de Lego, nombreuses mais déterminées, dont
l´assemblage cohérent peut être multiple.
SIMULA (1966) fut un pionner en la matière en proposant pour la
première fois le concept d´encapsulation (consistant à
regrouper, dans un même objet, des données et des procédures).
Son successeur, SMALLTALK (1972), introduit la notion de langage reflexif
(c´est à dire doué de capacité d´auto-description).
Puis vinrent OBJECTIVE-C (1980), EIFFEL (1988), C++, ...
La plupart des grands logiciels de synthèse du commerce
(SoftImage, Maya, Nemo, ...) ont recourt à ce type de
programmation, ainsi, d´ailleurs, que la plupart des logiciels
utilisés dans le monde de l´industrie.
L´approche orientée objets
Une abstraction est le procédé par lequel les
invariants d´un système sont caractérisés comme objets
bien définis et rigoureusement délimités.
Un type abstrait est le couple formé d´une structure de
données et d´un comportement ou ensemble d´opérations
décrivant la façon dont ces données sont manipulées.
Un objet est une abstraction dont la structure
et le comportement sont bien définis et qui réagit à des sollicitations,
prévues à l´avance, qu´il reconnait. Un objet doit, d´une part,
représenter (comme un signe) et doit, d´autre part,
permettre l´écriture et le debugging aisés des programmes. Il
désigne à la fois le concept organisationnel de base et l´objet
logiciel concret qui sera exécuté par un ordinateur réel. Il
s´agit de passer du domaine conceptuel (des idées) au domaine
concret (des réalisations logicielles) le plus naturellement
possible en contrôlant rationnellement les équipes qui
conçoivent le système. Un objet présente deux faces, l´une,
structurelle, décrivant sa morphologie et l´autre,
comportementale, décrivant la façon dont sont manipulés ses champs.
Il peut aussi réagir, lors de réception de messages,
par des méthodes.
Une classe est la désignation abstraite des entités
modélisées. On peut voir une classe comme l´ensemble de
tous les objets potentiels ayant une description et un comportement
communs, et un objet comme une instance de la classe à
laquelle il appartient. La notion de classe est la généralisation
de celle de type dans les langages struturés.
L´approche orientée objet est donc fondamentalement une
méthode fonctionnelle procédant par une analyse descendante
supposant une catégorisation du domaine à modéliser: Les
choses, les événements (produits par les choses)
et les interactions entre les choses. Cette conception fige une
fois pour toute la description du système (qui est supposé
fonctionnellement décomposable) et devient inopérante
pour décrire un monde non connu à priori (problème de la
découverte aussi bien scientifique qu´artistique) comme
le sont la plupart des systèmes naturels évolutifs.
Les systèmes adaptatifs
Réaction et interaction
Un système réactif est un système réagissant de
façon automatique à tout stimulus extérieur sur le mode
réflexe par déclenchement d´une réponse. Par
exemple un gestionnaire de fenêtres, la plupart des logiciels
de synthèses et des installations interactives simples,
beaucoup de systèmes de contrôles industriels,
sont des systèmes réactifs.
Lorsque le système fait partie d´un environnement, le stimulus
provient de ce dernier et la réponse y tombe, si bien qu´elle peut modifier
le stimulus lui-même. On parle de rétroaction
ou encore de
feed back.
Les systèmes perceptifs
Lorsque la réponse est susceptible de modifier, non seulement le
stimulus, mais le système lui-même, on peut dire que celui-ci
perçoit son environnement, tout comme un organisme vivant qui,
pour prendre connaissance de l´univers dans lequel il vit, y entreprend des
actions et en perçoit les effets en retour.
Pour un système perceptif tout action de l´environnement
est symbolisée sous forme d´une entité dont certains éléments sont
les informations captées. Alors que l´événement est externe, sa
symbolisation est interne.
Une certaine connaissance est
nécessaire au système pour identifier les événements et y
répondre de façon appropriée.
Les résolveurs de problèmes à entrées symboliques et certains
systèmes experts sont des systèmes perceptif, ainsi que quelques
installations interactives évoluées.
Les systèmes adaptatifs
Un système adaptatif peut être décrit comme un noyau
constitué d´entités en interaction,
et d´une membrane le différenciant de son environnement.
Le système s´adapte en permanence à son environnement et à son
propre état réogarnisationnel. Il ne s´agit plus de résoudre
un problèmen parfaitement formulé, mais plutôt d´expérimenter
une auto-organisation sur une représentation interne du problème.
Un exemple est fourni par une
population de robots devant réaliser des tâches déterminées
dans un environnement à priori inconnu.
La notion de représentation est fondamentale pour
un système adaptatif qui interpréte les stimuli issus de son
environnement afin de se reconfigurer et d´agir en fonction d´un but.
La trajectoire comportementale d´un tel système est évolutive
et périssable, les buts eux-mêmes peuvent changer de façon
non linéaire et imprévisible. Un tel système a un comportement
chaotique [Prigogine 1996] (voir aussi 3-2)
en ce sens que ses états
futurs dépendent non seulement de ses états actuels et passés, mais
encore de stratégies évolutives imprévisibles résultant des
nombreuses interactions non déterministes entre ses composants.
Les systèmes adaptatifs ne sont pas décomposables (voir 5-1-3)
,ils sont complexes et leurs capacités comportementales ne sont pas
le simple résultat d´un ensemble prédéterminé de réactions aux
stimuli de leur environnement ("feed-back" simple): Ce sont des
systèmes autopoïétiques [Varela 74], c´est à
dire définis par l´organisation de leurs composants et non pas
par les composants eux-mêmes. De plus ils possédent une certaine
représentation de leur environnement et d´eux-mêmes leur
permettant une mise en scène abstraite de situations les
impliquant et, donc, d´anticiper ces situations. Alain Cardon
[Cardon 2000] voit même dans ces systèmes une modélisation
possible de la conscience artificielle. Le problème
de la conscience a longtemps été traité sur la base du dualisme
(Descartes et Gagilée) qui sépare radicalement la réalite physique,
traitée par la science, et l´existence d´une âme
relevant de la philosophie ou de la religion. Mais la science
moderne considère que tous les phénomènes mentaux sont d´origine
biologique et que ce dualisme n´a plus lieu d´être [Searle 99].
Cela ne veut pas dire que, selon l´hypothèse de l´Intelligence
Artificielle Forte, la conscience ne serait finalement
qu´un programme et que sa simulation pourrait être intégralement
réalisée sur ordinateur. Le phénomène de conscience serait plutot
une propriété du cerveau, une émergence de son
organisation, et rien ne peut exclure qu´une émergence identique
ne puisse se réaliser sur un autre support, par exemple
artificiel.
Ayant une représentation signifiante, les systèmes
adaptatifs supposent une modélisation d´une certaine
connaissance. Initialement le système est doté d´un
ensemble de représentation minimal qu´il modifie, au cours de
ses interactions avec l´environnement et lui-même, pour construire
de nouvelles désignations.
Structure d´un système adaptatif
Les entités de base sont les éléments constitutifs
du système et dont l´organisation est le support de la
représentation. Ces entités évoluent dans le temps et
communiquent au moyen d´un langage interprétatif basé sur un
automate à états localement aléatoire, c´est à dire
dont les transitions, bien que calculables, ne sont pas exactement
déterministes. Cette instabilité locale du processus de
représentation est nécessaire pour qu´un système adaptatif
ne retourne pas à l´état dégradé de système réactif.
La membrane sert d´interface entre le monde extérieur et
le système qui n´en a connaissance que via des capteurs
et des filtres, elle permet aussi, en délimitant la
frontière entre le noyau et l´extérieur, de définir
l´identité des entités de base.
Les effecteurs sont les moyens (réels ou
virtuels) par lesquels le système agit sur l´extérieur.
Représentation
Système
Environnement
Un système adaptatif apparait donc comme constitué d´un
ensemble d´entités de base non totalement stables, de la structure
définie par les relations entre les entités et leurs actions, et
d´une membrane. Il s´adapte à son environnement en s´en construisant
une représentation pour y agir au mieux, et en se réorganisant
dans ce but.
Le système construit, par simulation, une mise en scène d´un
scénario possible dont lui-même est acteur. Une mise à distance,
réalisée grâce à un langage abstrait, lui permet d´agir au sein de
cette représentation, et d´anticiper ce qu´il pourrait advenir
dans la réalité (c´est à dire dans l´environnement réel).
Un système adaptatif a la capacité d´apprendre et
l´organisation de ses entités de base constitue une mémoire
organisationnelle (voir Le connexionnisme en image
de synthèse
les mémoires associatives
Complexité organisationnelle
La complexité, dans le domaine du calculable, permet
de mesurer ce qui est facilement calculable, ce qui est difficile
de calculer ou, même, ce qui n´est pas exactement calculable.
La complexité de Kolmogorof C(s) d´une suite binaire
s est la longueur du plus petit programme d´une machine de Turing
universelle qui la produit.
La profondeur logique de Bennett P(s) d´une suite binaire
est le temps minimal de calcul d´un programme la générant. Par
exemple la genèse d´un être humain (ensemble de cellules) à
partir de son génome (suite linéaire exprimant le plan de cette
genèse) est un processus hautement complexe, et elle dure effectivement
9 mois.
P(s) traduit mieux la notion de complexité du precessus de
construction récursive d´une courbe De Von Koch à l´ordre 10,
que C(s)
qui est le même quel que soit la profondeur de la récurrence
(voir le cours
Éléments de mathématiques pour
la synthèse).
Un système adaptatif est initialement produit par un plan,
un programme, permettant la construction de ses entités
de base, leurs relations, sa membrane et sa structure. Ce programme
s´exécute en parallèle en tenant compte de l´état du
système en construction. Un système est dit organisationnellement
complexe si sa genèse implique des processus adaptatifs au
cour desquels le système, partiellement construit, s´adapte en
son entier, la réalisation du système étant sa dernière adaptation.
C´est le cas des systèmes adaptatifs.
Application aux installations interactives
L´installation comme système
Une installation interactive peut être vue comme
un système interagissant avec son environnement.
Mais c´est aussi un dispositif concret mis en situation réelle
avec le monde physique, on peut donc aussi la voir
comme réalisation d´un modèle.
Il y aura plusieurs types d´installations interactives correspondant aux
différents types de modèles évoqués ci-dessus: Fonctionnel,
comportemental et adaptatif (voir aussi 6-3-3):
L´interactivite réactive
Lorsque l´interactivité est réduite au constat qu´un humain
peut communiquer avec un ordinateur par l´échange de messages,
nous parlerons d´interactivité de degré zéro qui est
générée par un système réactif (voir 5-3-1).
C´est le cas par exemple d´un éditeur de texte,
d´une palette graphique ou, plus généralement, de toute
interface manipulant procéduralement les informations.
D´un tel système on ne peut rien attendre d´autre que ce que
ses concepteurs y ont mis, il ne présente donc aucun intéret du poins
de vue de la création. Pour des raisons qu´il resterait à
découvrir, la plupart des interfaces existantes recourent cependant
à ce genre d´interactivité (peut-être faut-il y voir une volonté
de simuler les anciens outils, réactifs, parce que mécaniques).
Les installations mécaniques
Les premiéres installations interactives
simulaient le fonctionnement des machines du XIX ème siècle par
un simple feed-back réflexe. L´ordinateur ne sert alors
qu´à améliorer la vitesse du processus, mais le même résultat
aurait pu pratiquement être obtenu par des moyens purement mécaniques.
La grande diffusion de cette forme d´interactivité contribue
d´ailleurs à disqualifier l´outil informatique auprès de
nombreux utilisateurs qui le considèrent comme répétitif et trivial,
peut-être n´ont-ils pas tord, du
moins en ce qui concerne ce genre de systèmes ...
Les installations dynamiques
La simulation de la mécanique Newtonienne améliore considérablement
le réalisme et procure des sensations kinesthésiques très intéressantes
(simulateurs et jeux de toutes sortes, en particulier appliqués
au sport), certains dispositifs, dits à retour d´effort,
symétrisent l´interaction, le système envoyant à l´utilisateur
des réactions physiques (et non plus seulement visuelles) instantannées,
en réponse à ses actions (voir par exemple les instruments de
musique virtuels de l´ACROE).
Les installations comportementales
Les modèles fonctionnels produisent des installations
entièrement déterministes, et ne
proposent, au mieux, qu´un ensemble de combinaisons
possibles (art permutationnel) à partir d´un vocabulaire
limité, le rôle du spectateur se limitant alors à parcourir un labyrinthe
(stratégies du choix mises en oeuvre par la visite des
sites sur Internet ou l´utilisation d´un CDROM).
Un modèle comportemental qui produit un système intégrant le
spectateur généralise la notion de participation
définie par Popper [Popper 80]: Il ne s´agit plus de réactions
programmées aux sollicitations d´un humain, mais de la réorganisation,
ni prévisible ni stable, d´un système complexe, hybridation de
machine et de nature, duquel émerge un comportement global
concernant aussi bien sa composante artificielle que sa composante
humaine.
C´est le cas de la
funambule virtuelle (Bret Tramus 2000)qui met en
scène une funambule virtuelle ainsi structuré:
1) Un module dynamique produisant des mouvements crédibles d´un
corps féminin en équilibre sur un fil et soumi à différentes forces:
Un champ de pesanteur.
Des forces réflexes de rééquilibrage.
Des forces externes produites par le module d´interaction.
Des forces internes volontaires produites par le module
comportemental.
2) Un module comportemental lui-même structuré sur
deux niveaux:
Production de forces réflexes de maintient de l´équilibre.
Production de mouvements volontaires sur ordre du
module connexionniste. Il s´agit en fait des sorties d´un réseau
neuronal interprétées comme des projets
(pratriquement des listes de couples appliqués aux articulations du corps)
qui sont ensuite exécutés (c´est à dire passés au module dynamique),
mais ils peuvent être interrompus à tout instant par un événement
extérieur.
3) Un module interactif interprétant les positions d´un capteur
(polhemus), manipulé par le spectateur, comme des forces externes
exercées sur le corps.
4) Un module connexionniste implémenté sous la forme
d´un réseau neuronal dont les entrées sont connectées
à des capteurs angulaires et de pression donnant les positions
relatives des membres et du pied en contact avec le fil, et dont les
sorties sont connectées au module comportemental.
Une ou plusieurs couches intermédiaires de neurones complexifient
le réseau.
Dans un premier temps les poids du réseau sont initialisés
aléatoirement, puis il
subit un apprentissage supervisé aucours duquel un certain
nombre de couples (Ei,Si) lui sont présentés,
pour chaque entrée Ei il calcule la sortie
Ci, la différence Ci-Si
entre la sortie calculée et la sortie souhaitée est utilisée comme
erreur pour corriger les poids du réseau (par la méthode de la
rétropropagation de l´erreur.
Lorsque toutes les erreurs sont
inférieures à un seuil donné, la matrice des poids est sauvée.
Dans un deuxième temps l´interaction est lancée en temps réel,
le module connexionniste utilisant la matrice précalculée.
Dans une version future, les deux processus (apprentissage et
utilisation de la matrice) seront lancés en parallèle, le
funambule apprenant, en temps réel, les réactions du spectateur.
Nous comptons aussi appliquer ce principe à la chorégraphie
en mêlant des danseurs virtuels "intelligents" à des danseurs
réels.
Les installations adaptatives
Un pas supplémentaire est franchi avec les modèles adaptatifs
qui se font une représentation de leur environnement et
qui modifient, non seulement leur comportement, mais encore
leur morphologie, aussi bien au niveau ontogénétique (de l´individu)
qu´au niveau phylogénétique (de l´espèce). L´installation est
alors un petit univers, ou un écosystème, se
développant de façon autonome, définissant ainsi une nouvelle
forme d´interactivité propre à la vie artificielle,
en symbiose avec le, ou les, spectateurs(s).
Karl Sims, avec son installation Genetics Images,
illustre ses recherches dans le domaine de la vie artificielle en
donnant à voir un processus d´évolution, obéissant aux principes
de la sélection naturelle de Darwin, à l´oeuvre sur des
images: Le spectateur est invité à choisir, parmi un certain
nombre de combinaisons génétique, celles des images qu´il préfére.
La fonction d´adaptation des algorithmes génétiques (avec
lesquels est programmée cette installation) est ici un choix
esthétique. Une nouvelle forme d´émotion artistique
est ainsi créée, qui n´est plus simplement une contemplation, mais
qui relève de la création même.
L´installation Las Meninas de Michael Tolson est une
réflexion sur la représentation inspirée du tableau de Velasquez,
elle se présente sous la forme
d´un double dispositif (reflétant le double mode de représentation
proposé par Velasquez):
D´une part un écosystème simulé constitué de
petites créatures artificielles dont la croissance et les mouvements
dépendent de l´intervention du spectateur (les processus sont gérés
par des réseaux neuronaux et des algorithmes génétiques). D´autre
part cette scène peut être vue, inversée (métaphe du
miroir dans le tableau), au moyen de jumelles
stéréoscopiques, procurant ainsi cette double vision.