Information, Calcul, Communication

Slides:



Advertisements
Présentations similaires
A la fin de ton année de 4 ème, tu dois être capable d’utiliser parfaitement un Mais d’abord qu’est-ce qu’un TABLEUR ? ???? TABLEUR- GRAPHEUR Page suivante.
Advertisements

I. Les différentes bases utilisées en numérique. La base d écimale, base de 10 ( ou codage de 10) qui utilise 10 symboles: 0 ; 1 ;2 ; 3 ; 4 ; 5 ; 6; 7.
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
La Neutralité du Net - Net Neutrality -. Principe Fondamental Router sans tenir compte du contenu Ne pas privilégier une adresse Ne pas privilégier un.
A1 : SYSTEMES DE NUMÉRATION ET CODES. PLAN A- Systèmes de numération 1- Système décimal 2- Système binaire 3- Système hexadécimal 4- Conversion des nombres.
Conseils pour rédiger un CURRICULUM VITAE
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Architecture de machines Codage des informations
La Compression de Données
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Information, Calcul, Communication
Deuxième partie : La courbe d’indifférence
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Information, Communication, Calcul
Représentation des nombres réels
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Information, Calcul, Communication
Information, Calcul, Communication
Information, Calcul, Communication
Information, Calcul, Communication
LIRE ECRIRE au CYCLE 2 Lundi 28 novembre 2016
La spécialité math en TS
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Représentation de l’information en binaire:
Préparer par : Intissare et kaoutare
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Master Réseaux et Systèmes Distribués (RSD)
Surveillance de la durabilité des MILD
Information, Calcul, Communication
La spécialité math en TS
Cyber-Sphinx Séance 2.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Information, Calcul, Communication
Routage S 3 - Questionnaire N°1
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Gestion du cours Aissa Boulmerka.
Introduction à la préservation X
2.2 Probabilité conditionnelle
Information, Communication, Calcul
Module 1: Généralités sur les systèmes informatiques Chapitre 1: Définitions et notions de base.
Module 1 : Généralités sur les systèmes informatiques 1 CHAPITRE 1: Définitions et vocabulaires de base OBJECTIFS : Acquérir les notions de base en informatique.
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Information, Calcul, Communication
Information, Calcul, Communication
Portail de saisie et de restitution
Portail de saisie et de restitution
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
Tableau de bord d’un système de recommandation
Sous-échantillonner le signal audio pour compresser
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
Formats de fichiers Stage – Semaine 5.
La programmation dynamique
Transcription de la présentation:

Information, Calcul, Communication Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 2e module de ce cours qui porte sur les notions d’échantillonnage et de reconstruction de signaux puis introduit les notions d’entropie et de compression de l’information. Information, Calcul, Communication 2. Information & Communication – Leçon 4: Compression Clip 2: Performance O. Lévêque, commentaire: P. Janson

Plan de la leçon Algorithme de Shannon-Fano Encodage de Huffman Théorème de Shannon Compression avec pertes Le 2e clip de cette leçon va introduire un autre algorithme de codage: celui de Huffman.

L’encodage en pratique Question Doit-on toujours recréer un code original pour représenter chaque message ? Réponse Non ! On peut simplement utiliser un code basé sur les probabilités d’apparition des lettres dans la langue ou le domaine du message (exemple tiré de la déclaration universelle des droits de l’homme) Commençons par poser une question qu’impose à une curiosité naturelle: Doit-on toujours créer un code spécifique pour représenter chaque message donné ? 1 La réponse est fort heureusement Non ! On peut toujours utiliser un code basé sur les probabilités d’apparition des lettres ou chiffres dans la langue dans laquelle est exprimée – ou le domaine d’informations que vise – le message. Il existe en effet dans toutes les langues et pour tous les domaines de connaissances des données statistiques exprimant la probabilité avec laquelle apparait chaque lettre, chiffre, ou symbole. 2 L’exemple ci-contre est basé sur les probabilités d’apparitions des 26 lettres dans la version française de la déclaration universelle des droits de l’homme.

Existe-t-il un encodage optimal dans tous les cas ? NON! Un code peut être optimal pour les probabilités d'apparition des lettres pour une langue donnée mais ne pas l'être pour une autre langue ou même pour des textes particuliers dans la même langue L'exemple ci-dessous provient d'un roman de 300 pages qui respecte une contrainte visible dans cet extrait Il poussa un profond soupir, s'assit dans son lit, s'appuyant sur son polochon. Il prit un roman, il l'ouvrit, il lut; mais il n'y saisissait qu'un imbroglio confus, il butait à tout instant sur un mot dont il ignorait la signification. (extrait de "La disparition" de Georges Perec, 1969) Posons ensuite une autre question légitime, à savoir: Existe-t-il un encodage qui soit optimal pour n’importe quel texte ? 1 Non, bien entendu! Un code peut être optimal pour les probabilités d'apparition des caractères pour un domaine de connaissances donné dans une langue donnée. Mais les probabilités d’apparitions des caractères dépendant du domaine et de la langue Ce qui est optimal pour le domaine et la langue concernées ne l’est probablement pas pour un autre domaine dans une autre langue. 2 L'exemple ci-dessous provient d'un roman de 300 pages qui respecte une contrainte visible dans cet extrait: 3 Il poussa un profond soupir, s'assit dans son lit, s'appuyant sur son polochon. Il prit un roman, il l'ouvrit, il lut; mais il n'y saisissait qu'un imbroglio confus, il butait à tout instant sur un mot dont il ignorait la signification. (extrait de "La disparition" de Georges Perec, 1969) Alors que la lettre «e» est la plus fréquente en anglais comme en français (et pas seulement dans la déclaration universelle des droits de l’homme) elle est remarquablement totalement absente du présent texte. Coder ce texte sur base des statistiques de la langue française est donc possible mais assurément pas optimal.

Performance de Shannon-Fano Du point de vue du taux de compression (nombre moyen de bits/lettre) Shannon-Fano offre une excellente performance en général mais n’est pas nécessairement optimal dans tous les cas => Le temps de calcul n’est pas optimal => Le taux de compression peut être différent selon les regroupements effectués Exemple: soit la séquence de 7 lettres : ABRAXAS Apparitions: 3xA et 1x4 lettres distinctes Regroupements: 4 | 3 3 | 4 3 2 bits 3 1 bit 1 2 bits 1 3 bits 1 3 bits 1 3 bits Total: 5x2 + 2x3 = 16 bits 3x1 + 4x3 = 15 bits Forts des réponses à ces 2 questions, penchons-nous maintenant sur les performances de l’algorithme de compression de Shannon-Fano. 1 Exprimons à cet effet la performance de l’algorithme par un taux de compression exprimé par le nombre moyen de bits requis pour coder une lettre. Selon cette métrique Shannon-Fano offre une excellente performance en général mais n’est pas nécessairement optimal dans tous les cas. 2 Son temps de calcul n’est pas optimal, et … 3 … son taux de compression peut varier selon les regroupements effectués 4 Prenons par exemple la séquence de 7 lettres : ABRAXAS. On y voit apparaitre 3x la lettre A et 1 x 4 autres lettres distinctes. 5 Envisageons maintenant 2 groupements différents des probabilités d’apparition des lettres, l’un (que nous appellerons 4/3) groupant à gauche le A et une des 4 autres lettres et à droite les 3 lettres restantes, et l’autre (que nous appellerons 3/4) prenant à gauche juste le A et groupant à droite les 4 autres lettres. 6 Selon Shannon-Fano le 1er groupement permet de coder 5 des 7 lettres avec 2 bits et les 2 lettres restantes avec 3 bits, ce qui requiert au total 5x2 + 2x3 = 16 bits. Selon les mêmes règles de Shannon-Fano le 2e groupement permet de coder le A avec 1 bit et les 4 autres lettres avec 3 bits, ce qui requiert au total 3x1 + 4x3 = 15 bits. On voit donc que la performance de Shannon-Fano dépend du codage choisi et par définition ne peut donc pas être optimal dans tous les cas.

Encodage Huffman => En pratique on utilise donc l’algorithme de Huffman qui travaille avec une approche «bottom-up» de groupement des nombres d’apparitions => Initialisation: ensemble des groupes = (lettre, nombre apparitions) Tant que nombre de groupes > 1 Choisir les 2 groupes avec le plus faible nombre d’apparitions Remplacer ces 2 groupes par un nouveau groupe ayant le total du nombre d’apparitions des 2 groupes => Quelle que soit la manière de construire ces groupes on obtient une performance optimale Dans sa thèse de doctorat au MIT David Huffman a démontré un algorithme fondamental qui est optimal dans tous les cas. 1 Cet algorithme suit une approche de groupement des nombres d’apparitions non pas «de haut en bas» mais «de bas en haut». 2 L’algorithme commence par ranger dans un groupe chaque lettre avec son nombre apparitions. 3 Il tente ensuite de fusionner progressivement le nombre de groupes en commençant par les groupes aux nombres d’apparitions les plus faibles. Il choisit ainsi les 2 groupes avec le plus faible nombre d’apparitions et les remplace par un nouveau groupe ayant le total du nombre d’apparitions de ces 2 groupes. Il recommence ensuite cette opération tant que le nombre total de groupes reste > 1. 4 Nous accepterons ici sans démonstration qu’on obtient ainsi une performance optimale quelle que soit la manière de construire ces groupes.

Exemple: ABRAXAS => On retrouve bien le regroupement et le code correspondant 3/4 qui est optimal mais n’aurait pas nécessairement été trouvé par Shannon-Fano Lettre A B R X S Nombre d’apparitions 3 1 A titre d’exemple, reprenons le message ABRAXAS que l’algorithme de Shannon-Fano ne traitait pas nécessairement de façon optimale. La table ci-contre donne les nombres d’apparitions de chacune de ses lettres. 1 Redessinons cette table de façon conforme à l’algorithme de Huffman en faisant simplement un groupe de chaque lettre avec son nombre d’apparitions. 2 L’algorithme de Huffman commence par fusionner 2 des plus petits groupes, p.ex. X et S. 3 Il fusionne ensuite les 2 plus petits groupes suivants, B et R, ce qui laisse A dans son propre groupe. 4 Il recommence ensuite, fusionnant ainsi les 2 plus petits groupes de 2 apparitions chacun en un groupe de 4 apparitions, B, R, X, et S, laissant toujours A dans son propre groupe. 5 Il termine enfin par la fusion des deux groupes restants en un seul, ce qui termine l’algorithme. 6 Pour encoder les 5 lettres selon les groupements obtenus par cet algorithme, on commence par attribuer aux groupes de l’avant-dernier niveau les codes respectifs de 1 et 0. 7 On fait ensuite successivement de même pour tous les groupes du niveau inférieur suivant. 8 Et on termine par les groupes originaux, ce qui donne … 9 … le code 1 pour A … 10 … le code 011 pour B … 11 … et ainsi de suite Groupes de niveau 3 A, B, R, X, S: 7 Groupes originaux A: 3 B: 1 R: 1 X: 1 S: 1 Groupes de niveau 2 A: 3 B, R, X, S: 4 Code 1 Groupes de niveau 1 A: 3 B, R: 2 X, S: 2 Code 1 Code 1 011 010 001 000