Bio-informatique et langages naturels

L’informatique est la science qui traite de la représentation et du traitement automatique de l’information par des machines. Ces machines peuvent être basées sur un fonctionnement

  • mécanochimique (code génétique)

  • électrochimique (système nerveux)

  • électronique (ordinateur moderne)

dna

Ce qui est absolument fantastique est ceci: quand vous êtes en train de lire une information sur votre smartphone:

  1. vous avez devant vous une machine électronique

  2. vous utilisez votre cerveau, qui est une machine biologique

  3. votre corps est constitué de 30 billiards de cellules qui contiennent des machines moléculaires qui lisent et exécutent votre code génétique en permanence.

La quantité totale d’information dans toutes les cellules d’un corps humain est de 45 Zo (zettaoctets). Ceci est l’équivalent de toutes les données produites au niveau mondial dans l’année 2019.

Le traitement de l’information

Le traitement automatique de l’information n’est pas quelque chose de nouveau, né avec nos ordinateurs modernes. Il existe depuis des milliards d’années. Ce qui est essentiel est:

  • un code

  • une machine pour exécuter ce code

Nous allons voir l’évolution des processus du traitement de l’information au niveau de l’évolution sur terre avec l’apparition:

  • code génétique - 3.6 milliards d’années

  • système nerveux - 500 millions d’années

  • langage naturel - 100’000 années

  • langage écrit - 5000 ans

  • impression - 500 ans

  • informatique moderne - 100 ans

Le code génétique

La nature elle-même a dévoloppé un langage de représentation d’information et de description de processus. Ce sont le code génétique et la machinerie cellulaire capable de lire ce code et de l’executer. On estime que ces premiers microorganismes (procaryotes) sont apparus sur terre il y 3.6 millards d’années.

cell

Physiquement, le code génétique est une chaine composée de 4 molécules que nous nommons A, C, G et T. Le nom que nous leur donnons est complètement arbitraire. Nous avons donc un support physique, ces longues chaines moléculaires, qui sont constituées de quelques milliers de molécules dans les organismes simples, jusqu’à quelques milliards de molécules chez l’humain.

Une des fonctions essentielles est la réplication de code, qui est rendu possible par les double chaines complémentaires. Les molécules A ont une affinité pour les T, et les G pour les C. Une chaine ACGT aura comme complément TGCA.

Le code génétique a une signification et il possède une machinerie pour le lire et executer. La signification se présente sous forme d’un système hiérarchique. Au plus bas niveau, des chaines de trois lettres que nous appelons triplets forment des mots. Par exemple la séquence CAT représente l’acide aminé glutamine. D’ailleurs, la représentation de cette molécule avec le langage symbolique à la chimie est celui-ci:

glutamine

Ces mots (triplets) désignent une vingtaine d’acides aminés différents. Des séquences d’acide aminé forment des protéines. La machine moléculaire capable de lire le code génétique est d’en exécuter la première étape de son interprétation sont les ribosomes. C’est eux qui

  • lisent le code génétique

  • assemblent des protéines (à partir d’acides aminés)

Les ribosomes sont des machines moléculaires (mécano-éléctro-chimique) qui sont eux-mêmes construites de protéines. Ils sont la première étape d’un procéssus hiérarchique d’autoconstruction.

Au cours de l’évolution naturelle, le code génétique a subi de légères variations que nous appelons mutations. Ces modifications aléatoires du code informatique, avec une sélection naturelle des solutions les plus adaptées à la survie, ont mené au code génétique que nous trouvons actuellement dans tous les organismes sur notre planète.

Le système nerveux

Si le code génétique existe depuis 3.6 milliards d’années, le système nerveux est bien plus récent, faisant son apparence il y a 500 millions d’années.

C’est un système composé de quelques centaines de cellules chez des organismes simples, jusqu’à une centaine de milliards de neurones chez l’humain.

Le système nerveux traite des informations provenant des capteurs sensorielles (chimique, mécanique, lumière) pour produire des actions. Dans des organismes simples, des capteurs chimiques peuvent leur permettre de se diriger vers la nourriture, ou de se déplacer et chercher un environnement plus propice à leur survie.

La composante de base d’un système nerveux est le neurone, un type de cellule spécialisé qui peut:

  • former des connexions avec d’autres neurones

  • transmettre des signaux électriques et chimiques

neuron

Si le ribosome est un système linéaire, qui lit le code génétique d’un point de départ vers sa fin et produit une protéine, en ajoutant un élément à la fois, le système nerveaux est beaucoup plus complexe. Nous sommes face à un réseau interconnecté ou les informations peuvent circuler de façon complexe, et simultanément dans tous ses neurones. Le système nerveux est un système de calcul en parallèle.

Le code qui décrit le comportement du cerveau n’est pas du tout évident. Il n’est pas localisé dans une séquence linéaire comme dans le code génétique. Bien sûr, la forme du neurone, sa composition, son comportement électrochimique, etc. sont tout décrits dans le code génétique de chaque neurone. Le code génétique dirige aussi dans une certaine forme la formation du réseau d’interconnexions.

Mais ensuite c’est le réseau lui-même, avec des neurones qui font des nouvelles connexions avec certains neurones, mais pas avec d’autres, qui détermine le comportement global du cerveau.

L’information traverse le système nerveux sous deux formes:

  • des potentiels d’actions (signaux électriques)

  • des neurotransmetteurs (signaux chimiques)

Les points de contact entre neurones sont appelés synapses. Ils sont :

  • unidirectionnels (on parle de neurone pré- et post-synaptic)

  • peuvent être de type inhibiteur ou activateur

  • peuvent varier en intensité au cours du temps

Le fait que la force des interconnexions (poids synaptique peut varier) peut varier au cours du temps est la base pour:

  • l’apprentissage

  • la mémoire

Le langage naturel

Un langage naturel, ou langage ordinaire est un langage parlé par un être humain. Il s’oppose au langage formel, tel que le langage informatique ou le formalisme en mathématique.

Le langage naturel est apparu entre 200’000 et 50’000 ans avant notre ère. On pense que les premières langues étaient gestuelles et n’avait pas de syntaxes. D’autres théories présument que le protolangage de l’homme de Néanderthal était chanté.

En 1998 on a découvert que le gène FOXP2 (la protéine Forkhead-Box P2) donc une partie spécifique du code génétique, serait très important pour la transmission du langage et les capacités grammaticales.

foxp2

Des études du cerveau nous permettent de localiser les régions responsables pour la perception et la production du langage. Ce sont les aires de Broca et l’aire de Wernicke.

Les langues naturelles, tel que le français et l’anglais ont évolué au cours de plusieurs milliers d’années.

Le langage écrit

L’écriture est un moyen de communication et de stockage d’information à travers l’inscription de symboles sur un support. Par rapport au langage parlé, le langage écrit permet:

  • la communication entre individus distants (la lettre)

  • le stockage d’information (le livre)

Le plus ancien système d’écriture sont les glyphes du peuple des Maya, vieux d’environ 5000 ans. Lors de la conquête espagnole au 16e siècle, il existait de nombreux livres semblables qui furent par la suite détruits sur une large échelle par les conquistadors et les prêtres.

Maya

D’autres systèmes d’écriture ont été développés à peu près dans la même période:

  • l’écriture cunéiforme des Sumériens en Mésopotamie

  • les hiéroglyphes égyptiens en Égypte

Le premier véritable alphabet est l’alphabet grec. L’alphabet latin en est un déscendant direct. C’est le système d’écriture le plus utilisée dans le monde d’aujourd’hui.

L’alphabet latin s’écrit avec 26 lettres ou symboles, qui représentent des phonèmes de la langue parlée. Ces lettres sont combinées en séquences que nous appelons des mots. Les mots sont porteurs de sens. Ils font référence à des objets, des catégories et des idées. Les mots, séparés par des espaces, sont composés pour former des phrases. Les phrases expriment des relations entre des objets, pouvant par exemple décrire une situation. Les phrases sont délimitées par un autre ensemble de symboles que nous appelons symboles de ponctuation.

Dans un livre, plusieurs phrases forment des paragraphes, qui permettent de formuler une idée. Multiples paragraphes forment un chapitre. Multiples chapitres finalement peuvent former un livre, qui représente une collection exhaustive sur un sujet particulier ou une narration complexe.

On peut aller même plus loin: des collections de livres forment des bibliothèques, et l’ensemble des bibliothèques forment le répositioire littéraire et culturel mondial.

Nous avons donc un système hiérarchique pour la représentation de l’information en langage naturel composé de: lettres, mots, phrases, paragraphes, chapitres, etc.

L’invention de l’impression

Vers 1450, Johannes Gutenberg, a inventé est mis au point une presse, avec des caractères mobiles en plomb, et de l’encre grasse qui permet de reproduire des pages de texte en très grande quantité.

Bien que, les caractères mobiles ont été inventés déjà auparavant en Chine et en Corée, l’invention de Gutenberg a déclenché une révolution de l’information. La diffusion rapide de l’information est devenue possible, permettant la diffusion rapide de

  • affiches

  • manifestes

  • journaux

  • livres

caractères mobiles

La typographie désigne les différents procédés de composition et d’impression, dans un but esthétique et pratique.

Les langages formels

L’homme a également inventé d’autre systèmes descriptifs telle que

  • le formalisme mathématique

  • la notation musicale

  • le symbolisme des réactions chimiques

  • les langages de programmation pour les ordinateurs

Ces langages formels sont bien décrits, ont leur grammaire, syntaxe, orthographe et lexique.

Le langage informatique

Un langage de programmation est une façon de dire à un ordinateur ce qu’il doit faire. D’une manière similaire à une langue naturelle, un langage informatique est composé de ceci :

  • un alphabet

  • un vocabulaire

  • une grammaire

  • des significations

Un langage de programmation est avant tout compréhensible pour les humains. Il est facilement compréhensible à un programmeur » et peut être partagé dans une communauté de développeurs.

Le langage de programmation est un langage de haut-niveau qui n’est pas directement compréhensible par l’ordinateur. Il doit être traduit d’abord en langage machine, langage de bas-niveau à l’aide d’un compilateur ou d’un interpréteur.

Un compilateur traduit le programme source (de haut-niveau) en langage machine d’un seul coup. Le processus peut être assimilé à la traduction d’un livre.

Un interpréteur traduit le programme ligne par ligne, en temps nécessaire. Le code machine produit n’est pas sauvegardé. Le processus peut être assimilé à un interprète humain, qui traduit une conversion entre deux individus.

Le langage machine

Le langage machine est composé d’instructions directement compréhensibles par le processeur. Ce sont des instructions de base du type:

  • chargeur une valeur depuis la mémoire (LDA = load accumulator)

  • mémoriser une valeur vers la mémoire (STA = store accumulator)

  • faire une opération mathématique de base (ADD, SUB, MUL)

  • faire une opération logique de base (NOT, AND, OR)

  • sauter vers un autre endroit dans le programme (JMP)

assembleur

Dans l’image en dessus, la première colonne représente l’adresse, la deuxième le code machine, compréhensible par le processeur, et la troisième colonne une représentation mnémonique appelée langage d’assembleur, compréhensible par l’humain. Nous reconnaissons le code 86 13 qui indique au processeur de placer la valeur hexadécimale 13 dans l’accumulateur A (LDA A #13).