Κώδικες Διόρθωσης Σφαλμάτων (Error-Correcting Codes) Σφάλματα που αυτο- διορθώνονται

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κώδικες Διόρθωσης Σφαλμάτων (Error-Correcting Codes) Σφάλματα που αυτο- διορθώνονται"

Transcript

1 Κώδικες Διόρθωσης Σφαλμάτων (Error-Correcting Codes) Σφάλματα που αυτο- διορθώνονται

2 Είναι άλλο πράγμα να δείξεις σε κάποιον ότι κάνει λάθος και άλλο πράγμα να τον κάνεις να αντιληφθεί την αλήθεια JOHN LOCKE, Δοκίμιο για την Ανθρώπινη Κατανόηση (69)

3 Πώς ξεκίνησε η ιστορία Σήμερα, έχουμε πρόσβαση σε υπολογιστή όποτε το θελήσουμε Ο Richard Hamming, ερευνητής στα εργαστήρια της τηλεφωνικής εταιρείας Bell τη δεκαετία του 94, δεν ήταν τόσο τυχερός: ο υπολογιστής της εταιρείας που χρειαζόταν χρησιμοποιούταν και από άλλα τμήματα της εταιρείας και ο ίδιος μπορούσε να τον χρησιμοποιεί μόνο τα ΣΚ Ο υπολογιστής συχνά «κόλλαγε» λόγω λαθών κατά την ανάγνωση δικών του δεδομένων Φανταστείτε τι πρόβλημα αντιμετώπιζε ο Hamming 3

4 Πώς ξεκίνησε η Labs Bell Labs Murray Hill, USA 4

5 Πώς ξεκίνησε η ιστορία Ο ίδιος ο Hamming έλεγε: Για δύο συνεχόμενα ΣΚ ήρθα στο γραφείο και βρήκα τον υπολογιστή κολλημένο και όλη μου τη δουλειά να μην έχει προχωρήσει. Ενοχλήθηκα τρομερά γιατί χρειαζόμουν τα αποτελέσματα των πειραμάτων που έτρεχα και δύο ΣΚ είχαν πάει χαμένα... Είπα, Τι στο καλό; Αν το μηχάνημα μπορεί να ανιχνεύσει ένα σφάλμα, γιατί να μη μπορεί να εντοπίσει τη θέση του σφάλματος και να το διορθώσει; Όπως και σε άλλες περιπτώσεις, τελικά η ανάγκη είναι η κινητήρια δύναμη πίσω από κάθε εφεύρεση: ο Hamming σύντομα δημιούργησε τον πρώτο κώδικα διόρθωσης σφαλμάτων: έναν μαγικό αλγόριθμο που ανίχνευε και διόρθωνε σφάλματα σε δεδομένα υπολογιστή... Χωρίς τέτοιους κώδικες, οι υπολογιστές μας και τα συστήματα επικοινωνίας θα ήταν εξαιρετικά πιο αργά, λιγότερο ισχυρά και λιγότερο αξιόπιστα από ό,τι είναι σήμερα 5

6 Τι εργασίες εκτελεί ένας υπολογιστής; Οι υπολογιστές εκτελούν 3 θεμελιώδεις εργασίες: Η πιο σημαντική εργασία είναι η εκτέλεση υπολογισμών: δηλ., ο υπολογιστής πρέπει να μετατρέψει κάποια δεδομένα εισόδου με κάποιον τρόπο ώστε να παράγει μια χρήσιμη απάντηση Η δυνατότητα του υπολογιστή να παράγει απαντήσεις θα ήταν στην ουσία άχρηστη χωρίς άλλες 2 σημαντικές εργασίες που εκτελούν οι υπολογιστές: την αποθήκευση και τη μετάδοση δεδομένων οι υπολογιστές αποθηκεύουν δεδομένα κυρίως στο σκληρό δίσκο, τη μνήμη τους και στις άλλες μονάδες δίσκων ενώ συνήθως μεταδίδουν δεδομένα στο internet Φανταστείτε έναν υπολογιστή που δε θα μπορούσε να αποθηκεύει ούτε να μεταδίδει πληροφορία: θα ήταν σχεδόν άχρηστος: θα μπορούσαμε να εκτελέσουμε κάποιους πολύπλοκους υπολογισμούς (όπως π.χ., να ετοιμάσουμε μια λογιστική κατάσταση για τον προϋπολογισμό μιας εταιρείας) αλλά δε θα μπορούσαμε να στείλουμε τα αποτελέσματα σε συναδέλφους ούτε να τα αποθηκεύσουμε για μεταγενέστερη χρήση η μετάδοση και αποθήκευση δεδομένων είναι και οι δύο πραγματικά ουσιώδεις για τους σύγχρονους υπολογιστές 6

7 Γιατί χρειάζεται η ανίχνευση σφαλμάτων και η διόρθωσή τους; Η μεγάλη πρόκληση σχετικά με τη μετάδοση και αποθήκευση δεδομένων είναι ότι τα δεδομένα πρέπει να είναι ολόσωστα αφού σε πολλές περιπτώσεις ακόμα κι ένα πολύ μικρό λάθος μπορεί να καταστήσει τα δεδομένα άχρηστα Σαν άτομα, είμαστε εξοικειωμένοι με την ανάγκη αποθήκευσης και μετάδοσης δεδομένων χωρίς σφάλματα: Αν σημειώσουμε κάποιον αριθμό τηλεφώνου, είναι ουσιώδες κάθε ψηφίο του αριθμού να είναι γραμμένο σωστά και να έχει καταγραφεί με τη σωστή σειρά. Ακόμα κι ένα λάθος σε ένα μόνο ψηφίο, κάνει τον αριθμό άχρηστο (και για εμάς και για άλλους) Μπορεί λάθη στα δεδομένα να κάνουν τα δεδομένα κάτι χειρότερο από άχρηστα: ένα λάθος σε κάποιο αρχείο που περιέχει ένα πρόγραμμα μπορεί να κάνει το πρόγραμμα να «κολλάει» ή ακόμα και να το κάνει να εκτελεί άσχετες εργασίες: ένα λάθος σε οικονομικά αρχεία θα μπορούσε να προκαλέσει μεγάλες χρηματικές απώλειες (να αγοράζει κανείς μετοχές αξίας $5.34 με τιμή $8.34 από λάθος!!!!) Αλλά το ποσό πληροφορίας που καλούμαστε εμείς να αποθηκεύουμε είναι σχετικά μικρό, και επίσης μικρό είναι και το ποσό πληροφορίας που πρέπει να αποθηκεύουμε χωρίς λάθη, και δεν είναι δύσκολο να αποφεύγουμε τα λάθη αν προσέχουμε εξαιρετικά όταν πρόκειται για σημαντική πληροφορία όπως τραπεζικοί λογαριασμοί, passwords, διευθύνσεις , κτλ 7

8 Γιατί χρειάζεται η ανίχνευση σφαλμάτων και η διόρθωσή τους; Αντίθετα, το ποσό πληροφορίας που πρέπει οι υπολογιστές να αποθηκεύσουν και να μεταδώσουν χωρίς λάθη είναι τεράστιο Υποθέστε ότι έχουμε ένα υπολογιστικό σύστημα με δυνατότητα αποθήκευσης gigabytes (π.χ., ένα σχετικά φθηνό laptop) τα οποία ισοδυναμούν με περίπου 5 εκατομμύρια σελίδες κειμένου. Ακόμα κι αν ο υπολογιστής κάνει μόνον λάθος ανά.. σελίδες κειμένου θα υπήρχαν (κατά μέσο όρο) 5 σφάλματα όταν θα «γέμιζε» ο υπολογιστής Το ίδιο ισχύει και για μεταδόσεις δεδομένων: αν κατεβάσουμε ένα πρόγραμμα των 2 megabytes και ο υπολογιστής λαμβάνει λάθος μόνον / εκατομ. χαρακτήρες, θα υπάρχουν πιθανώς περισσότερα από 2 λάθη στο πρόγραμμα που κατεβάσαμε και καθένα θα μπορούσε να κάνει το πρόγραμμα να δυσλειτουργήσει ακόμα κι όταν δεν το περιμένουμε με ενδεχομένως ανυπολόγιστο κόστος 8

9 Γιατί χρειάζεται η ανίχνευση σφαλμάτων και η διόρθωσή τους; Δίδαγμα: ακόμα και κατά το % να είναι ακριβής ένας υπολογιστής, αυτό δεν είναι ούτε καν κοντά στο «αρκετά καλά» Οι υπολογιστές πρέπει να αποθηκεύουν και να μεταδίδουν δισεκατομμύρια τμημάτων πληροφορίας χωρίς ούτε ένα λάθος, αλλά όπως και άλλες συσκευές αντιμετωπίζουν προβλήματα επικοινωνίας, π.χ., δε μεταδίδουν άψογα την πληροφορία τα τηλέφωνα λόγω θορύβου, τα ηλεκτρικά καλώδια και οι ασύρματες επικοινωνίες λόγω παρεμβολών, φυσικά μέσα όπως σκληροί δίσκοι, CD/DVD λόγω καταστροφής, σκόνης, κτλ Πώς μπορούμε να πετύχουμε λιγότερο από λάθος σε πολλά δισεκατομμύρια, όταν υπάρχουν οι παραπάνω προφανείς επικοινωνιακές δυσκολίες; με χρήση σωστών ιδεών, μπορούν να χρησιμοποιηθούν ακόμα και εξαιρετικά μη αξιόπιστα επικοινωνιακά κανάλια για τη μετάδοση δεδομένων με εξαιρετικά χαμηλό ρυθμό εμφάνισης σφαλμάτων - τόσο χαμηλό που τα λάθη μπορούν πρακτικά να εξαλειφθούν πλήρως 9

10 Η ιδέα της επανάληψης (repetition) Για να σιγουρευτούμε ότι κάποια πληροφορία μεταφέρθηκε σωστά, αρκεί να την επαναλάβουμε μερικές φορές Αν κάποιος μάς υπαγορεύει έναν αριθμό τηλεφώνου ή έναν τραπεζικό λογαριασμό μέσω μιας κακής τηλεφωνικής σύνδεσης, πιθανότατα θα του ζητήσουμε να επαναλάβει τουλάχιστον μια φορά για να είμαστε σίγουροι ότι δεν έγινε κάποιο λάθος Το ίδιο κάνουν και οι υπολογιστές

11 Η ιδέα της επανάληψης (repetition) Έστω ένας υπολογιστής τράπεζας που προσπαθεί να μάς μεταδώσει το υπόλοιπο του λογαριασμού μας μέσω internet Το υπόλοιπο είναι στα αλήθεια $523.75, αλλά το δίκτυο δεν είναι πολύ αξιόπιστο και κάθε ψηφίο μπορεί να μεταδοθεί λάθος με πιθανότητα 2% Την πρώτη φορά που μεταδίδεται το υπόλοιπο φτάνει σαν $ χωρίς φυσικά να μπορούμε να γνωρίζουμε αν αυτό είναι σωστό ή λάθος Χρησιμοποιώντας την ιδέα της επανάληψης, μπορούμε να έχουμε μια πολύ καλή εκτίμηση του πραγματικού υπολοίπου

12 Η ιδέα της επανάληψης (repetition) Ζητάμε να μεταδοθεί το υπόλοιπο του λογαριασμού μας 5 φορές και λαμβάνουμε τις παρακάτω απαντήσεις: Μετάδοση : Μετάδοση 2: Μετάδοση 3: Μετάδοση 4: Μετάδοση 5: $ $ $ $ $ Κάποιες από τις μεταδόσεις έχουν ή περισσότερα ψηφία λάθος και υπάρχει και μετάδοση στην οποία όλα τα ψηφία είναι σωστά Αλλά εμείς δεν έχουμε τρόπο να γνωρίζουμε πού είναι τα λάθη δε μπορούμε να επιλέξουμε τη μετάδοση 2 που είναι η σωστή 2

13 Η ιδέα της επανάληψης (repetition) Όμως, μπορούμε να εξετάσουμε κάθε ψηφίο χωριστά, κοιτώντας το ψηφίο αυτό σε όλες τις μεταδόσεις και επιλέγοντας την τιμή που εμφανίζεται συχνότερα Να τα αποτελέσματα, όπου το πιο συχνά εμφανιζόμενο ψηφίο αναφέρεται στο τέλος: Μετάδοση : Μετάδοση 2: Μετάδοση 3: Μετάδοση 4: Μετάδοση 5: Ψηφίο που εμφανίζεται συχνότερα: $ $ $ $ $ $

14 Η ιδέα της επανάληψης (repetition) Ψηφίο : στις μεταδόσεις -4, το πρώτο ψηφίο ήταν 5, ενώ στη μετάδοση 5 το πρώτο ψηφίο ήταν 7 αν και δε μπορούμε να είμαστε απόλυτα σίγουροι, ή πιο πιθανή τιμή του πρώτου ψηφίου του τραπεζικού μας υπολοίπου πρέπει να είναι το 5. Ψηφίο 2: η τιμή 2 εμφανίστηκε 4 φορές ενώ η τιμή 4 εμφανίστηκε μόνο φορά η τιμή 2 είναι η πιθανότερη για το δεύτερο ψηφίο του τραπεζικού υπολοίπου Ψηφίο 3: εδώ υπάρχουν 3 εκδοχές: η τιμή εμφανίζεται 3 φορές, η τιμή 9 εμφανίζεται φορά και η τιμή 4 εμφανίζεται φορά η τιμή είναι η πιθανότερη για το τρίτο ψηφίο του τραπεζικού υπολοίπου Κάνοντας το ίδιο για όλα τα ψηφία: η τελική εκτίμηση για το τραπεζικό μας υπόλοιπο είναι $ που είναι πράγματι και η σωστή Μετάδοση : Μετάδοση 2: Μετάδοση 3: Μετάδοση 4: Μετάδοση 5: Ψηφίο που εμφανίζεται συχνότερα: $ $ $ $ $ $

15 Η ιδέα της επανάληψης (repetition): προβλήματα Κατά κάποιον τρόπο έχουμε λύσει το πρόβλημα, αλλά υπάρχουν δύο «προβληματάκια» Το ποσοστό σφαλμάτων για το συγκεκριμένο κανάλι επικοινωνίας ήταν μόνο 2% και στην πράξη οι υπολογιστές πρέπει να καταφέρουν να επικοινωνήσουν πάνω από κανάλια πολύ χειρότερα από αυτό Η τελική απάντηση/μαντεψιά αποδείχθηκε ότι ήταν η σωστή στο προηγούμενο παράδειγμα, αλλά δεν υπάρχει καμία εγγύηση ότι αυτό θα συμβαίνει πάντα: πρόκειται απλά για μαντεψιά με βάση την τιμή που νομίζουμε ότι είναι η πιο πιθανή για να αντιστοιχεί στο τραπεζικό μας υπόλοιπο Και οι δύο προβληματισμοί αντιμετωπίζονται εύκολα: αυξάνουμε το πλήθος των επαναμεταδόσεων μέχρι η αξιοπιστία να γίνει όσο υψηλή επιθυμούμε 5

16 Η ιδέα της επανάληψης (repetition): λύσεις στα προβλήματα Υποθέστε ποσοστό σφαλμάτων 5% (αντί για 2% που υποθέσαμε πριν) Ζητάμε στην τράπεζα να μεταδώσει το τραπεζικό μας υπόλοιπο φορές (αντί για 5) Εξετάζουμε το πρώτο ψηφίο (ανάλογα επιχειρήματα ισχύουν και για τα άλλα ψηφία): Ποσοστό λάθους 5% περίπου σε μισές από τις μεταδόσεις η τιμή του ψηφίου θα είναι σωστή, δηλ, θα μεταδοθεί η τιμή 5 ενώ στις υπόλοιπες μισές μεταδόσεις η τιμή θα μεταδοθεί λάθος θα υπάρχουν περίπου 5 εμφανίσεις της τιμής 5 και μόνο περίπου 5 εμφανίσεις των υπόλοιπων ψηφίων (-4 και 6-9). Αποδεικνύεται ότι ακόμα κι αν μεταδίδαμε ένα νέο τραπεζικό υπόλοιπο ανά δευτερόλεπτο με την παραπάνω μέθοδο θα έπρεπε να περιμένουμε για τρισεκατομμύρια χρόνια για να κάνουμε λάθος πρόβλεψη του τραπεζικού υπολοίπου 6

17 Η ιδέα της επανάληψης (repetition): συμπέρασμα Συμπέρασμα: επαναλαμβάνοντας ένα μη αξιόπιστο μήνυμα αρκετές φορές, μπορούμε να το κάνουμε όσο αξιόπιστο θέλουμε Παρατήρηση: στην ανάλυσή μας, υποθέσαμε ότι τα σφάλματα συμβαίνουν τυχαία αν μια κακόβουλη οντότητα σκόπιμα παρεμβάλλεται στη μετάδοση και επιλέγει τα σφάλματα, η ιδέα της επανάληψης γίνεται ευάλωτη, αλλά μεταγενέστεροι κώδικες αντιμετωπίζουν και αυτό το ενδεχόμενο Η ιδέα της επανάληψης δεν είναι αρκετά καλή για τους σύγχρονους υπολογιστές: όταν μεταδίδεται ένα μικρό τμήμα πληροφορίας όπως π.χ., ένας τραπεζικός λογαριασμός, η επαναμετάδοση για φορές δεν κοστίζει ακριβά, αλλά θα ήταν εντελώς μη πρακτική η επαναμετάδοση για φορές ενός μεγάλου πακέτου λογισμικού (των π.χ., 2 megabytes) 7

18 Εντοπισμός και διόρθωση Λύση : επανάληψη σφάλματος Ανησυχία : μεγάλο ποσοστό σφάλματος στη μετάδοση ΟΚ: ζητάω πολλές επαναμεταδόσεις Ανησυχία 2: μεγάλα μηνύματα ΠΡΟΒΛΗΜΑ: μεγάλο overhead ΤΙ ΚΑΝΩ; Λύση 2: περίσσεια ενσωματώνω παραπάνω πληροφορία στο μήνυμα κωδικοποιώ το μήνυμα 8

19 Η ιδέα της περίσσειας (redundancy) Βελτιωμένη ιδέα: δεν αρκεί να σταλεί μόνο το αρχικό μήνυμα αλλά πρέπει να σταλεί και κάτι παραπάνω για να αυξηθεί η αξιοπιστία Στην ιδέα της επανάληψης το «κάτι παραπάνω» ήταν τα παραπάνω αντίγραφα του αρχικού μηνύματος Αλλά υπάρχουν κι άλλοι τύποι παραπάνω πραγμάτων που μπορούν να σταλούν για να βελτιωθεί η αξιοπιστία που στην επιστήμη των υπολογιστών καλούνται με τον όρο περίσσεια (redundancy) Η περίσσεια αυτή μπορεί να προστεθεί και στο αρχικό μήνυμα Στη συνέχεια θα μελετήσουμε μια μορφή περίσσειας σύμφωνα με την οποία το αρχικό μήνυμα μετατρέπεται σε ένα μήνυμα μεγαλύτερου μήκους (με πρόσθεση συμπληρωματικής πληροφορίας): Το αρχικό μήνυμα διαγράφεται και αντικαθίσταται από ένα διαφορετικό, μεγαλύτερου μεγέθους Λαμβάνοντας το επιμηκυμένο μήνυμα μπορούμε να το μετατρέψουμε στο αρχικό ακόμα κι αν έχει υποστεί μερική καταστροφή λόγω κακού επικοινωνιακού καναλιού 9

20 Η ιδέα της περίσσειας (redundancy): παράδειγμα Προσπαθούμε να μεταδώσουμε το τραπεζικό υπόλοιπο $ πάνω από μη αξιόπιστο επικοινωνιακό κανάλι που τυχαία αλλάζει 2% των ψηφίων οπότε προσπαθούμε να μεταδώσουμε αντί για το $ ένα μεγαλύτερο σε μήκος μήνυμα που να περιέχει την ίδια πληροφορία Μεταδίδουμε απλά τις αντίστοιχες αγγλικές λέξεις: five two one three point seven five Υποθέτουμε ότι περίπου 2% των χαρακτήρων του μηνύματος μετατρέπονται τυχαία σε άλλους εξαιτίας του κακού καναλιού και τελικά το μήνυμα μεταδίδεται σαν: fiqe kwo one thrxp point sivpn fivq Αν και δύσκολο να διαβαστεί, καθένας που γνωρίζει αγγλικά θα καταλάβει ότι το παραποιημένο μήνυμα αντιστοιχεί στο πραγματικό τραπεζικό υπόλοιπο $ Σημείο κλειδί: οι κωδικές λέξεις (code words) όπως one, two, three, κ.τ.λ. Επειδή χρησιμοποιήσαμε ένα επαυξημένο μήνυμα, είναι δυνατόν αξιόπιστα να ανιχνεύσουμε και να διορθώσουμε κάθε αλλαγή στο μήνυμα: αν μάς πουν ότι οι χαρακτήρες fiqe αναπαριστούν έναν αριθμό στα αγγλικά και ότι μόνο ένας χαρακτήρας έχει αλλαχτεί, σίγουρα μπορούμε να καταλάβουμε ότι το αρχικό μήνυμα ήταν five αφού δεν υπάρχει άλλος αριθμός στα αγγλικά που να μπορεί να προκύψει από το fiqe με αλλαγή ενός μόνο χαρακτήρα Αντίθετα, αν μάς πουν ότι τα ψηφία 367 αναπαριστούν κάποιον αριθμό αλλά ένα από τα ψηφία έχει αλλαχτεί, δεν έχουμε τρόπο να γνωρίζουμε ποιος ήταν ο αρχικός αριθμός, γιατί δεν έχει προστεθεί συμπληρωματική πληροφορία στο μήνυμα 2

21 Η ιδέα της περίσσειας (redundancy): παράδειγμα Προσπαθούμε να μεταδώσουμε το τραπεζικό υπόλοιπο $ πάνω από μη αξιόπιστο επικοινωνιακό κανάλι που τυχαία αλλάζει 2% των ψηφίων οπότε προσπαθούμε να μεταδώσουμε αντί για το $ ένα μεγαλύτερο σε μήκος μήνυμα που να περιέχει fiveτην two ίδιαone πληροφορία three point seven five Μεταδίδουμε απλά τιςfiqe αντίστοιχες kwo one αγγλικές thrxp point λέξεις: sivpn five two fivqone three point seven five Υποθέτουμε ότι περίπου 2% των χαρακτήρων του μηνύματος μετατρέπονται τυχαία σε άλλους εξαιτίας του κακού καναλιού και τελικά το μήνυμα μεταδίδεται σαν: fiqe kwo one thrxp point sivpn fivq Αν και δύσκολο να διαβαστεί, καθένας που γνωρίζει αγγλικά θα καταλάβει ότι το παραποιημένο μήνυμα αντιστοιχεί στο πραγματικό τραπεζικό υπόλοιπο $ Σημείο κλειδί: οι κωδικές λέξεις (code words) όπως one, two, three, κ.τ.λ. Επειδή χρησιμοποιήσαμε ένα επαυξημένο μήνυμα, είναι δυνατόν αξιόπιστα να ανιχνεύσουμε και να διορθώσουμε κάθε αλλαγή στο μήνυμα: αν μάς πουν ότι οι χαρακτήρες fiqe αναπαριστούν έναν αριθμό στα αγγλικά και ότι μόνο ένας χαρακτήρας έχει αλλαχτεί, σίγουρα μπορούμε να καταλάβουμε ότι το αρχικό μήνυμα ήταν five αφού δεν υπάρχει άλλος αριθμός στα αγγλικά που να μπορεί να προκύψει από το fiqe με αλλαγή ενός μόνο χαρακτήρα Αντίθετα, αν μάς πουν ότι τα ψηφία 367 αναπαριστούν κάποιον αριθμό αλλά ένα από τα ψηφία έχει αλλαχτεί, δεν έχουμε τρόπο να γνωρίζουμε ποιος ήταν ο αρχικός αριθμός, γιατί δεν έχει προστεθεί συμπληρωματική πληροφορία στο μήνυμα 2

22 Η ιδέα της περίσσειας (redundancy): πώς δουλεύει Τα μηνύματα αποτελούνται από σύμβολα Στο παράδειγμα: τα σύμβολα είναι τα αριθμητικά ψηφία -9 (για ευκολία αγνοούμε το σύμβολο του δολαρίου και την υποδιαστολή) Κάθε σύμβολο αντιστοιχίζεται σε μια κωδική λέξη Στο παράδειγμα: το σύμβολο αντιστοιχίζεται στην κωδική λέξη one, το 2 στην two, κ.ο.κ. Για να μεταδώσουμε το μήνυμα, μεταφράζουμε κάθε σύμβολο στην κωδική του λέξη και μετά στέλνουμε το τροποποιημένο μήνυμα πάνω από ένα μη αξιόπιστο επικοινωνιακό κανάλι Όταν λαμβάνεται το μήνυμα, εξετάζεται κάθε τμήμα του μηνύματος και ελέγχεται αν είναι πράγματι κάποια κωδική λέξη Αν είναι (π.χ., five ), μετατρέπεται στο αντίστοιχο σύμβολο (δηλ., 5) Αν δεν είναι (π.χ., fiqe ), εντοπίζεται η κωδική λέξη με την οποία ταιριάζει περισσότερο (στην περίπτωσή μας η five ) και μετατρέπεται στο αντίστοιχο σύμβολο (δηλ., το 5) 22

23 Κωδικοποίηση Αποκωδικοποίηση one two three four five fiqe twe 5 (ακριβές ταίριασμα) 5 (πλησιέστερο ταίριασμα) 2 (πλησιέστερο ταίριασμα) 5 five Κωδικοποίηση Αποκωδικοποίηση (ακριβές ταίριασμα) (πλησιέστερο ταίριασμα) (πλησιέστερο ταίριασμα) ο (7,4) κώδικας Hamming Ένας κώδικας που χρησιμοποιείται στην πραγματικότητα από υπολογιστές. Αναφέρονται μόνο 5 από τις 6 πιθανές 4-ψήφιες εισόδους. Και για τις υπόλοιπες εισόδους υπάρχουν κωδικές λέξεις που παραλείπονται εδώ. 23

24 Η ιδέα της περίσσειας (redundancy) Οι υπολογιστές χρησιμοποιούν την ιδέα της περίσσειας συνεχώς για να αποθηκεύσουν και να μεταδώσουν πληροφορία Στην πραγματικότητα, οι κωδικές λέξεις είναι πιο πολύπλοκες (και μαθηματικά τεκμηριωμένες) από τις αγγλικές λέξεις του παραδείγματος Στο κάτω μέρος του προηγούμενου σχήματος, παρουσιάζεται ο (7,4) κώδικας Hamming που είναι ένας από αυτούς που ανακάλυψε ο Richard Hamming στα Bell Labs το 947 λόγω της δυσλειτουργίας του υπολογιστή της εταιρείας τα ΣΚ Ο Hamming δημοσίευσε τους κώδικές του το 95, λόγω ύπαρξης απαίτησης για σχετική πατέντα από τη Bell Η βασική διαφορά από τον κώδικα του παραδείγματος είναι η χρήση μόνο και Ο λόγος είναι ότι κάθε πληροφορία που αποθηκεύεται ή μεταδίδεται με υπολογιστή μετατρέπεται σε ακολουθίες με και, οπότε κάθε πραγματικός κώδικας αναγκαστικά περιέχει μόνο αυτά τα 2 ψηφία 24

25 (7,4) κώδικας Hamming Κατά την κωδικοποίηση, σε κάθε ομάδα 4 ψηφίων προστίθεται συμπληρωματική πληροφορία οπότε παράγεται μία κωδική λέξη με 7 ψηφία Κατά την αποκωδικοποίηση, ψάχνουμε πρώτα για πλήρες ταίριασμα των 7 ψηφίων που λάβαμε με κάποια κωδική λέξη αν δε βρούμε, διαλέγουμε την περισσότερο ταιριαστή κωδική λέξη Ο κώδικας έχει σχεδιαστεί έτσι ώστε κάθε λάθος σε μια 7ψήφια κωδική λέξη να μπορεί να διορθωθεί χωρίς να υπάρχει ασάφεια (υπάρχουν σχετικές μαθηματικές αποδείξεις στις οποίες δε θα εμβαθύνουμε εδώ) 25

26 (7,4) κώδικας Hamming 4-ψήφια μηνύματα (dd2d3d4) κωδικοποιούνται σε 7-ψήφιες λέξεις υπάρχουν 3 επιπλέον ψηφία ελέγχου σε κάθε κωδικοποιημένο μήνυμα (pp2dp3d2d3d4) Οι θέσεις του κωδικοποιημένου μηνύματος αριθμούνται από αριστερά προς τα δεξιά Θέσεις που έχουν αριθμηθεί με δύναμη του 2 (θέση i = 2 k ) αντιστοιχούν σε ψηφία ελέγχου (pi) ενώ οι υπόλοιπες θέσεις αντιστοιχούν σε ψηφία του αρχικού μηνύματος Το ψηφίο ελέγχου p ελέγχει τα ψηφία του αρχικού μηνύματος σε θέσεις που το αριστερότερο ψηφίο είναι (δηλ., τις θέσεις 3=,5=,7=) Το ψηφίο ελέγχου p2 ελέγχει τα ψηφία του αρχικού μηνύματος σε θέσεις που το δεύτερο αριστερότερο ψηφίο είναι (δηλ., τις θέσεις 3=,6=,7=) Το ψηφίο ελέγχου p3 ελέγχει τα ψηφία του αρχικού μηνύματος σε θέσεις που το τρίτο αριστερότερο ψηφίο είναι (δηλ., τις θέσεις 5=,6=,7=) «ελέγχει»: το ψηφίο ελέγχου pi λαμβάνει την τιμή αν το πλήθος των στα ψηφία του μηνύματος που του αντιστοιχούν είναι περιττό, αλλιώς λαμβάνει την τιμή Θέση =2 Θέση 2=2 Θέση 3= Θέση 4=2 2 Θέση 5= Θέση 6= Θέση 7= p p2 d p3 d2 d3 d4 26

27 (7,4) κώδικας Hamming: παράδειγμα Αρχικό μήνυμα: dd2d3d4= Κωδικοποιημένο μήνυμα: pp2dp3d2d3d4= p= (αφού dd2d4=) p2= (αφού dd3d4=) p3= (αφού d2d3d4=) Θέση =2 Θέση 2=2 Θέση 3= Θέση 4=2 2 Θέση 5= Θέση 6= Θέση 7= p= p2= d = p3= d2 = d3 = d4 = 27

28 (7,4) κώδικας Hamming: παράδειγμα Αρχικό μήνυμα: dd2d3d4= Κωδικοποιημένο μήνυμα: pp2dp3d2d3d4= p= (αφού dd2d4=) p2= (αφού dd3d4=) p3= (αφού d2d3d4=) Μήνυμα που λαμβάνεται μετά τη μετάδοση: Ελέγχω (ξανα-υπολογίζω με βάση το μήνυμα) τα ψηφία ελέγχου: αν είναι σωστά το μήνυμα μεταδόθηκε σωστά Μήνυμα που λαμβάνεται μετά τη μετάδοση: Ελέγχω (ξανα-υπολογίζω με βάση το μήνυμα) τα ψηφία ελέγχου: τα ψηφία ελέγχου p και p3 δεν είναι σωστά αυτά βρίσκονται στις θέσεις +4=5 το ψηφίο στη θέση 5 είναι το λάθος Μήνυμα που λαμβάνεται μετά τη μετάδοση: Ελέγχω (ξανα-υπολογίζω με βάση το μήνυμα) τα ψηφία ελέγχου: το ψηφίο ελέγχου p3 δεν είναι σωστό το ίδιο το ψηφίο ελέγχου είναι το λάθος Θέση =2 Θέση 2=2 Θέση 3= Θέση 4=2 2 Θέση 5= Θέση 6= Θέση 7= p= p2= d = p3= d2 = d3 = d4 = 28

29 29 Ο (7,4) κώδικας Hamming 7= 6= 5= 4= 3= 2= = d4 d3 d2 p3 d p2 p

30 Επανάληψη ή Περίσσεια Στην πράξη, η ιδέα της περίσσειας προτιμάται σε σχέση με την ιδέα της επανάληψης λόγω του σχετικά χαμηλότερου κόστους της Το κόστος συστημάτων διόρθωσης σφαλμάτων μετριέται με βάση το overhead, δηλ., το ποσό της παραπάνω πληροφορίας που πρέπει να σταλεί για να είμαστε σίγουροι ότι το μήνυμα θα ληφθεί σωστά Το overhead της ιδέας της επανάληψης είναι τεράστιο αφού πρέπει να στείλουμε πολλά αντίγραφα ολόκληρου του μηνύματος Το overhead της ιδέας της περίσσειας εξαρτάται από το ακριβές σύνολο των κωδικών λέξεων που χρησιμοποιούμε Στο παράδειγμα: το μήνυμα με τις αγγλικές λέξεις είχε 29 χαρακτήρες ενώ το αρχικό είχε μόνο 6 νούμερα μεγάλο overhead Αλλά στην πράξη χρησιμοποιούνται σύνολα κωδικών λέξεων που έχουν δημιουργηθεί ώστε να εισάγουν πολύ λιγότερη συμπληρωματική πληροφορία και να έχουν πολύ υψηλή απόδοση ως προς την πιθανότητα να μην ανιχνευθεί κάποιο υπαρκτό σφάλμα Μέχρι τώρα αναφερθήκαμε ρητά στη μετάδοση πληροφορίας αλλά οι σχετικές μέθοδοι ισχύουν και για την αποθήκευσή της Τα CD, τα DVD, και οι σκληροί δίσκοι βασίζονται εξαιρετικά σε κώδικες διόρθωσης σφαλμάτων για να πετύχουν την εξέχουσα αξιοπιστία που διαπιστώνουμε στην πράξη 3

31 Εντοπισμός και διόρθωση σφάλματος Λύση : επανάληψη Καλό: αυξάνοντας τις επαναμεταδόσεις σχεδόν μηδενίζεται η πιθανότητα λάθους στη μετάδοση (σχεδόν σίγουρα θα τα εντοπίσω και θα τα διορθώσω) Ανησυχία : μεγάλο ποσοστό σφάλματος στη μετάδοση ΟΚ: ζητάω πολλές επαναμεταδόσεις Ανησυχία 2: αν έχω μεγάλα μηνύματα;;; ΠΡΟΒΛΗΜΑ: μεγάλο overhead ΤΙ ΚΑΝΩ; Λύση 2: περίσσεια ενσωματώνω παραπάνω πληροφορία στο μήνυμα κωδικοποιώ το μήνυμα (π.χ., με κώδικα Hamming) Καλό: μικρό overhead (τουλάχιστον σε σύγκριση με την επανάληψη) Ανησυχία : μπορώ να εντοπίσω και να διορθώσω το πολύ λάθος αν υπάρχουν παραπάνω; Λύση 2.5: μπορώ να εντοπίσω και να διορθώσω παραπάνω από λάθη με κώδικες Reed-Solomon Λύση 3: καρφίτσωμα (pinpoint) ή αλλιώς διδιάστατη ισοτιμία (twodimensional parity) 3

32 Εντοπισμός σφάλματος ξεχνάμε για λίγο τη διόρθωση και εστιάζουμε στον εντοπισμό Και τι κάνουμε με τη διόρθωση;;;;;;; Αν εντοπίσουμε το λάθος, διορθώνουμε ζητώντας επαναμετάδοση 32

33 Η ιδέα του ελέγχου αθροίσματος (checksum) Οι ιδέες της επανάληψης και της περίσσειας είναι τρόποι για ταυτόχρονο εντοπισμό και διόρθωση σφαλμάτων σε δεδομένα Εναλλακτική προσέγγιση: ας αφήσουμε τη διόρθωση και ας εστιάσουμε στον εντοπισμό σφαλμάτων (δες και το σχετικό απόφθεγμα του φιλοσόφου John Locke από τον 7 ο μ.χ. αιώνα) Για πολλές εφαρμογές, και μόνο ο εντοπισμός του σφάλματος είναι αρκετός αφού αν εντοπιστεί λάθος ζητάμε αντίγραφο των δεδομένων συνεχώς μέχρι να τα λάβουμε χωρίς λάθη Αυτή η στρατηγική που καλείται ιδέα του ελέγχου αθροίσματος ( checksum trick ) - χρησιμοποιείται συχνά: π.χ., από σχεδόν όλες τις Διαδικτυακές συνδέσεις 33

34 Η ιδέα του ελέγχου αθροίσματος (checksum) Υποθέτουμε ότι όλα τα μηνύματα αποτελούνται μόνο από αριθμούς Πρόκειται για πολύ ρεαλιστική υπόθεση αφού οι υπολογιστές αποθηκεύουν κάθε πληροφορία με μορφή αριθμών και απλά μεταφράζουν τους αριθμούς αυτούς σε κείμενο ή εικόνες όταν μάς παρουσιάζουν την αντίστοιχη πληροφορία Κάθε πιθανή επιλογή συμβόλων για την κωδικοποίηση των μηνυμάτων δεν επηρεάζει τις τεχνικές που περιγράφουμε εδώ Άλλες φορές είναι πιο απλό να κωδικοποιούμε με αριθμητικά ψηφία (τα ψηφία - 9) και άλλες με αλφαβητικά σύμβολα (τους χαρακτήρες a-z), αλλά σε κάθε περίπτωση μπορεί να συμφωνηθεί μια μετάφραση μεταξύ αυτών των συνόλων συμβόλων Π.χ., μια προφανής μετάφραση από αλφαβητικά σε αριθμητικά σύμβολα θα ήταν a, b 2,, z 26 Οπότε δεν έχει σημασία αν θα μελετήσουμε τις τεχνικές υποθέτοντας ότι μεταδίδονται αριθμητικά ή αλφαβητικά μηνύματα αφού κάθε τεχνική μπορεί να εφαρμοστεί σε κάθε τύπο μηνύματος (αλφαβητικού ή αριθμητικού) κάνοντας αρχικά την απαραίτητη μετάφραση 34

35 Η ιδέα του ελέγχου αθροίσματος (checksum): πώς δουλεύει Υπάρχουν διάφορες εκδοχές της ιδέας εμείς θα παρουσιάσουμε την απλούστερη που καλείται απλός έλεγχος αθροίσματος ( simple checksum ) Αθροίζουμε τα ψηφία του μηνύματος και κρατάμε μόνο το τελευταίο (δεξιότερο) ψηφίο του αθροίσματος που αποτελεί και το αποτέλεσμα του απλού ελέγχου αθροίσματος ( simple checksum ) Παράδειγμα: έστω ότι το μήνυμα είναι , το άθροισμα των ψηφίων του είναι = 28, κρατάμε μόνο το τελευταίο ψηφίο, δηλ., το 8 που αποτελεί το αποτέλεσμα του απλού ελέγχου αθροίσματος 35

36 Η ιδέα του ελέγχου αθροίσματος (checksum) Πώς χρησιμοποιείται ο έλεγχος αθροίσματος; «κολλάμε» το αποτέλεσμα του ελέγχου αθροίσματος στο τέλος του μηνύματός μας πριν το αποστείλουμε οπότε όταν λαμβάνεται το μήνυμα, μπορεί να υπολογιστεί το αποτέλεσμα του ελέγχου αθροίσματος εκ νέου να συγκριθεί με το προηγούμενο αποτέλεσμα που είχαμε στείλει και να διαπιστωθεί η ορθότητα του μηνύματος Δηλ., οι παραλήπτες ελέγχουν το άθροισμα του μηνύματος ( check the sum of the message), εξ ού και η ορολογία έλεγχος αθροίσματος ( checksum ) 36

37 Η ιδέα του ελέγχου αθροίσματος (checksum) Παράδειγμα: Αρχικό μήνυμα: Τελευταίο ψηφίο αποτελέσματος ελέγχου αθροίσματος: 8 Μεταδιδόμενο μήνυμα: Ο παραλήπτης χρησιμοποιεί την ιδέα του ελέγχου αθροίσματος και αντιλαμβάνεται ότι το αποτέλεσμα του ελέγχου αθροίσματος που του στείλαμε είναι το τελευταίο ψηφίο 8 - επομένως το 8 δεν είναι ψηφίο του αρχικού μηνύματος και απομακρύνεται από το μήνυμα Ο παραλήπτης υπολογίζει το αποτέλεσμα του ελέγχου αθροίσματος Αν δεν υπήρχαν λάθη στη μετάδοση θα υπολογίσει = 28, θα κρατήσει το τελευταίο ψηφίο (που είναι 8), θα διαπιστώσει ότι είναι ίσο με το αντίστοιχο αποτέλεσμα που του στείλαμε και θα συμπεράνει ότι το μήνυμα μεταδόθηκε σωστά Αν υπήρχε λάθος στη μετάδοση και ο παραλήπτης έλαβε το μήνυμα , θα απομακρύνει το 8, θα υπολογίσει το = 24, θα κρατήσει το τελευταίο ψηφίο (4), θα διαπιστώσει ότι δεν είναι ίσο με το 8 και θα ζητήσει επαναμετάδοση του μηνύματος (μέχρι να λάβει σωστά το μήνυμα) 37

38 Η ιδέα του ελέγχου αθροίσματος (checksum) Πόσο είναι το overhead αυτού του συστήματος ελέγχου λαθών (δηλ., πόσα επιπλέον ψηφία στέλνονται μαζί με το αρχικό μήνυμα); overhead = ένα μόνο ψηφίο για να εντοπιστεί ένα λάθος = το τελευταίο ψηφίο του αποτελέσματος του ελέγχου αθροίσματος: πολύ χαμηλό, ανεξάρτητο από το μήκος του αρχικού μηνύματος Πρόβλημα: με τον απλό έλεγχο αθροίσματος μπορεί να εντοπιστεί μόνο ένα λάθος στο αρχικό μήνυμα αν υπάρχουν δύο ή περισσότερα λάθη στο αρχικό μήνυμα; Με τον απλό έλεγχο αθροίσματος μπορεί να εντοπιστούν μπορεί και όχι 38

39 checksum αρχικό μήνυμα μήνυμα με ένα λάθος μήνυμα με δύο λάθη μήνυμα με δύο (διαφορετικά) λάθη Αν υπάρχει μόνο ένα λάθος στο αρχικό μήνυμα, ο απλός έλεγχος αθροίσματος θα το εντοπίσει. Όταν υπάρχουν παραπάνω από ένα λάθη, το πρόβλημα μπορεί να εντοπιστεί μπορεί και όχι: Στο πρώτο μήνυμα με δύο λάθη, το πρόβλημα εντοπίζεται Στο δεύτερο μήνυμα με δύο λάθη, το πρόβλημα ΔΕΝ εντοπίζεται 39

40 Εντοπισμός σφάλματος ξεχνάμε για λίγο τη διόρθωση και εστιάζουμε στον εντοπισμό Και τι κάνουμε με τη διόρθωση;;;;;;; Αν εντοπίσουμε το λάθος, διορθώνουμε ζητώντας επαναμετάδοση Λύση : προσθέτουμε απλό checksum bit στο τέλος του μηνύματος Καλό: μικρό overhead Ανησυχία: εντοπίζεται το πολύ λάθος αν υπάρχουν παραπάνω λάθη;;;;;;;; Λύση 2: προσθέτουμε απλό checksum bit και staircase checksum bit στο τέλος του μηνύματος 4

41 Η ιδέα του ελέγχου κλιμακωτού αθροίσματος (checksum) Λύση: βελτιώνουμε ελαφρώς την ιδέα και ορίζουμε έναν νέο τύπο ελέγχου αθροίσματος που καλείται έλεγχος κλιμακωτού αθροίσματος ( staircase checksum) Φανταζόμαστε ότι ανεβαίνουμε μία σκάλα (κλίμακα) όταν υπολογίζουμε το αποτέλεσμα του ελέγχου αθροίσματος: κάθε σκαλοπάτι είναι αριθμημένο με τους αριθμούς,2,3, κ.τ.λ. Υπολογίζουμε το staircase checksum ως εξής: προσθέτουμε τα ψηφία του μηνύματος (όπως πριν), αλλά κάθε ψηφίο πολλαπλασιάζεται με τον αριθμό του σκαλοπατιού στο οποίο βρίσκεται (κάθε ψηφίο βρίσκεται σε άλλο σκαλοπάτι) στο τέλος κρατάμε μόνο το τελευταίο ψηφίο του αποτελέσματος (όπως πριν) Παράδειγμα: αν το αρχικό μήνυμα είναι το staircase checksum του είναι το 7: (x4)+(2x6)+(3x7)+(4x5)+(5x6)= =87 4

42 Σύγκριση ελέγχου απλού και κλιμακωτού αθροίσματος Απλό checksum Κλιμακωτό checksum αρχικό μήνυμα μήνυμα με ένα λάθος μήνυμα με δύο λάθη μήνυμα με δύο (διαφορετικά) λάθη μήνυμα με δύο (πάλι διαφορετικά) λάθη

43 Η ιδέα του ελέγχου αθροίσματος (checksum) Επομένως: μεταδίδοντας το αρχικό μήνυμα με δύο επιπλέον ψηφία, το τελευταίο ψηφίο του αποτελέσματος του ελέγχου απλού και του κλιμακωτού αθροίσματος, μπορούμε πάντα να εντοπίζουμε μέχρι το πολύ δύο λάθη στο αρχικό μήνυμα Παράδειγμα: Το μήνυμα μεταδίδεται σαν Όταν λαμβάνεται, υποθέτοντας ότι είναι γνωστή η τεχνική που έχει χρησιμοποιηθεί,: Απομακρύνουμε τα 2 τελευταία ψηφία (το 8, που είναι το simple checksum και το 7 που είναι το staircase checksum) Υπολογίζουμε το simple checksum του υπόλοιπου μηνύματος (46756) που προκύπτει 8 και το staircase checksum που προκύπτει 7 Αν και οι δύο τιμές ταιριάζουν με αυτές που λάβαμε (στο παράδειγμα ταιριάζουν) δύο εκδοχές είναι πιθανές: είτε λάβαμε το μήνυμα σωστά, χωρίς λάθη είτε υπάρχουν τουλάχιστον 3 λάθη Αν υπάρχουν το πολύ 2 λάθη, τουλάχιστον ένα από τα δύο checksums θα διαφέρει σίγουρα από το πραγματικό 43

44 Η ιδέα του ελέγχου αθροίσματος (checksum) Απλό checksum Κλιμακωτό checksum αρχικό μήνυμα μήνυμα με ένα λάθος μήνυμα με δύο λάθη μήνυμα με δύο (διαφορετικά) λάθη μήνυμα με δύο (πάλι διαφορετικά) λάθη

45 Η ιδέα του ελέγχου αθροίσματος (checksum) Η βασική ιδέα του ελέγχου αθροίσματος που περιγράψαμε δουλεύει για σχετικά μικρά μηνύματα (με λιγότερα από ψηφία) αλλά παραπλήσιες ιδέες εφαρμόζονται για μεγαλύτερα μηνύματα Είναι δυνατός ο ορισμός checksums μέσω συγκεκριμένων ακολουθιών απλών πράξεων όπως πρόσθεση ψηφίων μηνύματος, πολλαπλασιασμός μηνυμάτων με αριθμό «σκαλοπατιού», μετάθεση ψηφίων του μηνύματος σύμφωνα με δοσμένο πρότυπο που αν και ακούγονται πολύπλοκες μπορούν να εκτελεστούν από υπολογιστές εξαιρετικά γρήγορα Ο ορισμός τέτοιων checksums αποδεικνύεται πολύ χρήσιμος και πρακτικός τρόπος ανίχνευσης σφαλμάτων σε μηνύματα 45

46 Η ιδέα του ελέγχου αθροίσματος (checksum) Η βασική ιδέα του ελέγχου αθροίσματος που περιγράψαμε παράγει μόνο 2 ψηφία checksum (τα ψηφία ελέγχου απλού και κλιμακωτού αθροίσματος) αλλά τα πραγματικά checksums περιέχουν πολύ περισσότερα ψηφία γύρω στα 5 Ο αριθμός των ψηφίων στο checksum (είτε 2 είτε περίπου 5) είναι προκαθορισμένος για κάθε σχετικό αλγόριθμο και φυσικά μπορούν να γίνουν όσο πολλά θέλουμε και να παραμένουν πολύ λίγα σε σχέση με το μήκος του αντίστοιχου μηνύματος Υποθέστε ότι χρησιμοποιούμε ένα checksum των ψηφίων για να διαπιστώσουμε την ορθότητα μετάδοσης ενός πακέτου λογισμικού μεγέθους 2 megabytes που κατεβάσαμε από το web Το checksum είναι μικρότερο από το / του % του μεγέθους του πακέτου λογισμικού το επίπεδο του overhead είναι προφανώς αποδεκτό! Αποδεικνύεται με μαθηματικά ότι η πιθανότητα αποτυχίας εντοπισμού λάθους όταν χρησιμοποιούμε checksum αυτού του μεγέθους είναι τόσο πολύ μικρή που πρακτικά μπορεί να θεωρηθεί!! 46

47 Η ιδέα του ελέγχου αθροίσματος (checksum) Προσοχή: λαμβάνοντας υπόψη τεχνικές λεπτομέρειες, συμπεραίνουμε ότι και συστήματα που χρησιμοποιούν -ψήφια μπορούν να αποτύχουν στον εντοπισμό λαθών Απαιτείται ειδικός τύπος checksums που καλούνται κρυπτογραφικές συναρτήσεις κατακερματισμού (cryptographic hash functions) ειδικά αν οι παραποιήσεις στο αρχικό μήνυμα δε συμβαίνουν τυχαία λόγω κακού επικοινωνιακού καναλιού αλλά σκόπιμα προκαλούνται από κάποιον κακόβουλο αντίπαλο Η εκδοχή αυτή είναι συνηθισμένη στην πράξη αφού είναι πιθανό κάποιος κακός hacker να θέλει να τροποποιήσει το πακέτο λογισμικού των 2 megabytes κατά τέτοιον τρόπο ώστε να παράγεται το ίδιο -ψήφιο checksum, αλλά στην πραγματικότητα να είναι ένα διαφορετικό λογισμικό που θα αποκτήσει έλεγχο στον υπολογιστή μας! Η χρήση κρυπτογραφικών συναρτήσεων κατακερματισμού κάνει κάτι τέτοιο αδύνατον 47

48 Εντοπισμός σφάλματος ξεχνάμε για λίγο τη διόρθωση και εστιάζουμε στον εντοπισμό Και τι κάνουμε με τη διόρθωση;;;;;;; Αν εντοπίσουμε το λάθος, διορθώνουμε ζητώντας επαναμετάδοση Λύση : προσθέτουμε απλό checksum bit στο τέλος του μηνύματος Καλό: μικρό overhead Ανησυχία: εντοπίζεται το πολύ λάθος αν υπάρχουν παραπάνω λάθη;;;;;;;; Λύση 2: προσθέτουμε απλό checksum bit και staircase checksum bit στο τέλος του μηνύματος Ανησυχία: εντοπίζονται το πολύ 2 λάθη αν υπάρχουν παραπάνω λάθη;;;;;;;; Λύση 3: κρυπτογραφικές συναρτήσεις κατακερματισμού - cryptographic hash functions 48

49 Εντοπισμός και διόρθωση σφάλματος Λύση : επανάληψη Καλό: αυξάνοντας τις επαναμεταδόσεις σχεδόν μηδενίζεται η πιθανότητα λάθους στη μετάδοση (σχεδόν σίγουρα θα τα εντοπίσω και θα τα διορθώσω) Ανησυχία : μεγάλο ποσοστό σφάλματος στη μετάδοση ΟΚ: ζητάω πολλές επαναμεταδόσεις Ανησυχία 2: αν έχω μεγάλα μηνύματα;;; ΠΡΟΒΛΗΜΑ: μεγάλο overhead ΤΙ ΚΑΝΩ; Λύση 2: περίσσεια ενσωματώνω παραπάνω πληροφορία στο μήνυμα κωδικοποιώ το μήνυμα (π.χ., με κώδικα Hamming) Καλό: μικρό overhead (τουλάχιστον σε σύγκριση με την επανάληψη) Ανησυχία : μπορώ να εντοπίσω και να διορθώσω το πολύ λάθος αν υπάρχουν παραπάνω; Λύση 2.5: μπορώ να εντοπίσω και να διορθώσω παραπάνω από λάθη με κώδικες Reed-Solomon Λύση 3: καρφίτσωμα (pinpoint) ή αλλιώς διδιάστατη ισοτιμία (twodimensional parity) 49

50 Η ιδέα του καρφιτσώματος (pinpoint) Πρόβλημα: εντοπισμός και διόρθωση επικοινωνιακών σφαλμάτων Λύσεις που είδαμε ήδη: ιδέα επανάληψης αποστολής του αρχικού μηνύματος (μη αποδοτική) και ιδέα ενσωμάτωσης περίσσειας πληροφορίας στο αρχικό μήνυμα (αποδοτική) μέσω κωδικοποίησης του αρχικού μηνύματος (με κωδικές λέξεις) Πώς δημιουργούνται οι κωδικές λέξεις; Είδαμε στο παράδειγμα τη χρήση αγγλικών λέξεων για την κωδικοποίηση αριθμών που όμως είναι λιγότερο αποδοτικός τρόπος κωδικοποίησης από αυτούς που χρησιμοποιούνται από τους υπολογιστές στην πράξη Είδαμε επίσης ένα πραγματικό παράδειγμα ενός κώδικα Hamming Θα περιγράψουμε μια μέθοδο κωδικοποίησης για την ιδέα της περίσσειας που μάς επιτρέπει να «καρφιτσώσουμε» το λάθος πολύ γρήγορα για αυτό και καλείται ιδέα του καρφιτσώματος ( pinpoint trick ) 5

51 Η ιδέα του καρφιτσώματος (pinpoint): πώς δουλεύει Υποθέτουμε για ευκολία ότι έχουμε μηνύματα που περιέχουν μόνο τα ψηφία -9 (αφού ό,τι και να περιέχουν τα μηνύματα μπορούν να μεταφραστούν σε αριθμούς) Υποθέτουμε για ευκολία (χωρίς βλάβη της γενικότητας) ότι το αρχικό μήνυμα έχει 6 ψηφία (μήνυμα με περισσότερα από 6 ψηφία το χωρίζουμε σε 6ψήφια τμήματα, μήνυμα με λιγότερα από 6 ψηφία το συμπληρώνουμε με ) Βήμα : τοποθετούμε τα 6 ψηφία του μηνύματος σε ένα τετράγωνο που διαβάζεται από αριστερά προς δεξιά και από πάνω προς τα κάτω: αν το αρχικό μήνυμα είναι γίνεται: Βήμα 2: υπολογίζουμε ένα απλό checksum για κάθε γραμμή και το τοποθετούμε δεξιά στο τέλος κάθε γραμμής (π.χ., το checksum για τη δεύτερη γραμμή είναι = 8 και κρατάμε το τελευταίο ψηφίο του αθροίσματος δηλ., το 8 5

52 Η ιδέα του καρφιτσώματος (pinpoint) Βήμα 3: υπολογίζουμε απλά checksums για κάθε στήλη και τα προσθέτουμε κάτω κάτω στο τέλος κάθε στήλης (π.χ., το checksum για την τρίτη στήλη είναι = 2 και κρατάμε το τελευταίο ψηφίο του αθροίσματος, δηλ., το ) Βήμα 4: αναδιατάσσουμε τους αριθμούς ώστε να μπορούν να αποθηκευθούν και να μεταδοθούν ψηφίο-ψηφίο, διαβάζοντας τους αριθμούς από αριστερά προς τα δεξιά και από πάνω προς τα κάτω ώστε να προκύψει το εξής 24-ψήφιο μήνυμα:

53 Η ιδέα του καρφιτσώματος (pinpoint): πώς χρησιμοποιείται Αρχικό 6-ψήφιο μήνυμα: Μήνυμα με 24 ψηφία που λάβαμε: Βήμα (για αποκωδικοποίηση): τοποθετούμε τα ψηφία σε ένα τετράγωνο 5x5 όπου η τελευταία γραμμή και η τελευταία στήλη περιέχουν ψηφία checksum που επισυνάφθηκαν στο αρχικό μήνυμα: Βήμα 2: υπολογίζουμε απλά checksums για τα 4 πρώτα ψηφία σε κάθε γραμμή και κάθε στήλη και καταγράφουμε τα αποτελέσματα σε νέα στήλη και γραμμή, αντίστοιχα, δίπλα στα σταλμένα checksums: 53

54 Η ιδέα του καρφιτσώματος (pinpoint) Υπάρχουν δύο σύνολα τιμών για τα checksums: οι τιμές που μάς έστειλαν και αυτές που υπολογίσαμε Αν οι αντίστοιχες τιμές είναι ίδιες το μήνυμα σχεδόν σίγουρα μεταδόθηκε σωστά Αν υπήρξε σφάλμα στην επικοινωνία κάποιες τιμές checksums θα είναι διαφορετικές Στο παράδειγμα υπάρχουν 2 διαφορές: στις τιμές 5 και στην τρίτη γραμμή και στις τιμές 3 και 8 στη δεύτερη στήλη Η θέση των διαφορών υποδεικνύει που έγινε το λάθος! 54

55 Η ιδέα του καρφιτσώματος Το λάθος έγινε στο εξής ψηφίο: (pinpoint) Εντοπίσαμε το λάθος αλλά δεν το έχουμε διορθώσει ακόμα Το διορθώνουμε αντικαθιστώντας το λάθος ψηφίο, δηλ., το 7, με κάποιο άλλο ώστε και τα δύο checksums να είναι σωστά Στην τρίτη στήλη το checksum έπρεπε να είναι 3 αλλά προέκυψε 8, οπότε πρέπει να μειωθεί κατά 5 μειώνουμε το λανθασμένο ψηφίο 7 κατά 5 και γίνεται 2 55

56 Η ιδέα του καρφιτσώματος (pinpoint) Διαπιστώνουμε ότι πλέον η τρίτη γραμμή έχει checksum 5, που συμφωνεί με το αντίστοιχο checksum που λάβαμε Το λάθος εντοπίστηκε και διορθώθηκε! Το τελικό βήμα είναι να εξάγουμε το αρχικό 6-ψήφιο μήνυμα από το τετράγωνο 5x5 διαβάζοντάς το από αριστερά προς τα δεξιά και από πάνω προς τα κάτω (αγνοώντας φυσικά την τελευταία γραμμή και στήλη): που είναι ακριβώς το αρχικό μήνυμα 56

57 Η ιδέα του καρφιτσώματος (pinpoint) Η ιδέα του καρφιτσώματος (pinpoint trick) αναφέρεται στην επιστήμη των υπολογιστών ως διδιάστατη ισοτιμία ( two-dimensional parity ) Ο όρος «ισοτιμία» σημαίνει το ίδιο με τον υπολογισμό απλού checksum με δυαδικούς αριθμούς (που χρησιμοποιούν συνήθως οι υπολογιστές) Ο όρος «διδιάστατη» χρησιμοποιείται γιατί το μήνυμα τοποθετείται σε ένα πλέγμα δύο διαστάσεων (με γραμμές και στήλες) Η διδιάστατη ισοτιμία έχει χρησιμοποιηθεί σε πραγματικά υπολογιστικά συστήματα αλλά δεν είναι τόσο αποδοτική όσο άλλες συγκεκριμένες μέθοδοι περίσσειας που πάντως βασίζονται σε παραπλήσιες ιδέες 57

58 Εντοπισμός και διόρθωση σφάλματος Λύση : επανάληψη Καλό: αυξάνοντας τις επαναμεταδόσεις σχεδόν μηδενίζεται η πιθανότητα λάθους στη μετάδοση (σχεδόν σίγουρα θα τα εντοπίσω και θα τα διορθώσω) Ανησυχία : μεγάλο ποσοστό σφάλματος στη μετάδοση ΟΚ: ζητάω πολλές επαναμεταδόσεις Ανησυχία 2: αν έχω μεγάλα μηνύματα??? ΠΡΟΒΛΗΜΑ: μεγάλο overhead ΤΙ ΚΑΝΩ; Λύση 2: περίσσεια ενσωματώνω παραπάνω πληροφορία στο μήνυμα κωδικοποιώ το μήνυμα (π.χ., με κώδικα Hamming) Καλό: μικρό overhead (τουλάχιστον σε σύγκριση με την επανάληψη) Ανησυχία : μπορώ να εντοπίσω και να διορθώσω το πολύ λάθος αν υπάρχουν παραπάνω; Λύση 2.5: μπορώ να εντοπίσω και να διορθώσω παραπάνω από λάθη με κώδικες Reed-Solomon ( staircase checksum+two-dimensional parity) Λύση 3: καρφίτσωμα (pinpoint) ή αλλιώς διδιάστατη ισοτιμία (twodimensional parity) 58

59 Διόρθωση και ανίχνευση σφαλμάτων στην πράξη Οι κώδικες διόρθωσης σφαλμάτων εμφανίστηκαν στη δεκαετία του 94 λίγο μετά την εμφάνιση των υπολογιστών για τον προφανή λόγο ότι οι πρώτοι υπολογιστές ήταν μάλλον αναξιόπιστοι και τα συστατικά τους συχνά εμφάνιζαν σφάλματα Αλλά οι ρίζες των κωδίκων διόρθωσης σφαλμάτων ξεκινούν ακόμα πιο παλιά σε επικοινωνιακά συστήματα όπως οι τηλέγραφοι και τα τηλέφωνα οπότε δεν είναι περίεργο ότι δύο βασικά γεγονότα-κίνητρα που οδήγησαν στη δημιουργία των κωδίκων διόρθωσης σφαλμάτων συνέβησαν στα εργαστήρια της τηλεφωνικής εταιρείας Bell και μάλιστα σε 2 ερευνητές της, τους Claude Shannon και Richard Hamming : Ο Hamming ενοχλημένος από τις δυσλειτουργίες του υπολογιστή της εταιρείας τα ΣΚ εφηύρε τους πρώτους κώδικες διόρθωσης σφαλμάτων που είναι γνωστοί ως κώδικές Hamming 59

60 Διόρθωση και ανίχνευση σφαλμάτων στην πράξη : Θεωρία της Πληροφορίας (Shannon) Όμως οι κώδικες διόρθωσης σφαλμάτων είναι μόνο ένα μέρος μιας μεγαλύτερης επιστημονική περιοχής που ονομάζεται Θεωρία της Πληροφορίας (Information Theory-IT) η οποία ξεκίνησε να υπάρχει (θεμελιώθηκε) το 948 μέσω της πολύ σημαντικής δημοσιευμένης εργασίας του Claude Shannon με τίτλο The Mathematical Theory of Communication Ο Shannon απέδειξε με μαθηματικά ότι ήταν αδύνατο στη γενική περίπτωση να επιτευχθούν εξαιρετικά ψηλά ποσοστά επικοινωνίας χωρίς σφάλματα πάνω από συνδέσμους που επηρεάζονται από θόρυβο και είναι επιρρεπείς στα σφάλματα Αρκετές δεκαετίες αργότερα οι επιστήμονες σχεδόν κατάφεραν να φτάσουν στην πράξη το θεωρητικό μέγιστο που περιέγραψε ο Shannon O Shannon υπήρξε και συνδιοργανωτής του Συνεδρίου Τεχνητής Νοημοσύνης που έγινε στο Dartmouth το 956 και ενεπλάκη στη θεμελίωση μιας ακόμα επιστημονικής περιοχής που καλείται Τεχνητή Νοημοσύνη Ο Shannon κατασκεύασε επίσης ένα είδος ποδηλάτου με έναν τροχό ελλειπτικού σχήματος (όχι κυκλικού) στο οποίο ο αναβάτης κινούταν πάνωκάτω καθώς το ποδήλατο κινούταν προς τα μπροστά! 6

61 Διόρθωση και ανίχνευση σφαλμάτων στην πράξη Η δουλειά του Shannon τοποθέτησε τους κώδικες Hamming σε ένα ευρύ θεωρητικό πλαίσιο και έθεσε τις βάσεις για σημαντική περαιτέρω πρόοδο Οι κώδικες Hamming χρησιμοποιούνταν από τους πρώτους υπολογιστές και χρησιμοποιούνται ακόμα ευρέως σε συστήματα μνημών συγκεκριμένων τύπων Μια άλλη σημαντική οικογένεια κωδίκων είναι οι κώδικες Reed- Solomon που: Μπορούν να προσαρμοστούν για να διορθώνουν μεγάλο αριθμό σφαλμάτων ανά κωδική λέξη (σε αντίθεση με τον (7,4) κώδικα Hamming που μπορεί να διορθώσει μόνο ένα λάθος σε κάθε 7-ψήφια κωδική λέξη) Βασίζονται σε ένα μαθηματικό πεδίο που καλείται Άλγεβρα Πεπερασμένου Χώρου αλλά πρακτικά μπορούμε να τους φανταζόμαστε σα συνδυασμό των χαρακτηριστικών των ιδεών του κλιμακωτού ελέγχου αθροίσματος (staircase checksum) και του διδιάστατου καρφιτσώματος (two-dimensional pinpoint) Χρησιμοποιούνται σε CD, DVD και σκληρούς δίσκους υπολογιστών 6

62 Διόρθωση και ανίχνευση σφαλμάτων στην πράξη Οι έλεγχοι αθροίσματος (checksums) χρησιμοποιούνται ευρέως στην πράξη κυρίως για εντοπισμό (παρά για διόρθωση) σφαλμάτων Το πιο σημαντικό παράδειγμα χρήσης τους είναι το Ethernet, το δικτυακό πρωτόκολλο που χρησιμοποιείται από (σχεδόν) κάθε υπολογιστή στον πλανήτη σήμερα : το Ethernet χρησιμοποιεί checksum που καλείται CRC-32 για τον εντοπισμό σφαλμάτων Το πιο διαδεδομένο πρωτόκολλο internet που καλείται TCP (Transmission Control Protocol- Πρωτόκολλο Ελέγχου Μετάδοσης) επίσης χρησιμοποιεί checksums για κάθε πακέτο δεδομένων που στέλνει: πακέτα που δεν έχουν σωστά checksums απλά αγνοούνται αφού το πρωτόκολλο TCP είναι σχεδιασμένο ώστε να τα ξαναστέλνει αργότερα αν αυτό είναι αναγκαίο Πακέτα λογισμικού που δημοσιεύονται στο internet ελέγχονται για ορθότητα με χρήση checksums Οι πιο δημοφιλείς αλγόριθμοι που χρησιμοποιούν checksums είναι οι MD5 και SHA-, που αποτελούν κρυπτογραφικές συναρτήσεις κατακερματισμού και παρέχουν προστασία απέναντι σε κακόβουλες τροποποιήσεις λογισμικού και τυχαία επικοινωνιακά σφάλματα Τα checksums που χρησιμοποιεί ο MD5 έχουν περίπου 4 ψηφία Τα checksums που χρησιμοποιεί ο SHA- έχουν περίπου 5 ψηφία Υπάρχουν και πιο ανθεκτικές εκδοχές όπως ο SHA-256 (περίπου 75 ψηφία) και ο SHA- 52 (περίπου 5 ψηφία) 62

63 Διόρθωση και ανίχνευση σφαλμάτων στην πράξη Η επιστήμη της διόρθωσης και ανίχνευσης σφαλμάτων συνεχίζει να αναπτύσσεται Από τη δεκαετία του 99, ιδιαίτερη προσοχή έχουν οι κώδικες ελέγχου ισοτιμίας χαμηλής πυκνότητας (low-density parity-check codes) Οι κώδικες αυτοί χρησιμοποιούνται σε εφαρμογές όπως δορυφορική τηλεόραση και διαστημικές επικοινωνίες Οπότε την επόμενη φορά που θα απολαμβάνεται κάποιο πρόγραμμα υψηλής ευκρίνειας σε δορυφορική τηλεόραση θυμηθείτε ότι εξαιτίας της απόγνωσης του Richard Hamming με τον υπολογιστή της εταιρείας που χάλαγε τα ΣΚ μπορούμε σήμερα να απολαμβάνουμε την ψυχαγωγία του ΣΚ μας 63

64 Σύνοψη Δεδομένο: μήνυμα προς αποθήκευση ή προς αποστολή πάνω από μη αξιόπιστο επικοινωνιακό κανάλι Ζητούμενο: εντοπισμός και πιθανώς διόρθωση σφαλμάτων στο λαμβανόμενο μήνυμα Ποιο είναι το (θεωρητικά) καλύτερο που μπορούμε να περιμένουμε; Shannon (948): αδύνατο στη γενική περίπτωση να επιτευχθούν εξαιρετικά ψηλά ποσοστά επικοινωνίας χωρίς σφάλματα πάνω από συνδέσμους που επηρεάζονται από θόρυβο και είναι επιρρεπείς στα σφάλματα Στην πράξη : Τρόποι εντοπισμού και διόρθωσης σφαλμάτων: Επανάληψη: επαναμετάδοση του μηνύματος Πρόβλημα: μεγάλο overhead Περίσσεια: ενσωμάτωση επιπλέον πληροφορίας στο μήνυμα δηλ., κωδικοποίησή του με βάση κάποιο γνωστό κώδικα διόρθωσης σφαλμάτων (π.χ., Hamming που διορθώνει σφάλμα/κωδική λέξη, Reed-Solomon που διορθώνουν πολλά σφάλματα/κωδική λέξη) Προτιμάται λόγω χαμηλού overhead Καρφίτσωμα (pinpoint) Διδιάστατη ισοτιμία (two-dimensional parity): τοποθετούμε το μήνυμα σε πλέγμα και υπολογίζουμε απλό checksum για κάθε γραμμή και στήλη Τρόποι εντοπισμού σφαλμάτων η διόρθωση γίνεται συνήθως με αίτηση επαναμετάδοσης του μηνύματος: Σφάλματα συμβαίνουν τυχαία Απλός έλεγχος αθροίσματος (simple checksum): αθροίζουμε τα ψηφία του μηνύματος και κρατάμε το τελευταίο ψηφίο του αποτελέσματος Εντοπίζεται το πολύ σφάλμα Κλιμακωτός έλεγχος αθροίσματος (staircase checksum): πολλαπλασιάζουμε κάθε ψηφίο του μηνύματος με τη θέση του, αθροίζουμε τα γινόμενα και κρατάμε το τελευταίο ψηφίο του αποτελέσματος Σε συνδυασμό με τον απλό έλεγχο εντοπίζονται το πολύ 2 σφάλματα (στέλνουμε μαζί με κάθε μήνυμα και το απλό και το κλιμακωτό checksum) Σφάλματα προκαλούνται από κακόβουλο αντίπαλο (όχι τυχαία) Κρυπτογραφικές συναρτήσεις κατακερματισμού (cryptographic hash functions) 64

65 Σύνοψη Εφαρμογές που χρησιμοποιούν κώδικες (δηλ., αλγόριθμους) διόρθωσης σφαλμάτων Συστήματα μνημών συγκεκριμένου τύπου (π.χ., DRAM): κώδικες Hamming CD, DVD, HDD: περίσσεια/κωδικοποίηση, κώδικες Hamming, Reed-Solomon, διδιάστατη ισοτιμία (2D parity) / καρφίτσωμα (pinpointing) Ethernet (δικτυακή σύνδεση υπολογιστών): checksum CRC-32 TCP (internet): κρυπτογραφικές συναρτήσεις κατακερματισμού MD5 (4-ψήφιο checksum), SHA- (5-ψήφιο checksum), SHA- 256 (75-ψήφιο checksum), SHA-52 (5-ψήφιο checksum) Δορυφορική τηλεόραση/διαστημικές επικοινωνίες: κώδικες ελέγχου ισοτιμίας χαμηλής πυκνότητας (low-density parity-check codes) 65

66 Σύνοψη Εφαρμογές που χρησιμοποιούν κώδικες (δηλ., αλγόριθμους) διόρθωσης σφαλμάτων κώδικες Hamming περίσσεια/κωδικοποίηση, κώδικες Hamming, Reed-Solomon, διδιάστατη ισοτιμία (2D parity) / καρφίτσωμα (pinpointing) checksum CRC-32 κρυπτογραφικές συναρτήσεις κατακερματισμού MD5 (4-ψήφιο checksum), SHA- (5-ψήφιο checksum), SHA-256 (75-ψήφιο checksum), SHA-52 (5-ψήφιο checksum) κώδικες ελέγχου ισοτιμίας χαμηλής πυκνότητας (low-density parity-check codes) 66

Εισαγωγή στους Αλγόριθμους

Εισαγωγή στους Αλγόριθμους Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Σκοποί ενότητας Παρουσίαση και μελέτη κωδίκων διόρθωσης

Διαβάστε περισσότερα

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 10 : Κωδικοποίηση καναλιού Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Απόσταση και βάρος Hamming Τεχνικές και κώδικες ανίχνευσης &

Διαβάστε περισσότερα

Μέθοδοι Ελέγχου Σφαλμάτων

Μέθοδοι Ελέγχου Σφαλμάτων Μέθοδοι Ελέγχου Σφαλμάτων Έλεγχος Ισοτιμίας (Parity Check) Άθροισμα Ελέγχου (Checksum) Έλεγχος κυκλικού πλεονασμού (CRC- Cyclic Redundancy Check) Μερικά μπορεί να μεταφερθούν λάθος, πχ λόγω θορύβου Θα

Διαβάστε περισσότερα

Δίκτυα Απευθείας Ζεύξης

Δίκτυα Απευθείας Ζεύξης Δίκτυα Απευθείας Ζεύξης Επικοινωνία μεταξύ δύο υπολογιστώνοιοποίοιείναι απευθείας συνδεδεμένοι. Περίληψη Ζεύξεις σημείου προς σημείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση σφαλμάτων

Διαβάστε περισσότερα

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Ενότητα 8: Μετάδοση Δεδομένων. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Η/Υ. Ενότητα 8: Μετάδοση Δεδομένων. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Εισαγωγή στους Η/Υ Ενότητα 8: Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση του τρόπου με τον οποίο στέλνεται ένα πακέτο δεδομένων

Διαβάστε περισσότερα

Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων

Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων Εντοπισµός σφαλµάτων Εντοπισµός ιόρθωση Προστίθενται bit πλεονασµού Αν µπορεί διορθώνει, (forward error correction) αλλιώς ζητά επανεκποµπή (backward error correction)

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Τεχνικές Διόρθωσης Λαθών Κώδικες εντοπισμού λαθών Κώδικες εντοπισμού

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση

Διαβάστε περισσότερα

Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας

Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας Δραστηριότητα 6: Κωδικοί και κρυπτογραφία Το αντικείμενο της δραστηριότητας αυτής είναι η κατανόηση από την πλευρά των μαθητών μερικών στοιχειωδών

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 12: Συστήματα RAID Οι Καθυστερήσεις των Δίσκων Χρόνος αναζήτησης Μάζα της κεφαλής / βραχίονα Καθυστέρηση για την σταθεροποίηση / τοποθέτηση με ακρίβεια Δύσκολο να

Διαβάστε περισσότερα

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

Διαβάστε περισσότερα

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7 Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις που θα συναντήσετε στο κεφάλαιο 7. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται στο IP Fragmentation,

Διαβάστε περισσότερα

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 13: Συνελικτικοί Κώδικες Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Κώδικες: Εισαγωγή Συνελικτικοί κώδικες Ατζέντα Ιστορική αναδρομή Μαθηματικό υπόβαθρο Αναπαράσταση

Διαβάστε περισσότερα

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

Διαβάστε περισσότερα

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 2: Στοιχεία Μετάδοσης Κώδικες 2 Κώδικες Κωδικοποίηση Δεδομένων: Όπως έχει ήδη αναφερθεί, προκειμένου τα δεδομένα να γίνουν κατανοητά από ένα ηλεκτρονικό

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

Μια από τις σημαντικότερες δυσκολίες που συναντά ο φυσικός στη διάρκεια ενός πειράματος, είναι τα σφάλματα.

Μια από τις σημαντικότερες δυσκολίες που συναντά ο φυσικός στη διάρκεια ενός πειράματος, είναι τα σφάλματα. Εισαγωγή Μετρήσεις-Σφάλματα Πολλές φορές θα έχει τύχει να ακούσουμε τη λέξη πείραμα, είτε στο μάθημα είτε σε κάποια είδηση που αφορά τη Φυσική, τη Χημεία ή τη Βιολογία. Είναι όμως γενικώς παραδεκτό ότι

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ: Κυκλικός Έλεγχος Πλεονασμού CRC codes Cyclic Redundancy Check codes Ο μηχανισμός ανίχνευσης σφαλμάτων στις επικοινωνίες

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Κωδικοποίηση καναλιού: Σύντομη επανάληψη Συνελικτικοί κώδικες Ιστορική

Διαβάστε περισσότερα

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος

Διαβάστε περισσότερα

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ. Παραδείγματα Απαρίθμησης Γνωστό: P (M 2 M τρόποι επιλογής υποσυνόλου του M Τεχνικές Απαρίθμησης Πχ M {A, B, C} P (M 2 3 8 #(Υποσυνόλων με 2 στοιχεία ( 3 2 3 #(Διατεταγμένων υποσυνόλων με 2 στοιχεία 3 2

Διαβάστε περισσότερα

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

Διαβάστε περισσότερα

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ Αρχές σχεδιασμού, μοντέλα αναφοράς, τυποποίηση Μιλτιάδης Αναγνώστου 19 Μαΐου 2011 1/41 Βασικές λειτουργίες Ανίχνευση πλαισίων Επίδραση του θορύβου Παραδείγματα 2/41 Βασικές λειτουργίες Ανίχνευση πλαισίων

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

Διαβάστε περισσότερα

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας Φυλλάδιο 13 Δ. Τουμπακάρης 30 Μαΐου 2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια Παράδοση:

Διαβάστε περισσότερα

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL) 101001 101001 Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL) Είναι το δεύτερο επίπεδο στη διαστρωμάτωση του OSI (μετρώντας από κάτω) Ασχολείται με την αποδοτική και αξιόπιστη επικοινωνία μεταξύ δύο γειτονικών

Διαβάστε περισσότερα

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυαδικό Σύστημα Αρίθμησης Περιεχόμενα 1 Δυαδικό

Διαβάστε περισσότερα

6η Δραστηριότητα. Ναυμαχία Αλγόριθμοι αναζήτησης. Περίληψη. Αντιστοιχία με το σχολικό πρόγραμμα * Ικανότητες. Ηλικία. Υλικά

6η Δραστηριότητα. Ναυμαχία Αλγόριθμοι αναζήτησης. Περίληψη. Αντιστοιχία με το σχολικό πρόγραμμα * Ικανότητες. Ηλικία. Υλικά 6η Δραστηριότητα Ναυμαχία Αλγόριθμοι αναζήτησης Περίληψη Συχνά ζητάμε από τους υπολογιστές να ψάξουν πληροφορίες στο εσωτερικό μεγάλων αρχείων δεδομένων. Για να το καταφέρουν, απαιτούνται ταχείες και αποτελεσματικές

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών Αναπαράσταση Αριθμών Δεκαδικό και Δυαδικό Δεκαδικό σύστημα Δεκαδικό και Δυαδικό Μετατροπή Για τη μετατροπή ενός αριθμού από το δυαδικό σύστημα στο δεκαδικό, πολλαπλασιάζουμε κάθε δυαδικό ψηφίο του αριθμού

Διαβάστε περισσότερα

3/40. (acknowledged connectionless), (acknowledged connection oriented) 4/40

3/40. (acknowledged connectionless), (acknowledged connection oriented) 4/40 Το επίπεδο συνδέσμου μετάδοσης δεδομένων Μιλτιάδης Αναγνώστου 5 Απριλίου 2013 1/40 Επίδραση του θορύβου Παραδείγματα 2/40 Τι κάνει το επίπεδο ζεύξης ή συνδέσμου μετάδοσης δεδομένων Χρησιμοποιεί τις υπηρεσίες

Διαβάστε περισσότερα

Διακριτά Μαθηματικά. Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα

Διακριτά Μαθηματικά. Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα Διακριτά Μαθηματικά Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα Συνδυαστική ανάλυση μελέτη της διάταξης αντικειμένων 17 ος αιώνας: συνδυαστικά ερωτήματα για τη μελέτη τυχερών παιχνιδιών Απαρίθμηση:

Διαβάστε περισσότερα

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι

Διαβάστε περισσότερα

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική «Λογικές» πράξεις, μάσκες Πώς βρίσκουμε το υπόλοιπο μιας διαίρεσης με το 4; διαίρεση με 4 = δεξιά ολίσθηση 2 bits Το υπόλοιπο

Διαβάστε περισσότερα

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 9 : Κανάλι-Σύστημα Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Χωρητικότητα Χ ό καναλιού Το Gaussian κανάλι επικοινωνίας Τα διακριτά

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια ΣΤΟΧΟΙ ΚΕΦΑΛΑΙΟΥ Ορισµός τριών στόχων ασφάλειας - Εµπιστευτικότητα, ακεραιότητα και διαθεσιµότητα Επιθέσεις Υπηρεσίες και Τεχνικές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα : Στρώμα Ζεύξης στα Δίκτυα ΗΥ- Ethernet MAC Στρώμα Σαββαΐδης Στυλιανός

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Εργαστήριο Επεξεργασίας Σημάτων και Τηλεπικοινωνιών Ασύρματες και Κινητές Επικοινωνίες Κωδικοποίηση καναλιού Τι θα δούμε στο μάθημα Σύντομη εισαγωγή Γραμμικοί κώδικες

Διαβάστε περισσότερα

Συνδυαστικά Λογικά Κυκλώματα

Συνδυαστικά Λογικά Κυκλώματα Συνδυαστικά Λογικά Κυκλώματα Ένα συνδυαστικό λογικό κύκλωμα συντίθεται από λογικές πύλες, δέχεται εισόδους και παράγει μία ή περισσότερες εξόδους. Στα συνδυαστικά λογικά κυκλώματα οι έξοδοι σε κάθε χρονική

Διαβάστε περισσότερα

Απαρίθμηση: Εισαγωγικά στοιχεία

Απαρίθμηση: Εισαγωγικά στοιχεία Απαρίθμηση: Εισαγωγικά στοιχεία Συνδυαστική ανάλυση - μελέτη της διάταξης αντικειμένων 17 ος αιώνας: συνδυαστικά ερωτήματα για τη μελέτη τυχερών παιχνιδιών Απαρίθμηση: μέτρηση αντικειμένων με ορισμένες

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 2: Αποθήκευση Δεδομένων: Κώδικες, 1ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 2 διαπραγματεύεται

Διαβάστε περισσότερα

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό.

Διαβάστε περισσότερα

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA Κινητές επικοινωνίες Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA 1 Πολυπλεξία Η πολυπλεξία επιτρέπει την παράλληλη μετάδοση δεδομένων από διαφορετικές πηγές χωρίς αλληλοπαρεμβολές. Τρία βασικά είδη TDM/TDMA

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

Διαβάστε περισσότερα

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τομέας Επικοινωνιών και Επεξεργασίας Σήματος Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Διαβάστε περισσότερα

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

Διαβάστε περισσότερα

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

Διαβάστε περισσότερα

Μέρος Β - Δίκτυα. Ασκήσεις I. Ποιος ο ρόλος του πομπού και του δέκτη στο μοντέλο επικοινωνίας που α- πεικονίζεται στο σχήμα που ακολουθεί; Μ Δεδομένα

Μέρος Β - Δίκτυα. Ασκήσεις I. Ποιος ο ρόλος του πομπού και του δέκτη στο μοντέλο επικοινωνίας που α- πεικονίζεται στο σχήμα που ακολουθεί; Μ Δεδομένα Μέρος Β - Δίκτυα 1 η Διδακτική Ενότητα Μοντέλο επικοινωνίας δεδομένων - Κώδικες - Σήματα Προβλεπόμενες διδακτικές ώρες: 1 Λέξεις Κλειδιά ASCII BCD Unicode αναλογικό σήμα ΕΛΟΤ-928 επικοινωνία δεδομένων

Διαβάστε περισσότερα

Υπολογιστές και Πληροφορία 1

Υπολογιστές και Πληροφορία 1 ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Σκοπός του μαθήματος Λογικός Σχεδιασμός και Σχεδιασμός Η/Υ Εισαγωγή, Υπολογιστές και Πληροφορία Διδάσκουσα: Μαρία Κ. Μιχαήλ Βασικές έννοιες & εργαλεία που χρησιμοποιούνται

Διαβάστε περισσότερα

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 1 Συμπίεση

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: στους Ηλεκτρονικούς Υπολογιστές 5 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Φυσική για Επιστήμονες και Μηχανικούς. Εισαγωγή Φυσική και μετρήσεις

Φυσική για Επιστήμονες και Μηχανικούς. Εισαγωγή Φυσική και μετρήσεις Φυσική για Επιστήμονες και Μηχανικούς Εισαγωγή Φυσική και μετρήσεις Φυσική Χωρίζεται σε έξι βασικούς κλάδους: Κλασική μηχανική Θερμοδυναμική Ηλεκτρομαγνητισμός Οπτική Σχετικότητα Κβαντική μηχανική είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης; 10. Τι ονομάζουμε Ευκλείδεια διαίρεση και τέλεια διαίρεση; Όταν δοθούν δύο φυσικοί αριθμοί Δ και δ, τότε υπάρχουν δύο άλλοι φυσικοί αριθμοί π και υ, έτσι ώστε να ισχύει: Δ = δ π + υ. Ο αριθμός Δ λέγεται

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών Αναπαράσταση Αριθμών Δεκαδικό και Δυαδικό Δεκαδικό σύστημα Δεκαδικό και Δυαδικό Μετατροπή Για τη μετατροπή ενός αριθμού από το δυαδικό σύστημα στο δεκαδικό, πολλαπλασιάζουμε κάθε δυαδικό ψηφίο του αριθμού

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ ΚΕΦΑΛΑΙΟ ΔΙΑΤΑΞΕΙΣ ΜΕΤΑΘΕΣΕΙΣ ΣΥΝΔΥΑΣΜΟΙ Εισαγωγή. Οι σχηματισμοί που προκύπτουν με την επιλογή ενός συγκεκριμένου αριθμού στοιχείων από το ίδιο σύνολο καλούνται διατάξεις αν μας ενδιαφέρει η σειρά καταγραφή

Διαβάστε περισσότερα

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣΟΡ Κεφάλαιο 1 : Εισαγωγή στη Θεωρία ωία Πληροφορίας Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Έννοια της πληροφορίας Άλλες βασικές έννοιες Στόχος

Διαβάστε περισσότερα

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα):

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα): Κωδικοποίηση Πηγής Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα): Coder Decoder Μεταξύ πομπού-καναλιού παρεμβάλλεται ο κωδικοποιητής (coder). Έργο του: η αντικατάσταση των συμβόλων πληροφορίας

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε

Διαβάστε περισσότερα

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών Οι Φυσικοί Αριθμοί Γνωρίζουμε ότι οι αριθμοί είναι ποσοτικές έννοιες και για να τους γράψουμε χρησιμοποιούμε τα αριθμητικά σύμβολα. Οι αριθμοί μετρούν συγκεκριμένα πράγματα και φανερώνουν το πλήθος της

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού ΤΕΙ ΚΡΗΤΗΣ ΤΜΉΜΑ ΜΗΧΑΝΙΚΏΝ ΠΛΗΡΟΦΟΡΙΚΉΣ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Συναρτήσεις Κατακερματισμού Ο όρος συνάρτηση κατακερματισμού (hash function) υποδηλώνει ένα μετασχηματισμό που παίρνει

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

0,00620 = 6, ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ. Γενικοί Κανόνες για τα Σημαντικά Ψηφία

0,00620 = 6, ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ. Γενικοί Κανόνες για τα Σημαντικά Ψηφία ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ Είναι απαραίτητο να πούμε μερικά πράγματα για μια επαναλαμβανόμενη πηγή προβλημάτων και δυσκολιών: τα σημαντικά ψηφία. Τα μαθηματικά είναι μια επιστήμη όπου οι αριθμοί και οι σχέσεις μπορούν

Διαβάστε περισσότερα

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

Διαβάστε περισσότερα

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης Κωδικοποίηση Πηγής Coder Decoder Μεταξύ πομπού και καναλιού παρεμβάλλεται ο κωδικοποιητής (coder). Έργο του: η αντικατάσταση των συμβόλων πληροφορίας της πηγής με εναλλακτικά σύμβολα ή λέξεις. Κωδικοποίηση

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 Αριθμητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση 3 Πρόσθεση στη μορφή συμπληρώματος ως προς δύο

Διαβάστε περισσότερα

Πώς λειτουργεί το Google?

Πώς λειτουργεί το Google? Πώς λειτουργεί το Google? Στα άδυτα του Γίγαντα της Αναζήτησης! Το να ψάξουμε κάτι στο Google είναι κάτι τόσο καθημερινό για τους περισσότερους από εμάς, που το θεωρούμε δεδομένο. Αυτό που ίσως ξεχνάμε

Διαβάστε περισσότερα

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα».

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα». Εισαγωγικές Δραστηριότητες Δραστηριότητα 1 (Υ) Υπολογίστε την τιμή των παρακάτω αριθμητικών εκφράσεων. Στη συνέχεια επαληθεύστε τα αποτελέσματα που βρήκατε στην κονσόλα της Python. A. 2 + 3 ** 3 * 2 B.

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΩΝ EΞΙΣΩΣΕΙΣ...47 ΠΡΟΛΟΓΟΣ... 9

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΩΝ EΞΙΣΩΣΕΙΣ...47 ΠΡΟΛΟΓΟΣ... 9 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... 9 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ...11 1.1 Βασικές θεωρητικές γνώσεις... 11 1.. Λυμένα προβλήματα... 19 1. Προβλήματα προς λύση... 4 1.4 Απαντήσεις προβλημάτων Πραγματικοί αριθμοί... 0 ΑΚΟΛΟΥΘΙΕΣ

Διαβάστε περισσότερα

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Κεφάλαιο 8 8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Σελ. 320-325 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-g.ggia.info/ Creative

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

Διαβάστε περισσότερα

Αρχιτεκτονική Μηχανής. Αποθήκευση εδοµένων

Αρχιτεκτονική Μηχανής. Αποθήκευση εδοµένων Αρχιτεκτονική Μηχανής Αποθήκευση εδοµένων Οι πράξεις AND, OR, και Αλγεβρας Boole XOR (exclusive or) της Μία απεικόνιση των πυλών AND, OR, XOR, και NOT καθώς και των τιµών εισόδου (inputs) και εξόδου (output)

Διαβάστε περισσότερα

Συνοπτική Μεθοδολογία Ασκήσεων IP Fragmentation. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων IP Fragmentation. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων IP Fragmentation Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις IP Fragmentation που θα συναντήσετε στο κεφάλαιο 3. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται

Διαβάστε περισσότερα

Nέες Τεχνολογίες. στις Επικοινωνίες

Nέες Τεχνολογίες. στις Επικοινωνίες Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών Nέες Τεχνολογίες στις Επικοινωνίες Δρ. Δημήτριος Ευσταθίου Επίκουρος Καθηγητής Κώδικες Διόρθωσης Λαθών Τεχνολογικό Εκπαιδευτικό

Διαβάστε περισσότερα

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Το πρωτόκολλο Διαδικτυου (Internet Protocol, ) είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/. Η λειτουργία του βασίζεται στην ιδέα των αυτοδύναμων πακέτων (datagrams), τα οποία μεταφέρονται

Διαβάστε περισσότερα

Πολλαπλασιασμός: αλγόριθμος

Πολλαπλασιασμός: αλγόριθμος ΟΛΛΑΛΑΣΙΑΣΜΟΣ ολλαπλασιασμός: αλγόριθμος Για να πολλαπλασιάσουμε δύο αριθμούς x και κατασκευάζουμε έναν πίνακα από ενδιάμεσα αθροίσματα, κάθε ένα από τα οποία προκύπτει ως γινόμενο του x με ένα ψηφίο του

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Αλγόριθμος Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Εντολές ή οδηγίες ονομάζονται τα βήματα που αποτελούν έναν αλγόριθμο.

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 14 ΙΟΥΝΙΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

Διαβάστε περισσότερα