Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:



Σχετικά έγγραφα
Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

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

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

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

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

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

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

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

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

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

Τεχνικές Σχεδιασμού Αλγορίθμων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Παράλληλοι Αλγόριθµοι

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

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

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

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

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

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

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

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

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΕΠΛ 232 Φροντιστήριο 2

Αλγόριθµοι Οπισθοδρόµησης

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35)

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

Χαρακτηριστικά Δυναμικού Προγραμματισμού. Εισαγωγικά. 2 Δυναμικός Προγραμματισμός

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

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

ιαχείριση Εφοδιαστικής Αλυσίδας

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

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

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

ΠΑΡΑΓΩΓΟΣ ΣΥΝΑΡΤΗΣΗ. Εφαπτοµένη ευθεία

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

ΕΡΩΤΗΣΕΙΣ ΚΑΤΑ Ι ΑΚΤΙΚΗ ΕΝΟΤΗΤΑ ΤΟΥ ΚΕΦΑΛΑΙΟΥ 4

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ηµεροµηνία Αποστολής στον Φοιτητή: 12 Οκτωβρίου 2007

(Γραμμικές) Αναδρομικές Σχέσεις

Διάλεξη 04: Παραδείγματα Ανάλυσης

Αναδρομικοί Αλγόριθμοι

(Γραμμικές) Αναδρομικές Σχέσεις

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

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

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

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

Μαθηµατικά για Πληροφορική

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

ΜΑΘΗΜΑΤΙΚΑ Β ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 2003

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

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

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

Επιπλέον Ασκήσεις. Μαθηµατική Επαγωγή. ιαιρετότητα. Προβλήµατα ιαιρετότητας.

(S k R n ) (C k R m )

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 7

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 8

{3k + a : k N a = 1,2}.

5.2 ΑΡΙΘΜΗΤΙΚΗ ΠΡΟΟ ΟΣ

Όνοµα: Λιβαθινός Νικόλαος 2291

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Transcript:

υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-

υναµικός Προγραµµατισµός Αν η λύση ενός προβλήµατος µπορεί να εκφραστεί µαθηµατικά µε αναδροµικό τρόπο, τότε το πρόβληµα µπορεί να λυθεί από ένα αναδροµικό αλγόριθµο. Συχνά οι µεταγλωττιστές γλωσσών προγραµµατισµού συντείνουν ώστε η εκτέλεση πολλών αναδροµικών προγραµµάτων να µην είναι αποδοτική. Σε τέτοιες περιπτώσεις µπορούµε να βοηθήσουµε το µεταγλωττιστή µετατρέποντας τον αλγόριθµο σε µη-αναδροµικό αλγόριθµο ο οποίος συστηµατικά φυλάει απαντήσεις υποπροβληµάτων σε ένα πίνακα. Μια τεχνική η οποία χρησιµοποιεί αυτή τη µέθοδο είναι γνωστή ως δυναµικός προγραµµατισµός (dyamic programmig). ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-

υναµικός Προγραµµατισµός Όπως και η µέθοδος διαίρει και βασίλευε ο δυναµικός προγραµµατισµός επιλύει προβλήµατα συνδυάζοντας λύσεις υποπροβλήµατων. Σηµαντική διαφορά των δύο µεθόδων: Η διαίρει και βασίλευε χωρίζει ένα πρόβληµα σε ανεξάρτητα υποπροβλήµατα. Ο δυναµικός προγραµµατισµός είναι εφαρµόσιµος και εκεί όπου τα υποπροβλήµατα επικαλύπτονται, και έχουν κοινά υποπροβλήµατα. Ενώ ένας διαίρει και βασίλευε αλγόριθµος θα έλυνε κοινά υποπροβλήµατα ξανά και ξανά, ένας αλγόριθµος δυναµικού προγραµµατισµού λύνει κάθε υποπρόβληµα ακριβώς µια φορά και καταχωρεί τη λύση σε ένα πίνακα από όπου µπορεί να την διαβάσει κάθε φορά που το πρόβληµα ξανασυναντιέται. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-3

Φάσεις στη σχεδίαση ενός αλγόριθµου Π. Χαρακτήρισε τη δοµή µιας βέλτιστης λύσης.. Όρισε αναδροµικά την τιµή µιας βέλτιστης λύσης. 3. Υπολόγισε τη βέλτιστη λύση και την τιµή της από κάτω προς τα πάνω. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-4

Πολλαπλασιασµός πινάκων οθέντων πινάκων Α, Β, Γ,, ποιος είναι ο πιο αποδοτικός τρόπος για να υπολογίσουµε το γινόµενο Α Β Γ ; Υπάρχουν διάφορες επιλογές που αντιστοιχούν στους διαφορετικούς τρόπους τοποθέτησης παρενθέσεων: ((ΑΒ)Γ), (ΑΒ)(Γ ), (Α(ΒΓ)), Α((ΒΓ) ), Όλοι οι τρόποι οδηγούν στο ίδιο αποτέλεσµα λόγω της επιµεριστικότητας της πράξης του πολλαπλασιασµού πινάκων Όµως το κόστος (ο συνολικός αριθµός βηµάτων) κάθε παρενθεσιοποίησης είναι διαφορετικός και εξαρτάται από τις διαστάσεις των πινάκων. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-5

Πολλαπλασιασµός πινάκων Κόστος πολλαπλασιασµού: Αν ο πίνακας Α έχει a σειρές και b στήλες και ο πίνακας Β έχει b σειρές και c στήλες, τότε o πίνακας ΑΒ έχει a σειρές και c στήλες και υπολογισµός του απαιτεί a b c πολλαπλασιασµούς. AB[ i][ j] = b = A[ i][ ] B[ ][ j] Παράδειγµα: Έστω πίνακες Α, Β, Γ,, διαστάσεων 0 0, 0 5, 5 40, 40 0. Τότε Κόστος του γινοµένου ((ΑΒ) Γ) είναι 7000 Κόστος του γινοµένου (ΑΒ)(Γ ) είναι 3500 ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-6

Το πρόβληµα Έστω πίνακες Α, Α,.., Α όπου ο i-στός πίνακας έχει c i- σειρές και c i στήλες Στόχος: εύρεση σειράς πολλαπλασιασµών για υπολογισµό του γινοµένου Γ = i= A i η οποία να ελαχιστοποιεί τον συνολικό αριθµό πολλαπλασιασµών. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-7

Λύση Εξαντλητική ανάλυση όλων των δυνατών παρενθεσιοποιήσεων. εν οδηγεί σε αποτελεσµατικό αλγόριθµο: Έστω P() ο αριθµός των παρενθεσιοποιήσεων µιας αλυσίδας µήκους. Αφού η αλυσίδα µπορεί να σπάσει µεταξύ της και της θέσης για οποιοδήποτε, -, και οι προκύπτουσες µικρότερες αλυσίδες να παρενθεσιοποιηθούν αναδροµικά και ανεξάρτητα, έχουµε P( ) = =, P( ) P( ), if if = Μπορεί να αποδειχθεί ότι η λύση της πιο πάνω αναδροµική εξίσωσης είναι ( ) 4 P( ) = Ω 3 ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-8

Λύση Φάση : Χαρακτηρισµός δοµής βέλτιστης λύσης. Ι ΙΟΤΗΤΑ ΒΕΛΤΙΣΤΗΣ ΠΑΡΕΝΘΕΣΙΟΠΟΙΗΣΗΣ Έστω ότι η βέλτιστη παρενθεσιοποίηση σπάζει την αλυσίδα µεταξύ των θέσεων και. Τότε οι παρενθεσιοποιήσεις των υποαλυσιδών Α,, Α και Α,, Α είναι και αυτές βέλτιστες. ιαφορετικά, µια καλύτερη παρενθεσιοποίηση της υποαλυσίδας θα οδηγούσε σε παρενθεσιοποίηση ολόκληρης της αλυσίδας καλύτερης από τη βέλτιστη. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-9

Φάση : Αναδροµικός ορισµός βέλτιστης λύσης Γράφουµε A[i,j] για το γινόµενο Α i Α j και m[i,j] για τον ελάχιστο αριθµό πολλαπλασιασµών που απαιτούνται για τον υπολογισµό του πίνακα Α[i,j]. Αν l r, έχουµε m[ l, r] = mi l i r ( m[ l, i] m[ i, r] cl cicr ) Θέτουµε m[i,i]=0, και έτσι παίρνουµε ένα σύνολο αναδροµικών εξισώσεων. Το ελάχιστο κόστος υπολογισµού του γινοµένου Γ δίνεται από το m[,]. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-0

Αλγόριθµος Σε αυτό το σηµείο φαίνεται προφανής ο πιο κάτω αναδροµικός αλγόριθµος ο οποίος υπολογίζει το c[,m]. multiply(it l, it r){ if (l==r) retur 0; else m = ; for (i=; i<; i){ = multiply(l,i) multiply(i,r) c[l-] c[i] c[r]; m = mi(m,); } } Ποιος ο χρόνος εκτέλεσης της πιο πάνω διαδικασίας; ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-

ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- Αλγόριθµος Χρόνος Εκτέλεσης Έστω Τ() o χρόνος εκτέλεσης της διαδικασίας multiply(l,r), µε r-l =. Έχουµε την πιο κάτω αναδροµική σχέση: Αφού κάθε όρος Τ(ι) εµφανίζεται δύο φορές µέσα στο άθροισµα έχουµε ότι Επιλύουµε την αναδροµική ανισότητα µε τη µέθοδο της επαγωγής.. Προβλέπουµε ότι Τ() Ω( ).. Θα δείξουµε µε τη µέθοδο της επαγωγής ότι για κάθε Τ() -. if ), ) ( ) ( ( ) ( () > = T T T T = = = ) ( ) ( T() T T

ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-3 Αλγόριθµος Χρόνος Εκτέλεσης Προφανώς η πρόταση ισχύει για =. Υποθέτουµε ότι ισχύει για κάθε <. Τότε όπως χρειάζεται. Συνεπώς ο αλγόριθµος είναι εκθετικός, και δεν αποτελεί βελτίωση από την εξαντλητική ανάλυση της λύσης. ) ( = = = T() T

Αλγόριθµος Χρόνος Εκτέλεσης Γιατί απέτυχε ο προφανής αλγόριθµος; m(,4) m(,) m(3,4) m(,3) m(4,4) m(,) m(,4) m(,) m(,) m(3,3) m(4,4) m(,) m(3,4) m(,3) m(4,4) m(,) m(,3) m(,) m(3,3) m(3,3) m(4,4) m(,) m(3,3) m(,) m(3,3) m(,) m(,) ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-4

Φάση 3: Υπολογισµός βέλτιστης λύσης από κάτω προς τα πάνω Πόσα υποπροβλήµατα υπάρχουν; Όσα και τα ζεύγη i, j, i j, δηλαδή Θ( Θα υπολογίσουµε τις τιµές m[l,r], από κάτω και πηγαίνοντας προς τα πάνω : αρχικά το κόστος ακολουθιών µήκους 0, στη συνέχεια ακολουθιών µήκους,, ιατηρούµε τις τιµές στον πίνακα C, του οποίου αρχικά όλες οι θέσεις έχουν τη τιµή 0. ) Ο πίνακας D περιέχει τις διαστάσεις των πινάκων, δηλαδή: D = [c 0, c,, c ] ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-5

for (l = ; l <= ; l) C[l,l] = 0; Αλγόριθµος for (=; <=; ) for (l=; l<= -; l) r=l; C[l,r]= ; for (i=l; i<r; i) temp = C[l,i]C[i,r] D[l-] D[i] D[r]; if (C[l,r] > temp) C[l,r] = temp; ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-6

Ανάλυση Αλγόριθµου Με τον πιο πάνω αλγόριθµο, το κάθε υποπρόβληµα λύνεται µόνο µια φορά. Η λύση του καταχωρείται στον πίνακα C από όπου µπορεί να χρησιµοποιηθεί κάθε φορά που το υποπρόβληµα καλείται από ένα µεγαλύτερο (υπο)πρόβληµα. Ανάλυση χρόνου εκτέλεσης: Υπάρχουν Θ(²) υποπροβλήµατα. Το κάθε ένα από αυτά απαιτεί χρόνο Ο() (για εύρεση του ελάχιστου από τα Ο() αθροίσµατα που αντιστοιχούν σε κάθε πιθανή διάσπαση της αλυσίδας). Άρα συνολικά απαιτείται χρόνος Ο(³) ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-7

Παράδειγµα Εκτέλεσης Έστω πίνακες Α διαστάσεων 6 5 Α διαστάσεων 5 8 Α3 διαστάσεων 8 4 Α4 διαστάσεων 4 0 Α5 διαστάσεων 0 3 A6 διαστάσεων 3 7 π.χ. η θέση m[,5] υπολογίζεται ως εξής m[,5] = = m[,] m[3,5] cc m[,3] m[4,5] cc m[,4] m[5,5] cc 336 3 4 c c c 5 5 5 = 0 6 5 8 3 = 336, = 60 0 5 4 3 = 340, = 360 0 5 0 3 = 50 ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-8

Παράδειγµα Εκτέλεσης Έστω A[6,5], A[5,8], A3[8,4], A4[4,0], A5[0,3], A6[3,7], i/j 3 4 5 6 0 40 80 50 46 55 0 60 360 336 44 3 0 30 6 384 4 0 0 04 5 0 0 6 0 ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3-9