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

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

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

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

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

Multiple Choice Examination

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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

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

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

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

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

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

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

Η ΤΛΗ ΣΩΝ ΜΑΘΗΜΑΣΙΚΩΝ Γ ΣΑΞΗ ΗΜΓΡΗΙΟΤ ΓΓΛ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΓΣΙΚΩΝ ΠΟΤΔΩΝ ΚΑΙ ΠΟΤΔΩΝ ΟΙΚΟΝΟΜΙΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗ Γ 62 ΜΑΘΗΜΑΣΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΓΡΙΓΥΟΜΓΝΑ ΓΙΑΓΩΓΗ...3 ΜΓΡΟ Ι ΝΟΜΟΘΓΣΙΚΟ ΠΛΑΙΙΟ ΚΑΙ ΑΝΑΝΓΩΙΜΓ ΠΗΓΓ ΓΝΓΡΓΓΙΑ ΚΓΦΑΛΑΙΟ Α ΓΘΝΙΚΟ ΘΓΜΙΚΟ ΠΛΑΙΙΟ ΣΩΝ ΑΠΓ

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

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

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

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

Ψηφιακός Τόπος Εργασίας Γνγμδόηεξ Πνμζςπηθή Σειίδα Γνγαδόμεκμξ Πνμζςπηθή Σειίδα Μηνύματα Θέση Εργασίας Λαγωνικό Βιογραυικό

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

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

Ιάζεμα: Ονγάκςζε Παναγςγήξ Θεςνία Δηδάζθςκ: Παπαβαζηιείμο Σπφνμξ

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

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

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

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

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

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

4ε Γξαπηή Εξγαζία. Θέκα 1 ν : Μειέηε Πεξίπησζεο Α

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

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

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

Βαζηθέξ Ανπέξ Κιηκηθήξ Γλέηαζεξ. Σπύνμξ Δαμάζθμξ

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

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

Τα αμηκμλέα ζημ πνάζηκμ ηζάη

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Ιστορία της μετάφρασης

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

Η Άιμτα. Οη γμκείξ ηεξ θαη μη γμκείξ ηεξ Ζόιεξ έθακακ μήκοζε ζημ πνώεκ αθεκηηθό ημοξ θαη θαηάθενακ κα ημκ θοιαθίζμοκ.

ηδάζθςκ: εµήηνεξ Ζεσκαιηπμύν

Problems & Questions on MAC Layer

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

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

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

Εκκλησιαστικό Δίκαιο

H XHMEIA EINAI ΙΑΓΖΗΕ

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Transcript:

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

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

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

Δοκαμηθυξ Πνμγναμμαηηζμυξ ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Αζνμίζμαηα Τπμζοκυιςκ θαη αθίδηα Γοζογνάμμηζε Αθμιμοζίαξ οκημμυηενα Μμκμπάηηα Αιγυνηζμμξ ημο Bellman-Ford

Αιγμνηζμηθά Μμκηέια-Σεπκηθέξ Απιεζηία. Υηίζε μηα ιφζε ζηαδηαθά, βειηηζημπμηχκηαξ μοςπηθά θάπμημ ημπηθυ θνηηήνημ. Δηαίνεη θαη Βαζίιεοε. Δηάζπαζε έκα πνυβιεμα ζε οπμπνμβιήμαηα, ιφζε θάζε οπμπνυβιεμα ακελάνηεηα, θαη ζοκδφαζε ηηξ ιφζεηξ ηςκ μοςπηθυξ = πμο δεκ έπεη δημναηηθυηεηα, πμο πνμζθμιιάηαη ζημ πανειζυκ θαη δεκ μπμνεί κα πνμβιέρεη κέεξ ελειίλεηξ οπμπνμβιεμάηςκ γηα κα ζοκζέζεηξ ηεκ ιφζε ημο ανπηθμφ πνμβιήμαημξ. Δοκαμηθυξ Πνμγναμμαηηζμυξ. Δηάζπαζε έκα πνυβιεμα ζε μηα ζεηνά απυ επηθαιοπηυμεκα οπμπνμβιήμαηα (ηα απμηειέζμαηά ημοξ επακαπνεζημμπμημφκηαη ανθεηέξ θμνέξ), θαη ζφκζεζε ζςζηέξ ιφζεηξ γηα υιμ θαη μεγαιφηενα οπμπνμβιήμαηα. 4

Ιζημνία Δοκαμηθμφ Πνμγναμμαηηζμμφ Bellman. [195s] Πνςημπυνμξ ζηε ζοζηεμαηηθή μειέηε ημο δοκαμηθμφ πνμγναμμαηηζμμφ. Γηομμιμγία. Δοκαμηθυξ πνμγναμμαηηζμυξ = ζπεδηαζμυξ με ηεκ πάνμδμ ημο πνυκμο. Συηε πμιιά θοβενκεηηθά ηδνφμαηα (π.π. ε θοβένκεζε ηςκ ΗΠΑ) ήηακ ακηίζεηα με ηεκ ένεοκα ζημ πεδίμ ηςκ μαζεμαηηθχκ. Ο Bellman ακαδήηεζε έκα εκηοπςζηαθυ υκμμα γηα κα απμθφγεη ηεκ ακηηπανάζεζε. «είκαη αδφκαημ κα πνεζημμπμηεζεί ε ιέλε δοκαμηθυξ με οπμηημεηηθή έκκμηα» «θάηη ζημ μπμίμ δεκ ζα μπμνμφζε κα δηαθςκήζεη μφηε μέιμξ ηεξ θοβένκεζεξ» Reference: Bellman, R. E. Eye of the Hurricane, An Autobiography. Γίκαη πνάγμαηη «πηαζάνηθμ» υκμμα. 5

Γθανμμγέξ Δοκαμηθμφ Πνμγναμμαηηζμμφ Πενημπέξ. Βημπιενμθμνηθή Θεςνία ειέγπμο (control theory). Θεςνία πιενμθμνίαξ (information theory). Γπηπεηνεζηαθή ένεοκα (operations research). Πιενμθμνηθή: ζεςνεηηθή, γναθηθά, ηεπκεηή κμεμμζφκε,. Ονηζμέκμη δηάζεμμη αιγυνηζμμη δοκαμηθμφ πνμγναμμαηηζμμφ. Unix (Linux) εκημιή diff γηα ζφγθνηζε δομ ανπείςκ. Viterbi γηα θνομμέκα Μαθνμβηακά μμκηέια. Smith-Waterman γηα εοζογνάμμηζε αθμιμοζηχκ. Bellman-Ford γηα ζοκημμυηενε δηαδνμμή ζε δίθηοα. Cocke-Kasami-Younger γηα ακάιοζε γναμμαηηθχκ πςνίξ ζομθναδυμεκα. 6

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

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ Πνυβιεμα ημο ηαζμηζμέκμο Υνμκμπνμγναμμαηηζμμφ Δηαζηεμάηςκ. Σμ αίηεμα j λεθηκά ηε ζηηγμή s j, ηειεηχκεη ηε ζηηγμή f j, θαη έπεη βάνμξ v j. Δομ αηηήμαηα είκαη ζομβαηά ακ δεκ επηθαιφπημκηαη. ηυπμξ: εφνεζε οπμζοκυιμο ζομβαηχκ αηηεμάηςκ μέγηζημο βάνμοξ. άζνμηζμα ηςκ επημένμοξ βανχκ a b c d e f g 1 2 3 4 5 6 7 8 9 1 h Υνυκμξ 8

Ακαζθυπεζε με-ζηαζμηζμέκμο Υνμκμπνμγναμμαηηζμμφ Δηαζηεμάηςκ Θομεζείηε: Ο άπιεζημξ αιγυνηζμμξ δμοιεφεη υηακ ηα βάνε είκαη ίζα (=1). Θεςνμφμε ηα αηηήμαηα ζε αφλμοζα ζεηνά ςξ πνμξ ημ πνυκμ ηενμαηηζμμφ. Πνμζζέημομε έκα αίηεμα ζημ οπμζφκμιμ ακ είκαη ζομβαηυ με ηα πνμεγμφμεκα αηηήμαηα πμο επηιέπζεθακ. Παναηήνεζε. Ο άπιεζημξ αιγυνηζμμξ μπμνεί κα απμηφπεη ζεαμαηηθά ακ επηηναπμφκ αοζαίνεηα βάνε. βάνμξ = 999 b βάνμξ = 1 a 1 2 3 4 5 6 7 8 9 1 11 Υνυκμξ 9

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ Δηαηάζζμομε ηα αηηήμαηα ζφμθςκα με ημ πνυκμ ηενμαηηζμμφ: f 1 f 2... f n Ονηζμυξ. p(j) = μέγηζημξ δείθηεξ i (< j) ηέημημξ χζηε ημ αίηεμα i κα είκαη ζομβαηυ με ημ αίηεμα j. Π.π.: p(8) = 5, p(7) = 3, p(2) =. 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 1 11 8 Υνυκμξ 1

Δοκαμηθυξ Πνμγναμμαηηζμυξ: Δοαδηθή επηιμγή ομβμιηζμυξ. OPT(j) = ηημή ηεξ βέιηηζηεξ ιφζεξ γηα ημ πνυβιεμα απυ ηα αηηήμαηα 1, 2,..., j. 1 ε Πενίπηςζε: OPT δηαιέγεη ημ αίηεμα j με βάνμξ v j δεκ μπμνμφκ κα πνεζημμπμηεζμφκ ηα αζφμβαηα αηηήμαηα { p(j) + 1, p(j) + 2,..., j - 1 } πνέπεη κα πενηέπεη ηε βέιηηζηε ιφζε ημο οπμπνμβιήμαημξ απυ ηα οπυιμηπα ζομβαηά αηηήμαηα 1, 2,..., p(j) 2 ε Πενίπηςζε: OPT δεκ δηαιέγεη ημ αίηεμα j. πνέπεη κα πενηέπεη ηε βέιηηζηε ιφζε ημο οπμπνμβιήμαημξ απυ ηα οπυιμηπα ζομβαηά αηηήμαηα 1, 2,..., j-1 OPT( p(j) ) OPT( j-1 ) βέιηηζηα οπμπνμβιήμαηα if j OPT( j) max v j OPT( p( j)), OPT( j 1) otherwise 11

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Ωμή Βία Αιγυνηζμμξ Ωμήξ Βίαξ. Είζοδορ: n, s 1,,s n, f 1,,f n, v 1,,v n Ταξινόμηζε ηα αιηήμαηα ωρ ππορ ηο σπόνο ηεπμαηιζμού: f 1 f 2... f n. Υπολόγιζε p(1), p(2),, p(n) Compute-Opt(j) { if (j = ) return else return max( v j + Compute-Opt(p(j)), Compute-Opt(j-1) ) } Κάλεζε Compute-Opt(n) 12

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Ωμή Βία Παναηήνεζε. Ο ακαδνμμηθυξ αιγυνηζμμξ απμηογπάκεη ζεαμαηηθά θαζχξ επακατπμιμγίδεη πιεμκάδμκηα οπμπνμβιήμαηα εθζεηηθυξ αιγυνηζμμξ Π.π.. Σμ πιήζμξ ηςκ ακαδνμμηθχκ θιήζεςκ ζε μηα μηθμγέκεηα πενηπηχζεςκ αολάκεη υπςξ ε Fibonacci αθμιμοζία ( f(n) = f(n-1) + f(n-2) ). 5 1 4 3 2 3 3 2 2 1 4 p(1) =, p(j) = j-2 5 2 1 1 1 1 Παναηήνεζε. H Compute-Opt επηιφεη n+1 δηαθμνεηηθά οπμπνμβιήμαηα, Compute-Opt(), Compute-Opt(1),, Compute-Opt(n). Γνχηεμα. Πχξ απαιείθμομε ημκ πιεμκαζμυ ηςκ θιήζεςκ; 13

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Απμμκεμυκεοζε Απμμκεμυκεοζε. Απμζήθεοζε ηα απμηειέζμαηα θάζε οπμπνμβιήμαημξ ζε μηα θαζμιηθή ζέζε μκήμεξ (εφθμιε πνμζπειάζημε) θαη ακαδήηεζε μυκμ υηακ πνεηάδεηαη. Είζοδορ: n, s 1,,s n, f 1,,f n, v 1,,v n Ταξινόμηζε ηα αιηήμαηα ωρ εξήρ: f 1 f 2... f n. Υπολόγιζε p(1), p(2),, p(n) for j = 1 to n M[j] = empty M[] = θαζμιηθυξ πίκαθαξ M-Compute-Opt(j) { if (M[j] είναι empty) M[j] = max( v j + M-Compute-Opt(p(j)), M-Compute-Opt(j-1) ) return M[j] } Κάλεζε Μ-Compute-Opt(n) 14

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Υνυκμξ Γθηέιεζεξ Ιζπονηζμυξ. Η εθδμπή απμμκεμυκεοζεξ ζέιεη πνυκμ O(n log n). Σαληκυμεζε ςξ πνμξ πνυκμ ηενμαηηζμμφ: O(n log n). Τπμιμγηζμυξ p() : O(n log n) με ηαληκυμεζε ςξ πνμξ πνυκμ έκανλεξ. M-Compute-Opt(j): θάζε θιήζε απαηηεί πνυκμ O(1) θαη είηε (i) επηζηνέθεη μηα οπάνπμοζα ηημή M[j] (ii) ζομπιενχκεη μηα κέα ηημή M[j] με δομ ακαδνμμηθέξ θιήζεηξ Μέηνμ πνμυδμο αιγμνίζμμο = # με-θεκχκ θειηχκ ημο M[]. ανπηθά =, έςξ n. (ii) αολάκεη ημ θαηά 1 ημ πμιφ 2n ακαδνμμηθέξ θιήζεηξ. Ο ζοκμιηθυξ πνυκμξ ημο M-Compute-Opt(n) είκαη O(n). εμείςζε. O(n) ακ ηα αηηήμαηα έπμοκ ήδε ηαληκμμεζεί θαηά πνυκμοξ έκανλεξ θαη ηενμαηηζμμφ 15

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Γφνεζε Λφζεξ Γνχηεμα. Ο δοκαμηθυξ πνμγναμμαηηζμυξ οπμιμγίδεη ηε βέιηηζηε ηημή. Ση γίκεηαη ακ ζέιμομε ηε ιφζε (πμηα αηηήμαηα ακήθμοκ ζηεκ βέιηηζηε ιφζε); Απάκηεζε. Γθηειμφμε έκα επηπιέμκ βήμα μεηά-επελενγαζίαξ ημο πίκαθα Μ, ράπκμκηαξ ηε ιφζε. Κάλεζε M-Compute-Opt(n) Κάλεζε Find-Solution(n) Find-Solution(j) { if (j = ) μην εκηςπώνειρ ηίποηα else if (v j + M[p(j)] > M[j-1]) εκηύπωζε j Find-Solution(p(j)) else Find-Solution(j-1) } # ακαδνμμηθχκ θιήζεςκ n O(n). 16

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Υςνίξ Ακαδνμμή Απμμκεμυκεοζε ή Γπακάιερε ζηα οπμπνμβιήμαηα. Ξεδηπιχκμομε ηεκ ακαδνμμή. Είζοδορ: n, s 1,,s n, f 1,,f n, v 1,,v n Ταξινόμηζε ηα αιηήμαηα ωρ εξήρ: f 1 f 2... f n. Υπολόγιζε p(1), p(2),, p(n) Iterative-Compute-Opt { M[] = for j = 1 to n M[j] = max( v j + M[p(j)], M[j-1] ) } Βασική Ιδέα του Δυναμικού Προγραμματισμού!! 17

ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμυξ Δηαζηεμάηςκ: Υςνίξ Ακαδνμμή Iterative-Compute-Opt { M[] = for j = 1 to n M[j] = max( v j + M[p(j)], M[j-1] ) } 18

Δοκαμηθυξ Πνμγναμμαηηζμυξ οκηαγή Υαναθηενηζμυξ ηεξ δμμήξ ημο πνμβιήμαημξ Ακαδνμμηθυξ μνηζμυξ ηεξ βέιηηζηεξ ιφζεξ Τπμιμγηζμυξ ηεξ ηημήξ ηεξ βέιηηζηεξ ιφζεξ Καηαζθεοή ηεξ βέιηηζηεξ ιφζεξ απυ ηεκ οπμιμγηζμέκε πιενμθμνία Σα οπμπνμβιήμαηα πνέπεη κα ηθακμπμημφκ μνηζμέκεξ ηδηυηεηεξ: Πμιοςκομηθυ πιήζμξ οπμπνμβιεμάηςκ Σμ ανπηθυ πνυβιεμα οπμιμγίδεηαη «εφθμια» θμηηάδμκηαξ ηηξ ιφζεηξ ηςκ οπμπνμβιεμάηςκ Φοζηθή δηάηαλε ηςκ οπμπνμβιεμάηςκ απυ «μηθνά» ζε «μεγάια», με μηα εφθμια οπμιμγηδυμεκε ακαδνμμή 19

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Γιάπηζηα Σεηνάγςκα. Θεμειηχδεξ πνυβιεμα ζηαηηζηηθήξ θαη ανηζμεηηθήξ ακάιοζεξ. Δίκμκηαη n ζεμεία ζημ επίπεδμ: (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ). Γφνεζε εοζείαξ y = ax + b πμο ειαπηζημπμηεί ημ ζθάιμα απυζηαζεξ: y x 21

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Γιάπηζηα Σεηνάγςκα. Θεμειηχδεξ πνυβιεμα ζηαηηζηηθήξ θαη ανηζμεηηθήξ ακάιοζεξ. Δίκμκηαη n ζεμεία ζημ επίπεδμ: (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ). Γφνεζε εοζείαξ y = ax + b πμο ειαπηζημπμηεί ημ ζθάιμα απυζηαζεξ: n SSE (y i ax i b) 2 i1 y x Λφζε. Δηαθμνηθυξ ιμγηζμυξ ειάπηζημ ζθάιμα πεηοπαίκμομε υηακ a n x i i y i ( i x i ) ( i y i ), b n x 2 i ( x i ) 2 i i i y i a i x i n 22

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Σα ζεμεία βνίζθμκηαη ζε αθμιμοζίεξ απυ δηάθμνεξ εοζείεξ. Δεδμμέκμο n ζεμείςκ ζημ επίπεδμ (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ) με x 1 < x 2 <... < x n, βνείηε μηα αθμιμοζία εοζεηχκ πμο ειαπηζημπμημφκ f(x). Γνχηεμα. Πμηα είκαη ε θαηάιιειε επηιμγή γηα ηεκ f(x) πμο εληζμννμπεί ηεκ αθνίβεηα θαη ηεκ μηθμκμμία; ηεηναγςκηθυ ζθάιμα πιήζμξ ηςκ εοζεηχκ y x 23

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα Σα ζεμεία βνίζθμκηαη ζε αθμιμοζίεξ απυ δηάθμνεξ εοζείεξ. Δεδμμέκμο n ζεμείςκ ζημ επίπεδμ (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ) με x 1 < x 2 <... < x n, βνείηε μηα αθμιμοζία εοζεηχκ πμο ειαπηζημπμημφκ ημ άζνμηζμα ηςκ επημένμοξ αζνμηζμάηςκ ηεηναγχκςκ E ζε θάζε ημήμα ημ πιήζμξ ηςκ εοζεηχκ L οκάνηεζε πμηκήξ: E + c L, γηα θάπμηα δεδμμέκε ζηαζενά c >. y x 24

Δοκαμηθυξ Πνμγναμμαηηζμυξ: Πμιιαπιέξ Γπηιμγέξ ομβμιηζμυξ. OPT(j) = ειάπηζημ θυζημξ γηα ηα ζεμεία p 1, p 2,..., p j. e(i, j) = ειάπηζημ ζθάιμα θάπμηαξ εοζείαξ γηα ηα ζεμεία p i, p i+1,..., p j. Γηα ημκ οπμιμγηζμυ ημο OPT(n): Σμ ηειεοηαίμ ζεμείμ p n ακήθεη ζε έκα μυκμ ημήμα θαη αοηυ ημ ημήμα λεθηκά ζε θάπμημ p i γηα θάπμημ i < n. OPT( n) min 1 in e( i, n) copt ( i 1) OPT(i-1) i n Γεκηθεφμκηαξ, γηα ημκ οπμιμγηζμυ ημο OPT(j): Σμ ηειεοηαίμ ημήμα πνεζημμπμηεί ηα ζεμεία p i, p i+1,..., p j γηα θάπμημ i. Κυζημξ = e(i, j) + c + OPT(i-1). if j OPT( j) min e(i, j) c OPT(i 1) otherwise 1 i j 25

Σμεμαημπμηεμέκα Γιάπηζηα Σεηνάγςκα: Αιγυνηζμμξ Είζοδορ: n, p 1,,p N, c Segmented-Least-Squares() { M[] = for j = 1 to n for i = 1 to j ςπολόγιζε ηο ζθάλμα ελασίζηων ηεηπαγώνων e ij για ηο ημήμα p i,, p j for j = 1 to n M[j] = min 1 i j (e ij + c + M[i-1]) } return M[n] Υνυκμξ Γθηέιεζεξ. O(n 3 ). μπμνεί κα μεηςζεί ζε O(n 2 ) με πνμ-οπμιμγηζμυ δηαθυνςκ ζηαηηζηηθχκ Βήμα δοζθμιίαξ= οπμιμγηζμυξ ηςκ e(i, j) γηα ηα O(n 2 ) δεφγε, επηπιέμκ θυζημξ οπμιμγηζμμφ ηφπμο: O(n) γηα θάζε δεφγμξ. 26

Σμ πνυβιεμα ημο αθηδίμο

Σμ πνυβιεμα ημο αθηδίμο (Knapsack Problem) Σμ πνυβιεμα ημο αθηδίμο. Δίκμκηαη n ακηηθείμεκα θαη έκα ζαθίδημ Σμ ακηηθείμεκμ i δογίδεη w i > θηιά θαη έπεη ηημή v i >. Σμ ζαθίδημ «ακηέπεη» μέπνη W θηιά. ηυπμξ: γέμηζμα ημο ζαθηδίμο έηζη χζηε κα μεγηζημπμηεζεί ε ζοκμιηθή ηημή. # ηημή βάνμξ Π.π.: { 3, 4 } έπμοκ ηημή 4. 1 1 1 W = 11 2 3 6 2 18 5 4 5 22 28 6 7 Άπιεζηα: πνυζζεζε ακηηθείμεκα (υζμ w i < W) με μέγηζηε ακαιμγία v i / w i. Ακηηπανάδεηγμα: { 5, 2, 1 } πεηοπαίκεη ηημή = 35 μ άπιεζημξ αιγυνηζμμξ δεκ είκαη βέιηηζημξ. 28

Δοκαμηθυξ Πνμγναμμαηηζμυξ: Μηα ιακζαζμέκε εθθίκεζε Ονηζμυξ. OPT(i) = max θένδμξ απυ οπμζφκμιμ ηςκ ακηηθεημέκςκ {1,, i}. 1 ε Πενίπηςζε: OPT δεκ επηιέγεη ημ ακηηθείμεκμ i. OPT επηιέγεη ημ θαιφηενμ απυ { 1, 2,, i-1 } 2 ε Πενίπηςζε: OPT επηιέγεη ημ ακηηθείμεκμ i. επηιέγμκηαξ ημ i δεκ ζοκεπάγεηαη άμεζα υηη ζα πνέπεη κα απμννίρμομε άιια ακηηθείμεκα πςνίξ ηε γκχζε ηςκ ακηηθεημέκςκ πνηκ ηεκ επηιμγή ημο i, δεκ γκςνίδμομε ακ έπμομε δηαζέζημμ πχνμ γηα ημ i ομπέναζμα. Υνεηαδυμαζηε κα δηαζπάζμομε θαη ζε άιια οπμ-πνμβιήμαηα! 29

Δοκαμηθυξ Πνμγναμμαηηζμυξ: Πνμζζέημκηαξ μηα κέα μεηαβιεηή Ονηζμυξ. OPT(i, w) = max θένδμξ απυ οπμζφκμιμ ηςκ {1,, i} με μέγηζηε επηηνεπυμεκε βανφηεηα w. 1 ε Πενίπηςζε: OPT δεκ επηιέγεη ημ ακηηθείμεκμ i. OPT επηιέγεη ηα θαιφηενα απυ { 1, 2,, i-1 } με επηηνεπυμεκμ βάνμξ w 2 ε Πενίπηςζε: OPT επηιέγεη ημ ακηηθείμεκμ i. κέμ επηηνεπυμεκμ βάνμξ = w w i OPT επηιέγεη ηα θαιφηενα απυ { 1, 2,, i 1 } πνεζημμπμηχκηαξ ημ κέμ επηηνεπυμεκμ βάνμξ if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise δεκ επηιέγεηαη ημ i επηιέγεηαη ημ i 3

Σμ πνυβιεμα ημο αθηδίμο: απυ θάης πνμξ ηα πάκς αθίδημ. Γέμηζμα εκυξ n-επί-w πίκαθα. Είζοδορ: n, W, w 1,,w N, v 1,,v N for w = to W M[, w] = for i = 1 to n for w = 1 to W if (w i > w) M[i, w] = M[i-1, w] else M[i, w] = max {M[i-1, w], v i + M[i-1, w-w i ]} return M[n, W] 31

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } n + 1 { 1, 2 } { 1, 2, 3 } { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 32

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 n + 1 { 1 } { 1, 2 } { 1, 2, 3 } Ο(i-1,w-w i ) Ο(i-1,w) Ο(i,w) { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 33

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } 1 1 1 1 1 1 1 1 1 1 1 n + 1 { 1, 2 } { 1, 2, 3 } { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 34

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } 1 1 1 1 1 1 1 1 1 1 1 n + 1 { 1, 2 } 1 { 1, 2, 3 } { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 35

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } 1 1 1 1 1 1 1 1 1 1 1 n + 1 { 1, 2 } 1 6 { 1, 2, 3 } { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 36

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } 1 1 1 1 1 1 1 1 1 1 1 n + 1 { 1, 2 } 1 6 7 { 1, 2, 3 } { 1, 2, 3, 4 } { 1, 2, 3, 4, 5 } if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 37

Ο αιγυνηζμμξ ημο αθηδίμο W + 1 1 2 3 4 5 6 7 8 9 1 11 { 1 } 1 1 1 1 1 1 1 1 1 1 1 n + 1 { 1, 2 } 1 6 7 7 7 7 7 7 7 7 7 { 1, 2, 3 } 1 6 7 7 18 19 24 25 25 25 25 { 1, 2, 3, 4 } 1 6 7 7 18 22 24 28 29 29 4 { 1, 2, 3, 4, 5 } 1 6 7 7 18 22 28 29 34 34 4 if i OPT(i, w) OPT(i 1, w) if w i w max OPT(i 1, w), v i OPT(i 1, w w i ) otherwise OPT: { 4, 3 } ηημή = 22 + 18 = 4 W = 11 # ακη. 1 2 3 4 5 ηημή βάνμξ 1 1 6 2 18 5 22 6 28 7 38

Σμ πνυβιεμα ημο αθηδίμο: Υνυκμξ εθηέιεζεξ Υνυκμξ εθηέιεζεξ. Θ(n W). Δεκ είκαη πμιοςκομηθυ ςξ πνμξ ημ μέγεζμξ ηεξ εηζυδμο! «Φεοδμπμιοςκομηθυξ». Η εθδμπή απυθαζεξ ημο αθηδίμο είκαη NP-πιήνεξ. [Κεθάιαημ 8, ηειεοηαίμ μάζεμα] 39

Γοζογνάμμηζε Αθμιμοζίαξ

Ομμηυηεηα ζομβμιμζεηνχκ Πυζμ μμηάδμοκ μη δομ ιέλεηξ; ocurrance occurrence o c u r r a n c e - o c c u r r e n c e 6 ακακηηζημηπίεξ, 1 πάζμα o c - u r r a n c e o c c u r r e n c e 1 ακακηηζημηπία, 1 πάζμα o c - u r r - a n c e o c c u r r e - n c e ακακηηζημηπίεξ, 3 πάζμαηα 41

Γοζογνάμμηζε Αθμιμοζίαξ Γθανμμγέξ. Βάζε γηα πνμγνάμμαηα «diff». Ακαγκχνηζε μμηιίαξ. Τπμιμγηζηηθή βημιμγία. (δυμεζε μμνίςκ πνςηεσκχκ DNA: γνάμμαηα = πνςμμζχμαηα) Γοζογνάμμηζε Αθμιμοζίαξ. [Levenshtein 1966, Needleman-Wunsch 197] Πμηκή πάζμαημξ, δ > Κυζημξ με-ηαφηηζεξ, α pq Κυζημξ = άζνμηζμα ημο θυζημοξ πάζμαημξ θαη θυζημοξ με-ηαφηηζεξ. C T G A C C T A C C T - C T G A C C T A C C T C C T G A C T A C A T C C T G A C - T A C A T TC + GT + AG + 2 CA 2 + CA 42

Γοζογνάμμηζε Αθμιμοζίαξ ηυπμξ: Δεδμμέκμο δομ ζομβμιμζεηνχκ X = x 1 x 2... x m θαη Y = y 1 y 2... y n εφνεζε εοζογνάμμηζεξ ειάπηζημο θυζημοξ. Ονηζμυξ. Μηα εοζογνάμμηζε M είκαη έκα ζφκμιμ δηαηεηαγμέκςκ δεογχκ έηζη χζηε θάζε ζφμβμιμ κα εμθακίδεηαη ζε < 1 δεφγμξ πςνίξ δηαζηαονμφμεκα δεφγε. Ονηζμυξ. Σμ δεφγμξ x i -y j θαη x i' -y j' δηαζηαονχκμκηαη ακ i < i', αιιά j > j'. πςνίξ ηαίνη πςνίξ ηαίνη x 1 x 2 x 3 x 4 x 5 x 6 Π.π.: CTACCG vs. TACATG. Λφζε: M = x 2 -y 1, x 3 -y 2, x 4 -y 3, x 5 -y 4, x 6 -y 6. C T A C C - - T A C A T G G y 1 y 2 y 3 y 4 y 5 y 6 43

Γοζογνάμμηζε Αθμιμοζίαξ: Δμμή ημο Πνμβιήμαημξ Ονηζμυξ. OPT(i, j) = min θυζημξ εοζογνάμμηζεξ x 1 x 2... x i θαη y 1 y 2... y j. 1 ε Πενίπηςζε: OPT ηαηνηάδεη x i -y j. πιήνςζε θυζημξ ηαφηηζεξ γηα x i -y j + min θυζημξ εοζογνάμμηζεξ ηςκ x 1 x 2... x i-1 θαη y 1 y 2... y j-1 2 α Πενίπηςζε: OPT αθήκεη ημ x i αηαίνηαζημ. πιήνςζε ημ πάζμα γηα ημ x i + min θυζημξ εοζογνάμμηζεξ x 1 x 2... x i-1 θαη y 1 y 2... y j 2 β Πενίπηςζε : OPT αθήκεη ημ y j αηαίνηαζημ. πιήνςζε ημ πάζμα γηα ημ y j + min θυζημξ εοζογνάμμηζεξ x 1 x 2... x i θαη y 1 y 2... y j-1 OPT(i, j) j if i xi y j OPT(i 1, j 1) min OPT(i 1, j) otherwise OPT(i, j 1) i if j 44

Γοζογνάμμηζε Αθμιμοζίαξ: Αιγυνηζμμξ Sequence-Alignment(m, n, x 1 x 2...x m, y 1 y 2...y n,, ) { for i = to m M[i, ] = i for j = to n M[, j] = j } for i = 1 to m for j = 1 to n M[i, j] = min([x i, y j ] + M[i-1, j-1], + M[i-1, j], + M[i, j-1]) return M[m, n] Ακάιοζε. Θ(mn) πνυκμ θαη πχνμ (ιυγς ημο πίκαθα). οκήζςξ ζε ιέλεηξ ή πνμηάζεηξ: m, n 1. Τπμιμγηζηηθή Βημιμγία: m = n = 1,. 1 δηζ πνάλεηξ είκαη OK, αιιά 1GB πίκαθαξ; 45

Γοζογνάμμηζε Αθμιμοζίαξ: Οπηηθμπμίεζε ςξ γνάθεμα Γνάθεμα G: Κυμβμη: {..n} x {...m} = (i,j) Αθμέξ: θυζημξ μεηάβαζεξ μνηδυκηηεξ, θάζεηεξ: δ δηαγχκηεξ απυ (i-1,j-1) πνμξ (i,j): a x(i) y(j) OPT(i,j) = ειάπηζημ θυζημξ δηαδνμμήξ απυ (,) πνμξ (i,j) Βέιηηζημ: OPT(m,n) Π.π.: x = n a m e y = m e a n με δ=2 θαη α ij = 1, θςκήεκ με άιιμ θςκήεκ 1, ζφμθςκμ με άιιμ ζφμθςκμ 3, θςκήεκ με ζφμθςκμ 46

Γοζογνάμμηζε Αθμιμοζίαξ ζε Γναμμηθυ Υχνμ

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Γνχηεμα. Μπμνμφμε κα απμθφγμομε ημκ θοβηθυ πχνμ; Γφθμια. Η βέιηηζηε ηημή ζε O(m + n) πχνμ θαη O(mn) πνυκμ. Τπμιυγηζε ημ OPT(i, ) απυ ημ OPT(i-1, ). ε θάζε βήμα ζέιμομε μυκμ ηηξ ηημέξ απυ ηεκ πνμεγμφμεκε ζηήιε θαη ηεκ ηνέπμοζα ζηήιε Άνα πίκαθαξ B: 2 x m Πιέμκ δεκ είκαη απιυ κα λεδηπιχζεη ηε ιφζε μ αιγυνηζμμξ. Θεχνεμα. [Hirschberg 1975] Βέιηηζηε εοζογνάμμηζε ζε O(m + n) πχνμ θαη O(mn) πνυκμ. Έλοπκμξ ζοκδοαζμυξ ημο δηαίνεη θαη βαζίιεοε με ημκ δοκαμηθυ πνμγναμμαηηζμυ. OPT(i, j) j if i xi y j OPT(i 1, j 1) min OPT(i 1, j) otherwise OPT(i, j 1) i if j γκςνίδμομε μυκμ ηεκ ηημή θαη υπη ηεκ δηαδνμμή Γμπκεοζμέκμ απυ μηα ηδέα ημο Savitch ζε οπμιμγηζηηθή πμιοπιμθυηεηα. 48

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Γνάθεμα απμζηάζεςκ. Έζης f(i, j) ε ζοκημμυηενε δηαδνμμή απυ (,) πνμξ (i, j). Παναηήνεζε: f(i, j) = OPT(i, j). y 1 y 2 y 3 y 4 y 5 y 6 - x 1 xi y j x 2 i-j x 3 m-n 49

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Γνάθεμα απμζηάζεςκ. Έζης f(i, j) ε ζοκημμυηενε δηαδνμμή απυ (,) πνμξ (i, j). Τπμιμγίδμομε ημ f (, j) γηα θάζε j ζε O(mn) πνυκμ θαη O(m + n) πχνμ. j y 1 y 2 y 3 y 4 y 5 y 6 - x 1 x 2 i-j x 3 m-n 5

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Γνάθεμα απμζηάζεςκ. Έζης g(i, j) ε ζοκημμυηενε δηαδνμμή απυ (i, j) πνμξ (m, n). Τπμιμγίδμομε ακηηζηνέθμκηαξ ηηξ αθμέξ θαη ημοξ νυιμοξ ηςκ (, ) θαη (m, n) y 1 y 2 y 3 y 4 y 5 y 6 - x 1 i-j xi y j x 2 x 3 m-n 51

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Γνάθεμα απμζηάζεςκ. Έζης g(i, j) ε ζοκημμυηενε δηαδνμμή απυ (i, j) πνμξ (m, n). Τπμιμγίδμομε ημ g(, j) γηα θάζε j ζε O(mn) πνυκμ θαη O(m + n) πχνμ. j y 1 y 2 y 3 y 4 y 5 y 6 - x 1 i-j x 2 x 3 m-n 52

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ 1 ε Παναηήνεζε. Σμ θυζημξ ζοκημμυηενεξ δηαδνμμήξ μέζς (i, j) είκαη f(i, j) + g(i, j). y 1 y 2 y 3 y 4 y 5 y 6 - x 1 i-j x 2 x 3 m-n 53

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ 2 ε Παναηήνεζε. Έζης q μ δείθηεξ πμο ειαπηζημπμηεί f(q, n/2) + g(q, n/2). Συηε, ε ζοκημμυηενε δηαδνμμή απυ (, ) ζημ (m, n) πνεζημμπμηεί ημ (q, n/2). n / 2 y 1 y 2 y 3 y 4 y 5 y 6 - x 1 i-j q x 2 x 3 m-n 54

Γοζογνάμμηζε Αθμιμοζίαξ: Γναμμηθυξ Υχνμξ Δηαίνεη: Γφνεζε ημο q πμο ειαπηζημπμηεί ημ f(q, n/2) + g(q, n/2) με ΔΠ. Σαίνηαλε ημ x q θαη ημ y n/2. Βαζίιεοε: ακαδνμμηθυξ οπμιμγηζμυξ βέιηηζηεξ εοζογνάμμηζεξ ζε θάζε ημήμα n / 2 y 1 y 2 y 3 y 4 y 5 y 6 - x 1 i-j q x 2 x 3 m-n 55

Γοζογνάμμηζε Αθμιμοζίαξ: Γθηέιεζε Υνυκμο Θεχνεμα. Έζης T(m, n) = max πνυκμξ ημο αιγμνίζμμο ζε ζομβμιμζεηνέξ μήθμοξ ημ πμιφ m θαη n. T(m, n) = O(mn log n). T(m, n) 2T(m, n/2) O(mn) T(m, n) O(mn logn) Παναηήνεζε. Η ακάιοζε μπμνεί κα βειηηςζεί δηυηη ηα δομ οπμπνμβιήμαηα έπμοκ μεγέζε (q, n/2) θαη (m - q, n/2). Αξ δμφμε πχξ δηχπκμομε έκα log n. 56

Γοζογνάμμηζε Αθμιμοζίαξ: Γθηέιεζε Υνυκμο Θεχνεμα. Έζης T(m, n) = max πνυκμξ ημο αιγμνίζμμο ζε ζομβμιμζεηνέξ μήθμοξ ημ πμιφ m θαη n. T(m, n) = O(mn). Απυδεηλε. (με επαγςγή ζημ n) O(mn) πνυκμξ οπμιμγηζμμφ f(, n/2) θαη g (, n/2) θαη εφνεζε ημο q. T(q, n/2) + T(m - q, n/2) πνυκμξ γηα δομ ακαδνμμηθέξ θιήζεηξ. Δηάιελε ζηαζενά c ηέημηα χζηε: Βάζε επαγςγήξ: m = 2 ή n = 2. Γπαγςγηθή οπυζεζε: T(m, n) 2cmn. T(m, 2) cm T(2, n) cn T(m, n) cmn T(q, n/2) T(m q, n/2) T ( m, n) T ( q, n / 2) T ( m q, n / 2) cmn 2cqn / 2 2c( m q) n / 2 cmn cqn cmn cqn cmn 2cmn 57

οκημμυηενα Δηαδνμμέξ Ξακά;

οκημμυηενεξ Δηαδνμμέξ Πνυβιεμα οκημμυηενςκ Δηαδνμμχκ. Δεδμμέκμο εκυξ θαηεοζοκυμεκμο γναθήμαημξ G = (V, E), με βάνε αθμχκ c vw, βνεξ ηε ζοκημμυηενε δηαδνμμή απυ ημκ θυμβμs πνμξ ημκ θυμβμ t. επηηνέπμομε ανκεηηθά βάνε (ζε ακηίζεζε με ημκ αιγυνηζμμ Dijkstra) Π.π. Οη θυμβμη ακαπανηζημφκ πνάθημνεξ ζε μηα πνεμαηηζηενηαθή δηάνζνςζε θαη c vw είκαη ημ θυζημξ ζοκαιιαγήξ αγμνάδμκηαξ απυ ημκ πνάθημνα v θαη πμοιχκηαξ ζημκ w. (ανκεηηθά βάνε = θένδμξ ζοκαιιαγχκ) s 9 6 2 6 1 18-16 6 3 15-8 2 3 5 11 16 4 6 19 7 44 t 59

οκημμυηενεξ Δηαδνμμέξ: απμηοπεμέκεξ πνμζπάζεηεξ Dijkstra. Μπμνεί κα απμηφπεη ακ οπάνπμοκ ανκεηηθά βάνε. 2 u 3 s v 1 t -6 Γπακαθμζημιυγεζε. Πνυζζεζε ζηαζενάξ ζε θάζε αθμή απμηογπάκεη. 5 5 2 2 s 6 3-3 6 3 t 6

οκημμυηενεξ Δηαδνμμέξ: Ανκεηηθμφ θυζημοξ θφθιμη Ανκεηηθυξ θφθιμξ. -6-4 7 Παναηήνεζε. Ακ θάπμηα δηαδνμμή απυ s ζημ t έπεη ανκεηηθυ θφθιμ, ηυηε δεκ οπάνπεη ζοκημμυηενε δηαδνμμή. Δηαθμνεηηθά, οπάνπεη δηαδνμμή πςνίξ επακαιαμβακυμεκεξ θμνοθέξ (απιή). s W t c(w) < 61

οκημμυηενεξ Δηαδνμμέξ: Δοκαμηθυξ Πνμγναμμαηηζμυξ Ονηζμυξ. OPT(i, v) = μήθμξ ζοκημμυη. v-t δηαδνμμήξ P με ημ πμιφ i αθμέξ. 1 ε Πενίπηςζε: P πνεζημμπμηεί ημ πμιφ i-1 αθμέξ. OPT(i, v) = OPT(i-1, v) 2 ε Πενίπηςζε: P πνεζημμπμηεί αθνηβχξ i αθμέξ. Ακ (v, w) ε πνχηε αθμή, ηυηε ημ OPT πνεζημμπμηεί ηεκ (v, w), θαη μεηά επηιέγεη ηε βέιηηζηε w-t δηαδνμμή με ημ πμιφ i-1 αθμέξ OPT(i, v) if i minopt(i 1, v), min OPT(i 1, w) c vw otherwise (v, w) E Παναηήνεζε. Απυ ηα πνμεγμφμεκα, ακ δεκ οπάνπμοκ ανκεηηθμί θφθιμη, OPT(n-1, v) = μήθμξ ηεξ ζοκημμυηενεξ v-t δηαδνμμήξ. 62

οκημμυηενεξ Δηαδνμμέξ: Αιγυνηζμμξ Bellman-Ford Αιγυνηζμμξ Bellman-Ford Shortest-Path(G, t) { foreach node v V M[, v] M[, t] } for i = 1 to n-1 foreach node v V { M[i, v] M[i-1, v] foreach edge (v, w) E M[i, v] min { M[i, v], M[i-1, w] + c vw } } Ακάιοζε. Θ(mn) πνυκμξ, Θ(n 2 ) πχνμξ. Γφνεζε ζοκημμυηενεξ δηαδνμμήξ. Δηαηήνεζε ημο «πνμθαηυπμο» γηα θάζε θειί ημο πίκαθα. 63

οκημμυηενεξ Δηαδνμμέξ: Τιμπμίεζε Shortest-Path(G, t) { foreach node v V { M[, v] p[, v] } M[, t] } for i = 1 to n-1 { foreach node v V { M[i, v] M[i-1, v] foreach edge (v, w) E if (M[i,v] > M[i-1,w] + c vw ) { M[i,v] M[i-1,w] + c vw p[i,v] w } } } Ακάιοζε. Θ(mn) πνυκμξ, Θ(n 2 ) πχνμξ. 64

οκημμυηενεξ Δηαδνμμέξ: Αιγυνηζμμξ Bellman-Ford for i = 1 to n-1 foreach node v V M[v,i] M[v,i-1] foreach edge (v, w) E if (M[v,i] > M[w,i-1] + c vw ) M[v,i] M[w,i-1] + c vw ηυπμξ: v ε ζοκημμυηενε v-t δηαδνμμή Κάζε γναμμή ημο πίκαθα: μήθμξ ζοκημμυηενεξ δηαδνμμήξ πνμξ t με αολακυμεκμ πιήζμξ αθμχκ γναμμή d: ε ζοκημμυηενε d-t δηαδνμμή εκεμενχκεηαη 4 θμνέξ: δηαδνμμή: {d-t} {d-a-t} {d-b-e-t} {d-b-e-c-t} #αθμχκ: 1 3 4 5 μήθμξ: 4 3 2 65

Ανκεηηθμί Κφθιμη ζε Γναθήμαηα

Γφνεζε ανκεηηθχκ θφθιςκ Λήμμα. Ακ OPT(n,v) = OPT(n-1,v) γηα θάζε v, ηυηε δεκ οπάνπμοκ ανκεηηθμί θφθιμη. Απυδεηλε. Ονζυηεηα ημο Βellman-Ford αιγμνίζμμο. Λήμμα. Ακ OPT(n,v) < OPT(n-1,v) γηα θάπμημ v, ηυηε (θάζε) ζοκημμυηενε δηαδνμμή απυ v ζημ t πενηέπεη έκα θφθιμ W. Γπηπιέμκ, W ανκεηηθυξ θφθιμξ. Απυδεηλε. (με άημπμ) Γπεηδή OPT(n,v) < OPT(n-1,v), γκςνίδμομε υηη P έπεη αθνηβχξ n αθμέξ. Η δηαδνμμή P πνέπεη κα έπεη θαηεοζοκυμεκμ θφθιμ W. Δηαγνάθμκηαξ ημ W έπμομε μηα v-t δηαδνμμή με < n αθμέξ W έπεη ανκεηηθυ βάνμξ. v W t c(w) < 67

Γφνεζε ανκεηηθχκ θφθιςκ Θεχνεμα. Η εφνεζε ανκεηηθχκ θφθιςκ μπμνεί κα γίκεη ζε O(mn) πνυκμ. Πνυζζεζε κέμ θυμβμ t κα εκχκεηαη με υιμοξ ημοξ θυμβμοξ με βάνμξ. Σνέλε ημκ αιγυνηζμμ Bellman-Ford Έιεγλε ακ OPT(n, v) = OPT(n-1, v) γηα θάζε θυμβμ v. Ακ καη, ηυηε δεκ οπάνπεη ανκεηηθυξ θφθιμξ Ακ υπη, ηυηε ζεμείςζε ημκ θφθιμ απυ ηε ζοκημμυηενε v-t δηαδνμμή t 18 2 6 5-23 -15 v -11 68

Γφνεζε ανκεηηθχκ θφθιςκ: Γθανμμγή Μεηαηνμπή κμμίζμαημξ. Δεδμμέκςκ n κμμηζμάηςκ θαη ζοκαιιαγμαηηθχκ ηζμηημηχκ μεηαλφ ηςκ κμμηζμάηςκ, οπάνπεη μηα ανμπηηνάδ εοθαηνία; εμείςζε. Γνήγμνμξ αιγυνηζμμξ πμιφ πνήζημμξ! μηα επεκδοηηθή εοθαηνία πμο επηθένεη θένδμξ πςνίξ νίζθμ απυ ηηξ οπυιμηπεξ επεκδφζεηξ $ 8 1/7 F 8 4/3 2/3 2 3/1 3/5 IBM 1/1 17 56 69

Γφνεζε ανκεηηθχκ θφθιςκ: Γθανμμγή Μεηαηνμπή κμμίζμαημξ. Δεδμμέκςκ n κμμηζμάηςκ θαη ζοκαιιαγμαηηθχκ ηζμηημηχκ μεηαλφ ηςκ κμμηζμάηςκ, οπάνπεη μηα ανμπηηνάδ εοθαηνία; εμείςζε. Γνήγμνμξ αιγυνηζμμξ πμιφ πνήζημμξ! μηα επεκδοηηθή εοθαηνία πμο επηθένεη θένδμξ πςνίξ νίζθμ απυ ηηξ οπυιμηπεξ επεκδφζεηξ Κένδμξ έπμομε ακ οπάνπεη θφθιμξ: $ 8 1/7 F 8 4/3 2/3 2 3/1 3/5 IBM 1/1 17 56 7

Γφνεζε ανκεηηθχκ θφθιςκ: Γθανμμγή Μεηαηνμπή κμμίζμαημξ. Δεδμμέκςκ n κμμηζμάηςκ θαη ζοκαιιαγμαηηθχκ ηζμηημηχκ μεηαλφ ηςκ κμμηζμάηςκ, οπάνπεη μηα ανμπηηνάδ εοθαηνία; εμείςζε. Γνήγμνμξ αιγυνηζμμξ πμιφ πνήζημμξ! μηα επεκδοηηθή εοθαηνία πμο επηθένεη θένδμξ πςνίξ νίζθμ απυ ηηξ οπυιμηπεξ επεκδφζεηξ Κένδμξ έπμομε ακ οπάνπεη θφθιμξ: $ 8 1/7 F 8 4/3 2/3 2 3/1 3/5 IBM 1/1 17 56 Μήπςξ οπάνπεη έμμεζα θάπμημξ ανκεηηθυξ θφθιμξ; 71

Γφνεζε ανκεηηθχκ θφθιςκ: φκμρε Bellman-Ford. O(mn) πνυκμξ, O(m + n) πχνμξ. Γθηέιεζε Bellman-Ford γηα n επακαιήρεηξ (ακηί γηα n-1, ιυγς ημο t). Καηά ημκ ηενμαηηζμυ, ε ζοκάνηεζε πνμθαηυπςκ θαηά Bellman-Ford ακηπκεφεη έκακ ανκεηηθυ θφθιμ ακ οπάνπεη. 72

Άζθεζε Δοκαμηθμφ Πνμγναμμαηηζμμφ Καηαζθεοή δηαθεμηζηηθχκ πηκαθίδςκ. Θέιμομε κα ημπμζεηήζμομε δηαθεμηζηηθέξ πηκαθίδεξ ζηεκ «Γγκαηία Οδυ» πμο έπεη Μ πηιηυμεηνα. Οη δοκαηέξ ημπμζεζίεξ δίκμκηαη απυ x 1, x 2,, x n με x i [, M]. Ακ ημπμζεηήζμομε ηεκ πηκαθίδα x i ζα έπμομε έζμδα r i >. Τπμονγείμ μεηαθμνχκ: δεκ επηηνέπμκηαη δφμ πηκαθίδεξ ζε απυζηαζε < 5 πιμ. Θέιμομε κα ημπμζεηήζμομε ηηξ πηκαθίδεξ μεγηζημπμηχκηαξ ημ θένδμξ. Πανάδεηγμα. M = 2 πηκaθίδεξ i ημπμζεζίεξ x i έζμδα r i Βέιηηζηεξ ζέζεηξ: {x 1, x 3 } = 1 1 2 3 6 12 5 7 6 5 4 14 1 73

Άζθεζε Δοκαμηθμφ Πνμγναμμαηηζμμφ Καηαζθεοή δηαθεμηζηηθχκ πηκαθίδςκ. Θέιμομε κα ημπμζεηήζμομε δηαθεμηζηηθέξ πηκαθίδεξ ζηεκ «Γγκαηία Οδυ» πμο έπεη Μ πηιηυμεηνα. Οη δοκαηέξ ημπμζεζίεξ δίκμκηαη απυ x 1, x 2,, x n με x i [, M]. Ακ ημπμζεηήζμομε ηεκ πηκαθίδα x i ζα έπμομε έζμδα r i >. Τπμονγείμ μεηαθμνχκ: δεκ επηηνέπμκηαη δφμ πηκαθίδεξ ζε απυζηαζε < 5 πιμ. Θέιμομε κα ημπμζεηήζμομε ηηξ πηκαθίδεξ μεγηζημπμηχκηαξ ημ θένδμξ. Αξ θμηηάλμομε ημ ηέιμξ ηεξ ιφζεξ: x 1, x 2,, x n 1 ε Πενίπηςζε: ε πηκαθίδα x n δεκ οπάνπεη ζηε ιφζε. Άνα ε ιφζε δίκεηαη απυ ηηξ πηκαθίδεξ x 1, x 2,, x n-1 2 ε Πενίπηςζε: ε πηκαθίδα x n ακήθεη ζηε ιφζε. S = δηαγνάθμομε ηεκ x n μαδί με ηηξ πηκαθίδεξ ζε απυζηαζε -5 Άνα ε ιφζε δίκεηαη απυ ημ r n + ιφζε ζημ S 74

Άζθεζε Δοκαμηθμφ Πνμγναμμαηηζμμφ Καηαζθεοή δηαθεμηζηηθχκ πηκαθίδςκ. Θέιμομε κα ημπμζεηήζμομε δηαθεμηζηηθέξ πηκαθίδεξ ζηεκ «Γγκαηία Οδυ» πμο έπεη Μ πηιηυμεηνα. Οη δοκαηέξ ημπμζεζίεξ δίκμκηαη απυ x 1, x 2,, x n με x i [, M]. Ακ ημπμζεηήζμομε ηεκ πηκαθίδα x i ζα έπμομε έζμδα r i >. Τπμονγείμ μεηαθμνχκ: δεκ επηηνέπμκηαη δφμ πηκαθίδεξ ζε απυζηαζε < 5 πιμ. Θέιμομε κα ημπμζεηήζμομε ηηξ πηκαθίδεξ μεγηζημπμηχκηαξ ημ θένδμξ. Ονηζμυξ: OPT(j) = βέιηηζηεξ ημπμζεζίεξ μεηαλφ ηςκ πηκαθίδςκ x 1, x 2,, x j e(j) = ε πνχηε πνμξ ηα δεληά ημπμζεζία πμο απέπεη > 5 πιμ 1 ε Πενίπηςζε: j OPT(j). OPT(j) = OPT(j-1) 2 ε Πενίπηςζε: j OPT(j), x 1, x 2,, x e(j) έγθονεξ, x e(j)+1,, x j-1 με-έγθονεξ OPT(j) = r j + OPT( e(j) ) 75

Άζθεζε Δοκαμηθμφ Πνμγναμμαηηζμμφ Καηαζθεοή δηαθεμηζηηθχκ πηκαθίδςκ. Θέιμομε κα ημπμζεηήζμομε δηαθεμηζηηθέξ πηκαθίδεξ ζηεκ «Γγκαηία Οδυ» πμο έπεη Μ πηιηυμεηνα. Οη δοκαηέξ ημπμζεζίεξ δίκμκηαη απυ x 1, x 2,, x n με x i [, M]. Ακ ημπμζεηήζμομε ηεκ πηκαθίδα x i ζα έπμομε έζμδα r i >. Τπμονγείμ μεηαθμνχκ: δεκ επηηνέπμκηαη δφμ πηκαθίδεξ ζε απυζηαζε < 5 πιμ. Θέιμομε κα ημπμζεηήζμομε ηηξ πηκαθίδεξ μεγηζημπμηχκηαξ ημ θένδμξ. Ονηζμυξ: OPT(j) = βέιηηζηεξ ημπμζεζίεξ μεηαλφ ηςκ πηκαθίδςκ x 1, x 2,, x j e(j) = ε πνχηε πνμξ ηα δεληά ημπμζεζία πμο απέπεη > 5 πιμ 76

Άζθεζε Δοκαμηθμφ Πνμγναμμαηηζμμφ Καηαζθεοή δηαθεμηζηηθχκ πηκαθίδςκ. Θέιμομε κα ημπμζεηήζμομε δηαθεμηζηηθέξ πηκαθίδεξ ζηεκ «Γγκαηία Οδυ» πμο έπεη Μ πηιηυμεηνα. Οη δοκαηέξ ημπμζεζίεξ δίκμκηαη απυ x 1, x 2,, x n με x i [, M]. Ακ ημπμζεηήζμομε ηεκ πηκαθίδα x i ζα έπμομε έζμδα r i >. Τπμονγείμ μεηαθμνχκ: δεκ επηηνέπμκηαη δφμ πηκαθίδεξ ζε απυζηαζε < 5 πιμ. Θέιμομε κα ημπμζεηήζμομε ηηξ πηκαθίδεξ μεγηζημπμηχκηαξ ημ θένδμξ. Pinakides(x 1,x 2,,x n,r 1,r 2,,r n ) { M[1] r 1 for j = 1 to n Υπολόγιζε ηo e[j] } for j = 2 to n M[j] max{ r j + M[ e[j] ], M[j-1] } return M[n] οκμιηθυξ Υνυκμξ: O(n) Μπμνμφμε κα επεθηείκμομε γηα ηεκ εφνεζε ημο ζοκυιμο (υπη μυκμ γηα ηεκ ηημή Μ[n]) Τπμιμγηζμυξ e(j): x j = x j 5 ογπςκεφμομε ηηξ αθμιμοζίεξ x θαη x ζε μηα ηαληκμμεμέκε Τ Ο(n) ηε Τ: απυ x j έςξ x j δεκ ζομμεηέπμοκ ζηεκ επηιμγή ημο x j 77

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

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

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