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

Σχετικά έγγραφα
1 η Ε π α ν α λ η π τ ι κ ή Ά σ κ η σ η

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

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

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

Λύζεηξ αζθήζεςκ ζενμόηεηαξ

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

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

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

Multiple Choice Examination

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Problems & Questions on MAC Layer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γπημέιεηα: Ιανία Παπαιεμκηίμο, Φηιόιμγμξ

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

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

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

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

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

H XHMEIA EINAI ΙΑΓΖΗΕ

ΣΖΛΔΠΗΚΟΗΝΩΝΗΑΚΟ ΓΗΚΣΤΟ ΟΗΚΟΓΟΜΩΝ. Δθπαηδεπηήο: αββίδες Μιτάλες. Σετνική τολή Ασγόροσ. Μάζεκα: Σετνολογία Ηλεκηρικών Εγκαηαζηάζεων

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

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

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

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

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

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

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

Δήηεζε Πνμζθμνά Γιαζηηθόηεηα

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

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

ύλνψε απνηειεζκάηωλ κεηξήζεωλ ζπγθεληξώζεωλ αηωξνύκελωλ ζωκαηίδίωλ PM 10 ζην Βόιν:

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

2 ο Δημοτικό Σχολείο Βρομτάδου. Συμτελεστές: Σαργιώτη Βίκυ - Κριμιζής Γιάμμης

Transcript:

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

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

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

Η μέζμδμξ ηεξ απιεζηίαξ Grd is good. Grd is right. Grd works. Grd clarifis, cuts through, and capturs th ssnc of th volutionary spirit. - Gordon Gcko (Michal Douglas) Απιεζηία: Δόμεζε ηεξ ιύζεξ ζηαδηαθά, βειηηζημπμηώκηαξ θάπμημ ημπηθό θνηηήνημ ζε θάζε βήμα

Γιάπηζηα θειεηηθά Δέκδνα Γπίζεξ ακαθένμκηαη θαη ςξ «Γιάπηζηα Γεκκεηηθά Δέκδνα»

θειεηηθό Δέκδνμ Παναγόμεκμ οπμγνάθεμα: Δεδμμέκμο εκόξ γναθήμαημξ G=(V,E), έκα παναγόμεκμ οπμγνάθεμα είκαη έκα οπμγνάθεμα ημο G πάκς ζημ ίδημ ζύκμιμ θόμβςκ ημο V. θειεηηθό Δέκδνμ: Δεδμμέκμο εκόξ ζοκεθηηθμύ γναθήμαημξ G=(V,E), έκα ζθειεηηθό δέκδνμ είκαη έκα παναγόμεκμ οπμγνάθεμα ημο G πμο είκαη δέκδνμ. ζοκεθηηθό θαη άθοθιμ γνάθεμα G = (V, E) T 5

Γιάπηζημ θειεηηθό Δέκδνμ Γιάπηζημ θειεηηθό Δέκδνμ (ΓΔ). Δεδμμέκμο εκόξ ζοκεθηηθμύ γναθήμαημξ G = (V, E) με ζεηηθά θόζηε αθμώκ c, έκα ΓΔ είκαη έκα οπμζύκμιμ ηςκ αθμώκ T E ηέημημ ώζηε ημ T κα είκαη ζθειεηηθό δέκδνμ με ημ ειάπηζημ άζνμηζμα ζηα θόζηε ηςκ αθμώκ. 4 4 4 6 3 6 6 0 5 4 7 5 7 G = (V, E) T, T c = 50 Θεώνεμα ημο Cayly. Τπάνπμοκ ημ πμιύ n n- ζθειεηηθά δέκδνα (όηακ K n ) δεκ μπμνεί κα ιοζεί με ςμή βία 6

Γθανμμγέξ Σμ ΓΔ είκαη έκα ζεμειηώδεξ πνόβιεμα με πμηθίιεξ εθανμμγέξ. πεδηαζμόξ δηθηύςκ. ηειεθςκίαξ, ειεθηνηθμύ, ύδνεοζεξ, οπμιμγηζηώκ, μεηαθμνώκ Πνμζεγγηζηηθμί αιγόνηζμμη γηα NP-δύζθμια πνμβιήμαηα. πνόβιεμα πενημδεύμκημξ πςιεηή, δέκδνμ Stinr Έμμεζεξ Γθανμμγέξ. Δηαδνμμέξ μεγίζημο εμπμδίμο (max bottlnck paths) Καηαπώνεζε εηθόκαξ με εκηνμπία Rnyi Μείςζε απμζεθεομέκεξ πιενμθμνίαξ ζηεκ δηάηαλε αμηκμλέςκ ζε μηα πνςηεΐκε Μμκηειμπμίεζε ηεξ ημπηθόηεηαξ ζηεκ αιιειεπίδναζε ζςμαηηδίςκ ζε νμέξ ογνώκ με ακαηανάλεηξ... 7

Άπιεζημη Αιγόνηζμμη Αιγόνηζμμξ ημο Kruskal. Ξεθηκάμε με T =. Θεςνμύμε ηηξ αθμέξ ζε αύλμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Γηζάγμομε μηα αθμή ζημ T εθηόξ ακ δεμημονγείηαη θύθιμξ. Αιγόνηζμμξ Ακηίζηνμθεξ Δηαγναθήξ. Ξεθηκάμε με T = E. Θεςνμύμε ηηξ αθμέξ ζε θζίκμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Δηαγνάθμομε μηα αθμή από ημ T εθηόξ ακ ημ Σ γίκεηαη με-ζοκεθηηθό. Αιγόνηζμμξ ημο Prim. Ξεθηκάμε με μηα ανπηθή θμνοθή s θαη ακαπηύζζμομε έκα δέκδνμ T νηδςμέκμ ζηεκ s. ε θάζε βήμα, πνμζζέημομε ζημ Σ ηεκ αθμή με ημ μηθνόηενμ θόζημξ πμο έπεη αθνηβώξ έκα άθνμ ζημ T. εμείςζε. Καη μη ηνεηξ αιγόνηζμμη πανάγμοκ έκα ΓΔ.

Άπιεζημη Αιγόνηζμμη Τπόζεζε Απιμπμίεζεξ. Όια ηα θόζηε c είκαη δηαθνηηά. ( ημ ΓΔ μμκαδηθό) Ιδηόηεηα απμθμπήξ. Έζης S μπμημδήπμηε οπμζύκμιμ θμνοθώκ θαη έζης ε αθμή με ημ ειάπηζημ θόζημξ θαη αθνηβώξ έκα άθνμ ζημ S. Σόηε ημ ΓΔ πενηέπεη ηεκ. Ιδηόηεηα θύθιμο. Έζης C μπμημζδήπμηε θύθιμξ, θαη έζης f ε αθμή με ημ μέγηζημ θόζημξ πμο ακήθεη ζημ C. Σόηε ημ ΓΔ δεκ πενηέπεη ηεκ f. f C S ε ακήθεη ζημ ΓΔ ε f δεκ ακήθεη ζημ ΓΔ

Κύθιμη θαη ύκμια Απμθμπώκ Κύθιμξ. ύκμιμ αθμώκ ηεξ μμνθήξ a-b, b-c, c-d,, y-z, z-a. 3 6 4 5 Κύθιμξ C = -, -3, 3-4, 4-5, 5-6, 6-7 ύκμιμ απμθμπήξ. Μηα απμθμπή είκαη έκα οπμζύκμιμ θμνοθώκ S. Σμ ακηίζημηπμ ζύκμιμ απμθμπήξ D είκαη ημ οπμζύκμιμ αθμώκ με αθνηβώξ έκα άθνμ ζημ S. 6 4 3 Απμθμπή S = { 4, 5, } ύκμιμ απμθμπήξ D = 5-6, 5-7, 3-4, 3-5, 7-5 7 0

Σμμή Κύθιμο θαη Απμθμπήξ Ιζπονηζμόξ. Aκ έκαξ θύθιμξ θαη έκα ζύκμιμ απμθμπήξ ηέμκμκηαη, ηόηε ηέμκμκηαη ζε άνηημ πιήζμξ αθμώκ. 6 5 4 3 Κύθιμξ C = -, -3, 3-4, 4-5, 5-6, 6- ύκμιμ Απμθμπήξ D = 3-4, 3-5, 5-6, 5-7, 7- Σμμή = 3-4, 5-6 7 Απόδεηλε. (ζπεμαηηθά) C S V - S

Άπιεζημη Αιγόνηζμμη Τπόζεζε Απιμπμίεζεξ. Όια ηα θόζηε c είκαη δηαθνηηά. Ιδηόηεηα Απμθμπήξ. Έζης S έκα οπμζύκμιμ θμνοθώκ, θαη έζης ε αθμή με ημ ειάπηζημ θόζημξ με έκα μόκμ άθνμ ζημ S. Σόηε ημ ΓΔ T* πενηέπεη ηεκ. Απόδεηλε. (επηπείνεμα ακηαιιαγήξ) Τπμζέημομε όηη ε δεκ ακήθεη ζημ T*. Πνμζζέημκηαξ ηεκ ζημ T* δεμημονγμύμε θύθιμ C ζημ T*. Η ακήθεη θαη ζημκ θύθιμ C θαη ζημ ζύκμιμ απμθμπήξ D γηα ημ S οπάνπεη θάπμηα άιιε αθμή, έζης f, πμο ακήθεη θαη ζημ C θαη ζημ D. T' = T* { } - { f } είκαη επίζεξ ζθειεηηθό δέκδνμ. Γπεηδή c < c f : cost(t') < cost(t*). Άημπμ. f S T*

Άπιεζημη Αιγόνηζμμη Τπόζεζε Απιμπμίεζεξ. Όια ηα θόζηε c είκαη δηαθνηηά. Ιδηόηεηα Κύθιμο. Έζης C έκαξ θύθιμξ ζημ G, θαη έζης f ε αθμή με ημ μέγηζημ θόζημξ πμο ακήθεη ζημ C. Σόηε ημ ΓΔ T* δεκ πενηέπεη ηεκ f. Απόδεηλε. (επηπείνεμα ακηαιιαγήξ) Τπμζέημομε όηη ε f ακήθεη ζημ T*. Η δηαγναθή ηεξ f από ημ T* δεμημονγεί μηα απμθμπή S ζημ T*. Η αθμή f ακήθεη θαη ζημκ θύθιμ C θαη ζημ ζύκμιμ απμθμπήξ D ημο S οπάνπεη μηα άιιε αθμή, έζης, πμο ακήθεη θαη ζημ C θαη ζημ D. T' = T* { } - { f } είκαη επίζεξ έκα ζθειεηηθό δέκδνμ. Γπεηδή c < c f : cost(t') < cost(t*). Άημπμ. f S T* 3

Αιγόνηζμμξ ημο Prim: Απόδεηλε Ονζόηεηαξ Αιγόνηζμμξ ημο Prim. [Jarník 30, Dijkstra 57, Prim 5] Ανπηθμπμημύμε έκα ζύκμιμ S = μπμημδήπμηε θόμβμ. Γθανμόδμομε ηεκ ηδηόηεηα απμθμπήξ ζημ S. Πνμζζέημομε ζημ Σ ηεκ αθμή με ημ ειάπηζημ θόζημξ ζημ ζύκμιμ απμθμπήξ ημο S, θαη πνμζζέημομε μηα κέα θμνοθή u ζημ S. u S 4

Τιμπμίεζε: Αιγόνηζμμξ ημο Prim Τιμπμίεζε. Υνεζημμπμημύμε μηα μονά πνμηεναηόηεηαξ (ala Dijkstra). Δηαηενμύμε έκα ζύκμιμ θμνοθώκ S από θόμβμοξ πμο ακαθαιύθζεθακ. Γηα θάζε θμνοθή v πμο δεκ έπεη ακαθαιοθζεί, δηαηενμύμε ημ θόζημξ ακαθάιορεξ a[v] = θόζημξ ειάπηζηεξ αθμήξ από v ζε έκακ θόμβμ ημο S. O(n ) με πίκαθα O( (m+n) log n) O( m log n) με δοαδηθό ζςνό. Prim(G) { forach (v V) a[v] Απσικοποίηζε μια άδεια οςπά πποηεπαιόηηηαρ Q forach (v V) ειζήγαγε ηην v ζηην Q Απσικοποίηζε ένα ζύνολο από εξεπεςνημένερ κοπςθέρ S } whil (Q δεν είναι άδεια) { u ExtractMin(Q) S S { u } forach (dg = (u, v) πποζκείμενη ζηο u) if ((v S) and (c < a[v])) a[v] c // μείυζε ηην πποηεπαιόηηηα 5

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { } PQ = { } b 0 4 7 6 a d 5 g c f 6

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { } PQ = { a, b, c, d,, f, g } b 0 4 7 6 a d 5 g c f 7

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a } PQ = { b, c, d,, f, g } μείςζε θιεηδημύ X 4 b 0 δηαγναθή ειαπίζημο 4 7 6 a d 5 g μείςζε θιεηδημύ c X f

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a } PQ = { b, c, d,, f, g } a b d c g f 0 7 4 5 6 X X 4

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b } PQ = { c, d,, f, g } δηαγναθή ειαπίζημο X 4 b 0 4 7 6 a d 5 g c X f 0

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b } PQ = { c, d,, f, g } X 4 b μείςζε θιεηδημύ 0 X 0 4 7 6 a c X d X μείςζε θιεηδημύ παναμέκεη ημ θιεηδί 5 f g

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b } PQ = { c, d,, f, g } a b d c g f 0 7 4 5 6 X X 4 X X 0

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d } PQ = { c,, f, g } X 4 b 0 X 0 4 7 6 a d X δηαγναθή ειαπίζημο 5 g c X f 3

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d } PQ = { c,, f, g } X 4 b μείςζε θιεηδημύ 0 X 0 X 7 4 7 6 a d X 5 g c X X μείςζε θιεηδημύ f X μείςζε θιεηδημύ 4

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα 5 S = { a, b, d } PQ = { c,, f, g } a b d c g f 0 7 4 5 6 X X 4 X X 0 X X X 7

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c } PQ = {, f, g } X 4 b 0 X 0 X 7 4 7 6 a d X 5 g δηαγναθή ειαπίζημο c X X f X 6

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c } PQ = {, f, g } X 4 b 0 X 0 X 7 4 7 6 a d X 5 g c X X f X X μείςζε θιεηδημύ 7

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c } PQ = {, f, g } X 4 b 0 X 0 X 7 4 7 6 a d X 5 g c X X f X X

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f } PQ = {, g } X 4 b μείςζε θιεηδημύ 0 X 0 X X 7 5 4 7 6 a d X 5 g X μείςζε θιεηδημύ c X X f X X δηαγναθή ειαπίζημο

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f } PQ = {, g } X 4 b 0 X 0 X X 7 5 4 7 6 a d X 5 g X c X X f X X 30

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f, g } PQ = { } X 4 b 0 X 0 X X 7 5 4 7 6 δηαγναθή ειαπίζημο a d X 5 g X c X X f X X 3

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f, g } PQ = { } X 4 b 0 παναμέκεη ημ θιεηδί X 0 X X 7 5 4 7 6 a d X 5 g X c X X f X X 3

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f, g } PQ = { } X 4 b 0 X 0 X X 7 5 4 7 6 a d X 5 g X c X X f X X 33

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f, g, } PQ = { } X 4 0 b X 0 X X 7 5 δηαγναθή ειαπίζημο 4 7 6 a d X 5 g X c X X f X X 34

Αιγόνηζμμξ ημο Prim: Πανάδεηγμα S = { a, b, d, c, f, g, } PQ = { } X 4 b 0 X 0 X X 7 5 4 7 6 a d X 5 g X c X X f X X 35

Άπιεζημη Αιγόνηζμμη Αιγόνηζμμξ ημο Kruskal. Ξεθηκάμε με T =. Θεςνμύμε ηηξ αθμέξ ζε αύλμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Γηζάγμομε μηα αθμή ζημ T εθηόξ ακ δεμημονγείηαη θύθιμξ. Αιγόνηζμμξ Ακηίζηνμθεξ Δηαγναθήξ. Ξεθηκάμε με T = E. Θεςνμύμε ηηξ αθμέξ ζε θζίκμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Δηαγνάθμομε μηα αθμή από ημ T εθηόξ ακ ημ Σ γίκεηαη με-ζοκεθηηθό. Αιγόνηζμμξ ημο Prim. Ξεθηκάμε με μηα ανπηθή θμνοθή s θαη ακαπηύζζμομε έκα δέκδνμ T νηδςμέκμ ζηεκ s. ε θάζε βήμα, πνμζζέημομε ζημ Σ ηεκ αθμή με ημ μηθνόηενμ θόζημξ πμο έπεη αθνηβώξ έκα άθνμ ζημ T. εμείςζε. Καη μη ηνεηξ αιγόνηζμμη πανάγμοκ έκα ΓΔ. 36

Αιγόνηζμμξ ημο Kruskal: Απόδεηλε Ονζόηεηαξ Αιγόνηζμμξ ημο Kruskal. [Kruskal, 56] Θεςνμύμε ηηξ αθμέξ με αολακόμεκε ζεηνά θόζημοξ. ε Πενίπηςζε: Ακ ε πνόζζεζε ηεξ ζημ T δεμημονγεί θύθιμ, απμννίπημομε ηεκ ζύμθςκα με ηεκ ηδηόηεηα θύθιμο. ε Πενίπηςζε: Δηαθμνεηηθά, εηζάγμομε ηεκ = (u, v) ζημt ζύμθςκα με ηεκ ηδηόηεηα απμθμπήξ όπμο S = ζοκεθηηθή ζοκηζηώζα ημο u. v S u ε Πενίπηςζε ε Πενίπηςζε 37

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } b 0 4 7 6 a d 5 g c f 3

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 3

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 40

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 4

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 4

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 43

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } ίδηα ζοκεθηηθή ζοκηζηώζα b 0 4 7 6 a d 5 g c f 44

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } ίδηα ζοκεθηηθή ζοκηζηώζα b 0 4 7 6 a d 5 g c f 45

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ b 0 4 7 6 a d 5 g c f 46

Αιγόνηζμμξ ημο Kruskal: Πανάδεηγμα Αθμέξ = { c-f, c-d, f-g, a-b, -f, -g, d-, b-d, a-c, b-c, d-f, b- } Κόζηε = {,,, 4, 5, 6, 7,,,,, 0 } επηιέλαμε όιεξ ηηξ θμνοθέξ (μπμηαδήπμηε άιιε αθμή ακ πνμζζέζμομε ζα δεμημονγήζεη θύθιμ) b 0 4 7 6 a d 5 g c f 47

Τιμπμίεζε: Αιγόνηζμμξ ημο Kruskal (Πνμβιήμαηα) Γνώηεμα: Πώξ μπμνμύμε κα ειέγπμομε ακ ε πνόζζεζε ηεξ αθμήξ u-v δεμημονγεί θύθιμ; Απάκηεζε: Γιέγπμομε ακ μη θμνοθέξ u θαη v ακήθμοκ ζηεκ ίδηα ζοκεθηηθή ζοκηζηώζα Γπμμέκςξ: απμζεθεύμομε ηηξ ζοκεθηηθέξ ζοκηζηώζεξ ηεκ ανπή ζεςνμύμε όηη θάζε θμνοθή ακήθεη ζηεκ δηθή ηεξ (μμκαδηθή) ζοκεθηηθή ζοκηζηώζα Γιέγπμομε ακ δύμ θμνοθέξ ακήθμοκ ζηεκ ίδηα ζοκεθηηθή ζοκηζηώζα. οκεθηηθέξ ζοκηζηώζεξ ζογπςκεύμκηαη όηακ πνμζζέημομε αθμέξ. Θέιμομε κα επηηύπμομε γνήγμνα: Έιεγπμξ ζοκεθηηθώκ ζοκηζηςζώκ ογπώκεοζε ζοκεθηηθώκ ζοκηζηςζώκ Δξμή Δεδξμέμωμ Union-Find 4

H δμμή δεδμμέκςκ Union-Find Union-Find. Τπμζηενίδεη ηηξ αθόιμοζεξ ιεηημονγίεξ: MakUnionFind(S): δεμημονγεί μηα δμμή (ζύκμιμ) γηα θάζε ζημηπείμ s S Find(i): βνίζθεη ημ «όκμμα» ημο ζοκόιμο πμο ακήθεη ημ ζημηπείμ i Union(x,y): ζογπςκεύεη ηα ζύκμια με «μκόμαηα» x θαη y ζε έκα ζύκμιμ ημηπεία: 3 0 5 Πιήζμξ ζημηπείςκ ζε θάζε ζύκμιμ 4 5 3 6 6 6 7 7 7 3 3 3 3 3 4 5 6 7 0 3 Πίκαθαξ οκόιςκ: 6 7 7 7 3 4

H δμμή δεδμμέκςκ Union-Find Union-Find. Τπμζηενίδεη ηηξ αθόιμοζεξ ιεηημονγίεξ: MakUnionFind(S): δεμημονγεί μηα δμμή (ζύκμιμ) γηα θάζε ζημηπείμ s S πνεηάδεηαη πνόκμ Ο(n) με S =n. Find(i): βνίζθεη ημ «όκμμα» ημο ζοκόιμο πμο ακήθεη ημ ζημηπείμ i παίνκεη πνόκμ Ο() με ημκ Πίκαθα οκόιςκ. Union(x,y): ζογπςκεύεη ηα ζύκμια με «μκόμαηα» x θαη y ζε έκα ζύκμιμ Βνίζθεη ημ μηθνόηενμ ζύκμιμ από ηα x θαη y θαη εκεμενώκεη μόκμ ηα ζημηπεία ημο μηθνόηενμο μεγέζμοξ ημηπεία: 3 0 5 Πιήζμξ ζημηπείςκ ζε θάζε ζύκμιμ 4 5 3 6 6 6 7 7 7 3 3 3 3 3 4 5 6 7 0 3 Πίκαθαξ οκόιςκ: 6 7 7 7 3 50

H δμμή δεδμμέκςκ Union-Find Union(x,y): Βνίζθεη ημ μηθνόηενμ ζύκμιμ από ηα x θαη y θαη εκεμενώκεη μόκμ ηα ζημηπεία ημο μηθνόηενμο μεγέζμοξ Μεηά από k εκώζεηξ, ημ πμιύ k ζημηπεία ζομμεηέπμοκ ζε εκώζεηξ. Κάζε θμνά πμο αιιάδεη μ πίκαθαξ ζοκόιςκ γηα έκα ζημηπείμ, ηόηε ημ μέγεζμξ ημο κέμο ζοκόιμο γίκεηαη ημοιάπηζημκ δηπιάζημ ζε ζπέζε με πνηκ. Άνα μεηά από k εκώζεηξ μ πίκαθαξ ζοκόιςκ αιιάδεη ημ πμιύ log(k) θμνέξ γηα έκα ζημηπείμ. Γπμμέκςξ, ημ πμιύ k ζημηπεία άιιαλακ ζύκμια θαη θάζε έκα ζημηπείμ άιιαλε ημ πμιύ log(k) ζύκμια μεηά από k εκώζεηξ, Ο(k log k) πνόκμ ημηπεία: 3 0 5 Πιήζμξ ζημηπείςκ ζε θάζε ζύκμιμ 4 5 3 6 6 6 7 7 7 3 3 3 3 3 4 5 6 7 0 3 Πίκαθαξ οκόιςκ: 6 7 7 7 3 5

H δμμή δεδμμέκςκ Union-Find Union-Find. Τπμζηενίδεη ηηξ αθόιμοζεξ ιεηημονγίεξ: MakUnionFind(S): δεμημονγεί μηα δμμή (ζύκμιμ) γηα θάζε ζημηπείμ s S πνεηάδεηαη πνόκμ Ο(n) με S =n. Find(i): βνίζθεη ημ «όκμμα» ημο ζοκόιμο πμο ακήθεη ημ ζημηπείμ i παίνκεη πνόκμ Ο() με ημκ Πίκαθα οκόιςκ. Union(x,y): ζογπςκεύεη ηα ζύκμια με «μκόμαηα» x θαη y ζε έκα ζύκμιμ Κάζε αθμιμοζία από k ιεηημονγίεξ Union(x,y) πνεηάδεηαη πνόκμ Ο(k log k). ημηπεία: 3 0 5 Πιήζμξ ζημηπείςκ ζε θάζε ζύκμιμ 4 5 3 6 6 6 7 7 7 3 3 3 3 3 4 5 6 7 0 3 Πίκαθαξ οκόιςκ: 6 7 7 7 3 5

Μηα δεκδνηθή δμμή δεδμμέκςκ γηα ηεκ Union-Find Union-Find. Τπμζηενίδεη ηηξ αθόιμοζεξ ιεηημονγίεξ: MakUnionFind(S): δεμημονγεί έκα δέκδνμ γηα θάζε ζημηπείμ s S πνεηάδεηαη πνόκμ Ο(n) με S =n. Find(i): βνίζθεη ημ «όκμμα» ημο ζοκόιμο πμο ακήθεη ημ ζημηπείμ i αθμιμοζώκηαξ ημ μμκμπάηη πνμξ ηε νίδα, Ο(log n). Union(x,y): ακ ημ μέγεζμξ ημο x > y ηόηε μ y γίκεηαη παηδί ημο x Xνεηάδεηαη πνόκμ Ο(). Δέκδνα: 6 7 3 5 Πιήζμξ ζημηπείςκ ζε θάζε δέκδνμ 3 0 4 5 3 6 7 3 3 53

Μηα δεκδνηθή δμμή δεδμμέκςκ γηα ηεκ Union-Find Union-Find. Τπμζηενίδεη ηηξ αθόιμοζεξ ιεηημονγίεξ: MakUnionFind(S): δεμημονγεί έκα δέκδνμ γηα θάζε ζημηπείμ s S πνεηάδεηαη πνόκμ Ο(n) με S =n. Find(i): βνίζθεη ημ «όκμμα» ημο ζοκόιμο πμο ακήθεη ημ ζημηπείμ i αθμιμοζώκηαξ ημ μμκμπάηη πνμξ ηε νίδα, Ο(log n). Union(x,y): ακ ημ μέγεζμξ ημο x > y ηόηε μ y γίκεηαη παηδί ημο x Xνεηάδεηαη πνόκμ Ο(). Δέκδνα: 6 7 3 Πιήζμξ ζημηπείςκ ζε θάζε δέκδνμ 3 0 4 5 3 6 Union(,) 7 3 3 54

Μηα δεκδνηθή δμμή δεδμμέκςκ γηα ηεκ Union-Find Η ιεηημονγία Find() πνεηάδεηαη πνόκμ O(log n) ζε μηα δεκδνηθή δμμή Union-Find Ο πνόκμξ ελανηάηαη από ημ ύρμξ ημο δέκδνμο ακ θαιέζμομε n θμνέξ ηεκ δηαδηθαζία Union γηα έκα ζημηπείμ v ηόηε ημ v μπμνεί κα βνίζθεηαη ζε απόζηαζε n από ηε νίδα. Δειαδή ελανηάηαη από ημ πόζεξ θμνέξ μ θόμβμξ v άιιαλε ημ όκμμά ημο (θαη μεηαθηκήζεθε ημ οπμδέκδνμ ημο μέζς ηεξ Union). Η Union() δηαηενεί ημ όκμμα ημο μεγαιύηενμο δέκδνμο ημ μέγεζμξ ημο δέκδνμο ημο v ημοιάπηζημκ δηπιαζηάδεηαη Άνα ημ δέκδνμ ημο v (ανπηθά ήηακ θαη ζα θηάζεη έςξ n) ζα δηπιαζηαζηεί ημ πμιύ log n θμνέξ. 55

Τιμπμίεζε: Αιγόνηζμμξ ημο Kruskal Τιμπμίεζε. Υνεζημμπμημύμε ηεκ δμμή δεδμμέκςκ union-find (απιή εθδμπή). Καηαζθεοάδμομε ημ ζύκμιμ T από αθμέξ ημο ΓΔ. Δηαηενμύμε έκα ζύκμιμ γηα θάζε ζοκεθηηθή ζοκηζηώζα. O(m log n) γηα ηαληκόμεζε θαη O(m log n) γηα ιεηημονγίεξ Union(x,y). m n log m είκαη O(log n) Find(u), Find(v) O() Union(Find(u), Find(v) ) O(log n) Kruskal(G) { Ταξινόμηζε ηα κόζηη ακμών έηζι ώζηε c c... c m. T forach (u V) θηιάξε ένα ζύνολο πος πεπιέσει ηο u } for i = to m (u,v) = i if (u και v ζε διαθοπεηικά ζύνολα) { T T { i } ζςγσώνεςζε ηα ζύνολα ηυν u και v } rturn T είκαη μη u θαη v ζε δηαθμνεηηθέξ ζοκεθηηθέξ ζοκηζηώζεξ; find(u) find(v) έκςζε δύμ ζοκηζηςζώκ, Union(u,v) 56

Άπιεζημη Αιγόνηζμμη Αιγόνηζμμξ ημο Kruskal. Ξεθηκάμε με T =. Θεςνμύμε ηηξ αθμέξ ζε αύλμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Γηζάγμομε μηα αθμή ζημ T εθηόξ ακ δεμημονγείηαη θύθιμξ. Αιγόνηζμμξ Ακηίζηνμθεξ Δηαγναθήξ. Ξεθηκάμε με T = E. Θεςνμύμε ηηξ αθμέξ ζε θζίκμοζα ηάλε ςξ πνμξ ηα θόζηε ημοξ. Δηαγνάθμομε μηα αθμή από ημ T εθηόξ ακ ημ Σ γίκεηαη με-ζοκεθηηθό. Αιγόνηζμμξ ημο Prim. Ξεθηκάμε με μηα ανπηθή θμνοθή s θαη ακαπηύζζμομε έκα δέκδνμ T νηδςμέκμ ζηεκ s. ε θάζε βήμα, πνμζζέημομε ζημ Σ ηεκ αθμή με ημ μηθνόηενμ θόζημξ πμο έπεη αθνηβώξ έκα άθνμ ζημ T. εμείςζε. Καη μη ηνεηξ αιγόνηζμμη πανάγμοκ έκα ΓΔ. 57

Αιγόνηζμμξ Ακηίζηνμθεξ Δηαγναθήξ Αιγόνηζμμξ ακηίζηνμθεξ δηαγναθήξ: Δηαγναθή αθμώκ θαηά θζίκμοζα ηάλε ςξ πνμξ ηα θόζηε, δηαηενώκηαξ εθείκεξ ηηξ αθμέξ πμο αθήκμοκ ημ γνάθεμα με-ζοκεθηηθό. Ιζπονηζμόξ. Ο αιγόνηζμμξ ακηίζηνμθεξ δηαγναθήξ πανάγεη έκα ΓΔ. Απόδεηλε. (ζπεμαηηθά) Γπεηδή ε δηαγναθή ηεξ δεμ ζα δεμημονγήζεη έκα με-ζοκεθηηθό γνάθεμα, ζα οπάνπεη άιιε δηαδνμμή μεηαλύ u θαη v θύθιμξ C u = (u,v) v Γπεηδή δηαγνάθμομε θαηά θζίκμοζα ηάλε, ε είκαη ε πημ αθνηβή αθμή ζημκ θύθιμ C ηδηόηεηα θύθιμο 5

Λεληθμγναθηθή Δηάζπαζε Ιζμβαζμηώκ Απαιμηθή οπόζεζεξ δηαθνηηώκ αθμώκ: δηαηανάζζμομε όια ηα θόζηε αθμώκ με μηθνέξ μεηαβμιέξ γηα κα δηαζπάζμομε ηζμβαζμίεξ. Ακίθηοπμ. Οη αιγόνηζμμη Kruskal θαη Prim επενεάδμκηαη από ηα θόζηε με ζογθνίζεηξ δεογανηώκ. Ακ μη μεηαβμιέξ είκαη ανθεηά μηθνέξ, ημ ΓΔ με δηαηαναγμέκα θόζηε είκαη έκα ΓΔ με ηα ανπηθά θόζηε. π.π., ακ όια ηα θόζηε είκαη αθέναηα, δηαηανάζζμομε ημ θόζημξ θάζε αθμήξ i θαηά i / n Τιμπμίεζε. Μπμνμύμε κα πεηνηζημύμε μηθνέξ δηαηαναπέξ έμμεζα δηαζπώκηαξ ηηξ ηζμβαζμίεξ λενικξγοαφικά, ζύμθςκα με ημκ δείθηε θάζε αθμήξ. boolan lss(i, j) { if (cost( i ) < cost( j )) rturn tru ls if (cost( i ) > cost( j )) rturn fals ls if (i < j) rturn tru ls rturn fals } 5

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. 60

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. Ιδηόηεηα απμθμπήξ. Έζης S μπμημδήπμηε οπμζύκμιμ θμνοθώκ θαη έζης ε αθμή με ημ ειάπηζημ θόζημξ θαη αθνηβώξ έκα άθνμ ζημ S. Σόηε ημ ΓΔ πενηέπεη ηεκ. Ιδηόηεηα θύθιμο. Έζης C μπμημζδήπμηε θύθιμξ, θαη έζης f ε αθμή με ημ μέγηζημ θόζημξ πμο ακήθεη ζημ C. Σόηε ημ ΓΔ δεκ πενηέπεη ηεκ f. f S ε ακήθεη ζημ ΓΔ ε f δεκ ακήθεη ζημ ΓΔ 6

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. Ιζπονηζμόξ. Η αθμή =(u,v) δεκ ακήθεη ζε θάπμημ ΓΔ ακ θαη μόκμ ακ μη u θαη v εκώκμκηαη μέζς άιιεξ δηαδνμμήξ με θζεκόηενεξ αθμέξ από ηεκ. f S ε ακήθεη ζημ ΓΔ ε f δεκ ακήθεη ζημ ΓΔ 6

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. Ιζπονηζμόξ. Η αθμή =(u,v) δεκ ακήθεη ζε θάπμημ ΓΔ ακ θαη μόκμ ακ μη u θαη v εκώκμκηαη μέζς άιιεξ δηαδνμμήξ με θζεκόηενεξ αθμέξ από ηεκ. Απόδεηλε. Ακ μη θμνοθέξ u θαη v εκώκμκηαη μέζς άιιεξ δηαδνμμήξ P με θζεκόηενεξ αθμέξ από ηεκ ηόηε πνμζζέημομε ηεκ ζημ P θαη έπμομε θύθιμ C. ημ C ε αθμή είκαη ε πημ αθνηβή, άνα από ηδηόηεηα θύθιμο, ΓΔ. f ε f δεκ ακήθεη ζημ ΓΔ 63

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. Ιζπονηζμόξ. Η αθμή =(u,v) δεκ ακήθεη ζε θάπμημ ΓΔ ακ θαη μόκμ ακ μη u θαη v εκώκμκηαη μέζς άιιεξ δηαδνμμήξ με θζεκόηενεξ αθμέξ από ηεκ. Απόδεηλε. Ακ u θαη v δεκ εκώκμκηαη με άιιε θζεκόηενε δηαδνμμή από ηεκ ηόηε ζα βνμύμε έκα S: είκαη θζεκόηενε, u S θαη v V - S. Σόηε από ηδηόηεηα απμθμπήξ ΓΔ. S = όιεξ μη θμνοθέξ πμο μπμνμύμε κα πνμζεγγίζμομε από ηεκ u με αθμέξ θζεκόηενεξ από. Ακ οπήνπε f=(x,y) με xs θαη yv S με S u v c f < c, ηόηε μ x θηάκεη ζημ u με θζεκόηενεξ αθμέξ, + {f} (c f < c ): άνα θαη x y μ y θηάκεη ζημ u με θζεκόηενεξ αθμέξ, ε ακήθεη ζημ ΓΔ δειαδή y S, άημπμ. Άνα ε : θζεκόηενε 64

Πανάδεηγμα - Άζθεζε Άζθεζε: Δεδμμέκμο εκόξ γναθήμαημξ G με θόζηε ζηηξ αθμέξ (μπμνείηε κα ζεςνήζεηε όηη είκαη δηαθμνεηηθά) θαη μηαξ αθμήξ, ζπεδηάζηε αιγόνηζμμ πμο απακηάεη ζε πνόκμ O(n + m) ακ ε ακήθεη ζε έκα ΓΔ. Ιζπονηζμόξ. Η αθμή =(u,v) δεκ ακήθεη ζε θάπμημ ΓΔ ακ θαη μόκμ ακ μη u θαη v εκώκμκηαη μέζς άιιεξ δηαδνμμήξ με θζεκόηενεξ αθμέξ από ηεκ. Αιγόνηζμμξ: Δηαγνάθμομε από ημ G όιεξ ηηξ αθμέξ f με c f c (θαη ηεκ ίδηα ηεκ ) Υνόκμξ: O(m) Γιέγπμομε ακ ημ γνάθεμα πμο πνμθύπηεη είκαη ζοκεθηηθό, δειαδή ακ οπάνπεη (θζεκόηενε) δηαδνμμή από ημ u ζημ v. Υνόκμξ: Ο(m + n) εθηειώκηαξ DFS ή BFS Με βάζε ημκ ηζπονηζμό, ΓΔ ακ θαη μόκμ ακ δεκ οπάνπεη ηέημηα δηαδνμμή (με-ζοκεθηηθό). 65

Κώδηθεξ Huffman θαη ομπίεζε Δεδμμέκςκ

ομπίεζε Δεδμμέκςκ Γ. Δεδμμέκμο εκόξ θεημέκμο πμο πνεζημμπμηεί 3 ζύμβμια (4 γνάμμαηα θαη μνηζμέκμη παναθηήνεξ), πώξ μπμνμύμε κα ημ θςδηθμπμηήζμομε ζε bits; Γ. Ονηζμέκα γνάμμαηα (, t, a, o, i, n) πνεζημμπμημύκηαη ζοπκόηενα. Πώξ ημ εθμεηαιιεοόμαζηε γηα κα μεηώζμομε ημ μέγεζμξ ηεξ θςδηθμπμίεζεξ; Γ. Πώξ γκςνίδμομε πόηε λεθηκά ημ επόμεκμ ζύμβμιμ; Π.π. γ(a) = 0 Ση ακηηπνμζςπεύεη ημ 00? γ(b) = 00 γ() = 67

ομπίεζε Δεδμμέκςκ Γ. Δεδμμέκμο εκόξ θεημέκμο πμο πνεζημμπμηεί 3 ζύμβμια (4 γνάμμαηα θαη μνηζμέκμη παναθηήνεξ), πώξ μπμνμύμε κα ημ θςδηθμπμηήζμομε ζε bits; A. Κςδηθμπμημύμε 5 =3 δηαθμνεηηθά ζύμβμια με πίκαθα ζηαζενμύ μήθμοξ ηςκ 5 bits γηα θάζε ζύμβμιμ. Αοηό θαιείηαη ζηαζενμύ μήθμοξ θςδηθμπμίεζε. Γ. Ονηζμέκα γνάμμαηα (, t, a, o, i, n) πνεζημμπμημύκηαη ζοπκόηενα. Πώξ ημ εθμεηαιιεοόμαζηε γηα κα μεηώζμομε ημ μέγεζμξ ηεξ θςδηθμπμίεζεξ; A. Κςδηθμπμημύμε αοημύξ ημοξ παναθηήνεξ με ιηγόηενα bits από ημοξ άιιμοξ. Γ. Πώξ γκςνίδμομε πόηε λεθηκά ημ επόμεκμ ζύμβμιμ; A. Υνεζημμπμημύμε έκακ εηδηθό παναθηήνα δηαπςνηζμμύ (όπςξ ζηα ζήμαηα Mors), ή ελαζθαιίδμομε όηη δεκ οπάνπεη αζάθεηα, επηβεβαηώκμκηαξ όηη θαμία θςδηθμπμίεζε είκαη πνόζεμα θάπμηαξ άιιεξ. Π.π. γ(a) = 0 Ση ακηηπνμζςπεύεη ημ 00? γ(b) = 00 γ() = 6

Πνμζεμαηηθμί Κώδηθεξ Ονηζμόξ. Έκαξ πνμζεμαηηθόξ θώδηθαξ ημο ζοκόιμο S είκαη μηα ζοκ/ζε γ πμο ακηηζημηπεί θάζε xs ζε ξ θαη 0 ξ με ηέημημ ηνόπμ ώζηε γηα x,ys, x y, ημ γ(x) κα μεκ είκαη πνόζεμα ημο γ(y). Π.π. γ(a) = γ() = 0 γ(k) = 00 γ(l) = 0 γ(u) = 000 Γ. Πμηα είκαη ε ζεμαζία ημο 0000000 ; Τπμζέημομε όηη μη ζοπκόηεηεξ είκαη γκςζηέξ γηα έκα θείμεκμ μεγέζμοξ G: f a =0.4, f =0., f k =0., f l =0., f u =0. Γ. Πμημ είκαη ημ μέγεζμξ ημο θςδηθμπμηεμέκμο θεημέκμο; 6

Πνμζεμαηηθμί Κώδηθεξ Ονηζμόξ. Έκαξ πνμζεμαηηθόξ θώδηθαξ ημο ζοκόιμο S είκαη μηα ζοκ/ζε γ πμο ακηηζημηπεί θάζε xs ζε ξ θαη 0 ξ με ηέημημ ηνόπμ ώζηε γηα x,ys, x y, ημ γ(x) κα μεκ είκαη πνόζεμα ημο γ(y). Π.π. γ(a) = γ() = 0 γ(k) = 00 γ(l) = 0 γ(u) = 000 Γ. Πμηα είκαη ε ζεμαζία ημο 0000000 ; A. luk Τπμζέημομε όηη μη ζοπκόηεηεξ είκαη γκςζηέξ γηα έκα θείμεκμ μεγέζμοξ G: f a =0.4, f =0., f k =0., f l =0., f u =0. Γ. Πμημ είκαη ημ μέγεζμξ ημο θςδηθμπμηεμέκμο θεημέκμο; A. *f a + *f + 3*f k + *f l + 3*f u =.3G 70

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ Ονηζμόξ. Ο μέζμξ όνμξ ημο πιήζμοξ bits γηα θάζε γνάμμα εκόξ πνμζεμαηηθμύ θώδηθα γ είκαη ημ άζνμηζμα ηςκ ζοπκμηήηςκ όιςκ ηςκ ζομβόιςκ επί ημ πιήζμξ ηςκ bits γηα ηεκ θςδηθμπμίεζε ημο ζομβόιμο: ABL ( ) f x ( x) xs Θέιμομε κα βνμύμε έκα πνμζεμαηηθό θώδηθα πμο έπεη ημ ειάπηζημ δοκαηό μέζμ όνμ πιήζμοξ bits γηα θάζε γνάμμα. Αξ ζεςνήζμομε όηη μμκηειμπμημύμε έκακ θώδηθα με δοαδηθό δέκδνμ 7

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Π.π., γ(a) = γ() = 0 γ(k) = 00 0 γ(l) = 0 γ(u) = 000 0 0 l a 0 u k Γ. Πώξ μμηάδεη ημ δέκδνμ ημο πνμζεμαηηθμύ θώδηθα ; 7

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Π.π., γ(a) = γ() = 0 γ(k) = 00 0 γ(l) = 0 γ(u) = 000 0 0 l a 0 u k Γ. Πώξ μμηάδεη ημ δέκδνμ ημο πνμζεμαηηθμύ θώδηθα ; A. Μόκμ ηα θύιια έπμοκ επηγναθέξ. Παναηήνεζε. Μηα θςδηθμπμίεζε ημο x είκαη πνόζεμα μηαξ θςδηθμπμίεζεξ ημο y ακ θαη μόκμ ακ ημ μμκμπάηη ημο x είκαη πνόζεμα γηα ημ μμκμπάηη ημο y. 73

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Γ. Πμηα ε ζεμαζία ημο 00000000 ; 0 ABL ( T) f x dpth ( x) xs T 0 i 0 0 l m 0 s p 74

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Γ. Πμηα ε ζεμαζία ημο A. simpl 00000000 ; 0 ABL ( T) f x dpth ( x) xs T 0 i 0 0 l m 0 Γ. Πώξ μπμνεί αοηόξ μ πνμζεμαηηθόξ θώδηθαξ κα γίκεη πημ απμηειεζμαηηθόξ; s p 75

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Γ. Πμηα ε ζεμαζία ημο A. simpl 00000000 ; 0 ABL ( T) f x dpth ( x) xs T 0 i 0 0 0 l m s p Γ. Πώξ μπμνεί αοηόξ μ πνμζεμαηηθόξ θώδηθαξ κα γίκεη πημ απμηειεζμαηηθόξ; A. Αιιάδμομε ηεκ θςδηθμπμίεζε ημο p θαη s ζε μηθνόηενμο μήθμοξ. Σμ δέκδνμ ηώνα είκαη πιήνεξ (θάζε εζςηενηθόξ θόμβμξ έπεη δομ παηδηά). 76

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Ονηζμόξ. Έκα δέκδνμ είκαη πιήνεξ ακ θάζε εζςηενηθόξ θόμβμξ έπεη παηδηά. Ιζπονηζμόξ. Σμ δοαδηθό δέκδνμ πμο ακηηζημηπεί ζημ βέιηηζημ πνμζεμαηηθό θώδηθα είκαη πιήνεξ. Απόδεηλε. w u v 77

Ακαπανηζηώκηαξ Πνμζεμαηηθμύξ Κώδηθεξ με Δοαδηθά Δέκδνα Ονηζμόξ. Έκα δέκδνμ είκαη πιήνεξ ακ θάζε εζςηενηθόξ θόμβμξ έπεη παηδηά. Ιζπονηζμόξ. Σμ δοαδηθό δέκδνμ πμο ακηηζημηπεί ζημ βέιηηζημ πνμζεμαηηθό θώδηθα είκαη πιήνεξ. Απόδεηλε. (με άημπμ) Τπμζέημομε όηη ημ δέκδνμ T ημο βέιηηζημο θώδηθα δεκ είκαη πιήνεξ. Δειαδή οπάνπεη θόμβμξ u με έκα μόκμ παηδί v. ε Πενίπηςζε: u είκαη νίδα, δηαγνάθμομε ημ u θαη πνεζημμπμημύμε ημ v ςξ νίδα w ε Πενίπηςζε: u δεκ είκαη νίδα έζης w μ παηέναξ ημο u δηαγνάθμομε ημ u θαη θάκμομε ημ v παηδί ημο w u v Καη ζηηξ δομ πενηπηώζεηξ ημ πιήζμξ ηςκ bits (ύρμξ) γηα ηεκ θςδηθμπμίεζε εκόξ θύιιμο ζημ οπμδέκδνμ ημο v μεηώκεηαη. Σμ οπόιμηπμ δέκδνμ δεκ επενεάδεηαη. Σμ κέμ δέκδνμ T έπεη μηθνόηενμ ABL από ημ T. Άημπμ. 7

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ: Πνώηε Απόπεηνα Γ. ε πμηα ζεμεία ημο δέκδνμο εκόξ βέιηηζημο πνμζεμαηηθμύ θώδηθα πνέπεη κα ημπμζεηεζμύκ γνάμμαηα με μεγάιε ζοπκόηεηα; 7

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ: Πνώηε Απόπεηνα Γ. ε πμηα ζεμεία ημο δέκδνμο εκόξ βέιηηζημο πνμζεμαηηθμύ θώδηθα πνέπεη κα ημπμζεηεζμύκ γνάμμαηα με μεγάιε ζοπκόηεηα; A. Κμκηά ζηε νίδα Άπιεζημ Πνόηοπμ. Δεμημονγία δέκδνμο από πάκς πνμξ ηα θάης, πςνίδμομε ημ S ζε δομ ζύκμια S θαη S με (πενίπμο) ίζεξ ζοπκόηεηεξ. Ακαδνμμηθά θαηαζθεοάδμομε ηα δέκδνα γηα ημ S θαη S. [Shannon-Fano, 4] f a =0.3, f =0.5, f k =0.0, f l =0., f u =0.05 l a k a 0.5 0. 0.3 0.0 0.5 0.3 u k u 0.05 0.0 0.05 l 0. 0

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ: Κςδηθμπμίεζε θαηά Huffman Παναηήνεζε. Γνάμμαηα με μηθνή ζοπκόηεηα πνέπεη κα ημπμζεημύκηαη ζημ παμειόηενμ επίπεδμ ημο δέκδνμο εκόξ βέιηηζημο πνμζεμαηηθμύ θώδηθα. Παναηήνεζε. Γηα n >, ημ παμειόηενμ επίπεδμ πάκηα πενηέπεη ημοιάπηζημκ δομ θύιια. Παναηήνεζε. Η ζεηνά με ηεκ μπμία εμθακίδμκηαη ηα γνάμμαηα δεκ παίδεη νόιμ. Ιζπονηζμόξ. Τπάνπεη βέιηηζημξ πνμζεμαηηθόξ θώδηθαξ με δέκδνμ T* όπμο ηα δομ γνάμμαηα με μηθνόηενε ζοπκόηεηα ημπμζεημύκηαη ςξ αδένθηα ζημ T* Άπιεζημ πνόηοπμ. [Huffman, 5] Δεμημονγία δέκδνμο από θάης πνμξ ηα πάκς. Δεμημονγία δύμ θύιιςκ γηα ηα δομ μηθνόηενεξ ζοπκόηεηαξ γνάμμαηα y θαη z. Ακαδνμμηθή θαηαζθεοή ημο δέκδνμο γηα ηα οπόιμηπα πνεζημμπμηώκηαξ έκα ρεοδμ-γνάμμα γηα «yz». f yz = f y + f z

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ: Κςδηθμπμίεζε θαηά Huffman Huffman(S) { if S = { επέζηπετε ηο δένδπο με μια πίζα και θύλλα } ls { έζηυ y και z ηα δςο μικπόηεπηρ ζςσνόηηηαρ γπάμμαηα ζηο S S = S διέγπατε ηα y και z από ηο S ειζήγαγε ένα νέο γπάμμα υ ζηο S με f =f y +f z T = Huffman(S ) T = ππόζθεζε ηα δςο παιδιά y και z ζηο θύλλο υ ηος T rturn T } } Γ. Πμηα είκαη ε πνμκηθή πμιοπιμθόηεηα;

Βέιηηζημη Πνμζεμαηηθμί Κώδηθεξ: Κςδηθμπμίεζε θαηά Huffman Huffman(S) { if S = { επέζηπετε ηο δένδπο με μια πίζα και θύλλα } ls { έζηυ y και z ηα δςο μικπόηεπηρ ζςσνόηηηαρ γπάμμαηα ζηο S S = S διέγπατε ηα y και z από ηο S ειζήγαγε ένα νέο γπάμμα υ ζηο S με f =f y +f z T = Huffman(S ) T = ππόζθεζε ηα δςο παιδιά y και z ζηο θύλλο υ ηος T rturn T } } Γ. Πμηα είκαη ε πνμκηθή πμιοπιμθόηεηα; A. T(n) = T(n-) + O(n) επμμέκςξ O(n ) Γ. Πώξ οιμπμηείηαη πημ απμηειεζμαηηθά; A. Υνήζε μονάξ πνμηεναηόηεηαξ γηα ημ S: T(n) = T(n-) + O(log n) επμμέκςξ O(n log n) 3

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. επαγςγηθά, με βάζε ηεκ βειηηζηόηεηα ημο T (ηα y θαη z δηαγνάθμκηαη, ς πνμζηίζεηαη) Ιζπονηζμόξ. ABL(T )=ABL(T)-f Απόδεηλε. 4

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. επαγςγηθά, με βάζε ηεκ βειηηζηόηεηα ημο T (ηα y θαη z δηαγνάθμκηαη, ς πνμζηίζεηαη) Ιζπονηζμόξ. ABL(T )=ABL(T)-f Απόδεηλε. ABL(T) f x dpth T (x) xs f y dpth T (y) f z dpth T (z) f x dpth T (x) xs,xy,z f y f z dpth T () f x dpth T (x) xs,xy,z f dpth T () f x dpth T (x) xs,xy,z f f x dpth T ' (x) xs' f ABL(T' ) 5

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. (επαγςγηθά ςξ πνμξ ημ n= S ) 6

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. (επαγςγηθά ςξ πνμξ ημ n= S ) Βάζη: Γηα n= δεκ οπάνπεη ζοκημμόηενμ από ηεκ νίδα με δομ παηδηά. ΥΠόθεζη: Τπμζέημομε όηη ημ Huffman δέκδνμ T γηα S μεγέζμοξ n- με ς ακηί γηα y θαη z είκαη βέιηηζημ. Βήμα: (με άημπμ) 7

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. (επαγςγηθά ςξ πνμξ ημ n= S ) Βάζη: Γηα n= δεκ οπάνπεη ζοκημμόηενμ από ηεκ νίδα με δομ παηδηά. ΥΠόθεζη: Τπμζέημομε όηη ημ Huffman δέκδνμ T γηα S μεγέζμοξ n- με ς ακηί γηα y θαη z είκαη βέιηηζημ. Βήμα: (με άημπμ) Βαζηθή ηδέα ηεξ απόδεηλεξ: Έζης άιιμ δέκδνμ Z μεγέζμοξ n είκαη θαιύηενμ. Δηέγναρε ηα δομ μηθνόηενα y θαη z από ημ Z θηηάπκμκηαξ ημ Z Σμ Z δεκ μπμνεί κα είκαη θαιύηενμ από ημ T από ΤΠ.

Κςδηθμπμίεζε Huffman : Άπιεζηε Ακάιοζε Ιζπονηζμόξ. Ο θώδηθαξ Huffman γηα ημ S πεηοπαίκεη ημ ειάπηζημ ABL μπμημοδήπμηε πνμζεμαηηθμύ θώδηθα. Απόδεηλε. (επαγςγηθά ςξ πνμξ ημ n= S ) Βάζη: Γηα n= δεκ οπάνπεη ζοκημμόηενμ από ηεκ νίδα με δομ παηδηά. ΥΠόθεζη: Τπμζέημομε όηη ημ Huffman δέκδνμ T γηα S μεγέζμοξ n- με ς ακηί γηα y θαη z είκαη βέιηηζημ. Βήμα: (με άημπμ) Τπμζέημομε όηη ημ Huffman δέκδνμ T γηα ημ S δεκ είκαη βέιηηζημ. Άνα οπάνπεη δέκδνμ Z ηέημημ ώζηε ABL(Z) < ABL(T). ημ δέκδνμ Z πνέπεη ηα θύιια y θαη z με ηεκ μηθνόηενε ζοπκόηεηα κα είκαη αδένθηα (πνμεγμύμεκε παναηήνεζε). Έζης Z = Z {y, z}, με ημ παηένα ημοξ κα έπεη επηγναθή ς. Όμμηα θηηάπκεηαη ημ δέκδνμ T γηα S από ημκ αιγόνηζμμ. Γκςνίδμομε όηη ABL(Z )=ABL(Z)-f, θαη ABL(T )=ABL(T)-f. Αιιά επίζεξ ηζπύεη ABL(Z) < ABL(T), επμμέκςξ ABL(Z ) < ABL(T ). Άημπμ με βάζε ηεκ ΤΠ.

Κςδηθμπμίεζε Huffman : Πανάδεηγμα Έπμομε 7 ζύμβμια: ζέιμομε 3 bits: ( 3 > 7 > ). Κςδ. ζηαζενμύ μήθμοξ: ABL(T fixd ) = 4,5 g d f b c a 0.06 0.3 0.7 0. 0. 0.30 0.37 0

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 g d f b c a 0.06 0.3 0.7 0. 0. 0.30 0.37

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 gd f b c a 0. 0.7 0. 0. 0.30 0.37 g 0.06 d 0.3

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 f b gd c a 0.7 0. 0. 0. 0.30 0.37 g 0.06 d 0.3 3

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 f b gd c a 0.7 0. 0. 0. 0.30 0.37 g 0.06 d 0.3 4

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 fb gd c a 0.35 0. 0. 0.30 0.37 f b g d 0.7 0. 0.06 0.3 5

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 gd c fb 0. 0. 0.30 0.35 a 0.37 g d f b 0.06 0.3 0.7 0. 6

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 gd 0. c 0. 0.30 fb 0.35 a 0.37 g 0.06 d 0.3 f 0.7 b 0. 7

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 gdc 0.4 0.30 fb 0.35 a 0.37 gd c f b 0. 0. 0.7 0. g 0.06 d 0.3

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 0.30 fb 0.35 a 0.37 gdc 0.4 f b gd c 0.7 0. 0. 0. g 0.06 d 0.3

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 0.30 fb 0.35 a 0.37 gdc 0.4 f b gd c 0.7 0. 0. 0. g 0.06 d 0.3 00

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 fb 0.65 a 0.37 gdc 0.4 0.30 fb 0.35 gd 0. c 0. f b g d 0.7 0. 0.06 0.3 0

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 a 0.37 gdc 0.4 fb 0.65 gd 0. c 0. 0.30 fb 0.35 g d f b 0.06 0.3 0.7 0. 0

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 a 0.37 gdc 0.4 fb 0.65 gd 0. c 0. 0.30 fb 0.35 g d f b 0.06 0.3 0.7 0. 03

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 agdc 0.5 fb 0.65 a gdc fb 0.37 0.4 0.30 0.35 gd c f b 0. 0. 0.7 0. g 0.06 d 0.3 04

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 fb 0.65 agdc 0.5 fb a gdc 0.30 0.35 0.37 0.4 f 0.7 b 0. gd 0. c 0. g 0.06 d 0.3 05

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 fb 0.65 agdc 0.5 fb a gdc 0.30 0.35 0.37 0.4 f 0.7 b 0. gd 0. c 0. g 0.06 d 0.3 06

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 fb agdc.50 fb 0.65 agdc 0.5 fb a gdc 0.30 0.35 0.37 0.4 f 0.7 b 0. gd 0. c 0. g 0.06 d 0.3 07

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 0 0 0 a 0.30 0 0.37 0 f b c 0.7 0. 0 0. g d 0.06 0.3 0

Κςδηθμπμίεζε Huffman : Πανάδεηγμα ABL(T fixd ) = 4,5 0 Κςδηθμπμίεζε Huffman γ(a) = 0 γ(b) = 0 γ(c) = γ(d) = 0 γ() = 00 γ(f) = 00 γ(g) = 00 0 0.30 0 a 0.37 0 0 ABL(T) = 4,0 f b c 0.7 0. 0 0. g d 0.06 0.3 0

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

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

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