• Aucun résultat trouvé

tp09 : Arbre de Merkel

N/A
N/A
Protected

Academic year: 2022

Partager "tp09 : Arbre de Merkel"

Copied!
2
0
0

Texte intégral

(1)

tp09 :

Arbre de Merkel

Master 2 I2L, 2016/2017

Les arbres de Merkel sont des arbres binaires de hachage. Ils sont utilis´es pour comparer rapidement deux ensembles et d´etecter les diff´erences. Ils sont utilis´es notamment dans les syst`emes pair `a pair de t´el´echargement, dans certaines bases de donn´ees nosql (BD distribu´ee de grand volume), ou encore en cryptographie dans les blockchains (bitcoin, etc.).

Le but est de construire des arbres de Merkel afin de comparer deux fichiers.

Exercice 1 : D´ efinition

a- Trouver la d´efinition des arbres de Merkel.

b- Donner un exemple d’un tel arbre.

Exercice 2 : Impl´ ementation en erlang

2.a. Tester les lignes suivantes et d´efinir la fonctionhash suivante qui calcule le md5 d’une chaine de caract`eres :

erlang:md5("salut").

erlang:md5(<<34, 22, 12>>).

erlang:md5(erlang:md5("salut")).

hash(Data) ->

erlang:md5(Data).

2.b. D´efinir une fonction hashFilequi `a partir d’un nom de fichier construit une liste constitu´ee des cl´es de hachage du fichier lu par block (dont la taille est un param`etre de la fonction). Par exemple,hashFile("toto", 4).doit retourner doit lire le fichiertotopar block de 4 octets puis retourner une liste dont chaque ´el´ement est le hash de chaque block de 4 octets.

2.c. D´efinir une fonction initConsMerkel qui `a partir d’un nom de fichier fichier construit une liste constitu´ee d’arbres avec un seul noeud qui contient les cl´es de hachages pr´ec´edentes. Cette fonction utilise la fonctionhashFileetlists:map.

2.d. D´efinir une fonction filterConsMerkel qui `a partir d’une liste d’arbres de Merkel retourne une liste d’arbres de Merkel dont chaque ´el´ement est construit `a partir de 2 ´el´ements de la liste en argument.

2.e. D´efinir une fonction untilOneElem qui applique une fonction sur une liste tant que la liste r´esultat contient plus d’un ´el´ement. La fonction en argument filtre une liste en une liste strictement plus courte.

2.f. D´efinir une fonction consMerkel qui construit un arbre de Merkel `a partir des fonctions pr´ec´edentes.

1

(2)

Exercice 3 : Comparaison de 2 fichiers

3.a D´efinir une fonction qui compare et d´etecte toutes les diff´erences entre la repr´esentation sous forme d’arbre de Merkel de 2 fichiers.

3.b Calculer la complexit´e de votre algorithme.

2

Références

Documents relatifs

Slides of MC hotspots were subsequently stained for the epithelial progenitor markers GLI1, SOX9, and KRT17, revealing that epidermal cells surrounding MCs—in contrast to the rest

FIGURE 2 | Immunohistochemical and ultrastructural features of physiological Merkel cells: immunohistochemical staining of normal skin (A,B) revealed one Merkel cell located in

Detection of Merkel cell polyomavirus on environmental surfaces... For

Elle s’impose en effet dans les cancers bronchiques non à petites cellules, avec l’évaluation de nombreuses stratégies, traitement néoadjuvant avant chirurgie, et pour les

(2) En d´ eduire la fonction supprime qui prend en arguments une liste L et un nombre n et supprime le premier ´ el´ ement de la liste ´ egal ` a n.. Cette fonction renverra True si

(2) En d´ eduire la fonction supprime qui prend en arguments une liste L et un nombre n et supprime le premier ´ el´ ement de la liste ´ egal ` a n... Avec la fonction random

Effects of skin cooling on slow adapting type 1 (SA1) discharge and SA1 nerve fiber conduction: (a) Comparison of the SA1 discharge at 22 &#34; C between wild- type (WT) and

Key words: palpebral tumor ; Merkel cell tumor ; neuroendocrine carcinoma ; skin apudoma ; neurosecretory