Γιάννης Σταματίου Μη αποδοτική αναδρομή και η δυναμική προσέγγιση Webcast 8.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
Εισαγωγή στους Αλγόριθμους Ταξινόμησης
Αλγόριθμοι «διαίρει και βασίλευε»
ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι
ΕΠΛ231 – Δομές Δεδομένων και Αλγόριθμοι
ΓΡΗΓΟΡΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER
Αλγόριθμοι Ι Κάθε καλώς ορισμένη υπολογιστική διαδικασία, η οποία καλείται να επιλύσει ένα συγκεκριμένο πρόβλημα εντός πεπερασμένου χρόνου. Αλγόριθμος.
Αλγόριθμοι Ταξινόμησης
Ο Αλγόριθμος FP-Growth. Αλγόριθμος FP-Growth Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των συναλλαγών με τη μορφή ενός FP-δέντρου.
ΑΛΓΟΡΙΘΜΟΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΥΠΟΛΟΓΙΣΙΜΟΤΗΤΑ Εισαγωγή στις βασικές έννοιες
ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ Β. Κώστογλου – Τμήμα Πληροφορικής ΑΤΕΙ-Θ
Αλγόριθμοι και Πολυπλοκότητα
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Διαίρει-και-Βασίλευε
Δυναμικός Προγραμματισμός
Μάθημα 14ο «Ισοδύναμα κλάσματα» Δάσκαλος: Γιάννης Στυλιανού
Γιάννης Σταματίου Τεχνικές αντιστροφής γεννητριών συναρτήσεων Webcast 7.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Αριθμητικές Μέθοδοι Βελτιστοποίησης Θεωρία & Λογισμικό Τμήμα Πληροφορικής - Πανεπιστήμιο Ιωαννίνων Ι. Η. Λαγαρής.
Γιάννης Σταματίου Ακολουθίες και Σειρές
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
ΑΕΠΠ ΕΝΟΤΗΤΑ 1 ΚΑΘΗΓΗΤΗΣ ΛΙΑΠΗΣ ΒΑΣΙΛΕΙΟΣ (ΠΕ19).
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Διαίρει και Βασίλευε γνωστότερη Η γνωστότερη μέθοδος σχεδιασμού αλγορίθμων: Διαιρούμε.
Δυναμικη Δεσμευση Μνημης Συνδεδεμενες Λιστες (dynamic memory allocation, linked lists) Πως υλοποιουμαι προγραμματα που δεν γνωριζουμε πριν την εκτελεση.
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Ταξινόμηση και Αναζήτηση
Αλγόριθμοι Ταξινόμησης
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Ενότητα 1.2 Αναδρομικές Σχέσεις Σχεδίαση & Ανάλυση Αλγορίθμων.
Υπολογιστική Πολυπλοκότητα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό.
Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Προγραμματισμός Εισαγωγή στην έννοια του αλγορίθμου και στον Προγραμματισμό.
Θεωρία Υπολογισμού Χρονική Πολυπλοκότητα και Μοντέλα.
Ασυμπτωτικός Συμβολισμός
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1. 2 Αλληλεπικαλυπτόμενα Υποπροβλήματα Όπως η Διαίρεση και Κυριαρχία, ο Δυναμικός Προγραμματισμός συνδυάζει λύσεις σε υποπροβλήματα.
Επίλυση Διακριτών Γραμμικών Συστημάτων Νικόλαος Καραμπετάκης Επίκουρος Καθηγητής Τμήμα Μαθηματικών, Α.Π.Θ.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Ενότητα 2.1 Αλγόριθμοι Ταξινόμησης O(n 2 ) & O(nlogn) Σχεδίαση & Ανάλυση Αλγορίθμων.
8-1 ΜΑΘΗΜΑ 8 ο Εισαγωγή στους Αλγόριθμους Ταξινόμησης.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα.
Αναζήτηση σε πίνακα Αναζήτηση σε πίνακα που περιέχει ακέραιους αριθμούς.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Αρχιτεκτονικη & Γεωμετρια του Παρθενωνα
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Εφαρμογές Πληροφορικής
Η ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)
Δυναμικός Προγραμματισμός
ΔΗΜΙΟΥΡΓΙΚΕΣ ΕΡΓΑΣΙΕΣ Βιωματικό Μέρος
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
ΘΕΩΡΗΤΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ
Μεταγράφημα παρουσίασης:

Γιάννης Σταματίου Μη αποδοτική αναδρομή και η δυναμική προσέγγιση Webcast 8

Περι αλγορίθμων, εν συντομία!  Είδαμε (Webcast 1) ότι οι αλγόριθμοι χωρίζονται στις εξής κατηγορίες (σε σχέση με την πολυπλοκότητα χειρότερης περίπτωσης): Αποδοτικοί ή πολυωνυμικού χρόνου: O(n k ) Μη αποδοτικοί (intractable): O(k n ), O(n n ), O(n!)  Τεχνικές για αποδοτικούς αλγόριθμους «Διαίρει και βασίλευε» (Divide and Conquer)  Quick Sort, διαδική αναζήτηση, merge sort Η δυναμική προσέγγιση  Όπου δεν «πίπτει» το «διαίρει και βασίλευε»!  Δεν είναι δυνατή η υποδιαίρεση σε αρκούντως μικρά υποπροβλήματα

Αριθμοί Fibonacci int fib(int n) { if (n < 2) return n; else return (fib(n-1) + fib(n-2)) ; } Κομψό και εύκολο στην κατανόηση!

 Ανάλυση Εάν ο αριθμός βημάτων υπολογισμού του αριθμού Fibonacci f n είναι t n τότε t n = t n-1 + t n-2 Καθώς είναι γνωστοί οι δύο πρώτοι όροι, ισχύει t 1 = t 2 = c Συνεπώς, t n = c’f n-2

Και λίγα διακριτά μαθηματικά... Συνεπώς και, άρα, ΕΚΘΕΤΙΚΟΣ ΧΡΟΝΟΣ, ΜΗ ΑΠΟΔΟΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ! lim n  f n+1 fnfn  = = f n+1 = O( n )

Η δυναμική προσέγγιση int fib( int n ) { int f1, f2, f; if ( n < 2 ) return n; else { f1 = f2 = 1; for( k = 2; k < n; k++ ) { f = f1 + f2; f2 = f1; f1 = f; } return f; }

int fib( int n ) { int f1, f2, f; if ( n < 2 ) return n; else { f1 = f2 = 1; for( k = 2; k < n; k++ ) { f = f1 + f2; f2 = f1; f1 = f; } return f; } Λύνουμε μικρά υποπροβλήματα πρώτα! Και στη συνέχεια λύνουμε το μεγαλύτερο πρόβλημα! Σε κάθε βήμα, ο αλγόριθμος θυμάται τη λύση των δύο πιο πρόσφατων υποπροβλημάτων.

Η γενική δυναμική προσέγγιση Λύνουμε πρώτα μικρά υποπροβλήματα Αποθηκεύουμε τις λύσεις τους Χρησιμοποιούμε τις λύσεις στα μικρότερα προβλήματα για να λύσουμε τα μεγαλύτερα Στην περίπτωση των αριθμών Fibonacci, ο χρόνος επίλυσης μειώνεται δραματικά σε O(n) από O(1.618 n )