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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

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

Γράφοι: κατευθυνόμενοι και μη

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

3η Σειρά Γραπτών Ασκήσεων

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

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

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Επιχειρησιακή Έρευνα I

Αλγοριθμικές Τεχνικές

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

Ελάχιστο Συνδετικό Δέντρο

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

Πρόβλημα μέγιστης ροής - Maximum flow problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Ελάχιστο Συνδετικό έντρο

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

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Ελάχιστο Συνδετικό Δέντρο

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό έντρο

Άπληστοι Αλγόριθµοι. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Συντομότερες ιαδρομές

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

«Πρόβλημα μέγιστης ροής» Maximum flow problem. Κηρυττόπουλος Κωνσταντίνος PhD, Dipl. Eng., PMP

Δένδρα επικάλ επικ υψης ελάχιστου στους

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

Multicut and Integer Multicomodity Flow in Trees (chap. 18) Αγγελής Γιώργος

3η Σειρά Γραπτών Ασκήσεων

Συντομότερες Διαδρομές

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη Ροή Ελάχιστη Τομή

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

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

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

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

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Συντομότερες ιαδρομές

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

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

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Συντομότερες ιαδρομές

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Μέγιστη Ροή Ελάχιστη Τομή

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

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

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

Ελαφρύτατες διαδρομές

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Αλγόριθμοι Γράφων. Κεφάλαιο Διάσχιση γράφων Γενικά Αναζήτηση κατά πλάτος (Breadth First Search)

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

Υπολογιστική Πολυπλοκότητα

Συντομότερες Διαδρομές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

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

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

Υπολογιστική Πολυπλοκότητα

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Αλγόριθμοι Γραφημάτων

Σχεδίαση & Ανάλυση Αλγορίθμων

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

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

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

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

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

Αλγόριθµοι Προσέγγισης για NP- ύσκολα Προβλήµατα

Σχεδίαση & Ανάλυση Αλγορίθμων

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

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

Τ.Ε.Ι. Πελοπόννησου. Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Δίκτυα και Δρομολόγηση Πακέτων

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

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

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

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

Δένδρα επικάλυψης ελάχιστου κόστους και το πρόβλημα του πλανόδιου πωλητή (Traveling Salesman Problem: TSP)

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Transcript:

7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths ιδάσκοντες: 1

Εύρεση Μικρότερου-Μεγαλύτερου Χώρισε σε 2 υποακολουθίες Βρες μεγαλύτερο και μικρότερο Σύγκρινε μεγαλύτερα και μικρότερα 2

Εύρεση k-οστού Μικρότερου Πολυπλοκότητα: Ο(n 2 ) χειρότερη, Ο(n) μέση 3

Βελτίωση Πολυπλοκότητας Με επιλογή κατάλληλου σημείου partition Χωρισμός σε n/5 ακολουθίες 5 στοιχείων Ταξινόμηση 5άδων και σχηματισμός Μ από τα μεσαία στοιχεία: O(n) Εύρεση του μεσαίου m της M: Τ(n/5) Τουλάχιστον ¼ στοιχεία μεγαλύτερα του m και ¼ στοιχεία μικρότερα του m 4

Η μέθοδος σχηματικά 5

Πολυπλοκότητα Βελτίωσης 6

Το Κύριο Θεώρημα (Master Theorem) 7

Υπενθύμιση: απλή εκδοχή του Master Theorem 8

ΗΤεχνικήGreedy (Άπληστη) 9

Πρόβλημα Σακιδίου (Knapsack) Είσοδος: σακίδιο χωρητικότητας Μ και n συνεχή αντικείμενα βάρους w i και αξίας p i. Αποδεκτή λύση: καθορισμός κλάσματος x i για κάθε αντικείμενο ώστε να χωράνε στο σακίδιο. Στόχος: μεγιστοποίηση της αξίας των αντικειμένων που μπήκαν στο σακίδιο. 10

Άπληστος Αλγόριθμος για το Πρόβλημα Σακιδίου Αν το άθροισμα όλων των βαρών είναι μικρότερο από Μ, θέσε x i :=1 για όλα. Αλλιώς, διάτρεξε τα αντικείμενα κατά φθίνουσα σειρά p i /w i, παίρνοντας τη μέγιστη δυνατή ποσότητα. Πολυπλοκότητα: O(nlogn) 11

Συνδετικό ένδρο Ελαχίστου Κόστους (Minimum Cost Spanning Tree) 7 12

ύο μέθοδοι Κριτήριο Prim: επιλογή πλευράς ελαχίστου κόστους ώστε ο υπογράφος να παραμένει δέντρο Κριτήριο Kruskal: επιλογή πλευράς ελαχίστου κόστους ώστε ο υπογράφος να παραμένει ακυκλικός 13

Άπληστος Αλγόριθμος με Κριτήριο Prim 14

Παράδειγμα (με Prim) 7 7 7 7 7 7 15

Άπληστος Αλγόριθμος με Κριτήριο Kruskal 16

Παράδειγμα (με Kruskal) 7 7 7 7 7 7 17

Πολυπλοκότητα - Βελτιστότητα Έστω n= V, e= E Prim: O(n 2 ) Kruskal: O(elogn) Συνεκτικοί γράφοι: n-1 <= e <= n(n-1)/2 Ο αλγόριθμος Kruskal καλύτερος σε αραιούς (dense) γράφους Θεώρημα: ο Kruskal δίνει βέλτιστη λύση 18

Ορθότητα Kruskal 19

Ορθότητα Kruskal (συν.) 20

Ορθότητα Kruskal (συν.) 21

Πρόβλημα Συντομότερων Μονοπατιών (Single Source Shortest Paths) 22

Αλγόριθμος του Dijkstra ημιουργεί δέντρο ελαχίστων αποστάσεων από τον κόμβο 1 επαναλαμβάνοντας τα παρακάτω βήματα n-1 φορές: Σε κάθε επανάληψη επιλέγεται ο κόμβος w με την ελάχιστη απόσταση από τον κόμβο 1 (θεωρώντας μόνο διαδρομές που περνούν από κόμβους του ήδη σχηματισμένου δέντρου) και προστίθεται στο δέντρο. Ενημερώνονται οι αποστάσεις που επηρεάζονται λόγω της προσθήκης του w. 23

Αλγόριθμος του Dijkstra 24

Αλγόριθμος του Dijkstra 10 10 30 25

Αλγόριθμος του Dijkstra Επιλογή πλησιέστερου κόμβου 10 10 30 26

Αλγόριθμος του Dijkstra Ενημέρωση αποστάσεων 10 10 80 30 27

Αλγόριθμος του Dijkstra 10 10 80 30 28

Αλγόριθμος του Dijkstra 10 10 80 60 30 29

Αλγόριθμος του Dijkstra 10 10 80 60 30 30

Αλγόριθμος του Dijkstra 10 10 80 60 50 30 31

Αλγόριθμος του Dijkstra 10 10 80 50 30 32

Αλγόριθμος του Dijkstra 10 10 60 50 30 33

Αλγόριθμος του Dijkstra 10 10 60 50 30 34

Αλγόριθμος Dijkstra (συν.) 35

Παράδειγμα Εκτέλεσης Dijkstra (με πίνακα) 36

Αλγόριθμος Bellman-Ford 37

Πρόβλημα Μέγιστης Ροής (max flow) ίνεται ένα δίκτυο (network): κατευθυνόμενος γράφος με βάρη που αντιπροσωπεύουν χωρητικότητες, καιδύοκόμβοιτουs και t. Ζητείται να βρεθεί ποια είναι η μέγιστη ροή που μπορεί να δρομολογηθεί από τον s στον t. 38

Αλγόριθμος Ford-Fulkerson Επιλογή ενός μονοπατιού από s σε t. ρομολόγηση όσο το δυνατόν μεγαλύτερης ροής στο μονοπάτι (ελάχιστη ακμή). Κατασκευή εναπομείναντος δικτύου (residual network). Επανάληψη διαδικασίας εάν υπάρχει ακόμη μονοπάτι από s σε t. 39

Αλγόριθμος Ford-Fulkerson (συν.) Κατασκευή εναπομείναντος δικτύου (residual network): Αφαίρεση ροής από χωρητικότητες ακμών (διαγραφή ακμής αν χωρητικότητα = 0). Αύξηση της χωρητικότητας στην αντίθετη κατεύθυνση κατά την ίδια ποσότητα (δημιουργία ακμής αν δεν υπάρχει). 40

Αλγόριθμος Ford-Fulkerson 41

Θεώρημα Max Flow Min Cut Η μέγιστη ροή ισούται με την ελάχιστης χωρητικότητας τομή (σύνολο ακμών) που διαχωρίζει τον κόμβο s από τον κόμβο t. Ο αλγόριθμος Ford-Fulkerson επιτυγχάνει τη μέγιστη ροή. 42