Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Σχετικά έγγραφα
Λύζεηξ αζθήζεςκ ζενμόηεηαξ

i, ημ μκμμάδμομε ζύκμιμ ηςκ

1 η Ε π α ν α λ η π τ ι κ ή Ά σ κ η σ η

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

Κεθάιαημ 11. Πνμζεγγηζηηθμί Αιγόνηζμμη

Γπέθηαζε ηςκ Ονίςκ ηεξ Γπηιοζημόηεηαξ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Οκμμάδμομε δηαηεηαγμέκμ δεύγμξ με πνώημ ζημηπείμ ημ θαη δεύηενμ ημ (ζομβμιηθά:(, ) ), ημ δηζύκμιμ: { },{, . Δειαδή:

Multiple Choice Examination

Επακαιεπηηθό ζέμα ζημ 1 0 θεθάιαημ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Η ΠΡΟΝΟΟΚΟΜΔΙΑΚΗ ΦΡΟΝΣΙΓΑ. με ηην έγκριζη ηοσ Εθνικού Κένηροσ PHTLS διοργανώνει ζηις Ιανοσαρίοσ 2012

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Άπιεζημη αιγόνηζμμη. Μάνζα Σηδένε

ΘΕΜΑ 1 (μμκάδεξ 25) Η πενίμδμξ ηεξ ηαιάκηςζεξ ημο ζώμαημξ αοημύ είκαη: i) Τ = π/2s ii) Τ = 2/πs iii) Τ = 1/πs iv) Τ = 2s iv) Τ = πs (αηηημιόγεζε)

Καηακμώκηαξ ηα Νέα Μέζα. Εογεκία Σηαπένα

ΙΑΘΕΙΑ Β1.1 Μ ΝΘΑΚΕΠΕΟ ΓΕ

Μυοπάθεια και τατίνες

Π α ζ ο κ ζ ή μ α η α μ ε κ ύ μ α η α ή η α κ ή δ ε γ κ ς ζ η ά : Γ ι ε ο ζ ε ν ί α, Δ ε μ μ θ ν α η ί α, α δ μ ύ ι ς η ε Γ ι ι ά δ α.

Οδεγόξ Φνήζεξ Webmail

Μέηνα Αημμηθήξ Πνμζηαζίαξ

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

Δηαπείνηζε πμιιαπιώκ ειεθηνμκηθώκ δηεοζύκζεωκ

Πνμθόπημξ Mαγηάηεξ,

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

ΑΣΚΗΣΕΙΣ ΣΤΟΥΣ ΜΙΓΑΔΙΚΟΥΣ AΡΙΘΜΟΥΣ

ΩΤΟΣΚΛΗΡΥΝΣΗ. Δρ Εμμανουθλ Χατζημανώλης. Ωτορινολαρυγγολόγος-Χειρουργός Κεφαλής και Τραχήλου. Δ/τής της Κλινικής Κεφαλής και Τραχήλου νοσ.

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Problems & Questions on MAC Layer

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Αλάιπζε Αιγνξίζκωλ. Κεθ. 13: Τπραίνη Αιγόξηζκνη

Φνήζημεξ Λεηημονγίεξ ηςκ. Windows 7

Παραγωγή Τελικού Κώδικα. Γιώργος Μανής

1. Camtasia. 2. Audacity. 3. Movie Maker

ΕΞΟΡΤΞΗ & ΚΑΣΑΚΕΤΕ ΣΗΝ ΕΤΡΩΠΗ ΜΑΘΗΜΑ 43

Θμγμηεπκία γηα Παηδηά Ζ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Πνμεγμύμεκεξ γκώζεηξ: Τα παηδηά λένμοκ κα δηαβάδμοκ θαη κα γνάθμοκ θάπμηεξ θςκμύιεξ θαη μνηζμέκα γνάμμαηα.

H ΑΞΙΑ ΣΗ ΓΛΙΑ ΚΑΙ ΣΟΤ ΓΛΑΙΟΛΑΔΟΤ ΜΤΘΟΙ & ΠΡΑΓΜΑΣΙΚΟΣΗΣΑ. << Γιηά & Λάδη >>

ΜΤΟΚΑΡΔΙΟΠΑΘΕΙΕ MΤΟΚΑΡΔΙΣΙΔΑ ΜΕΛΕΣΗ ΜΕ ΓΑΔΟΛΙΝΙΟ

ΜΑΘΗΜΑ Β 5.1 ΟΡΓΑΝΙΜΩΝ Η ΓΓΩΓΡΑΦΙΚΗ ΚΑΣΑΝΟΜΗ ΣΩΝ. Ελέμη Γ. Παλούμπα, Χημικός, Πειραματικό Γυμμάσιο Σπάρτης

Τα έλη παηδηά γεμίδμοκ με πανά ηηξ θηωπέξ μηθμγέκεηεξ.

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

Τίτλος Μαθήματος: Θεωρία Πολυπλοκότητας. Ενότητα: H κλάση ΝΡ. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Κα ακαγκςνίζμομε ημ ηηηάκημ ένγμ (όιςκ) ηςκ ενγαδμμέκςκ ζημ CERN. Να απμθηήζμομε βηςμαηηθέξ γκώζεηξ γηα πενίπιμθεξ έκκμηεξ ηςκ Φοζηθώκ Γπηζηεμώκ.

Μικροβιολογία & Υγιεινή Τροφίμων

Γηζαγωγή ζηεκ Πιεζοζμηαθή Οηθμιμγία. Α. Φακηηκμύ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων. Ενότητα: Βασικά στοιχεία σχεδίασης & ανάλυσης αλγορίθμων

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

ΜΑΘΕΜΑ Β2.1 Ε ΤΝΘΓΕ ΣΕ ΑΣΜΟΦΑΖΡΑ, Ε ΑΣΜΟΦΑΖΡΑ, ΟΖ ΑΝΓΜΟΖ.

Κεθάλαιο 3 Κρσπηογραθία δημόζιοσ κλειδιού και πιζηοποίηζη ασθεμηικόηηηας μημσμάηφμ

ΑΓΠΠ 2o Γπαμαληπηικό Διαγώμιζμα

Δηάιελε 6: Δηαπείνηζε Μκήμεξ & Δοκαμηθέξ Δμμέξ Δεδμμέκςκ

r 1 Π 1 r 2 Π 2 πέτασμα στισμή μομοτρωματικό υως στισμή

ΔΩΚΠΑΟ ΙΓ ΠΜΚ Η. ΟΓΘ

Ιαιιηένγεηα βαθηενίςκ

GANODERMA LUCIDUM «μακηηάνη ηςκ ζεώκ» Τμ θαζμιηθό θάνμαθμ ηεξ θύζεξ

ΓΤΡΩΠΗ. 5 ή 6 ΕΙΓΞΓΟ ΑΓΞΜΝΜΞΖΗΕ ΓΗΔΞΜΙΕ ΖΠΑΘΖΗΜ ΝΑΚΜΞΑΙΑ ΒΓΚΓΠΖΑ-ΦΘΩΞΓΚΠΖΑ-ΟΖΓΚΑ-ΞΩΙΕ ΑΚΑΩΞΕΟΓΖΟ : 5ΕΙΓΞΓΟ : ΗΑΘΓ ΠΞΖΠΕ 6ΕΙΓΞΓΟ : KAΘΓ ΠΞΖΠΕ

641: πεδίαζε θαη Ακάιοζε Αιγμνίζμςκ. Υάνεξ Παπαδόπμοιμξ

Tνόπμη δηαθοηηανηθήξ επηθμηκςκίαξ

Κοιμό Γεωγραφικό Υπόβαθρο για το WISE

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

ΕΙΗΓΗΗ: Σα Πληροθοριακά σζηήμαηα ηων Νοζοκομείων ζηην Ελλάδα ηης κρίζης: Ο ρόλος ηοσ cloud computing & ηοσ Εζωηερικού Ελέγτοσ

Γοθεμία Παπαδμπμύιμο-Αιαηάθε

Αρηόμξμξι Ποάκηξοεπ ΠΛΗ513- Intelligence Lab. Αμαθξοά Εογαζίαπ Εναμήμξρ

Τπμιμγηζμόξ ηεξ ηαπύηεηαξ ηεξ πεμηθήξ ακηίδναζεξ ημο Mg με HCl

Αμαμεώζιμες πηγές εμέργειας

αξ γκςνίδμομε όηη ζημ ΦΓΚ 222 ηεύπμξ Α δεμμζηεύηεθε μ κ. 4093/2012, ζημ άνζνμ πνώημ,

HY-335 : Δίθηοα Υπμιμγηζηώκ

Σ Ο Ξ Υ Η Φ Θ Ω Μ Ι Α Α Π Θ Ζ Ξ Λ Ε Μ Ω Μ

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

ΓΑΣΡΟΟΙΟΦΑΓΙΚΗ ΠΑΛΙΝΔΡΟΜΗΗ ΚΑΙ ΑΝΑΠΝΓΤΣΙΚΟ ΤΣΗΜΑ. Δν. Δεμήηνεξ Καπεηάκμξ Γπημειεηήξ A Γαζηνεκηενμιμγηθή Κιηκηθή Γ.Ν. «Γεώνγημξ Παπακηθμιάμο»

ΙΑΘΕΙΑ Α1.3 Ε ΥΡΕΕ ΣΩΚ ΥΑΡΣΩΚ ΣΕΚ ΗΑΘΕΙΓΡΖΚΕ ΔΩΕ. Ελένη Παλούμπα, Χημικός, Πειραματικό Γσμνάσιο Σπάρτης

Κοσμάς Λιάμος Γενικός Ιατρός Επιμελητής Β Περιυερειακό Ιατρείο Βελβεντού Κέντρο Τγείας ερβίων

ErmisWIN v & Οδεγίεξ Σέιμοξ Έημοξ ( 31/12/2015 )

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

ΜΗΦΑΝΙΚΑ ΚΥΜΑΤΑ. Κύμα μκμμάδεηαη ε δηάδμζε μηαξ δηαηαναπήξ ζημ πώνμ με μνηζμέκε ηαπύηεηα, ε μπμία μκμμάδεηαη ηαςύηηηα διάδξζηπ.

Μελέηη Ηλεκηοικήπ Εγκαηάζηαζηπ. Δκπαιδεςηήρ: αββίδεο Μηράιεο. Σερληθή ρνιή Απγόξνπ. Μάθημα: Σερλνινγία Ηιεθηξηθώλ Εγθαηαζηάζεσλ

Μμκηειμπμίεζε θαη Aκάιοζε Βημσαηνηθώκ θαη Φοζηθώκ Σοζηεμάηςκ

Μηα θμνά θη έκακ θαηνό ζε έκα μηθνό, μαθνηκό πςνηό δμύζακ δομ

Τβοιδικό Ιζξδύμαμξ Μξμηέλξ transistor BJT & εκηζποηέξ. Ειεθηνμκηθή Γ Σάλε /Β ελάμεκμ Γπίθ. Ηαζεγήηνηα Γ. Ηαναγηάκκε

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

ΜΑΘΗΜΑ Β3.2 Β ΥΠΟΘΑΛΑΣΣΙΟ ΑΝΑΓΛΥΦΟ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Σωλήμες Ηλεκηρικώμ Εγκαηαζηάζεωμ. Εκπαιδεσηής: Σαββίδης Μιτάλης. Τετνική Στολή Ασγόροσ. Μάθημα: Τετνολογία Ηλεκηρικών Εγκαηαζηάζεων

ΓΗΔΕΘΩΟΓΖΟ ΠΕΟ ΝΑΖΔΑΓΩΓΖΗΕΟ ΟΜΘΕΟ, ΑΝΘ. Αθαδεμασθό έημξ: (πνμκμιμγηθή ζεηνά)

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Οι ςδπαςλικέρ κονίερ για σπήζη ζηην οδοποιία και ηο ππόηςπο ΕΝ Δ. Τζαμαηζούληρ Δπ. Φημικόρ Μησανικόρ ΦΑΛΥΧ Δομικά Υλικά Α.Ε.

H XHMEIA EINAI ΙΑΓΖΗΕ

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

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

Transcript:

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων Ενότητα: 'Απληστοι αλγόριθμοι, χρονοπρογραμματισμός και συντομότερες διαδρομές (Dijkstra) Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών

41: Γηζαγςγή ζηε Θεςνία θαη Ακάιοζε Αιγμνίζμςκ Υάνεξ Παπαδόπμοιμξ

Τιε ημο μαζήμαημξ Βαζηθά ζημηπεία ζπεδίαζεξ & ακάιοζεξ αιγμνίζμςκ Ακάιοζε αιγμνίζμςκ, απμδμηηθόηεηα, αζομπηςηηθόξ ζομβμιηζμόξ οκεζηζμέκμη πνόκμη εθηέιεζεξ θαη βαζηθέξ δμμέξ δεδμμέκςκ πίκαθεξ, ιίζηεξ, ζημίβεξ, μονέξ Γοζηαζέξ ηαίνηαζμα, μνζόηεηα, ζςνόξ θαη μονά πνμηεναηόηεηαξ Μέζμδμξ «Δηαίνεη θαη Βαζίιεοε» Γθανμμγέξ ζε ηαληκόμεζε ζημηπείςκ Γπίιοζε ακαδνμμηθώκ ζπέζεςκ Γναθήμαηα θαη αιγόνηζμμη γναθεμάηςκ Δηάηνελε γναθεμάηςκ (BFS, DFS) οκεθηηθόηεηα Σμπμιμγηθή δηάηαλε Μέζμδμη «Απιεζηείαξ» θαη «Δοκαμηθμύ Πνμγναμμαηηζμμύ» Γιάπηζηα ζθειεηηθά δέκδνα (αιγόνηζμμξ Prim, αιγόνηζμμξ Kruskal) οκημμόηενεξ δηαδνμμέξ (αιγόνηζμμξ Dijkstra, Ρμή δηθηύμο) Υνμκμπνμγναμμαηηζμόξ Γπηιεγμέκα ζέμαηα Τπμιμγηζηηθή πμιοπιμθόηεηα, NP-πιενόηεηα

Η μέζμδμξ ηεξ απιεζηίαξ Greed is good. Greed is right. Greed works. Greed clarifies, cuts through, and captures the essence of the evolutionary spirit. - Gordon Gecko (Michael Douglas) Απιεζηία: Δόμεζε ηεξ ιύζεξ ζηαδηαθά, βειηηζημπμηώκηαξ θάπμημ ημπηθό θνηηήνημ ζε θάζε βήμα

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ Υνμκμπνμγναμμαηηζμόξ. Η ενγαζία j λεθηκάεη ηε ζηηγμή s j θαη ηειεηώκεη ηε ζηηγμή f j. Δομ ενγαζίεξ είκαη ζομβαηέξ ακ δεκ επηθαιύπημκηαη. ηόπμξ: εύνεζε ημο μεγαιύηενμο οπμζοκόιμο από ζομβαηέξ ενγαζίεξ. a b c d e f g 0 1 3 4 7 8 10 11 h Υνόκμξ

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Άπιεζημη Αιγόνηζμμη Άπιεζημ Πνόηοπμ. Θεςνήζηε ηηξ ενγαζίεξ ςξ πνμξ θάπμηα δηάηαλε. Γπηιέληε θάπμηα ενγαζία με δεδμμέκμ όηη είκαη ζομβαηή με αοηέξ πμο έπμοκ ήδε επηιεγεί. [Μηθνόηενμξ πνόκμξ έκανλεξ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ s j. [Μηθνόηενμξ πνόκμξ ιήλεξ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ f j. [Μηθνόηενμ πνμκ. δηάζηεμα] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ f j - s j. [Γιάπηζηεξ δηεκέλεηξ] Γηα θάζε ενγαζία j, μέηνεζε ημ πιήζμξ ηςκ μεζομβαηώκ ενγαζηώκ c j. Υνμκμπνμγναμμάηηζε θαηά αύλμοζα ηάλε ςξ πνμξ c j.

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Άπιεζημη Αιγόνηζμμη Άπιεζημ Πνόηοπμ. Θεςνήζηε ηηξ ενγαζίεξ ςξ πνμξ θάπμηα δηάηαλε. Γπηιέληε θάπμηα ενγαζία με δεδμμέκμ όηη είκαη ζομβαηή με αοηέξ πμο έπμοκ ήδε επηιεγεί. ακηηπανάδεηγμα γηα μηθνόηενμ πνόκμ έκανλεξ ακηηπανάδεηγμα γηα μηθνόηενμ πνμκηθό δηάζηεμα ακηηπανάδεηγμα γηα ειάπηζηεξ δηεκέλεηξ 7

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Άπιεζημξ Αιγόνηζμμξ Άπιεζημξ Αιγόνηζμμξ. Θεςνμύμε ηηξ ενγαζίεξ θαηά αύλμοζα ηάλε ςξ πνμξ ημ πνόκμ ιήλεξ. Γπηιέγμομε θάπμηα ενγαζία εθόζμκ αοηή είκαη ζομβαηή με ηηξ οπόιμηπεξ πμο έπμομε ήδε επηιέλεη. Ταξινόμηζε ηιρ επγαζίερ ωρ ππορ σπόνο λήξηρ έηζι ώζηε f 1 f... f n. ζύκμιμ ενγαζηώκ πμο ζα επηιέγεη A for j = 1 to n { if (η επγαζία j είναι ζςμβαηή με ηο A) A A {j} } return A Τιμπμίεζε. O(n log n). Θομάηαη ηεκ ενγαζία j* πμο ημπμζεηήζεθε ηειεοηαία ζημ A. Η ενγαζία j είκαη ζομβαηή με (θάζε ενγαζία ημο) A ακ s j f j*. 8

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ 0 1 3 4 7 8 10 11

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B 0 1 3 4 7 8 10 11 10

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B C 0 1 3 4 7 8 10 11 11

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ A B 0 1 3 4 7 8 10 11 1

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B E 0 1 3 4 7 8 10 11 13

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B D E 0 1 3 4 7 8 10 11

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B E F 0 1 3 4 7 8 10 11 1

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B E G 0 1 3 4 7 8 10 11 1

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Πανάδεηγμα B C A E D F 0 1 3 4 7 8 10 11 G H Υνόκμξ B E H 0 1 3 4 7 8 10 11 17

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Άπιεζημξ Αιγόνηζμμξ Άπιεζημξ Αιγόνηζμμξ. Θεςνμύμε ηηξ ενγαζίεξ θαηά αύλμοζα ηάλε ςξ πνμξ ημ πνόκμ ιήλεξ. Γπηιέγμομε θάπμηα ενγαζία εθόζμκ αοηή είκαη ζομβαηή με ηηξ οπόιμηπεξ πμο έπμομε ήδε επηιέλεη. Ταξινόμηζε ηιρ επγαζίερ ωρ ππορ σπόνο λήξηρ έηζι ώζηε f 1 f... f n. ζύκμιμ ενγαζηώκ πμο ζα επηιέγεη A for j = 1 to n { if (η επγαζία j είναι ζςμβαηή με ηο A) A A {j} } return A Τιμπμίεζε. O(n log n). Θομάηαη ηεκ ενγαζία j* πμο ημπμζεηήζεθε ηειεοηαία ζημ A. Η ενγαζία j είκαη ζομβαηή με (θάζε ενγαζία ημο) A ακ s j f j*. 18

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Ονζόηεηα Θεώνεμα. Ο άπιεζημξ αιγόνηζμμξ είκαη βέιηηζημξ. Απόδεηλε. (με άημπμ) Έζης όηη μ άπιεζημξ δεκ είκαη βέιηηζημξ. Έζης i 1, i,... i k μη ενγαζίεξ πμο επηιέγεη μ άπιεζημξ. Έζης j 1, j,... j m μη ενγαζίεξ ζε μηα βέιηηζηε ιύζε ηέημηα ώζηε i 1 = j 1, i = j,..., i r = j r γηα ηε μέγηζηε δοκαηή ηημή ημο r. ε ενγαζία i r+1 ηειεηώκεη πνηκ ηεκ j r+1 Άπιεζημξ: i 1 i i r i r+1 Βέιηηζημξ: j 1 j j r j r+1... γηαηί κα μεκ ακηηθαηαζηήζμομε ηεκ ενγαζία j r+1 με ηεκ ενγαζία i r+1? 1

Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ: Ονζόηεηα Θεώνεμα. Ο άπιεζημξ αιγόνηζμμξ είκαη βέιηηζημξ. Απόδεηλε. (με άημπμ) Έζης όηη μ άπιεζημξ δεκ είκαη βέιηηζημξ. Έζης i 1, i,... i k μη ενγαζίεξ πμο επηιέγεη μ άπιεζημξ. Έζης j 1, j,... j m μη ενγαζίεξ ζε μηα βέιηηζηε ιύζε ηέημηα ώζηε i 1 = j 1, i = j,..., i r = j r γηα ηε μέγηζηε δοκαηή ηημή ημο r. ε ενγαζία i r+1 ηειεηώκεη πνηκ ηεκ j r+1 Άπιεζημξ: i 1 i i r i r+1 Βέιηηζημξ: j 1 j j r i r+1... ε ιύζε είκαη αθόμα εθηθηή θαη βέιηηζηε, ςζηόζμ ακηηθνμύεη ημ μέγηζημ r. 0

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ Η δηάιελε j λεθηκάεη ηε ζηηγμή s j θαη ηειεηώκεη ηε ζηηγμή f j. ηόπμξ: εύνεζε ημο ειάπηζημο πιήζμοξ αηζμοζώκ γηα κα πνμκμπνμγναμμαηηζημύκ όιεξ μη δηαιέλεηξ έηζη ώζηε κα μεκ οπάνπμοκ δομ δηαιέλεηξ ζηεκ ίδηα αίζμοζα. Π.π.: Έπμομε 4 αίζμοζεξ γηα ηεκ πνμγναμμαηηζμό 10 δηαιέλεςκ. 4 e j 3 c d g b h 1 a f i :30 10 10:30 11 11:30 1 1:30 1 1:30 :30 3 3:30 4 4:30 Υνόκμξ

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ Η δηάιελε j λεθηκάεη ηε ζηηγμή s j θαη ηειεηώκεη ηε ζηηγμή f j. ηόπμξ: εύνεζε ημο ειάπηζημο πιήζμοξ αηζμοζώκ γηα κα πνμκμπνμγναμμαηηζημύκ όιεξ μη δηαιέλεηξ έηζη ώζηε κα μεκ οπάνπμοκ δομ δηαιέλεηξ ζηεκ ίδηα αίζμοζα. Π.π.: Σμ αθόιμοζμ πνεζημμπμηεί μόκμ 3 αίζμοζεξ. 3 c d f j b g i 1 a e h :30 10 10:30 11 11:30 1 1:30 1 1:30 :30 3 3:30 4 4:30 Υνόκμξ 3

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ: Κάης Φνάγμα ζηε Βέιηηζηε Λύζε Ονηζμόξ. Σμ βάζμξ εκόξ ζοκόιμο δηαζηεμάηςκ είκαη ημ μέγηζημ πιήζμξ δηαζηεμάηςκ πμο πενηέπμοκ έκα (θμηκό) πνμκηθό ζεμείμ. εμακηηθή Παναηήνεζε. Πιήζμξ ηςκ ακαγθαίςκ αηζμοζώκ βάζμξ. Π.π.: Βάζμξ ημο πνμγνάμμαημξ= 3 βέιηηζημ πνμκμδηάγναμμα. ηα a, b, c πενηέπμοκ ηε πνμκηθή ζηηγμή :30 Γνώηεζε. Πάκηα οπάνπεη πνόγναμμα ίζμ με ημ βάζμξ ηςκ δηαζηεμάηςκ ; 3 c d f j b g i 1 a e h :30 10 10:30 11 11:30 1 1:30 1 1:30 :30 3 3:30 4 4:30 Υνόκμξ 4

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ: Άπιεζημξ Αιγόνηζμμξ Άπιεζημξ αιγόνηζμμξ. Θεςνήζηε ηηξ δηαιέλεηξ ζε αύλμοζα ζεηνά ςξ πνμξ ηεκ ζηηγμή έκανλεξ: ακαζέζηε ηε δηάιελε ζε θάπμηα ζομβαηή αίζμοζα. Ταξινόμηζε ηιρ διαλέξειρ (ηα διαζηήμαηα) ωρ ππορ ηο σπόνο έναπξηρ έηι ώζηε s 1 s... s n. d 0 πιήζμξ δεζμεομέκςκ αηζμοζώκ for j = 1 to n { if (η διάλεξη j είναι ζςμβαηή με κάποια αίθοςζα k) ππογπαμμάηιζε ηην διάλεξη j για ηην αίθοςζα k else δέζμεςζε μια νέα αίθοςζα d + 1 ππογπαμμάηιζε ηην διάλεξη j για ηην αίθοςζα d + 1 d d + 1 } Τιμπμίεζε. O(n log n). Γηα θάζε αίζμοζα k, δηαηήνεζε ηε ζηηγμή ιήλεξ ηεξ ηειεοηαίαξ δηάιελεξ. Δηαηήνεζε ηηξ αίζμοζεξ ζε μηα μονά πνμηεναηόηεηαξ.

Δηαμένηζε Υνμκηθώκ Δηαζηεμάηςκ: Ακάιοζε Άπιεζημο Αιγμνίζμμο Παναηήνεζε. Ο άπιεζημξ αιγόνηζμμξ δεκ πνμγναμμαηίδεη πμηέ δύμ αζύμβαηεξ δηαιέλεηξ ζηεκ ίδηα αίζμοζα. Θεώνεμα. Ο άπιεζημξ αιγόνηζμμξ είκαη βέιηηζημξ. Απόδεηλε. Έζης d = πιήζμξ αηζμοζώκ πμο δεζμεύεη μ άπιεζημξ αιγόνηζμμξ. Μηα αίζμοζα d δεζμεύεηαη επεηδή πνέπεη κα πνμγναμμαηίζμομε μηα δηάιελε, έζης j, πμο είκαη αζύμβαηε με όιεξ ηηξ οπόιμηπεξ d-1 αίζμοζεξ. Οη d αοηέξ δηαιέλεηξ ηειεηώκμοκ θάπμηα ζηηγμή μεηά ηε s j. Γπεηδή ηαληκμμμύμε θαηά πνόκμ έκανλεξ, όιεξ αοηέξ μη αζομβαηόηεηεξ πνμθαιμύκηαη από δηαιέλεηξ πμο λεθηκμύκ πνηκ ηε ζηηγμή s j. Άνα, έπμομε d δηαιέλεηξ πμο επηθαιύπημκηαη ηε ζηηγμή s j + ε (γηα μηθνό ε). Από εμακηηθή Παναηήνεζε θάζε πνμκμπνμγναμμαηηζμόξ πνεηάδεηαη d αίζμοζεξ.

Υνμκμπνμγναμμαηηζμόξ γηα Γιαπηζημπμίεζε Καζοζηένεζεξ

Υνμκμπνμγναμμαηηζμόξ γηα Γιαπηζημπμίεζε Καζοζηένεζεξ Πνόβιεμα ειαπηζημπμίεζεξ θαζοζηένεζεξ Μηα μεπακή επελενγάδεηαη μηα ενγαζία ηε θμνά. Η ενγαζία j απαηηεί t j μμκάδεξ πνόκμο θαη έπεη πνμζεζμία πνόκμο d j. Ακ ε j λεθηκά ηε ζηηγμή s j, ζα ηειεηώζεη ηε ζηηγμή f j = s j + t j. Καζοζηένεζε: j = max { 0, f j - d j }. (f j - d j >0 «πάκεη» ηε πνμζεζμία) ηόπμξ: πνμκμπνμγναμμαηηζμόξ ηςκ ενγαζηώκ γηα ειαπηζημπμίεζε ηεξ μέγηζηεξ θαζοζηένεζεξ L = max j. 1 3 4 Π.π.: t j 3 1 4 3 d j 8 1 θαζοζηένεζε = θαζοζηένεζε = 0 max θαζοζηένεζε = d 3 = d = 8 d = 1 d 1 = d = d 4 = 0 1 3 4 7 8 10 11 1 13 1 8

Γιαπηζημπμίεζε Καζοζηένεζεξ: Άπιεζημη Αιγόνηζμμη Άπιεζημ πνόηοπμ. Θεςνήζηε ηηξ ενγαζίεξ με θάπμηα ζεηνά. [Πνώηα μ ζοκημμόηενμξ πνόκμξ επελενγαζίαξ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ ημ πνόκμ επελενγαζίαξ t j. [Πνώηα ε μηθνόηενε πνμζεζμία] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ ηεκ πνμζεζμία d j. [Γιάπηζημ πνμκηθό πενηζώνημ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ ημ πνμκηθό πενηζώνημ d j - t j.

Γιαπηζημπμίεζε Καζοζηένεζεξ: Άπιεζημη Αιγόνηζμμη Άπιεζημ πνόηοπμ. Θεςνήζηε ηηξ ενγαζίεξ με θάπμηα ζεηνά. [Πνώηα μ ζοκημμόηενμξ πνόκμξ επελενγαζίαξ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ ημ πνόκμ επελενγαζίαξ t j. d j 1 t j 1 100 10 10 Ακηηπανάδεηγμα, L=1 αιιά L opt =0 d 1 = 100 d = 10 0 1 3 4 7 8 10 11 [Γιάπηζημ πνμκηθό πενηζώνημ] ενγαζίεξ ζε αύλμοζα ηάλε ςξ πνμξ ημ πνμκηθό πενηζώνημ d j - t j. 1 t j 1 d j 10 10 Ακηηπανάδεηγμα, L= αιιά L opt =1 d = 10 d 1 = 0 1 3 4 7 8 10 11 30

Γιαπηζημπμίεζε Καζοζηένεζεξ: Άπιεζημξ Αιγόνηζμμξ Άπιεζημξ αιγόνηζμμξ. Πνώηα ε μηθνόηενε πνμζεζμία. Ταξινόμηζε n επγαζίερ ωρ ππορ ηιρ πποθεζμίερ έηζι ώζηε: d 1 d d n t 0 for j = 1 to n Ανάθεζε ζηην επγαζία j ηο διάζηημα [t, t + t j ] s j t, f j t + t j t t + t j εκηύπωζε ηα διαζηήμαηα [s j, f j ] 1 3 4 t j 3 1 4 3 d j 8 1 μέγηζηε θαζοζηένεζε = 1 d 1 = d = 8 d 3 = d 4 = d = d = 1 0 1 3 4 7 8 10 11 1 13 1 31

Γιαπηζημπμίεζε Καζοζηένεζεξ: Δεκ οπάνπεη Υνόκμξ Αδνάκεηαξ Παναηήνεζε. Τπάνπεη μηα βέιηηζηε ιύζε πςνίξ πνόκμ αδνάκεηαξ. d = 4 d = 0 1 3 4 d = 1 7 8 10 11 d = 4 d = d = 1 0 1 3 4 7 8 10 11 Παναηήνεζε. Ο άπιεζημξ αιγόνηζμμξ δεκ έπεη πνόκμ αδνάκεηαξ. 3

Γιαπηζημπμίεζε Καζοζηένεζεξ: Ακηηζηνμθέξ Ονηζμόξ. Μηα ακηηζηνμθή ζε έκα πνμκμδηάγναμμα S είκαη έκα δεογάνη ενγαζηώκ i θαη j με d i < d j αιιά ε j πνμκμπνμγναμμαηίδεηαη πνηκ ηεκ i. ακηηζηνμθή f i πνηκ ηεκ ακηημεηάζεζε j i [οπμζέημομε όηη μη ενγαζίεξ ανηζμμύκηαη έηζη ώζηε d 1 d d n ] Παναηήνεζε. Σμ άπιεζημ πνμκμδηάγναμμα δεκ έπεη ακηηζηνμθέξ. Παναηήνεζε. Ακ έκα πνμκμδηάγναμμα (πςνίξ πνόκμ αδνάκεηαξ) έπεη μηα ακηηζηνμθή, ηόηε έπεη έκα δεογάνη ακηεζηναμμέκςκ ενγαζηώκ πμο πνμγναμμαηίδμκηαη ζε δηαδμπηθέξ ζέζεηξ. 33

Γιαπηζημπμίεζε Καζοζηένεζεξ: Ακηηζηνμθέξ Ονηζμόξ. Μηα ακηηζηνμθή ζε έκα πνμκμδηάγναμμα S είκαη έκα δεογάνη ενγαζηώκ i θαη j με d i < d j αιιά ε j πνμκμπνμγναμμαηίδεηαη πνηκ ηεκ i. ακηηζηνμθή f i πνηκ ηεκ ακηημεηάζεζε j i μεηά ηεκ ακηημεηάζεζε i j f' j Ιζπονηζμόξ. Η αιιαγή δομ δηαδμπηθώκ, ακηεζηναμμέκςκ ενγαζηώκ μεηώκεη ημ πιήζμξ ηςκ ακηηζηνμθώκ θαηά 1 θαη δεκ αολάκεη ηεκ μέγηζηε θαζοζηένεζε. Απόδεηλε. : θαζοζηένεζε πνηκ ηεκ αιιαγή, ' : μεηά ηεκ αιιαγή. ' k = k γηα θάζε k i, j ' i i Ακ ε ενγαζία j θαζοζηενήζεη: j = max { 0, f j - d j } j f d f f i i i j d d i j j j f ( i j) i 34

Γιαπηζημπμίεζε Καζοζηένεζεξ: Ακάιοζε Άπιεζημο Αιγμνίζμμο Θεώνεμα. Σμ πνμκμδηάγναμμα S ημο άπιεζημο αιγμνίζμμο είκαη βέιηηζημ. Απόδεηλε. (με άημπμ) S* : βέιηηζημ πνμκμδηάγναμμα με ημ μηθνόηενμ πιήζμξ ακηηζηνμθώκ. Γκςνίδμομε όηη ημ S* δεκ έπεη πνόκμ αδνάκεηαξ. Ακ ημ S* δεκ έπεη ακηηζηνμθέξ, ηόηε S = S*. Ακ ημ S* έπεη μηα ακηηζηνμθή, ηόηε έζης i-j μηα γεηημκηθή ακηηζηνμθή. ακηημεηαζέημκηαξ i με j δεκ αολάκεη ηε μέγηζηε θαζοζηένεζε θαη μεηώκεη αοζηενά ημ πιήζμξ ηςκ ακηηζηνμθώκ αοηό ένπεηαη ζε ακηίζεζε με ημκ μνηζμό ημο S* 3

ηναηεγηθέξ Ακάιοζεξ Άπιεζηςκ Αιγμνίζμςκ Ο άπιεζημξ αιγόνηζμμξ οπενηενεί. Δείπκμομε όηη μεηά από θάζε βήμα ημο άπιεζημο αιγμνίζμμο, ε ιύζε ημο είκαη ημοιάπηζημκ ηόζμ θαιή όζμ μπμημοδήπμηε άιιμο αιγμνίζμμο. Δμμηθή ακάιοζε. Ακαθαιύπημομε έκα απιό «δμμηθό» όνημ πμο κα επηβεβαηώκεη όηη θάζε πηζακή ιύζε πνέπεη κα έπεη μηα ζογθεθνημέκε ηημή. ηε ζοκέπεηα δείπκμομε όηη μ άπιεζημξ αιγόνηζμμξ πάκηα πεηοπαίκεη αοηό ημ όνημ. Γπηπείνεμα ακηαιιαγήξ. Μεηαηνέπμομε ζηαδηαθά μπμηαδήπμηε ιύζε ζε αοηή πμο ακαθαιύπηεη μ άπιεζημξ αιγόνηζμμξ πςνίξ κα επενεάδεηαη ε πμηόηεηα ηεξ ιύζεξ. Άιιμη άπιεζημη αιγόνηζμμη. Kruskal, Prim, Dijkstra, Huffman, 3

Ρέζηα ζε Κένμαηα

Ρέζηα ζε Κένμαηα ηόπμξ. Δεδμμέκμο μηαξ μκμμαζίαξ κμμηζμάηςκ: 1,,, 10, 0, 0, 100, 00 βνεξ μηα μέζμδμ γηα κα πιενώζεηξ ημκ πειάηε πνεζημμπμηώκηαξ ημ ειάπηζημ πιήζμξ θενμάηςκ. Π.π.: 34ιεπηά. Ο αιγόνηζμμξ ημο ηαμία. ε θάζε επακάιερε, πνόζζεζε ημ θένμα με ηεκ μεγαιύηενε αλία πμο δεκ λεπενκά ημ ζοκμιηθό πμζό. Π.π.:.8 38

Ρέζηα ζε Κένμαηα: Άπιεζημξ Αιγόνηζμμξ Ο αιγόνηζμμξ ημο ηαμία. ε θάζε επακάιερε, πνόζζεζε ημ θένμα με ηεκ μεγαιύηενε αλία πμο δεκ λεπενκά ημ ζοκμιηθό πμζό. Ταξινόμηζε ηα κέπμαηα ωρ ππορ ηην αξία: c 1 < c < < c n. επηιεγμέκα θένμαηα S while (x 0) { έζηω k ο μέγιζηορ ακέπαιορ για ηον οποίο c k x if (k = 0) return "δεν ςπάπσει λύζη" x x - c k S S {k} } return S Γνώηεμα. Γίκαη μ αιγόνηζμμξ ημο ηαμία βέιηηζημξ; 3

Ρέζηα ζε Κένμαηα: Ακάιοζε ημο Άπιεζημο Αιγμνίζμμο Θεώνεμα. Ο άπιεζημξ αιγόνηζμμξ είκαη βέιηηζημξ γηα : 1,, 10,, 100. Απόδεηλε. (με επαγςγή ζημ x) Έζης έκαξ βέιηηζημξ ηνόπμξ γηα πμζό c k x < c k+1 : μ άπιεζημξ αιγόνηζμμξ επηιέγεη ημ θένμα k. Ιζπονηδόμαζηε όηη θάζε βέιηηζηε ιύζε πνέπεη κα ζομπενηιάβεη ημ c k. δηαθμνεηηθά, πνεηάδεηαη θένμαηα c 1,, c k-1 πμο αζνμίδμοκ ζημ x μ θάης πίκαθαξ δείπκεη όηη θαμία βέιηηζηε ιύζε μπμνεί κα ημ πεηύπεη Σμ πνόβιεμα ακάγεηαη ζηα θένμαηα γηα ημ πμζό ηςκ x - c k, πμο, από ηεκ επαγςγηθή οπόζεζε είκαη βέιηηζημ από ημκ άπιεζημ αιγόνηζμμ. c k-1 c k c k+1 k c k Οη βέιηηζηεξ ιύζεηξ πνέπεη κα ηθακμπμημύκ Max ηημή κμμηζμάηςκ 1,,, k-1 ζε θάζε OPT x sol(x)= sol(x-c k )+1 1 1 1Λ 4 - Λ 1 4 3 10 10Λ 4 + = 4 Λ 3 0 + 4 = 4 100 πςνίξ όνημ 7 + 4 = 40

Ρέζηα ζε Κένμαηα: Ακάιοζε ημο Άπιεζημο Αιγμνίζμμο Παναηήνεζε. Ο άπιεζημξ αιγόνηζμμξ δεκ δμοιεύεη γηα θάζε είδμοξ κμμηζμάηςκ: Π.π. 1, 10, 1, 34, 70, 100 Ακηηπανάδεηγμα. 0. Άπιεζημξ: 100, 34, 1, 1, 1, 1, 1, 1. Βέιηηζημξ: 70, 70. 41

Άζθεζε ζε Άπιεζημοξ Αιγμνίζμμοξ Γνήγμνμ, λεθμύναζημ θαη ήζοπμ ηαλίδη: Θέιμομε κα ηαληδέρμομε ζηεκ αθόιμοζε εοζεία μήθμοξ L δηακύμκηαξ με ημ θςξ ηεξ εμέναξ ημ πμιύ d πιμ. Όηακ βναδηάδεη ζέιμομε κα λεθμοναδόμαζηε ζηα ζεμεία P πμο βνίζθμκηαη ζε απμζηάζεηξ x 1, x,, x n από ηεκ ανπή. Θέιμομε κα βνμύμε όζμ ημ δοκαηό ιηγόηενα ζεμεία λεθμύναζεξ έηζη ώζηε κα πναγμαημπμηήζμομε όζμ γίκεηαη γνεγμνόηενα ημ ηαλίδη. 4

Άζθεζε ζε Άπιεζημοξ Αιγμνίζμμοξ Άπιεζημξ Αιγόνηζμμξ: Κάζε θμνά πμο θηάκμομε ζε έκα ζεμείμ P, x j απμθαζίδμομε ακ πνμιαβαίκμομε κα πάμε μέπνη ημ επόμεκμ P, x j+1 πνηκ βναδηάζεη. Ακ μπμνμύμε ζοκεπίδμομε, δηαθμνεηηθά ζηαμαηάμε. ακ (x j+1 - x j ) < d Θέιμομε κα βνμύμε όζμ ημ δοκαηό ιηγόηενα ζεμεία λεθμύναζεξ έηζη ώζηε κα πναγμαημπμηήζμομε όζμ γίκεηαη γνεγμνόηενα ημ ηαλίδη. 43

Άζθεζε ζε Άπιεζημοξ Αιγμνίζμμοξ Άπιεζημξ Αιγόνηζμμξ: Κάζε θμνά πμο θηάκμομε ζε έκα ζεμείμ P, x j απμθαζίδμομε ακ πνμιαβαίκμομε κα πάμε μέπνη ημ επόμεκμ P, x j+1 πνηκ βναδηάζεη. Ακ μπμνμύμε ζοκεπίδμομε, δηαθμνεηηθά ζηαμαηάμε. Έζης R = {x 1,, x m,, x k } ηα ζεμεία πμο επηιέγεη μ άπιεζημξ Έζης S = {y 1,, y m } ηα ζεμεία πμο επηιέγεη μ βέιηηζημξ Τπμζέημομε όηη m < k γηα κα θηάζμομε ζε άημπμ. Ιζπονηζμόξ. Γηα θάζε μένα j=1,,m έπμομε x j y j. Απόδεηλε (με επαγςγή ζημ j) Βάζε: j=1 ηζπύεη θαζώξ πνμπςνάμε όζμ γίκεηαη μαθνύηενα Γπαγςγηθή Τπόζεζε: Ιζπύεη γηα όια ηα i < j. Γπαγςγηθό βήμα: ημ S ζα πνέπεη: y j y j-1 d Από Γπαγςγηθή Τπόζεζε ζα πνέπεη: x j-1 y j-1 y j - x j-1 y j - y j-1 d Δειαδή: y j - x j-1 d x j yj (δηόηη ε άπιεζηε επηιμγή x j x j-1 d) 44

Άζθεζε ζε Άπιεζημοξ Αιγμνίζμμοξ Άπιεζημξ Αιγόνηζμμξ: Κάζε θμνά πμο θηάκμομε ζε έκα ζεμείμ P, x j απμθαζίδμομε ακ πνμιαβαίκμομε κα πάμε μέπνη ημ επόμεκμ P, x j+1 πνηκ βναδηάζεη. Ακ μπμνμύμε ζοκεπίδμομε, δηαθμνεηηθά ζηαμαηάμε. Έζης R = {x 1,, x m,, x k } ηα ζεμεία πμο επηιέγεη μ άπιεζημξ Έζης S = {y 1,, y m } ηα ζεμεία πμο επηιέγεη μ βέιηηζημξ Τπμζέημομε όηη m < k γηα κα θηάζμομε ζε άημπμ. Ιζπονηζμόξ. Γηα θάζε μένα j=1,,m έπμομε x j y j. Γπμμέκςξ x m y m ημ x m+1 λεθμοναδόμαζηε, άνα ζα πνέπεη x m L d Δειαδή y m x m L d θαη επεηδή m < k y m < L d. Άημπμ δηόηη ημ S ζα έπνεπε ηόηε κα είπε επηιέλεη θαη άιιμ ζεμείμ γηα κα ηενμαηίζεη. 4

Άδεηεξ Λμγηζμηθώκ (Άζθεζε) Άδεηεξ ιμγηζμηθώκ. Κάζε άδεηα πςιείηαη γηα 100 θαη θάζε μήκα ε εηαηνία ζαξ μπμνεί κα αγμνάζεη ημ πμιύ μηα άδεηα. Σμ θόζημξ μηαξ άδεηαξ αολάκεη θάζε μήκα θαηά έκα ζοκηειεζηή r j > 1, δειαδή ακ μηα άδεηα αγμναζηεί μεηά από k μήκεξ ζα θμζηίδεη 100 (r j ) k. Οη ζοκηειεζηέξ μεηαλύ ημοξ είκαη όιμη δηαθμνεηηθμί: r i,r j r i r j. ηόπμξ: Με πμηα ζεηνά πνέπεη κα αγμνάζεη ε εηαηνεία n άδεηεξ με ζοκηειεζηέξ r 1, r,, r n έηζη ώζηε κα ειαπηζημπμηήζεη ημ ζοκμιηθό θόζημξ; Π.π. r 1 =, r = 3, r 3 = 4: Καηά αύλμοζα ζεηνά: 100 ( + 3 + 4 3 ) = 700 Καηά θζίκμοζα ζεηνά: 100 (4 + 3 + 3 ) = 100 4

Άδεηεξ Λμγηζμηθώκ (Άζθεζε) Ιζπονηζμόξ. Η ηαληκόμεζε θαηά θζίκμοζα ηάλε δίκεη ηεκ βέιηηζηε ιύζε. Απόδεηλε (με άημπμ θαη επηπείνεμα ακηαιιαγήξ) S = ε ιύζε ημο άπιεζημο αιγμνίζμμο θαηά θζίκμοζα ηάλε. Φ = ε βέιηηζηε ιύζε Τπμζέημομε όηη S Φ H Φ πενηέπεη μηα ημοιάπηζημκ ακηηζηνμθή ςξ πνμξ ηεκ S Δειαδή, ζε δομ δηαδμπηθμύξ μήκεξ k θαη k+1 ηεξ Φ ζα πνέπεη: r k < Φ r k+1 Ακ ακηαιιάλμομε ηα r k θαη r k+1 ζα πνέπεη κα θενδίζμομε θάηη: Φ: 100 ( (r k ) k + (r k+1 ) k+1 ) Φ : 100 ( (r k+1 ) k + (r k ) k+1 ) (δειαδή ζέιμομε Φ < Φ) Σα οπόιμηπα θμμμάηηα ηςκ Φ θαη Φ παναμέκμοκ ακαιιμίςηα. Γκςνίδμομε όηη r k < r k+1 θαη επεηδή r i > 1: r k (r k -1) < r k+1 (r k+1-1) (r k ) k (r k -1) < (r k+1 ) k (r k+1-1) (r k ) k+1 - (r k ) k < (r k+1 ) k+1 - (r k+1 ) k (r k ) k+1 + (r k+1 ) k < (r k+1 ) k+1 + (r k ) k Φ < Φ. Άνα Φ δεκ είκαη βέιηηζηε. 47

Άδεηεξ Λμγηζμηθώκ (Άζθεζε) Ιζπονηζμόξ. Η ηαληκόμεζε θαηά θζίκμοζα ηάλε δίκεη ηεκ βέιηηζηε ιύζε. Άπιεζημξ Αιγόνηζμμξ: 1. Σαληκόμεζε ηηξ άδεηεξ θαηά θζίκμοζα ηάλε r 1 > r > > r n. Κάζε μήκα επέιελε ημ r i Υνόκμξ Ο(n log n ): ιόγς ηαληκόμεζεξ Παναπιήζηα εθδμπή: Θέιμομε κα πμοιήζμομε Η/Τ πμο ημ θόζημξ ημοξ μεηώκεηαη θάζε μήκα θαηά έκα ζοκηειεζηή r j < 1 : μεηά από k μήκεξ θμζηίδεη 100 (r j ) k. Πμηα είκαη ε βέιηηζηε ζεηνά πώιεζεξ; Π.π. r 1 = 3/4, r = 1/, r 3 = 1/100 48

οκημμόηενεξ Δηαδνμμέξ ζε Γναθήμαηα

Πνόβιεμα οκημμόηενεξ Δηαδνμμήξ Δίθηομ ζοκημμόηενςκ δηαδνμμώκ Καηεοζοκόμεκμ γνάθεμα G = (V, E). Αθεηενία s, πνμμνηζμόξ t. Κόζημξ e = μήθμξ ηεξ αθμήξ e. Πνόβιεμα ζοκημμόηενεξ δηαδνμμήξ: εύνεζε ηεξ ζοκημμόηενεξ θαηεοζοκόμεκεξ δηαδνμμήξ από ημκ s ζημκ t. Κόζημξ s-t δηαδνμμήξ: δ(s,t) θόζημξ δηαδνμμήξ = άζνμηζμα ηςκ αθμώκ (ηα μήθε ημοξ) ηεξ δηαδνμμήξ s 1 0 30 3 18 11 1 4 3 1 Κόζημξ δηαδνμμήξ (s--3--t) = + 3 + + 1 = 0. 7 44 t 0

Ιδηόηεηα οκημμόηενεξ Δηαδνμμήξ Ιδηόηεηα οπμδηαδνμμήξ Έζης P = (v 1,, v k ) μηα ζοκημμόηενε δηαδνμμή. Σόηε μπμηαδήπμηε οπμδηαδνμμή (v i,, v j ) ηεξ P είκαη βέιηηζηε, 1 i,j k Δειαδή: H οπμδηαδνμμή (v i,, v j ) είκαη ε ζοκημμόηενε v i - v j δηαδνμμή. s 1 0 30 3 18 11 1 4 3 1 Κόζημξ δηαδνμμήξ (s--3--t) = + 3 + + 1 = 0. 7 44 t 1

Αιγόνηζμμξ ημο Dijkstra Ο αιγόνηζμμξ ημο Dijkstra. Δηαηήνεζε ζοκόιμο θόμβςκ S πμο έπμοκ ακαθαιοθζεί: γηα θάζε θόμβμ u ημο S γκςνίδμομε ηε ζοκημμόηενε δηαδνμμή d(u) από ηεκ αθεηενία s. Ανπηθμπμημύμε S = { s }, d(s) = 0, v V-{s}: d(v) =. Γπακαιεπηηθά επηιέγμομε θόμβμ v πμο δεκ έπεη ακαθαιοθζεί πμο ειαπηζημπμηεί ( v) min e ( u, v) : us d( u) πνμζζέημομε v ζημ S, θαη ζέημομε d(v) = (v). e, ζοκημμόηενε δηαδνμμή ζε θάπμημ u πμο έπεη ακαθαιοθζεί, αθμιμοζμύμεκμ από μηα μμκαδηθή αθμή (u, v) S d(u) u e v s foreach edge e = (u,v) do if d(v) > d(u) + e d(v) = d(u) + e

Αιγόνηζμμξ ημο Dijkstra Ο αιγόνηζμμξ ημο Dijkstra. Δηαηήνεζε ζοκόιμο θόμβςκ S πμο έπμοκ ακαθαιοθζεί: γηα θάζε θόμβμ u ημο S γκςνίδμομε ηε ζοκημμόηενε δηαδνμμή d(u) από ηεκ αθεηενία s. Ανπηθμπμημύμε S = { s }, d(s) = 0, v V-{s}: d(v) =. Γπακαιεπηηθά επηιέγμομε θόμβμ v πμο δεκ έπεη ακαθαιοθζεί πμο ειαπηζημπμηεί ( v) min e ( u, v) : us d( u) πνμζζέημομε v ζημ S, θαη ζέημομε d(v) = (v). e, ζοκημμόηενε δηαδνμμή ζε θάπμημ u πμο έπεη ακαθαιοθζεί, αθμιμοζμύμεκμ από μηα μμκαδηθή αθμή (u, v) S d(u) u e v s foreach edge e = (u,v) do if d(v) > d(u) + e d(v) = d(u) + e 3

Αιγόνηζμμξ ημο Dijkstra: Απόδεηλε Ονζόηεηαξ Ιδηόηεηα. Γηα θάζε θόμβμ u S, d(u) είκαη ημ μήθμξ ζοκημμόηενεξ s-u δηαδνμμήξ. Απόδεηλε. (με επαγςγή ζημ S ) Βάζε: Γηα S = 1 ηζπύεη. Γπαγςγηθή Τπόζεζε: Τπμζέημομε όηη ηζπύεη γηα S = k 1. Έζης v μ επόμεκμξ θόμβμξ γηα ημ S, θαη έζης (u,v) ε επηιεγμέκε αθμή. Η ζοκημμόηενε s-u δηαδνμμή + (u, v) : s-v δηαδνμμή μήθμοξ π(v). Έζης ηοπαία s-v δηαδνμμή P. Θα δείλμομε όηη δεκ μπμνεί κα είκαη < π(v). Έζης (x,y) ε πνώηε αθμή ημο P πμο θεύγεη από ημ S, θαη έζης P' ε οπμδηαδνμμή πνμξ ημκ x. Η P είκαη ήδε πμιύ μεγάιε από ηε ζηηγμή πμο θεύγεη από ημ S. s P P' x y S u (P) (P') + (x,y) d(x) + (x, y) (y) (v) v μη-αρνητικά βάρη επαγςγηθή οπόζεζε μνηζμόξ ημο π(y) Ο αιγόνηζμμξ ημο Dijkstra επηιέγεη ημκ v ακηί ημο y 4

Αιγόνηζμμξ ημο Dijkstra: Τιμπμίεζε Γηα θάζε θόμβμ v πμο δεκ έπεη ακαθαιοθζεί δηαηενεί (v) min d(u) e. e (u,v) : u S Γπόμεκμξ θόμβμξ = θόμβμξ με ημ ειάπηζημ π(v). Όηακ ακαθαιύπημομε ημκ v, γηα θάζε πνμζθείμεκε αθμή e = (v, w), εκεμενώκμομε (w) min { (w), (v) e }. foreach edge e = (u,v) do if d(v) > d(u) + e d(v) = d(u) + e Απμδμηηθή οιμπμίεζε. Δηαηήνεζε ημοξ θόμβμοξ πμο δεκ έπμοκ ακαθαιοθζεί ζε μηα μονά πνμηεναηόηεηαξ (PQ) με πνμηεναηόηεηα π(v). Λεηημονγία PQ Insert ExtractMin ChangeKey Dijkstra n n m Πίκαθαξ n n 1 Δοαδ. ςνόξ log n log n log n Priority Queue Οονά Fib 1 log n IsEmpty n 1 1 1 ύκμιμ n m log n m + n log n 1 Οονά Fibonacci: ηα όνηα ηςκ δηαθνηηώκ ιεηημονγηώκ είκαη επημενηζμέκμη πνόκμη

Αιγόνηζμμξ ημο Dijkstra: Τιμπμίεζε Dijkstra(G,s) { foreach v V do { d[v] = } Απσικοποίηζε μια οςπά πποηεπαιόηηηαρ Q με n ζηοισεία: Q = V d[s] = 0 while(q δεν είναι άδεια) { v = ExtractMin(Q) foreach e = (v,w) E do if d(w) > d(v) + e { d(w) = d(v) + e // μείωζη πποηεπαιόηηηαρ ChangeKey(Q,w,d[w]) // μείωζη κλειδιού } } } Δηαηενμύμε ημ V-S ζε μηα μονά πνμηεναηόηεηαξ Q ηεκ μοζία βνίζθμομε ηηξ ζοκημμόηενεξ δηαδνμμέξ (απμζηάζεηξ d[v]) γηα θάζε θόμβμ v από ηεκ αθεηενία s Μπμνμύμε κα επεθηείκμομε ημκ αιγόνηζμμ έηζη ώζηε κα απμζεθεύεη ημκ πνμεγμύμεκμ θόμβμ γηα ηεκ δηαδνμμή από ημ s ζημ t (p[w]=v)

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα Γύνεζε ηεξ ζοκημμόηενεξ δηαδνμμήξ από ημ s ζημ t. 4 3 s 18 1 0 30 11 1 4 1 7 44 t 7

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { } PQ = { s,, 3, 4,,, 7, t } 0 s 1 0 30 18 4 11 1 4 3 1 εθηίμεζε απόζηαζεξ 7 44 t 8

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { } PQ = { s,, 3, 4,,, 7, t } δηαγναθή ειαπίζημο 0 s 1 0 30 18 4 11 1 4 3 1 εθηίμεζε απόζηαζεξ 7 44 t

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s } PQ = {, 3, 4,,, 7, t } μείςζε θιεηδημύ X 0 s 1 X 0 30 18 4 11 1 4 3 1 εθηίμεζε απόζηαζεξ 7 X 1 44 t 0

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s } PQ = {, 3, 4,,, 7, t } X δηαγναθή ειαπίζημο 0 s 1 X 0 30 18 4 11 1 4 3 1 εθηίμεζε απόζηαζεξ 7 X 1 44 t 1

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s, } PQ = { 3, 4,,, 7, t } X 0 s 1 X 0 30 18 4 11 1 4 3 1 7 X 1 44 t

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s, } PQ = { 3, 4,,, 7, t } μείςζε θιεηδημύ X X 33 0 s 1 X 0 30 18 4 11 1 4 3 1 7 X 1 44 t 3

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s, } PQ = { 3, 4,,, 7, t } X X 33 0 s 1 X 0 30 18 4 δηαγναθή ειαπίζημο 11 1 4 3 1 7 X 1 44 t 4

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, } PQ = { 3, 4,, 7, t } 3 X X 33 X 0 s 1 X 0 30 44 X 18 4 11 1 4 3 1 7 X 1 44 t

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, } PQ = { 3, 4,, 7, t } 3 X X 33 X 0 s 1 X 0 30 44 X 18 4 11 1 4 3 1 7 X 1 44 δηαγναθή ειαπίζημο t

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,,, 7 } PQ = { 3, 4,, t } 3 X X 33 X 0 s 1 X 0 30 44 X X 3 18 4 11 1 4 3 1 7 X 1 44 t X 7

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,,, 7 } PQ = { 3, 4,, t } δηαγναθή ειαπίζημο 3 X X 33 X 0 s 1 X 0 30 44 X X 3 18 4 11 1 4 3 1 7 X 1 44 t X 8

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3,, 7 } PQ = { 4,, t } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 3 1 7 X 1 44 1 t X X

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3,, 7 } PQ = { 4,, t } 3 X X 33 X 0 s 1 X 0 30 4 18 44 X 3 X 34 X δηαγναθή ειαπίζημο 11 1 4 3 1 7 X 1 44 1 t X X 70

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3,,, 7 } PQ = { 4, t } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 X 4 3 1 7 X 1 44 0 1 X t X X 71

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3,,, 7 } PQ = { 4, t } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 4 X 4 δηαγναθή ειαπίζημο 1 3 1 7 X 1 44 0 1 X t X X 7

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3, 4,,, 7 } PQ = { t } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 X 4 3 1 7 X 1 44 0 1 X t X X 73

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3, 4,,, 7 } PQ = { t } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 X 4 3 1 7 X 1 44 δηαγναθή ειαπίζημο 0 1 X t X X 74

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3, 4,,, 7, t } PQ = { } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 X 4 3 1 7 X 1 44 0 1 X t X X 7

Αιγόνηζμμξ ημο Dijkstra: Πανάδεηγμα S = { s,, 3, 4,,, 7, t } PQ = { } 3 X X 33 X 0 s 1 X 0 30 44 X X 4 18 3 X 34 11 1 4 X 4 3 1 7 X 1 44 0 1 X t X X 7

Αιγόνηζμμξ ημο Dijkstra: Υνόκμξ Γθηέιεζεξ Q = V while(q δεν είναι άδεια) { v = ExtractMin(Q) foreach e = (v,w) E do if d(w) > d(v) + e { d(w) = d(v) + e // μείωζη πποηεπαιόηηηαρ ChangeKey(Q,w,d[w]) // μείωζη κλειδιού } } Βνόγπμξ while: n-1 επακαιήρεηξ, θάζε θμνά αθαηνείηαη έκαξ θόμβμξ ExtractMin & ChangeKey: Ο(log n) ιόγς μονάξ πνμηεναηόηεηαξ Πόζμ ζοπκά εθηειείηαη ε ChangeKey γηα μηα αθμή (v,w); όηακ επηιέγμομε ημ άθνμ w ζημ S (δειαδή, w = ΓxtractMin(Q)) ηόηε εθηειείηαη μηα θμνά γηα θάζε μηα αθμή. Γπμμέκςξ: Ο(n) ανπηθμπμίεζε + O(n) επακαιήρεηξ + Ο(n) Extactmin + Ο(m) ChangeKey = O(m log n) (δηόηη m > n) 77

Καιή Μειέηε!!

Ανοικτά Ακαδημαϊκά Μαθήματα Πανεπιστήμιο Ιωαννίνων Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Σημειώματα Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Λέκτορας Χάρης Παπαδόπουλος «Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων». Έκδοση: 1.0. Ιωάννινα 0. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1111. Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.