• Aucun résultat trouvé

Canaux parfaits dans les transducteurs

On cherche ici à modéliser des canaux qui transmettent parfaitement l’informa-tion. Le cas de la communication parfaite permet de modéliser l’existence de moyens de communications très fiables, tels que ceux nécessaires, par exemple, à la transmis-sion d’une clef secrète. On considère que l’information que l’on cherche à transmettre est sous forme binaire, ce qui est le cas de toutes les données utilisées dans les sys-tèmes informatiques, si besoin au travers d’un codage idoine.

Dans ce modèle, un émetteur, sous la forme d’un transducteur que l’on appelle encodeur, cherche à transmettre au travers du système de l’information secrète (voir figure 3.1). Pour ce faire, il envoie au système des actions dites de haut niveau (sur un alphabet H). Le système réagit en produisant des actions de bas niveau (sur un alphabet L). Ces actions de bas niveau, publiques, sont ensuite lues et décodées par le récepteur, qui est pour cette raison aussi appelé décodeur.

Espace privé Espace public Système M ⊆ H× L Encodeur E ⊆ {0,1}× H Décodeur D ⊆ L× {0,1} {0,1} H L {0,1}

FIGURE3.1: Canal réalisé par transducteurs.

3.2.1 Erreurs de transmission

Bien que l’on cherche à obtenir, donc à détecter, un canal parfait, on autorise certains défauts dans la communication. Ceux-ci rendent compte d’un modèle plus réaliste tout en se ramenant, comme nous allons le montrer, au cas d’un canal parfait.

Retards

Un retard borné est acceptable dans la communication : par exemple, pour dé-tecter les canaux même lorsque la communication peut s’interrompre en cours de transmission. On définit alors un canal par l’existence d’un moyen d’encoder et de décoder un message de sorte à ce que l’on décode exactement ce qui a été encodé, ou du moins un préfixe « pas trop court ».

Définition 3.1 (Canal de retard k). Soit k ∈Ž. Une relation M de Hvers Lcontient un canal de retard k s’il existe deux relations rationnelles E de {0,1}dans Het D de Ldans {0,1} telles que

Id¡{0,1}¢

⊆ E · M · D ⊆ Idk¡ {0,1}¢

.

Cette notion de retard peut en réalité être éliminée des données du problème. En effet, un canal de retard k > 0 peut toujours être transformé en un canal de retard 0. Il suffit pour cela que l’encodeur transmette chaque bit k + 1 fois, et que le décodeur ne garde chaque fois que le premier bit sur les k +1 qu’il décode.

À cet égard, on définit la famille de morphismes Repk de {0,1} dans {0,1} par Repk(0) = 0k et Repk(1) = 1k. Vu comme une relation, Repk est rationnel : le trans-ducteur a un seul état q (initial et final) ayant pour transitions q−−−→ q et q0|0k −−−→ q1|1k reconnaît Repk.

On définit de même la famille Derepk de {0,1}dans {0,1}qui a l’effet inverse de Repk :

Pour x ∈ {0,1}, ½ Derepk(xk

· w) = x · Derepk(w) Derepk(xj) = x, pour j ≤ k On prouve alors aisément :

Lemme 3.1 (Élimination des retards).

Si Id¡{0,1}¢

⊆ E · M · D ⊆ Idk¡ {0,1}¢

, alors Repk+1· E · M · D · Derepk+1= Id¡{0,1}¢ .

Substitutions

De même, on peut admettre qu’un « petit » nombre de substitutions se produise durant la transmission. En effet, si l’on considère qu’au moins la moitié des bits est transmise, et que les erreurs ne sont pas trop agglutinées, la communication va quand même pouvoir s’effectuer. Cette définition correspond au modèle de [KS10] dans le cas où seules les substitutions sont autorisées.

Définition 3.2 (Canal à (m, p)-substitutions). Soit m, p ∈Ž. Une relation M de H

vers L contient un canal à (m, p)-substitutions s’il existe deux relations rationnelles E de {0, 1}dans Het D de Ldans {0,1}telles que

Id¡{0,1}¢

⊆ E · M · D ⊆ Promp¡{0,1}¢.

De la même façon que les retards ont été éliminés par transmission redondante, on peut obtenir un canal sans erreur, en modifiant un canal où les erreurs ne sont pas trop importantes. On définit à cet effet la relation Votemqui transforme une suite de m bits en la valeur majoritairement lue, réalisée par le transducteur Am de la figure 3.2. Formellement, les états de Am sont les paires (i, j) pour des entiers

natu-0,0 0,1 1,0 0,2 1,1 2,0 ... m 2,m2 m 2 − 1,m2 + 1 m 2 + 1,m2 − 1 .. . .. . 0, m m,0 0|ε 1|ε 0|ε 1|ε 1|ε 0|ε ... ... ... ... ... ... ε|0 ε|0 ε|0 ε|1 ε|1 ε|1

FIGURE3.2: Transducteur Am qui réalise la relation Votem. On a ici supposé que m était pair, le cas m impair étant similaire.

rels i et j tels que i + j ≤ m. Le seul état initial et final est (0,0). Les transitions sont construites par les trois règles suivantes :

– Si i+ j < m, alors Amcontient les transitions (i, j)−−→ (i+1, j) et (i, j)0|ε −−→ (i, j+1).1|ε – Si i + j = m et que i ≥ j alors Am contient la transition (i, j)−−→ (0,0).ε|0

– Si i + j = m et que j ≥ i alors Am contient la transition (i, j)−−→ (0,0).ε|1

Lemme 3.2 (Élimination des substitutions). Soient m et p deux entiers tels que m > 2p.

Si Id¡{0,1}¢

⊆ E · M · D ⊆ Propm¡ {0,1}¢

, alors Repm· E · M · D · Votem= Id¡ {0,1}¢

. Démonstration. Soit β∈ {0,1} de longueur n. Par Repm· E · M · D, l’image deβ est un ensemble de mots (m, p)-proches de v =β[1]m

···β[n]m. Soit w un tel mot. Comme w ∈ Promp(v), w a la même longueur que v, à savoir nm. On peut donc l’écrire

w = w1 z }| { b1,1··· b1,m· w2 z }| { b2,1··· b2,m··· wn z }| { bn,1··· bn,m.

De plus pour 1 ≤ i ≤ n, chaque facteur wi diffère de β[i]m d’au plus p lettres. Donc dans wi il y a au plus p bits de valeur β[i], et au moins m − p bits de valeur β[i]. Comme m − p > p, l’image de wipar Votem estβ[i]. Ainsi l’image de w par Votem est

β, et Repm· E · M · D · Votem= Id({0,1}). 

On peut éliminer aisément soit les retards soit les erreurs, au vu des deux proprié-tés précédentes. Notons que l’on peut éliminer les deux à la fois, pourvu, là encore, qu’il n’y ait pas trop d’erreurs.

Pour deux entiers m > k la relation Vote

m,k est similaire à la relation Votemmais autorise cependant à arrêter totalement la lecture en entrée en sortant le résultat courant du vote, lorsque au moins m − k lettres ont été lues (au sein du groupe de m lettres courant). Les états du transducteur Am,k réalisant Vote

m,k sont ceux de Am auxquels on ajoute un état end, final. De même, les transitions sont celles des Am,ket dans Am, auxquelles il sont ajoutées les transitions construites par les règles suivantes :

– Si 0 ≤ m −(i + j) ≤ k et i ≥ j, alors A

m,k contient la transition (i, j)−−→ end.ε|0 – Si 0 ≤ m −(i + j) ≤ k et j ≥ i, alors A

m,k contient la transition (i, j)−−→ end.ε|1 Remarquons que depuis l’état end, le transducteur A

m,kne lit ni n’écrit plus rien. En particulier, pour qu’une paire de mots soit acceptée par une exécution de Am,k, il faut que tout le mot d’entrée ait été lu avant d’entrer dans end.

Lemme 3.3. Soit k, m et p trois entiers tels que m > 2(k + p).

Si Id¡{0,1}¢

⊆ E · M · D ⊆n

(v, w)¯¯¯ v ∈ {0,1}, w ∈ Prefk

³

Promp(v)´o

alors Repm· E · M · D · Vote

m,k= Id¡{0,1}¢. Démonstration. La relation Vote

m,k traite les éventuels bits manquant dans le mot comme des erreurs. Comme m − (k + p) > k + p, le résultat du « vote » est toujours la

OpenServer|OpenClient LongData|ε ε|DataInc ε|Data ShortData|ε ε|Data CloseServer|CloseClient

FIGURE3.3: Transducteur Apackmodélisant un système de transmission de données. Apackréalise la relation Mpack.

Canaux parfaits

Puisque l’on peut éliminer les retards bornés et certaines erreurs, on adopte la définition suivante :

Définition 3.3 (Canal). Soit E une relation rationnelle de {0,1} dans H, M une relation rationnelle de Hvers Let D une relation rationnelle de Ldans {0,1}. La paire (E ,D) est un canal pour M si

E · M · D = Id¡ {0,1}¢

.

La relation M contient un canal si une telle paire (E ,D) existe.

Exemple 3.1. On considère le système de transmission de paquets de la figure 3.3,

inspiré de [HZD05]. Le système peut transmettre de l’information de deux façons. Lorsqu’il reçoit une faible quantité de données (ShortData), il le transmet en un seul paquet (Data). Mais lorsqu’il reçoit une grande quantité de données (LongData), il doit les transmettre sous forme d’un paquet « incomplet » (DataInc), suivi d’un paquet normal (Data). Un paquet incomplet indique que d’autres paquets doivent suivre. Les actions OpenServer et OpenClient (resp. CloseServer et CloseClient) servent à l’ouverture (resp. la fermeture) de la session de transfert.

Un utilisateur peut tirer profit de ce fonctionnement pour transmettre de l’infor-mation, non pas au sein des données transmises, mais dans la manière dont celles-ci sont transmises. En effet, il lui suffit d’initier une session et d’envoyer une grande quantité de données (arbitraires) pour transmettre un 0 et une petite quantité de données pour transmettre un 1. Le décodeur peut alors décoder un paquet incomplet suivi d’un paquet normal comme un 0 et un paquet normal seul comme un 1, là en-core sans se soucier du contenu de ces paquets. Ces relations de codage Epack et de décodage Dpacksont rationnelles et réalisées par les transducteurs de la figure 3.4.

3.2.2 Vérification de la propriété de canal

Tout d’abord, on cherche à vérifier si, étant donné une paire (E ,D), celle-ci est effectivement un canal. Cela revient à vérifier que la composition E · M · D est bien l’identité.

ε|OpenServer

0|LongData

1|ShortData

ε|CloseServer

(a) Encodeur réalisant Epack.

OpenClient|ε

DataInc|ε Data|0

Data|1

CloseClient|ε

(b) Décodeur réalisant Dpack. FIGURE3.4: Canal sur Mpack.

Rappelons que vérifier l’égalité de deux relations rationnelles est un problème indécidable en général. Cependant, l’égalité de deux relations fonctionnelles est dé-cidable [Sak03]. D’autre part, la relation identité est fonctionnelle. Enfin, on peut décider si une relation est fonctionnelle [Sch75, BCPS00]. La procédure décide donc tout d’abord si E · M · D est fonctionnelle. Si E · M · D n’est pas fonctionnelle, elle ne peut pas être l’identité, et (E ,D) n’est pas un canal. Si E · M · D est fonctionnelle, on décide alors l’égalité avec Id({0,1}), et donc si (E ,D) est un canal.

Théorème 3.4 (Vérification de la propriété de canal). Soit M une relation

ration-nelle de H vers L, E une relation rationnelle de {0,1} vers H, et D une relation rationnelle de L vers {0,1}. On peut décider si (E ,D) est un canal pour M .