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

Σχετικά έγγραφα
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

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

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

Ανάλυση της Ορθότητας Προγραμμάτων

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

8. Πολλαπλές μερικές παράγωγοι

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

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

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

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.

Επαναληπτικές Διαδικασίες

Σ Υ Ν Α Ρ Τ Η Σ Ε Ι Σ

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

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

Σειρά Προβλημάτων 1 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

Ανάλυση της Ορθότητας Προγραμμάτων

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

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Σειρά Προβλημάτων 1 Λύσεις

a n = 3 n a n+1 = 3 a n, a 0 = 1

Επαγωγή και αναδρομή για συνεκτικά γραφήματα

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Mαθηματικά Θετικής - Τεχνολογικής Κατεύθυνσης Γ. Λυκείου Ανάλυση Κεφ. 1 ο ΣΥΝΑΡΤΗΣΕΙΣ

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Δυναμικός προγραμματισμός για δέντρα

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

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

Μονοτονία - Ακρότατα Αντίστροφη Συνάρτηση

Υπολογιστικά & Διακριτά Μαθηματικά

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Ασκήσεις3 Διαγωνισιμότητα Βασικά σημεία Διαγωνίσιμοι πίνακες: o Ορισμός και παραδείγματα.

ΚΥΠΡΙΑΚΗ ΜΑΘΗΜΑΤΙΚΗ ΕΤΑΙΡΕΙΑ Γ' ΔΙΑΓΩΝΙΣΜΟΣ ΕΠΙΛΟΓΗΣ ΛΥΚΕΙΟΥ. «Ευκλείδης» Ημερομηνία: 29/04/2017 Ώρα εξέτασης: 10:00-14:30

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

1. Δύο συναρτήσεις f,g είναι ίσες μόνο όταν έχουν ίδιο πεδίο ορισμού και ίδιο τύπο. Η πρόταση είναι Λάθος. Αντιπαράδειγμα:

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

Επαναληπτικές μέθοδοι

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια)

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

ΣΥΣΤΗΜΑΤΑ. Για την επίλυση ενός γραμμικού συστήματος με την χρήση των οριζουσών βασική είναι η παρακάτω επισήμανση:

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

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

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

n 5 = 7 ε (π.χ. ορίζοντας n0 = 1+ ε συνεπώς (σύμϕωνα με τις παραπάνω ισοδυναμίες) an 5 < ε. Επομένως a n β n 23 + β n+1

4.2 ΕΥΚΛΕΙΔΕΙΑ ΔΙΑΙΡΕΣΗ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ).

περιεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Ασκήσεις3 Διαγωνίσιμες Γραμμικές Απεικονίσεις

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

Αριθμοθεωρητικοί Αλγόριθμοι

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 4)

ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 9: ΤΟΠΙΚΑ ΑΚΡΟΤΑΤΑ ΣΥΝΑΡΤΗΣΗΣ ΘΕΩΡΗΜΑ FERMAT

ΜΑΘΗΜΑ ΜΟΝΟΤΟΝΕΣ ΣΥΝΑΡΤΗΣΕΙΣ. Αντίστροφη συνάρτηση. ΑΝΤΙΣΤΡΟΦΗ ΣΥΝΑΡΤΗΣΗ Συνάρτηση 1-1. Θεωρία Σχόλια Μέθοδοι Ασκήσεις

~ 1 ~ ΜΙΓΑΔΙΚΟΣ ΛΟΓΙΣΜΟΣ & ΟΛΟΚΛΗΡΩΤΙΚΟΙ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ ΙΑΝΟΥΑΡΙΟΥ 2013 ΛΥΣΕΙΣ ΤΩΝ ΘΕΜΑΤΩΝ

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Τυχαιοκρατικοί Αλγόριθμοι


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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ» ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 4

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

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

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

Transcript:

ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k < ; k++) p p + ; Παρατηρούμε ότι υπάρχουν δύο κατηγορίες στιγμιότυπων: - c mod 0. Αυτά τα στιγμιότυπα παρουσιάζονται με πιθανότητα ½ και έχουν χρόνο εκτέλεσης. - c mod. Αυτά τα στιγμιότυπα παρουσιάζονται με πιθανότητα ½ και έχουν χρόνο εκτέλεσης Ο(). Επομένως, ο χρόνος εκτέλεσης μέσης περίπτωσης της εντολής είναι της τάξης Ο(). Παρόμοια, η εντολή if (c mod 0) for (k ; k > /; k--) r r + ; έχει χρόνο εκτέλεσης μέσης περίπτωσης της τάξης Ο(), και η εντολή if (c mod 5 0) p p + r; else for (k ; k < ; k++) for (j ; j > /; j--) p p + ; r r + ; χρόνο εκτέλεσης μέσης περίπτωσης της τάξης Ο(²). Συνεπώς ο χρόνος εκτέλεσης μέσης περίπτωσης του εσωτερικού του βρόχου είναι της τάξης Ο(²) και ολόκληρης της συνάρτησης Ο(³). Άσκηση (i) Aν f () O(g()) και f () O(g()) τότε f () O(f ()) ή f () O(f ()). Η πρόταση είναι ψευδής όπως φαίνεται στο πιο κάτω αντιπαράδειγμα. f, ), (, g ( ), if mod 0 if mod if mod 0 if mod Αν και ισχύει ότι f () O(g()) και f () O(g()), f () O(f ()), f () O(f ()). (ii) Αν h() > και f() Ο(g()) τότε f()/g() Ο(g()/h()). f() O(g()), επομένως c, τ.ω. f() c g() για κάθε ()

ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Γνωρίζουμε ότι h() > επομένως μπορούμε να διαιρέσουμε και τα δύο μέλη της ανισότητας στην πρόταση () παίρνοντας ότι c, τ.ω. f()/h() c g()/h() για κάθε Συνεπώς, f()/h() O(g()/h()) Άσκηση (i) ² + O(²/) Πρέπει να δείξουμε ότι υπάρχουν σταθερές c και 0 τέτοιες ώστε Έστω ότι c και 0. Αφού, ² + c ( /) για κάθε 0 ² + για κάθε ( και - + 0 για κάθε ) (ii) ( + lg ) Θ( ) Έστω ότι ισχύει, δηλαδή ( + lg ) Θ( ( + lg ) O( ) ( + lg ) Ω( ) ). Τότε () () Από το (), c, 0 τ.ω. ( + lg ) c για κάθε 0, 0 + lg c για κάθε 0, 0 lg c για κάθε 0, 0 Καθώς το τείνει στο άπειρο, το lg τείνει στο άπειρο. Επομένως δεν είναι δυνατόν να υπάρχει θετική σταθερά c που να ικανοποιεί την πιο πάνω σχέση. Αυτό μας δίνει αντίφαση στην αρχική μας υπόθεση και συμπεραίνουμε ότι ( + lg ) O( ) και συνεπώς ότι ( + lg ) Θ( ) (iii) log 4 O(lg ) Έστω ότι ισχύει, δηλαδή log 4 O(lg ), δηλαδή c, 0 τ.ω. log 4 c. lg για κάθε 0 log c. lg log 4 για κάθε 0 lg c. lg για κάθε lg 4 0 c lg 4 για κάθε 0 c.lg 4 για κάθε 0

ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Το τείνει στο άπειρο. Επομένως δεν είναι δυνατόν να υπάρχει θετική σταθερά c που να ικανοποιεί την πιο πάνω σχέση. Αυτό μας δίνει αντίφαση στην αρχική μας υπόθεση και συμπεραίνουμε ότι log 4 O(lg) (iv) c + d O( ) για κάθε c, d R + Πρέπει να δείξουμε ότι υπάρχουν σταθερές k και 0 τέτοιες ώστε c + d k. για κάθε 0 Έστω k 9c + d και 0. Θα αποδείξουμε την πιο πάνω πρόταση με τη μέθοδο της επαγωγής. Βάση της επαγωγής: Για, έχουμε ότι ζητούμενο έπεται. c + d c + d k < k m Υπόθεση της επαγωγής: Υποθέτουμε ότι cm + d k. για m. Βήμα της επαγωγής: Θα δείξουμε ότι c( m + ) + d k. m+ 9 k. Παρατηρούμε ότι και το c( m + ) + d cm cm cm < cm k < ( cm m+ + cm + c + d + d + c(m + ) + d + cm + d + cm + d + d) k m m m+ m² Άσκηση 4 Α. Παρατηρούμε ότι το τρίτο for loop της διεργασίας δεν εκτελείται ποτέ. Για να βρούμε τον χρόνο εκτέλεσης της διεργασίας, παρατηρούμε ότι ο χρόνος εκτέλεσης του δεύτερου βρόχου εξαρτάται από την τιμή i, η οποία καθορίζεται από τον εξωτερικό βρόχο. Ο πιο κάτω πίνακας δείχνει τον χρόνο εκτέλεσης των εσωτερικών βρόχων, T,,4 (i), σαν συνάρτηση του i: i 0 - T,,4 (i) 0 0 - κάθε επανάληψης του εξωτερικού βρόχου, δηλαδή: ( ).( ) + + +... + i Θ( ) i 0 B. Οι δύο while βρόγχοι εξαρτούνται από τον εξωτερικό βρόγχο. Ο πρώτος while βρόγχος εξαρτάται από τον εξωτερικό βρόγχο λόγω της τιμής του j που αφαιρείται από το x, ενώ ο δεύτερος λόγω της συνθήκης τερματισμού. Οι δύο while βρόγχοι είναι ανεξάρτητοι μεταξύ τους.

ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Ο πιο κάτω πίνακας δείχνει το χρόνο εκτέλεσης του πρώτου while, T (j), σαν συνάρτηση του j: j T (j) / / / Ο συνολικός χρόνος εκτέλεσης του πρώτου while βρόγχου είναι ίσος με το άθροισμα του χρόνου εκτέλεσης κάθε επανάληψης του εξωτερικού βρόχου, δηλαδή: T + / + / +... + / ( + / + / +... + /) O( l ) (Υπόδειξη) Ο πιο κάτω πίνακας δείχνει το χρόνο εκτέλεσης του δεύτερου while, T (j), σαν συνάρτηση του j: j T (j) - - - - Ο συνολικός χρόνος εκτέλεσης του δεύτερου while βρόγχου είναι ίσος με το άθροισμα του χρόνου εκτέλεσης κάθε επανάληψης του εξωτερικού βρόχου, δηλαδή: T + + +... +. ( + + +... + ) ( + ) ( ) Θ( ) κάθε επανάληψης των εξωτερικών βρόχου, δηλαδή: T + T O( ) Γ. Για να βρούμε τον χρόνο εκτέλεσης της διεργασίας, παρατηρούμε ότι ο χρόνος εκτέλεσης του τρίτου βρόχου εξαρτάται από την τιμή i, η οποία καθορίζεται από τον εξωτερικό βρόχο. Υποθέτουμε χωρίς βλάβη της γενικότητας ότι το είναι δύναμη του. Ο πιο κάτω πίνακας δείχνει τον χρόνο εκτέλεσης των εσωτερικών βρόχων, T, (i), σαν συνάρτηση του i: i 4 8 T, (i) - (-) 4(-) 8(-) (-) 4

ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 κάθε επανάληψης του εξωτερικού βρόχου, δηλαδή: ( ) + ( ) + 4( ) +... + ( ) ( ) ( + + 4 +... + ) ( )( ) Θ( ) Δ. Οι πρώτοι τρεις βρόγχοι της συνάρτησης είναι οι ίδιοι με αυτούς της άσκησης 4Γ, άρα ο χρόνος εκτέλεσης τους Θ( ). Έστω Τ() o χρόνος εκτέλεσης της waste(). Τότε η τιμή του Τ() δίνεται από την πιο κάτω αναδρομική εξίσωση. Τ() Τ() 9*T(/) + (Αν η διαδικασία κάνει δύο πράξεις, μια ανάθεση και μια σύγκριση: Ο()) (Αν > η διαδικασία έχει χρόνο εκτέλεσης όσο και η κλήση των τριών βρόγχων της άσκησης 4Γ (δηλαδή ), και 9 φορές το χρόνος εκτέλεσης του waste(), δηλαδή, σύμφωνα με τον ορισμό της συνάρτησης Τ, Τ(/). Θα λύσουμε την αναδρομική εξίσωση με τη μέθοδο της αντικατάστασης. Θα υποθέσουμε χωρίς βλάβη της γενικότητας ότι το είναι πολλαπλάσιο του : T() 9.T( ) + 9.( 9.T( ) 9 T( ) +... i 9 T( ) + i. i + ) + 9 T( ) + + Θέτουμε k log (δηλαδή k ) και αντικαθιστούμε k για i παίρνοντας ότι: k 9 T( ) + k k ( k ) T( ) + k + lg Θ( lg ) 5