GENESIS – Second petit intermède pour seuls geeks : deux types de compression

Illustration par ChatGPT

Dans GENESIS – Petit intermède pour seuls geeks – où était présenté un programme générant la suite de Fibonacci en tant que lignée reproductive, sans boucle « FOR… NEXT », remplacée par un « cycle de libido », la reproduction se poursuivant jusqu’à ce que la lignée ait atteint une profondeur cible – j’introduisais « C1 », une compression de premier type, pouvant être opérée lors d’un couplage.

J’explique : si lors du couplage de deux instances de même nature a et b, elles possèdent des éléments en commun (en termes ensemblistes : si leur intersection n’est pas vide) la description la plus courte (MDL = minimal description length) de la paire en tant qu’unité peut se contenter de mentionner une seule fois ce qu’elles ont en commun (en termes ensemblistes : la description la plus courte de la paire a et b est plus courte que l’union des descriptions de a et b envisagés séparément).

Dans le petit programme Python ci-dessous la compression de premier type « C1 » intervient à nouveau :

c1 = compress_overlap(e1, e2) :

= « C1 comprime le recouvrement des deux éléments a et b de la paire ».

Mais j’introduis dans ce petit programme, « C2 » : la compression du second type, celle que l’on peut opérer en raccourcissant la description conjointe de deux mécanismes A et B parce qu’on a découvert qu’ils sont analogues : qu’ils fonctionnent sous un certain rapport de la même manière. On peut du coup décrire dans une perspective « trans-substrat » la paire qu’ils constituent à deux en décrivant ce qu’ils ont en commun et en précisant ensuite en quoi chacun des deux mécanismes, A et B, se distingue de l’autre (en termes ensemblistes : l’intersection de A et B sert de point de départ de la description de la paire, à quoi on ajoute la description de A moins ce qu’il a en commun avec B, soit A \ B, et la description de B moins ce qu’il a en commun avec A, soit B \ A).

c2 = description_length_saved(rule, network)

= « C2 exprime l’économie réalisée dans la description des deux mécanismes (règle symbolique vs réseau neuronal) du fait de leur analogie ».

Donc « C1 » comme compression de deux instances de même nature, du fait de leur couplage, par élimination de la redondance entre les deux, compression habituellement qualifiée d’« optimisation », et « C2 » comme compression de deux mécanismes observés dans des substrats différents par découverte d’une « analogie » dans leur mode de fonctionnement, comme aboutissement d’une validation trans-substrat.

Le système génère des règles-rejetons qui généralisent l’analogie découverte entre les deux substrats (ici : symbolique ↔ neuronal).
C2 mesure la quantité de description que nous économisons grâce à une seule règle-rejeton rendant compte de plusieurs mécanismes.

schema Example { features: [x:any, y:any] }
schema Rule { features: [lhs:pattern, rhs:pattern] }

# Graines : exemples observés
population D = [
   Example(x: 0, y: 0),
   Example(x: 1, y: 2),
   Example(x: 2, y: 4),
   Example(x: 3, y: 6),

]

# Accouplement de symbolique à symbolique : rassemblement des exemples sous une règle provisoire
rule unify_examples(e1:Example, e2:Example) -> child_rule:Rule, c1
   where pattern = induce_pattern([e1, e2]) # par exemple, y = 2*x
     child_rule = synthesize(e1, e2) with [lhs: « x », rhs: « 2*x »]
     c1 = compress_overlap(e1, e2) # nombre moindre de paires si la règle est d’application
   end

# Analogie trans-substrat (C2) : alignement de la règle symbolique avec un petit predicteur neuronal
rule cross_substrate(rule:Rule, net:NeuralModel) -> unified:Rule, c2
   where agree = correlation( rule.predict(D.x), net.predict(D.x) )
     if agree > 0.95:
       unified = install(rule) # acceptation de l’explication symbolique
       c2 = description_length_saved(rule, D)
     else:
       unified = reject(rule); c2 = 0
   end

# Pulsion : la curiosité déclenche des tentatives de généralisation
drive curiosity(threshold = 0.5)

on cycle curiosity:
   e1, e2 = sample(D, 2)
   r, c1 = unify_examples(e1, e2)
   if c1 > 0:
     unified, c2 = cross_substrate(r, current_net)
     if c2 > curiosity.threshold:
       record(unified, origin= »C2″)

# Validation (condition pour qu’elle soit retenue)
validate(unified across D_test) >= 0.95

Lecture : la « boucle d’apprentissage » est le cycle de la curiosité ; la généralisation est une règle-rejeton acceptée uniquement si l’analogie entre les deux mécanismes dans des substrats distincts est élevée. Il s’agit ici de C2 en tant qu’abstraction : une seule règle explique de nombreux exemples (gain significatif en MDL = longueur minimale de la description).

Partager :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Contact

Contactez Paul Jorion

Commentaires récents

  1. https://www.theguardian.com/us-news/2025/nov/07/james-watson-scientist-dna-death Est ce que GENESIS a une structure en échelle torsadée ? Tant qu’a chercher les appariements conséquents, autant remonter…

  2. https://www.lemonde.fr/planete/article/2025/11/07/cop30-la-chine-soutient-l-action-climatique-par-interet-economique-avant-tout_6652648_3244.html https://www.lemonde.fr/economie/article/2025/11/07/shein-echappe-pour-l-heure-a-une-suspension-mais-le-gouvernement-assure-que-la-plateforme-reste-sous-surveillance-rapprochee_6652651_3234.html

Articles récents

Catégories

Archives

Tags

Allemagne Aristote BCE Bourse Brexit capitalisme ChatGPT Chine Coronavirus Covid-19 dette dette publique Donald Trump Emmanuel Macron Espagne Etats-Unis Europe extinction du genre humain FMI France Grands Modèles de Langage Grèce intelligence artificielle interdiction des paris sur les fluctuations de prix Italie Japon Joe Biden John Maynard Keynes Karl Marx LLM pandémie Portugal psychanalyse robotisation Royaume-Uni Russie réchauffement climatique Réfugiés Singularité spéculation Thomas Piketty Ukraine Vladimir Poutine zone euro « Le dernier qui s'en va éteint la lumière »

Meta