Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου (Web Crawler) με βάση το προβαλλόμενο περιεχόμενο στους χρήστες

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

Download "Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου (Web Crawler) με βάση το προβαλλόμενο περιεχόμενο στους χρήστες"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου (Web Crawler) με βάση το προβαλλόμενο περιεχόμενο στους χρήστες Διπλωματική εργασία Του Σταύρου Χαμπηλομάτη υπό την επίβλεψη Ανδρέα Λ. Συμεωνίδη Λέκτορα Θεσσαλονίκη 2012

2 - 2 - Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου

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

4 - 4 - Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Περίληψη Το διαδίκτυο αποτελεί πλέον την πιο σημαντική πηγή αναζήτησης πληροφοριών. Η ευρεία διάδοσή του έχει ως αποτέλεσμα τον μεγάλο όγκο διαθέσιμης πληροφορίας, με αποτέλεσμα να γίνεται δυσκολότερη η εύρεση της επιθυμητής (πραγματικά χρήσιμης πληροφορίας). Η ανάγκη για διαρκή χαρτογράφηση και αξιολόγηση των ιστότοπων έχει οδηγήσει στην δημιουργία ειδικών αυτοματοποιημένων προγραμμάτων χαρτογράφησης διαδικτύου, τους crawlers. Για την αποδοτικότερη λειτουργία τους έχουν αναπτυχθεί crawlers με επιλεκτική διάσχιση, δίνοντας προτεραιότητα σε έγγραφα με μεγαλύτερη αξία. Από την άλλη, οι βιολογικά εμπνευσμένοι αλγόριθμοι είναι ένας τομέας μελέτης με αντικείμενο την σύνδεση και την επικοινωνία απλών μονάδων με στόχο την εμφάνιση αναδυόμενης ευφυΐας, ικανής να δώσει λύσεις σε προβλήματα μη πολυωνυμικού χρόνου. Ένας τέτοιος μηχανισμός είναι και η βελτιστοποίηση κοινωνίας μυρμηγκιών (ACO: Ant Colony Optimization),ο οποίος είναι εμπνευσμένος από τον τρόπο που εντοπίζουν τροφή τα μυρμήγκια. Το ACO μπορεί να χρησιμοποιηθεί σε προβλήματα με δομή γράφου, βρίσκοντας το καλύτερο μονοπάτι μέσα σ αυτόν. Δεδομένου ότι το διαδίκτυο έχει και αυτό δομή γράφου, η εφαρμογή της ACO για την δημιουργία ενός crawler που θα αναζητεί έγγραφα με αξία μπορεί να αποτελέσει μια ενδιαφέρουσα λύση. Στην περίπτωση αυτή, για την εφαρμογή της ACO εννοείται ότι έχει αναπτυχθεί μια συνάρτηση αξιολόγησης εγγράφων. Στην παρούσα διπλωματική εργασία γίνεται μελέτη της ACO και των διαφορετικών της παραλλαγών και στη συνέχεια αναλύονται τα βασικά χαρακτηριστικά του crawling και των τεχνικών που έχουν αναπτυχθεί ώστε να αυξηθεί η απόδοση των crawlers (focused crawling). Στη συνέχεια αναπτύσσεται ένας μηχανισμός ο οποίος υιοθετεί τις αρχές της ACO σε έναν crawler που αναζητά έγγραφα πλούσια σε πολυμεσικό (multimedia) περιεχόμενο. Στα πειράματα που γίνονται εξακριβώνεται το μέγεθος της βελτίωσης που προσφέρει ο αλγόριθμος σε σχέση με έναν απλό crawler.

5 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Abstract Improving the performance of Web Crawling mechanism based on user projected content. Internet has become the most important source for information retrieval. Finding the desired information is becoming more and more complex given the rapidly increasing size of the amount of information available. The need for constant indexing and evaluation of websites has led to the creation of crawlers, i.e. automated web indexers. New generation crawlers employ selective (focused) crawling giving higher priority to documents with greater value. On the other hand, biologically inspired algorithms are a field of study related to the connection and communication of simple units in order to achieve emergent intelligence, capable of providing solution to hard NP problems. Ant Colony Optimization (ACO) is a technique focused on solving such problems, inspired from the way ants locate their food sources. ACO can be used in problems with a graph-like structure, assisting in finding the best traversal path. Given that the Internet structure can be represented as a graph, ACO can be employed by a crawler mechanism to search for valuable documents, providing that there is a function of document evaluation. Within the context of the current diploma thesis, various ACO schemes are studied and focused crawling techniques are analyzed. A mechanism has been designed and implemented, employing ACO principles on a crawler that searches for documents with rich multimedia content. A number of experiments have been performed and a preliminary comparative analysis against a simple crawler is conducted. Stavros Champilomatis November, 2012.

6 - 6 - Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Περιεχόμενα Περιεχόμενα Ευχαριστίες... 3 Περίληψη... 4 Abstract... 5 Περιεχόμενα... 6 Λίστα Σχημάτων... 9 Λίστα Πινάκων Πίνακας Συντομογραφιών Εισαγωγή Αντικείμενο της Διπλωματικής Σκοπός της Διπλωματικής Δομή της Διπλωματικής Γνωστικό Υπόβαθρο του ACO και Σχετικές Έρευνες Εισαγωγή στους βιολογικά εμπνευσμένους αλγόριθμους Εισαγωγή στο ACO Έμπνευση του αλγορίθμου Βασική μορφή αλγορίθμου Παραλλαγές του αλγόριθμου Ο αλγόριθμος Ant System (AS) Ο αλγόριθμος Ant Colony System (ACS) Ο αλγόριθμος MAX-MIN ANT SYSTEM (MMAS) Αποτελέσματα - Συμπεράσματα Σύγκριση των αλγορίθμων ACO Σύγκριση με άλλους γενετικούς αλγορίθμους Συμπεράσματα Παραδείγματα εφαρμογής του αλγόριθμου Το πρόβλημα του προγραμματισμού της συνολικής επιβράδυνσης σε μία μηχανή ( Single machine total weighted tardiness scheduling problem SMTWTP) Το πρόβλημα γενικευμένης ανάθεσης (Generalized assignment problem GAP)... 33

7 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Δρομολόγηση πακέτων σε δίκτυο Εργαλεία προσομοίωσης κοινωνιών μυρμηγκιών Web Crawlers και Headless browsing Web Crawlers Φόρτωση και parsing σελίδων Frontier list Polite crawling Focused Crawling Headless Browsing Βασικά Χαρακτηριστικά Το Document Object Model (DOM) Ο JxBrowser Η προτεινόμενη μεθοδολογία Γενική περιγραφή Η Φόρμα διεπαφής (GUI) O Χειριστής Crawler Ο Crawler Ο Χειριστής Βάσης Η Βάση Δεδομένων Περιγραφή του αλγόριθμου Αρχικοποίηση του πίνακα Αρχικοποίηση του κύριου μέρους Crawling Χειρισμός Φερομόνης Σχηματική αναπαράσταση του αλγορίθμου Πειράματα και Αποτελέσματα Εισαγωγή Αποτελέσματα Τρόπος εκτίμησης Η εφαρμογή ExperimentResults Πειράματα Πείραμα εξάντλησης του auth.gr Πειράματα τυχαίας αναζήτησης του auth.gr Πρώτο Πείραμα της εφαρμογής στο auth.gr... 73

8 - 8 - Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου ο Πείραμα της εφαρμογής στο auth.gr ο Πείραμα της εφαρμογής στο auth.gr Ανάλυση πειραμάτων Γενικές πληροφορίες πειραμάτων Σύγκριση πειραμάτων Έγγραφα με μεγάλη συγκέντρωση φερομόνης Πειράματα σε άλλα sites : Μελλοντική εργασία Βιβλιογραφία... 86

9 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Λίστα Σχημάτων Εικόνα 1:a) Πρώτο πείραμα b)δεύτερο πείραμα Εικόνα 2:Παράδειγμα λύσεως ενός TSP Εικόνα 3:Μοντέλο κοινωνίας μυρμηγκιών στο NetLogo Εικόνα 4: Το μοντέλο κοινωνίας του Sugarscape Εικόνα 5: Το εργαλείο MASON Εικόνα 6: Το εργαλείο GAMA Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης. Εικόνα 7: Σχηματική αναπαράσταση της λειτουργίας ενός crawler Εικόνα 8: Απλό Web Crawling Εικόνα 9: Focused Crawling Εικόνα 10: παράδειγμα DOM αναπαράστασης Εικόνα 11: Σχηματική περιγραφή του συστήματος Εικόνα 12: Οι κλάσεις Εικόνα 13: η Φόρμα Διεπαφής Εικόνα 14: Διάγραμμα Crawling Εικόνα 15: Παράδειγμα Εφαρμογής Εικόνα 16: Παράδειγμα Εφαρμογής Εικόνα 17: Παράδειγμα Εφαρμογής Εικόνα 18: Παράδειγμα Εφαρμογής Εικόνα 19: Παράδειγμα Εφαρμογής Εικόνα 20: Παράδειγμα Εφαρμογής Εικόνα 21: Η κατανομή των multimedia εγγράφων στο auth.gr Εικόνα 22: Κατανομή multimedia αρχείων του τυχαίου πειράματος Εικόνα 23: Κατανομή multimedia αρχείων του 1ου πειράματος Εικόνα 24: Κατανομή multimedia αρχείων του 2ου πειράματος Εικόνα 25: Κατανομή multimedia αρχείων του 3ου πειράματος Εικόνα 26: Κατανομή στο nba.com τυχαίου πειράματος Εικόνα 27: Κατανομή αποτελεμάτων στο 84

10 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Λίστα Πινάκων Πίνακας 1: Ψευδοκώδικας Πίνακας 2: Σύγκριση της απόδοσης των διαφόρων εκδόσεων του ACO σε χαρακτηριστικά TSP 30 Πίνακας 3: Σύγκριση της απόδοσης του ACS με άλλους αλγορίθμους σε τυχαία προβλήματα... Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης. Πίνακας 4:Focused Crawling τεχνικές Πίνακας 5: Παράμετροι εφαρμογής Πίνακας 6: Πεδία Βάσης Δεδομένων Πίνακας 7: Links του πειράματος εξάντλησης Πίνακας 8: Τα πλούσια έγγραφα του auth.gr για διαφορετικές τιμές του min Πίνακας 9: Στοιχεία πρώτου τυχαίου πειράματος Πίνακας 10: Στοιχεία δεύτερου τυχαίου πειράματος Πίνακας 11: Στοιχεία τρίτου τυχαίου πειράματος Πίνακας 12: Στοιχεία μέσου όρου τυχαίου πειράματος Πίνακας 13:Παράμετροι 1ου πειράματος Πίνακας 14:1ο Πειραμα-1η Εκτέλεση Πίνακας 15:1ο Πειραμα-2η Εκτέλεση Πίνακας 16:1ο Πειραμα-3η Εκτέλεση Πίνακας 17:Μέσος όρος 1ου Πειράματος Πίνακας 18:Παράμετροι 2ου πειράματος Πίνακας 19:2ο Πειραμα-1η Εκτέλεση Πίνακας 20:2ο Πειραμα-2η Εκτέλεση Πίνακας 21:2ο Πειραμα-3η Εκτέλεση Πίνακας 22:Μέσος όρος 2ου Πειράματος Πίνακας 23 Παράμετροι 3ου πειράματος Πίνακας 24:3ο Πειραμα-1η Εκτέλεση Πίνακας 25:3ο Πειραμα-2η Εκτέλεση Πίνακας 26:3ο Πειραμα-3η Εκτέλεση Πίνακας 27:Precision-Recall πειραμάτων Πίνακας 28:F 0,5 -score πειραμάτων Πίνακας 29:Βελτίωση Πειραμάτων Πίνακας 30: Έγγραφα με μεγάλη συγκέντρωση φερομόνης... 82

11 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Πίνακας 31: Βελτίωση του recall Πίνακας Συντομογραφιών NP ACO AS ACS MMAS TSP ATSP URL HITS DOM HTTP HTTPS API HTML CSS GUI DB Nondeterministic polynomial Ant Colony Optimization Ant System Ant Colony System Max Min Ant System Travelling Salesman Problem Asymmetric Traveling Salesman Problem Uniform Resource Locator Hyperlink-Induced Topic Search Document Object Model Hypertext Transfer Protocol HTTP Secure Application programming interface HyperText Markup Language Cascading Style Sheets Graphical User Interface DataBase

12 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου

13 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Εισαγωγή 1.1 Αντικείμενο της Διπλωματικής Το διαδίκτυο, λόγω του τεράστιου μεγέθους του και της καθημερινής αλλαγής της δομής του, πρέπει να χαρτογραφείται συνεχώς με αποδοτικό τρόπο. Η χρήση των web crawlers, αυτοματοποιημένων προγραμμάτων διάσχισης του διαδικτύου, καθώς και η εύρεση ενός τρόπου αποδοτικής διάσχισής του, είναι διαδικασίες που είναι απαραίτητες. Ο Ant Colony Optimization είναι ένας αλγόριθμος βελτιστοποίησης της οικογένειας των βιολογικά εμπνευσμένων αλγόριθμων. Είναι εμπνευσμένος από τον τρόπο συγκομιδής τροφής των μυρμηγκιών και βασίζεται στις αρχές της θετικής ανάδρασης και της αναδυόμενης ευφυΐας. Παρουσιάζει έφεση στα προβλήματα με δομή γράφων και χαρακτηρίζεται από απλότητα και ελάχιστη επικοινωνία ανάμεσα στα στοιχεία απ τα οποία αποτελείται Σκοπός της Διπλωματικής Αρχικά σκοπός της διπλωματικής είναι η μελέτη του εστιασμένου (focused) crawling και του Ant Colony Optimization (ACO) ώστε να βρεθεί ένας τρόπος να συνδυαστούν οι δύο μέθοδοι. Στη συνέχεια, χρησιμοποιώντας τις αρχές του Ant Colony Optimization, γίνεται μια προσπάθεια να αναπτυχθεί ένας crawler ώστε να μπορεί να εντοπίζει έγγραφα με πλούσιο multimedia περιεχόμενο. Ο crawler δίνοντας βαρύτητα σε έγγραφα με πολλά multimedia στοιχεία και πολλούς συνδέσμους, προσπαθεί να αυξήσει την πιθανότητα εύρεσης νέων «πλούσιων» εγγράφων. Τέλος, κάνοντας χρήση της εφαρμογής που αναπτύχθηκε για την εκτέλεση των κατάλληλων πειραμάτων, γίνεται μια προσπάθεια εύρεσης των σωστών παραμέτρων, οι οποίες θα οδηγήσουν στην επίτευξη καλύτερης ισορροπίας μεταξύ εξερεύνησης και σύγκλισης του αλγορίθμου.

14 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου 1.3 Δομή της Διπλωματικής Κεφάλαιο 1: Αναφορά του αντικειμένου και των στόχων της διπλωματικής. Κεφάλαιο 2: Ανάλυση του Ant Colony Optimization. Παρουσιάζεται η πορεία του αλγορίθμου ξεκινώντας από μια παρατήρηση της λειτουργίας των μυρμηγκιών και φτάνοντας σε ένα ισχυρό εργαλείο για την εύρεση βέλτιστης λύσης σε προβλήματα. Αναλύονται διαφορετικές παραλλαγές του και μηχανισμοί που έχουν προστεθεί από διάφορους μελετητές. Παρουσιάζονται αποτελέσματα από την χρήση του αλγορίθμου σε χαρακτηριστικά προβλήματα και τέλος δίνονται κάποιες εφαρμογές του αλγόριθμου και μελλοντικές του βελτιώσεις. Κεφάλαιο 3: Ανάλυση του crawling και του focused crawling. Αναλύονται οι αρχές λειτουργίας του crawler και παρουσιάζονται οι αρχές του polite crawling. Στη συνέχεια αναφέρονται υπάρχουσες τεχνικές focused crawling. Τέλος αναλύονται οι αρχές του browsing χωρίς γραφική απεικόνιση (headless browsing) και ιδιαίτερα ο JxBrowser, ένας headless browser που χρησιμοποιήθηκε στην εφαρμογή. Κεφάλαιο 4:Ανάλυση της εφαρμογής που αναπτύχθηκε. Αναλύεται η δομή και η λειτουργία της εφαρμογής και παρουσιάζεται ο τρόπος που εισήχθησαν οι αρχές του ACO στον crawler που σχεδιάστηκε. Κεφάλαιο 5: Πειράματα και ανάλυση αποτελεσμάτων. Κεφάλαιο 6: Μελλοντικές επεκτάσεις/βελτιώσεις.

15 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Γνωστικό Υπόβαθρο του ACO και Σχετικές Έρευνες 2.1 Εισαγωγή στους βιολογικά εμπνευσμένους αλγόριθμους Οι βιολογικά εμπνευσμένοι αλγόριθμοι είναι ένα πεδίο μελέτης συνδεδεμένο με τα θέματα διασύνδεσης, κοινωνικής συμπεριφοράς και ανάδειξης κοινωνικής ευφυΐας. Είναι σχετικοί με την τεχνητή νοημοσύνη, αφού έχουν στόχο την εκμάθηση του συστήματος από το αποτέλεσμα των ενεργειών του. Βασίζονται στην βιολογία, στην πληροφορική επιστήμη και στα μαθηματικά. Χρησιμοποιούνται για την προσομοίωση κοινωνικών φαινομένων και την βελτίωση της απόδοσης των υπολογιστών μέσα από την μελέτη του τρόπου δράσης της φύσης. Οι ενδεικτικότεροι τομείς μελέτης είναι : Γενετικοί αλγόριθμοι, εμπνευσμένοι από την αναπαραγωγή Εξελικτικοί αλγόριθμοι, εμπνευσμένοι από την εξελικτική διαδικασία Simulated annealing, εμπνευσμένοι από την επεξεργασία μετάλλων Swarm Algorithms, εμπνευσμένοι από την κοινωνική συμπεριφορά εντόμων κυρίως Νευρωνικά δίκτυα, εμπνευσμένοι από την λειτουργία του εγκεφάλου Artificial immune systems, εμπνευσμένα από το ανοσοποιητικό σύστημα 2.2 Εισαγωγή στο ACO Το swarm intelligence είναι μια προσέγγιση λύσεων είναι γενικότερα εμπνευσμένη από φυσικές διεργασίες και κυρίως από την κοινωνική συμπεριφορά εντόμων. Τα μυρμήγκια ιδιαίτερα έχουν τραβήξει μεγάλο ενδιαφέρον και έχουν δημιουργηθεί διάφορες μέθοδοι με βάση την συμπεριφορά τους με πιο γνωστό την τεχνική Ant colony optimization (ACO). Το ACO μπορεί να δώσει προσεγγιστικές λύσεις σε δύσκολα προβλήματα εκθετικής πολυπλοκότητας σε πολυωνυμικό χρόνο (NP hard problems) και παρουσιάζει τα εξής επιθυμητά χαρακτηριστικά : Μπορεί να εφαρμοστεί σε διαφορετικές μορφές του ίδιου προβλήματος (versatile). Με μικρές αλλαγές μπορεί να εφαρμοστεί και σε άλλα συνδυαστικά προβλήματα βελτιστοποίησης πέρα από αυτό για το οποίο σχεδιάστηκε (robust).

16 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Είναι μια προσέγγιση με βάση ένα πληθυσμό, κάτι που επιτρέπει την παράλληλη υλοποίηση του αλγορίθμου. 2.3 Έμπνευση του αλγορίθμου Στις δεκαετίες του 40 και 50 ο Γάλλος εντομολόγος Pierre Paul Grasse παρατηρώντας ένα είδος τερμιτών αντιλήφθηκε ότι αντιδρούν σε «σημαντικά» ερεθίσματα και ότι το αποτέλεσμα αυτών των αντιδράσεων μπορεί να δράσει ως νέο ερέθισμα. Έτσι, χρησιμοποίησε τον όρο στιγμεργία (stigmergy) για να περιγράψει αυτόν τον ιδιαίτερο τρόπο επικοινωνίας στον οποίο οι εργάτες διεγείρονται από την απόδοση που έχουν ήδη επιτύχει. Τα χαρακτηριστικά που κάνουν την στιγμεργία ιδιαίτερο τρόπο επικοινωνίας είναι: Η στιγμεργία είναι ένας έμμεσος, μη συμβολικός τρόπος επικοινωνίας μέσω του περιβάλλοντος Η πληροφορία της στιγμεργίας είναι τοπική, δηλαδή αφορά μόνο τα έντομα που επισκέπτονται την περιοχή στην οποία απελευθερώθηκε Στα μυρμήγκια το ρόλο της στιγμεργίας παίζει μια ουσία που λέγεται φερομόνη την οποία απελευθερώνουν στο έδαφος κατά την κίνησή τους από και προς μια πηγή τροφής. Τα άλλα μυρμήγκια νιώθουν την παρουσία φερομόνης και τείνουν να ακολουθήσουν διαδρομές με την μεγαλύτερη συγκέντρωση. Η λειτουργία της φερομόνης και η συμπεριφορά των μηρμυγκιών διαπιστώθηκαν πιο ξεκάθαρα σε ένα πείραμα γνωστό ως το πείραμα διπλής γέφυρας (double bridge experiment) από τον Deneubourg. Στο πείραμα αυτό η φωλιά και η τροφή συνδέονται με 2 γέφυρες αρχικά ίδιου μήκους και στη συνέχεια διαφορετικού. Στην πρώτη περίπτωση τα μυρμήγκια αφού ανιχνεύσουν τον χώρο εντοπίζουν την τροφή και το καθένα τους επιλέγει τυχαία μια από τις δύο γέφυρες (αφού αρχικά δεν έχουμε φερομόνη στο έδαφος) και αφήνει στο έδαφος φερομόνη. Λόγω τυχαίων διακυμάνσεων κάποια γέφυρα θα επικρατήσει της άλλης συγκεντρώνοντας μεγαλύτερη ποσότητα φερομόνης και τελικά μετά από κάποιο χρόνο το σύνολο των μυρμηγκιών θα επιλέγει την συγκεκριμένη γέφυρα. Στην δεύτερη περίπτωση η μία γέφυρα έχει σημαντικά μεγαλύτερο μήκος από την άλλη κι έτσι οι στοχαστικές διακυμάνσεις της αρχικής επιλογής έχουν μικρότερη σημασία. Αυτό που παίζει τον κύριο ρόλο είναι ότι τα μυρμήγκια που επέλεξαν την μικρότερη γέφυρα φτάνουν πιο γρήγορα στην τροφή επομένως, η γέφυρα αυτή συγκεντρώνει γρηγορότερα φερομόνη με

17 Διπλωματική εργασία Σταύρος Χαμπηλομάτης αποτέλεσμα να αυξάνεται η πιθανότητα τα μελλοντικά μυρμήγκια να επιλέξουν αυτή την διαδρομή. Εικόνα 1:a) Πρώτο πείραμα b)δεύτερο πείραμα Ο Goss ανέπτυξε ένα μοντέλο της παρατηρούμενης συμπεριφοράς. Αν σε κάποια χρονική στιγμή m1 είναι ο αριθμός των μυρμηγκιών που έχουν χρησιμοποιήσει την πρώτη γέφυρα και m2 αυτά που έχουν χρησιμοποιήσει την δεύτερη τότε η πιθανότητα p1 ενός νέου μυρμηγκιού να χρησιμοποιήσει την πρώτη γέφυρα είναι: 2 ( m1 k) p1 (1) 2 2 ( m k) ( m k) 1 2 όπου k και h επιλέγονται ώστε να ταιριάξει ο τύπος στα αποτελέσματα των πειραμάτων, με ενδεικτικές τιμές k = 20 και h = 2 και προφανώς p2 = 1 - p1. Αυτή η εξίσωση αποτέλεσε την βασική έμπνευση για την εξίσωση του ant system, του πρώτου αλγορίθμου ACO. Παρόλα αυτά υπάρχουν σημαντικές διαφορές ανάμεσα στα πραγματικά και στα τεχνητά μυρμήγκια όπως: Τα τεχνητά μυρμήγκια ζουν σε έναν διακριτό κόσμο και προχωρούν διαδοχικά από μια διακριτή λύση στην επόμενη. Η ανανέωση της φερομόνης δε γίνεται με τον ίδιο τρόπο στα τεχνητά μυρμήγκια. Κάποιες φορές μόνο ένα μέρος του πληθυσμού εναποθέτει φερομόνη στο περιβάλλον ενώ πολύ συχνά η ανανέωση της φερομόνης γίνεται μόνο αφού έχει κατασκευαστεί μια λύση κι όχι κατά την διάρκεια της κατασκευής της. Στα τεχνητά μυρμήγκια χρησιμοποιούνται και επιπλέον μηχανισμοί οι οποίοι ανεβάζουν την απόδοση του αλγορίθμου αλλά δεν έχουν σχέση με την λειτουργία των

18 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου πραγματικών μυρμηγκιών. Τέτοια παραδείγματα είναι η αναζήτηση μιας τοπικά κοντινής καλύτερης λύσης (local search), η χρήση μερικών λύσεων υπολογισμένων νωρίτερα (backtracking), η πρόβλεψη στην επιλογή του επόμενου κόμβου (look-ahead) και άλλα. 2.4 Βασική μορφή αλγορίθμου H ACO είναι μια στοχαστική αναζήτηση λύσης σε ένα συνδυαστικό πρόβλημα με πυρήνα το μοντέλο απόδοσης φερομόνης. Το πρώτο βήμα όμως της εφαρμογής του αλγορίθμου είναι η μοντελοποίηση του προβλήματος. Το μοντέλο ενός συνδυαστικού προβλήματος ορίζεται ως εξής: Ένα μοντέλο P(S, Ω, f) αποτελείται από : Ένα χώρο αναζήτησης S ορισμένο από ένα πεπερασμένο αριθμό διακριτών μεταβλητών απόφασης Ένα σύνολο περιορισμών Ω Μία συνάρτηση f : S R 0 της οποίας στόχος είναι να βρεθεί το ελάχιστο. Ο χώρος αναζήτησης ορίζεται ως εξής: Με δεδομένο ένα σύνολο διακριτών μεταβλητών Χ i, i = 1,..., n με τιμές v j i που ανήκουν σε ένα πίνακα τιμών της μορφής D i ={v j i,..., v Di i }, η απόδοση των τιμών v j i στο Χ i συμβολίζεται με Χ i v j i. Μια λύση s είναι εφικτή όταν όλες οι αποδόσεις τιμών στις μεταβλητές ικανοποιούν τους περιορισμούς Ω. Μια λύση s* λέγεται ολικό ελάχιστο όταν για κάθε s που ανήκει στο S ισχύει f(s*) f(s). Το σύνολο των ολικών ελάχιστων συμβολίζεται με S*. Στόχος του ACO είναι η εύρεση ενός από τα ολικά ελάχιστα. Η απόδοση τιμής σε μια μεταβλητή συμβολίζεται με το c ij το οποίο ονομάζεται τμήμα λύσης. Στη συνέχεια στο κάθε τμήμα λύσης (c ij ) αποδίδεται μια τιμή επιπέδου φερομόνης (συμβολιζόμενη με τ ij ). Η τιμή αυτή ανανεώνεται από τον ACO και καθορίζει την πιθανότητα επιλογής ενός τμήματος λύσης. Στον ACO τα τεχνητά μυρμήγκια κατασκευάζουν μια λύση διασχίζοντας τον γράφο του συνδυαστικού προβλήματος, G c (V,E), ο οποίος αποτελείται από μια συλλογή κορυφών V και μια συλλογή ακμών E. Τα τμήματα λύσης C αντιστοιχίζονται είτε στις κορυφές είτε στις ακμές του γράφου. Τα τεχνητά μυρμήγκια διασχίζουν τον γράφο από κορυφή σε κορυφή μέσω των ακμών δημιουργώντας σταδιακά μια λύση επιλέγοντας τα τμήματα λύσης c που αντιστοιχούν στις ακμές και κορυφές που διέσχισαν. Επιπλέον, εναποθέτουν σε κάθε c μια ποσότητα

19 Διπλωματική εργασία Σταύρος Χαμπηλομάτης φερομόνης η οποία μπορεί να εξαρτάται από διάφορους παράγοντες ανάλογα με την εκάστοτε υλοποίηση του αλγορίθμου. Επόμενα μυρμήγκια χρησιμοποιώντας τα επίπεδα φερομόνης οδηγούνται στον γράφο προς πιο ελπιδοφόρες περιοχές λύσης. Μια βασική μορφή του αλγόριθμου σε ψευδογλώσσα είναι η εξής : 1. input : ένα μοντέλο P(S,Ω,f) ενός συνδυαστικού προβλήματος 2. InitializePheromoneValues(T) 3. while δεν έχουν ικανοποιηθεί οι συνθήκες τερματισμού 4. ConstructAntSolutions 5. ApplyLocalSearch {προαιρετικό} 6. UpdatePheromones 7. endwhile InitializePheromoneValues(T) σταθερά c>0. Η συνάρτηση που αρχικοποιεί τα επίπεδα φερομόνης σε όλο το γράφο με μια αρχική ConstructAntSolutions Ένα σύνολο από m τεχνητά μυρμήγκια κατασκευάζει μια λύση επιλέγοντας στοιχεία από το C (το πεπερασμένο σύνολο των τμημάτων λύσης). Μια κατασκευή λύσης ξεκινάει από μια κενή λύση s p =0 και προσθέτει σε κάθε βήμα ένα τμήμα λύσεων cij. Αυτό το τμήμα που επεκτείνει τη λύση πρέπει να είναι εφικτό, δηλαδή ανήκει στο σύνολο των τμημάτων λύσης που δεν παραβιάζει κανέναν κανόνα του Ω. Η επιλογή της επόμενης λύσης έχει ένα στοχαστικό παράγοντα, δηλαδή εξαρτάται πιθανοτικά από το επίπεδο φερομόνης τ ij που αντιστοιχεί σ αυτό. Ο ακριβής κανόνας είναι χαρακτηριστικό της κάθε διαφοροποίησης του ACO αλλά αντλεί έμπνευση από τον κανόνα των πραγματικών μυρμηγκιών που εξηγήθηκε παραπάνω. ApplyLocalSearch Αποτελεί ένα προαιρετικό βήμα για την εκτέλεση του αλγορίθμου, αλλά συναντάται σχεδόν σε κάθε πραγματική υλοποίησή του καθώς ανεβάζει την απόδοσή του. Συχνά ονομάζονται daemon actions, αλλάζουν ανάλογα με τις ιδιαιτερότητες του προβλήματος και

20 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου κάνουν συγκεντρωτικές ενέργειες. Η πιο συχνή χρήση των daemon actions είναι η τοπική αναζήτηση, η οποία αναζητά τον χώρο των λύσεων στη γειτονιά της κατασκευασμένης λύσης βελτιώνοντάς την και χρησιμοποιώντας αυτήν την βελτιωμένη έκδοση για την ανανέωση των επιπέδων φερομόνης. UpdatePheromones Ο ρόλος αυτής της συνάρτησης είναι να αυξήσει τα επίπεδα φερομόνης των υποσχόμενων λύσεων, δηλαδή αυτών με καλή απόδοση, ώστε να ελκύσει μελλοντικά μυρμήγκια προς την περιοχή τους, αλλά και να μειώσει τα επίπεδα φερομόνης στις λύσεις με μικρότερη απόδοση. Αυτό το καταφέρνει με δύο μηχανισμούς : Εξάτμιση φερομόνης: Μείωση όλων των τιμών της φερομόνης σε κάθε επανάληψη. Αύξηση των τιμών φερομόνης στο επιλεγμένο σύνολο καλών λύσεων S upd. Έτσι σχηματίζεται η εξής εξίσωση: ( 1 ) F ( s) (2) ij Στην εξίσωση αυτή : - S upd το σύνολο λύσεων που επιλέγεται για την ανανέωση της φερομόνης τους. - ρ (0,1] παράμετρος που λέγεται συντελεστής εξάτμισης. - F : S R μια συνάρτηση για την οποία ισχύει f(s) < f(s ) F(s) F(s ) για κάθε ss. Η συνάρτηση αυτή αποκαλείται fitness function. ij s S upd Η εξάτμιση της φερομόνης είναι απαραίτητη για να αποφεύγεται η γρήγορη σύγκλιση του αλγορίθμου και η ενίσχυση των αρχικών τυχαίων διακυμάνσεων. Ο ακριβής τρόπος ανανέωσης της φερομόνης, δηλαδή η επιλογή του S upd και της F είναι χαρακτηριστικό της κάθε υλοποίησης του αλγορίθμου. 2.5 Παραλλαγές του αλγόριθμου Ο αλγόριθμος Ant System (AS) Ο πρώτος αλγόριθμος που αναπτύχθηκε µε βάση το παραπάνω μοντέλο είναι ο Ant System (AS) του Dorigo. Ο αλγόριθμος αυτός χρησιμοποιήθηκε για πρώτη φορά για την επίλυση του προβλήματος του περιπλανώμενου πωλητή (Traveling Salesman Problem - TSP) καθώς το πρόβλημα αυτό είναι συναφές µε τη πραγματική συµπεριφορά των µυρμηγκιών κατά την ανίχνευση και συγκομιδή τροφής, δηλαδή της εύρεσης της γρηγορότερης διαδρομής.

21 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Για το λόγο αυτό ο αλγόριθμος AS θα παρουσιασθεί στη μορφή για την επίλυση του TSP. Πιο συγκεκριμένα, στο TSP το ζητούμενο είναι η εύρεση της συντομότερης διαδρομής που συνδέει n πόλεις. Οι περιορισμοί που τίθενται είναι: κάθε πόλη πρέπει να περιλαμβάνεται μια φορά στη διαδρομή η διαδρομή πρέπει να είναι κλειστή, δηλαδή ο «πωλητής» πρέπει να επιστρέψει στην πόλη από όπου ξεκίνησε. Οι αποστάσεις μεταξύ των πόλεων δεν είναι απαραίτητο να είναι συμμετρικές καθώς η απόσταση από την πόλη i στη j μπορεί να είναι διαφορετική από την απόσταση από την j πόλη στην i (τότε ορίζεται το ATSP: Asymmetric Traveling Salesman Problem). Εικόνα 2:Παράδειγμα λύσεως ενός TSP Η κάθε λύση για το TSP σχηματίζεται µε τη διαδοχική μετάβαση των «ψηφιακών» μυρμηγκιών από τη μια πόλη στην άλλη µε κάποια πιθανότητα. Το «ταξίδι» ολοκληρώνεται όταν το «ψηφιακό» μυρμήγκι επιστέψει στην αρχική πόλη. Τότε βαθμολογείται η λύση που έχει επιτύχει µε κριτήριο το συνολικό μήκος της διαδρομής και προστίθεται η ανάλογη φερομόνη στο μονοπάτι που ακολούθησε. Η παραπάνω διαδικασία επαναλαμβάνεται για κάθε άτομο της αποικίας μέχρι να συμπληρωθεί ο ζητούμενος αριθμός επαναλήψεων. Αναλυτικότερα, ο αλγόριθμος σχηματίζεται µε την παρακάτω διαδικασία. Έστω m ο αρχικός πληθυσμός των «ψηφιακών» μυρμηγκιών. Μετά από πειράματα, ο Dorigo διαπίστωσε ότι m=n, δηλαδή ο αρχικός πληθυσμός πρέπει να είναι ίσος µε τον αριθμό των πόλεων του προβλήματος. Αν είναι πολύ μεγάλος ο πληθυσμός της αποικίας τότε πραγματοποιείται σύγκλιση σε τοπικά βέλτιστα, ενώ αν είναι πολύ μικρός δεν λειτουργεί η στιγμεργετική επικοινωνία μεταξύ των μυρμηγκιών. Τα μυρμήγκια τοποθετούνται είτε τυχαία στις πόλεις είτε το καθένα σε μια διαφορετική πόλη ως αφετηρία της διαδρομής τους. Η πόλη αυτή καταγράφεται ως νούμερο

22 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου «ένα» στη λίστα της μνήμης (tabu list) κάθε μυρμηγκιού. Η tabu list είναι μια λίστα που περιέχει τις πόλεις που έχει ήδη επισκεφθεί το μυρμήγκι έτσι ώστε αυτές να αποκλειστούν από τις επόμενες δυνατές επιλογές του. Κάθε μυρμήγκι k κατά την επανάληψη t που βρίσκεται στην πόλη i επιλέγει την επόμενη πόλη j που θα επισκεφθεί µε βάση τον τυχαίο - αναλογικό κανόνα μετάβασης (randomproportional transition rule): k ij ( t) nij ( t) pij ( t) αν ( t) n ( t) k lj i il il k j J i k p 0 αν j (3) k ij J i Στην παραπάνω εξίσωση : J k i είναι οι πόλεις που έχει ήδη επισκεφθεί το μυρμήγκι k όταν βρίσκεται στην πόλη i (Tabu list). n ij (t)είναι η ορατότητα (visibility) και ορίζεται ως το αντίστροφο της απόστασης μεταξύ των πόλεων i και j, δηλαδή n ij =1/d ij. Η ορατότητα εκφράζει την ευριστική προτίμηση (heuristic desirability) ως επόμενου σταθμού της πόλης j όταν το μυρμήγκι βρίσκεται στην πόλη i και βασίζεται καθαρά σε τοπικές πληροφορίες. Προφανώς, η πληροφορία αυτή είναι αναλλοίωτη στο TSP καθώς δεν μεταβάλλεται κατά την επίλυση του προβλήματος, δηλαδή n ij (t)=n ij τ ij (t) έχει οριστεί στο προηγούμενο κεφάλαιο (ενότητα 2.4). α, β είναι παράμετροι που καθορίζονται από τον χρήστη και εξαρτώνται από το πρόβλημα προς επίλυση. Καθορίζουν το βαθμό που θα συνεισφέρει η τοπική γνώση (στο TSP η απόσταση μεταξύ των πόλεων) και η θετική ανάδραση της φερομόνης. Αφού όλα τα μυρμήγκια ολοκληρώσουν τα «ταξίδια» τους κατά την επανάληψη t, τότε προστίθεται φερομόνη σε κάθε μονοπάτι ανάλογα µε την επίδοση του κάθε μυρμηγκιού. Το ρόλο της F (fitness function) παίζει το αντίστροφο της συνολικής απόστασης του μονοπατιού πολλαπλασιασμένο με μια σταθερά Q η οποία επιλέγεται απ το χρήστη. Άρα οι νέες τιμές φερομόνης είναι οι εξής : ( 1 ) ( t) ( t) ij ij ij m k ( t) ( t) ij k1 ij

23 Διπλωματική εργασία Σταύρος Χαμπηλομάτης k Q/ L k ( t) αν (i,j) k (t) ij k ij 0 αν (i,j) k (t) (4) στις παραπάνω εξισώσεις: T k (t) : το ταξίδι του μυρμηγκιού k, δηλαδή η σειρά των πόλεων που επισκέφθηκε κατά την επανάληψη t. L k (t) : το μήκος του ταξιδιού T k (t). Ο Dorigo αναπαράγοντας και προσαρμόζοντας την έννοια του ελιτισμού όπως αυτή χρησιμοποιείται στους εξελικτικούς αλγορίθμους εισήγαγε την ιδέα των «εκλεκτών» μυρμηγκιών (elitist ants) στον αλγόριθμο AS δημιουργώντας τον αλγόριθμο AS e. Σε αυτή την περίπτωση ένας επιπλέον αριθμός μυρμηγκιών, έστω e, ενισχύει την βέλτιστη διαδρομή Τ best που έχει βρεθεί έως και την τρέχουσα επανάληψη t µε επιπλέον φερομόνη ίση µε eq / L best. Συνεπώς, στην παραπάνω εξίσωση ανανέωσης φερομόνης προστίθεται ο παράγοντας e (t) όπου e Q/ L ( t) αν (i,j) T best (t) ij best ij e ij 0 αν (i,j) T best (t) (5) όπου: L best (t) το μήκος της βέλτιστης διαδρομής στην επανάληψη t T best (t) η σειρά των πόλεων της βέλτιστης διαδρομής στην επανάληψη t

24 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Πίνακας 1: Ψευδοκώδικας Start: // Initialize For i, j: 1 to n Set τij(0) = τ0 End for For i, j: 1 to n Set ηij = 1/dij End for For k: 1 to m Set (randomly) 1st town in each ant s Tabu list: Tk(0) End for Initialize minimum tour length: Lbest // Main Loop For t: 1 to maximum iterations For k: 1 to m For i: 1 to n-1 Select next town by applying random proportional transition rule Place next town in Tabu list: Tk(t) End for Compute tour length: Lk(t) If L<Lbest set Lbest=L and keep edges of best tour: Tbest=Tk(t) End for For i, j: 1 to n Update pheromone trails by applying (elitist) pheromone update rule End for End for Print Lbest and Tbest Stop

25 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Ο αλγόριθμος Ant Colony System (ACS) O αλγόριθμος αυτός εισήχθη από τον Dorigo και αποτελεί βελτίωση του AS. Μάλιστα, τα αποτελέσματα του ACS είναι σαφώς ανώτερα του AS για το TSP. Οι βασικές διαφορές των δύο αλγορίθμων μπορούν να συνοψιστούν στα εξής: i. Κανόνας μετάβασης (transition rule): Τώρα πλέον, ένα μυρμήγκι k που βρίσκεται στην πόλη i επιλέγει την επόμενη πόλη j που θα επισκεφθεί µε τον εξής κανόνα: j max k { ( t)[ n ( t)] } αν q q 0 uj i iu iu j J αν q>q 0 (6) Στις παραπάνω εξισώσεις : q : είναι μια τυχαία μεταβλητή ομοιόμορφα κατανεμημένη στο διάστημα [0,1]. q0: είναι μια καθοριζόμενη παράμετρος µε τιµή στο διάστημα [0,1]. J : είναι µια πόλη που επιλέγεται τυχαία σύµφωνα µε την παρακάτω εξίσωση: k ij ( t) nij ( t) pij ( t) αν ( t) n ( t) k lj i il il k j J i (7) Όταν q<q o τότε τα μυρμήγκια εκμεταλλεύονται (exploit) τον ήδη εξερευνημένο χώρο, δηλαδή επιλέγουν τις τοπικά βέλτιστες λύσεις χρησιμοποιώντας τη συσσωρευμένη εμπειρία (επίπεδα φεροµόνης και ορατότητας). Προφανώς, η επιλογή των τοπικά βέλτιστων λύσεων δεν είναι σίγουρο πως οδηγεί και σε ολικό βέλτιστο. Αντίθετα, για q>q o πραγματοποιείται επιπλέον εξερεύνηση του χώρου των λύσεων. Όπως στον AS, έτσι και εδώ, τα μυρμήγκια επιλέγουν την

26 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου καλύτερη έως τώρα λύση µε κάποια πιθανότητα, ενώ δεν αποκλείεται να «χαθούν» µε ενδεχόμενο, αργότερα, να ανακαλύψουν ένα νέο ολικό βέλτιστο ii. Ανανέωση της φερομόνης (pheromone update): Η εναπόθεση φερομόνης γίνεται µόνο από το μυρμήγκι που μέχρι αυτήν τη χρονική στιγμή έχει κάνει την καλύτερη διαδρομή (αντί από όλα τα μυρμήγκια όπως στον AS) σε μια προσπάθεια να κατευθυνθεί η εξερεύνηση του χώρου προς την περιοχή του ολικού βέλτιστου. Συνεπώς, η σχέση που διέπει την εναπόθεση της φερομόνης μετασχηματίζεται στην εξής (κανόνας εναπόθεσης φερομόνης στη βέλτιστη διαδρομή): ( t 1) (1 ) ( t) ( t) ij ij ij ij Q/ L best ( t) αν (i,j) (t) best ij 0 αν (i,j) (t) (8) best όπου L best (t), T best (t) το μήκος της μέγιστης διαδρομής και η σειρά των πόλεων αντίστοιχα. iii. Τοπική ανανέωση της φερομόνης (local pheromone update): Για να αποφευχθεί ο εγκλωβισµός των μυρμηγκιών σε μια και µόνο διαδρομή, κάτι που θα έκανε τη χρήση των m μυρμηγκιών ατελέσφορη, πρέπει κάθε μυρμήγκι k που επισκέπτεται την πόλη j από την πόλη i, να αφαιρεί ένα ποσό φερομόνης από το μονοπάτι που συνδέει αυτές τις δύο πόλεις. Με αυτόν τον τρόπο, η εξερεύνηση για νέες λύσεις κατευθύνεται μακριά από την καλύτερη που έχει υπολογισθεί έως αυτή τη στιγμή. Η σχέση που ισχύει σε αυτή την περίπτωση είναι: τ ij (t+1) = (1-ρ) τ ij (t) +ρ τ 0 (9) όπου τ 0 η ποσότητα της φερομόνης µε την οποία γίνεται η αρχικοποίηση. Έχει βρεθεί πειραματικά ότι: τ 0 =(n L nn ) -1 µε n τον αριθµό των πόλεων και L nn το μήκος μιας διαδρομής που δημιουργείται µε τον αλγόριθμο Nearest Neighbor (άπληστος αλγόριθμος λύσης του TSP ο οποίος επιλέγει ως επόμενο σταθμό την πιο κοντινή πόλη).

27 Διπλωματική εργασία Σταύρος Χαμπηλομάτης iv. Χρήση λίστας υποψήφιων πόλεων (candidate list): Στα προβλήματα µε μεγάλο αριθμό πόλεων και ειδικά σε προβλήματα ATSP είναι χρονοβόρο να εξετάζονται όλες οι πόλεις. Για το λόγο αυτό η λίστα αυτή περιέχει ένα αριθμό από τις πιο «επιθυμητές», δηλαδή κοντινές, πόλεις ταξινομημένες από την κοντινότερη προς την πιο µακρινή. Μόνο όταν οι πόλεις που βρίσκονται στη λίστα των υποψηφίων πόλεων ανήκουν και στην Tabu list είναι δυνατόν τα μυρμήγκια να κατευθυνθούν σε άλλες πόλεις v. Άλλες διαφοροποιήσεις: o o o ανανέωση της φερομόνης από τα δύο μυρμήγκια µε τις καλύτερες διαδρομές αφαίρεση φερομόνης από τις κακές διαδρομές χρήση αλγορίθμων για τοπική αναζήτηση λύσεων, πχ. 2-opt, 3-opt, Lin-Kernighan Ο αλγόριθμος MAX-MIN ANT SYSTEM (MMAS) Ο πιο πρόσφατος αλγόριθμος που έχει βελτιώσει σημαντικά τον AS και μάλιστα δίνει και καλύτερα αποτελέσματα από τον ACS στο TSP είναι ο MMAS του Stützle. Επιγραμματικά οι διαφοροποιήσεις από τον AS είναι οι εξής: Σε κάθε επανάληψη εναποτίθεται φερομόνη μόνο από ένα μυρμήγκι Το μυρμήγκι που εναποθέτει τη φερομόνη είναι αυτό που έχει βρει την ολική βέλτιστη λύση (global best ant) ή αυτό που βρίσκει την καλύτερη λύση σε κάθε επανάληψη (iteration best ant). Προφανώς είναι δυνατή η χρήση διαφόρων συνδυασμών µεταξύ αυτών των δύο. Για παράδειγμα, στην αρχή μπορεί να χρησιμοποιείται η καλύτερη λύση κάθε επανάληψης για να εξερευνηθεί (exploration) όσο το δυνατόν καλύτερα όλος ο χώρος των λύσεων και καθώς αυξάνεται ο αριθμός των επαναλήψεων χρησιμοποιείται όλο και περισσότερο η ολική βέλτιστη λύση έτσι ώστε να γίνει εκμετάλλευση (exploitation) της περιοχής της λύσης αυτής.

28 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Χρήση ορίων στα επίπεδα της φερομόνης: Στον MMAS χρησιμοποιείται τόσο άνω όριο τ max όσο και κάτω τ min για τον περιορισμό της φεροµόνης. Ο σκοπός του άνω ορίου είναι να μην επιτρέψει να εμφανιστεί στασιμότητα (stagnation) κατά την επίλυση του προβλήματος καθώς κανένα μονοπάτι δεν θα μπορεί να συγκεντρώσει τόση φερομόνη και κατά συνέπεια να παρουσιάσει μεγάλη πιθανότητα επιλογής ώστε να έλκει πάντοτε όλα τα μυρμήγκια. Επιπλέον, το κάτω όριο της φερομόνης διασφαλίζει το ότι καμιά διαδρομή δεν θα έχει μηδενική ή περίπου μηδενική πιθανότητα εκλογής. Τα άνω και κάτω όρια της φερομόνης ορίζονται µε τις παρακάτω σχέσεις: 1 max (10) L opt (1 n max best min (11) ( n / 2 1) n pbest p ) όπου: L opt :το μήκος της πραγματικής ολικής βέλτιστης λύσης. Επειδή το μήκος αυτό δεν είναι γνωστό εκ των προτέρων χρησιμοποιούμε στη θέση του το L best (t). Συνεπώς, το τ max είναι δυναμικά μεταβαλλόμενο. p best : η πιθανότητα δημιουργίας της ολικά βέλτιστης λύσης. Η παράμετρος αυτή καθορίζεται από το χρήστη. Σημειώνεται ότι όταν p best =1 τότε τ min =0. Επίσης, αν η τιμή του p best είναι πολύ μικρή τότε υπάρχει πιθανότητα να ισχύει τ min >τ max. Στην περίπτωση αυτή, θέτουµε τ min =τ max οπότε και ο αλγόριθμος χρησιμοποιεί µόνο την ευριστική πληροφορία (ορατότητα) για τη λύση του προβλήματος. n : ο αριθμός των πόλεων.

29 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Αρχικοποίηση της φεροµόνης στην τιµή τ max, δηλαδή τ ο =τ max : Η διαφοροποίηση αυτή βοηθάει στην καλύτερη εξερεύνηση (exploration) του χώρου των λύσεων στις πρώτες επαναλήψεις του αλγορίθμου, καθώς η σχετική διαφορά μεταξύ των επιπέδων της φερομόνης των καλών και των κακών λύσεων είναι μικρή. Στο γεγονός αυτό συνεισφέρουν και τα όρια τ max και τ min. Αντιθέτως, όταν προστίθεται φερομόνη σε ένα αρχικά ομοιόμορφο χώρο µε πολύ χαμηλά επίπεδα φερομόνης, η σχετική διαφορά των επιπέδων της φερομόνης των καλών και των κακών λύσεων είναι πολύ μεγάλη. Με αυτό τον τρόπο, ο αλγόριθμος οδηγείται στην εκμετάλλευση (exploitation) του χώρου των καλών λύσεων αγνοώντας, κατά κάποιον τρόπο, την εξερεύνηση (exploration) όλου του χώρου των λύσεων. Ομαλοποίηση της φερομόνης (smoothing of the pheromone trail): Όταν ο αλγόριθμος έχει συγκλίνει ή έχει φτάσει κοντά στη σύγκλιση τότε επιχειρείται ομαλοποίηση των επιπέδων της φερομόνης. Ο μηχανισμός αυτός πραγματοποιεί αύξηση των επιπέδων της φερομόνης ανάλογα µε τη διαφορά τους από το τ max έτσι ώστε να αυξηθεί η πιθανότητα επιλογής των μονοπατιών µε χαμηλά επίπεδα φερομόνης. Η σύγκλιση (convergence) στον MMAS ορίζεται ως η κατάσταση στην οποία σε κάθε πόλη ένα από τα μονοπάτια που την συνδέουν µε τις άλλες πόλεις έχει τιµή φερομόνης ίση µε τ max, ενώ όλα τα υπόλοιπα έχουν τιµή ίση µε τ min. Η σχέση που υλοποιεί την παραπάνω διαδικασία έχει ως εξής: ij ) (12) ij ( max ij όπου το δ είναι μια παράμετρος καθοριζόμενη από το χρήστη µε 0 δ 1. Για δ=1 έχουμε επαναρχικοποίηση των επιπέδων της φερομόνης, ενώ για δ=0 απενεργοποιείται ο μηχανισμός αυτός. Η διαδικασία αυτή χρησιμοποιείται κυρίως σε εκτελέσεις του αλγορίθμου µε πολύ μεγάλο αριθµό επαναλήψεων έτσι ώστε να εξερευνείται καλύτερα ο χώρος των λύσεων. Επίσης, ο μηχανισμός αυτός κάνει πιο «στιβαρό» τον αλγόριθμο στις διάφορες τιμές του τ min.

30 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου 2.6 Αποτελέσματα - Συμπεράσματα Σύγκριση των αλγορίθμων ACO Ο Stützle έκανε μια σειρά πειραμάτων με διάφορες εκδόσεις του ACO πάνω σε μια σειρά χαρακτηριστικών TSP προβλημάτων. Τα αποτελέσματα είναι τα εξής: Πίνακας 2: Σύγκριση της απόδοσης των διαφόρων εκδόσεων του ACO σε χαρακτηριστικά TSP Προβλημα Opt MMAS MMAS ACS ACS ACS ACSe ACS AS +pts rank rank +ppts +pts Eil ,1 427,6 428,1 434,5 428,8 428,3 427,4 437,3 kroa D Ry48p Ft Ftv Kro124p Στον παραπάνω πίνακα: 1. Η πρώτη στήλη είναι τα προβλήματα, τα οποία χρησιμοποιούνται για να ελέγξουν την αποδοτικότητα αλγορίθμων. 2. Η δεύτερη στήλη είναι το μήκος της βέλτιστης διαδρομής 3. +pts : ο αλγόριθμος με την λειτουργία ομαλοποίησης φερομόνης (δ = 0.5) 4. AS rank ένας παρόμοιος αλγόριθμος με αυτούς που περιγράφηκαν όπου ένας σταθερός αριθμός απ τα καλύτερα μυρμήγκια εναποθέτει φερομόνη 5. AS e είναι ο αλγόριθμος AS με ελιτισμό, όπως περιγράφηκε παραπάνω 6. Τα αποτελέσματα αποτελούν μέσω όρο της βέλτιστης λύσης των αλγορίθμων. 7. Τα προβλήματα είναι TSP και ATSP.

31 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Από τα αποτελέσματα είναι εμφανής η υπεροχή του MMAS έναντι των άλλων αλγορίθμων και η αδυναμία του απλού AS να προσεγγίσει την βέλτιστη λύση σε μερικά προβλήματα Σύγκριση με άλλους γενετικούς αλγορίθμους είναι τα εξής: Σε μια σύγκριση του ACS με άλλους αλγόριθμους σε συμμετρικό TSP τα αποτελέσματα Πίνακας 3: Σύγκριση της απόδοσης του ACS με άλλους αλγορίθμους σε τυχαία προβλήματα Όνομα ACS SA EN SOM Προβλήματος City set 1 5,88 5,88 5,98 6,06 City set 2 6,05 6,01 6,03 6,25 City set 3 5,58 5,65 5,70 5,83 City set 4 5,74 5,81 5,86 5,87 City set 5 6,18 6,33 6,49 6,70 Τα αποτελέσματα είναι από δοκιμή από Dorigo και Gambardella (1997) σε πρώιμη ακόμα μορφή του αλγόριθμου χωρίς να χρησιμοποιείται ο ανώτερος αλγόριθμος MMAS. Δε χρησιμοποιείται επίσης, κανένα local search στη λύση για βελτίωση απόδοσης. Τα προβλήματα είναι τυχαία συμμετρικά TSP 50 πόλεων και τα αποτελέσματα είναι ο μέσος όρος της βέλτιστης λύσης από 25 επαναλήψεις. Η απόδοση του αλγορίθμου είναι εντυπωσιακή καθώς σχεδόν σε κάθε πρόβλημα καταφέρνει να ξεπεράσει τους άλλους αλγορίθμους και δείχνει την έφεσή του σε τέτοιου είδους συνδυαστικά προβλήματα.

32 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Συμπεράσματα Από τα πρώτα χρόνια της δημιουργίας του οι Ant Colony Optimization αλγόριθμοι έδειξαν την δύναμή τους και ανταγωνίστηκαν τους υπάρχοντες αλγόριθμους. Επίσης, είναι εμφανές ότι υπάρχει χώρος για βελτίωση του αλγορίθμου και πολλές προοπτικές να εξελιχθεί. Βασικές διευθύνσεις στις οποίες κινούνται οι μελετητές είναι : Δυναμικά συνδυαστικά προβλήματα, στα οποία ο χώρος αναζήτησης αλλάζει με τον χρόνο και η ποιότητα των λύσεων που βρέθηκε μπορεί να μεταβληθεί, με βασικό παράδειγμα το routing χώρο των τηλεπικοινωνιών. Στοχαστικά συνδυαστικά προβλήματα, στα οποία κάποιες μεταβλητές έχουν στοχαστική φύση. Βελτιστοποίηση προβλημάτων πολλαπλών στόχων. Παράλληλη υλοποίηση. Ο αλγόριθμος λόγω της φύσης του ευνοεί την παράλληλη υλοποίηση μοιράζοντας τα μυρμήγκια σε έναν αριθμό επεξεργαστών. Ο στόχος των μελετητών είναι να βρεθεί ο βέλτιστος αριθμός επεξεργαστών, μυρμηγκιών ανά επεξεργαστή αλλά και ο βαθμός και ο τρόπος επικοινωνίας ανάμεσα στους πληθυσμούς τους. Συνεχή ή μεικτά προβλήματα. Ο αλγόριθμος είναι σχεδιασμένος για διακριτές μεταβλητές, οπότε μια απλή λύση θα ήταν να διακριτοποιηθεί η συνεχής μεταβλητή κάτι που σε μεγάλα προβλήματα δεν είναι εφικτή λύση. Άρα απαιτείται ειδική μελέτη αυτών των προβλημάτων.

33 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Παραδείγματα εφαρμογής του αλγόριθμου Το πρόβλημα του προγραμματισμού της συνολικής επιβράδυνσης σε μία μηχανή ( Single machine total weighted tardiness scheduling problem SMTWTP) Στο SMTWTP μία μηχανή πρέπει να επεξεργασθεί ακολουθιακά και χωρίς διακοπή, n εργασίες. Η κάθε εργασία έχει ένα χρόνο επεξεργασίας, ένα βάρος και ένα προβλεπόμενο χρόνο υλοποίησης. Η καθυστέρηση μιας εργασίας ορίζεται ως η διαφορά μεταξύ του προβλεπόμενου χρόνου και του πραγματικού χρόνο υ υλοποίησης εάν καθυστερήσει αλλιώς θεωρείται ίση με 0. Ο στόχος του αλγόριθμου είναι να βρεθεί η ακολουθία εργασιών κατά την οποία το άθροισμα των επιβραδύνσεων, πολλαπλασιασμένων με το αντίστοιχο βάρος, ελαχιστοποιείται. Για το συγκεκριμένο πρόβλημα χρησιμοποιήθηκε με επιτυχία ο αλγόριθμος ACS σε συνδυασμό με μία ισχυρή τοπική αναζήτηση Το πρόβλημα γενικευμένης ανάθεσης (Generalized assignment problem GAP) Στο GAP ένα σύνολο εργασιών πρέπει να ανατεθεί σε ένα σύνολο πρακτόρων (agents). Κάθε πράκτορας έχει μια περιορισμένη χωρητικότητα και η κάθε εργασία αντλεί από τον κάθε πράκτορα ένα μέρος της χωρητικότητάς του αν ανατεθεί σε αυτόν. Επίσης η ανάθεση της εργασίας στον κάθε πράκτορα έχει ξεχωριστό κόστος. Στόχος του αλγορίθμου είναι να βρεθεί μια εφικτή ανάθεση με το ελάχιστο κόστος. Για το GAP χρησιμοποιήθηκε με επιτυχία ο MAX-MIN Ant System (MMAS) με κάποιες μετατροπές ώστε να μπορέσει να απορρίπτει μέσα από την απόθεση φερομόνης τις ανέφικτες λύσεις.

34 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Δρομολόγηση πακέτων σε δίκτυο Για να λυθεί το πρόβλημα από το ACO πρέπει το δίκτυο να αναπαρασταθεί με ένα γράφο και να δοθούν τα κόστη μεταφοράς πακέτου ανάμεσα σε 2 οποιουσδήποτε κόμβους του γράφου. Ο ρόλος του ACO είναι να βρει την διαδρομή με το ελάχιστο κόστος ανάμεσα σε 2 οποιουσδήποτε κόμβους. Αυτό το πρόβλημα δεν είναι δύσκολο και υπάρχουν αλγόριθμοι που το λύνουν σε πολυωνυμικό χρόνο. Παρ όλα αυτά, στην περίπτωση δικτύων τα κόστη γίνονται χρονικά στοχαστικές μεταβλητές δυσκολεύοντας πάρα πολύ το πρόβλημα. 2.8 Εργαλεία προσομοίωσης κοινωνιών μυρμηγκιών Έχουν αναπτυχθεί πολλά εργαλεία βασισμένα στην τεχνολογία των Agents τα οποία μπορούν να προσομοιώσουν εκτός από άλλα φαινόμενα και μια κοινωνία μυρμηγκιών. Μέσω του γραφικού περιβάλλοντος που προσφέρουν μπορεί να παρατηρηθεί η συμπεριφορά των agents αλλά και να γίνει πειραματισμός αλλάζοντας διάφορες μεταβλητές όπως τον ρυθμό απόθεσης και εξάτμισης φερομόνης, τον βαθμό επιρροής της φερομόνης στην επιλογή της διαδρομής, τον αριθμό των μυρμηγκιών και άλλα. Κάποια απ αυτά είναι :

35 Διπλωματική εργασία Σταύρος Χαμπηλομάτης NETLOGO Το Netlogo είναι ένα συχνά χρησιμοποιούμενο εργαλείο προσομοίωσης καθώς προσφέρει πληθώρα ανοιχτών παραδειγμάτων και μια απλή γλώσσα προγραμματισμού της συμπεριφοράς των Agents. Στην εικόνα φαίνεται ένα έτοιμο μοντέλο στο οποίο υπάρχει μια φωλιά (μωβ χρώμα) και 3 πηγές τροφής (μπλε χρώμα). Με πράσινο χρώμα συμβολίζεται το επίπεδο φερομόνης στο περιβάλλον. Υπάρχει δυνατότητα παρουσίασης των αποτελεσμάτων και της χρονικής τους διακύμανσης με γραφήματα καθώς και αλλαγή των σταθερών της φερομόνης και του αρχικού πληθυσμού. Επίσης, εύκολα μπορεί να γίνει αλλαγή του μοντέλου μεταβάλλοντας τον κώδικά του στην καρτέλα Code. Εικόνα 3:Μοντέλο κοινωνίας μυρμηγκιών στο NetLogo

36 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου SUGARSCAPE Το Sugarscape αποτελεί ένα εργαλείο μοντελοποίησης ανθρώπινης κοινωνίας βασισμένο σε Agents. Προσφέρει τη δυνατότητα αλλαγής πολλών μεταβλητών ώστε προσεγγιστεί καλύτερα η δομή μιας κοινωνίας. Δεν προσφέρει δυνατότητα δημιουργίας νέου μοντέλου αλλά μόνο τον πειραματισμό με το ήδη υπάρχον. Εικόνα 4: Το μοντέλο κοινωνίας του Sugarscape

37 Διπλωματική εργασία Σταύρος Χαμπηλομάτης MASON To MASON είναι ένα εργαλείο δημιουργίας και απεικόνισης μοντέλων, εξ ολοκλήρου γραμμένο σε JAVA. Προσφέρει δυνατότητα απεικόνισης τριών διαστάσεων και παρέχει πολλά έτοιμα μοντέλα για πειραματισμό. Στο μοντέλο της κοινωνίας μυρμηγκιών που προσφέρει έχουν τοποθετηθεί εμπόδια ανάμεσα στην φωλιά και την τροφή και γίνεται εμφανής η λειτουργία της φερομόνης όταν τυχαία κάποιο μυρμήγκι φτάσει στην τροφή. Εικόνα 5: Το εργαλείο MASON

38 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου GAMA Παρόμοια με το NETLOGO, το GAMA προσφέρει, εκτός από πολλά έτοιμα μοντέλα, μια δική του γλώσσα δημιουργίας νέων μοντέλων. Εικόνα 6:Το εργαλείο GAMA

39 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Web Crawlers και Headless browsing 3.1 Web Crawlers Ένας web crawler είναι ένα πρόγραμμα που περιηγείται στο διαδίκτυο με έναν μεθοδικό και αυτόματο τρόπο. Όταν πρωτοεμφανίστηκαν αυτού του είδους τα προγράμματα ονομάζονταν επίσης wanderers, robots, spiders, fishes και worms. Αρχικά, βασικό κίνητρο στη σχεδίαση των web crawlers ήταν η ανάκτηση ιστοσελίδων και η προσθήκη αυτών ή των απεικονίσεών τους σε ένα τοπικό repository. Ένα τέτοιο repository μπορεί στη συνέχεια να εξυπηρετήσει συγκεκριμένες ανάγκες εφαρμογών όπως αυτών των διαδικτυακών μηχανών αναζήτησης. Αν το διαδίκτυο ήταν μια στατική συλλογή σελίδων, θα είχε μικρή μακροχρόνια χρήση του crawling. Από τη στιγμή που όλες οι σελίδες θα είχαν «φορτωθεί» σε ένα repository (όπως η βάση δεδομένων μιας μηχανής αναζήτησης), δε θα υπήρχε πλέον ανάγκη για crawling. Ωστόσο, το διαδίκτυο είναι μια δυναμική οντότητα με υποχώρους που εξελίσσονται σε διαφορετικούς και συχνά ραγδαίους ρυθμούς. Επομένως, υπάρχει μια συνεχής ανάγκη για crawlers προκειμένου να βοηθούν τις εφαρμογές να παραμένουν ενημερωμένες όσο νέες σελίδες προστίθενται και παλιές διαγράφονται, μετακινούνται ή τροποποιούνται. O crawler είναι ένα είδος πράκτορα λογισμικού, η λειτουργία του οποίου μπορεί να περιγραφεί περιληπτικά ως εξής: Ο crawler έχει αρχικά μια λίστα URLs τα οποία επισκέπτεται. Από τα αρχικά URLs αποθηκεύει την πληροφορία που χρειάζεται. Εντοπίζει στα URLs τους εξωτερικούς συνδέσμους και τους αποθηκεύει σε μια λίστα που ονομάζεται frontier list. Επιλέγει από την frontier list τα URLs τα οποία θα επισκεφτεί στην συνέχεια. Συνεχίζει την ίδια λειτουργία μέχρι κάποιος τερματικός στόχος να επιτευχθεί.

40 Βελτιστοποίηση απόδοσης μηχανισμού διάσχισης του διαδικτύου Εικόνα 7: Σχηματική αναπαράσταση της λειτουργίας ενός crawler Από την παραπάνω περιγραφή τίθενται κάποια σημαντικά θέματα που σχετίζονται με συνδέσεις δικτύου, σελίδες που έχουν ως στόχο την παγίδευση των crawlers (spider traps), κανονικοποίηση URLs, parsing σελίδων HTML, με τον τρόπο επιλογής των URLs από την frontier list και η ηθική της ενασχόλησης με απομακρυσμένους web servers (polite crawling) Φόρτωση και parsing σελίδων Για να φορτώσει μια σελίδα ο crawler πρέπει να στείλει ένα αίτημα στον web server και να διαβάσει την απόκριση που λαμβάνεται από αυτόν. Ο crawler απαιτείται να έχει κατάλληλους μηχανισμούς ώστε να αντιμετωπίσει τα προβλήματα που θα παρουσιαστούν, όπως αργή απόκριση του server, υπερφόρτωση του δικτύου λόγω υπερβολικών αιτημάτων, κενές σελίδες ή άλλα σφάλματα του server και υπερβολικά μεγάλες σελίδες που καθυστερούν την λειτουργία του crawler. Οι λύσεις σ αυτά τα προβλήματα είναι οι εξής:

41 Διπλωματική εργασία Σταύρος Χαμπηλομάτης Διαλλείματα ανάμεσα στα αιτήματα ώστε να δίνεται ο απαραίτητος χρόνος στον server για να αποκριθεί. Αλλαγή domain μετά από έναν αριθμό αιτημάτων ή εναλλαγή ανάμεσα σε διάφορα domains. Χρήση μηχανισμού ελέγχου λαθών και αντιμετώπισης εξαιρέσεων ή και καταγραφή των λαθών και στατιστική ανάλυση των καθυστερήσεων. Περιορισμός του client ώστε να δέχεται περιορισμένο όγκο δεδομένων (τα πρώτα 10 έως20 Kbyte) από τη σελίδα τα οποία περιέχουν τις επικεφαλίδες (headers). Η ανάλυση μόνο των επικεφαλίδων σε πολλές περιπτώσεις είναι επαρκής. Παραλληλισμός του crawler (πολυνηματική αρχιτεκτονική) Μόλις φορτωθεί η σελίδα, ακολουθεί το parsing, δηλαδή η επεξεργασία του html κώδικα ώστε να εξαχθεί η χρήσιμη πληροφορία από αυτόν. Το parsing στην απλή του περίπτωση μπορεί να περιοριστεί μόνο στην εξαγωγή υπερσυνδέσμων (hyperlinks), οι οποίοι θα τροφοδοτήσουν τον crawler. Σ πιο σύνθετες περιπτώσεις μπορεί να αποτελέσει μια πολύπλοκη διαδικασία κατά την οποία το περιεχόμενο της σελίδας αναλύεται σε μια δενδρική δομή ετικετών(tag tree) Frontier list Η frontier list περιλαμβάνει τα URLs που δεν έχει επισκεφθεί ακόμα ο crawler ή σε λογική γράφων μια λίστα με τους κόμβους που δεν έχουν επεκταθεί. Η frontier list μπορεί να υλοποιηθεί ως μια απλή FIFO(first in first out) λίστα, δηλαδή το επόμενο URL που θα τροφοδοτήσει τον crawler είναι το παλαιότερο που έχει προστεθεί στη λίστα. O crawler πρέπει να ελέγχει για διπλές εγγραφές στη λίστα κάτι που είναι ιδιαίτερα συχνό φαινόμενο καθώς τα site είναι αλληλοσυνδεόμενα. Μία γραμμική αναζήτηση για να διαπιστώσουμε αν ένα νέο URL που έχει εξαχθεί υπάρχει ήδη στη λίστα κοστίζει υπολογιστικά. Μία λύση είναι η δέσμευση μερικής διαθέσιμης μνήμης για τη διατήρηση ενός ξεχωριστού πίνακα κατακερματισμού (με το URL σαν κλειδί) για να αποθηκεύουμε κάθε URL της λίστας για γρήγορη αναζήτηση. Ο πίνακας κατακερματισμού πρέπει να διατηρείται συγχρονισμένος με την πραγματική λίστα. Μία πιο χρονοβόρα εναλλακτική είναι η διατήρηση της ίδιας της λίστας ως πίνακα κατακερματισμού (πάλι με το URL σαν κλειδί). Ο κατακερματισμός μπορεί να γίνει χρησιμοποιώντας μια μονόδρομη συνάρτηση κωδικοποίησης που έχει ως είσοδο ένα οποιοδήποτε αλφαριθμητικό και δίνει ως έξοδο ένα αλφαριθμητικό σταθερού μεγέθους.

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS Χρήστος Δ. Ταραντίλης Αν. Καθηγητής ΟΠΑ ACO ΑΛΓΟΡΙΘΜΟΙ Η ΛΟΓΙΚΗ ΑΝΑΖΗΤΗΣΗΣ ΛΥΣΕΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΙΑΤΑΞΗΣ (1/3) Ε..Ε. ΙΙ Oι ACO

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 4η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται κυρίως στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β.

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

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

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Έλενα Ρόκου Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Αλγόριθμοι Τυφλής Αναζήτησης

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search Συστήματα Επιχειρηματικής Ευφυίας Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search Τέταρτη Διάλεξη Περιεχόμενα 1. Το πρόβλημα της πρόωρης σύγκλισης (premature convergence)

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Ευριστικής Αναζήτησης Πολλές φορές η τυφλή αναζήτηση δεν επαρκεί

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Ικανοποίηση Περιορισμών Κατηγορία προβλημάτων στα οποία είναι γνωστές μερικές

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

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2010-2011 ΑΣΚΗΣΗ Συγκομιδή και δεικτοδότηση ιστοσελίδων Σκοπός της άσκησης είναι η υλοποίηση ενός ολοκληρωμένου συστήματος συγκομιδής και δεικτοδότησης ιστοσελίδων.

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1 Αναζήτηση σε Γράφους Μανόλης Κουμπαράκης ΥΣ02 Τεχνητή Νοημοσύνη 1 Πρόλογος Μέχρι τώρα έχουμε δει αλγόριθμους αναζήτησης για την περίπτωση που ο χώρος καταστάσεων είναι δένδρο (υπάρχει μία μόνο διαδρομή

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

Ανάλυση Χρόνου, Πόρων & Κόστους

Ανάλυση Χρόνου, Πόρων & Κόστους ΠΜΣ: «Παραγωγή και ιαχείριση Ενέργειας» ιαχείριση Ενέργειας και ιοίκηση Έργων Ανάλυση Χρόνου, Πόρων & Κόστους Επ. Καθηγητής Χάρης ούκας, Καθηγητής Ιωάννης Ψαρράς Εργαστήριο Συστημάτων Αποφάσεων & ιοίκησης

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

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ Ευρετικές Μέθοδοι Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο Υπ. Διδάκτωρ : Ευαγγελία Χρυσοχόου Επιβλέπων Καθηγητής: Αθανάσιος Ζηλιασκόπουλος Τμήμα Μηχανολόγων Μηχανικών Περιεχόμενα Εισαγωγή

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

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

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

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

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

Υπολογιστικές Μέθοδοι στις Κατασκευές

Υπολογιστικές Μέθοδοι στις Κατασκευές Γενικά Για Τη Βελτιστοποίηση Η βελτιστοποίηση µπορεί να χωριστεί σε δύο µεγάλες κατηγορίες: α) την Βελτιστοποίηση Τοπολογίας (Topological Optimization) και β) την Βελτιστοποίηση Σχεδίασης (Design Optimization).

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

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

Μοντελοποίηση προβληµάτων

Μοντελοποίηση προβληµάτων Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Θεωρία γράφων

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων

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

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

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

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

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

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ»

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» Κωνσταντίνος Π. Φερεντίνος Διδάσκων ΠΔ 407/80 Οι σημειώσεις αυτές αναπτύχθηκαν στα πλαίσια του προγράμματος «ΕΠΕΑΕΚ 2 Πρόγραμμα Αναβάθμισης

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

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

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Περίληψη Τί προτείνουμε, πώς και γιατί με λίγα λόγια: 55 μαθήματα = 30 για ενιαίο

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

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

Construction heuristics

Construction heuristics Μια υπολογιστική μελέτη ευρετικών μεθόδων αρχικοποίησης διαδρομών για το πρόβλημα του πλανόδιου πωλητή Λαζαρίδης Αλέξανδρος Πανεπιστήμιο Μακεδονίας, ΠΜΣ Εφαρμοσμένης Πληροφορικής Συστήματα Υπολογιστών

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες Πτυχιακή εργασία Φοιτήτρια: Ριζούλη Βικτώρια

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

Μέθοδοι Βελτιστοποίησης

Μέθοδοι Βελτιστοποίησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Μέθοδοι Βελτιστοποίησης Ενότητα # : Επιχειρησιακή έρευνα Αθανάσιος Σπυριδάκος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Ε ανάληψη. Α ληροφόρητη αναζήτηση ΠΛΗ 405 Τεχνητή Νοηµοσύνη Το ική Αναζήτηση Local Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος,

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου

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

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

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

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

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing): Δρομολόγηση Ι Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Τυφλής Αναζήτησης Οι αλγόριθμοι τυφλής αναζήτησης εφαρμόζονται σε

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

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 6 Ικανοποίηση Περιορισµών Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Ικανοποίηση Περιορισµών Ένα πρόβληµα ικανοποίησης περιορισµών (constraint

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

Οπτικά Δίκτυα. Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση

Οπτικά Δίκτυα. Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση Οπτικά Δίκτυα Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση Εισαγωγή Στα αμιγώς οπτικά δίκτυα παρέχονται συνδέσεις στους πελάτες με τη μορφή των lightpahts. Η μεταγωγή των lightpaths

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΟΜΕΑΣ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΟΜΕΑΣ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΔΙΔΑΚΤΙΚΗΣ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ ΜΕΛΕΤΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΩΝ ΕΜΠΝΕΥΣΜΕΝΩΝ ΑΠΟ ΤΗ ΒΙΟΛΟΓΙΑ (bio-inspired) ΓΙΑ ΤΗ

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

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

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΣΕΠΤΕΜΒΡΙΟΣ 2011 ΤΟΜΕΑΣ ΣΤΑΤΙΣΤΙΚΗΣ, ΠΙΘΑΝΟΤΗΤΩΝ & ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α ΘΕΜΑ 1 ο Σε ένα διαγωνισμό για την κατασκευή μίας καινούργιας γραμμής του

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

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990, ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μια σημείωση από τον Α. Δελή για το άρθρο: W. Pugh, Skip Lists: A Probabilistic Alternative to Balanced Trees, Comms of the ACM, 33(), June 10,

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

ΔΙΑΔΙΚΤΥΑΚΟ ΣΥΣΤΗΜΑ ΒΕΛΤΙΣΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΝΕΡΓΕΙΑΚΩΝ ΠΟΡΩΝ E.M.I.R. - Energy Management & Intelligent Reporting

ΔΙΑΔΙΚΤΥΑΚΟ ΣΥΣΤΗΜΑ ΒΕΛΤΙΣΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΝΕΡΓΕΙΑΚΩΝ ΠΟΡΩΝ E.M.I.R. - Energy Management & Intelligent Reporting ΔΙΑΔΙΚΤΥΑΚΟ ΣΥΣΤΗΜΑ ΒΕΛΤΙΣΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΝΕΡΓΕΙΑΚΩΝ ΠΟΡΩΝ E.M.I.R. - Energy Management & Intelligent Reporting Διαδικτυακό OLAP Σύστημα Λήψης Αποφάσεων και δημιουργίας έξυπνων προσαρμοστικών γραφημάτων

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Τεχνικές NLP Σχεδιαστικά Θέματα Natural Language Processing Επεξεργασία δεδομένων σε φυσική γλώσσα Κατανόηση φυσικής γλώσσας από τη μηχανή

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

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

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επανάληψης Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επανάληψης Επανάληψη με αρίθμηση DO = ,

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

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

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

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

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

3.7 Παραδείγματα Μεθόδου Simplex

3.7 Παραδείγματα Μεθόδου Simplex 3.7 Παραδείγματα Μεθόδου Simplex Παράδειγμα 1ο (Παράδειγμα 1ο - Κεφάλαιο 2ο - σελ. 10): Το πρόβλημα εκφράζεται από το μαθηματικό μοντέλο: max z = 600x T + 250x K + 750x Γ + 450x B 5x T + x K + 9x Γ + 12x

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

ΜΕΘΟΔΟΙ ΑΡΧΙΚΟΠΟΙΗΣΗΣ ΓΙΑ ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ ΜΕ ΧΡΟΝΙΚΑ ΠΑΡΑΘΥΡΑ ΜΕ ΤΗ ΧΡΗΣΗ ΤΗΣ VNS.

ΜΕΘΟΔΟΙ ΑΡΧΙΚΟΠΟΙΗΣΗΣ ΓΙΑ ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ ΜΕ ΧΡΟΝΙΚΑ ΠΑΡΑΘΥΡΑ ΜΕ ΤΗ ΧΡΗΣΗ ΤΗΣ VNS. ΜΕΘΟΔΟΙ ΑΡΧΙΚΟΠΟΙΗΣΗΣ ΓΙΑ ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ ΜΕ ΧΡΟΝΙΚΑ ΠΑΡΑΘΥΡΑ ΜΕ ΤΗ ΧΡΗΣΗ ΤΗΣ VNS. ΠΜΣ Εφαρμοσμένης Πληροφορικής, Συστήματα Υπολογιστών. ΧΡΗΣΤΟΣ ΠΑΠΑΛΙΤΣΑΣ 30/10/2014 Διάρθρωση παρουσίασης

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

Προσομοίωση Συστημάτων

Προσομοίωση Συστημάτων Προσομοίωση Συστημάτων Προσομοίωση και μοντέλα συστημάτων Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Γενικός ορισμός συστήματος Ένα σύνολο στοιχείων/οντοτήτων που αλληλεπιδρούν μεταξύ

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

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

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

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση ΔΙΚΤΥΑ Η/Υ ΙΙ Διαδικτύωση Γενικά Διαδικτύωση είναι η διασύνδεση υπολογιστικών συστημάτων μέσω τηλεπικοινωνιακών δικτύων με σκοπό το διαμοιρασμό των πόρων και των υπηρεσιών τους. Τοπικά δίκτυα (LANs) Ευρείας

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

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

ιαµέριση - Partitioning

ιαµέριση - Partitioning ιαµέριση - Partitioning ιαµέριση ιαµέριση είναι η διαµοίραση αντικειµένων σε οµάδες µε στόχο την βελτιστοποίηση κάποιας συνάρτησης. Στην σύνθεση η διαµέριση χρησιµοποιείται ως εξής: Οµαδοποίηση µεταβλητών

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

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

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

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

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