Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα Βασικά στοιχεία ανάλυσης αλγορίθμων Γραφήματα...

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

Download "Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25. 2. Βασικά στοιχεία ανάλυσης αλγορίθμων... 57. 3. Γραφήματα..."

Transcript

1

2

3 Περιεχόμενα Σχετικά με τους συγγραφείς...3 Πρόλογος Πρόλογος της ελληνικής έκδοσης Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα Ένα πρώτο πρόβλημα: Ευσταθές Ταίριασμα Πέντε αντιπροσωπευτικά προβλήματα...37 Λυμένες ασκήσεις...45 Ασκήσεις...49 Σημειώσεις και πρόσθετα αναγνώσματα Βασικά στοιχεία ανάλυσης αλγορίθμων Υπολογιστική επιλυσιμότητα Ασυμπτωτικός ρυθμός αύξησης Υλοποίηση του αλγορίθμου Ευσταθούς Ταιριάσματος με λίστες και πίνακες Μια επισκόπηση συνηθισμένων χρόνων εκτέλεσης Μια πιο πολύπλοκη δομή: ουρές προτεραιότητας...87 Λυμένες ασκήσεις...95 Ασκήσεις...97 Σημειώσεις και πρόσθετα αναγνώσματα Γραφήματα Βασικοί ορισμοί και εφαρμογές Συνεκτικότητα γραφήματος και διάτρεξη γραφήματος Υλοποίηση διάτρεξης γραφήματος με τη χρήση ουρών και στοιβών Έλεγχος διμερότητας: Μια εφαρμογή της αναζήτησης πρώτα κατά πλάτος Συνεκτικότητα σε κατευθυνόμενα γραφήματα...129

4 6 Περιεχόμενα 3.6 Κατευθυνόμενα ακυκλικά γραφήματα και τοπολογική διάταξη Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Άπληστοι αλγόριθμοι Χρονοπρογραμματισμός διαστημάτων: Ο άπληστος αλγόριθμος υπερτερεί Χρονοπρογραμματισμός για ελαχιστοποίηση καθυστέρησης: ένα επιχείρημα ανταλλαγής Βέλτιστη κρυφή μνήμη: ένα πιο περίπλοκο επιχείρημα ανταλλαγής Συντομότερες διαδρομές σε ένα γράφημα Το πρόβλημα του Ελάχιστου Γεννητικού Δένδρου Υλοποίηση του αλγορίθμου του Kruskal: η δομή δεδομένων Union-Find Δημιουργία συστάδων Κώδικες Huffman και συμπίεση δεδομένων *4.9 Δενδροειδή ελάχιστου κόστους: Ένας άπληστος πολυφασικός αλγόριθμος Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Διαίρει και βασίλευε Μια πρώτη αναδρομή: Ο αλγόριθμος Mergesort Περαιτέρω αναδρομικές σχέσεις Μέτρηση αντιστροφών Εύρεση του πλησιέστερου ζεύγους σημείων Πολλαπλασιασμός ακεραίων Συνελίξεις και ο ταχύς μετασχηματισμός Fourier Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Δυναμικός προγραμματισμός Σταθμισμένος Χρονοπρογραμματισμος Διαστημάτων: Μια αναδρομική διαδικασία Αρχές δυναμικού προγραμματισμού Τμηματοποιημένα ελάχιστα τετράγωνα: Πολλαπλές επιλογές Αθροίσματα υποσυνόλων και σακίδια: Προσθήκη μιας μεταβλητής Δευτερεύουσα δομή RNA: Δυναμικός προγραμματισμός σε διαστήματα Ευθυγράμμιση ακολουθίας...319

5 Περιεχόμενα Ευθυγράμμιση ακολουθίας σε γραμμικό χώρο μέσω "διαίρει και βασίλευε" Συντομότερες διαδρομές σε ένα γράφημα Συντομότερες διαδρομές και πρωτόκολλα διανύσματος απόστασης *6.10 Αρνητικοί κύκλοι σε ένα γράφημα Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Ροή δικτύου Το πρόβλημα της Μέγιστης Ροής και ο αλγόριθμος Ford-Fulkerson Μέγιστες ροές και ελάχιστες αποκοπές σε ένα δίκτυο Επιλογή καλών διαδρομών επαύξησης *7.4 Ο αλγόριθμος Μέγιστης Ροής με Προροή-Προώθηση Μια πρώτη εφαρμογή: Το πρόβλημα του Διμερούς Ταιριάσματος Ασύνδετες διαδρομές σε κατευθυνόμενα και μη κατευθυνόμενα γραφήματα Επεκτάσεις στο πρόβλημα Μέγιστης Ροής Σχεδιασμός διεξαγωγής έρευνας Χρονοπρογραμματισμός αεροπορικών δρομολογίων Τμηματοποίηση εικόνας Επιλογή έργων Αποκλεισμός στο μπέιζμπολ *7.13 Μια πρόσθετη κατεύθυνση: Προσθήκη κόστους στο πρόβλημα Ταιριάσματος Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα ΝΡ και υπολογιστική δυσεπιλυσιμότητα Αναγωγές πολυωνυμικού χρόνου Αναγωγές μέσω "μικροεργαλείων": Το πρόβλημα της Ικανοποιησιμότητας Αποδοτική πιστοποίηση και ο ορισμός του ΝΡ NP-πλήρη προβλήματα Προβλήματα καθορισμού ακολουθίας Προβλήματα διαμέρισης Χρωματισμός γραφήματος Αριθμητικά προβλήματα Co-ΝΡ και η ασυμμετρία του ΝΡ Μερική κατηγοριοποίηση δύσκολων προβλημάτων...556

6 8 Περιεχόμενα Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα PSPACE: Μια κλάση προβλημάτων πέρα από το ΝΡ PSPACE Μερικά δύσκολα προβλήματα του PSPACE Επίλυση ποσοτικοποιημένων προβλημάτων και παιχνιδιών σε πολυωνυμικό χώρο Επίλυση του προβλήματος Σχεδιασμού σε πολυωνυμικό χώρο Απόδειξη προβλημάτων ότι είναι PSPACE-πλήρη Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Επέκταση των ορίων της επιλυσιμότητας Εύρεση μικρών Καλύψεων Κορυφών Επίλυση ΝΡ-δύσκολων προβλημάτων σε δένδρα Χρωματισμός ενός συνόλου κυκλικών τόξων *10.4 Δενδρική Διάσπαση Γραφημάτων *10.5 Κατασκευή μιας δενδρικής διάσπασης Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Προσεγγιστικοί αλγόριθμοι Άπληστοι αλγόριθμοι και όρια του βέλτιστου: Το πρόβλημα Εξισορρόπησης Φορτίου Το πρόβλημα της Επιλογής Κέντρων Κάλυψη Συνόλου: Μια γενική άπληστη ευρετική μέθοδος Η μέθοδος τιμολόγησης: Κάλυψη κορυφών Μεγιστοποίηση μέσω της μεθόδου τιμολόγησης Γραμμικός προγραμματισμός και στρογγυλοποίηση: Μια εφαρμογή της Κάλυψης Κορυφών *11.7 Και πάλι η Εξισορρόπηση Φορτίου: Μια πιο προηγμένη εφαρμογή ΓΠ Αυθαίρετα καλές προσεγγίσεις: Το πρόβλημα του Σακιδίου Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα...727

7 Περιεχόμενα Τοπική αναζήτηση Το τοπίο ενός προβλήματος βελτιστοποίησης Ο αλγόριθμος Metropolis και η Προσομοιωμένη Ανόπτηση Μια εφαρμογή της τοπικής αναζήτησης στα νευρωνικά δίκτυα Hopfield Προσέγγιση Μέγιστης Αποκοπής μέσω τοπικής αναζήτησης Επιλογή της σχέσης γειτνίασης *12.6 Κατηγοριοποίηση μέσω τοπικής αναζήτησης Δυναμική της καλύτερης αντίδρασης και ισορροπίες Nash Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Τυχαιοποιημένοι αλγόριθμοι Μια πρώτη εφαρμογή: Επίλυση ανταγωνισμού Εύρεση της καθολικής ελάχιστης αποκοπής Οι τυχαίες μεταβλητές και οι μέσες τιμές τους Ένας τυχαιοποιημένος προσεγγιστικός αλγόριθμος για το MAX 3-SAT Τυχαιοποιημένη μέθοδος Διαίρει και Βασίλευε: Διάμεσο στοιχείο & Quicksort Κατακερματισμός: Μια τυχαιοποιημένη υλοποίηση λεξικών Εύρεση του πλησιέστερου ζεύγους σημείων: Μια τυχαιοποιημένη προσέγγιση Τυχαιοποιημένη κρυφή μνήμη Όρια Chernoff Εξισορρόπηση φορτίου Δρομολόγηση πακέτων Υπόβαθρο: Μερικοί βασικοί ορισμοί πιθανοτήτων Λυμένες ασκήσεις Ασκήσεις Σημειώσεις και πρόσθετα αναγνώσματα Επίλογος: Αλγόριθμοι που εκτελούνται για πάντα Βιβλιογραφία Λεξικό όρων Ευρετήριο...905

8

9 4.4 Συντομότερες διαδρομές σε ένα γράφημα 171 με τον αλγόριθμο του Απώτατου Μελλοντικού Στοιχείου. Θα εξετάσουμε αυτή την ανάλυση, καθώς και την ανάλυση μιας τυχαιοποιημένης παραλλαγής της αρχής LRU, όταν θα επιστρέψουμε στο πρόβλημα της χρήσης κρυφής μνήμης στο Κεφάλαιο Συντομότερες διαδρομές σε ένα γράφημα Κάποιοι από τους βασικούς αλγορίθμους για γραφήματα βασίζονται σε αρχές άπληστου σχεδιασμού. Στην ενότητα αυτή θα εφαρμόσουμε έναν άπληστο αλγόριθμο στο πρόβλημα της εύρεσης των συντομότερων διαδρομών, ενώ στην επόμενη ενότητα θα εξετάσουμε την κατασκευή γεννητικών δένδρων ελάχιστου κόστους. Το πρόβλημα Όπως έχουμε δει, τα γραφήματα χρησιμοποιούνται συχνά για τη μοντελοποίηση δικτύων στα οποία ταξιδεύει κανείς από το ένα σημείο στο άλλο διασχίζοντας μια ακολουθία λεωφόρων μέσω κόμβων, ή διασχίζοντας μια ακολουθία συνδέσμων επικοινωνίας μέσω ενδιάμεσων δρομολογητών. Κατά συνέπεια, ένα βασικό αλγοριθμικό πρόβλημα είναι ο προσδιορισμός της συντομότερης διαδρομής μεταξύ των κόμβων ε- νός γραφήματος. Μπορεί να το θέσουμε αυτό ως ερώτηση σημείου προς σημείο: Δεδομένων των κόμβων u και v, ποια είναι η συντομότερη διαδρομή u-v; Ή μπορεί να ζητήσουμε περισσότερες πληροφορίες: Δεδομένου ενός κόμβου εκκίνησης s, ποια είναι η συντομότερη διαδρομή από τον s προς κάθε άλλο κόμβο; Η συγκεκριμένη διευθέτηση του προβλήματος συντομότερης διαδρομής είναι η εξής. Μας δίνεται ένα κατευθυνόμενο γράφημα G = (V, E), με έναν καθορισμένο κόμβο εκκίνησης s. Υποθέτουμε ότι ο s διαθέτει διαδρομή προς όλους τους κόμβους του γραφήματος G. Κάθε ακμή e έχει μήκος l e 0, το οποίο δηλώνει το χρόνο (ή την απόσταση, ή το κόστος) που απαιτείται για τη διάσχιση της ακμής e. Για μια διαδρομή P, το μήκος της P που συμβολίζεται με l(p) είναι το άθροισμα των μηκών όλων των ακμών της P. Ο σκοπός μας είναι να προσδιορίσουμε τη συντομότερη διαδρομή από τον s προς οποιονδήποτε άλλον κόμβο του γραφήματος. Θα πρέπει να αναφέρουμε ότι, αν και το πρόβλημα καθορίζεται για ένα κατευθυνόμενο γράφημα, μπορούμε να χειριστούμε την περίπτωση του μη κατευθυνόμενου γραφήματος αντικαθιστώντας απλώς κάθε μη κατευθυνόμενη ακμή e = (u, v) μήκους l e με δύο κατευθυνόμενες ακμές (u, v) και (v, u), κάθε μία μήκους l e. Σχεδιασμός του αλγορίθμου Το 1959 ο Edsger Dijkstra πρότεινε έναν πολύ απλό άπληστο αλγόριθμο για την επίλυση του προβλήματος των συντομότερων διαδρομών μίας αφετηρίας (single-source shortest-paths). Θα ξεκινήσουμε με την περιγραφή ενός αλγορίθμου ο οποίος απλώς προσδιορίζει το μήκος της συντομότερης διαδρομής από τον s προς οποιονδήποτε

10 172 Κεφάλαιο 4 Άπληστοι αλγόριθμοι άλλον κόμβο του γραφήματος. κατόπιν είναι εύκολο να παραγάγουμε και τις ίδιες τις διαδρομές. Ο αλγόριθμος διατηρεί ένα σύνολο S από κορυφές u για τις οποίες έχουμε προσδιορίσει την απόσταση της συντομότερης διαδρομής d(u) από τον κόμβο s. αυτό είναι το "εξερευνημένο" τμήμα του γραφήματος. Αρχικά S = {s} και d(s) = 0. Τώρα, για κάθε κόμβο v V S, προσδιορίζουμε τη συντομότερη διαδρομή που μπορεί να κατασκευαστεί αν διατρέξουμε μια διαδρομή μέσω του εξερευνημένου τμήματος S προς κάποιον κόμβο u S, και στη συνέχεια ακολουθήσουμε την ακμή (u, v). Με άλλα λόγια, εξετάζουμε την ποσότητα d'(v) = min e=(u, v):u S d(u) + l e. Επιλέγουμε τον κόμβο v V S για τον οποίο αυτή η ποσότητα είναι η ελάχιστη, προσθέτουμε τον v στο S, και ορίζουμε ότι το d(v) είναι η τιμή d'(v). Αλγόριθμος του Dijkstra (G, l) Έστω S το σύνολο των εξερευνημένων κόμβων For each u S, αποθηκεύουμε μια απόσταση d(u) Αρχικά S = {s} και d(s) = 0. While S V Διάλεξε έναν κόμβο v S με τουλάχιστον μία ακμή από το S για τον οποίο το d'(v) = min d(u) + l e=(u,v):u S είναι όσο το δυνατόν μικρότερο e Πρόσθεσε το v στο S και όρισε d(v) = d'(v) EndWhile Είναι εύκολο να παραγάγουμε τις διαδρομές s-u που αντιστοιχούν στις αποστάσεις τις οποίες βρίσκει ο αλγόριθμος του Dijkstra. Καθώς κάθε κόμβος v προστίθεται στο σύνολο S, καταγράφουμε απλώς την ακμή (u, v) με την οποία επιτυγχάνεται η τιμή min e=(u, v):u S d(u) + l e. Η διαδρομή P v αναπαριστάνεται έμμεσα από τις ακμές αυτές: αν (u, v) είναι η ακμή που έχουμε αποθηκεύσει για τον κόμβο v, τότε η P v είναι απλώς (αναδρομικά) η διαδρομή P u ακολουθούμενη από την ακμή (u, v). Με άλλα λόγια, για να κατασκευάσουμε την P v, ξεκινάμε απλώς από τον κόμβο v. ακολουθούμε την ακμή που έχουμε αποθηκεύσει για τον v κατά την αντίστροφη κατεύθυνση, ώστε να φτάσουμε στον κόμβο u. μετά ακολουθούμε προς την αντίστροφη κατεύθυνση την ακμή που έχουμε αποθηκεύσει για τον κόμβο u ώστε να φτάσουμε στον πρόκατοχό του, κ.ο.κ. μέχρι να φθάσουμε στον s. Σημειώστε ότι θα πρέπει να φτάσουμε τελικά στον κόμβο s, επειδή η αντίστροφη πορεία μας από τον κόμβο v επισκέπτεται συνεχώς κόμβους που έχουμε προσθέσει σε προηγούμενα βήματα στο S. Για να αποκτήσουμε μια καλύτερη αίσθηση για το τι κάνει ο αλγόριθμος, εξετάστε το στιγμιότυπο εκτέλεσής του που φαίνεται στην Εικόνα 4.7. Στο σημείο που φαίνεται στην εικόνα έχουν εκτελεστεί δύο επαναλήψεις: η πρώτη πρόσθεσε τον κόμβο u και η δεύτερη πρόσθεσε τον κόμβο v. Στην επανάληψη που πρόκειται να εκτελεστεί θα προστεθεί ο κόμβος x, επειδή επιτυγχάνει την μικρότερη απόσταση d'(x). χάρη στην ακμή (u, x) έχουμε d'(x) = d(u) + l ux = 2. Παρατηρήστε ότι η προσπάθεια να προστεθεί ο κόμβος y ή ο κόμβος z στο σύνολο S σε αυτό το σημείο θα οδηγήσει σε λανθασμένη τιμή για τις αποστάσεις των συντομότερων διαδρομών τους. τελικά, οι κόμβοι αυτοί θα προστεθούν λόγω των ακμών τους από τον κόμβο x.

11 4.4 Συντομότερες διαδρομές σε ένα γράφημα y 1 u 1 1 s 4 x 2 2 Σύνολο S: κόμβοι που έχουν ήδη v εξερευνηθεί 3 2 Εικόνα 4.7 Ένα στιγμιότυπο της εκτέλεσης του αλγορίθμου του Dijkstra. Ο επόμενος κόμβος που θα προστεθεί στο σύνολο S είναι ο x, λόγω της διαδρομής μέσω του u. Ανάλυση του αλγορίθμου Σε αυτό το παράδειγμα βλέπουμε ότι ο αλγόριθμος του Dijkstra κάνει το σωστό και αποφεύγει τις συνεχείς παγίδες: η επαύξηση του συνόλου S με λανθασμένο κόμβο μπορεί να οδηγήσει σε υπερεκτίμηση της απόστασης συντομότερης διαδρομής προς αυτόν τον κόμβο. Το ερώτημα είναι το ακόλουθο: Είναι πάντοτε αληθές ότι, όταν ο αλγόριθμος του Dijkstra προσθέτει έναν κόμβο v, παίρνουμε πραγματικά την απόσταση της συντομότερης διαδρομής προς τον v; Θα απαντήσουμε τώρα σε αυτό το ερώτημα αποδεικνύοντας την ορθότητα του αλγορίθμου, και δείχνοντας ότι οι διαδρομές P u είναι πράγματι οι συντομότερες διαδρομές. Ο αλγόριθμος του Dijkstra είναι άπληστος, με την έννοια ότι πάντοτε σχηματίζουμε τη νέα συντομότερη διαδρομή s-v που μπορούμε να δημιουργήσουμε από μια διαδρομή του S που ακολουθείται από μία μόνο ακμή. Θα αποδείξουμε την ορθότητα του αλγορίθμου αυτού χρησιμοποιώντας μια παραλλαγή του πρώτου μας στυλ ανάλυσης: θα δείξουμε ότι ο αλγόριθμος "υπερτερεί" από όλες τις άλλες λύσεις αποδεικνύοντας επαγωγικά ότι κάθε φορά που επιλέγει μία διαδρομή προς έναν κόμβο v, αυτή η διαδρομή είναι η συντομότερη από κάθε άλλη δυνατή διαδρομή προς τον κόμβο v. (4.14) Θεωρήστε το σύνολο S σε κάθε σημείο της εκτέλεσης του αλγορίθμου. Για κάθε u S, η διαδρομή P u είναι η συντομότερη διαδρομή s-u. Σημειώστε ότι αυτό το γεγονός αποδεικνύει αμέσως την ορθότητα του αλγορίθμου του Dijkstra, καθώς μπορούμε απλώς να το εφαρμόσουμε στο σημείο τερματισμού του αλγορίθμου, όπου το S περιλαμβάνει όλους τους κόμβους. Απόδειξη. Θα αποδείξουμε αυτήν την πρόταση με επαγωγή ως προς το μέγεθος του S. Η περίπτωση S = 1 είναι εύκολη, αφού τότε έχουμε S = {s} και d(s) = 0. Υποθέστε z

12 174 Κεφάλαιο 4 Άπληστοι αλγόριθμοι ότι ο ισχυρισμός ισχύει όταν S = k για κάποια τιμή k 1. αυξάνουμε τώρα το μέγεθος του S σε k + 1 με την προσθήκη του κόμβου v. Έστω ότι (u, v) είναι η τελική ακμή της διαδρομής s-v P v. Λόγω της υπόθεσης της επαγωγής, η P u είναι η συντομότερη διαδρομή s-u για οποιοδήποτε u S. Θεωρήστε τώρα κάθε άλλη διαδρομή s-v P. θέλουμε να δείξουμε ότι έχει τουλάχιστον το ίδιο μήκος με την P v. Για να φθάσει στον κόμβο v, αυτή η διαδρομή P πρέπει κάπου να αφήσει το σύνολο S. έστω ότι y είναι ο πρώτος κόμβος της P που δεν ανήκει στο S, και έστω x S ο κόμβος ακριβώς πριν από τον y. Η κατάσταση αυτή φαίνεται στην Εικόνα 4.8, και η ουσία της απόδειξης είναι πολύ απλή: η P δεν μπορεί να είναι συντομότερη από την P v επειδή έχει ήδη τουλάχιστον το ίδιο μήκος με την P v τη στιγμή που άφησε το σύνολο S. Πράγματι, στην επανάληψη k+1 ο αλγόριθμος του Dijkstra πρέπει να έχει εξετάσει την προσθήκη του κόμβου y στο σύνολο S μέσω της ακμής (x, y) και απέρριψε αυτή την επιλογή έναντι της προσθήκης του v. Αυτό σημαίνει ότι δεν υπάρχει διαδρομή από τον s στον y μέσω του x που να είναι συντομότερη από την P v. Όμως η μερική διαδρομή της P μέχρι τον κόμβο y είναι μια τέτοια διαδρομή, οπότε αυτή η μερική διαδρομή έχει τουλάχιστον το ίδιο μήκος με την P v. Επειδή τα μήκη των ακμών δεν είναι αρνητικά, η πλήρης διαδρομή P έχει τουλάχιστον το ίδιο μήκος με την P v. Εικόνα 4.8 Η συντομότερη διαδρομή P v και μία εναλλακτική s-v διαδρομή P μέσω του κόμβου y. Αυτό μας δίνει την πλήρη απόδειξη. μπορούμε να διατυπώσουμε τον ισχυρισμό της προηγούμενης παραγράφου χρησιμοποιώντας τις ακόλουθες ανισότητες. Έστω P' η μερική διαδρομή της P από τον κόμβο s στον κόμβο x. Επειδή x S, γνωρίζουμε από την υπόθεση της επαγωγής ότι η P x είναι η συντομότερη διαδρομή s-x (μήκους d(x)), οπότε l(p') l(p x ) = d(x). Έτσι η μερική διαδρομή της P από τον κόμβο y έχει μήκος l(p') + l(x, y) d(x) + l(x, y) d'(y), και η πλήρης διαδρομή P έχει τουλάχιστον το ίδιο μήκος με αυτή τη μερική διαδρομή. Τέλος, επειδή ο αλγόριθμος του Dijkstra επέλεξε τον κόμβο v σε αυτή την επανάληψη, γνωρίζουμε ότι d'(y) d'(v) = l(p v ). Ο συνδυασμός αυτών των ανισοτήτων δείχνει ότι l(p) l(p') + l(x, y) l(p v ). Ας αναφέρουμε δύο παρατηρήσεις σχετικά με τον αλγόριθμο του Dijkstra και την ανάλυσή του. Πρώτον, ο αλγόριθμος δεν βρίσκει πάντοτε τις συντομότερες διαδρομές αν κάποιες από τις ακμές μπορούν να έχουν αρνητικά μήκη. (Βλέπετε σε ποιο σημείο "χαλάει" η απόδειξη;) Πολλές εφαρμογές συντομότερης διαδρομής περιλαμβάνουν αρ-

13 4.4 Συντομότερες διαδρομές σε ένα γράφημα 175 νητικά μήκη ακμών, και σε αυτή την περίπτωση απαιτείται ένας πιο πολύπλοκος αλγόριθμος αυτός των Bellman και Ford. Θα δούμε αυτόν τον αλγόριθμο όταν θα εξετάσουμε το θέμα του δυναμικού προγραμματισμού. Η δεύτερη παρατήρηση είναι ότι ο αλγόριθμος του Dijkstra είναι, κατά μία έννοια, ακόμη απλούστερος απ' ό,τι τον περιγράψαμε εδώ. Ο αλγόριθμος του Dijkstra είναι στην πραγματικότητα μια "συνεχής" εκδοχή του αλγορίθμου αναζήτησης πρώτα κατά πλάτος για τη διάσχιση ενός γραφήματος, και το κίνητρό του είναι η ακόλουθη φυσική διαισθητική ιδέα. Υποθέστε ότι οι ακμές του γραφήματος G σχηματίζουν ένα σύστημα σωληνώσεων γεμάτων με νερό, που συνδέονται στους κόμβους. κάθε ακμή e έχει μήκος l e και σταθερή διατομή. Υποθέστε τώρα ότι πέφτει μία ακόμα σταγόνα νερού στον κόμβο s και ξεκινά ένα κύμα από τον s. Καθώς το κύμα επεκτείνεται από τον κόμβο s με σταθερή ταχύτητα, η διογκούμενη σφαίρα του μετώπου του κύματος φθάνει στους κόμβους κατά αύξουσα σειρά της απόστασής τους από τον s. Είναι εύκολο να πιστέψουμε (και ισχύει φυσικά) ότι η διαδρομή που ακολούθησε το μέτωπο του κύματος για να πάει σε κάποιον κόμβο v είναι η συντομότερη διαδρομή. Πράγματι, είναι εύκολο να δούμε ότι αυτή ακριβώς είναι η διαδρομή προς τον v που βρίσκει ο αλγόριθμος του Dijkstra, και ότι οι κόμβοι που ανακαλύπτονται από το "διογκούμενο νερό" είναι στην ίδια σειρά με αυτήν που ανακαλύπτονται από τον αλγόριθμο του Dijkstra. Υλοποίηση και χρόνος εκτέλεσης Για να ολοκληρώσουμε την ανάλυσή μας για τον αλγόριθμο του Dijkstra, θα εξετάσουμε το χρόνο εκτέλεσής του. Υπάρχουν n-1 επαναλήψεις του βρόχου While για ένα γράφημα με n κόμβους, καθώς κάθε επανάληψη προσθέτει ένα νέο κόμβο v στο S. Η επιλογή του σωστού κόμβου v με αποδοτικό τρόπο είναι ένα πιο δύσκολο ζήτημα. Η πρώτη εντύπωση είναι ότι κάθε επανάληψη θα πρέπει να εξετάσει κάθε κόμβο v S, και να διατρέξει όλες τις ακμές μεταξύ του S και του v για να προσδιορίσει την ελάχιστη ποσότητα min e=(u, v):u S d(u) + l e, έτσι ώστε να μπορεί να επιλέξει τον κόμβο v για τον οποίο αυτή η ποσότητα είναι η μικρότερη. Για ένα γράφημα με m ακμές ο υπολογισμός αυτών των ελάχιστων τιμών μπορεί να χρειαστεί O(m) χρόνο, οπότε αυτό θα οδηγήσει σε μία υλοποίηση που εκτελείται σε O(mn) χρόνο. Μπορούμε όμως να τα πάμε καλύτερα αν χρησιμοποιήσουμε τις σωστές δομές δεδομένων. Πρώτον, θα διατηρούμε ρητά τις τιμές των ελάχιστων ποσοτήτων d'(v) = min e=(u, v):u S d(u) + l e για κάθε κόμβο v V S, αντί να τις υπολογίζουμε εκ νέου σε κάθε επανάληψη. Μπορούμε να βελτιώσουμε ακόμα περισσότερο την απόδοση διατηρώντας τους κόμβους V S σε μια ουρά προτεραιότητας, με τις τιμές d'(v) ως κλειδιά τους. Οι ουρές προτεραιότητας εξετάστηκαν στο Κεφάλαιο 2. είναι δομές δεδομένων που έχουν σχεδιαστεί να διατηρούν ένα σύνολο n στοιχείων, το καθένα από τα οποία διαθέτει ένα κλειδί. Σε μια ουρά προτεραιότητας μπορούμε με αποδοτικό τρόπο να εισάγουμε στοιχεία, να διαγράφουμε στοιχεία, να αλλάζουμε το κλειδί ενός στοιχείου, και να εξάγουμε το στοιχείο με το ελάχιστο κλειδί. Θα χρειαστούμε την τρίτη και την τέταρτη από τις παραπάνω λειτουργίες: τις λειτουργίες ChangeKey και ExtractMin.

14 176 Κεφάλαιο 4 Άπληστοι αλγόριθμοι Πώς θα υλοποιήσουμε τον αλγόριθμο του Dijkstra με τη χρήση μιας ουράς προτεραιότητας; Τοποθετούμε τους κόμβους V σε μία ουρά προτεραιότητας με το d'(v) ως κλειδί για v V. Για να επιλέξουμε τον κόμβο v που θα πρέπει να προστεθεί στο σύνολο S, χρειαζόμαστε τη λειτουργία ExtractMin. Για να δείτε πώς γίνεται η ενημέρωση των κλειδιών, θεωρήστε μια επανάληψη στην οποία ο κόμβος v προστίθεται στο S, και έστω w S ένας κόμβος που παραμένει στην ουρά προτεραιότητας. Τι πρέπει να κάνουμε για να ενημερώσουμε την τιμή του d'(w); Αν το (v, w) δεν είναι ακμή, τότε δεν χρειάζεται να κάνουμε τίποτε: το σύνολο των ακμών που εξετάζονται στην ελάχιστη ποσότητα min e=(u, w):u S d(u) + l e είναι ακριβώς το ίδιο με πριν και μετά την προσθήκη του v στο S. Από την άλλη πλευρά, αν e' = (v, w) E, τότε η νέα τιμή για το κλειδί είναι min(d'(w), d(v) + l e' ). Αν d'(w) > d(v) + l e' τότε πρέπει να χρησιμοποιήσουμε τη λειτουργία ChangeKey για να μειώσουμε κατάλληλα το κλειδί του κόμβου w. Αυτή η λειτουργία ChangeKey μπορεί να συμβεί το πολύ μία φορά για κάθε ακμή, όταν το τέλος της ακμής e' προστίθεται στο S. Συνοψίζοντας, έχουμε το ακόλουθο αποτέλεσμα. (4.15) Αν χρησιμοποιήσουμε ουρά προτεραιότητας, μπορούμε να υλοποιήσουμε τον αλγόριθμο του Dijkstra για ένα γράφημα με n κόμβους και m ακμές έτσι ώστε να ε- κτελείται σε χρόνο O(m), συν το χρόνο για τις n λειτουργίες ExtractMin και τις m λειτουργίες ChangeKey. Αν χρησιμοποιήσουμε την υλοποίηση των ουρών προτεραιότητας που βασίζεται σε σωρούς, την οποία εξετάσαμε στο Κεφάλαιο 2, κάθε λειτουργία ουράς προτεραιότητας μπορεί να εκτελεστεί σε χρόνο O(log n). Έτσι ο συνολικός χρόνος για την υλοποίηση είναι O(m log n). 4.5 Το πρόβλημα του Ελάχιστου Γεννητικού Δένδρου Θα εφαρμόσουμε τώρα το επιχείρημα ανταλλαγής στα πλαίσια του δεύτερου θεμελιώδους προβλήματος για γραφήματα: το πρόβλημα του Ελάχιστου Γεννητικού Δένδρου (Minimum Spanning Tree Problem). Το πρόβλημα Υποθέστε ότι έχουμε ένα σύνολο τοποθεσιών V = {v 1, v 2,..., v n } και θέλουμε να δομήσουμε ένα δίκτυο επικοινωνιών επάνω σε αυτές. Το δίκτυο θα πρέπει να είναι συνεκτικό θα πρέπει να υπάρχει μια διαδρομή ανάμεσα σε κάθε ζευγάρι κόμβων όμως επιθυμούμε να το κατασκευάσουμε με όσο το δυνατόν μικρότερο κόστος, ικανοποιώντας πάντα την προηγούμενη απαίτηση. Για κάποια ζευγάρια (v i, v j ) μπορούμε να κατασκευάσουμε έναν άμεσο σύνδεσμο μεταξύ των v i και v j με συγκεκριμένο κόστος c (v i, v j ) > 0. Έτσι μπορούμε να αναπαραστήσουμε το σύνολο των δυνατών συνδέσμων που μπορούμε να δημιουργήσουμε χρησιμοποιώντας ένα γράφημα G = (V, E), με θετικό κόστος c e για κάθε ακμή e =

15 4.5 Το πρόβλημα του Ελάχιστου Γεννητικού Δένδρου 177 (v i, v j ). Το πρόβλημα είναι να βρεθεί ένα υποσύνολο των ακμών T E έτσι ώστε το γράφημα (V, T) να είναι συνεκτικό και το συνολικό κόστος e Tc e όσο το δυνατόν μικρότερο. (Θα υποθέσουμε ότι το αρχικό γράφημα G είναι συνεκτικό. διαφορετικά δεν υπάρχει λύση.) Μια βασική παρατήρηση είναι η ακόλουθη. (4.16) Έστω T μια λύση ελάχιστου κόστους για το παραπάνω πρόβλημα σχεδιασμού δικτύου. Τότε το (V, T) είναι ένα δένδρο. Απόδειξη. Εξ ορισμού, το (V, T) πρέπει να είναι συνεκτικό. θα δείξουμε επίσης ότι δεν περιέχει κύκλους. Πράγματι, υποθέστε ότι περιείχε έναν κύκλο C, και έστω e ο- ποιαδήποτε ακμή του C. Ισχυριζόμαστε ότι το (V, T {e}) εξακολουθεί να είναι συνεκτικό, καθώς κάθε διαδρομή που προηγουμένως χρησιμοποιούσε την ακμή e μπορεί τώρα να ακολουθήσει "τη μεγάλη πορεία" μέσω του υπόλοιπου τμήματος του κύκλου C. Αυτό σημαίνει ότι το (V, T) {e} είναι επίσης έγκυρη λύση του προβλήματος και έχει μικρότερο κόστος άτοπο. Αν επιτρέψουμε σε κάποιες ακμές να έχουν μηδενικό κόστος (δηλαδή, υποθέτουμε μόνο ότι τα κόστη c e είναι μη αρνητικά), τότε η λύση στο πρόβλημα του σχεδιασμού δικτύου με ελάχιστο κόστος μπορεί να έχει πρόσθετες ακμές ακμές που έχουν κόστος 0 και που προαιρετικά θα μπορούσαν να διαγραφούν. Αλλά ακόμα και σε αυτή την περίπτωση υπάρχει πάντοτε μία λύση ελάχιστου κόστους που είναι δένδρο. Ξεκινώντας από οποιαδήποτε βέλτιστη λύση, θα μπορούσαμε να διαγράφουμε ακμές σε κύκλους μέχρι να έχουμε δένδρο. με μη αρνητικές ακμές, το κόστος δεν θα αυξανόταν στη διάρκεια αυτής της διαδικασίας. Θα ονομάζουμε ένα υποσύνολο T E γεννητικό δένδρο (spanning tree) του G αν το (V, T) είναι δένδρο. Η πρόταση (4.16) λέει ότι ο στόχος του προβλήματος σχεδιασμού δικτύου μπορεί να διατυπωθεί ως εύρεση του φθηνότερου γεννητικού δένδρου για το γράφημα. γι' αυτόν το λόγο ονομάζεται γενικά πρόβλημα του Ελάχιστου Γεννητικού Δένδρου (Minimum Spanning Tree Problem). Αν το G δεν είναι ένα πολύ απλό γράφημα, τότε θα έχει εκθετικά πολλά διαφορετικά γεννητικά δένδρα, των οποίων οι δομές μπορεί να είναι πολύ διαφορετικές η μία από την άλλη. Έτσι δεν είναι καθόλου προφανής ο αποδοτικός τρόπος εύρεσης του φθηνότερου δένδρου μεταξύ όλων αυτών των επιλογών. Σχεδιασμός αλγορίθμων Όπως και με τα προηγούμενα προβλήματα που συναντήσαμε, είναι εύκολο να βρούμε μια σειρά από φυσικούς άπληστους αλγορίθμους για το πρόβλημα. Όμως παραδόξως, και ευτυχώς, αυτή είναι η περίπτωση όπου πολλοί από τους πρώτους άπληστους αλγορίθμους που δοκιμάζει κανείς αποδεικνύονται σωστοί: καθένας από αυτούς επιλύει με βέλτιστο τρόπο το πρόβλημα. Θα εξετάσουμε τώρα μερικούς από αυτούς τους αλγορίθμους και μετά θα ανακαλύψουμε, μέσω ενός ωραίου ζεύγους επιχειρημάτων ανταλλαγής, κάποιες από τις αιτίες στις οποίες οφείλεται αυτή η πληθώρα των απλών, βέλτιστων αλγορίθμων.

16 178 Κεφάλαιο 4 Άπληστοι αλγόριθμοι Ας δούμε τρεις άπληστους αλγορίθμους, όπου και οι τρεις βρίσκουν σωστά ένα ελάχιστο γεννητικό δένδρο. Ένας απλός αλγόριθμος ξεκινά χωρίς καθόλου ακμές και δομεί ένα γεννητικό δένδρο με διαδοχική εισαγωγή ακμών από το E κατά αύξουσα σειρά κόστους. Καθώς προχωρούμε μέσω των ακμών με αυτή τη σειρά, εισάγουμε κάθε ακμή e εφόσον δεν δημιουργεί κύκλο όταν προστίθεται στις ακμές που έχουν ήδη εισαχθεί. Αν όμως η εισαγωγή της e θα οδηγούσε σε κύκλο, τότε απλώς απορρίπτουμε την e και συνεχίζουμε. Αυτή η προσέγγιση ονομάζεται αλγόριθμος του Kruskal. Ένας άλλος απλός άπληστος αλγόριθμος μπορεί να σχεδιαστεί σε αναλογία με τον αλγόριθμο του Dijkstra για διαδρομές, αν και στην πράξη είναι ακόμα πιο α- πλός στον προσδιορισμό από τον αλγόριθμο του Dijkstra. Ξεκινάμε με έναν κόμβο ρίζας s και προσπαθούμε, με άπληστο τρόπο, να δημιουργήσουμε ένα δένδρο που ξεκινά από τον s και εκτείνεται προς τα έξω. Σε κάθε βήμα προσθέτουμε α- πλώς τον κόμβο που μπορεί να προσαρτηθεί με όσο το δυνατόν μικρότερο κόστος στο μερικό δένδρο που ήδη έχουμε. Πιο συγκεκριμένα, διατηρούμε ένα σύνολο S V για το οποίο έχει ήδη κατασκευαστεί ένα γεννητικό δένδρο. Αρχικά S = {s}. Σε κάθε επανάληψη προσαυξάνουμε το S κατά έναν κόμβο, προσθέτοντας τον κόμβο v που ελαχιστοποιεί το "κόστος προσάρτησης" min e=(u, v):u S c e, και συμπεριλαμβάνοντας στο γεννητικό δένδρο την ακμή e = (u,v) που επιτυγχάνει αυτή την ελάχιστη τιμή. Αυτή η προσέγγιση ονομάζεται αλγόριθμος του Prim. Τέλος, μπορούμε να σχεδιάσουμε έναν άπληστο αλγόριθμο εκτελώντας μια "αντίστροφη" εκδοχή του αλγορίθμου του Kruskal. Συγκεκριμένα, ξεκινάμε με ολόκληρο το γράφημα (V, E) και αρχίζουμε να διαγράφουμε ακμές κατά φθίνουσα σειρά κόστους. Καθώς φθάνουμε σε κάθε ακμή e (ξεκινώντας από την πιο ακριβή), τη διαγράφουμε εφόσον αυτό δεν θα επιφέρει τη μη συνεκτικότητα του γραφήματος που έχουμε. Προς αναζήτηση καλύτερου ονόματος, αυτή η προσέγγιση γενικά ονομάζεται Αλγόριθμος Αντίστροφης Διαγραφής (Reverse-Delete Algorithm) (απ' όσα μπορούμε να γνωρίζουμε, δεν έχει πάρει το όνομα κάποιου συγκεκριμένου ατόμου). Για παράδειγμα, η Εικόνα 4.9 παρουσιάζει τις τέσσερις πρώτες ακμές που προστέθηκαν από τους αλγορίθμους των Prim και Kruskal, αντίστοιχα, σε ένα γεωμετρικό στιγμιότυπο του προβλήματος του Ελάχιστου Γεννητικού Δένδρου όπου το κόστος κάθε ακμής είναι ανάλογο της γεωμετρικής απόστασης στο επίπεδο. Το γεγονός ότι καθένας από αυτούς τους αλγορίθμους εγγυάται την παραγωγή μιας βέλτιστης λύσης υπονοεί μια "ανθεκτικότητα" στο πρόβλημα του Ελάχιστου Γεννητικού Δένδρου υπάρχουν πολλοί τρόποι για να πάρουμε την απάντηση. Στη συνέχεια θα εξερευνήσουμε τις αιτίες για τις οποίες τόσο πολλοί διαφορετικοί αλγόριθμοι παράγουν γεννητικά δένδρα ελάχιστου κόστους.

17 4.5 Το πρόβλημα του Ελάχιστου Γεννητικού Δένδρου 179 a r c d e f g b (α) h a r c d e f g b (β) Εικόνα 4.9 Παράδειγμα εκτέλεσης των αλγορίθμων Ελάχιστου Γεννητικού Δένδρου των (α) Prim και (β) Kruskal για την ίδια είσοδο. Οι 4 πρώτες ακμές που προστέθηκαν στο γεννητικό δένδρο εμφανίζονται με συνεχείς γραμμές. η επόμενη ακμή που θα προστεθεί εμφανίζεται με διακεκομμένη γραμμή. Ανάλυση των αλγορίθμων Όλοι αυτοί οι αλγόριθμοι πραγματοποιούν τη συνεχή εισαγωγή ή διαγραφή ακμών σε μία μερική λύση. Έτσι, για να τους αναλύσουμε, είναι χρήσιμο να έχουμε στη διάθεσή μας κάποια βασικά στοιχεία που να λένε πότε είναι "ασφαλές" να συμπεριλάβουμε μια ακμή στο ελάχιστο γεννητικό δένδρο, ή αντίστοιχα πότε είναι ασφαλές να απαλείψουμε μια ακμή με το σκεπτικό ότι δεν θα ήταν δυνατόν να ανήκει στο ελάχιστο γεννητικό δένδρο. Για τους σκοπούς της ανάλυσης αυτής, θα κάνουμε την απλουστευμένη υπόθεση ότι όλα τα κόστη των ακμών διαφέρουν μεταξύ τους (δηλαδή, δεν υπάρχουν δύο ίδια κόστη). Αυτή η υπόθεση κάνει ευκολότερη τη διατύπωση των προτάσεων που α- κολουθούν. στη συνέχεια της ενότητας θα δείξουμε πώς μπορεί να απαλειφθεί εύκολα αυτή η υπόθεση. Πότε είναι ασφαλές να συμπεριλαμβάνεται μια ακμή στο Ελάχιστο Γεννητικό Δένδρο; Το κρίσιμο γεγονός για την εισαγωγή μιας ακμής είναι η ακόλουθη πρόταση, την οποία θα αναφέρουμε ως Ιδιότητα Αποκοπής (Cut Property). (4.17) Υποθέστε ότι όλα τα κόστη των ακμών είναι διαφορετικά. Έστω S ένα τυχαίο υποσύνολο κόμβων που δεν είναι ούτε κενό ούτε ίσο με το V, και έστω ότι η ακμή e = (v, w) είναι η ακμή ελάχιστου κόστους με το ένα άκρο στο S και το άλλο στο V S. Τότε κάθε ελάχιστο γεννητικό δένδρο θα περιέχει την ακμή e. Απόδειξη. Έστω T ένα γεννητικό δένδρο που δεν περιέχει την e. πρέπει να δείξουμε ότι το T δεν έχει το ελάχιστο δυνατό κόστος. Θα το επιτύχουμε αυτό χρησιμοποιώντας ένα επιχείρημα ανταλλαγής: θα προσδιορίσουμε μια ακμή e' στο T που είναι πιο ακριβή από την e, και η οποία έχει την ιδιότητα ότι η ανταλλαγή της e με την e' μας δίνει h

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

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

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

Περιεχόμενα. Περιεχόμενα Περιεχόμενα 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 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

Ελάχιστα Γεννητορικά ένδρα

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

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

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

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

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1 Θέματα

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

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αντιμετώπιση NP- υσκολίας Αν P NP, όχι αλγόριθμος

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0

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

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Ταιριάσματα Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών) Ταιριάσματα

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

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

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας. ΠΡΟΛΟΓΟΣ Το βιβλίο «Δικτυακή Βελτιστοποίηση» γράφτηκε με κύριο στόχο να καλύψει τις ανάγκες της διδασκαλίας του μαθήματος «Δικτυακός Προγραμματισμός», που διδάσκεται στο Τμήμα Εφαρμοσμένης Πληροφορικής,

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

ΑΡΙΘΜΗΤΙΚΗ ΠΡΟΟΔΟΣ. Σύμφωνα με τα παραπάνω, για μια αριθμητική πρόοδο που έχει πρώτο όρο τον ...

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

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

υναμικός Προγραμματισμός

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

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

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

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

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

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

Τεχνητή Νοημοσύνη. 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η έκδοση, Β. Γκιούρδας

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

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών... 37 3.1 Αριθμητικά σύνολα... 37 3.2 Ιδιότητες... 37 3.3 Περισσότερες ιδιότητες...

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών... 37 3.1 Αριθμητικά σύνολα... 37 3.2 Ιδιότητες... 37 3.3 Περισσότερες ιδιότητες... Περιεχόμενα Πρόλογος... 5 Κεφάλαιο Βασικές αριθμητικές πράξεις... 5. Τέσσερις πράξεις... 5. Σύστημα πραγματικών αριθμών... 5. Γραφική αναπαράσταση πραγματικών αριθμών... 6.4 Οι ιδιότητες της πρόσθεσης

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες

Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14 Γενικά Σχόλια (1) 2 Για το τελικό διαγώνισμα θα χρειαστείτε: Φοιτητική

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

Άπληστοι Αλγόριθμοι. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 4η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ευσταθές Ταίριασμα Πρόβλημα Ευσταθούς Ταιριάσματος

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

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

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

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

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ημήτρης Φωτάκης ιακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 4 η Εργασία: Γενική Εικόνα Αντίστοιχη βαθμολογικά και ποιοτικά με την

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

Κλάσεις Πολυπλοκότητας

Κλάσεις Πολυπλοκότητας Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν

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

ΛΧ1004 Μαθηματικά για Οικονομολόγους

ΛΧ1004 Μαθηματικά για Οικονομολόγους ΛΧ1004 Μαθηματικά για Οικονομολόγους Μάθημα 1 ου Εξαμήνου 2Θ+2Φ(ΑΠ) Ι. Δημοτίκαλης, Επίκουρος Καθηγητής 1 ΤΕΙ ΚΡΗΤΗΣ-ΤΜΗΜΑ Λ&Χ: jdim@staff.teicrete.gr ΠΡΟΤΕΙΝΟΜΕΝΟ ΒΙΒΛΙΟ ΕΦΑΡΜΟΓΕΣ ΜΑΘΗΜΑΤΙΚΟΥ ΛΟΓΙΣΜΟΥ

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Jon Kleinberg και Éva Tardos, Σχεδιασμός αλγορίθμων, Εκδόσεις Κλειδάριθμος,

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση

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

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 1. Μαθηματικό Υπόβαθρο 23, 26 Ιανουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 1.1. Σύνολα Ορισμός : Σύνολο μια συλλογή από αντικείμενα Στοιχεία: Μέλη συνόλου Τα στοιχεία

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

ΔΙΚΤΥΑ (13) Π. Φουληράς

ΔΙΚΤΥΑ (13) Π. Φουληράς ΔΙΚΤΥΑ (13) Π. Φουληράς Τεχνολογίες WAN και Δρομολόγηση LAN Επεκτείνεται μόνον σε ένα κτίριο ή ομάδα κτιρίων WAN (Wide Area Network) Επεκτείνονται σε μεγάλες περιοχές MAN Ενδιάμεσο ως προς το μέγεθος της

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

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

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

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

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

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

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ... 13 1.1 Οι συντεταγμένες ενός σημείου...13 1.2 Απόλυτη τιμή...14

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ... 13 1.1 Οι συντεταγμένες ενός σημείου...13 1.2 Απόλυτη τιμή...14 Περιεχόμενα Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ... 13 1.1 Οι συντεταγμένες ενός σημείου...13 1.2 Απόλυτη τιμή...14 Κεφάλαιο 2 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΕΝΑ ΕΠΙΠΕΔΟ 20 2.1 Οι συντεταγμένες

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

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

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

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

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε Άπληστους Αλγόριθµους Στοιχεία άπληστων αλγορίθµων Το πρόβληµα επιλογής εργασιών ΕΠΛ 232

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

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

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα ροής και το πρόβληµα της µέγιστης ροής Η µεθοδολογία Ford-Fulkerson Ο αλγόριθµος Edmonds-Karps ΕΠΛ 232

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #2: Πολυωνυμικοί Αλγόριθμοι, Εισαγωγή στα Γραφήματα, Αναζήτηση κατά Βάθος, Τοπολογική Ταξινόμηση

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

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

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

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

Μονοτονία - Ακρότατα - 1 1 Αντίστροφη Συνάρτηση

Μονοτονία - Ακρότατα - 1 1 Αντίστροφη Συνάρτηση 4 Μονοτονία - Ακρότατα - Αντίστροφη Συνάρτηση Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ Μονοτονία συνάρτησης Μια συνάρτηση f λέγεται: Γνησίως αύξουσα σ' ένα διάστημα Δ του πεδίου ορισμού της, όταν για οποιαδήποτε,

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

Περι-γράφοντας... κλωνάρια

Περι-γράφοντας... κλωνάρια Όνομα(τα): Όνομα Η/Υ: Σ Τμήμα: Ημερομηνία: Περι-γράφοντας... κλωνάρια Ξεκινήστε το Χώρο ραστηριοτήτων, επιλέξτε τη θεματική ενότητα: ΘΕ03: Απλή επιλογή και επιλέξτε την πρώτη δραστηριότητα (Περι-γράφοντας...

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

ΕΙΣΑΓΩΓΗ Η μελέτη διαφόρων στοχαστικών φαινομένων μπορεί γενικά να γίνει χρησιμοποιώντας

ΕΙΣΑΓΩΓΗ Η μελέτη διαφόρων στοχαστικών φαινομένων μπορεί γενικά να γίνει χρησιμοποιώντας ΕΙΣΑΓΩΓΗ Η μελέτη διαφόρων στοχαστικών φαινομένων μπορεί γενικά να γίνει χρησιμοποιώντας κυρίως τρεις μεθόδους:. Αναλυτικές Μέθοδοι: πραγματοποιείται κατάλληλη μαθηματική μοντελοποίηση του στοχαστικού

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

Περιεχόμενα Πρόλογος 5ης αναθεωρημένης έκδοσης ΚΕΦΆΛΆΙΟ 1 Ο ρόλος της επιχειρησιακής έρευνας στη λήψη αποφάσεων ΚΕΦΆΛΆΙΟ 2.

Περιεχόμενα Πρόλογος 5ης αναθεωρημένης έκδοσης ΚΕΦΆΛΆΙΟ 1 Ο ρόλος της επιχειρησιακής έρευνας στη λήψη αποφάσεων ΚΕΦΆΛΆΙΟ 2. Περιεχόμενα Πρόλογος 5ης αναθεωρημένης έκδοσης... 11 Λίγα λόγια για βιβλίο... 11 Σε ποιους απευθύνεται... 12 Τι αλλάζει στην 5η αναθεωρημένη έκδοση... 12 Το βιβλίο ως διδακτικό εγχειρίδιο... 14 Ευχαριστίες...

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Πεπερασμένες Διαφορές.

Πεπερασμένες Διαφορές. Κεφάλαιο 1 Πεπερασμένες Διαφορές. 1.1 Προσέγγιση παραγώγων. 1.1.1 Πρώτη παράγωγος. Από τον ορισμό της παραγώγου για συναρτήσεις μιας μεταβλητής γνωρίζουμε ότι η παράγωγος μιας συνάρτησης f στο σημείο x

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

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να εξετάσετε αν ισχύουν οι υποθέσεις του Θ.Μ.Τ. για την συνάρτηση στο διάστημα [ 1,1] τέτοιο, ώστε: C στο σημείο (,f( ))

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να εξετάσετε αν ισχύουν οι υποθέσεις του Θ.Μ.Τ. για την συνάρτηση στο διάστημα [ 1,1] τέτοιο, ώστε: C στο σημείο (,f( )) ΚΕΦΑΛΑΙΟ ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 6: ΘΕΩΡΗΜΑ ΜΕΣΗΣ ΤΙΜΗΣ ΔΙΑΦΟΡΙΚΟΥ ΛΟΓΙΣΜΟΥ (Θ.Μ.Τ.) [Θεώρημα Μέσης Τιμής Διαφορικού Λογισμού του κεφ..5 Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ Παράδειγμα. ΘΕΜΑ

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

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

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

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

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

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015 Συμπληρωματικές σημειώσεις για τον μηχανισμό VCG 1 Εισαγωγή στις Συνδυαστικές

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

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση

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

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 1 Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα Έκδοση 1.3, 29/02/2012 Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 1.1 Ένα πρώτο πρόβληµα: Ευσταθές Ταίριασµα Ταίριασµα

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr

Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr VI Ολοκληρώματα Παντελής Μπουμπούλης, MSc, PhD σελ mth-grlogspotcom, ououlismyschgr ΜΕΡΟΣ Αρχική Συνάρτηση Ορισμός Έστω f μια συνάρτηση ορισμένη σε ένα διάστημα Δ Αρχική συνάρτηση ή παράγουσα της στο Δ

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

Έλεγχος Ταυτοχρονισμού

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων

Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων 3 ΚΥΡΙΑ ΣΗΜΕΙΑ ΤΟΥ ΚΕΦΑΛΑΙΟΥ Επιλογή τύπου δεδομένων και ιδιότητες πεδίων Δημιουργία πινάκων Συσχετισμός πινάκων ΑΡΧΕΙΑ ΕΡΓΑΣΙΑΣ ΠΑΡΑΓΓΕΛΙΕΣ, ΠΑΡΑΓΓΕΛΙΕΣ ΤΕΛΙΚΟ

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

Μαθηματική Λογική και Λογικός Προγραμματισμός

Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών

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

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΙΝΑΚΩΝ ΣΤΟΙΒΑΣ ΚΑΙ ΟΥΡΑΣ Α ΜΕΡΟΣ ΘΕΩΡΙΑ ΓΙΑ ΠΙΝΑΚΕΣ 3.1

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

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΕΥΡΙΠΙΔΟΥ 80 ΝΙΚΑΙΑ ΝΕΑΠΟΛΗ ΤΗΛΕΦΩΝΟ 0965897 ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ ΒΡΟΥΤΣΗ ΕΥΑΓΓΕΛΙΑ ΜΠΟΥΡΝΟΥΤΣΟΥ ΚΩΝ/ΝΑ ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ Η έννοια του μιγαδικού

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

Διερεύνηση γραφήματος

Διερεύνηση γραφήματος Διερεύνηση γραφήματος Διερεύνηση γραφήματος Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος ή κατά βάθος. Καθοδική διερεύνηση

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

Εγγυημένη ποιότητα υπηρεσίας

Εγγυημένη ποιότητα υπηρεσίας Εγγυημένη ποιότητα υπηρεσίας Απαιτήσεις ποιότητας υπηρεσίας Μηχανισμοί κατηγοριοποίησης Χρονοπρογραμματισμός Μηχανισμοί αστυνόμευσης Ενοποιημένες υπηρεσίες Διαφοροποιημένες υπηρεσίες Τεχνολογία Πολυμέσων

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

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού)

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού) . Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού) Η πετυχημένη διοίκηση των μεγάλων έργων χρειάζεται προσεχτικό προγραμματισμό, σχεδιασμό και συντονισμό αλληλοσυνδεόμενων δραστηριοτήτων (εργσιών).

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

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

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

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

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

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5)

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στον Κατηγορηματικό Λογισμό Σύνταξη Κανόνες Συμπερασμού Σημασιολογία ΕΠΛ 412 Λογική στην

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

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

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

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

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων NP-πληρότητα Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση

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

6 η Δραστηριότητα στο MicroWorlds Pro (1)

6 η Δραστηριότητα στο MicroWorlds Pro (1) 6 η Δραστηριότητα στο MicroWorlds Pro (1) Προχωρημένος Προγραμματισμός με Logo Δομή επιλογής Αν & ΑνΔιαφορετικά Στην δραστηριότητα που ακολουθεί, θα προσπαθήσουμε να βρούμε την απόλυτη τιμή ενός αριθμού,

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

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

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

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