Κώδικες Διόρθωσης Σφαλμάτων (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 Τεχνικές και κώδικες ανίχνευσης &

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γνωστό: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δραστηριότητα: Εγκλεισμός

Δραστηριότητα: Εγκλεισμός Δραστηριότητα: Εγκλεισμός Ηλικίες στις οποίες έχει χρησιμοποιηθεί με επιτυχία: Προαπαιτούμενες Ικανότητες: Χρόνος: Εστίαση Μέγεθος Ομάδας 11 - ενήλικες Καμία Τι είναι αλγόριθμος Αλγόριθμοι αναζήτησης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

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

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

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

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

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

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

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

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

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

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

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

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

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

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

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

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

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

Διακριτά Μαθηματικά. Απαρίθμηση. Βασικές τεχνικές απαρίθμησης Αρχή Περιστεριώνα

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

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

Σημειώσεις Ανάλυσης Ι. Θεωρούμε γνωστούς τους φυσικούς αριθμούς

Σημειώσεις Ανάλυσης Ι. Θεωρούμε γνωστούς τους φυσικούς αριθμούς Σημειώσεις Ανάλυσης Ι 1. Οι ρητοί αριθμοί Θεωρούμε γνωστούς τους φυσικούς αριθμούς 1, 2, 3, και τις πράξεις (πρόσθεση - πολλαπλασιασμό)μεταξύ αυτών. Οι φυσικοί αριθμοί είναι επίσης διατεταγμένοι με κάποια

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων Ασφάλεια Πληροφοριακών Συστημάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 2η Δρ. Β. Βασιλειάδης Τμ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Kρυπτανάλυση Προσπαθούμε να σπάσουμε τον κώδικα. Ξέρουμε το

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

1.1 ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ

1.1 ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ : ΠΙΘΑΝΟΤΗΤΕΣ. ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ Αιτιοκρατικό πείραμα ονομάζουμε κάθε πείραμα για το οποίο, όταν ξέρουμε τις συνθήκες κάτω από τις οποίες πραγματοποιείται, μπορούμε να προβλέψουμε με

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

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

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

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

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Ασύμμετρη Κρυπτογραφία Χρήστος Ξενάκης Ασύμμετρη κρυπτογραφία Μονόδρομες συναρτήσεις με μυστική πόρτα Μια συνάρτηση f είναι μονόδρομη, όταν δοθέντος

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

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

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

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

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά 5η Δραστηριότητα Λύσε το γρίφο Η Θεωρία της Πληροφορίας Περίληψη Πόση πληροφορία περιέχεται σε ένα βιβλίο των 1000 σελίδων; Υπάρχει περισσότερη πληροφορία σε έναν τηλεφωνικό κατάλογο των 1000 σελίδων ή

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 19: Ασφάλεια Κρυπτογράφηση Βασική ιδέα: Αποθήκευσε και μετάδωσε την πληροφορία σε κρυπτογραφημένη μορφή που «δε βγάζει νόημα» Ο βασικός μηχανισμός: Ξεκίνησε από το

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

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2 ΕΡΓΑΣΙΑ Διδάσκων: Γιώργος Χρυσάνθου Υπεύθυνος Άσκησης: Πύρρος Μπράτσκας Ημερομηνία Ανάθεσης: 3/10/015 Ημερομηνία Παράδοσης: 09/11/015 09:00 π.μ. I.Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

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

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

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Δίκτυα ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Εισαγωγή Η επικοινωνία, ως ανταλλαγή πληροφοριών, υπήρξε ένας από τους θεμέλιους λίθους της ανάπτυξης του ανθρώπινου πολιτισμού Η μετάδοση πληροφορίας

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

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

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων ΔΙΚΤΥΑ Π. Φουληράς Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων Οποιοδήποτε δικτυακό σύστημα παραχωρεί σε μία εφαρμογή αποκλειστική χρήση των μεριζομένων πόρων θέτει σε εμπλοκή τους άλλους υπολογιστές για απαράδεκτα

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Αυθεντικότητα Μηνυμάτων 1 Αυθεντικότητα Μηνύματος Εφαρμογές Προστασία ακεραιότητας Εξακρίβωση ταυτότητας αποστολέα Μη άρνηση

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9 Πρόλογος 1 Μαθηµατικό υπόβαθρο 7 1 Μαθηµατικό υπόβαθρο 9 1.1 Η αριθµητική υπολοίπων.............. 10 1.2 Η πολυωνυµική αριθµητική............ 14 1.3 Θεωρία πεπερασµένων οµάδων και σωµάτων.... 17 1.4 Πράξεις

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

Εργαστηριακή Ασκηση 2- Κυκλικοί Κώδικες

Εργαστηριακή Ασκηση 2- Κυκλικοί Κώδικες Εργαστηριακή άσκηση 2 Θεωρία ΚΩ ΙΚΕΣ ΑΝΙΧΝΕΥΣΗΣ ΣΦΑΛΜΑΤΩΝ Οι κώδικες διόρθωσης σφαλµάτων χρησιµοποιούνται µερικές φορές για µετάδοση δεδοµένων, για παράδειγµα, όταν το κανάλι είναι µονόδροµο (simplex)

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-21 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-2 ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΙΣ ΓΡΑΠΤΩΝ ΕΡΓΑΣΙΙΩΝ & ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΣΥΝΤΕΛΕΣΤΕΣ

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

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