Upload
dimitris-psounis
View
183
Download
2
Embed Size (px)
Citation preview
ΠΛΗ30ΕΝΟΤΗΤΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας Ιεραρχία Συναρτήσεων Πολυπλοκότητας
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
Β.Θεωρία
1. Λογάριθµοι
1. Ορισµός Λογαρίθµου
2. ∆υαδικοί Λογάριθµοι
3. Ιδιότητες Λογαρίθµων
4. Γραφική Παράσταση της συνάρτησης f(x)=log x
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
4. Γραφική Παράσταση της συνάρτησης f(x)=log x
5. ∆ιπλός και Τριπλός Λογάριθµος
Γ. Μεθοδολογία Ασκήσεων
1. Σύνοψη Ιδιοτήτων Λογαρίθµων
2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας
∆. Σύνοψη – Επιδιωκώµενα Αποτελέσµατα
Ε.Ασκήσεις
Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α Να θυµηθούµε όλες τις ιδιότητες λογαρίθµων Να µάθουµε µία µεθοδολογία µέσω της οποίες µπορούµε να ιεραρχούµε συναρτήσεις πολυπλοκότητας.
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
συναρτήσεις πολυπλοκότητας.Επίπεδο Β (-)Επίπεδο Γ (-)
Β. Θεωρία1. Λογάριθµοι1. Ορισµός Λογαρίθµου
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ο λογάριθµος ενός αριθµού a µε βάση τον αριθµό b, ορίζεται ως ο αριθµός στον οποίον αν υψώσουµε το b παίρνουµε το a.
Με απλά λόγια για να υπολογίσουµε τον αρκεί να υπολογίσουµε σε ποια δύναµη πρέπει να υψώσουµε το b για να πάρουµε το a.
log xbx a b aανν= =
logb aδύναµη πρέπει να υψώσουµε το b για να πάρουµε το a.
Παραδείγµατα:3
2
43
35
2 2
1/4 2
log 8 3 2 8
log 81 4 3 81
log 125 3 5 125
1 1 1log 1 /16 2
4 4 16
ύ
ύ
ύ
ύ
αϕοαϕοαϕο
αϕο
= =
= =
= =
= = =
Β. Θεωρία1. Λογάριθµοι2. ∆υαδικοί Λογάριθµοι
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Στην ΠΛΗ30, αν δεν καθορίζεται η βάση του λογαρίθµου, θα εννοείται ότι η βάση είναι το 2, άρα θα αναφερόµαστε σε δυαδικούς λογάριθµους
Έτσι στο εξής εννοείται: Ας δούµε τους δυαδικούς λογάριθµους κάποιων φυσικών αριθµών:
X logX
2log logx x=
X logXX logX
1 log1=0
2 log2=1
4 log4=2
8 log8=3
16 log16=4
32 log32=5
64 log64=6
…
1024 log1024=10
X logX
2048 log2048=11
4096 log4096=12
8192 log8192=13
…
220 log2 20=20
230 log2 30=30
240 log2 40=40
…
Β. Θεωρία1. Λογάριθµοι3. Ιδιότητες των Λογαρίθµων (∆υνάµεις σε Λογάριθµους)
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ήδη από την προηγούµενη διαφάνεια είναι σαφές ότι ισχύει:
∆ηλαδή ο εκθέτης του αριθµού «πέφτει» µπροστά από τον λογάριθµο. Προσέξτε ότι ενδέχεται ο λογάριθµος να είναι υψωµένος σε κάποια δύναµη:
log logKb ba K a=
Προσέξτε ότι ενδέχεται ο λογάριθµος να είναι υψωµένος σε κάποια δύναµη:
Τότε αυτό θα το αναπαριστούµε και ως εξής:
Και προσοχή ότι ο εκθέτης αυτός ∆ΕΝ «πέφτει». Συνοψίζοντας: και ειδικά για δυαδικούς λογάριθµους:
(log )Xb a
log Xb a
log log
log (log )
Kb b
X Xb b
a K a
a a
=
=
log log
log (log )
K
X X
a K a
a a
==
Β. Θεωρία1. Λογάριθµοι3. Ιδιότητες των Λογαρίθµων (Αλλαγή Βάσης)
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Μια σηµαντική ιδιότητα, χρήσιµη όταν έχουµε να υπολογίσουµε κάποιον λογάριθµο µε «περίεργη» βάση, είναι η ακόλουθη:
loglog
logc
bc
aa
b=
Η ιδιότητα αυτή είναι πολύ χρήσιµη όταν η βάση και ο ίδιος ο αριθµός είναι δύναµη του 2.
Παραδείγµατα:
28
2
64
39
3
log 32 5log 32 1.66
log 8 3
log 2048 11log 2048 1.83
log 64 6
log 27 3log 27 1.5
log 9 2
= = =
= = =
= = =
Β. Θεωρία1. Λογάριθµοι3. Ιδιότητες των Λογαρίθµων (Λογάριθµος Γινοµένου και Κλάσµατος)
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ισχύουν και οι εξής δύο ιδιότητες:
log ( ) log log
log log log
b b b
b b b
xy x y
xx y
y
= +
= −
Και ειδικά για δυαδικούς λογάριθµους:
Μεγάλη προσοχή µε την παρενθετοποίηση. Ο λογάριθµος έχει πεδίο εφαρµογής: Είτε την παράσταση που είναι µέσα στις παρενθέσεις Είτε το άµεσα επόµενο στοιχείο αν δεν υπάρχουν παρενθέσεις Προσοχή λοιπόν: άρα
log( ) log log
log log log
xy x y
xx y
y
= +
= −
log (log )b bxy x y= ⋅ log log ( )b bxy xy≠
Β. Θεωρία1. Λογάριθµοι3. Ιδιότητες των Λογαρίθµων (Εκφραση ως δύναµη)
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Έχουµε και την εξής (πολύ σηµαντική) ιδιότητα
Εφαρµογές:
logb xb x=
25
10
log 2
log ( )
5
10
n
n n
n
n n+
=
= +
Η ιδιότητα αυτά θα µας φανεί ιδιαίτερα χρήσιµη όταν θα ιεραρχήσουµε συναρτήσεις πολυπλοκότητας, όπου θα εκφράζουµε τις συναρτήσεις ως εκθετικές µε βάση 2. Παραδείγµατα:
22 log
log 4 log 4 2
2
4 2 2 2n
n
n n n
n =
= = =
10log ( )10 n n n n+ = +
Β. Θεωρία1. Λογάριθµοι4. Γραφική Παράσταση της f(x)=log x
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Στην ΠΛΗ30 µελετάµε την συµπεριφορά συναρτήσεων ασυµπτωτικά (στο άπειρο)
Ας ρίξουµε µια µατιά στην γραφική παράσταση της f(x)=log x:
Παρατηρούµε ότι: Η f(x) αυξάνει πολύ αργά (άρα είναι µικρότερη από οποιαδήποτε πολυωνυµική συνάρτηση).
Ωστόσο ασυµπτωτικά πρέπει να γνωρίζουµε ότι τείνει στο άπειρο.
Β. Θεωρία1. Λογάριθµοι5. ∆ιπλός και Τριπλός Λογάριθµος
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Θα συναντήσουµε και τις εξής συναρτήσεις:
Ως συντοµογραφίες αντίστοιχα των συναρτήσεων:
1
2
( ) log log
( ) log log log
f n n
f n n
==
Ως συντοµογραφίες αντίστοιχα των συναρτήσεων:
Έτσι π.χ. έχουµε:
Για τις οποίες θα πρέπει να γνωρίζουµε:
Αλλα και ότι ασυµπτωτικά τείνουν επίσης στο άπειρο
1
2
( ) log(log )
( ) log(log(log ))
f n n
f n n
==
log(log 256) log(8) 3
log(log(log16)) log(log 4) log(2) 1
= == = =
log log log log log logn n n< <
Γ. Μεθοδολογία Ασκήσεων1. Συνοψη Ιδιοτήτων Λογαρίθµων
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Με βάση το b Με βάση το 2
Ορισµός
Λογάριθµος Γινοµένου
log xbx a b aανν= = log 2xx a aανν= =
log ( ) log logb b bxy x y= + log( ) log logxy x y= +
x xΛογάριθµος Κλάσµατος
Αλλαγή Βάσης
∆υναµη στον αριθµό
∆ύναµη στον λογάριθµο
Έκφραση ως ∆ύναµη
log log logb b b
xx y
y= − log log log
xx y
y= −
loglog
logc
bc
aa
b= log
loglog 2
c
c
aa =
log logKb ba K a= log logKa K a=
log (log )X Xb ba a= log (log )X Xa a=
logb xb x= log2 x x=
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας Συνήθης εκφώνηση εξετάσεων:
Και µας δίνουν 5-6 συναρτήσεις. Στην περίπτωση αυτή ακολουθούµε µία στανταρ µεθοδολογία που συνίσταται στα εξής βήµατα:
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ιεραρχήστε σε αύξουσα σειρά ασυµπτωτικής πολυπλοκότητας τις παρακάτω συναρτήσεις
συνίσταται στα εξής βήµατα:1. Βρίσκουµε το Θ(.) των συναρτήσεων αν απαιτείται.
1. Αν οι συναρτήσεις µπορούν να ταξινοµηθούν (δηλαδή δεν υπάρχει κάποια απροσδιόριστη συνάρτηση) δίνουµε την ιεραρχία τους, αλλιώς προχωράµε στο βήµα 2
2. Εκφράζουµε ΟΛΕΣ τις συναρτήσεις ως εκθετικές µε βάση το 2, χρησιµοποιώντας την ιδιότητα
3. Κάνουµε πράξεις στους εκθέτες των συναρτήσεων (συνήθως ιδιότητες λογαρίθµων)
4. Συγκρίνουµε τους εκθέτες των συναρτήσεων και µεταφέρουµε το αποτέλεσµα στις αρχικές συναρτήσεις
log2 xx =
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας1.Εύρεση του Θ(.)
Στο προηγούµενο µάθηµα είδαµε πως µπορούµε να εξάγουµε το Θ(.) µιας συνάρτησης. Για την εξαγωγή του Θ(.) απαιτείται να έχουµε «καθαρά αθροίσµατα» δηλαδή θα πρέπει για να αποφανθούµε να ακολουθήσουµε τις εξής συστάσεις: Να κάνουµε τα ριζικά δυνάµεις.
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Να κάνουµε τα ριζικά δυνάµεις. Να κάνουµε τις όποιες πράξεις δυνάµεων υπάρχουν. Να υπολογίσουµε τα κλάσµατα αριθµών και να τα εκφράσουµε ως δεκαδικούς αριθµούς.
Να κάνουµε τις όποιες επιµεριστικές ιδιότητες. ΠΡΟΣΟΧΗ! Η εύρεση του Θ(.) είναι προαιρετική. ∆ηλαδή:
Αν καµία συνάρτηση δεν έχει αθροίσµατα όρων ή δεν υπάρχουν σταθερές πολλαπλασιασµένες µε τις συναρτήσεις, το βήµα αυτό παραλείπεται!
Ωστόσο, αν έστω µία συνάρτηση απαιτεί την εύρεση του Θ(.), τότε ΥΠΟΧΡΕΩΤΙΚΑ θα πρέπει να πάρουµε Θ(.) σε όλες τις συναρτήσεις.
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας1.Εύρεση του Θ(.)
Ας το δούµε µε ένα παράδειγµα:
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Παρατηρούµε ότι έχουµε αθροίσµατα και σταθερές πολ/νες µε τις συναρτήσεις, άρα ξεκινάµε στην απάντηση µε την εύρεση του Θ(.)
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας2.Εκθετικές µε βάση το 2
Αν στις συναρτήσεις που έχουµε µεσα στο Θ(.) έχουµε ΕΣΤΩ ΜΙΑ απροσδιόριστη συνάρτηση τότε εκφράζουµε ΟΛΕΣ τις συναρτήσεις (ΠΡΟΣΟΧΗ! Ότι έχει βγει στο Θ(.) ) ως εκθετικές µε βάση το 2. Ας δούµε την εξέλιξη της απάντησης στο προηγούµενο παράδειγµα:
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας3.Πράξεις στους εκθέτες των συναρτήσεων
Έπειτα αποµονώνουµε τους εκθέτες των συναρτήσεων και κάνουµε τις πράξεις των λογαρίθµων που έχουν εµφανιστεί σε αυτούς.
Στόχος και πάλι είναι να έχουµε καθαρά αθροίσµατα και να έχουν πέσει όλες οι δυναµεις που είναι στους αριθµούς των λογαρίθµων Στο παράδειγµα που µελετάµε
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας4.Σύγκριση των εκθετών
Τελικά βάζουµε σε µία αύξουσα σειρά τους εκθέτες των συναρτήσεων, αφού µετά τις πράξεις θα έχουν µετατραπεί σε µία από τις γνωστές µορφές. Βασικό οδηγό στοιχείο για να αποφανθούµε είναι ο πίνακας µε τις γνωστές µορφές συναρτήσεων πολυπλοκότητας. Προσοχή!!! Αν η παράσταση που έχει προκύψει είναι περίπλοκη (µε την έννοια ότι έχουν προκύψει γινόµενα ή/και αθροίσµατα, τότε:
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
έννοια ότι έχουν προκύψει γινόµενα ή/και αθροίσµατα, τότε: Εντοπίζουµε τον µεγαλύτερο όρο από όσους είναι στην παράσταση Αν παραπάνω από µία συναρτήσεις έχουν τον ίδιο µεγαλύτερο όρο, τότε αποφασίζουµε ποια είναι µεγαλύτερη από αυτές: κοιτώντας τον αµέσως επόµενο όρο µε τον οποίο είναι πολλαπλασιασµένη η συνάρτηση. Π.χ:
Αν έχουµε και πάλι ισοπαλία, τότε κοιτάµε και τον επόµενο όρο του αθροίσµατος. Π.χ.:
Στο βήµα αυτό, οι σταθερές έχουν σηµασία! Άρα δεν παραλείπεται κανένας από τους όρους που έχουν προκύψει.
5 6 logn n n n< <
2 4 2 logn n n+ < +
Για την απόφαση της ιεραρχίας χρειαζόµαστε από την θεωρία ότι
Όπου έχουµε πλέον πιο αναλυτικά:
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας4.Σύγκριση των εκθετών
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.1: Ανάλυση ∆ιαδικαστικών Αλγορίθµων
ΣΤΑΘΕΡΕΣ < ΛΟΓΑΡΙΘΜΙΚΕΣ < ΠΟΛΥΩΝΥΜΙΚΕΣ < ΕΚΘΕΤΙΚΕΣ < ΥΠΕΡΕΚΘΕΤΙΚΕΣ
( ) (1)nΤ = Θ )(log)( nn kΘ=Τ )()( knn Θ=Τ )()( nan Θ=Τ )!()( nn Θ=Τ)()( nnn Θ=Τ
Όπου έχουµε πλέον πιο αναλυτικά:
Μορφή Συναρτήσεων Σχόλια
ΣΤΑΘΕΡΕΣ Θ(1)
ΛΟΓΑΡΙΘΜΙΚΕΣ Το Κ>1 σταθερά«καθαρό» n
ΠΟΛΥΩΝΥΜΙΚΕΣ Το Κ σταθερά«καθαρό» n
ΕΚΘΕΤΙΚΕΣ 1<a<2, α,β: Σταθερές«καθαρό» n
ΥΠΕΡΕΚΘΕΤΙΚΕΣ «καθαρό» n
log log log logKn n n< <
2 3 ... Kn n n n< < < <
... 2 3 ...n n n na b< < < < <
! nn n<
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας4.Σύγκριση των εκθετών
Έτσι κλείνουµε το παράδειγµα που µελετάµε ως εξής:
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ισχύει:
Άρα έπεται:
23log log 2.32n n n< <
1 2 3f f f< <
Γ. Μεθοδολογία Ασκήσεων2. Ιεραρχία Συναρτήσεων Πολυπλοκότητας Ας δούµε τώρα πως πρέπει να είναι η απάντησή µας στις εξετάσεις:
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
Ε. ΑσκήσειςΑσκηση Κατανόησης 1
Υπολογίστε τους ακόλουθους λογαρίθµους χωρίς την χρήση υπολογιστή. Αν δεν µπορείτε να τον υπολογίσετε ακριβώς, εκτιµήστε µεταξύ ποιων δύο φυσικών αριθµών ανήκει ο λογάριθµος
22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
5
4
1.log 25
2.log 644
8
3
4
9
6
2.log 64
3.log 64
4.log 7
5.log 45
6.log 62
7.log 33
8.log 80
9.log 244
Ε. ΑσκήσειςΑσκηση Κατανόησης 2
Υπολογίστε τους ακόλουθους λογάριθµους κάνοντας αλλαγή βάσης:
23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
128
4
1.log 32
2.log 5124
9
4
2.log 512
3.log 27
4.log 1/ 2
Ε. ΑσκήσειςΕφαρµογή 1
Ιεραρχήστε τις παρακάτω συναρτήσεις σε αύξουσα σειρά ασυµπτωτικήςπολυπλοκότητας:
24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
log1
log2
( ) 1.5
( ) 10log
( ) 0.005log
n
n
n
f n n
f n n
f n n
=
=
=3
4
( ) 0.005log
( ) 1.15
n
n
f n n
f n n
=
=
Ε. ΑσκήσειςΕφαρµογή 2
Ιεραρχήστε τις παρακάτω συναρτήσεις σε αύξουσα σειρά ασυµπτωτικήςπολυπλοκότητας:
25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
log1
5 2 62
( ) 8log 4
( ) 10( )
n nf n n n n
f n n n n
= +
= + +2 5 7
3
44
( )
( ) log n
f n n n n
f n n
= ⋅ +
=
Ε. ΑσκήσειςΕφαρµογή 3
Ιεραρχήστε τις παρακάτω συναρτήσεις σε αύξουσα σειρά ασυµπτωτικήςπολυπλοκότητας:
26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.2: Ιεραρχία Συναρτήσεων Πολυπλοκότητας
1
2
( ) 3
( ) log( )
n
n
f n
f n n
=
=log
3
54
( ) 2
( ) ( )
n
n
f n
f n n
=
=