ΑΝΑΖΗΤΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ

ΑΝΑΖΗΤΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ

ΚΑΝΤΕ ΑΙΤΗΣΗ ΤΩΡΑ

ΚΑΝΤΕ ΑΙΤΗΣΗ ΤΩΡΑ

Εξερευνώντας τις δομές και την επεξεργασία δεδομένων


23 August 2021
Κωνσταντίνος Δελησταύρου, εκπαιδευτικός Πληροφορικής, Instructor στο New York College Thessaloniki
Εξερευνώντας τις δομές και την επεξεργασία δεδομένων

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

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

Ο υπολογιστής επιτελεί διαρκώς επεξεργασία δεδομένων ή πληροφοριών βάσει κάποιου αλγορίθμου εκφρασμένου σε γλώσσα κατανοητή από τη μηχανή. Η δουλειά των δημιουργών του λογισμικού είναι να αναλύσουν τη λειτουργία ενός συστήματος ή περιβάλλοντος και να το μετασχηματίσουν σε λογισμικό που εκτελείται σε συστήματα υπολογιστών. Για να είναι εφικτή η μεταμόρφωση αυτή της λειτουργίας του συστήματος χρειάζεται να χρησιμοποιηθούν εννοιολογικές αναπαραστάσεις των δεδομένων τις οποίες ονομάζουμε δομές δεδομένων. Όπως το λογισμικό είναι η αποτύπωση του τρόπου λειτουργίας ενός συστήματος, έτσι και οι δομές δεδομένων αποτελούν την αποτύπωση του τρόπου οργάνωσης και των κανόνων διαχείρισης των δεδομένων, ώστε να μπορούμε να προχωρήσουμε στην επεξεργασία τους. Την αξία των αλγορίθμων και των δομών δεδομένων αποτυπώνει ο τίτλος ενός βιβλίου του Niklaus Wirth, ενός από τους σημαντικούς δασκάλους της πληροφορικής επιστήμης και εμπνευστή της γλώσσας προγραμματισμού Pascal. Το διάσημο βιβλίο του τιτλοφορείται “Algorithms + Data Structures = Programs” [1] ορίζοντας με μια απλοϊκή έκφραση, αλλά άμεσα αντιληπτή ακόμη και από αρχάριους δημιουργούς, τη συσχέτιση των αλγορίθμων και των δομών δεδομένων με το λογισμικό.

Η μελέτη των αλγορίθμων, με σκοπό την επίλυση νέων και πιο σύνθετων προβλημάτων, αλλά και τη βελτίωση της απόδοσής των ήδη υπαρχόντων, αποτελεί ένα από τα διαρκή ενδιαφέροντα της πληροφορικής. Επιπλέον, στις μέρες μας παρουσιάζει ιδιαίτερη δυναμική και η επεξεργασία των δεδομένων, με διαρκείς προσπάθειες βελτίωσης των τεχνικών και των μεθοδολογιών της. Μιλούμε λοιπόν για τη μηχανική δεδομένων (data engineering) που προϋποθέτει τη σε βάθος αντίληψη των τεχνολογιών και εργαλείων με σκοπό το συνδυασμό τους για την παροχή βέλτιστων λύσεων [2]. Στο σύγχρονο περιβάλλον της πληροφορικής και των επικοινωνιών, ο παγκόσμιος ιστός (world wide web) και οι τεχνολογίες του διαδικτύου των πραγμάτων (internet of things) δημιουργούν πληθώρα δεδομένων προερχόμενα από πολλαπλές πηγές και συσκευές και όχι μόνο από τον άνθρωπο, όπως παλαιότερα. Η συγκέντρωση των δεδομένων σε μεγάλες βάσεις δεδομένων (data bases) απαιτεί σύγχρονες τεχνικές ανάλυσης, για παράδειγμα μέσω της εξόρυξης δεδομένων (data mining) με την οποία αναζητούνται μοτίβα διαφοροποιημένης χρήσης των δεδομένων και ανακάλυψης νέας γνώσης [3]. Οι σύγχρονες συλλογές δεδομένων γίνονται όλο και περισσότερο μεγάλες και πολύπλοκες, συνδυάζοντας δεδομένα από πολλαπλές νέες πηγές με αποτέλεσμα να απαιτούνται καινοτόμες προσεγγίσεις για την επεξεργασία τους (big data) [4]. Αυτό κάνει επιτακτική την ανάγκη ύπαρξης εξειδικευμένων επαγγελματιών ικανών στην ανάλυση δεδομένων και τη σύνθεση αποδοτικών λύσεων.

Σε αυτή την κατεύθυνση, στο μάθημα Data Structures and Algorithms του 2ου έτους του προγράμματος σπουδών BSc in Computing του Πανεπιστημίου του Bolton ξεκινούμε μαζί με τους φοιτητές μας τη συστηματική εξερεύνηση των δομών δεδομένων και των αλγορίθμων επεξεργασίας τους. Συζητούμε θεμελιώδεις έννοιες αλγορίθμων και δομών δεδομένων. Πειραματιζόμαστε στη σχεδίαση αλγορίθμων και αναπτύσσουμε λογισμικό το οποίο εκμεταλλεύεται απλές και σύνθετες δομές δεδομένων. Μελετούμε περιπτώσεις από το χώρο των επιχειρήσεων και της βιομηχανίας εκτελώντας εκπαιδευτικά σενάρια εφαρμογής στην πράξη. Θέτουμε έτσι τις βάσεις ώστε να μπορούν να ανταποκριθούν στα επόμενα στάδια των σπουδών και της καριέρας τους.

Αναφορές

[1] N. Wirth, Algorithms + Data Structures = Programs, 1st edition. Englewood Cliffs, N.J: Prentice Hall, 1976.

[2] J. Furbush, ‘Data engineering: A quick and simple definition’, O’Reilly Media, Ιουλίου 16, 2018. https://www.oreilly.com/content/data-engineering-a-quick-and-simple-definition/ (ημερομηνία πρόσβασης Αυγούστου 12, 2021).

[3] ‘What is Data Mining?’, Ιανουαρίου 19, 2021. https://www.ibm.com/cloud/learn/data-mining (ημερομηνία πρόσβασης Αυγούστου 12, 2021).

[4] ‘What Is Big Data? | Oracle’. https://www.oracle.com/big-data/what-is-big-data/ (ημερομηνία πρόσβασης Αυγούστου 12, 2021).

NEWSLETTER
NEWSLETTER

Εγγραφείτε στο Newsletter για να ενημερώνεστε πρώτοι για τα νέα & τις εκδηλώσεις μας!

Unsubscribe