390 likes | 535 Views
ΑΝΑΖΗΤΗΣΕΙΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ. Μια σ ύντομη περιήγηση στην Επιστήμη της Πληροφορικής. Αφηγητ ής: Μ άριος Δικ. Δικαιάκος Πανεπιστήμιο Κύπρου. ΕΝΟΤΗΤΑ 1η Το θεμελι ώδες πρόβλημα και τα βασικά υποδείγματα. Βασικ ό στοιχείο. 0. 1. Βασικ ές λειτουργίες. Άνοιγμα Κλείσιμο Έλεγχος Αντιστροφή.
E N D
ΑΝΑΖΗΤΗΣΕΙΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ Μια σύντομη περιήγηση στην Επιστήμη της Πληροφορικής Αφηγητής: Μάριος Δικ. ΔικαιάκοςΠανεπιστήμιο Κύπρου
ΕΝΟΤΗΤΑ 1ηΤο θεμελιώδες πρόβλημα και τα βασικά υποδείγματα
Βασικό στοιχείο 0 1 Βασικές λειτουργίες • Άνοιγμα • Κλείσιμο • Έλεγχος • Αντιστροφή Τα “εσώψυχα” των Ψηφιακών Υπολογιστών 1111001010011011011111 0001110111111011100111 1011101110101111001110 1100110101010100011000 1011110001110111100011 1111011010011110011110 1011111100100100001000 0011001110100010010111 0101110100010010111001 Επεξεργασία και αποθήκευση δυαδικών ψηφίων
Το θεμελιώδες πρόβλημα • Τι είναι αυτό που μετατρέπει απλές λειτουργίες ηλεκτρονικών διακοπτών σε πολύπλοκες υπολογιστικές διαδικασίες που δίνουν χρήσιμες λύσεις; • Η απάντηση κρύβεται πίσω από τις θεμελιακές έννοιες της Επιστήμης των Υπολογιστών (Πληροφορικής), που αφορούν: • Στην οργάνωση απλών ηλεκτρονικών στοιχείων σε ισχυρούς Η/Υ (αρχιτεκτονική). • Στην ανεύρεση και τη θεωρητική θεμελίωση λύσεων διαφόρων υπολογιστικών προβλημάτων που επιλύουμε με Η/Υ (αλγορίθμων). • Στην κωδικοποίηση των αλγορίθμων με τρόπο ικανό να καθοδηγήσει κατάλληλα τη λειτουργία των Η/Υ (προγράμματα).
Συστατικά Συνταγή Φούρνος, Κουζινικά Ας μιλήσουμε λίγο για… μαγειρική Είσοδος Πρόγραμμα Υλικό Υπολογισμός Έξοδος
Παρατήρηση 1η: αλγόριθμοι και προγράμματα • Η συνταγή (αλγόριθμος) είναι ένα αφαιρετικό “νοητικό” κατασκεύασμα: • παραμένει η ίδια ανεξαρτήτως του πώς μεταφέρεται στον μάγειρα (προφορικά ή γραπτά, στα ελληνικά ή στα αγγλικά κοκ) • Για να χρησιμοποίησει ο μάγειρας κάποια συνταγή, αυτή πρέπει να του δοθεί με κάποιο τρόπο (π.χ. σε έντυπη μορφή), σε κατανοητή γλώσσα και με πραγματοποιήσιμες οδηγίες (πρόγραμμα-λογισμικό).
Παρατήρηση 2η: Η δύναμη της “αφαίρεσης” “…Βάλτε 20 γραμμάρια σοκολάτας και 2 κουτάλια νερού σε ένα βραστήρα. Όταν λιώσει, ανακατέψτε με μια κουταλιά άχνη ζάχαρης. Προσθέστε 1 κουταλάκι βούτυρο. Βάλτε στην άκρη τη λιωμένη σοκολάτα. Χτυπήστε 1 κρόκο αυγού για περίπου 5 λεπτά…” Απόσπασμα εντολών ‘προγράμματος’ που περιγράφει την προετοιμασία μούς σοκολάτας
Η δύναμη της “αφαίρεσης” (συνέχεια) “…Βάλτε 20 γραμμάρια σοκολάτας και 2 κουτάλια νερού σε ένα βραστήρα. Όταν λιώσει, πάρτε 4 γραμμάρια άχνη ζάχαρης και ρίξτε τα μέσα στο δοχείο της λιωμένης σοκολάτας. Πιάστε ένα κουτάλι της σούπας, βυθίστε το στη σοκολάτα και κάνετε κυκλικές κινήσεις μέχρι να διαλυθεί η ζάχαρη στη λιωμένη σοκολάτα. Προσθέστε 1 κουταλάκι βούτυρο. Βάλτε στην άκρη τη λιωμένη σοκολάτα. Χτυπήστε κρόκο αυγού για περίπου 5 λεπτά…” • Ο μάγειρας γνωρίζει πως να ανακατεύει μια κουταλιά ζάχαρης με λιωμένη σοκολάτα. Δεν χρειάζεται πιο λεπτομερείςεντολές. • Τι λέτε για τη συνταγή “Φτιάξε μους σοκολάτας” ;
Παρατήρηση 3η: Το επίπεδο της “αφαίρεσης” • Η εξειδίκευση των εντολών που χρησιμοποιούνται για την περιγραφή ενός αλγορίθμου καθορίζεται από: • Τις δυνατότητες τού χρησιμοποιούμενου ‘υλικού’ • Την ανάγκη οι αλγόριθμοι να είναι κατανοητοί από τους ανθρώπους • Διαφορετικές κατηγορίες προβλημάτων συνδυάζονται με διαφορετικά είδη εντολών και διαφορετικά επίπεδα εξειδίκευσης τους.
2 4 5 0 2 1 8 float avg(float af[]) { 0:fconst_0 1:fstore_3 2:iconst_0 3:istore_2 4:iload_2 5:aload_1 6:arraylength 7:icmpge 22 10:fload_3 11:aload_1 12:iload_2 13:faload 14:fadd 15:fstore_3 16:iinc 2 1 19:goto 4 22:fload_3 23:freturn } Πρόγραμμα Για να βρεις τον μέσο όρο Ν αριθμών πρόσθεσε τους και διαίρεσε δια Ν. 3,142 Η “αφαίρεση” στην πράξη float avg(float a[]) { int i; float av=0; for (i=0; i<a.length; i++) av = av + a[i]; return av/a.length; } 01010011011011111 10111111011100111 01110101111001110 10101010100011000 10001110111100011 11010011110011110 11100100100001000 01110100010010111 10100010010111001 Διαδοχικοί μετασχηματισμοί του προγράμματος μετασχηματίζουν υψηλού επιπέδου λειτουργικότητες σε απλές λειτουργίες του υλικού των Η/Υ. Πρόγραμμα: περιγραφή του αλγορίθμου με μια αυστηρά ορισμένη γραμματική, κατανοητή από τον άνθρωπο.
Συστατικά Συνταγή Φούρνος, Κουζινικά Παρατήρηση 4η: ο παράγοντας του χρόνου • Τι θα συνέβαινε αν είχατε ένα εργαστήριο ζαχαροπλαστικής; • Η συνταγή (αλγόριθμος) δεν αλλάζει. • Αλλάζει όμως η ποσότητα των πρώτων υλών, η ποσότητα του αποτελέσματος, και ο χρόνος της προετοιμασίας του αποτελέσματος (υπολογισμού).
Το θεμελιώδες πρόβλημα: ανασκόπηση Είσοδος Αλγόριθμος κ. Πρόγραμμα Υλικό Η/Υ Υπολογισμός ‘Εξοδος
Τα βασικά υποδείγματα • Θεωρητική Πληροφορική: • Ασχολείται με τον σχεδιασμό και τη μελέτη των αλγορίθμων, τη βαθύτερη κατανόηση της έννοιας του υπολογισμού. Π.χ. τι καθιστά ένα υπολογιστικό πρόβλημα εύκολο, δύσκολο ή άλυτο και γιατί; • Χρησιμοποιεί θεωρητικούς φορμαλισμούς και ερευνητικές μεθόδους δανεισμένες από τα (διακριτά) μαθηματικά.
Τα βασικά υποδείγματα (συνέχεια) • Πειραματική Πληροφορική: • Ασχολείται με τον σχεδιασμό, την κατασκευή και την αξιολόγηση υπολογιστικών συστημάτων: επεξεργαστές, κυκλώματα, δίκτυα, λογισμικό, ρομπότ, υπολογιστές κλπ. • Στα συστήματα αυτά ενσωματώνονται νέες επιστημονικές ιδέες, και με τη χρήση των συστημάτων αυτών γίνεται η αξιολόγηση των νέων ιδεών, σε σχέση με προηγούμενα συστήματα-ιδέες. • Συχνά ενσωματώνουν την υλοποίηση θεωρητικών πορισμάτων.
ΟΚ ΟΧΙ Παράδειγμα: παίζοντας με πλακάκια • Μας δίνεται ένας πεπερασμένο σύνολο από διαφορετικά έγχρωμα πλακάκια. • Επιτρέπεται να τοποθετούμε δύο πλακάκια δίπλα- δίπλα μόνο αν οι ακμές τους έχουν το ίδιο χρώμα. • Δεν επιτρέπεται να περιστρέψουμε τα πλακάκια. • Διαθέτουμε απεριόριστο αριθμό από κάθε είδος.
B A Παράδειγμα: παίζοντας με πλακάκια • Μας δίνεται ένας αριθμός από πλακάκια διαφορετικών χρωμάτων και δύο σημεία στο επίπεδο Α και Β. • Αναζητάμε έναν αλγόριθμο που να μπορεί να λύσει το ακόλoυθο πρόβλημα: Μπορούμε να συνδέσουμε τα Α και Β με ένα “φιδάκι” από πλακάκια, όταν το φιδάκι επιτρέπεται να “πάει” οπουδήποτε στο επίπεδο: ΝΑΙ ή ΟΧΙ ?
A B ??????? Πρόγραμμα ΝΑΙ/ΟΧΙ Παράδειγμα: παίζοντας με πλακάκια
Παράδειγμα: παίζοντας με πλακάκια • Αποδεικνύεται ότι υπάρχει λύση (αλγόριθμος) όταν το φιδάκι μπορεί να επεκταθεί ελεύθερα σε ολόκληρο το επίπεδο. • Αν όμως χωρίσουμε το επίπεδο στα δύο και περιορίσουμετην κίνηση του φιδιού στο μισό επίπεδο τότε αποδεικνύεται ότι δεν υπάρχει αλγόριθμος που να μπορεί να μας πει ΝΑΙ ή ΟΧΙ!!
ΕΝΟΤΗΤΑ 2ηΔιαδικτυακές αναζητήσειςήψάχνοντας ψύλλους στ’ άχυρα
Ο Βάννεβαρ Μπούς και η μηχανή ΜΕΜΕΞ • Vannevar Bush (1890-1974) • Memex: • Ένα γραφείο που ‘αποθηκεύει’ 1 δις βιβλία, εφημερίδες και άλλα έγγραφα, και τις μεταξύ τους παραπομπές. • Ενσωματωμένη κάμερα για λήψη και αποθήκευση εικόνων. • Ένα κασετόφωνο για λήψη και αποθήκευση ήχων. • Δυνατότητα “σχολιασμού” εγγράφων, με πρόσθεση παραπομπών ανάμεσα σε σχετικά έγγραφα. • Δυνατότητα αναζήτησης κειμένων, είτε ακολουθώντας κάποια παραπομπή είτε με αναζήτηση λέξεων κλειδιών. • http://www.theatlantic.com/doc/194507/bush
Το ΜΕΜΕΞ είναι εδώ! • Το Διαδίκτυο αυξάνεται με εκπληκτικούς ρυθμούς [περισσότερες από 8 Δις ιστοσελίδες]. • Σχεδόν όλη η επιστημονική βιβλιογραφία είναι στο Διαδίκτυο - κάθε δέκα χρόνια διπλασιάζεται η δημοσιευμένη στο Διαδίκτυο βιβλιογραφία. • Μεγάλες βιβλιοθήκες (LOC) έχουν περισσότερες δικτυακές από πραγματικές επισκέψεις. • Όμως (όπως είχε προβλέψει ο Μπούς): • Δεν είναι εύκολο να βρίσκουμε τις πληροφορίες που ζητάμε. • Πολλές πληροφορίες που θα θέλαμε δεν είναι ακόμα στο Διαδίκτυο.
Παγκόσμιος Ιστός Πληροφοριών (World-Wide Web)
Η πλοήγηση δεν είναι αρκετή! • Πώς θα βρoύμε πληροφορίες για κάτι, όταν: • Δεν ξέρουμε από που να ξεκινήσουμε? • Η πλοήγησή μας πρέπει να καλύψει ένα τεράστιο αριθμό ιστοσελίδων (8 δις!). • Παράδειγμα: θέλουμε να μάθουμε για την αναστήλωση της Ακρόπολης των Αθηνών
Ευρετήριο Η λειτουργία της αναζήτησης στον Παγκόσμιο Ιστό: ευρετήριο
Αθήνα Ευρετήριο Ακρόπολη Αναστήλωση
Αθήνα Ευρετήριο Ακρόπολη Αναστήλωση
Είσοδος??? ??????? Πρόγραμμα ?? Το πρόβλημα της αναζήτησης Σταχυολόγηση Ευρετηριασμός
Τι έχουμε μπροστά μας? • Από την αναζήτηση σε ιστοσελίδες με χρήση λέξεων-κλειδιών… • Σε συστήματα που θα μπορούσαν να απαντήσουν σε ερωτήσεις και να συνοψίζουν πληροφορίες για όλα τα θέματα: • Όσο καλά και γρήγορα μπορεί να το κάνει ένας ειδικός σε κάθε θέμα. • Όχι μόνο για κείμενα αλλά και για εικόνες, βίντεο, ήχους, κλπ
Πηγές • “Computers LTD. What they really can’t do” David Harel, Oxford University Press. • “What Next? A Few Remaining Problems in Information Technology,” Jim Gray, 1998 ACM Turing Award Lecture.
Απεικόνιση προγράμματος σταχυολόγησης