algorithme de pacman - une méthode efficace pour la...

99
Algorithme de Pacman une méthode efficace pour la construction des codes équilibrés Mounir Mechqrane Laboratoire de codification et de théorie d’information de l’université Laval (CODE TI)

Upload: others

Post on 21-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Pacmanune méthode efficace pour la construction des codeséquilibrés

Mounir Mechqrane

Laboratoire de codification et de théorie d’information de l’université Laval (CODE TI)

Page 2: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Table des matières

1. Introduction

2. Travaux antérieurs

3. Notions préliminaire

4. Méthodologie

5. Résultats

6. Conclusion

1

Page 3: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Introduction

Page 4: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un bloc de bits équilibré?

Définition

Un bloc de bits équilibré contient un nombre de bits 0 égal aunombre de bits 1.0, 1n est l’ensemble des blocs binaires de taille nBn est l’ensemble des blocs équilibrés de taille n.

Note

Bn ⊂ 0, 1n|Bn| =

( nn/2

)et |0, 1n|= 2n, où

( nn/2

)< 2n

ExamplePour n=2 on a :

0, 12 = 00, 01, 10, 11 et B2 = 01, 10.

2

Page 5: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un bloc de bits équilibré?

Définition

Un bloc de bits équilibré contient un nombre de bits 0 égal aunombre de bits 1.0, 1n est l’ensemble des blocs binaires de taille nBn est l’ensemble des blocs équilibrés de taille n.

Note

Bn ⊂ 0, 1n|Bn| =

( nn/2

)et |0, 1n|= 2n, où

( nn/2

)< 2n

ExamplePour n=2 on a :

0, 12 = 00, 01, 10, 11 et B2 = 01, 10.

2

Page 6: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un bloc de bits équilibré?

Définition

Un bloc de bits équilibré contient un nombre de bits 0 égal aunombre de bits 1.0, 1n est l’ensemble des blocs binaires de taille nBn est l’ensemble des blocs équilibrés de taille n.

Note

Bn ⊂ 0, 1n|Bn| =

( nn/2

)et |0, 1n|= 2n, où

( nn/2

)< 2n

ExamplePour n=2 on a :

0, 12 = 00, 01, 10, 11 et B2 = 01, 10.2

Page 7: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un code binaire équilibré?

Définitions

Un dictionnaire qui contient les blocs de bits utilisés dans lecodage. Ces blocs sont appelés des mots de code.

Ses mots de code sont tous équilibrés.

ExempleLe dictionnaire suivant est un code équilibré de taille 4 :

E = 0011, 0101, 0110, 1001, 1010, 1100

3

Page 8: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un code binaire équilibré?

Définitions

Un dictionnaire qui contient les blocs de bits utilisés dans lecodage. Ces blocs sont appelés des mots de code.Ses mots de code sont tous équilibrés.

ExempleLe dictionnaire suivant est un code équilibré de taille 4 :

E = 0011, 0101, 0110, 1001, 1010, 1100

3

Page 9: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

C’est quoi un code binaire équilibré?

Définitions

Un dictionnaire qui contient les blocs de bits utilisés dans lecodage. Ces blocs sont appelés des mots de code.Ses mots de code sont tous équilibrés.

ExempleLe dictionnaire suivant est un code équilibré de taille 4 :

E = 0011, 0101, 0110, 1001, 1010, 1100

3

Page 10: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 11: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 12: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 13: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 14: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 15: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser !

4

Page 16: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

W Chaîne d’entrée

w1 · w2 · w3 · ... · wn−2 · wn−1 · wn où wi∈1,...,n ∈ Det D définie sur A

c ↓ c ↓ c ↓ ... c ↓ c ↓ c ↓ fonction de codage

c(w1) c(w2) c(w3) ... c(wn−2) c(wn−1) c(wn) où c(wi∈1,...,n) ∈ Eet E définie sur B

c(w1) · c(w2) · c(w3) · ... · c(wn−2) · c(wn−1) · c(wn) Chaîne de sortie

NoteLa fonction de codage c : A∗ → B∗ doit être injective et définie surtous les éléments de D.

La fonction de codage dépend de la nature des tâches que nousvoulons réaliser ! 4

Page 17: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Il y a quatre types de codage :

codage de canal

codage source

Exemple d’ajout deredondance

codage de caractères

codage numérique

5

Page 18: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Il y a quatre types de codage :

codage de canal

codage source

Exemple d’ajout deredondance

codage de caractères

codage numérique

5

Page 19: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Il y a quatre types de codage :

codage de canal

codage source

Exemple d’ajout deredondance

codage de caractères

codage numérique

5

Page 20: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Il y a quatre types de codage :

codage de canal

codage source

Exemple d’ajout deredondance

codage de caractères

codage numérique

5

Page 21: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Il y a quatre types de codage :

codage de canal

codage source

Exemple d’ajout deredondance

codage de caractères

codage numérique

5

Page 22: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Quatre type de codage, selon les longueurs des mots:

Codage fixe à variables (FV) : La longueur k des mots dans D estfixe, mais celles des mots dans E sont variables. La longueur kpeut être aussi basse que 1.

Codage variable à fixes (VF) : Les mots dans D ont des longueursvariables, mais la longueur l des mots dans E est fixe.Codages variable à variable (VV) : Les mots dans D et dans E ontdes longueurs variables.Codage fixes à fixes (FF) : La longueur k des mots dans D et lalongueur l des mots dans E est fixe.

6

Page 23: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Quatre type de codage, selon les longueurs des mots:

Codage fixe à variables (FV) : La longueur k des mots dans D estfixe, mais celles des mots dans E sont variables. La longueur kpeut être aussi basse que 1.Codage variable à fixes (VF) : Les mots dans D ont des longueursvariables, mais la longueur l des mots dans E est fixe.

Codages variable à variable (VV) : Les mots dans D et dans E ontdes longueurs variables.Codage fixes à fixes (FF) : La longueur k des mots dans D et lalongueur l des mots dans E est fixe.

6

Page 24: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Quatre type de codage, selon les longueurs des mots:

Codage fixe à variables (FV) : La longueur k des mots dans D estfixe, mais celles des mots dans E sont variables. La longueur kpeut être aussi basse que 1.Codage variable à fixes (VF) : Les mots dans D ont des longueursvariables, mais la longueur l des mots dans E est fixe.Codages variable à variable (VV) : Les mots dans D et dans E ontdes longueurs variables.

Codage fixes à fixes (FF) : La longueur k des mots dans D et lalongueur l des mots dans E est fixe.

6

Page 25: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Quatre type de codage, selon les longueurs des mots:

Codage fixe à variables (FV) : La longueur k des mots dans D estfixe, mais celles des mots dans E sont variables. La longueur kpeut être aussi basse que 1.Codage variable à fixes (VF) : Les mots dans D ont des longueursvariables, mais la longueur l des mots dans E est fixe.Codages variable à variable (VV) : Les mots dans D et dans E ontdes longueurs variables.Codage fixes à fixes (FF) : La longueur k des mots dans D et lalongueur l des mots dans E est fixe.

6

Page 26: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Le codage par codes équilibrés est un codage FFdétecteur d'erreurs!!

Ou tout simplement nous pouvons dire que:Les codes équilibrés sont des codes FF détecteurs

d'erreurs.

7

Page 27: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Le codage par codes équilibrés est un codage FFdétecteur d'erreurs!!

Ou tout simplement nous pouvons dire que:Les codes équilibrés sont des codes FF détecteurs

d'erreurs.

7

Page 28: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Les codes équilibrés trouvent plusieurs applications dans plusieursdomaines :

Détection des erreursunidirectionnelles

Communications parfibre optique

Communication RFID

Systèmes VLSI

8

Page 29: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Les codes équilibrés trouvent plusieurs applications dans plusieursdomaines :

Détection des erreursunidirectionnelles

Communications parfibre optique

Communication RFID

Systèmes VLSI

8

Page 30: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Les codes équilibrés trouvent plusieurs applications dans plusieursdomaines :

Détection des erreursunidirectionnelles

Communications parfibre optique

Communication RFID

Systèmes VLSI

8

Page 31: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pourquoi les codes binaires équilibrés?

Les codes équilibrés trouvent plusieurs applications dans plusieursdomaines :

Détection des erreursunidirectionnelles

Communications parfibre optique

Communication RFID

Systèmes VLSI

8

Page 32: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Problématique

Problématique

Comment utiliser efficacement les codes binaires équilibrés ?

Détails de la problématiqueL’efficacité ici signifie trois choses :

(A) L’efficacité en redondance : Les codes équilibrés contiennentpar nature de la redondance (codage de canal). Cependant,cette redondance doit être minimale.

(B) L’efficacité spatiale : utilisation raisonnable des ressourcesmémoire.

(C) L’efficacité calculatoire : temps de calcul raisonnable.

9

Page 33: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Objectif

Trouver une manière simple est efficace pour coder et décoder unbloc source de n-bits en bloc équilibré de m-bits.

Autrement dit, nous devons concevoir un système decodage/décodage FF efficace définie comme suit :

Enc : 2n → 2m

Dec : 2m → 2n

10

Page 34: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

Note

Un mot de code équilibré de taille m peut coder log2( mm/2

)bits

source. Autrement dit, pour coder 2n blocs source de taille n, ona besoin des blocs équilibrés de taille m de façon à ce que( mm/2

)≥ 2n [3].

Le nombre de bits de parité p pour créer les blocs équilibrés detaille m est donc :

p = m− log2(mm/2

)(1)

Approximativement, la valeur de p est [3]:

p ≈ 12 log2m+ 0.326,m≫ 1 (2)

11

Page 35: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

Note

Un mot de code équilibré de taille m peut coder log2( mm/2

)bits

source. Autrement dit, pour coder 2n blocs source de taille n, ona besoin des blocs équilibrés de taille m de façon à ce que( mm/2

)≥ 2n [3].

Le nombre de bits de parité p pour créer les blocs équilibrés detaille m est donc :

p = m− log2(mm/2

)(1)

Approximativement, la valeur de p est [3]:

p ≈ 12 log2m+ 0.326,m≫ 1 (2)

11

Page 36: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

Note

Un mot de code équilibré de taille m peut coder log2( mm/2

)bits

source. Autrement dit, pour coder 2n blocs source de taille n, ona besoin des blocs équilibrés de taille m de façon à ce que( mm/2

)≥ 2n [3].

Le nombre de bits de parité p pour créer les blocs équilibrés detaille m est donc :

p = m− log2(mm/2

)(1)

Approximativement, la valeur de p est [3]:

p ≈ 12 log2m+ 0.326,m≫ 1 (2)

11

Page 37: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

NotationSoit · l’opérateur qui complémente les bits ; c’est-à-dire 0 = 1 et1 = 0. Nous étendons cet opérateur pour qu’il fonctionne sur lesséquences de bits.

Exemple1 0 1 0 1 1 0 1

wn

12

Page 38: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

NotationSoit · l’opérateur qui complémente les bits ; c’est-à-dire 0 = 1 et1 = 0. Nous étendons cet opérateur pour qu’il fonctionne sur lesséquences de bits.

Exemple1 0 1 0 1 1 0 1

wn0 1 0 1 0 0 1 0

wn

12

Page 39: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

NotationSoit · l’opérateur qui complémente les bits ; c’est-à-dire 0 = 1 et1 = 0. Nous étendons cet opérateur pour qu’il fonctionne sur lesséquences de bits.

Exemple1 0 1 0 1 1 0 1

wn0 1 0 1 0 0 1 0

wn

12

Page 40: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

NotationSoit · l’opérateur qui complémente les bits ; c’est-à-dire 0 = 1 et1 = 0. Nous étendons cet opérateur pour qu’il fonctionne sur lesséquences de bits.

Exemple1 0 1 0 1 1 0 1

wn0 1 0 1 0 0 1 0

wn

1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0wm

12

Page 41: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(A) L’efficacité en redondance

NotationSoit · l’opérateur qui complémente les bits ; c’est-à-dire 0 = 1 et1 = 0. Nous étendons cet opérateur pour qu’il fonctionne sur lesséquences de bits.

Exemple

1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0wm = wn · wn

m = 2× n.Pour m≫ 1, p = m/2≫ 1

2 log2m+ 0.326

12

Page 42: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(B, C) L’efficacité spatiale et calculatoire

Lemme de Sperner [4]La meilleure façon pour créer des codes équilibrés efficaces est laconstruction de la liste de tous les mots de codes de longueurm = n+ p, où p est le nombre de bits de parité (le minimum debits redondants à ajouter).

En pratique, nous pouvons appliquer le lemme de Sperner enutilisant les tables de consultation (Lookup Tables) :

Exemple

Pour n = 2 la table de codage est :

Mot d’entrée Code équilibré00 001101 010110 011011 1001

13

Page 43: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(B, C) L’efficacité spatiale et calculatoire

Exemple (Suite)

Pour n = 4 la table de codage est :

Mot d’entrée Code équilibré0000 0001110001 0010110010 0011010011 001110

Mot d’entrée Code équilibré0100 0100110101 0101010110 0101100111 011001

Mot d’entrée Code équilibré1000 0110101001 0111001010 1000111011 100101

Mot d’entrée Code équilibré1100 1001101101 1010011110 1010101111 101100

Pour n = 6 la table de codage est :

Mot d’entrée Code équilibré000000 00001111000001 00010111000010 00011011000011 00011101

...

Mot d’entrée Code équilibré000100 00011110000101 00100111000110 00101011000111 00101101

...

Mot d’entrée Code équilibré001000 00101110001001 00110011001010 00110101001011 00110110

...

Mot d’entrée Code équilibré001100 00111001001101 00111010001110 00111100001111 01000111

...

14

Page 44: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

(B, C) L’efficacité spatiale et calculatoire

Exemple (Suite 2)

Pour n = 512 la table de codage nécessite ...

Explosion Big Bang

2512 > 2326 = 22+4×81 = 4× 1681 > 4× 1081

Une autre alternative pour appliquer le lemme de Sperner estl’utilisation du codage énumerative [1].

15

Page 45: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Travaux antérieurs

Page 46: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

1 0 1 0 1 1 0 1wn

Complémenter les kpremiers bits pour

équilibrer le mot de bits!!!

16

Page 47: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

Il y a c possibilités dek !!![2]

1 ≤ c ≤ n2

Knuth choisit par défautla 1e possibilité

1 0 1 0 1 1 0 1wn

Complémenter les kpremiers bits pour

équilibrer le mot de bits!!!

16

Page 48: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

1 0 1 0 1 1 0 1wn

16

Page 49: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

0 0 1 0 1 1 0 1w′n

16

Page 50: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

0 0 1 0 1 1u

0 0 1 0 1 1 0 1w′n

16

Page 51: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

0 0 1 0 1 1u

0 0 1 0 1 1 0 1w′n

0 0 1 0 1 1 0 0 1 0 1 1 0 1wm

La redondance de l’algorithme de Knuth est [3]:

pk ≈ log2m+12 log2 log2m,m≫ 1 (3)

16

Page 52: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

Performances de l’algorithme de Knuth

La simplicité de l’implementation.Utilisation raisonnable des ressources.La liberté de selection non exploitée !!!Le nombre de bits de parité égale au double duseuil minimal !!!

17

Page 53: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Algorithme de Knuth

Remarques

La liberté de sélection montre qu’il y a une multiplicitéd’encodage (ME) dans l’algorithme de Knuth.L’algorithme de Knuth n’est pas optimal en redondance à causede ME.

wn k u w′n

1 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 13 0 0 1 1 1 0 0 1 0 0 1 1 0 15 0 1 0 1 0 1 0 1 0 1 0 1 0 17 0 1 1 0 0 1 0 1 0 1 0 0 1 1

18

Page 54: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Autres travaux

L’exploitation de ME permet de réduire la redondance del’algorithme de Knuth par [2] :

ASF(m) ≈ 12 log2m− 0.916 (4)

Weber & Immink et Al-Rababa’a et al. ont essayé d’exploiter lamultiplicité d’encodage pour réduire la redondance de l’algorithmede Knuth. Leurs résultats sont présentés dans l’acétate suivante.

19

Page 55: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Autres travaux

Spécification de l’objectifLa conception d’un nouveau algorithme qui élimine l’écart parrapport au seuil minimal de la redondance toute en restantefficace..

20

Page 56: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Autres travaux

Spécification de l’objectifLa conception d’un nouveau algorithme qui élimine l’écart parrapport au seuil minimal de la redondance toute en restantefficace..

20

Page 57: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Notions préliminaire

Page 58: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation conventionnelle d’une permutation

La notation conventionnelle d’une permutation de m élémentsest (a1, ...,am), où ai = aj lorsque 1 ≤ i < j ≤ m.

Soit S un ensemble de taille m. On dit que (a1, ...,am) est unepermutation des éléments de S (ou, par abus de langage, unepermutation de S) si a1, ...,am = S.Nous définissons Pm comme l’ensemble des permutations de1, ...,m, où m ∈ 2N.Nous notons la permutation identité de Pm par π0.

Exempleπ = (4, 1, 3, 2) est une permutation de 1, 2, 3, 4.

21

Page 59: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation conventionnelle d’une permutation

La notation conventionnelle d’une permutation de m élémentsest (a1, ...,am), où ai = aj lorsque 1 ≤ i < j ≤ m.Soit S un ensemble de taille m. On dit que (a1, ...,am) est unepermutation des éléments de S (ou, par abus de langage, unepermutation de S) si a1, ...,am = S.

Nous définissons Pm comme l’ensemble des permutations de1, ...,m, où m ∈ 2N.Nous notons la permutation identité de Pm par π0.

Exempleπ = (4, 1, 3, 2) est une permutation de 1, 2, 3, 4.

21

Page 60: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation conventionnelle d’une permutation

La notation conventionnelle d’une permutation de m élémentsest (a1, ...,am), où ai = aj lorsque 1 ≤ i < j ≤ m.Soit S un ensemble de taille m. On dit que (a1, ...,am) est unepermutation des éléments de S (ou, par abus de langage, unepermutation de S) si a1, ...,am = S.Nous définissons Pm comme l’ensemble des permutations de1, ...,m, où m ∈ 2N.

Nous notons la permutation identité de Pm par π0.

Exempleπ = (4, 1, 3, 2) est une permutation de 1, 2, 3, 4.

21

Page 61: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation conventionnelle d’une permutation

La notation conventionnelle d’une permutation de m élémentsest (a1, ...,am), où ai = aj lorsque 1 ≤ i < j ≤ m.Soit S un ensemble de taille m. On dit que (a1, ...,am) est unepermutation des éléments de S (ou, par abus de langage, unepermutation de S) si a1, ...,am = S.Nous définissons Pm comme l’ensemble des permutations de1, ...,m, où m ∈ 2N.Nous notons la permutation identité de Pm par π0.

Exempleπ = (4, 1, 3, 2) est une permutation de 1, 2, 3, 4.

21

Page 62: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation conventionnelle d’une permutation

La notation conventionnelle d’une permutation de m élémentsest (a1, ...,am), où ai = aj lorsque 1 ≤ i < j ≤ m.Soit S un ensemble de taille m. On dit que (a1, ...,am) est unepermutation des éléments de S (ou, par abus de langage, unepermutation de S) si a1, ...,am = S.Nous définissons Pm comme l’ensemble des permutations de1, ...,m, où m ∈ 2N.Nous notons la permutation identité de Pm par π0.

Exempleπ = (4, 1, 3, 2) est une permutation de 1, 2, 3, 4.

21

Page 63: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation par index d’une permutation

En notation indexée, nous représentons une permutationindexée η sous la forme ⟨ιm, ..., ι1⟩, où 1 ≤ ιi ≤ i pour 1 ≤ i ≤ m.

Nous définissons Hm comme l’ensemble des permutationsindexées de taille m.

4 1 3 2

Transformation ennotation par indexpar la fonction H

Transformation ennotation conven-tionnelle parla fonction P

Index Valeur

2

3

1

Index Valeur

2

3 Index Valeur

2

Index Valeur

1

2

3

4

2

3

4

1

2

3

1

2

1 1

La permutationindexée

4 1 2 1

La permutationconventionnelle

Exemple de la notation par index

22

Page 64: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation par index d’une permutation

En notation indexée, nous représentons une permutationindexée η sous la forme ⟨ιm, ..., ι1⟩, où 1 ≤ ιi ≤ i pour 1 ≤ i ≤ m.Nous définissons Hm comme l’ensemble des permutationsindexées de taille m.

4 1 3 2

Transformation ennotation par indexpar la fonction H

Transformation ennotation conven-tionnelle parla fonction P

Index Valeur

2

3

1

Index Valeur

2

3 Index Valeur

2

Index Valeur

1

2

3

4

2

3

4

1

2

3

1

2

1 1

La permutationindexée

4 1 2 1

La permutationconventionnelle

Exemple de la notation par index

22

Page 65: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

La notation par index d’une permutation

En notation indexée, nous représentons une permutationindexée η sous la forme ⟨ιm, ..., ι1⟩, où 1 ≤ ιi ≤ i pour 1 ≤ i ≤ m.Nous définissons Hm comme l’ensemble des permutationsindexées de taille m.

4 1 3 2

Transformation ennotation par indexpar la fonction H

Transformation ennotation conven-tionnelle parla fonction P

Index Valeur

2

3

1

Index Valeur

2

3 Index Valeur

2

Index Valeur

1

2

3

4

2

3

4

1

2

3

1

2

1 1

La permutationindexée

4 1 2 1

La permutationconventionnelle

Exemple de la notation par index22

Page 66: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Permutations et bloc équilibrés

À partir d’une permutation, nous somme capable de produireun code équilibré par l’extraction de la parité.

Nous utilisons pour cela la fonction mod.

Note

Reste à trouver un moyenpour incorporer les bitssources dans Π.

4 1 3 2Π

mod

0 1 1 0B

23

Page 67: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Permutations et bloc équilibrés

À partir d’une permutation, nous somme capable de produireun code équilibré par l’extraction de la parité.Nous utilisons pour cela la fonction mod.

Note

Reste à trouver un moyenpour incorporer les bitssources dans Π.

4 1 3 2Π

mod

0 1 1 0B

23

Page 68: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Permutations et bloc équilibrés

À partir d’une permutation, nous somme capable de produireun code équilibré par l’extraction de la parité.Nous utilisons pour cela la fonction mod.

Note

Reste à trouver un moyenpour incorporer les bitssources dans Π.

4 1 3 2Π

mody

0 1 1 0B

23

Page 69: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Permutations et bloc équilibrés

À partir d’une permutation, nous somme capable de produireun code équilibré par l’extraction de la parité.Nous utilisons pour cela la fonction mod.

Note

Reste à trouver un moyenpour incorporer les bitssources dans Π.Un autre problème estcomment exploiter Π aprèsl’extraction de B.

4 1 3 2Π

mody

0 1 1 0B

23

Page 70: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Note (suite)

En effet, l’extraction de B neconsomme pas la totalité del’information contenue dansΠ.

Π ⇔ (π, π′, B).

ΠB

Information dans B

24

Page 71: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Note (suite)

En effet, l’extraction de B neconsomme pas la totalité del’information contenue dansΠ.Π ⇔ (π, π′, B).

Π (π, π', B)

Information dans Π

24

Page 72: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Permutation

Enc

Dec

Incorporer les bits sources dans Π

Produire B

Réutiliser π et π'

Système de codage/décodage

Réutilisation de π et π′

Transformation en notation par index : η = H(π) et η′ = H(π′)

Transformation de η et η′ en H.Transformation de H en notation conventionnelle Π = P(H).

25

Page 73: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Le PAC-MAN ordinaire

26

Page 74: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Index de H Index de η et η'

Le PAC-MAN spécial

27

Page 75: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Index de H Index de η et η'

Le PAC-MAN spécial

Π(π, π')

Information dans π et π′

27

Page 76: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Index de HIndex de η et η'et des bitssources

Le PAC-MAN spécial

27

Page 77: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Pacman

Mécanisme d'incorporation des donnéessources

Paire des petites permutations

Bloc source

Grande permutation

Code équilibré Mécanisme de production de B

Cycle de Pacman

28

Page 78: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Blocmémoire

Mémoire de Pacman

29

Page 79: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Blocmémoire

Consommation d'index

L’effet de la consommation d’index sur la mémoire

29

Page 80: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Blocmémoire

Production d'index

L’effet de la production d’index sur la mémoire

29

Page 81: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Pacman

Blocmémoire

Consommation successived'index

L’effet de la consommation consécutive d’index sur la mémoire

NoteUn contrôle est appliqué sur la taille de la mémoire de Pacman.

29

Page 82: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Mémoire limitée

Controle de la mémoire

Nous mesurons la taille de la mémoire de Pacman avant etaprès chaque opération.Nous considérons que Pacman se souvient à chaque fois d’uneseule valeur naturelle v dans l’interval 1, ..., σ où σ ≥ 1.Soient v, σ, v′ et σ′ la valeur et la taille de la mémoire avant etaprès une opération donnée :

L’effet d’une opération de consommation sur la mémoire est :v′ = ρ× (v− 1) + i

σ′ = ρ× σ

L’effet d’une opération de production sur la mémoire est :(i, v′) = (((v− 1) mod ρ) + 1, ⌈v/ρ⌉)

σ′ = ⌈σ/ρ⌉

30

Page 83: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Mémoire limitée

Remarque

Les bits sources sont considérés comme des index de taille 2.(Ajustement par 1)Le seul ajout de redondance est : σ′ = ⌈σ/ρ⌉. Nous avons dansce cas σ′ ≤ σ+ρ−1

ρ . Donc limσ→∞ρ−1σ′ = 0.

31

Page 84: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Méthodologie

Page 85: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Programmation de l’algorithme de Pacman

Programmation de Pacman

Une programmation P consomme m2 index ι?,

m2 index ι

′? et q bits

b? frais et produit m index H? en 2×m+ q d’opérations.Soit σ0 la taille initiale de P. Grace à cette information, nouspouvons savoir la taille de la mémoire σi après l’exécution des ipremières instructions de P. En particulier, la taille de mémoireà la fin de l’exécution de P est σ2×m+q.

32

Page 86: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Validité d’une programmation

Conditions de validité d’une Programmation P

Pour contrôler la mémoire dans chaque étape de laprogrammation, nous avons imposé une limite à la taille de lamémoire appelé Ω

La programmation doit vérifier les deux conditions suivantes :∀ 0 ≤ i ≤ 2×m+ q. σi ≤ Ω et σ2×m+q ≤ σ0

Par conséquence, q ≤ log2( mm/2

), et Ω doit être suffisamment

élevé pour pouvoir consommer la totalité des q bits.

33

Page 87: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Cycles de codage et de décodage

Grandespermutations

Permutationsdes pairs

Permutationsdes impairs

Codeséquilibrés

Bitssources

Permutationsdes pairs

Permutationsdes impairs

Grandespermutations

Bitssources

Séquences de cycle de Codage Séquence de cycle de Décodage

Cycle Cycle

::

::

::

::

::

::

Sensde

Codage

Sensde

Décodage

Pt-2 π't-2 π''t-2 Bt-2+bt-2

π't-2 π''t-2 Pt-2-bt-2

#t-1 #t-1

+bt -bt

Pt+1 Pt+1π't+1 π''t+1 Bt+1 π't+1 π''t+1

#t+1 #t+1

π't π''t Bt π't π''t

Pt-1 π't-1 π''t-1 Bt-1+bt-1

π't-1 π''t-1 Pt-1-bt-1

Pt Pt

#t #t

0

2m+q

0

2m+q

0

2m+q

0

2m+q

0

2m+q

0

2m+q

Cycle de codage et de décodage 34

Page 88: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Initialisation et terminaison

Initialisation et terminaison de P

La mémoire de Pacman est initialisée à la valeur 1 et la tailleσ2×m+q. Les permutations π0 et π′

0 sont initialisées à lapermutation d’identité, (1, ...,m/2).Le décodeur doit recevoir les données suivantes :

Un bloc de taille log2(q) pour le nombre des bits comblés. Un bloc de taille log2(Ω) qui contient la valeur finale de σ2×m+q. Un bloc de taille log2(m/2) pour chaqun des éléments des deuxpetites permutations finales.

35

Page 89: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

La conception d’une programmation valide optimale

Définitions d’optimalité

Nous considérons que le problème de la conception d’uneprogrammation optimal est NP-difficile.Nous avons adopté deux définitions d’optimalité :

Def 1 : Choisir q ≤ log2( mm/2

)et essayer de trouver Ωmin.

Def 2 : Choisir Ω et σ0 ≤ Ω et trouver Qmax.

heuristiques adoptées

Pour q, Ω et σ0 choisies, nous créons en pire des cas uneprogrammation valide.Pour une programmation en pire des cas valide créée à priori,nous essayons de faire l’optimisation en interchangeant lesopérations pour diminuer la taille de la mémoire.

36

Page 90: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Résultats

Page 91: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Mode de redondance minimale

Mode 1 : Pour q =⌊log2

( mm/2

)⌋et σ0 = max(64, 2⌈log2 M⌉), nous

varions M et nous traçons Ωmin.

0 20 40 60 80 100 120 140 160 180 200101

102

103

104

105

106

107

108

109

m

OmegaMin

1

2

3

Ratio

Ωmin( MM/2

)/2Q

la variation de Ωmin et du rapport par rapport( MM/2

)/2Q pour différentes

valeur de m37

Page 92: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Mode pour les nombres entiers à précision limitée

Mode 2 : Pour σ0 = max(64, 2⌈log2 M⌉) et Ω = Mk où k ≥ 2, nousvarions M et nous traçons la parité pour chaque valeur de Ω.

3 4 5 6 7 8 9 102

3

4

5

6

7

8

m

Parity

P optimalP(σ0 = max(64, 2⌈logm⌉), Ω = m3)

Le tracé de la parité 38

Page 93: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Calcul théorique des bornes supérieures de la redondance

4 5 6 7 8 9 10

2

3

4

5

6

7

8

9

10

11

log(m)

Redundancy

[bits

/bloc

]

Bound

Knuth

I & W

ACBR k

m2

m3

m4

Le tracé des bornes de la redondance pour différentes valeur de m et de Ω

39

Page 94: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Conclusion

Page 95: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Résumé

Les points importants

Problématique : Comment utiliser efficacement les codesbinaires équilibrés ?Réalisation : Nous avons conçu une technique basée surles permutations, le caractère du jeux vidéo PAC-MAN et lesentiers à précision limitée pour créer les code équilibrés.Résultat :

La redondance est nettement meilleure que celles des travauxantérieurs.

Les calculs dans notre technique ne sont pas coûteux et lacomplexité temporelle et spatiale pour le codage ou le décodaged’un bloc est linéaire.

Point faible : le codage/décodage se font pas à la volée.

40

Page 96: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Travaux futurs

Perspectives

Améliorer l’initialisation et la terminaison.Un mot de code équilibré de longueur m est capabled’incorporer log2

( mm/2

)bits source et non pas seulement⌊

log2( mm/2

)⌋bits. Nous pouvons aller au-delà des limites des

nombres entiers et résoudre le problème avec des nombresrationnels.

41

Page 97: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Questions?

41

Page 98: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

Backup slides

Les principales étapes du recyclage des bits pour l’algorithme de Knuth. 42

Page 99: Algorithme de Pacman - une méthode efficace pour la ...quimper/Seminaires/files/MounirMechqrane.pdf · (B,C)L’efficacitéspatialeetcalculatoire Exemple(Suite) Pourn=4latabledecodageest:

References I

T. Cover.Enumerative source encoding.IEEE Transactions on Information Theory, 19(1):73–77, 1973.

K. A. S. Immink and J. H. Weber.Very efficient balanced codes.Selected Areas in Communications, IEEE Journal on,28(2):188–192, 2010.

D. E. Knuth.Efficient balanced codes.Information Theory, IEEE Transactions on, 32(1):51–53, 1986.

E. Sperner.Ein satz über untermengen einer endlichen menge.Mathematische Zeitschrift, 27(1):544–548, 1928.

43