Πώς γεννήθηκαν οι μεγάλες ιδέες της επιστήμης των υπολογιστών 1
930 1930 948 956 969 974 996 πριν ακόμα κατασκευαστεί ο πρώτος ψηφιακός υπολογιστής, ένας μεγαλοφυής Βρετανός (Alan Turing) θεμελιώνει την επιστήμη των υπολογιστών αποδεικνύοντας ότι συγκεκριμένα προβλήματα δε μπορούν να λυθούν από κανέναν υπολογιστή που θα κατασκευαστεί ποτέ στο μέλλον, όσο γρήγορος, ισχυρός ή έξυπνα σχεδιασμένος κι αν είναι 2
930 1948 948 956 969 974 996 ένας επιστήμονας (Richard Hamming) εργαζόμενος σε τηλεφωνική εταιρεία (Bell) δημοσιεύει μια εργασία που θεμελιώνει το πεδίο της θεωρίας της πληροφορίας (information theory) η δουλειά του επιτρέπει στους υπολογιστές να μεταφέρουν μηνύματα με απόλυτη ακρίβεια ακόμα και όταν το μεγαλύτερο μέρος των δεδομένων είναι κατεστραμμένο/παραποιημένο λόγω παρεμβολών 3
930 1956 948 956 969 974 996 μια ομάδα ακαδημαϊκών συμμετέχουν σε συνέδριο στο Dartmouth με στόχο τη θεμελίωση του πεδίου της τεχνητής νοημοσύνης (artificial intelligence) ακόμα, βέβαια, περιμένουμε τη δημιουργία ενός πραγματικά ευφυούς προγράμματος για υπολογιστή http://sansimeracomputers.wordpress.com/2013/11/05/ai/ http://www.dartmouth.edu/~vox/0607/0724/ai50.html 4
930 1969 948 956 969 974 996 ένας ερευνητής της IBM (Edgar Frank Ted Codd) ανακαλύπτει έναν κομψό τρόπο για να δομείται η πληροφορία σε μια βάση δεδομένων (database) η τεχνική του χρησιμοποιείται σήμερα για αποθήκευση και ανάκτηση πληροφοριών υποστηρίζοντας τις περισσότερες online συναλλαγές 5
930 1974 948 956 969 974 996 ερευνητές της βρετανικής κυβέρνησης για μυστικές επικοινωνίες ανακαλύπτουν έναν τρόπο με τον οποίο δύο υπολογιστές μπορούν να επικοινωνούν με ασφάλεια ακόμα κι όταν κάποιος άλλος υπολογιστής μπορεί να παρατηρεί οτιδήποτε μεταφέρεται μεταξύ τους oι ερευνητές δεσμεύονται λόγω κυβερνητικού απορρήτου αλλά ευτυχώς, Αμερικανοί καθηγητές (Diffie, Hellman & Shamir, Rivest, Adleman), ανεξάρτητα, ανακαλύπτουν και επεκτείνουν αυτή την εντυπωσιακή εφεύρεση που βρίσκεται πίσω από κάθε ασφαλή επικοινωνία στο Διαδίκτυο (internet) 6
930 1996 948 956 969 974 996 δύο υποψήφιοι διδάκτορες στο Πανεπιστήμιο Stanford (Page, Brin) αποφασίζουν να συνεργαστούν για τη δημιουργία μιας μηχανής αναζήτησης στον Παγκόσμιο Ιστό (Web) λίγα χρόνια μετά, ιδρύουν τη Google, τον πρώτο ψηφιακό γίγαντα στην περιοχή του Διαδικτύου 7
Τι, στα αλήθεια, είναι ένας αλγόριθμος; Μέχρι τώρα αναφερόμαστε σε μεγάλες ιδέες της επιστήμης των υπολογιστών, αλλά οι σχετικοί επιστήμονες αποκαλούν αυτές τις σημαντικές ιδέες ως αλγόριθμους Ποια είναι η διαφορά μεταξύ μιας ιδέας και ενός αλγορίθμου; Η πιο απλή απάντηση είναι ότι ένας αλγόριθμος είναι μια ακριβής συνταγή που καθορίζει την ακριβή ακολουθία βημάτων που απαιτούνται για να λυθεί ένα πρόβλημα 8
Ένα χαρακτηριστικό παράδειγμα είναι ένας αλγόριθμος που μάθαμε στο σχολείο: ο αλγόριθμος για να προσθέτουμε δύο μεγάλους αριθμούς Ο αλγόριθμος περιλαμβάνει μια ακολουθία βημάτων που ξεκινά ως εξής: Αρχικά, πρόσθεσε τα τελικά ψηφία των δύο αριθμών, γράψετοτελικόψηφίοτουαποτελέσματος, και μετάφερε τα υπόλοιπα ψηφία του αποτελέσματος στην επόμενη στήλη προς τα αριστερά Στη συνέχεια, πρόσθεσε τα ψηφία στην επόμενη στήλη, πρόσθεσε και ψηφία από προηγούμενες στήλες, κ.ο.κ. 9
10
Χαρακτηριστικά αλγορίθμων σχεδόν μηχανικός χαρακτήρας: κάθε βήμα πρέπει να είναι απόλυτα ακριβές και να μην απαιτεί καμία ανθρώπινη διαίσθηση ή μαντεψιά, ώστε να μπορεί να προγραμματιστεί σε έναν υπολογιστή δουλεύει πάντα, ανεξάρτητα από τα δεδομένα εισόδου. Ο αλγόριθμος της πρόσθεσης που μάθαμε στο σχολείο έχει αυτή την ιδιότητα: όποιοι κι αν είναι οι δύο αριθμοί που πρέπει να αθροιστούν, ο αλγόριθμος τελικά θα δώσει τη σωστή απάντηση. Για παράδειγμα, αν και θα απαιτούταν αρκετός χρόνος, σίγουρα θα μπορούσατε να χρησιμοποιήσετε τον αλγόριθμο αυτό για να αθροίσετε δύο αριθμούς των 1000 ψηφίων ο καθένας Αφού ο αλγόριθμος περιγράφηκε σα μια ακριβής, μηχανική συνταγή, πόσο ακριβής πρέπει να είναι η συνταγή αυτή; Ποιες βασικές λειτουργίες επιτρέπονται; Για παράδειγμα, στο αλγόριθμο της πρόσθεσης, είναι αρκετό να πούμε μόνο πρόσθεσε τα δύο ψηφία ήπρέπεικάπωςνα διασαφηνίσουμε όλο το σύνολο των αποτελεσμάτων άθροισης μονοψήφιων αριθμών; Τέτοιες λεπτομέρειες μπορεί να φαίνονται ακίνδυνες ή σχολαστικές αλλά τελικά τα πράγματα δεν είναι έτσι: οι πραγματικές απαντήσεις βρίσκονται στην καρδιά της επιστήμης των υπολογιστών και συνδέονται σε φιλοσοφία, φυσική, επιστήμη μελέτης νευρικού συστήματος και γενετική. 11
Ορισμός αλγορίθμου Οι πολύ σημαντικές ερωτήσεις σχετικά με το τι στα αλήθεια είναι ένας αλγόριθμος συνοψίζονται σε μία πρόταση γνωστή σαν θέση των Church-Turing Εμείς θα χρησιμοποιούμε στη συνέχεια για τον αλγόριθμο τον ανεπίσημο ορισμό του: μία πολύ ακριβής συνταγή 12
Πώς συνδέονται οι αλγόριθμοι με τους υπολογιστές; Το βασικό σημείο είναι ότι οι υπολογιστές πρέπει να προγραμματιστούν με πολύ ακριβείς/σαφείς εντολές Επομένως, πριν να χρησιμοποιήσουμε έναν υπολογιστή για να μας λύσει ένα συγκεκριμένο πρόβλημα, πρέπει να αναπτύξουμε έναν αλγόριθμο για το πρόβλημα αυτό Σε άλλες επιστήμες, όπως τα μαθηματικά και η φυσική, σημαντικά αποτελέσματα συνήθως συλλαμβάνονται από έναν τύπο Πολύ γνωστά παραδείγματα περιλαμβάνουν το Πυθαγόρειο θεώρημα, a 2 +b 2 =c 2, ή τον τύπο του Einstein E = mc 2 Αντίθετα, οι μεγάλες ιδέες στην επιστήμη των υπολογιστών περιγράφουν πώς να λυθεί ένα πρόβλημα χρησιμοποιώντας φυσικά έναν αλγόριθμο Επομένως, ο βασικός στόχος του μαθήματος είναι να εξηγήσει πώς ο υπολογιστής μας μετατρέπεται σε προσωπική μας μεγαλοφυΐα: εξαιτίας των σπουδαίων αλγορίθμων που χρησιμοποιεί καθημερινά 13
Τι κάνει σπουδαίο έναν αλγόριθμο; Τα κριτήρια που έχουμε χρησιμοποιήσει προκειμένου να επιλέξουμε τους αλγόριθμους που θα μελετήσουμε στo πλαίσιo του μαθήματος είναι τα εξής: Κριτήριο 1: καθημερινή χρήση οι αλγόριθμοι να χρησιμοποιούνται από συνηθισμένους υπολογιστές σε καθημερινή βάση Κριτήριο 2: πραγματικά προβλήματα οι αλγόριθμοι θα πρέπει να αντιμετωπίζουν διακριτά, πραγματικά προβλήματα- όπως η συμπίεση ενός αρχείου ή η μετάδοσή του παρουσία παρεμβολών πάνω από ένα σύνδεσμο Κριτήριο 3: θεωρητική πλευρά της επιστήμης των υπολογιστών οι αλγόριθμοι πρέπει να σχετίζονται κυρίως με τη θεωρητική πλευρά της επιστήμης των υπολογιστών. Δε θα ασχοληθούμε με τεχνικές που δίνουν έμφαση στο υλικό των υπολογιστών (hardware) όπως CPU, οθόνη και δίκτυα ούτε με το σχεδιασμό υποδομών όπως το Διαδίκτυο 14
Πώς «βρίσκουν» οι Μηχανές Αναζήτησης ; ψάχνοντας ψύλλους στο μεγαλύτερο αχυρώνα του κόσμου 15
Το πρόβλημα Δεδομένα: WEB και η πληροφορία που περιέχεται σε αυτό Ερώτηση για αναζήτηση συγκεκριμένης πληροφορίας στο WEB Ζητούμενο: Γρήγορη επιστροφή λίστας με απαντήσεις ταξινομημένες ως προς το πόσο σχετικές είναι με την ερώτηση 16
Μηχανές αναζήτησης Οι μηχανές αναζήτησης (search engines) έχουν μεγάλη επίδραση στην καθημερινή μας ζωή και δραστηριότητα Ο τεράστιος όγκος διαθέσιμης πληροφορίας και η εξαιρετική ταχύτητα και ποιότητα των αποτελεσμάτων της αναζήτησης δε μάς κάνει πλέον εντύπωση (πολλές φορές είναι «εκνευριστική» ακόμα και η ελάχιστη καθυστέρηση ) Αλλά ξεχνάμε ότι οι πληροφορίες που ζητάμε βρίσκονται τελικά σαν ψύλλοι σε έναν τεράστιο αχυρώνα: τον Παγκόσμιο Ιστό (World Wide Web) Υπάρχει τεράστιος όγκος πληροφορίας αποθηκευμένος σε ισχυρότατα μηχανήματα (υπολογιστές) παγκοσμίως που όμως δε θα είχε πρακτικά καμία χρησιμότητα αν δεν υπήρχαν έξυπνοι αλγόριθμοι που οργανώνουν και βρίσκουν το ζητούμενο κάθε φορά 17
Μηχανές αναζήτησης Οι μηχανές αναζήτησης κάνουν 2 βασικές δουλειές: ταίριασμα (matching) και κατάταξη (ranking) Σκεφτείτε ότι δίνουμε στο google την εξής ερώτηση: «Δρομολόγια ΚΤΕΛ Αιτωλοακαρνανίας» Κατά τη φάση ταιριάσματος (matching) προσδιορίζονται όλες οι σελίδες που αναφέρουν τη ζητούμενη φράση (που ανάλογα με την ερώτηση μπορεί να είναι χιλιάδες ) Συνήθως προτιμάμε να ασχολούμαστε με τις πρώτες 5-10 απαντήσεις Οπότε η μηχανή αναζήτησης θα πρέπει να μπορεί να επιλέξει λίγες και μάλιστα τις καλύτερες απαντήσεις από ένα μεγάλος πλήθος απαντήσεων Μια καλή μηχανή αναζήτησης, δε θα επιλέξει μόνο τις καλύτερες απαντήσεις αλλά επιπλέον θα τις εμφανίσει και με την πιο κατάλληλη σειρά Η εργασία της επιλογής των καλύτερων απαντήσεων και της εμφάνισή τους με τη «σωστή» σειρά αποτελεί τη φάση της κατάταξης (ranking) 18
σελίδες που ταιριάζουν σελίδες σε κατάταξη 1 ερώτηση 2 Δρομολόγια ΚΤΕΛ Αιτωλοακαρνανίας ταίριασμα κατάταξη 3 4...... 19
20
Στην παγκόσμια βιομηχανία, οι μηχανές αναζήτησης ζουν ή πεθαίνουν ανάλογα με την ποιότητα των συστημάτων κατάταξης που χρησιμοποιούν 2002: στις ΗΠΑ, η αγορά είναι εξίσου μοιρασμένη σε Google, Yahoo και MSN (MSN μετονομάστηκε σε Live Search και μετά σε Bing) κάθε μία είχε περίπου το 30% των αναζητήσεων που γίνονταν στις ΗΠΑ Στα επόμενα χρόνια, η Google συνέτριψε τις δύο άλλες εταιρείες (σε ποσοστά κάτω από 20%) Αυτό συνέβη λόγω των αλγορίθμων κατάταξης της Google 21
Στην παγκόσμια βιομηχανία, οι μηχανές αναζήτησης ζουν ή πεθαίνουν ανάλογα με την ποιότητα των συστημάτων κατάταξης που χρησιμοποιούν 2002: στις ΗΠΑ, η αγορά είναι εξίσου μοιρασμένη σε Google, Yahoo και MSN (MSN μετονομάστηκε σε Live Search και μετά σε Bing) κάθε μία είχε περίπου το 30% των αναζητήσεων που γίνονταν στις ΗΠΑ Στα επόμενα χρόνια, η Google συνέτριψε τις δύο άλλες εταιρείες (σε ποσοστά κάτω από 20%) Αυτό συνέβη λόγω των αλγορίθμων κατάταξης της Google H Google (ένας από τους κολοσσούς του 21ου αιώνα) ξεκίνησε σαν εργασία που εκπόνησαν δύο μεταπτυχιακοί φοιτητές οι Larry Page και Sergey Brin 22 στο Πανεπιστήμιο Stanford (ΗΠΑ) το 1998
23
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 24
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 25
ALTAVISTA: Ο πρώτος αλγόριθμος ταιριάσματος στο WEB Οι Infoseek και Lycos (καιοιδύοεμφανίστηκαν το 1994) είναι οι παλαιότερες μηχανές αναζήτησης μαζί με την AltaVista (που εμφανίστηκε το 1995) Στα μέσα της δεκαετίας του 1990, για κάποια χρόνια, η AltaVista κυριαρχούσε στις μηχανές αναζήτησης αφού είχε φτιάξει ευρετήριο (index) για κάθε κείμενο στο WEB και επέστρεφε αποτελέσματα σε κλάσματα δευτερολέπτου 26
Δημιουργία ευρετηρίου (INDEXING) Η δημιουργία ευρετηρίου αποτελεί την πιο θεμελιώδη έννοια πίσω από τις μηχανές αναζήτησης Η ιδέα είναι πολύ παλιά: αρχαιολόγοι ανακάλυψαν βιβλιοθήκη 5000 ετών σε Βαβυλώνιο ναό στην οποία υπήρχε ευρετήριο των περιεχομένων της με βάση το θέμα Η λέξη ευρετήριο συνήθως μας παραπέμπει στις τελευταίες σελίδες βιβλίων όπου όλοι οι όροι αναφέρονται σε λίστα πλήρως ταξινομημένοι (συνήθως αλφαβητικά) και κάτω από κάθε όρο υπάρχει μία λίστα από περιοχές (συνήθως αριθμοί σελίδων) στις οποίες αναφέρεται ο όρος Το ευρετήριο των μηχανών αναζήτησης λειτουργεί όπως αυτό των βιβλίων Σελίδες βιβλίου: Ιστοσελίδες/Web σελίδες σε κάθε μία από τις οποίες οι μηχανές αναζήτησης αναθέτουν ένα διαφορετικό αριθμό 27
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Πώς θα έφτιαχνε Ευρετήριο ένας υπολογιστής; Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 28
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Πώς θα έφτιαχνε Ευρετήριο ένας υπολογιστής; Πώς το χρησιμοποιεί μια μηχανή αναζήτησης για να απαντήσει στην ερώτηση Γάτα; Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 29
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Πώς θα έφτιαχνε Ευρετήριο ένας υπολογιστής; Πώς το χρησιμοποιεί μια μηχανή αναζήτησης για να απαντήσει στην ερώτηση Σκύλος; 1. Γρήγορη αναζήτηση στην ταξινομημένη λίστα 2. Επιστροφή των σελίδων 2 και 3 που περιέχουν τη ζητούμενη λέξη Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 30
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Νέα ερώτηση με πολλές λέξεις: Γάτα Σκύλος Η μηχανή αναζήτησης: 1. Ψάχνει κάθε λέξη ανεξάρτητα 1. Γάτα: 1,3 2. Σκύλος: 2,3 2. Ελέγχει ποιοι αριθμοί υπάρχουν και στις 2 λίστες καιτουςεπιστρέφεισαναπάντηση(εδώ: 3) Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 31
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Νέα ερώτηση με πολλές λέξεις: Γάτα Σκύλος Έκατσε Η μηχανή αναζήτησης: 1. Ψάχνει κάθε λέξη ανεξάρτητα 1. Γάτα: 1,3 2. Σκύλος: 2,3 3. Έκατσε: 1,3 2. Ελέγχει ποιοι αριθμοί υπάρχουν και στις 3 λίστες καιτουςεπιστρέφεισαναπάντηση(εδώ: 3) Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 32
Πρόβλημα Τι γίνεται όταν η ερώτηση είναι «φράση» κι επομένως έχει σημασία η σειρά με την οποία εμφανίζονται οι λέξεις (δεν αρκεί απλά να βρεθούν σκόρπιες οι λέξεις της ζητούμενης φράσης) Ηφράση«έφυγε όταν» έχει διαφορετικό νόημα από τη φράση «όταν έφυγε» Ηερώτησηέφυγε όταν ψάχνει σελίδες που περιέχουν και τις 2 λέξεις με οποιαδήποτε σειρά Ηερώτηση«έφυγε όταν» ψάχνει σελίδες που περιέχουν και τις 2 λέξεις με τη συγκεκριμένη σειρά (δηλ., ψάχνουν για σελίδες που περιέχουν τη λέξη έφυγε ακολουθούμενη από τη λέξη όταν) 33
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Ερώτηση: «έφυγε όταν» Η μηχανή αναζήτησης πρέπει να απαντήσει: σελίδα 3 ΑΛΛΑΠΩΣθατοπετύχειαυτό; Αν ψάξει τις λέξεις της φράσης ανεξάρτητα θα βρει ότι η σελίδα 3 περιέχει και τις δύο λέξεις αλλά θα κολλήσει αφού δε θα μπορεί να αποφασίσει για τη σειρά εμφάνισης των λέξεων??? Η λεπτομερής «ανάγνωση» της σελίδας 3 είναι αναποδοτική λύση??? Γάτα 1,3 Είναι 2 Έκατσε 1,3 Ένας 2 Έφυγε 3 Η 3 Μια 1 ο 3 Όταν 3 Πάνω 2 Πεζούλι 1,2 Σκύλος 2,3 Στο 1,2 34
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 35
Ιδέα: «θέση της λέξης» (word-location trick) Το ευρετήριο δεν πρέπει να περιέχει μόνο αριθμούς σελίδων αλλά και θέσεις μέσα στις σελίδες που να υποδεικνύουν τη σειρά των λέξεων στις σελίδες 36
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Το Ευρετήριο με την ιδέα «θέση της λέξης» Γάτα 1-2,3-2 Είναι 2-3 Έκατσε 1-3,3-5 Ένας 2-1 Έφυγε 3-3 Η 3-1 Μια 1-1 ο 3-6 Όταν 3-4 Πάνω 2-4 Πεζούλι 1-5,2-6 Σκύλος 2-2,3-7 Στο 1-4,2-5 37
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Το Ευρετήριο με την ιδέα «θέση της λέξης» Γάτα 1-2,3-2 Ερώτηση: «έφυγε όταν» Η μηχανή αναζήτησης: 1. Ψάχνει κάθε λέξη ανεξάρτητα 1. Έφυγε: 3-3 2. Όταν: 3-4 2. Για τις κοινές σελίδες στην παραπάνω λίστα, ελέγχει τις θέσεις των λέξεων Είναι 2-3 Έκατσε 1-3,3-5 Ένας 2-1 Έφυγε 3-3 Η 3-1 Μια 1-1 ο 3-6 Όταν 3-4 Πάνω 2-4 Πεζούλι 1-5,2-6 Σκύλος 2-2,3-7 Στο 1-4,2-5 38
Ιδέα: «θέση της λέξης» (word-location trick) Δεν είναι χρήσιμη μόνο για ερωτήσεις με τη μορφή φράσης αλλά και για την εύρεση «κοντινών» λέξεων Τη δυνατότητα αυτή την πρόσφερε η μηχανή αναζήτησης AltaVista ΠΩΣ; Από το Ευρετήριο υπολογίζουμε την απόσταση λέξεων στην ίδια σελίδα 39
Ένας φανταστικός Παγκόσμιος Ιστός που αποτελείται από 3 σελίδες με αριθμούς 1,2,3 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος Το Ευρετήριο με την ιδέα «θέση της λέξης» Γάτα 1-2,3-2 Ερώτηση: γάτα ΚΟΝΤΑ σκύλος Η μηχανή αναζήτησης: 1. Ψάχνει κάθε λέξη ανεξάρτητα 1. Γάτα: 1-2,3-2 2. Σκύλος: 2-2,3-7 2. Για τις κοινές σελίδες στην παραπάνω λίστα (δηλ., τη σελίδα 3) ελέγχει την απόσταση των λέξεων που είναι 7-2=5 Είναι 2-3 Έκατσε 1-3,3-5 Ένας 2-1 Έφυγε 3-3 Η 3-1 Μια 1-1 ο 3-6 Όταν 3-4 Πάνω 2-4 Πεζούλι 1-5,2-6 Σκύλος 2-2,3-7 Στο 1-4,2-5 40
Ερωτήσεις εγγύτητας Φαίνεται ότι οι ερωτήσεις εγγύτητας λέξεων τελικά δεν είναι σημαντικές για τους χρήστες των μηχανών αναζήτησης ΑΛΛΑ ο τρόπος που τις χειρίζονται οι μηχανές αναζήτησης είναι εξαιρετικά κρίσιμος για την ύπαρξη τους ΑΦΟΥ οι μηχανές αναζήτησης χρησιμοποιούν οι ίδιες πολύ συχνά ερωτήσεις εγγύτητας χωρίς καν να το αντιλαμβάνεται ο χρήστης ΓΙΑΤΙ Θα απαντήσουμε αφού μελετήσουμε ένα άλλο σημαντικό πρόβλημα για τις μηχανές αναζήτησης: το πρόβλημα της κατάταξης (ranking) 41
Κατάταξη και Εγγύτητα Κατάταξη: η μηχανή αναζήτησης επιλέγει λίγες κορυφαίες απαντήσεις και τις εμφανίζει στο χρήστη Από τι εξαρτάται η κατάταξη μιας ιστοσελίδας; Όχι από το αν η ιστοσελίδα περιέχει τη ζητούμενη ερώτηση, ΑΛΛΑ Από το αν η ιστοσελίδα είναι ΣΧΕΤΙΚΗ με τη ζητούμενη ερώτηση Σενάριο: ενδιαφερόμαστε για το ποια αιτία προκαλεί ελονοσία οπότε γράφουμε την ερώτηση αιτία ελονοσία π.χ., στο google Υποθέτοντας ότι επιστρέφονται μόνο δύο ιστοσελίδες, σε έναν άνθρωπο είναι σαφές ότι η σελίδα 1 είναι πράγματι σχετική με την ερώτηση ενώ η σελίδα 2 αναφέρεται σε κάτι άσχετο με την ερώτηση και απλά περιέχει τις λέξεις αιτία και ελονοσία Αυτό το συμπέρασμα δεν είναι προφανές για έναν υπολογιστή 42
1 Η πιο συχνά εμφανιζόμενη αιτία που προκαλεί την ελονοσία είναι τσίμπημα από μολυσμένο κουνούπι, αλλά υπάρχουν και άλλες γενεσιουργές αιτίες. 2 Η αιτία που μας έφερε στο μέρος καθόλου δεν υποστηρίχθηκε λόγω της φυσικής αδυναμίας των στρατιωτών που έπασχαν από ελονοσία και άλλες τροπικές ασθένειες. Αιτία 1-5, 2-2 Ελονοσία 1-9, 2-20 43
Κατάταξη και Εγγύτητα Ιστοσελίδες στις οποίες οι αναζητούμενες λέξεις μιας φράσης εμφανίζονται κοντά η μία στην άλλη είναι πιθανότερο να είναι πιο σχετικές με την ερώτηση από άλλες στις οποίες οι λέξεις της ζητούμενης φράσης έχουν μεγαλύτερη απόσταση μεταξύ τους 44
1 Η πιο συχνά εμφανιζόμενη αιτία που προκαλεί την ελονοσία είναι τσίμπημα από μολυσμένο κουνούπι, αλλά υπάρχουν και άλλες γενεσιουργές αιτίες. 2 Η αιτία που μας έφερε στο μέρος καθόλου δεν υποστηρίχθηκε λόγω της φυσικής αδυναμίας των στρατιωτών που έπασχαν από ελονοσία και άλλες τροπικές ασθένειες. Μηχανή αναζήτησης: Απόσταση λέξεων στη σελίδα 1: 4 Απόσταση λέξεων στη σελίδα 2: 18 Συμπέρασμα: η σελίδα1 είναι πιο σχετική με την ερώτηση Αιτία 1-5, 2-2 Ελονοσία 1-9, 2-20 45
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 46
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) τίτλος Γάτα Σκύλος Κατοικίδια 1 2 3 Μιαγάταέκατσε στο πεζούλι Ένας σκύλος είναι πάνω στο πεζούλι Η γάτα έφυγε όταν έκατσε ο σκύλος σώμα Μια έξυπνη τεχνική ταιριάσματος που απογείωσε την AltaVista στα τέλη της δεκαετίας του 90 47
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) Οι ιστοσελίδες έχουν πολλά δομικά στοιχεία όπως τίτλους, επικεφαλίδες, συνδέσμους, εικόνες και μέχρι τώρα τις αντιμετωπίζαμε μόνο σαν ακολουθίες λέξεων Πώς οι μηχανές αναζήτησης εκμεταλλεύονται τη δομή των ιστοσελίδων; Υποθέτουμε ότι οι ιστοσελίδες έχουν μόνο έναν τίτλο που ακολουθείται από ένα σώμα 48
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) Οι ιστοσελίδες έχουν πολλά δομικά στοιχεία όπως τίτλους, επικεφαλίδες, συνδέσμους, εικόνες και μέχρι τώρα τις αντιμετωπίζαμε μόνο σαν ακολουθίες λέξεων Πώς οι μηχανές αναζήτησης εκμεταλλεύονται τη δομή των ιστοσελίδων; Υποθέτουμε ότι οι ιστοσελίδες έχουν μόνο έναν τίτλο που ακολουθείται από ένα σώμα Οι ιστοσελίδες γράφονται σε ειδική γλώσσα (η πιοσυνήθης είναι η HTML) που επιτρέπει στους web browsers να τις εμφανίζουν όμορφα. Οι οδηγίες σχετικά με την εμφάνιση επικεφαλίδων, τίτλων, συνδέσμων, εικόνων, κτλ γράφονται με χρήση ειδικών λέξεων που καλούνται λέξεις πληροφορίας (metawords). Π.χ., η λέξη πληροφορίας που δηλώνει ότι ξεκινάει τίτλος μπορεί να είναι <τίτλοςέναρξη>, η λέξη πληροφορίας που δηλώνει ότι τελειώνει τίτλος μπορεί να είναι <τίτλοςλήξη>. Όμοια, το σώμα μιας ιστοσελίδας μπορεί να ξεκινάει με <σώμαέναρξη> και να τελειώνει με <σώμαλήξη>. Τα σύμβολα < και > χρησιμοποιούνται για να δηλώσουμε ότι κάποια λέξη είναι λέξη πληροφορίας και όχι κανονική 49 λέξη μέσα στο κείμενο μιας ιστοσελίδας.
1 <τίτλοςέναρξη>γάτα <τίτλοςλήξη><σώμαέναρξη> Μια γάτα έκατσε στο πεζούλι<σώμαλήξη> 2 <τίτλοςέναρξη>σκύλος <τίτλοςλήξη><σώμαέναρξη> Ένας σκύλος είναι πάνω στο πεζούλι <σώμαλήξη> 3 <τίτλοςέναρξη>κατοικίδια <τίτλοςλήξη><σώμαέναρξη> Η γάτα έφυγε όταν έκατσε ο σκύλος <σώμαλήξη> 50
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) Στην προηγούμενη διαφάνεια φαίνεται πώς είναι γραμμένες οι ιστοσελίδες, όχι πώς θα εμφανίζονται σε έναν web browser Οι περισσότεροι browsers μας επιτρέπουν να δούμε πώς είναι γραμμένες οι ιστοσελίδες μέσω της επιλογής view source : οι λέξεις πληροφορίας (metawords) <τίτλοςέναρξη> και <τίτλοςλήξη> δεν είναι αυτές που χρησιμοποιούνται στην πράξη. Στην HTML, οι λέξεις πληροφορίας λέγονται ετικέτες (tags) και αυτές που χρησιμοποιούνται για έναρξη και λήξη τίτλων είναι οι <title> και </title> Μπορεί εύκολα να κατασκευαστεί ευρετήριο με όλες τις λέξεις πληροφορίας απλά αποθηκεύοντας τη θέση τους όπως γίνεται και για τις κανονικές λέξεις (δείτε σχήμα στην επόμενη διαφάνεια): αυτό είναι η ιδέα «λέξεις πληροφορίας» Μπορεί να φαίνεται εξαιρετικά απλό αλλά παίζει πολύ σημαντικό ρόλο για να μπορούν οι μηχανές αναζήτησης να πραγματοποιούν ακριβείς αναζητήσεις και κατατάξεις υψηλής ποιότητας 51
1 2 3 <τίτλοςέναρξη>γάτα <τίτλοςλήξη><σώμαέναρξη> Μια γάτα έκατσε στο πεζούλι<σώμαλήξη> <τίτλοςέναρξη>σκύλος <τίτλοςλήξη><σώμαέναρξη> Ένας σκύλος είναι πάνω στο πεζούλι <σώμαλήξη> <τίτλοςέναρξη>κατοικίδια <τίτλοςλήξη><σώμαέναρξη> Η γάτα έφυγε όταν έκατσε ο σκύλος <σώμαλήξη> γάτα 1-2 1-6 3-6 είναι 2-7 έκατσε 2-5 ένας 3-7 έφυγε 3-5 η 1-5 μία 3-10 ο 3-8 όταν 2-8 πάνω 1-9 2-10 πεζούλι 1-8 στο 2-9 <σώμαέναρξη> 1-4 2-4 3-4 <σώμαλήξη> 1-10 2-11 3-12 <τίτλοςέναρξη> 1-1 2-1 3-1 <τίτλοςλήξη> 1-3 2-3 3-3 Ευρετήριο που περιέχει και λέξεις πληροφορίας (metawords) 52
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) Υποθέστε ότι μια μηχανή αναζήτησης υποστηρίζει μια ειδική μορφή ερώτησης (query) με χρήση της λέξης-κλειδιού ΕΝΤΟΣ Η ερώτηση: γάτα ΕΝΤΟΣ ΤΙΤΛΟΥ επιστρέφει μόνο ιστοσελίδες που περιέχουν τη λέξη «γάτα» στο τίτλο τους Η ερώτηση: γάτα ΕΝΤΟΣ ΣΩΜΑΤΟΣ επιστρέφει μόνο ιστοσελίδες που περιέχουν τη λέξη «γάτα» στο κυρίως κείμενό τους Πολλές μηχανές αναζήτησης (όχι ακριβώς με τον παραπάνω απλοϊκό τρόπο) επιτρέπουν τέτοιου είδους αναζητήσεις μέσω της λειτουργίας «προχωρημένη αναζήτηση» ( advanced search ) όπου μπορούμε να ορίσουμε ότι η αναζητούμενη λέξη είναι σε τίτλο ή σε άλλο τμήμα του κειμένου π.χ., η μηχανή αναζήτησης Google επιτρέπει αναζήτηση σε τίτλους μέσω της λέξης κλειδί intitle: Αναζητώντας στην Google το intitle:πλοίο προσδιορίζονται ιστοσελίδες με τη λέξη «πλοίο» στον τίτλο τους 53
1 2 3 <τίτλοςέναρξη>γάτα <τίτλοςλήξη><σώμαέναρξη> Μια γάτα έκατσε στο πεζούλι<σώμαλήξη> <τίτλοςέναρξη>σκύλος <τίτλοςλήξη><σώμαέναρξη> Ένας σκύλος είναι πάνω στο πεζούλι <σώμαλήξη> <τίτλοςέναρξη>κατοικίδια <τίτλοςλήξη><σώμαέναρξη> Η γάτα έφυγε όταν έκατσε ο σκύλος <σώμαλήξη> γάτα 1-2 1-6 3-6 είναι 2-7 έκατσε 2-5 ένας 3-7 έφυγε 3-5 η 1-5 μία 3-10 ο 3-8 όταν 2-8 πάνω 1-9 2-10 πεζούλι 1-8 στο 2-9 <σώμαέναρξη> 1-4 2-4 3-4 <σώμαλήξη> 1-10 2-11 3-12 <τίτλοςέναρξη> 1-1 2-1 3-1 <τίτλοςλήξη> 1-3 2-3 3-3 Πώς απαντάει η μηχανή αναζήτησης την ερώτηση γάτα ΕΝΤΟΣ ΤΙΤΛΟΥ 54
Ιδέα: «λέξεις πληροφορίας» (The metaword trick) επιτρέπει στις μηχανές αναζήτησης να απαντούν με εξαιρετικά αποδοτικό τρόπο ερωτήσεις σχετικές με τη δομή ενός κειμένου με παρόμοιο τρόπο με αυτό που ήδη περιγράψαμε, μπορεί να πραγματοποιηθεί πολύ αποδοτικά αναζήτηση σε υπερσυνδέσμους (hyperlinks), περιγραφές εικόνων καθώς και σε άλλα τμήματα ιστοσελίδων χωρίς να χρειαστεί να κάνει αναζήτηση στις αρχικές σελίδες κοιτώντας μόνο μια φορά ένα ευρετήριο με πολύ μικρό πλήθος περιεχομένων Αναζητήσεις σε τίτλους καθώς και άλλες δομικές αναζητήσεις που βασίζονται στη δομή των ιστοσελίδων μοιάζουν με τις ερωτήσεις εγγύτητας που συζητήσαμε ήδη με την έννοια ότι ένας άνθρωπος σπάνια πραγματοποιεί δομικές αναζητήσεις αλλά οι μηχανές αναζήτησης τις χρησιμοποιούν συνεχώς εσωτερικά για τον ίδιο λόγο όπως και πριν: η επιβίωση των μηχανών αναζήτησης εξαρτάται από τις κατατάξεις που πετυχαίνουν και οι κατατάξεις βελτιώνονται σημαντικά αν αξιοποιηθεί η δομή των ιστοσελίδων Π.χ., ιστοσελίδες με τη λέξη «γάτα» στον τίτλο τους είναι πολύ πιθανότερο να περιέχουν πληροφορίες για γάτες από ό,τι ιστοσελίδες που περιέχουν τη λέξη «γάτα» μόνο στο κυρίως μέρος τους: όταν ένας χρήστης θέτει την ερώτηση «γάτα», η μηχανήαναζήτησηςμπορεί εσωτερικά να αναζητήσει τη λέξη «γάτα» ΕΝΤΟΣ ΤΙΤΛΟΥ ακόμα κι αν ο χρήστης δεν έκανε αυτή ακριβώς την ερώτηση για να βρει ιστοσελίδες που είναι πιθανότερο να αναφέρονται σε γάτες από το απλά να περιέχουν κάπου στο κυρίως μέρος τους τη λέξη «γάτα» 55
Έξυπνες ιδέες για δημιουργία ευρετηρίων (indexing) και ταίριασμα (matching) δεν είναι από μόνεςτουςαρκετές Οι ιδέες «θέσεις λέξεων» και «λέξεων πληροφορίας» είναι σίγουρα ενδεικτικές για το πώς οι μηχανές αναζήτησης κατασκευάζουν και χρησιμοποιούν ευρετήρια, αλλά δεν είναι αρκετές από μόνες τους Οι «λέξεις πληροφορίας» πράγματι βοήθησαν την AltaVista να επιτύχει πραγματοποιώντας αποδοτικά ταιριάσματα στον Παγκόσμιο Ιστό αλλά η ιδέα δεν ήταν αρκετή για να την κρατήσει στην κορυφή η ιδέα με τις λέξεις πληροφορίας περιγράφθηκε το 1999 σε πατέντα της AltaVista με τίτλο Αναζήτηση με περιορισμούς σε Ευρετήριο ( Constrained Searching of an Index ) Είναι πλέον γνωστό ότι το αποδοτικό ταίριασμα βοηθάει μόνο κατά το ήμισυ στη δημιουργία μιας αποδοτικής μηχανής αναζήτησης: το άλλο μισό είναι η πρόκληση της κατάταξης των ιστοσελίδων που ταίριαξαν στην ερώτηση Η σύλληψη ενός νέου αλγορίθμου κατάταξης ήταν αυτή που έβγαλε απότοπροσκήνιοτηνaltavista και απογείωσε τη Google 56
επιστρέφουμε στη λειτουργία κατάταξης και παρουσιάζουμε το φημισμένο αλγόριθμο PageRank της Google 57
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 58
PageRank: Η τεχνολογία που εκτόξευσε τη Google Στη Silicon Valley, οι κλειστοί ιδιωτικοί χώροι στάθμευσης αυτοκινήτων (garages) έχουν αποτελέσει την αφετηρία για μεγάλες εταιρείες όπως: το 1939, η Hewlett-Packard ξεκίνησε στο garage του Dave Hewlett στο Palo Alto της California το 1976, οι Steve Jobs και Steve Wozniak ξεκίνησαν την εταιρεία Apple στο πάρκινγκ του Jobs στο Los Altos της California (είχαν στην πραγματικότητα ξεκινήσει από το υπνοδωμάτιο και λόγω έλλειψης χώρου μετέβησαν στο πάρκινγκ) Με παρόμοιο τρόπο ξεκίνησε μια μηχανή αναζήτησης - η πασίγνωστη πλέον Google σε ένα χώρο στάθμευσης στο Menlo Park της California Έγινε εταιρεία το Σεπτέμβριο του 1998, ενώ για έναν περίπου χρόνο λειτουργούσε μέσω των εξυπηρετητών του Πανεπιστημίου Stanford όπου οι δύο συνιδρυτές της ήταν υποψήφιοι Διδάκτορες Η μηχανή αναζήτησης γινόταν ολοένα και πιο δημοφιλής, το διαθέσιμο εύρος ζώνης του πανεπιστημίου δεν ήταν αρκετό και οι δύο μεταπτυχιακοί φοιτητές Larry Page και Sergey Brin μετέφεραν το σύστημά τους στο πλέον φημισμένο χώρο στάθμευσης στο Menlo Park Μόνο 3 μήνες από τη σύστασή της σαν εταιρεία, το περιοδικό PC Magazine ανέφερε τη Google σαν ένα από τα 100 δημοφιλέστερα websites του 1998... 59
PageRank: Η τεχνολογία που εκτόξευσε τη Google Σύμφωνα με το PC Magazine, η τρομερή επιτυχία της Google οφειλόταν στο ότι επέστρεφε αποτελέσματα εξαιρετικά σχετικά με την εκάστοτε ερώτηση Πώς ξεπέρασε η Google την αναποτελεσματικότητα 4 ολόκληρων ετών και εκτόπισε ήδη δημοφιλείς (ως προς την ποιότητα των αποτελεσμάτων) μηχανές αναζήτησης όπως οι Lycos και AltaVista;;; Αν και η απάντηση δεν είναι απλή, σίγουρα ένας καθοριστικός παράγοντας ήταν ένας νέος αλγόριθμος, ο PageRank, που χρησιμοποίησε η Google για κατάταξη των αποτελεσμάτων αναζήτησης Το όνομα PageRank είναι ένα λογοπαίγνιο: είναι ένας αλγόριθμος κατάταξης ιστοσελίδων αλλά και αλγόριθμος κατάταξης του Larry Page που τον συνέλαβε Οι Page και Brin δημοσίευσαν τον αλγόριθμο το 1998 σε εργασία με τίτλο «Η ανατομία μιας μεγάλης κλίμακας μηχανής αναζήτησης υπερκειμένου στον παγκόσμιο ιστό» ( The Anatomy of a Large-scale Hypertextual Web Search Engine ) που περιέχει μια πλήρη περιγραφή του συστήματος Google στη μορφή που είχε το 1998 και του αλγορίθμου PageRank 60
Σύνοψη Δημιουργία ευρετηρίου (AltaVista, 1995) Θέση της λέξης Λέξεις πληροφορίας Αλγόριθμος PageRank (Google, 1998): Υπερσύνδεσμοι Εγκυρότητα = πόσο δημοφιλής είναι μια ιστοσελίδα Τυχαίος surfer 61
Η ιδέα των υπερσυνδέσμων (The hyperlink trick) Τι είναι υπερσύνδεσμος (hyperlink): είναι φράση σε μια ιστοσελίδα που όταν πατήσουμε πάνω της μάς μεταφέρει σε μια άλλη ιστοσελίδα (οι περισσότεροι web browsers εμφανίζουν τους υπερσυνδέσμους με μπλε χρώμα για να ξεχωρίζουν εύκολα) Οι υπερσύνδεσμοι είναι εκπληκτικά παλιά ιδέα Το 1945 όταν άρχισαν να αναπτύσσονται και οι ίδιοι οι Η/Υ ο αμερικανός μηχανικός Vannevar Bush δημοσίευσε μια διορατική μελέτη με τίτλο As We May Think στην οποία περιέλαβε διάφορες νέες τεχνολογίες μεταξύ των οποίων και μια μηχανή που αποκάλεσε memex, η οποία θα αποθήκευε έγγραφα και αυτόματα θα δημιουργούσε σχετικό ευρετήριο (μεταξύ άλλων λειτουργιών) θα επέτρεπε τη «δημιουργία σχεσιακών ευρετηρίων όπου κάθε αντικείμενο θα μπορεί να χρησιμοποιηθεί για την άμεση και αυτόματη επιλογή ενός άλλου περιέγραψε με άλλα λόγια μια στοιχειώδη μορφή υπερσυνδέσμου (hyperlink)! 62