PokéScience

C'est pas Sorcilence n°22

Porygon : le cyber-canard en caoutchouc

Si vous suivez C'est pas Sorcilence (abonnez-vous) depuis suffisamment longtemps, vous avez dû vous apercevoir que les générations les plus riches en Pokémon physiquement inexplicables sont les premières. Des lois de l'électricité à celles de la thermodynamique, la physique a été grandement malmenée par l'univers Pokémon, en particulier pour les créatures de la première génération. Et aujourd'hui, on ne va pas déroger à cette règle (enfin pas complètement) puisqu'on va parler de Porygon, et un peu de ses évolutions. Et cette fois-ci, on va laisser un peu la physique tranquille pour se pencher sur l'informatique, ma profession.

« Eh, mais il est où celui qui fait ces articles d'habitude ? »
- Vous, à propos du contenu de ma cave

Il est actuellement indisponible, mais il m'a demandé de le remplacer pour cet épisode, pour parler de numérique. Si vous préférez, il est mon Jamy et je suis sa Sabine. Et vous allez voir, il y en a des choses à dire sur Porygon.

Déjà, commençons par introduire doucement la créature. Basiquement, il s'agit d'un canard mal sculpté. On a vu mieux. Là où ce Pokémon est incroyable, c'est qu'il a envoyé plein de vrais enfants à l'hôpital. Bien loin du pauvre Pistolet à O de ton Carapuce préféré. En effet, sa seule apparition dans le dessin animé s'est faite au sein d'un épisode où la production avait ignoré les règles de sécurité en matière d'effets de lumière stromboscopiques, en intégrant une attaque Fatal-Foudre un peu trop fatale. Les effets de lumière ont causé des crises de convulsions à un certain nombre de jeunes spectateurs au Japon. L'épisode ne fut plus jamais diffusé par la suite, et Porygon disparut avec lui, ne réapparaissant qu'à l'occasion de quelques films sur quelques plans.


Comme quoi, y a pas besoin de ressembler à quelque chose pour être dangereux.

Concrètement, qu'est-ce que c'est, un Porygon ?

D'après le Pokédex

Avec le temps et les générations, le jeu nous a gratifié d'un certain nombre de descriptions de Pokédex, qui nous permettront de comprendre un peu ce qu'est cette chose. Prenons par exemple cette description de Pokémon Émeraude (qu'on retrouve en substance dans plusieurs autres jeux) :

« Il peut se décompiler et retourner à l'état de programme informatique pour entrer dans le cyber-espace. Protégé contre le piratage, il est impossible à copier. »

Pour comprendre un peu ce que signifie cette description, il faut définir les principaux termes techniques. Expliquons d'abord ce qu'on entend par « décompiler », donc on va parler de compilation.


Dr. Pirokssaine

Comme mon intégrale de Jean-Pierre Fromage ?

Non (mais excellents goûts musicaux, docteur). Pour parler de compilation, il va être nécessaire de parler de code source.


Dr. Pirokssaine

Comme celle du Mont Gerbier-de-Jonc ?

Non plus, et je vous prie d'arrêter vos interventions intempestives si vous ne souhaitez pas rejoindre Lunoray. Un code source, c'est le code qu'un développeur écrit, pour créer un programme. Il est écrit dans un langage de programmation, à peu près intelligible par un développeur. Il en existe une grande quantité, pour différents usages. Citons par exemple le C, le Javascript ou le PHP. À peu près tous les programmes actuels sont écrits grâce à un langage de programmation, que ce soit votre jeu vidéo Pokémon favori, votre système d'exploitation, votre navigateur web, ou même le site web Pokémon Trash sur lequel vous lisez cet article !


Ça, par exemple, c'est le code source, en C, de la procédure de suppression de sauvegarde de Pokémon rubis.

Le problème d'un langage de programmation, c'est que, si c'est facilement compréhensible par un humain (enfin un humain qui a été formé pour, en tout cas), ça l'est nettement moins par un ordinateur. Parce que, schématiquement, un ordinateur, ça ne sait interpréter que des instructions sous forme de nombres, qui ont été écrites spécifiquement pour lui. Donc pour qu'il comprenne le programme, il faut d'abord lui traduire. Pour cela, il existe plusieurs solutions.

La première passe par une interprétation. En gros, on a un programme, compréhensible par la machine donc, qui est spécifiquement conçu pour lire votre programme, et l'exécuter. On appelle ça un interpréteur, et c'est, par exemple, le cas de votre navigateur web, qui interprète une partie du code de notre site. Ça a l'avantage d'être facile à utiliser, mais ça nécessite, pour l'utilisateur, d'installer ledit interpréteur, et ça a généralement de moins bonnes performances.

La seconde passe par la compilation (et c'est là qu'on en vient à notre sujet), qui consiste à "traduire", une bonne fois pour toutes, votre programme, pour être compréhensible directement par l'ordinateur. L'ennui, c'est que ça prend du temps, et il faut faire une compilation pour chaque architecture d'ordinateur sur le marché. Par contre, les performances sont meilleures, et ça tourne directement sur la machine du client. Les programmes compilés sont, par exemple, Windows. Ou, vraisemblablement, votre navigateur web.


Exemple de programme compilé, qui exécute un programme interprété (oui c'est méta)

Pour la décompilation, maintenant, comme on peut s'en douter éthymologiquement, c'est le processus inverse. C'est-à-dire qu'on va transformer un programme compilé en son code source. En vrai, c'est loin d'être un processus simple, mais c'est pas vraiment grave, vu qu'ici, Porygon peut. On sait pas comment, mais il peut

Donc jusqu'à présent, la description Pokédex fait sens, surtout qu'il est question de retourner à l'état de programme informatique. Il nous reste donc à définir le terme cyber-espace. Bon. Alors. Concrètement. Ça veut pas dire grand chose. Le terme était utilisé au début des années 80 (je vous parle d'un temps que les moins de 31 ans ne peuvent pas connaître) pour désigner internet et tout ce qui l'entoure. Depuis, c'est un terme qu'on aime bien retrouver dans des œuvres de science-fiction à bas-budget pour désigner ce qui est numérique mais qu'on n'a pas le temps d'expliquer (une sorte de « ta gueule, c'est magique » appliqué à l'informatique). 

En supposant qu'il soit question d'internet, est-ce que ça prend soudain sens ? Non. Ça ne veut toujours rien dire, il n'y a pas de raison pour laquelle un code source pourrait plus facilement se diffuser et se déplacer sur Internet (c'est même l'inverse). Par conséquent, le Pokédex raconte des conneries. C'est pas la première fois, ni la dernière, mais c'est toujours un peu dommage de voir ce si consciencieux professeur Seko se tromper.


Généralement, quand ta description Pokédex est proche des explications données dans Code Lyoko Evolution, c'est plutôt mauvais signe...

Cependant, pour essayer de comprendre un peu mieux cette créature, il nous reste un élément de choix, à disposition de tout Pokéfan : l'anime. Nous allons donc nous pencher sur le fameux épisode interdit, pour comprendre un peu mieux comment ça marche.

Porygon selon l'anime

Dans l'épisode Le soldat virtuel Porygon, le système de téléportation de Poké Balls ne fonctionne plus, et se contente de désintégrer les Pokémon (un peu comme aux pires heures de Twitch Plays Pokémon), ce qui pose problème. C'est ainsi qu'un mystérieux savant-fou, le professeur Akihabara, propose aux protagonistes de les envoyer dans un monde virtuel pour affronter le mal à la racine (en l'occurrence la Team Rocket), ce qui ressemble étrangement au pitch d'un certain dessin animé français. Ils y font la rencontre de plusieurs Porygon, dont un contrôlé par la Team Rocket. Un combat s'engage, des enfants sont hospitalisés, la Team Rocket est vaincue, l'antivirus est lancé, et nos héros reprennent leur vie.

Cela nous permet donc d'introduire un concept intéressant : celui des mondes virtuels. D'un point de vue purement scientifique, on peut qualifier cela de science-fiction. Rien de tel n'existe, ni n'est en mesure d'exister en l'état actuel des technologies (et on est loin de l'existence d'un tel système). En effet, cela impliquerait plusieurs problématiques. Tout d'abord, être téléporté dans un monde virtuel implique ni plus ni moins que de détruire votre corps, pour en créer une copie numérique. Ce qui est vaguement crédible, du moment qu'on essaie pas d'en revenir. À ce moment, cela implique de recréer votre corps à l'aide de votre empreinte numérique, ce qui est nettement plus complexe. On pourrait imaginer une sorte d'imprimante 3D extrêmement perfectionnée, mais c'est déjà loin d'être crédible.

Et c'est là qu'on s'attaque à une problématique majeure : la conscience. Si on peut imaginer transférer un corps "physique" du monde réel à un ordinateur et inversement, pour ce qui est de votre conscience, créée, notamment, par les signaux électriques de votre cerveau, c'est nettement plus compliqué. À l'heure actuelle, on ne sait absolument pas lire ça informatiquement, ni le créer, et encore moins le simuler informatiquement.


Encore une explication compatible avec Code Lyoko, et encore de grosses carabistouilles...

Évidemment, on sait simuler des intelligences artificielles basiques, qui, bien que de plus en plus perfectionnées, sont limitées à une fonction précise, qu'elles font sans conscience. C'est là qu'est important le terme « artificiel » dans « intelligence artificielle ». En réalité, pour émuler un cerveau humain, il faudrait un processeur qui aie une structure, artificielle, de cerveau humain. Et bien entendu, il faudrait un ordinateur-cerveau par humain dans le monde virtuel. Autant vous dire que ça n'est pas réaliste du tout.

Concernant celui qui nous intéresse, Porygon, on pourrait imaginer le créer dans un monde virtuel sous forme de jeu vidéo, avec une intelligence artificielle. C'est d'ailleurs ce qui est fait avec succès dans certains jeux Pokémon. Mais ça reste une intelligence artificielle, donc sans conscience. Toutefois, on pourrait imaginer que ce Pokémon a été créé, pour un usage expérimental, dans une simulation virtuelle, et que nos héros y accèdent par un dispositif comme un casque de réalité virtuelle. Cela écarte toute possibilité de rapport avec un système de transfert de Pokémon, de toute façon irréaliste, mais peut justifier l'existence de Porygon.

Selon cette théorie, Porygon n'est, très schématiquement, rien de plus qu'un mod Minecraft. Et il est donc compliqué de le considérer comme un Pokémon à part entière, étant donné qu'il ne peut avoir d'existence matérielle. Ainsi, on peut, scientifiquement, affirmer que Porygon n'a aucun sens, et que donc le monde de Pokémon n'est pas crédible scientifiquement.


Pr. Von Kartoffel
Mais dans ce cas, à quoi sert-on ?

À rien, mon cher professeur. Faisons alors abstraction de cette... abstraction, et concentrons-nous sur deux autres canards.


Pr. Mira Darwin
Comme celui qu'il y a dans ma salle de bain ? ^^

Absolument pas, plutôt comme Porygon2 et Porygon-Z.

Porygon(2⁴*((5*7)-(17*2))*(1/(√16*2)))

Pour Porygon2, on va essentiellement se baser sur le Pokédex, et on va commencer directement avec du lourd, celle de Bouclier !

« Depuis qu'on l'a doté d'une intelligence artificielle, il parle un langage mystérieux que seuls ses congénères comprennent. »

Qu'est-ce qu'elle nous apprend ? Eh bien, en partant du principe que Porygon2 est, comme son nom l'indique, une mise à jour de Porygon (obtenue grâce à l'Améliorator, d'où sa forme de CD), on prend connaissance du fait qu'il bénéficie maintenant d'une Intelligence Artificielle, et donc que ce n'était pas le cas de Porygon. Cela nous éclaire donc, à la fois sur la nature de Porygon2, et sur celle de sa version antérieure.

Je vais donc commencer par vous expliquer ce qu'on entend par « Intelligence Artificielle » (ou IA). Ce terme est en fait assez large, puisqu'il désigne un champ complet de la recherche, en informatique, mais aussi en mathématiques, voire en biologie. Ce qu'on entend lorsqu'on parle d'une IA, c'est un programme produit par ces sciences, qui cherche à simuler une intelligence humaine. D'un point de vue « utilisateur », cela peut en réalité concerner énormément de programmes, y compris une intelligence artificielle de shifumi, qui se contente de choisir aléatoirement une des trois possibilités.

D'un point de vue informatique, en revanche, la définition n'est pas clairement établie, et fait encore débat, mais on tend à considérer qu'une intelligence artificielle est un programme capable d'acquérir un comportement pour lequel il n'a pas été spécifiquement programmé. En somme, un programme capable « d'apprendre ».


L'avenir de l'humanité, paraît-il.

C'est devenu nécessaire avec la complexification des cas d'utilisation. Par exemple, pour un logiciel de reconnaissance faciale, il n'est pas réaliste de programmer soi-même la reconnaissance, en identifiant manuellement chaque trait du visage et sa position éventuelle pour les comparer. À la place, on va créer un programme qui va créer ce qu'on appelle un modèle (pour le cas du Machine Learning, qui est l'un des plus populaires, mais loin d'être le seul). 


Pr. Mira Darwin
Comme Inézia la top modèle ? :D

Non. Un modèle, ça va être un programme très complexe, créé à l'aide de notre algorithme et de mathématiques poussées (enfin de fonctions, globalement), qui va faire ce travail d'intelligence artificielle. Reprenons notre exemple de reconnaissance faciale. On va entraîner notre modèle, c'est-à-dire qu'on va lui donner des photos de gens, parfois de mêmes personnes, et parfois non, en lui disant, à chaque fois, quel est le résultat attendu. On va faire ça beaucoup de fois (vraiment beaucoup, genre des centaines de milliers au minimum). À force, l'algorithme va trouver des points de similitudes entre les différents cas donnés, et sera donc, après entraînement, en mesure de différencier des visages, même s'il ne les a jamais vus précédemment.

Évidemment, ce n'est pas une science exacte, il y a des cas où, pour une raison ou une autre, l'intelligence artificielle donne de mauvais résultats (ce qui peut avoir des conséquences terribles dans le cas où il s'agit d'une voiture autonome, par exemple). 


Ce genre de trucs (source : reddit)

Donc finalement, ce qui différencie une intelligence artificielle d'un programme habituel, c'est sa capacité à apprendre. Ainsi, « l'intelligence artificielle » de notre Porygon, serait un simple algorithme, quand Porygon2 serait, lui, doté d'une véritable intelligence artificielle. Cela corobore la théorie dite du mod Minecraft, avec Porygon qui a une logique simple, et un Porygon2 nettement plus évolué. Bon, par contre, ça infirme quelques trucs. Comme la capacité de Porygon à s'adapter ou à apprendre des attaques. Mais on n'est plus à ça près en termes de logique, on a déjà accepté depuis plusieurs paragraphes que Porygon n'a aucun de sens, et que l'univers Pokémon ne tient pas debout.

Revenons donc à notre second canard, car la biographie nous apprend également que « il parle un langage mystérieux que seuls ses congénères comprennent ». Et un modèle peut, effectivement, avoir été programmé pour écrire dans une langue, et un autre pour le comprendre. Quant à l'aspect mystérieux du langage, il peut s'agir d'un mauvais entraînement du modèle, comme d'un langage conçu pour des usages informatiques, un peu à la manière... d'un langage de programmation. 


Pr. Mira Darwin
La boucle est bouclée ^^

Après, ça me paraît un peu lourd de créer et entraîner un modèle spécifiquement pour que deux programmes communiquent, car c'est quelque chose qu'on sait très bien faire sans IA. Mais après tout, pourquoi pas, surtout pour un Pokémon aussi expérimental que Porygon2.

Bon, du reste, comme Porygon, il n'y a pas de raison pour laquelle Porygon2 peut exister dans le monde physique, c'est un mod Minecraft, au même titre que le premier. Un peu amélioré, mais mod Minecraft quand-même. Donc ça n'a toujours aucun sens, mais je pense que vous l'aviez compris. Passons au dernier Pokémon !

Porygon-Z

Comme pour Porygon2, le Pokédex sera notre seul salut. Prenons par exemple celle de Pokémon Platine :

« Il a été modifié pour être capable de travailler dans des dimensions parallèles, mais c'est un échec. »

Globalement : Ça n'a aucun putain de sens, j'ai pas signé pour parler des multivers, Porygon-Z n'a ni queue ni tête


Pokedexally accurate Porygon-Z

Conclusion sur les cybercanards

Globalement : aucun de ces Pokémon n'a vraiment de sens, ce qui montre que Pokémon est un univers fictif


Dr. P.T. Rash
Sérieusement ?

Bon, ok, Pokémon est fictif, on le savait. Mais ça aura permis d'expliquer quelques concepts informatiques en lien avec cette créature des enfers. Lunoray vous retrouve très prochainement pour un numéro de C'est pas Sorcilence de son cru (s'il parvient à s'échapper) ! Pour ma part, je vous souhaite une bonne fin de vie, et vous retrouve autre part sur ce site !

Bisous !

« Eh, c'est un ragondin ? »
Lunoray, à propos des autres habitants de ma cave.

« Blblblblblblblblbl »
- SattSaturne, après avoir allumé sa télévision au mauvais moment

« Vbrrrrrrrrrrr »
- Le Porygon du Pr. Mira Darwin.

« Je collectionne les canaaaards... virtuels ! »
- Cyber Vomit

« Porygon me donne envie de danser la Java »
- Anne Roumanoff

Par Dracoctix
  • Pokéa 07/10/2023 à 19:03
    Dark le philosophe !
    Moi j'ai kiffé !
  • Dark 06/05/2023 à 07:47
    Bel article.
    Cependant
    Une occasion manquée de parler d'un sujet intéressant - les ordinateurs quantiques pour Porygon Z.
  • Dracoctix 03/05/2023 à 00:28
    Merci, c'est corrigé :)
  • Zarbi 02/05/2023 à 17:29
    Désolé mais vous avez écrit "passant [au pokemon suivant]" au lieu de Passons.
  • Kinak 01/05/2023 à 14:46
    La photo de profil, dracoctix! M'enfin! La ref indomptable
  • Choice specs Dunsparce 01/05/2023 à 09:59
    "Il est mon Jamy et je suis sa Sabine", c'est bô putain. Et Mark Zuckerberg en sueur devant un tas de polygones qui fonctionne dans un metavers meilleur que le sien alors qu'il a 20 ans de plus...
    Et pour aller toujours plus loin dans le délire, dans plusieurs autres descriptions pokédex, on nous dit que les porygon ne respirent pas et qu'ils ont été envoyés dans l'espace pour terraformer d'autres planètes, mais qu'ils sont incapables de bouger en apesanteur. Et plus on prend les descriptions de jeux récents, plus ils insistent sur le fait que Porygon de base est dépassé et basique de chez basique (surtout en 7G).