Θεωρία Πληροφορίας και Στοιχεία Κωδίκων Κωδικοποίησ η Πηγής και Χωρητικότητα Διακριτών Καναλιών Διδάσ κων: Καλουπτσ ίδης Νικόλαος Επιμέλεια: Κατσ άνος Κωνσ ταντίνος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εαρινό Εξάμηνο 2017-2018 1 / 21
Περιεχόμενα 1 Κωδικοποίησ η Πηγής 2 Χωρητικότητα Διακριτών Καναλιών 2 / 21
Συµπίεσ η Πληροφορίας (Κωδικοποίησ η Πηγής) 3 / 21
Βασ ικοί Ορισ μοί Κωδίκων Πηγής Μη ιδιάζων (nonsingular) κώδικας: Οταν όλες οι κωδικές λέξεις είναι διαφορετικές. Μοναδικώς αποκωδικοποιήσ ιµος (uniquely decodable) κώδικας: Οταν τόσ ο οι κωδικές λέξεις όσ ο και όλες οι πιθανές ακολουθίες των κωδικών λέξεων είναι διαφορετικές. Άµεσ ος ή Προθεµατικός κώδικας (instantaneous/ prefix code): O κώδικας του οποίου καµία κωδική λέξη δεν αποτελεί πρόθεµα κάποιας άλλης. Κάθε προθεµατικός κώδικας επιτρέπει την άµεσ η αποκωδικοποίησ η της κωδικής λέξης χωρίς να χρειάζεται να ληφθούν υπόψη οι επόµενες κωδικές λέξεις. Προκύπτει το σ υμπέρασ μα ότι: Άμεσ ος = Μοναδικώς Αποκωδικοποιήσ ιμος = Μη ιδιάζων 4 / 21
Παραδείγματα Κωδίκων Μη ιδιάζοντες: Ι, ΙΙ, ΙΙΙ, ΙV Μοναδικώς αποκωδικοποιήσ ιµοι: ΙΙ,ΙΙΙ,ΙV Άµεσ οι: ΙΙ και ΙΙΙ: Ο ΙV δεν είναι άµεσ ος, αφού για την αποκωδικοποίησ η χρειάζεται να περιµένουµε την εµφάνισ η ψηφίων που ανήκουν σ την επόµενη κωδική λέξη, π.χ.011011100 5 / 21
Ανισ ότητα Kraft ( ) Για κάθε άµεσ ο κώδικα µε µέγεθος κωδικού αλφαβήτου q και µήκη των n κωδικών του λέξεων l i, όπου i=1,2,...,n, ισ χύει n i=1 q l i 1. ( ) Αντισ τρόφως, εάν για ένα σ ύνολο µηκών l i ικανοποιείται η ανισ ότητα Kraft, υπάρχει άµεσ ος κώδικας του οποίου οι κωδικές λέξεις έχουν αυτά τα µήκη. 6 / 21
Μη Άμεσ οι Κώδικες Για να είναι ένας κώδικας άµεσ ος πρέπει να ισ χύει η ανισ ότητα Kraft, η οποία επιβάλλει περιορισ µούς σ τα µήκη κωδίκων που µπορούµε να επιλέξουµε. Τι σ υµβαίνει εάν ένας κώδικας είναι µοναδικώς αποκωδικοποιήσ ιµος αλλά όχι, κατ ανάγκη, άµεσ ος; Δεδοµένου ότι οι άµεσ οι κώδικες αποτελούν υποσ ύνολο των µοναδικώς αποκωδικοποιήσ ιµων, υπάρχει περίπτωσ η οι µοναδικώς αποκωδικοποιήσ ιµοι να είναι πιο αποδοτικοί; Παρόλο που δε θα το δείξουµε λεπτοµερώς, για την απόδειξη του Θεωρήµατος Κωδικοποίησ ης Πηγής (Θεώρηµα 5.1 σ τη σ υνέχεια των διαφανειών), βασ ική προϋπόθεσ η είναι να ισ χύει η ανισ ότητα Kraft. Αποδεικνύεται (McMillan βλ. π.χ. Cover & Thomas Theorem 5.5.1) ότι και οι µοναδικώς αποκωδικοποιήσ ιµοι κώδικες υπακούουν σ την ανισ ότητα Kraft. Εποµένως, δε χάνουµε τίποτα (ως προς την αποδοτικότητα της σ υµπίεσ ης) µε το να χρησ ιµοποιούµε άµεσ ους κώδικες αντί για απλώς µοναδικώς αποκωδικοποιήσ ιµους! 7 / 21
Βέλτισ τος Κώδικας Μεταβλητού Μήκους Κωδικοποίησ η µεταβλητού µήκους: Προκειµένου η σ υµπίεσ η να είναι αναπωλειακή, o κώδικας πρέπει να είναι µοναδικώς αποκωδικοποιήσ ιµος Αναγκαία σ υνθήκη: πρέπει να ισ χύει η ανισ ότητα Kraft. Επιπλέον, θέλουµε η σ υµπίεσ η να είναι αποδοτική, δηλαδή το µέσ ο µήκος κώδικα ( L = n i=1 p(s i)l i ) να είναι το µικρότερο δυνατό. Ερωτήµατα: Υπάρχει σ υσ τηµατικός τρόπος για να βρίσ κουµε το βέλτισ το άµεσ ο κώδικα δεδοµένης µιας κατανοµής, p; NAI! (κώδικας Huffman). Πόσ ο καλή σ υµπίεσ η πετυχαίνουµε, τελικά, όταν χρησ ιµοποιήσ ουµε κώδικες µεταβλητού µήκους; Το πολύ 1 bit µακριά από την εντροπία. 8 / 21
Βέλτισ τος Άµεσ ος Κώδικας Η ανισ ότητα Kraft εγγυάται ότι ένας κώδικας είναι άµεσ ος. Ωσ τόσ ο, ο κώδικας δεν είναι, απαραίτητα και βέλτισ τος. Ορισ μός: Βέλτισ τος είναι ο κώδικας του οποίου οι κωδικές λέξεις έχουν το ελάχισ το µέσ ο µήκος, δηλαδή πρέπει να ισ χύει ότι E[l ] = min p i l i, {l i } i l = [l 1,...,l n] = argmin {l i } i p i l i 9 / 21
Κωδικοποίησ η Huffman Δοθείσ ης µιας πηγής χωρίς µνήµη µε πιθανότητες εµφάνισ ης σ υµβόλων p i, ποιος είναι ο βέλτισ τος άµεσ ος κώδικας; Η διαδικασ ία Huffman βασ ίζεται σ ε τρεις παρατηρήσ εις/ιδιότητες που έχουν σ χέσ η µε βέλτισ τους κώδικες: Σε ένα βέλτισ το κώδικα τα σ ύµβολα µε µεγαλύτερη πιθανότητα εµφάνισ ης θα πρέπει να αντισ τοιχούν σ ε πιο σ ύντοµες κωδικές λέξεις από τα σ ύµβολα µε µικρότερη πιθανότητα εµφάνισ ης, δηλαδή p i > p j l i l j (Cover & Τhomas Lemma 5.8.1) Σε ένα (δυαδικό) βέλτισ το κώδικα οι δύο µακρύτερες κωδικές λέξεις (οι οποίες αντισ τοιχούν σ τα 2 λιγότερο πιθανά σ ύµβολα) έχουν το ίδιο µήκος (Cover & Thomas Lemma 5.8.1). Για το (δυαδικό) κώδικα Huffman ισ χύει, επίσ ης, ότι οι κωδικές λέξεις που ανήκουν σ τα 2 λιγότερο πιθανά σ ύµβολα διαφέρουν µόνο κατά 1 bit.! Προσ οχή: Αυτό είναι χαρακτηρισ τικό του κώδικα Huffman και δεν είναι απαραίτητο να ισ χύει για να είναι ένας κώδικας βέλτισ τος! 10 / 21
Αλγόριθμος Κωδικοποίησ ης Huffman Ο (δυαδικός) αλγόριθµος Huffman κατασ κευάζει το (δυαδικό) δέντρο αρχίζοντας από τα φύλλα του και προχωρώντας προς τη ρίζα του. Αλγόριθμος: Βήμα 1: Τα σ ύµβολα (ή τα µηνύµατα) ταξινοµούνται έτσ ι ώσ τε οι πιθανότητές τους να είναι σ ε φθίνουσ α ακολουθία. Βήμα 2: Στη σ υνέχεια, επιλέγουµε τα δύο (ή δύο από τα) σ ύµβολα µε τις µικρότερες πιθανότητες. Βήμα 3: Συνδυάζουµε τα δύο σ ύµβολα που επιλέξαµε σ το Bήµα 2 σ ε ένα και αναθέτουµε σ το σ υνδυασ µένο σ ύµβολο το άθροισ µα των πιθανοτήτων των επιµέρους σ υµβόλων. Επαναλαµβάνουµε τη διαδικασ ία από το Bήµα 1 µεταξύ των σ υµβόλων που αποµένουν και του σ υµβόλου που δηµιουργήσ αµε µέχρις ότου καταλήξουµε σ ε ένα σ ύµβολο µε πιθανότητα 1. Βήμα 4: Οι κωδικές λέξεις που αντισ τοιχούν σ το κάθε σ ύµβολο αποτελούνται από τις ακολουθίες 0 και 1 που δηµιουργούνται εάν διατρέξουµε το δέντρο που δηµιουργήθηκε από τον κόµβο µε το µοναδικό σ ύµβολο προς τα σ ύµβολα από τα οποία ξεκινήσ αµε. 11 / 21
Παράδειγμα Κωδικοποίησ ης Huffman Μέσ ο μήκος 2.30 bits, εντροπία 2.28 bits 12 / 21
Κωδικοποίησ η Huffman Αγγλικού Αλφαβήτου 13 / 21
Κωδικοποίησ η Huffman MATLAB % Διάνυσ μα γραμμάτων s=[1 2 3 4 5]; % Διάνυσ μα πιθανοτήτων γραμμάτων p=[0.25, 0.25, 0.20, 0.15, 0.15]; % Δημιουργεί το κωδικό βιβλίο dict ως cell array με γραμμές όσ ες τα γράμματα. Πχ Dict{4,:}=[0 0 1] Dict{5,:}=[0 0 0] [dict, avglength]=huffmandict(s,p) % Δημιουργία σ ήματος πηγής δεδομένων sig = randsrc(100,1,[symbols; p]); % Δημιουργία κωδικοποιημένης ακολουθίας comp = huffmanenco(sig,dict); % Αποκωδικοποίησ η της ακολουθίας εισ όδου comp με βάσ η το λεξικό dict dsig = huffmandeco(comp,dict); % Σύγκρισ η του αρχικού μηνύματος με το αποκωδικοποιημένο isequal(sig,dsig) ans = logical 1 14 / 21
Βασ ικό Μοντέλο Καναλιού Κανάλι: Ενα σ τοχασ τικό σ ύσ τηµα. Γενικά, πολλών εισ όδων, πολλών εξόδων (MIMO). Στη γενική περίπτωσ η, κάθε έξοδος κάθε χρονική σ τιγµή i εξαρτάται σ τατισ τικά από όλες τις εισ όδους του σ υσ τήµατος µέχρι και τη χρονική σ τιγµή i (θεωρώντας αιτιατό σ ύσ τηµα). Στο µάθηµα θα ασ χοληθούµε µε κανάλια µιας εισ όδου και µίας εξόδου (SISO). Είδη Καναλιών: Κανάλια διακριτών/σ υνεχών τιµών. Κανάλια χωρίς µνήµη/µε µνήµη. Κανάλια σ υνεχούς χρόνου/διακριτού χρόνου. 15 / 21
Θεώρημα κωδικοποίησ ης καναλιού Ερώτημα: Πόσ η ποσ ότητα πληροφορίας µπορεί να µεταφερθεί µέσ α από ένα διακριτό κανάλι χωρίς µνήµη κάθε φορά που χρησ ιµοποιούµε το κανάλι (κατά µέσ ο όρο); 2ο Θεµελιώδες θεώρηµα του Shannon : Υπάρχει τρόπος να µεταδώσ ουµε µε ρυθµό C και αυθαίρετα µικρή πιθανότητα σ φάλµατος αποκωδικοποίησ ης (ευθύ achievability). Αντισ τρόφως, είναι αδύνατο να µεταδώσ ουµε µε ρυθµό µεγαλύτερο του C εάν επιθυµούµε αυθαίρετα µικρή πιθανότητα σ φάλµατος (αντίσ τροφο converse). 16 / 21
Διακριτά κανάλια χωρίς µνήµη Πίνακας Μετάβασ ης Καναλιού: p 1,1 p 1,2 p 1,N [ ] p 2,1 p 2,2 p 2,N PY X =......, p M,1 p M,2 p M,N όπου [p i,j ] = [p(y j x i )] και P Y = P X P Y X. Στην ουσ ία, το κανάλι χωρίς µνήµη είναι µια οµάδα δεσ µευµένων κατανοµών. Ενα κανάλι δεν έχει µνήµη όταν η έξοδός του σ ε οποιαδήποτε χρονική σ τιγµή i εξαρτάται (σ τατισ τικά) µόνο από την είσ οδό του τη χρονική σ τιγµή i. 17 / 21
Μετάδοσ η πληροφορίας Η ποσ ότητα της πληροφορίας που µπορούµε να «περάσ ουµε» µέσ α από ένα κανάλι χωρίς µνήµη κάθε φορά που το χρησ ιµοποιούµε (κατά µέσ ο όρο) ισ ούται µε την αµοιβαία πληροφορία I(X;Y ), όπου X η είσ οδος και Y η έξοδος του καναλιού. Θυμίζουμε ότι I(X;Y ) = H(X) H(X Y ) = H(Y ) H(Y X). Διαισ θητικά (και όχι αυσ τηρώς μαθηματικά) αυτό εξηγείται ως εξής: Αρχικά, η αβεβαιότητα που έχουµε σ το δέκτη για τη µεταδοθείσ α τ.µ. Χ είναι Η(Χ). Μετά τη λήψη της Y, η αβεβαιότητά µας για τη Χ ισ ούται µε H(X Y ). Εποµένως, η αβεβαιότητά µας µειώθηκε κατά I(X;Y ). Αυτή είναι η πληροφορία που καταφέραµε να «περάσ ουµε» από τον ποµπό σ το δέκτη. 18 / 21
Πληροφοριακή και Λειτουργική Χωρητικότητα Η πληροφοριακή χωρητικότητα (information capacity) ενός διακριτού καναλιού χωρίς µνήµη (DMC) µε είσ οδο X και έξοδο Y ισ ούται µε C = max px (x) I(X;Y ). Εσ τω ότι κάθε φορά που χρησ ιµοποιούµε το κανάλι µεταδίδουµε ένα από Μ πιθανά µηνύµατα. Ο ρυθµός µετάδοσ ης R ισ ούται µε logm Η λειτουργική χωρητικότητα (operational capacity) ενός καναλιού ισ ούται µε το µέγισ το ρυθµό R για τον οποίο µπορούµε να επιτύχουµε πιθανότητα σ φάλµατος µετάδοσ ης οποιουδήποτε µηνύµατος αυθαίρετα κοντά σ το 0. Θεώρημα (Shannon): Η λειτουργική χωρητικότητα ενός διακριτού καναλιού χωρίς µνήµη ισ ούται µε την πληροφοριακή του χωρητικότητα. 19 / 21
Χωρητικότητα Δυαδικού Συμμετρικού Καναλιού (BSC) [ 1 f f [p Y (0) p Y (1)] = [p X (0) p X (1)] f 1 f { p Y (0) = (1 f )p X (0) + fp X (1) p Y (1) = fp X (0) + (1 f )p X (1) Χωρητικότητα: ] I(X;Y ) = H(Y ) H(Y X) = H(Y ) p(x)h(y X = x) x=0,1 = H(Y ) p(x)h(f ) x=0,1 = H(Y ) H(f ) Άρα, C BSC = 1 H(f ) και είναι επιτεύξιμη με ομοιόμορφη κατανομή για τη X. 20 / 21
Χωρητικότητα Δυαδικού Καναλιού Διαγραφής (BEC) Mοντελοποιεί καλά περιπτώσ εις όπου χρησ ιµοποιούµε κώδικα ανίχνευσ ης σ φαλµάτων σ το δέκτη. [ ] 1 a a 0 [p Y (0) p Y (E) p Y (1)] = [p X (0) p X (1)] 0 a 1 a Χωρητικότητα: C = max p(x) I(X;Y ) = max p(x) {H(Y ) H(Y X)} = max p(x) H(Y ) H(a). Ετσ ι, μία πρωτη ιδέα είναι να πούμε ότι max p(x) H(Y ) = log3. Ωσ τόσ ο, κάτι τέτοιο δεν επιτυγχάνεται για καμία κατανομή p(x). Η λύσ η προκύπτει θέτοντας p(x = 1) = π. Τότε προκύπτει ότι p(y = 0) = (1 π)(1 a),p(y = E) = a και p(y = 1) = π(1 a). 21 / 21