English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

Distance dans l'espace binaire

La plus célèbre contribution technique de Richard Hamming : les codes correcteurs d'erreurs. L'idée géométrique derrière eux s'étend bien au-delà de tout code spécifique.

Distance de Hamming

Étant donné deux chaînes binaires de longueur égale, la distance de Hamming d(u, v) compte les positions où elles diffèrent :

`` u = 1 0 1 1 0 v = 1 1 1 0 0 ↑ ↑ d(u,v) = 2 ``

Ceci satisfait les trois axiomes de métrique : d(u,v) ≥ 0 ; d(u,v) = 0 ssi u = v ; d(u,v) = d(v,u) ; d(u,w) ≤ d(u,v) + d(v,w). L'espace binaire n avec distance de Hamming forme un espace métrique valide.

La géométrie se visualise clairement en dimensions basses. Toutes les chaînes de 3 bits vivent aux 8 sommets d'un cube. Les sommets adjacents par une arête diffèrent dans exactement 1 bit ; les sommets en diagonale de face diffèrent dans 2 ; les sommets antipodaux (par ex. 000 et 111) diffèrent dans 3.

Hypercube 3-bit : Distance de Hamming

Calcul de la distance de Hamming

Le poids de Hamming wt(v) compte le nombre de 1 dans v. La distance se rapporte au poids via XOR :

d(u, v) = wt(u XOR v)

Exemple : u = 10110, v = 11100. XOR = 01010. Poids = 2. Donc d(u,v) = 2.

Calculez d(u, v) pour u = 10011101 et v = 11010100. Montrez l'étape XOR, puis comptez les positions de bits différentes.

Correction d'erreurs par empaquetage de sphères

Un code binaire C ⊆ {0,1}^n se compose de codewords choisis. Lorsqu'un codeword se transmet sur un canal bruyant, certains bits peuvent se inverser. Le récepteur reçoit une chaîne corrompue et doit récupérer l'original.

Définissez une boule de Hamming de rayon t centrée au codeword c :

B(c, t) = { v ∈ {0,1}^n : d(c, v) ≤ t }

Pour corriger jusqu'à t erreurs, les boules B(c, t) autour de chaque paire de codewords ne doivent pas se chevaucher. S'ils se chevauchent, un mot reçu pourrait se trouver dans deux boules et le décodeur ne peut pas déterminer quel codeword a été envoyé.

La distance minimale d_min du code gouverne tout :

- Détecter jusqu'à d_min − 1 erreurs - Corriger jusqu'à ⌊(d_min − 1) / 2⌋ erreurs

Code de Hamming (7,4) : n = 7 bits, k = 4 bits de données, d_min = 3. Corrige 1 erreur. En détecte 2.

Correction d'erreurs : Empaquetage de sphères

Un code a une distance minimale de 5. Combien d'erreurs peut-il détecter ? Combien peut-il corriger ? Montrez les formules, puis calculez les deux valeurs.

Combien de codewords tiennent ?

Combien de codewords un code de longueur n peut-il contenir tout en corrigeant t erreurs ? Chaque codeword « possède » une boule de rayon t. Toutes les boules ensemble doivent rentrer dans {0,1}^n, qui a 2^n points.

Volume d'une boule de Hamming de rayon t dans {0,1}^n :

Vol(n,t) = Σ_{i=0}^{t} C(n, i)

La borne de Hamming (borne d'empaquetage de sphères) suit directement : un code corrigeant t erreurs satisfait

M · Vol(n,t) ≤ 2^n

où M = nombre de codewords. Donc M ≤ 2^n / Vol(n,t).

Pour le code de Hamming (7,4) : n=7, t=1. Vol(7,1) = C(7,0) + C(7,1) = 1 + 7 = 8. Borne : M ≤ 128 / 8 = 16. Le code (7,4) atteint M = 2^4 = 16 : un code parfait, ce qui signifie que les boules partitionnent {0,1}^7 sans lacunes.

Pour n = 15 et t = 1 (correction d'erreur unique), calculez Vol(15, 1) et la borne de Hamming sur le nombre de codewords M. Est-ce que M = 2^11 est réalisable étant donné la borne ?

√n vs n

Hamming a utilisé un argument de marche aléatoire pour rendre la valeur de la vision à long terme précise. L'argument convertit une affirmation vague — « la vision aide » — en fait géométrique sur les distances.

Marche aléatoire symétrique sur ℤ

À chaque étape, se déplacer +1 ou −1 avec probabilité égale. Après n étapes, déplacement attendu à partir de l'origine : E[|X_n|] ≈ √n.

Cela suit de la variance : Var(X_n) = n (étapes indépendantes, chacune ±1 variance 1). Écart-type = √n.

Marche dirigée

À chaque étape, se déplacer +1 avec probabilité p > 1/2 (biais vers un objectif). Après n étapes, position attendue : E[X_n] = n(2p−1). Pour p = 1 (entièrement dirigé) : E[X_n] = n.

Le contraste : la dérive aléatoire se met à l'échelle comme √n ; le progrès dirigé se met à l'échelle comme n.

Marche aléatoire vs marche dirigée

Traduction de Hamming

Dans une carrière de recherche, chaque jour de travail représente une étape. Sans vision claire de ce qui importe, le travail dérive dans de nombreuses directions : après n jours, le progrès net ≈ √n. Avec une vision cohérente à long terme, l'effort s'aligne : après n jours, le progrès net ≈ n. Le ratio n / √n = √n croît sans limite.

Le ratio √n

La marche dirigée ne demande pas une visée parfaite. Tout biais persistant vers un objectif convertit la dérive √n en quelque chose de plus proche du progrès n.

Hamming a dit qu'une personne avec une vision claire accomplit à peu près √n fois plus au cours d'une carrière que quelqu'un sans elle, où n est le nombre de jours de travail. Si une carrière s'étend sur 10 000 jours de travail, quel ratio cela prédit-il ? Qu'est-ce que le nombre suggère sur la valeur pratique d'une vision soutenue ?

Limites du modèle

Un modèle qui prédit un rendement 100x à partir de la vision mérite un examen attentif. Plusieurs choses qu'il omet :

1. Dimensionnalité : les carrières opèrent dans un espace de haute dimension, pas ℤ. La géométrie d'une marche aléatoire en ℝ^d change significativement avec d.

2. Corrélation : les étapes de recherche se corrèlent — le travail d'aujourd'hui s'appuie sur celui d'hier. Les marches corrélées se comportent différemment des étapes i.i.d.

3. La vision elle-même peut être fausse : une marche dirigée vers le mauvais attracteur est pire que la dérive.

Identifiez une hypothèse sur laquelle l'argument √n vs n dépend que vous considérez comme la plus suspecte dans les carrières de recherche réelles. Expliquez pourquoi cette hypothèse importe pour la prédiction 100x.

Temps de doublement

Hamming a ouvert son cours avec l'affirmation que les connaissances techniques doublent à peu près tous les 17 ans. Cette affirmation a une structure mathématique précise : la croissance exponentielle.

Modèle de croissance exponentielle

y(t) = a · e^(b·t)

où a = quantité initiale au temps t = 0, b = taux de croissance (par unité de temps), e ≈ 2,718.

Temps de doublement D : le temps pour que y double.

2a = a · e^(b·D) → 2 = e^(b·D) → ln(2) = b·D → D = ln(2) / b

ln(2) ≈ 0,693. Pour b = 0,693/17 ≈ 0,0408 par an, temps de doublement = 17 ans.

Demi-vie

Demi-vie H : temps pour que y décroisse à la moitié de sa valeur (b < 0).

H = ln(2) / |b|

La même formule dans les deux directions. Une compétence avec demi-vie 5 ans : après 5 ans, la moitié de sa valeur marchande perdue. Après 10 ans : un quart reste. Après 20 ans : moins de 7% demeure.

Doublement des connaissances

Si les connaissances techniques doublent tous les 17 ans, un étudiant qui sort à 22 ans fait face à un paysage de connaissances transformé à 56 ans — une carrière de 34 ans s'étend sur deux doublings complets.

En utilisant D = ln(2) / b, calculez le taux de croissance annuel b impliqué par un temps de doublement de 17 ans. Puis utilisez y(t) = e^(b·t) pour trouver le facteur par lequel la base de connaissances se multiplie au cours d'une carrière de 34 ans. Montrez votre travail.

Demi-vie de l'expertise

Le même modèle exponentiel s'applique à la décroissance. Une compétence spécifique (par ex. maîtrise d'une architecture de puce particulière, une API dépréciée, un algorithme dépassé) perd de la valeur au fil du temps alors que le domaine avance.

Si la demi-vie d'une compétence spécialisée H = 5 ans, alors après t ans la fraction de valeur originale restante : f(t) = (1/2)^(t/H) = 2^(−t/H).

Après une demi-vie (5 ans) : 50% reste. Deux demi-vies (10 ans) : 25%. Trois (15 ans) : 12,5%. Quatre (20 ans) : 6,25%.

L'implication de Hamming : la valeur d'apprendre comment apprendre se compose positivement avec le même exposant que les connaissances spécialisées décroissent. Investir dans la stratégie d'apprentissage, la formulation de problèmes, & le raisonnement transférable préserve la valeur à travers les cycles de demi-vie.

L'expertise d'une ingénieure logicielle dans un framework spécifique a une demi-vie de 4 ans. Elle a 12 ans avant la retraite. Quelle fraction de la valeur de cette expertise demeure à la retraite ? Puis interprétez : qu'est-ce que cela suggère sur la façon dont elle devrait allouer son temps d'apprentissage entre la spécialisation profonde et les compétences transférables ?

Géométrie, correction d'erreurs, & carrière

Les trois structures géométriques de cette leçon semblent déconnectées. Elles se connectent.

La distance de Hamming formalise le coût de l'erreur et la redondance nécessaire pour récupérer. Chaque système de communication, chaque base de code, chaque corps de connaissances a besoin de suffisamment de redondance qu'une seule erreur ne corrompt pas le tout.

L'argument √n vs n traduit la vision en fait géométrique : la dérive se met à l'échelle comme distance d'un point de départ, le mouvement dirigé se met à l'échelle comme déplacement vers un objectif. La redondance dans la stratégie de carrière — garder plusieurs lignes d'enquête ouvertes — amortit un mauvais virage occasionnel.

La croissance & décroissance exponentielle gouvernent à la fois la frontière croissante et la demi-vie de ce que vous savez aujourd'hui. Le seul investissement stable : apprendre comment apprendre, qui se compose sur le même horizon temporel que les connaissances spécialisées décroissent.

Connectez au moins deux de ces trois idées géométriques à une seule décision concrète que vous affrontez dans votre domaine ou carrière. La connexion devrait être spécifique : nommez la décision, nommez la structure géométrique, et expliquez ce que la géométrie vous dit de faire différemment que sans elle.