Θεωρία τησ Πληροφορίασ (Θ) Ενότητα 4: Συμπίεςη χωρίσ Απώλειεσ ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ ΧΟΛΗ ΣΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ
Άδειεσ Χρήςησ Σο παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χρήςησ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χρήςησ, η άδεια χρήςησ αναφζρεται ρητώσ. Θεωρία της Πληρουορίας - ΣΜΗΜΑ ΜHΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ
Χρηματοδότηςη Σο παρόν εκπαιδευτικό υλικό ζχει αναπτυχθεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Σο ζργο «Ανοικτά Ακαδημαϊκά Μαθήματα ςτο ΣΕΙ Κεντρικήσ Μακεδονίασ» ζχει χρηματοδοτήςει μόνο τη αναδιαμόρφωςη του εκπαιδευτικοφ υλικοφ. Σο ζργο υλοποιείται ςτο πλαίςιο του Επιχειρηςιακοφ Προγράμματοσ «Εκπαίδευςη και Δια Βίου Μάθηςη» και ςυγχρηματοδοτείται από την Ευρωπαϊκή Ζνωςη (Ευρωπαϊκό Κοινωνικό Σαμείο) και από εθνικοφσ πόρουσ. Θεωρία της Πληρουορίας- ΣΜΗΜΑ ΜHΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ
Ενότητα 4 Σσμπίεση τωρίς Απώλειες ΔΙΔΑΚΩΝ: Δρ. Αναστάσιος Πολίτης Θεωρία της Πληρουορίας - ΣΜΗΜΑ ΜHΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ
Συμπίεση χωρίς Απώλειες Στόχοι της συμπίεσης δεδομένων: Μείωση του απαιτούμενου χώρου αποθήκευσης των δεδομένων. Περιορισμός της απαιτούμενης χωρητικότητας διαύλου επικοινωνίας για την μετάδοση. μείωση του χρόνου αποστολής. Από τα συμπιεσμένα δεδομένα θα πρέπει να μπορούν να ανακτηθούν πλήρως οι αρχικές πληροφορίες Ο κώδικας συμπίεσης θα πρέπει να είναι γνωστός στον πομπό και δέκτη. Ο κώδικας συμπίεσης θα πρέπει να συνοδεύει τα συμπιεσμένα δεδομένα. Θα μας απασχολήσουν κώδικες χωρίς απώλειες. Μερικές από τις ιδιότητες του βέλτιστου κώδικα συμπίεσης είναι: Να είναι στιγμιαία αποκωδικοποιήσιμος (άρα και μονοσήμαντος). Σύμβολα του αλφαβήτου της πηγής με μεγαλύτερη πιθανότητα θα πρέπει να αντιστοιχίζονται σε κωδικές λέξεις μικρότερου μήκους. Κατέχει το μικρότερο δυνατό μέσο μήκος. 5
Κώδικας Huffman Ανακαλύφθηκε από τον David Huffman το 95. Αποτελεί σήμερα το βασικότερο τμήμα των περισσοτέρων αλγορίθμων συμπίεσης: π.χ., GZIP, JPEG Είναι κώδικας χωρίς απώλειες. Η βασική ιδιότητα του είναι ότι αποτελεί τον βέλτιστο κώδικα: δεν υπάρχει κώδικας χωρίς απώλειες με μικρότερο μέσο μήκος. 6
Κώδικας Huffman Ο αλγόριθμος Huffman (για την περίπτωση δυαδικού κώδικα) οδηγεί στην κατασκευή ενός δεδνροδιαγράμματος και περιγράφεται παρακάτω: Βήμα : Θεωρούμε ότι κάθε σύμβολο πηγής είναι ένα φύλλο του δενδροδιαγράμματος. Στο κάθε φύλλο αντιστοιχίζουμε την πιθανότητα εμφάνισης του κάθε συμβόλου. Βήμα 2: Εντοπίζουμε τους δύο κόμβους με τις μικρότερες πιθανότητες και τους συγχωνεύουμε σε έναν. Ο νέος κόμβος θα έχει το άθροισμα των πιθανοτήτων των δύο κόμβων που συγχωνεύτηκαν. Βήμα 3: Το δεύτερο βήμα επαναλαμβάνεται μέχρι την δημιουργία του τελικού κόμβου (ρίζα). Σε κάθε ακμή αντιστοιχίζουμε ένα κωδικό σύμβολο ή τυχαία. 7
Παράδειγμα Έστω πηγή πληροφορίας με αλφάβητο {Α,Β,Γ,Δ,Ε} και κατανομή {.2,.4,.2,.,.}. Κωδικοποίηση Huffman ( η Υλοποίηση): Β(.4) Α(.2) Γ(.2) Δ(.) Ε(.) Δενδροδιάγραμμα () (.6) (.4) (.2) N i Κώδικας Α Β Γ Δ Ε ) Ο κώδικας είναι στιγμιαία αποκωδικοποιήσιμος. 2) Ολόκληρος (complete): N i L p i l i M l i 3) Μέσο μήκος: 2 3 4 4 2 2 2 2 2.2 2.4.2 3. 4. 4 2.2 8
Εναλλακτική κωδικοποίηση: Παράδειγμα Δενδροδιάγραμμα Κώδικας Β(.4) Γ(.2) Α(.2) Δ(.) Ε(.) () (.6) (.4) (.2) N i Α Β Γ Δ Ε ) Ο κώδικας είναι στιγμιαία αποκωδικοποιήσιμος. 2) Ολόκληρος (complete): N i L p i l i M l i 3) Μέσο μήκος: 3 2 4 4 2 2 2 2 2.2 3.4.2 2. 4. 4 2.2 9
Τρίτη υλοποίηση: Παράδειγμα Α(.2) Γ(.2) Δ(.) Ε(.) Δενδροδιάγραμμα (.2) (.4) Β(.4) Κώδικας Α Β Γ Δ Ε () (.6) ) Ο κώδικας είναι στιγμιαία αποκωδικοποιήσιμος. 2) Ολόκληρος (complete): N i M l i 3) Μέσο μήκος: 2 2 2 3 3 2 2 2 2 2 L N i p i l i.2 2.4 2.2 2. 3. 3 2.2
Σύγκριση των τριών υλοποιήσεων: Παράδειγμα
Ασκήσεις Για την υλοποίηση με την μικρότερη μεταβλητότητα θα πρέπει σε κάθε βήμα του αλγορίθμου όπου προκύπτουν περισσότρες από μια επιλογές για τους κόμβους μικρότερης πιθανότητας, να επιλέγουμε για συγχώνευση τους δύο κόμβους που έχουν δημιουργηθεί παλαιότερα (ψηλότερα στο δένδρο). Εφαρμογή Ι: Έστω μια πηγή Χ που εκπέμπει 6 σύμβολα με πιθανότητες: Α.4 Β.25 Γ. Δ. Ε. Ζ.5 Α) Να κατασκευάσετε μια υλοποίηση του δενδροδιαγράμματος κατά Huffman και να γράψετε τις κωδικές λέξεις για κάθε σύμβολο της πηγής. Β) Να βρείτε το μέσο μήκος του κώδικα. 2
Ασκήσεις Εφαρμογή ΙΙ: Έστω μια πηγή Χ που εκπέμπει 6 σύμβολα με πιθανότητες: Α.3 Β.5 Γ.5 Δ.5 Ε.5 Ζ. Α) Να κατασκευάσετε μια υλοποίηση του δενδροδιαγράμματος κατά Huffman και να γράψετε τις κωδικές λέξεις για κάθε σύμβολο της πηγής. Β) Να υπολογίσετε το μέσο μήκος του κώδικα. 3
Ασκήσεις Εφαρμογή ΙΙΙ: (Εξεταστική 29) Δίνεται πηγή πληροφορίας με σύμβολα πηγής και αντίστοιχες πιθανότητες Χ={Α,Β,Γ,Δ,Ε,Ζ,Η}, P={.5,.25,.5,.,.2,.5,.} Α) Να κατασκευάσετε το δενδροδιάγραμμα μετά την εφαρμογή του αλγορίθμου Huffman ελάχιστης μεταβλητότητας και γράψτε τις κωδικές λέξεις για κάθε σύμβολο του Χ. Β) Να υπολογίσετε το μέσο μήκος του κώδικα. Γ) Την μεταβλητότητα του. Στο Γ) γράψτε τον τύπο και αντικαταστήστε (μετά μην κάνετε τις πράξεις). 4
Σέλος Ενότητας Θεωρία της Πληρουορίας - ΣΜΗΜΑ ΜHΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ