Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2

1,715 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2

  1. 1. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επανάληψη 2 1 ΠΛΗ30 – ΕΠΑΝΑΛΗΨΗ 2 Αναδροµή και Αλγόριθµοι Ο∆ΗΓΙΕΣ ΓΙΑ ΤΗΝ ΕΠΑΝΑΛΗΨΗ Επαναλάβετε τα µαθήµατα: • Ανάλυση Αλγορίθµων – Μάθηµα 4: Η αναδροµή T(n)=aT(n/b)+f(n) • Ανάλυση Αλγορίθµων – Μάθηµα 5: Η αναδροµή T(n)=aT(n-b)+f(n), T(n)=T(n/a)+T(n/b)+f(n) • Ανάλυση Αλγορίθµων – Μάθηµα 6: Περισσότερα για τον Υπολογισµό Αθροισµάτων Πρώτη προτεραιότητα και πάλι το Master Theorem από το µάθηµα 4, η αναδροµή Τ(n)=T(n-1)+f(n) που λύνεται µε επανάληψη και κατά µέλη και επίσης από το µάθηµα 5 οι εµπειρικοί κανόνες. Να ξέρουµε και την ασκηση που λύνεται στο µάθηµα 6 µε υπολογισµό αθροισµάτων. Η ενότητα 2 να µελετηθεί µόνο από αυτούς που θέλουν να επιτύχουν µια πολύ υψηλή επίδοση στο µάθηµα. Ο∆ΗΓΙΕΣ ΓΙΑ ΤΟΝ ΧΡΟΝΟ ΕΠΙΛΥΣΗΣ ΑΣΚΗΣΕΩΝ: Έπειτα προχωρήστε στην επίλυση των ασκήσεων. Οι ασκήσεις αναδροµών πρέπει να βγαίνουν ολόσωστα σε περίπου 25’-30’ η κάθε µία. Οι υπόλοιπες ασκήσεις πρέπει να ολοκληρώνονται σε το πολύ µισή ώρα. Έπειτα συµβουλευτείτε τις αντίστοιχες ηχογραφήσεις για να δείτε ολοκλήρωµένα τις λύσεις των ασκήσεων. Συνιστώµενοι Χρόνοι για την επανάληψη: Χρόνος Επανάληψης: 2.00’ Χρόνος Απάντησης Ασκήσεων: 3.00’ Ηχογραφήσεις Ασκήσεων: 2.00’
  2. 2. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επανάληψη 2 2 Ασκήσεις Άσκηση 1 Υποθέτουµε ότι έχουµε να επιλέξουµε για ένα πρόβληµα Π από τους εξής αλγόριθµους: • Ο αλγόριθµος Α λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά δύο υποπροβλήµατα µισού µεγέθους του αρχικού και συνδυάζοντας τις λύσεις σε γραµµικό χρόνο ως προς n. • Ο αλγόριθµος Β λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n/4 και ένα υποπρόβληµα µεγέθους 3n/4 και συνδυάζοντας τις λύσεις των υποπροβληµάτων σε χρόνο ߆ሺ݊ଷ ሻ • Ο αλγόριθµος Γ λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n-1 και συνδυάζοντας τις τελικές λύσεις σε χρόνο 4n. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για κάθε έναν από τους τρεις αλγόριθµους και ποιον θα επιλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα. Άσκηση 2 Υποθέτουµε ότι έχουµε να επιλέξουµε για ένα πρόβληµα Π από τους εξής αλγόριθµους: • Ο αλγόριθµος Α λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n/2 και ένα υποπρόβληµα µεγέθους 3n/4 και συνδυάζοντας τις λύσεις σε χρόνο ߗሺ݊ଷ ሻ. • Ο αλγόριθµος Β λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n/4 και ένα υποπρόβληµα µεγέθους 3n/4 και συνδυάζοντας τις λύσεις σε χρόνο ߍሺ݊ଶ ሻ. • Ο αλγόριθµος Γ λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n/3 και ένα υποπρόβληµα µεγέθους n/2 και συνδυάζοντας τις λύσεις σε χρόνο ߆ሺ݊ଷ ሻ. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για κάθε έναν από τους τρεις αλγόριθµους και ποιον θα επιλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα. Άσκηση 3 Υποθέτουµε ότι έχουµε να επιλέξουµε για ένα πρόβληµα Π από τους εξής αλγόριθµους: • Ο αλγόριθµος Α λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά ένα υποπρόβληµα µεγέθους n-1 και συνάγοντας την τελική λύση σε χρόνο ݈‫݃݋‬ଶ ݊. • Ο αλγόριθµος Β λύνει ένα στιγµιότυπο µεγέθους n επιλύοντας αναδροµικά πέντε υποπροβλήµατα µεγέθους n-1 και εξάγοντας την τελική λύση κάνοντας 3 πράξεις. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για κάθε έναν από τους δυο αλγόριθµους και ποιον θα επιλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα.
  3. 3. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επανάληψη 2 3 Άσκηση 4 Μια ακολουθία υπολογίζεται από την εξής αναδροµική σχέση: ܽ௡ ൌ 2ܽ௡ିଵ ൅ 3ܽ௡ିଶ ൅ 4 µε ܽଵ ൌ 1 και ܽଶ ൌ 4 1. Υπολογίστε τους όρους της ακολουθίας: ܽଵ, ܽଶ, ܽଷ, ܽସ 2. ∆ιατυπώστε έναν αναδροµικό αλγόριθµο που υπολογίζει τον n-o αριθµό της ακολουθίας και υπολογίστε την πολυπλοκότητα 3. ∆ιατυπώστε έναν αλγόριθµο δυναµικού προγραµµατισµού για το ίδιο πρόβληµα και υπολογίστε την πολυπλοκότητα του. Άσκηση 5 Το ‫ܥ‬ሺ݊, ݇ሻ, δηλαδή ο τύπος των συνδυασµών υπολογίζεται και µέσω της αναδροµικής σχέσης: ‫ܥ‬ሺ݊, ݇ሻ ൌ ൝ ‫ܥ‬ሺ݊ െ 1, ݇ሻ ൅ ‫ܥ‬ሺ݊ െ 1, ݇ െ 1ሻ, ݊ ൒ 1, 1 ൏ ݇ ൏ ݊ ݊ , ݊ ൒ 1, ݇ ൌ 1 1 , ݊ ൒ 1, ݇ ൌ ݊ 1. Υπολογίστε το C(3,2) µε χρήση της αναδροµικής σχέσης. 2. ∆ιατυπώστε έναν αναδροµικό αλγόριθµο που υπολογίζει το C(n,k) και υπολογίστε ένα κάτω φράγµα της πολυπλοκότητάς του. 3. ∆ιατυπώστε έναν επαναληπτικό αλγόριθµο για το ίδιο πρόβληµα και υπολογίστε την πολυπλοκότητά του. Άσκηση 6 ∆ίδεται ένα γράφηµα G=(V, E) µε θετικά βάρη στις ακµές του. ∆ώστε άπληστο αλγόριθµο κατασκευής µη-κυκλικού υπογραφήµατος G’ ⊆ G που έχει µέγιστο συνολικό βάρος (συνολικό βάρος ενός γραφήµατος είναι το άθροισµα των βαρών στις ακµές του).

×