ΠΛΗ30 ΜΑΘΗΜΑ 1.3

22
ΠΛΗ30 ΕΝΟΤΗΤΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί ∆ηµήτρης Ψούνης ∆ηµήτρης Ψούνης

description

ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Transcript of ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Page 1: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

ΠΛΗ30ΕΝΟΤΗΤΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ηµήτρης Ψούνης∆ηµήτρης Ψούνης

Page 2: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

ΠΕΡΙΕΧΟΜΕΝΑ

Α. Σκοπός του Μαθήµατος

Β.Θεωρία

1. Ασυµπτωτικοί Συµβολισµοί

2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

1. Ασυµπτωτικοί Συµβολισµοί

1. Ο ασυµπτωτικός συµβολισµός Ο

2. Ο ασυµπτωτικός συµβολισµός ο

3. Ο ασυµπτωτικός συµβολισµός Ω

4. Ο ασυµπτωτικός συµβολισµός ω

5. Ο ασυµπτωτικός συµβολισµός Θ

2. Χρήση Ορίων για την απόδειξη ισχύος ασυµπτωτικών συµβολισµών

3. Λήµµατα στους ασυµπτωτικούς συµβολισµούς3. Λήµµατα στους ασυµπτωτικούς συµβολισµούς

Γ. Ασκήσεις

Page 3: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Α. Σκοπός του Μαθήµατος

Οι στόχοι του µαθήµατος είναι:

3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Επίπεδο Α Ερµηνεία των ασυµπτωτικών συµβολισµών (να ξέρουµε πως µεταφράζεται

κάθε συµβολισµός)Επίπεδο Β Χρήση των ορίων για την απόδειξη ότι ισχύει ένας ασυµπτωτικός

συµβολισµόςΕπίπεδο ΓΕπίπεδο ΓΟρισµοί των ασυµπτωτικών συµβολισµών και απόδειξη µε τον ορισµό ότι

ισχύει ένας ασυµπτωτικός συµβολισµός

Page 4: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί

4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Εισάγουµε τους ασυµπτωτικούς συµβολισµούς ο,Ο,Θ,Ω,ω για να µπορούµε να περιγράψουµε την πολυπλοκότητα αγορίθµων µέσω άνω και κάτω να περιγράψουµε την πολυπλοκότητα αγορίθµων µέσω άνω και κάτω φραγµάτων.

Έστω δύο συναρτήσεις πολυπλοκότητας f(n) και g(n). Τότε:Συµβολίζουµε ∆ιαβάζουµε Εµπειρικά

καταλαβαίνουµε ότι

f=o(g) Ασυµπτωτικά, η f έχει ως γνήσιο άνω φράγµα την g

f<g

f=O(g) Ασυµπτωτικά, η f έχει ως άνω φράγµα την g

f≤gφράγµα την g

f=Θ(g) Ασυµπτωτικά, η f έχει ως άνω και κάτω φράγµα την g

f=g

f=Ω(g) Ασυµπτωτικά, η f έχει ως κάτω φράγµα την g

f≥g

f=ω(g) Ασυµπτωτικά, η f έχει ως γνήσιο κάτω φράγµα την g

f>g

Page 5: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί1. Ο συµβολισµός Ο

5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ιαισθητικά, όταν βλέπουµε f=O(g), καταλαβαίνουµε ότι ασυµπτωτικά : f≤g. Τυπικά ο ορισµός λέει: Τυπικά ο ορισµός λέει:

Που µε απλά λόγια ερµηνεύεται ότι µετά από κάποια σταθερά n0, η f(n) είναι πάντα µικρότερη ή ίση από την cg(n) για κάποια κατάλληλη σταθερά c.

αν και µόνο αν για κάθε))(()( ngOnf = )()(0:0,00 ngcnfcn ⋅≤≤>>∃ 0nn ≥

H σχέση f(n)=O(g(n)) θα διαβάζεται «η f έχει ως άνω φράγµα την g»

Page 6: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί1. Ο συµβολισµός Ο

6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 1Παράδειγµα 1Να αποδείξετε ότι: 2n=O(n3)

Απόδειξη:Έχουµε f(n)=2n, g(n)=n3

Επιλέγουµε n0=1, c=2.

322

)()(

nn

ncgnf

⇒≤⇒≤

που ισχύει για κάθε n≥1

21 n≤

Page 7: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί2. Ο συµβολισµός o

7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ιαισθητικά, όταν βλέπουµε f=ο(g), καταλαβαίνουµε ότι ασυµπτωτικά : f<g. Τυπικά ο ορισµός λέει: Τυπικά ο ορισµός λέει:

που µε απλά λόγια ερµηνεύεται ότι για κάθε θετική σταθερά c η f(n) είναι πάντα µικρότερη από την cg(n) µετά από κάποια σταθερά n0

H σχέση f(n)=ο(g(n)) θα διαβάζεται «η f έχει ως ΓΝΗΣΙΟ άνω φράγµα την g»

Προσοχή!! n=O(n)

αν και µόνο αν για κάθε))(()( ngonf = )()(0::0 0 ngcnfnc ⋅<≤∃>∀ 0nn ≥

n=O(n) n≠o(n) n=o(n2) n=o(n3) …κ.ο.κ.

Η απόδειξη είναι πιο δύσκολη γιατί πρέπει να γίνεται για κάθε σταθερά c>0.

Page 8: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί2. Ο συµβολισµός o

8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 2Παράδειγµα 2Να αποδείξετε ότι: 2n=ο(n2)

Απόδειξη:Έστω c>0:

nc

cn

cnn

ncgnf

<⇒<⇒<

⇒<

/2

2

2

)()(2

Άρα υπάρχει επιλέγουµε ως n0 το

nc </2

c/2

Page 9: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί4. Ο συµβολισµός Ω

9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ιαισθητικά, όταν βλέπουµε f=Ω(g), καταλαβαίνουµε ότι ασυµπτωτικά : f≥g. Τυπικά ο ορισµός λέει: Τυπικά ο ορισµός λέει:

Που µε απλά λόγια ερµηνεύεται ότι µετά από κάποια σταθερά n0, η f(n) είναι πάντα µεγαλύτερη ή ίση από την cg(n) για κάποια κατάλληλη σταθερά c.

αν και µόνο αν για κάθε))(()( ngnf Ω= 0)()(:0,00 ≥⋅≥>>∃ ngcnfcn 0nn ≥

H σχέση f(n)=Ω(g(n)) θα διαβάζεται «η f έχει ως κάτω φράγµα την g»

Page 10: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί4. Ο συµβολισµός Ω

10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 3Παράδειγµα 3Να αποδείξετε ότι: 4n=Ω(logn)

Απόδειξη:Έχουµε f(n)=4n, g(n)=logn

Επιλέγουµε n0=1, c=4.

nn

ncgnf

log44

)()(

⇒≥⇒≥

που ισχύει για κάθε n≥1

nn log≥

Page 11: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί5. Ο συµβολισµός ω

11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ιαισθητικά, όταν βλέπουµε f=ω(g), καταλαβαίνουµε ότι ασυµπτωτικά: f>g. Τυπικά ο ορισµός λέει: Τυπικά ο ορισµός λέει:

που µε απλά λόγια ερµηνεύεται ότι για κάθε θετική σταθερά c η f(n) είναι πάντα µεγαλύτερη από την cg(n) µετά από κάποια σταθερά n0

H σχέση f(n)=ω(g(n)) θα διαβάζεται «η f έχει ως ΓΝΗΣΙΟ κάτω φράγµα την g»

Προσοχή!! n=Ω(n)

αν και µόνο αν για κάθε))(()( ngnf ω= 0)()(::0 0 ≥⋅>∃>∀ ngcnfnc 0nn ≥

n=Ω(n) n≠ω(n) n=ω(logn) n=ω(loglogn) …κ.ο.κ.

Η απόδειξη είναι πιο δύσκολη γιατί πρέπει να γίνεται για κάθε σταθερά c>0.

Page 12: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί5. Ο συµβολισµός ω

12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 4Παράδειγµα 4Να αποδείξετε ότι: 0.5n2=ω(n)

Απόδειξη:Έστω c>0:

cn

cnn

ncgnf

5.0

5.0

)()(2

>

⇒>

⇒>⇒>

Άρα υπάρχει επιλέγουµε ως n0 το cn 2>

c2

Page 13: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί5. Ο συµβολισµός Θ

13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

∆ιαισθητικά, όταν βλέπουµε f=Θ(g), καταλαβαίνουµε ότι ασυµπτωτικά f=g. Τυπικά ο ορισµός λέει: Τυπικά ο ορισµός λέει:

Που µε απλά λόγια ερµηνεύεται ότι µετά από κάποια σταθερά n0, η f(n) φράσσεται από πάνω και από κάτω από την g(n), όταν αυτή πολλαπλασιάζεται αντίστοιχα µε κάποιες κατάλληλες σταθερές:

αν και µόνο αν για κάθε

))(()( ngnf Θ= )()()(0:0,,0 21210 ngcnfngcccn ≤≤<>>∃0nn ≥

H σχέση f(n)=Θ(g(n)) θα διαβάζεται «η f είναι ασυµπτωτικά ίση µε την g»

Page 14: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία1. Ασυµπτωτικοί Συµβολισµοί5. Ο συµβολισµός Θ

14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 5Παράδειγµα 5Να αποδείξετε ότι: 4n=Θ(n)

Απόδειξη:Έχουµε f(n)=4n, g(n)=n

Επιλέγουµε n0=1, c1=2.

24

24

)()( 1

≥⇒≥

⇒≥nn

ngcnf

που ισχύει για κάθε n≥1

Επιλέγουµε n0=1, c2=6.

που ισχύει για κάθε n≥1

24 ≥

64

64

)()(

≤⇒≤

⇒≤nn

ncgnf

Page 15: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Για να αποδείξουµε ότι ισχύει ένας ασυµπτωτικός συµβολισµός µεταξύ 2 συναρτήσεων:

Β. Θεωρία2. Όρια και Ασυµπτωτικοί Συµβολισµοί

15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

συναρτήσεων: Είτε χρησιµοποιούµε τον αντίστοιχο ορισµό, Είτε κάνουµε χρήση του ακόλουθου θεωρήµατος:

Συνεπώς ένας εναλλακτικός (και πιο εύκολος) τρόπος να

=∝+=

Θ=≠=

∝+→))(()(,

))(()(,0

))(()(,0

)(

)(lim

ngnfό

ngonfό

ngnfόc

ng

nfn

ωτεττετ

τετ

Συνεπώς ένας εναλλακτικός (και πιο εύκολος) τρόπος να εξετάσουµε αν ισχύει ένας ασυµπτωτικός συµβολισµός είναι: Υπολογίζουµε το παραπάνω όριο Ανάλογα µε το αποτέλεσµά του να αποφασίσουµε αν ισχύει ή

όχι ο αντίστοιχος ασυµπτωτικός συµβολισµός

Page 16: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία2. Όρια και Ασυµπτωτικοί Συµβολισµοί

16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ας δούµε πως χρησιµοποιούµε τον ορισµό:

Παράδειγµα 6Παράδειγµα 6Να αποδείξετε ότι: 0.5n2=ω(n)

Απόδειξη:

Συνεπώς 0.5n2=ω(n)

∝+===∝+→∝+→∝+→

)5.0(lim5.0

lim)(

)(lim

2

nn

n

ng

nfnnn

Παράδειγµα 6Παράδειγµα 6Να αποδείξετε ότι: 2n=o(3n)

Απόδειξη:

Συνεπώς 2n=o(3n)

0)66.0(lim3

2lim

3

2lim

)(

)(lim ==

==∝+→∝+→∝+→∝+→

n

n

n

nn

n

nn ng

nf

Page 17: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία3. Λήµµατα στους ασυµπτωτικούς συµβολισµούς

17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Ισχύουν οι ακόλουθες προφανείς προτάσεις για τους ασυµπτωτικούς συµβολισµούς:συµβολισµούς:

∆ιαισθητικά: f=g αν και µόνο αν f≤g και f≥gΘα ξέρουµε ότι όταν ισχύει το Θ ισχύει και το Ο και το Ω

∆ιαισθητικά: Αν f<g τότε f≤gΘα ξέρουµε ότι όταν ισχύει το ο ισχύει και το Ο

Λήµµα 1: αν και µόνο αν και))(()( ngOnf =))(()( ngnf Θ= ))(()( ngnf Ω=

Λήµµα 2: Αν τοτε))(()( ngnf ο= ))(()( ngOnf =

Θα ξέρουµε ότι όταν ισχύει το ο ισχύει και το Ο (∆εν ισχύει το αντίστροφο)

∆ιαισθητικά: Αν f>g τότε f≥gΘα ξέρουµε ότι όταν ισχύει το ω ισχύει και το Ω (∆εν ισχύει το αντίστροφο)

Λήµµα 3: Αν τοτε))(()( ngnf ω= ))(()( ngnf Ω=

Page 18: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Β. Θεωρία4. Οι ασυµπτωτικοί Συµβολισµοί ως Σύνολα

18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

Έστω η παράσταση O(n2): Ισχύουν τα εξής: Ισχύουν τα εξής:

1=O(n2) n+2=O(n2) logn=O(n2) logn+5loglogn=O(n2) 3n2=O(n2)

Στην πραγµατικότητα ο συµβολισµός O(n2) εκφράζει όλες τις συναρτήσεις που είναι ασυµπτωτικά µικρότερες ή ίσες από την n2.που είναι ασυµπτωτικά µικρότερες ή ίσες από την n2.

Άρα το O(n2) θα έπρεπε να απεικονίζεται ως σύνολο συναρτήσεων και να γράφουµε αντίστοιχα:

Αλλά ευτυχώς έχει επικρατήσει ο συµβολισµός µε την ισότητα.)(2

)(12

2

nOn

nO

∈+∈

Page 19: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Γ. ΑσκήσειςΑσκηση Κατανόησης 1

Στον πίνακα που ακολουθεί για κάθε ζευγάρι συναρτήσεων f και g σηµειώστε µε √ αν ισχύει η σχέση του αντίστοιχου συµβολισµού της f µε την

19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

σηµειώστε µε √ αν ισχύει η σχέση του αντίστοιχου συµβολισµού της f µε την g.

f(n) g(n) o O Θ Ω ω

n2 n3 √ √

n1.5 n

4logn 8logn

5n2 0.5n2

Π.χ. έχει σηµειωθεί µε √ το 1ο κελί, διότι n2=o(n3)

5n2 0.5n2

n3-5n 8logn

Page 20: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Γ. ΑσκήσειςΑσκηση Κατανόησης 2

Στον πίνακα που ακολουθεί για κάθε ζευγάρι συναρτήσεων f και g σηµειώστε µε Θ ή ο ή ω ανάλογα µε το ποιος από τους 3 ασυµπτωτικούς

20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

σηµειώστε µε Θ ή ο ή ω ανάλογα µε το ποιος από τους 3 ασυµπτωτικούς συµβολισµούς ισχύει µεταξύ της f και της g

g(n)=5 g(n)=logn g(n)=n2 g(n)=2n g(n)=5n g(n)=nn

f(n)=loglogn ω

f(n)=4logn

f(n)=n

f(n)=2n2

Π.χ. στο 1ο κελί έχει σηµειωθεί ω αφού loglogn=ω(1)

f(n)=2n

f(n)=6n5+n

f(n)=3n

f(n)=n!

Page 21: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Γ. ΑσκήσειςΕφαρµογή 1

Να αποδείξετε, κάνοντας χρήση του αντιστοιχου ορισµού ασυµπτωτικού συµβολισµού ότι:

21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

συµβολισµού ότι:

)(.6

)3(2.5

)(46.4

)(loglog.3

)(4.2

)log(.1

2

2

22

nn

o

nn

nn

nnn

nnOn

n

nn

ω==

Θ=+Ω=

Θ=+=

)(.6 nn ω=

Page 22: ΠΛΗ30 ΜΑΘΗΜΑ 1.3

Γ. ΑσκήσειςΕφαρµογή 2

Να αποδείξετε, κάνοντας χρήση του ορισµού των ορίων ότι:

22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.3: Ασυµπτωτικοί Συµβολισµοί

)(.6

)3(2.5

)(46.4

)(loglog.3

)(4.2

)log(.1

2

2

22

nn

o

nn

nn

nnn

nnOn

n

nn

ω==

Θ=+Ω=

Θ=+=

)(.6 nn ω=