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

Σχετικά έγγραφα
Δυναμικός Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 8: Δυναμικός Προγραμματισμός. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Προσεγγιστικοί Αλγόριθμοι

Μάθημα 20: Δυναμικός Προγραμματισμός (DP)

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

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

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

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

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

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

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

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

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

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

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

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

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

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

Branch and Bound. Branch and Bound

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

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

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

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

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

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

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

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

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

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

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

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

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

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

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

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

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

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

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

Υπολογιστικό Πρόβληµα

Ουρά Προτεραιότητας: Heap

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

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

Πολυπλοκότητα Αλγορίθµων

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

Αλγόριθμοι Αναζήτησης

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)

για NP-Δύσκολα Προβλήματα

Διακριτά Μαθηματικά. Απαρίθμηση: Διωνυμικοί συντελεστές

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

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

Φροντιστήριο 4 Σκελετοί Λύσεων

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

Μοντελοποίηση προβληµάτων

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

Ουρά Προτεραιότητας: Heap

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

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

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

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

Δομές Δεδομένων Ενότητα 2

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

Ουρά Προτεραιότητας: Heap

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Outline. 6 Edit Distance

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

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

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές

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

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

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

Αναδροµή (Recursion) ύο παρεξηγήσεις. Σκέψου Αναδροµικά. Τρίγωνο Sierpinski Μη αναδροµικός ορισµός;

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

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

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

1o Φροντιστήριο ΗΥ240

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Transcript:

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

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

Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές long Binom(int n, int k) { if ((k == 0) (k == n)) return(1); return(binom(n 1, k - 1) + Binom(n 1, k)); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές long Binom(int n, int k) { if ((k == 0) (k == n)) return(1); return(binom(n 1, k - 1) + Binom(n 1, k)); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές long Binom(int n, int k) { if ((k == 0) (k == n)) return(1); return(binom(n 1, k - 1) + Binom(n 1, k)); } Χρόνος εκτέλεσης δίνεται από την ίδια αναδροµή! Πρόβληµα οι επαναλαµβανόµενοι υπολογισµοί. Όταν έχω επικαλυπτόµενα στιγµιότυπα, χρησιµοποιώ δυναµικό προγραµµατισµό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

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

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

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

Τρίγωνο του Pascal Όταν έχω επαναλαµβανόµενα στιγµιότυπα, αποθηκεύω τιµές σε πίνακα και τις χρησιµοποιώ χωρίς να τις υπολογίζω πάλι. Θεαµατική βελτίωση χρόνου εκτέλεσης! Σηµαντικές απαιτήσεις σε µνήµη. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 2

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

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

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

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

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

Τρίγωνο του Pascal Χρόνος εκτέλεσης Θ(n k) αντί για Ω((n / e) k ). Μνήµη Θ(n k). Μπορεί να µειωθεί σε Θ(k). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 3

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

Δυναµικός Προγραµµατισµός Εφαρµόζουµε δυναµικό προγραµµατισµό για προβλήµατα συνδυαστικής βελτιστοποίησης όπου ισχύει: Αρχή βελτιστότητας (βέλτιστες επιµέρους λύσεις). Κάθε τµήµα βέλτιστης λύσης αποτελεί βέλτιστη λύση για αντίστοιχο υποπρόβληµα. π.χ. κάθε τµήµα µιας συντοµότερης διαδροµής είναι συντοµότερη διαδροµή µεταξύ των άκρων του. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 4

Δυναµικός Προγραµµατισµός Εφαρµόζουµε δυναµικό προγραµµατισµό για προβλήµατα συνδυαστικής βελτιστοποίησης όπου ισχύει: Αρχή βελτιστότητας (βέλτιστες επιµέρους λύσεις). Κάθε τµήµα βέλτιστης λύσης αποτελεί βέλτιστη λύση για αντίστοιχο υποπρόβληµα. π.χ. κάθε τµήµα µιας συντοµότερης διαδροµής είναι συντοµότερη διαδροµή µεταξύ των άκρων του. Έστω βέλτιστες λύσεις για «µικρότερα» προβλήµατα. Πως συνδυάζονται για βέλτιστη λύση σε «µεγαλύτερα»; Αναδροµική εξίσωση που περιγράφει τιµή βέλτιστης λύσης. Υπολογίζουµε λύση από µικρότερα σε µεγαλύτερα (bottom-up). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 4

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

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

Διακριτό Πρόβληµα Σακιδίου Δίνονται n αντικείµενα και σακίδιο µεγέθους Β. Αντικείµενο i έχει µέγεθος και αξία: Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αντικείµενα: { (1, 0.5), (2, 5), (2, 5), (3, 9), (4, 8) } Μέγεθος σακιδίου: 4. Βέλτιστη λύση = { (2, 5), (2, 5) } Αντικείµενα: { (3, 5), (2, 7), (4, 4), (6, 8), (5, 4) } Μέγεθος σακιδίου: 10. Βέλτιστη λύση = { (3, 5), (2, 7), (4, 4) } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 5

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

Πρόβληµα Σακιδίου Πρόβληµα συνδυαστικής βελτιστοποίησης: Συλλογή που χωράει εφικτή λύση. Αντιστοιχεί σε αξία. Ζητούµενο: (βέλτιστη) συλλογή που χωράει µε µέγιστη αξία. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 6

Πρόβληµα Σακιδίου Πρόβληµα συνδυαστικής βελτιστοποίησης: Συλλογή που χωράει εφικτή λύση. Αντιστοιχεί σε αξία. Ζητούµενο: (βέλτιστη) συλλογή που χωράει µε µέγιστη αξία. Εξαντλητική αναζήτηση: #συλλογών = 2 n. Χρόνος Ω(n2 n ) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 6

Πρόβληµα Σακιδίου Πρόβληµα συνδυαστικής βελτιστοποίησης: Συλλογή που χωράει εφικτή λύση. Αντιστοιχεί σε αξία. Ζητούµενο: (βέλτιστη) συλλογή που χωράει µε µέγιστη αξία. Εξαντλητική αναζήτηση: #συλλογών = 2 n. Χρόνος Ω(n2 n ) Πρόβληµα Σακιδίου είναι NP-δύσκολο και δεν υπάρχει «γρήγορος» (πολυωνυµικός) αλγόριθµος. Εφαρµογή δυναµικού προγραµµατισµού. Χρόνος Θ(n B). Δεν είναι πολυωνυµικός(;)! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 6

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

Αρχή Βελτιστότητας Αντικείµενα N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Α * {1,, n}. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 7

Αρχή Βελτιστότητας Αντικείµενα N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Α * {1,, n}. Αγνοούµε αντικείµενο n : Α * \ {n} βέλτιστη λύση για Ν \ {n} µε σακίδιο B (f n s n ). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 7

Αρχή Βελτιστότητας Αντικείµενα N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Α * {1,, n}. Αγνοούµε αντικείµενο n : Α * \ {n} βέλτιστη λύση για Ν \ {n} µε σακίδιο B (f n s n ). Αγνοούµε αντικείµενα {n, n 1}: Α * \ {n, n 1} βέλτιστη λύση για Ν \ {n, n 1} µε σακίδιο B (f n s n + f n-1 s n-1 ). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 7

Αρχή Βελτιστότητας Αντικείµενα N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Α * {1,, n}. Αγνοούµε αντικείµενο n : Α * \ {n} βέλτιστη λύση για Ν \ {n} µε σακίδιο B (f n s n ). Αγνοούµε αντικείµενα {n, n 1}: Α * \ {n, n 1} βέλτιστη λύση για Ν \ {n, n 1} µε σακίδιο B (f n s n + f n-1 s n-1 ). Αν γνωρίζουµε βέλτιστη αξία για αντικείµενα Ν \ {n} και σακίδια µεγέθους Β και Β s n αποφασίζουµε αν αντικείµενο n στη βέλτιστη λύση! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 7

Αναδροµική Εξίσωση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 8

Αναδροµική Εξίσωση P(n-1, B) βέλτιστη αξία για Ν \ {n} σε σακίδιο Β P(n-1, B - s n ) βέλτιστη αξία για Ν \ {n} σε σακίδιο Β - s n Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 8

Αναδροµική Εξίσωση P(n-1, B) βέλτιστη αξία για Ν \ {n} σε σακίδιο Β P(n-1, B - s n ) βέλτιστη αξία για Ν \ {n} σε σακίδιο Β - s n Βέλτιστη αξία µε αντικείµενα {1,, i } και σακίδιο µεγέθους b : Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 8

Παράδειγµα Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 9

Παράδειγµα Αντικείµενα: { (3, 5), (2, 7), (4, 4), (6, 8), (5, 4) } Μέγεθος σακιδίου: 10. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 9

Παράδειγµα Αντικείµενα: { (3, 5), (2, 7), (4, 4), (6, 8), (5, 4) } Μέγεθος σακιδίου: 10. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 9

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

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

Υλοποίηση Χρόνος Ο(n B) Μνήµη Ο(n B) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 10

Υλοποίηση Αναδροµική υλοποίηση; Χρόνος Ο(n B) Μνήµη Ο(n B) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 10