publicMasters/2-InformationTheory/3InformationTheory/gruffalo.txt

169 lines
8.3 KiB
Plaintext
Raw Normal View History

A mouse took a stroll through the deep dark wood. A fox saw
the mouse and the mouse looked good. “Where are you going
to, little brown mouse? Come and have lunch in my
underground house.”
étape 1 au tableau on compte la fréquence des lettres.
Le moins fréquent est à traiter en premier.
étape 2 au tableau on construit l'arbre de Huffman.
étape 3 : compression.
On note les labels de la racine vers la feuille qui est le code de chaque lettre.
A devient : 0100
(j'écris _ pour l'espace)
_ devient : 111
m devient : 10 101
o devient : 100
u devient : 0 111
s devient : 10 111
e devient : 001
_ devient : 111
t devient : 000 1
o devient : 100
o devient : 100
k devient : 101 001
_ devient : 111
a devient : ????
_ devient : 111
%:-+-+-+- Engendré par : http://math.et.info.free.fr/TikZ/Arbre/
\begin{center}
% Racine à Gauche, développement vers la droite
\begin{tikzpicture}[xscale=1,yscale=1]
% Styles (MODIFIABLES)
\tikzstyle{fleche}=[->,>=latex,thick]
\tikzstyle{noeud}=[fill=yellow,circle,draw]
\tikzstyle{feuille}=[fill=yellow,circle,draw]
\tikzstyle{etiquette}=[midway,fill=white,draw]
% Dimensions (MODIFIABLES)
\def\DistanceInterNiveaux{3}
\def\DistanceInterFeuilles{2}
% Dimensions calculées (NON MODIFIABLES)
\def\NiveauA{(0)*\DistanceInterNiveaux}
\def\NiveauB{(1.875)*\DistanceInterNiveaux}
\def\NiveauC{(3.625)*\DistanceInterNiveaux}
\def\NiveauD{(5.25)*\DistanceInterNiveaux}
\def\NiveauE{(6.75)*\DistanceInterNiveaux}
\def\NiveauF{(8.125)*\DistanceInterNiveaux}
\def\NiveauG{(9.375)*\DistanceInterNiveaux}
\def\NiveauH{(10.5)*\DistanceInterNiveaux}
\def\NiveauI{(11.5)*\DistanceInterNiveaux}
\def\InterFeuilles{(-1)*\DistanceInterFeuilles}
% Noeuds (MODIFIABLES : Styles et Coefficients d'InterFeuilles)
\node[noeud] (R) at ({\NiveauA},{(13.5)*\InterFeuilles}) {$Tous$};
\node[noeud] (Ra) at ({\NiveauB},{(3.5)*\InterFeuilles}) {$$};
\node[noeud] (Raa) at ({\NiveauC},{(1)*\InterFeuilles}) {$$};
\node[noeud] (Raaa) at ({\NiveauD},{(0.5)*\InterFeuilles}) {$$};
\node[feuille] (Raaaa) at ({\NiveauE},{(0)*\InterFeuilles}) {$H$};
\node[feuille] (Raaab) at ({\NiveauE},{(1)*\InterFeuilles}) {$T$};
\node[feuille] (Raab) at ({\NiveauD},{(2)*\InterFeuilles}) {$E$};
\node[noeud] (Rab) at ({\NiveauC},{(5)*\InterFeuilles}) {$$};
\node[noeud] (Raba) at ({\NiveauD},{(4)*\InterFeuilles}) {$$};
\node[feuille] (Rabaa) at ({\NiveauE},{(3)*\InterFeuilles}) {$A$};
\node[noeud] (Rabab) at ({\NiveauE},{(4.5)*\InterFeuilles}) {$$};
\node[feuille] (Rababa) at ({\NiveauF},{(4)*\InterFeuilles}) {$W$};
\node[feuille] (Rababb) at ({\NiveauF},{(5)*\InterFeuilles}) {$G$};
\node[noeud] (Rabb) at ({\NiveauD},{(6.5)*\InterFeuilles}) {$$};
\node[feuille] (Rabba) at ({\NiveauE},{(6)*\InterFeuilles}) {$D$};
\node[feuille] (Rabbb) at ({\NiveauE},{(7)*\InterFeuilles}) {$U$};
\node[noeud] (Rb) at ({\NiveauB},{(17.5)*\InterFeuilles}) {$$};
\node[noeud] (Rba) at ({\NiveauC},{(10.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbaa) at ({\NiveauD},{(8)*\InterFeuilles}) {$O$};
\node[noeud] (Rbab) at ({\NiveauD},{(11)*\InterFeuilles}) {$$};
\node[noeud] (Rbaba) at ({\NiveauE},{(10)*\InterFeuilles}) {$$};
\node[noeud] (Rbabaa) at ({\NiveauF},{(9.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbabaaa) at ({\NiveauG},{(9)*\InterFeuilles}) {$.$};
\node[feuille] (Rbabaab) at ({\NiveauG},{(10)*\InterFeuilles}) {$K$};
\node[feuille] (Rbabab) at ({\NiveauF},{(11)*\InterFeuilles}) {$M$};
\node[noeud] (Rbabb) at ({\NiveauE},{(12.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbabba) at ({\NiveauF},{(12)*\InterFeuilles}) {$L$};
\node[feuille] (Rbabbb) at ({\NiveauF},{(13)*\InterFeuilles}) {$S$};
\node[noeud] (Rbb) at ({\NiveauC},{(20.5)*\InterFeuilles}) {$$};
\node[noeud] (Rbba) at ({\NiveauD},{(20)*\InterFeuilles}) {$$};
\node[noeud] (Rbbaa) at ({\NiveauE},{(16.5)*\InterFeuilles}) {$$};
\node[noeud] (Rbbaaa) at ({\NiveauF},{(16)*\InterFeuilles}) {$$};
\node[noeud] (Rbbaaaa) at ({\NiveauG},{(14.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbbaaaaa) at ({\NiveauH},{(14)*\InterFeuilles}) {$Y$};
\node[feuille] (Rbbaaaab) at ({\NiveauH},{(15)*\InterFeuilles}) {$"$};
\node[noeud] (Rbbaaab) at ({\NiveauG},{(17)*\InterFeuilles}) {$Nœud36$};
\node[noeud] (Rbbaaaba) at ({\NiveauH},{(16.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbbaaabaa) at ({\NiveauI},{(16)*\InterFeuilles}) {$F$};
\node[feuille] (Rbbaaabab) at ({\NiveauI},{(17)*\InterFeuilles}) {$X$};
\node[feuille] (Rbbaaabb) at ({\NiveauH},{(18)*\InterFeuilles}) {$B$};
\node[feuille] (Rbbaab) at ({\NiveauF},{(19)*\InterFeuilles}) {$N$};
\node[noeud] (Rbbab) at ({\NiveauE},{(23)*\InterFeuilles}) {$$};
\node[feuille] (Rbbaba) at ({\NiveauF},{(20)*\InterFeuilles}) {$R$};
\node[noeud] (Rbbabb) at ({\NiveauF},{(23.5)*\InterFeuilles}) {$$};
\node[noeud] (Rbbabba) at ({\NiveauG},{(22.5)*\InterFeuilles}) {$$};
\node[noeud] (Rbbabbaa) at ({\NiveauH},{(21.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbbabbaaa) at ({\NiveauI},{(21)*\InterFeuilles}) {$P$};
\node[feuille] (Rbbabbaab) at ({\NiveauI},{(22)*\InterFeuilles}) {$V$};
\node[noeud] (Rbbabbab) at ({\NiveauH},{(23.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbbabbaba) at ({\NiveauI},{(23)*\InterFeuilles}) {$?$};
\node[feuille] (Rbbabbabb) at ({\NiveauI},{(24)*\InterFeuilles}) {$,$};
\node[noeud] (Rbbabbb) at ({\NiveauG},{(25.5)*\InterFeuilles}) {$$};
\node[feuille] (Rbbabbba) at ({\NiveauH},{(25)*\InterFeuilles}) {$C$};
\node[feuille] (Rbbabbbb) at ({\NiveauH},{(26)*\InterFeuilles}) {$I$};
\node[feuille] (Rbbb) at ({\NiveauD},{(27)*\InterFeuilles}) {$espace$};
% Arcs (MODIFIABLES : Styles)
\draw[fleche] (R)--(Ra) node[etiquette] {$0$};
\draw[fleche] (Ra)--(Raa) node[etiquette] {$0$};
\draw[fleche] (Raa)--(Raaa) node[etiquette] {$0$};
\draw[fleche] (Raaa)--(Raaaa) node[etiquette] {$0$};
\draw[fleche] (Raaa)--(Raaab) node[etiquette] {$1$};
\draw[fleche] (Raa)--(Raab) node[etiquette] {$1$};
\draw[fleche] (Ra)--(Rab) node[etiquette] {$1$};
\draw[fleche] (Rab)--(Raba) node[etiquette] {$0$};
\draw[fleche] (Raba)--(Rabaa) node[etiquette] {$0$};
\draw[fleche] (Raba)--(Rabab) node[etiquette] {$1$};
\draw[fleche] (Rabab)--(Rababa) node[etiquette] {$0$};
\draw[fleche] (Rabab)--(Rababb) node[etiquette] {$A$};
\draw[fleche] (Rab)--(Rabb) node[etiquette] {$1$};
\draw[fleche] (Rabb)--(Rabba) node[etiquette] {$0$};
\draw[fleche] (Rabb)--(Rabbb) node[etiquette] {$1$};
\draw[fleche] (R)--(Rb) node[etiquette] {$1$};
\draw[fleche] (Rb)--(Rba) node[etiquette] {$0$};
\draw[fleche] (Rba)--(Rbaa) node[etiquette] {$0$};
\draw[fleche] (Rba)--(Rbab) node[etiquette] {$1$};
\draw[fleche] (Rbab)--(Rbaba) node[etiquette] {$0$};
\draw[fleche] (Rbaba)--(Rbabaa) node[etiquette] {$0$};
\draw[fleche] (Rbabaa)--(Rbabaaa) node[etiquette] {$0$};
\draw[fleche] (Rbabaa)--(Rbabaab) node[etiquette] {$1$};
\draw[fleche] (Rbaba)--(Rbabab) node[etiquette] {$1$};
\draw[fleche] (Rbab)--(Rbabb) node[etiquette] {$1$};
\draw[fleche] (Rbabb)--(Rbabba) node[etiquette] {$0$};
\draw[fleche] (Rbabb)--(Rbabbb) node[etiquette] {$1$};
\draw[fleche] (Rb)--(Rbb) node[etiquette] {$1$};
\draw[fleche] (Rbb)--(Rbba) node[etiquette] {$0$};
\draw[fleche] (Rbba)--(Rbbaa) node[etiquette] {$0$};
\draw[fleche] (Rbbaa)--(Rbbaaa) node[etiquette] {$0$};
\draw[fleche] (Rbbaaa)--(Rbbaaaa) node[etiquette] {$0$};
\draw[fleche] (Rbbaaaa)--(Rbbaaaaa) node[etiquette] {$0$};
\draw[fleche] (Rbbaaaa)--(Rbbaaaab) node[etiquette] {$1$};
\draw[fleche] (Rbbaaa)--(Rbbaaab) node[etiquette] {$1$};
\draw[fleche] (Rbbaaab)--(Rbbaaaba) node[etiquette] {$0$};
\draw[fleche] (Rbbaaaba)--(Rbbaaabaa) node[etiquette] {$0$};
\draw[fleche] (Rbbaaaba)--(Rbbaaabab) node[etiquette] {$1$};
\draw[fleche] (Rbbaaab)--(Rbbaaabb) node[etiquette] {$1$};
\draw[fleche] (Rbbaa)--(Rbbaab) node[etiquette] {$1$};
\draw[fleche] (Rbba)--(Rbbab) node[etiquette] {$1$};
\draw[fleche] (Rbbab)--(Rbbaba) node[etiquette] {$0$};
\draw[fleche] (Rbbab)--(Rbbabb) node[etiquette] {$1$};
\draw[fleche] (Rbbabb)--(Rbbabba) node[etiquette] {$0$};
\draw[fleche] (Rbbabba)--(Rbbabbaa) node[etiquette] {$0$};
\draw[fleche] (Rbbabbaa)--(Rbbabbaaa) node[etiquette] {$0$};
\draw[fleche] (Rbbabbaa)--(Rbbabbaab) node[etiquette] {$1$};
\draw[fleche] (Rbbabba)--(Rbbabbab) node[etiquette] {$1$};
\draw[fleche] (Rbbabbab)--(Rbbabbaba) node[etiquette] {$0$};
\draw[fleche] (Rbbabbab)--(Rbbabbabb) node[etiquette] {$1$};
\draw[fleche] (Rbbabb)--(Rbbabbb) node[etiquette] {$1$};
\draw[fleche] (Rbbabbb)--(Rbbabbba) node[etiquette] {$0$};
\draw[fleche] (Rbbabbb)--(Rbbabbbb) node[etiquette] {$1$};
\draw[fleche] (Rbb)--(Rbbb) node[etiquette] {$1$};
\end{tikzpicture}
\end{center}
%:-+-+-+-+- Fin