Class Hub
Asymptotic analysis·Διάλεξη 2·~38 min

L02 · Ασυμπτωτική Ανάλυση

Χρειάζεσαι:L01 · Εισαγωγικά

Η ερώτηση που θέλουμε να απαντήσουμε

Πώς επηρεάζεται η απόδοση ενός αλγόριθμου όταν ο όγκος των δεδομένων που λαμβάνει αυξάνεται;

Στη L01 είπαμε ότι η πολυπλοκότητα εκφράζεται ως συνάρτηση της διάστασης . Εδώ θα μάθουμε να συγκρίνουμε τέτοιες συναρτήσεις χωρίς να μας ενδιαφέρουν σταθεροί συντελεστές ή όροι χαμηλότερης τάξης — γιατί όταν το μεγαλώνει, μόνο ο κυρίαρχος όρος μετράει.

Γιατί δεν αρκούν οι σταθερές

Αυτό το παράδειγμα είναι ο λόγος που η ασυμπτωτική ανάλυση αγνοεί σταθερές. Αν η μία μέτρηση είναι και η άλλη , η σταθερά 100 είναι ασήμαντη μπροστά στη διαφορά «γραμμικό vs τετραγωνικό».

Οπτική σύγκριση συναρτήσεων

Πριν τους τυπικούς ορισμούς, ας νιώσουμε πώς συμπεριφέρονται οι κλασικές κλάσεις πολυπλοκότητας. Άναψε και σβήσε συναρτήσεις, και σύρε το εύρος του — δες πόσο γρήγορα ξεφεύγει η εκθετική και πόσο «πέφτει» η λογαριθμική:

BigO Playground — σύγκρινε ρυθμούς αύξησης
010020030040014710131619μέγεθος εισόδου nπλήθος πράξεωνlog₂nn2ⁿ
1–20
Πλήθος πράξεων στο n = 20
log₂n = 4n = 20 = 4002ⁿ = 1.048.576

Δύο πράγματα να προσέξεις: (1) η εκθετική καρφώνεται στο ταβάνι του διαγράμματος ενώ το είναι ακόμη μικρό — και ο μετρητής από κάτω εκτοξεύεται· (2) όσο μεγαλώνει το εύρος, οι υπο-τετραγωνικές καμπύλες (, , ) «ισιώνουν» οπτικά μπροστά στο . Αυτή η εικόνα είναι όλο το παιχνίδι της ασυμπτωτικής ανάλυσης.

Ο ορισμός — μια μηχανή με δύο κουμπιά

Πριν δούμε τα σύμβολα, ας στήσουμε τη μηχανική. Για να πούμε «T(n) ∈ O(f(n))» χρειαζόμαστε να βρούμε δύο πράγματα:

  • μια σταθερά — το μέγεθος του «καπακιού» που βάζουμε πάνω από την , δηλαδή η ευθεία που χρησιμοποιούμε σαν άνω φράγμα.
  • ένα κατώφλι — από ποιο και μετά μας ενδιαφέρει· τα πρώτα τα αγνοούμε.

Αν υπάρχει ζευγάρι τέτοιο ώστε για ΚΑΘΕ να ισχύει , λέμε ότι η T φράσσεται ασυμπτωτικά από την — ή ισοδύναμα ότι T ∈ O(f). Μπορεί στις πρώτες τιμές η T να ξεπερνά την · δεν μας πειράζει, αρκεί από κάποιο σημείο και μετά να σταματάει να το κάνει.

Δοκίμασε τη μηχανή. Παρακάτω η ίδια δοκιμάζεται σε τρεις διαφορετικές . Σύρε το και δες πότε εμφανίζεται η πράσινη ζώνη (η περιοχή από το και πέρα όπου η μπλε καμπύλη μένει κάτω από την πορτοκαλί) — και πότε όχι:

(c, n₀) — λειτούργησε τον ορισμό
T(n) = 3n² − 100n + 6
n₀ = 1 — από εδώ, T ≤ c·050.000100.000150.00014284126168210μέγεθος εισόδου nT(n)c · = 3 ·
c = 3.0
✓ Επιτυχία — βρέθηκαν μάρτυρες(c, n₀) = (3.0, 1)
Για κάθε n ≥ 1, ισχύει T(n) ≤ 3·. Άρα T ∈ T(n) ∈ O(n²).

Η T και η f είναι ίδιας τάξης. Διάλεξε c ≥ 3 και ο όρος −100n δεν χρειάζεται καν να βοηθήσει — η ανισότητα ισχύει από n₀ = 1.

Τι να προσέξεις σε κάθε tab:

  • Σφιχτό φράγμα — . Με η ανισότητα ισχύει αμέσως, από . Αν ρίξεις το κάτω από 3, ξαφνικά δεν υπάρχει κανένα — όσο δεξιά κι αν σύρεις, η μπλε ξαναπερνά την πορτοκαλί.
  • Χαλαρό φράγμα — . Εδώ ΟΠΟΙΟΔΗΠΟΤΕ θετικό δουλεύει. Όσο μικρότερο το , τόσο πιο δεξιά μετακινείται το — αλλά πάντα υπάρχει.
  • Αδύνατο φράγμα — . Όσο μεγάλο κι αν διαλέξεις, η τετραγωνική T τρώει τη γραμμική τελικά. Δεν υπάρχει κανένα . Αυτή είναι η εικόνα του «».

Τώρα ο τυπικός ορισμός — όλα τα παραπάνω σε συμπυκνωμένη μαθηματική γραφή. Έστω :

Δύο αντίστοιχοι ορισμοί για κάτω και ακριβές φράγμα:

Σε καθημερινή γλώσσα:

  • — η T δεν αυξάνεται γρηγορότερα από την . Άνω φράγμα.
  • — η T δεν αυξάνεται πιο αργά από την . Κάτω φράγμα.
  • — η T αυξάνεται στον ίδιο ρυθμό με την (μέχρι σταθερά).

Οι τρεις περιπτώσεις, αλγεβρικά

Η εικόνα από το playground αξίζει και μια γρήγορη γραπτή απόδειξη — αυτή ακριβώς θα γράψεις στο εξεταστικό.

Η ιεραρχία πολυπλοκοτήτων — από σταθερό έως παραγοντικό

Οι κλάσεις που θα συναντάμε ξανά και ξανά, σε αυξανόμενο ρυθμό αύξησης:

Αυτή είναι ασυμπτωτική σειρά. Για μικρά τα νούμερα είναι κοντινά και η σειρά μπορεί να μην έχει «κλειδώσει» ακόμα. Δοκίμασε:

Η ιεραρχία πολυπλοκοτήτων — εν δράσει
n = 8
7
1
σταθερή
1
6
log n
log₂ n
3
5
n
γραμμική
8
4
n·log n
n · log₂ n
24
3
τετραγωνική
64
2
2ⁿ
εκθετική
256
1
n!
παραγοντική
40.320
✓ Στο n = 8, η σειρά τιμών συμπίπτει με την ασυμπτωτική σειρά
1log nnn·log n2ⁿn!
Η ιεραρχία έχει «κλειδώσει». Από εδώ και πέρα τα χάσματα μεγαλώνουν εκθετικά — δες τη μπάρα του n! να ρουφάει όλο τον χώρο.

Δύο πράγματα ζητάμε από αυτό:

  1. Σύρε το προς τα δεξιά. Από και πέρα η σειρά κλειδώνει και μένει σταθερή για πάντα. Η μπάρα του ρουφάει όλο τον χώρο γιατί ο είναι τάξεις μεγέθους μεγαλύτερος από οποιαδήποτε πολυωνυμική έκφραση.
  2. Σύρε το προς τα αριστερά. Στο ή θα δεις «παράδοξα»: το μπορεί να είναι μεγαλύτερο από το , ή το μικρότερο από το . Η ασυμπτωτική σειρά δεν διεκδικεί τίποτα για τόσο μικρά — και ακριβώς για αυτό ο ορισμός έχει το μέσα του.

Wheat and chessboard — γιατί το εκθετικό είναι «καταστροφή»

Αυτό είναι το σε δράση. Αν ένας αλγόριθμος είναι , αρκεί να αυξήσεις το κατά 1 για να διπλασιαστεί ο χρόνος εκτέλεσης.

Η «πικρή πραγματικότητα»: γιατί δεν μας σώζουν οι ταχύτεροι υπολογιστές

Μια έντονη παρανόηση είναι ότι «οι αλγόριθμοι δεν έχουν τόση σημασία γιατί οι υπολογιστές γίνονται όλο και ταχύτεροι». Ας το ελέγξουμε με αριθμούς. Παρακάτω, κάθε γραμμή ξεκινά από ένα ρεαλιστικό «τώρα» (περίπου ό,τι χωράει σε 1 δευτερόλεπτο σε ένα μηχάνημα του 2025). Σύρε το από 1× ως 10⁹× και δες πόσο πιο μεγάλο πρόβλημα μπορείς να λύσεις στον ίδιο χρόνο:

1.000× πιο γρήγορο μηχάνημα — πόσο πιο μεγάλο πρόβλημα λύνει;
k = 1.000×
×10^3
προεπιλογές
κλάσητώραμετάκέρδοςποσ.
O(n)100.000.0001.00e+11
×1.000
O(n·log n)4.000.0002.80e+9
×699
O(n²)10.000316.228
×31.6
O(n³)4504.500
×10.0
O(2ⁿ)2737
+10
O(3ⁿ)1723
+6.3
O(n!)1113
+2
Με 1.000× ταχύτερο μηχάνημα: ο γραμμικός αλγόριθμος πολλαπλασιάζει την είσοδό του επί 1.000. Ο O(2ⁿ) κερδίζει +10 στοιχεία. Ο O(n!) κερδίζει +2. Όση τεχνολογία κι αν σου δώσει το μέλλον, εκθετική πολυπλοκότητα δεν σώζεται με υλικό — μόνο με καλύτερο αλγόριθμο.

Τι παρατηρείς:

  • Για γραμμικό αλγόριθμο, 1000× μηχάνημα = 1000× μεγαλύτερη είσοδος. Πολλαπλασιαστικό κέρδος.
  • Για , το κέρδος είναι · για , . Όσο μεγαλύτερος ο εκθέτης, τόσο μικρότερο το κέρδος — αλλά παραμένει πολλαπλασιαστικό.
  • Για εκθετικό το κέρδος γίνεται αθροιστικό: . 1000× μηχάνημα = +10 στοιχεία. Ένα δισεκατομμύριο φορές ταχύτερο μηχάνημα = +30 στοιχεία.
  • Για ακόμη και ένα δισεκατομμύριο φορές πιο γρήγορο μηχάνημα ξεκολλάει την είσοδο κατά λίγες μόνο μονάδες.

Ιδιότητες των τάξεων μεγέθους

Έστω . Όλα τα παρακάτω αποδεικνύονται κατευθείαν από τον ορισμό:

  1. — κάθε συνάρτηση «κυριαρχείται από τον εαυτό της».
  2. — και «είναι ίσης τάξης με τον εαυτό της».
  3. — οι σταθεροί συντελεστές απορροφώνται.
  4. — διπλασιάζοντας μια συνάρτηση δεν αλλάζει τάξη.
  5. — σε άθροισμα μετράει ο κυρίαρχος όρος.
  6. — οι τάξεις πολλαπλασιάζονται.

Επίσης:

  1. και είναι δυϊκά.
  2. ΚΑΙ θέλει και τις δύο κατευθύνσεις.
  3. — το είναι συμμετρικό.
  4. και — μεταβατικότητα.

Είναι κάθε δύο συναρτήσεις ασυμπτωτικά συγκρίσιμες;

Όχι. Υπάρχουν συναρτήσεις που η μία δεν είναι ούτε ούτε της άλλης. Ο κλασικός αντιπαραδείγμα στη βιβλιογραφία:

Σύρε τον δείκτη παρακάτω και δες πώς η g χορεύει πάνω και κάτω από τη γραμμική ευθεία f — κάθε φορά που το ανεβαίνει η g ξεπερνά, κάθε φορά που πέφτει η g υπολείπεται:

Δύο ασύγκριτες συναρτήσεις — δες την g να πετάει πάνω και κάτω από την f
log-y
10^010^110^210^31102030405060nf(n) = ng(n) = n^(1 + sin n)
n = 20
Στο n = 20: f = 20, g = 308, λόγος g/f = 15.41. η g είναι μεγαλύτερη από την f (sin n ≈ 0.91 > 0, άρα ο εκθέτης της g είναι > 1).

Σύρε το δείκτη και πρόσεξε: η g πάντα ξανα-ανεβαίνει πάνω από την f και ξανα-σκάβει κάτω της. Καμία σταθερά c δεν μπορεί να φράξει τη μία από την άλλη «τελικά» — αυτό σημαίνει ασύγκριτες: ούτε f ∈ O(g), ούτε g ∈ O(f).

Μοτίβο σκέψης: βρες το «καλύτερο» O

Πρακτικές ασκήσεις

Εναλλακτική προσέγγιση: οριακές σχέσεις

Η ανισότητα « από κάποιο » είναι ακριβής αλλά δύσχρηστη — πρέπει να μαντέψεις και . Πιο μηχανικά: παίρνεις το όριο του λόγου και διαβάζεις τη συμπεριφορά από αυτό. Έστω :

Διάλεξε ζευγάρι παρακάτω και δες το όριο να ξεδιπλώνεται. Ο πιο διδακτικός είναι ο : για μικρά το πολυώνυμο φαίνεται να «κερδίζει» (ο λόγος ανεβαίνει!), αλλά από το εκθετικό συντρίβει τον λόγο μέχρι το μηδέν. Αυτή είναι η εικόνα του «»:

Όριο f(n)/g(n) — διάλεξε ζευγάρι και δες τι αποφασίζει
log-log κλίμακα
10^010^110^210^310^010^110^210^3ratio = 1n (λογαριθμική κλίμακα)f(n) / g(n)
συμπέρασμα ∈ ω(n)στο n ≈ 1000: λόγος ≈ 1000
lim (n²/n) = lim n = +∞
Ο λόγος ΑΝΕΒΑΙΝΕΙ ευθεία — δεν φράσσεται από καμία σταθερά. Άρα η n² αυξάνεται «αυστηρά γρηγορότερα» από τη n.

Οι μεσαίες περιπτώσεις (όριο 0 ή ) δίνουν τους «αυστηρά μικρότερα» συμβολισμούς:

  • → γράφουμε («μικρό-ο»). Διαβάζεται «η είναι αυστηρά μικρότερης τάξης από τη ».
  • → γράφουμε («μικρό-ωμέγα»). Διαβάζεται «η είναι αυστηρά μεγαλύτερης τάξης».

Πιο τυπικά:

Η διαφορά «κάποιο » vs «κάθε » μοιάζει λεπτή στο χαρτί. Ο επόμενος πάγκος εργασίας σαρώνει 10–15 διαφορετικά και χρωματίζει καθένα πράσινο (η ανισότητα ισχύει) ή κόκκινο (δεν ισχύει):

O vs o — μετράμε «κάποιο c» ή «κάθε c»;
n₀ = 1110100n (λογ. κλίμακα)g(n) = nc · 2n = 0.5 · 2n
c = 0.5
✓ Με c = 0.5: g(n) ≤ c·f(n) από n₀ = 1 και μετά.
Δοκίμασε όλα τα c — ποια κάνουν την ανισότητα να ισχύει;
g ∈ O(f);
✓ — υπάρχει τουλάχιστον ένα πράσινο c.
g ∈ o(f);
✗ — κάτω από c ≈ 0.5 όλα κοκκινίζουν.

Πρόσεξε στο tab « vs »: όσα είναι πράσινα, όσα κόκκινα. Υπάρχει ζευγάρι που δουλεύει (το π.χ.), άρα . Αλλά δεν δουλεύουν όλα τα (αρκεί να ρίξεις το κάτω από για να σπάσει), άρα . Στο δεύτερο tab (« vs ») κάθε — ακόμη και — είναι πράσινο. Πλήρες «κάθε», άρα .

Υπενθύμιση — Κανόνας του L'Hôpital

Πολλά από τα όρια που χρειαζόμαστε δίνουν απροσδιοριστία ή . Σε αυτές τις περιπτώσεις:

Αν και , και οι είναι παραγωγίσιμες, τότε:

Όταν η απροσδιοριστία επιμένει, εφαρμόζουμε ξανά. Το χρησιμοποιούμε αμέσως παρακάτω.

Δύο σημαντικά αποτελέσματα για τους ρυθμούς αύξησης

Στο LimitRatioPlot παραπάνω είδες τα δύο preset «» και «» να καταρρέουν στο μηδέν. Αυτά ΔΕΝ είναι τυχαία παραδείγματα — είναι στιγμιότυπα δύο γενικών θεωρημάτων που χρησιμοποιούμε διαρκώς:

Εκθετικό κυριαρχεί πάνω σε πολυωνυμικό

Κάθε εκθετική συνάρτηση με βάση μεγαλύτερη του 1 αυξάνεται γρηγορότερα από κάθε πολυωνυμική συνάρτηση.

Τυπικά, για κάθε και :

Πολυωνυμικό κυριαρχεί πάνω σε πολυλογαριθμικό

Μια συνάρτηση είναι πολυλογαριθμικά φραγμένη αν υπάρχει σταθερά με .

Κάθε πολυωνυμική συνάρτηση αυξάνεται γρηγορότερα από κάθε πολυλογαριθμική.

Τυπικά, για :

Η έννοια του βέλτιστου αλγορίθμου

Για ένα πρόβλημα ζητάμε τον καλύτερο αλγόριθμο που το επιλύει — αυτόν με την καλύτερη πολυπλοκότητα.

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

Κλείσιμο: πολλαπλασιασμός τετραγωνικών πινάκων

Ένα εξαιρετικό παράδειγμα του γιατί η ασυμπτωτική ανάλυση είναι ζωντανό ερευνητικό αντικείμενο.

Το χάσμα είναι από τα πιο διάσημα ανοιχτά προβλήματα. Η ιστορία του:

ΈτοςΕρευνητέςΠολυπλοκότητα
1969Strassen
1986Coppersmith & Winograd
2011V. V. Williams
2023Williams, Xu, Xu, Zhou
2025Alman, Duan, Williams, Xu, Xu, Zhou

Δεκαετίες μικρο-βελτιώσεων στον εκθέτη. Δεν ξέρουμε αν το είναι το πραγματικό κάτω φράγμα — αλλά πολλοί ερευνητές πιστεύουν ότι είναι και ότι κάποτε θα φτάσουμε εκεί.

Κλείδωσε τους ορισμούς

Πριν τα drills, μία κάρτα-μνήμης για να φύγεις από το κεφάλαιο με το σωστό «πακέτο» στο μυαλό:

Κάρτα μνήμηςΑσυμπτωτικοί συμβολισμοί
Λέξεις-κλειδιά
cn₀O = άνωΩ = κάτωΘ = ακριβέςo/ω = αυστηρά
Τα βήματα στο μυαλό σου
1Πάρε δύο συναρτήσεις T και f. Στόχος: σχέση μεγέθους όταν n → ∞.
2Ψάξε ζευγάρι (c, n₀): από το n₀ και πέρα η T κρατιέται κάτω από c·f. Αν βρεθεί → O.
3Συμμετρικά για κάτω φράγμα → Ω. Και τα δύο μαζί → Θ.
4Για αυστηρό «μικρότερο», απαίτησε κάθε c (όχι μόνο κάποιο) → o. Συμμετρικά → ω.
5Μηχανικά: πάρε όριο f/g. = 0 → o, σταθερά → Θ, +∞ → ω.
Πολυπλοκότητα
Κλασική παγίδα
Μην πεις «το O είναι το ακριβές φράγμα». Το O λέει μόνο «δεν χειρότερο από». Για «ίδιας τάξης» χρειάζεσαι Θ. Και μην μπερδέψεις «κάποιο c» (O) με «κάθε c» (o) — η διαφορά είναι ολόκληρη στον κβαντιστή.

Πρώτα ο ορισμός — συμπλήρωσε τα κενά χωρίς να κοιτάς πίσω:

Συμπλήρωσε τα κενά
Ο ορισμός των ασυμπτωτικών συμβόλων, σε λέξεις.
Η σχέση T(n) ∈ O(f(n)) σημαίνει: υπάρχει μια c και ένα κατώφλι n₀ ώστε, από κάποιο σημείο και μετά, η T(n) να μην ξεπερνά ποτέ το c·f(n). Δηλαδή το O δίνει ένα φράγμα, το Ω δίνει ένα φράγμα, και το Θ σημαίνει «και τα δύο μαζί» — ίδια τάξη μεγέθους.

Τώρα η ιεραρχία — βάλε τις κλάσεις στη σωστή σειρά:

Βάλε τα βήματα στη σειρά
Από τον πιο αργό ρυθμό αύξησης στον πιο γρήγορο.
Σύρε τις γραμμές για αναδιάταξη — ή χρησιμοποίησε τα βελάκια.
1.n² — τετραγωνική
2.log n — λογαριθμική
3.1 — σταθερή
4.2ⁿ — εκθετική
5.n log n
6.n — γραμμική
7.n! — παραγοντική

Τι μάθαμε

Τι κρατάμε από αυτή τη διάλεξη

  1. : άνω, κάτω, και ακριβές ασυμπτωτικό φράγμα. Ο ορισμός βασίζεται σε σταθερά και αρχικό .
  2. Σταθερές δεν μετράνε: . Μόνο ο κυρίαρχος όρος μετράει.
  3. Πολυωνυμικό vs εκθετικό: η μεγάλη διαχωριστική γραμμή. Ταχύτερος υπολογιστής δεν σώζει εκθετικό αλγόριθμο.
  4. Ιεραρχία: .
  5. Όρια ως εργαλείο: · · .
  6. L'Hôpital: λύνει σχεδόν όλα τα όρια που χρειαζόμαστε.
  7. Βέλτιστος αλγόριθμος: αν το κάτω φράγμα του προβλήματος είναι και υπάρχει αλγόριθμος , είναι ασυμπτωτικά βέλτιστος.
Επόμενο
L03 · D&C I — Mergesort, master theorem

Ασκήσεις από εξετάσεις

Από τη θεωρία στην εξεταστική

23 άσκησεις που χρησιμοποιούν ως τελευταίο εργαλείο αυτή τη διάλεξη. Οι πρόσφατες εξεταστικές (2024/2025) φέρουν badge προτεραιότητας.

Παλαιό θέμαΙούνιος 2025Θέμα Εξετάσεων 2025Θέμα 1.13%Ασυμπτωτική ανάλυσηΕύκολο

Ιούνιος 2025 · Θέμα 1.1 — Σύγκριση σταθερών συναρτήσεων

Αν και , κύκλωσε ποιες από τις παρακάτω σχέσεις ισχύουν:

(i) · (ii) · (iii) · (iv) · (v) · (vi) οι είναι μη-συγκρίσιμες.

Παλαιό θέμαΙούνιος 2025Θέμα Εξετάσεων 2025Θέμα 1.23%Ασυμπτωτική ανάλυσηΜέτριο

Ιούνιος 2025 · Θέμα 1.2 — Πολυωνυμικό vs υπερπολυωνυμικό

Αν και , κύκλωσε ποιες σχέσεις ισχύουν: (i) · (ii) · (iii) · (iv) · (v) · (vi) μη-συγκρίσιμες.

Παλαιό θέμαΙούνιος 2025Θέμα Εξετάσεων 2025Θέμα 1.33%Ασυμπτωτική ανάλυσηΜέτριο

Ιούνιος 2025 · Θέμα 1.3 — Άγνωστος εκθέτης

Αν , με , και , κύκλωσε ποιες σχέσεις ισχύουν: (i) · (ii) · (iii) · (iv) · (v) · (vi) μη-συγκρίσιμες.

Παλαιό θέμαΣεπτέμβριος 2025Θέμα Εξετάσεων 2025Θέμα 1.13%Ασυμπτωτική ανάλυσηΜέτριο

Σεπτέμβριος 2025 · Θέμα 1.1 — Άθροισμα τετραγώνων vs n²log n

Αν και , κύκλωσε ποιες σχέσεις ισχύουν: (i) · (ii) · (iii) · (iv) · (v) · (vi) μη-συγκρίσιμες.

Παλαιό θέμαΣεπτέμβριος 2025Θέμα Εξετάσεων 2025Θέμα 1.23%Ασυμπτωτική ανάλυσηΔύσκολο

Σεπτέμβριος 2025 · Θέμα 1.2 — Αρμονικό άθροισμα vs log log n

Αν και , κύκλωσε ποιες σχέσεις ισχύουν: (i) · (ii) · (iii) · (iv) · (v) · (vi) μη-συγκρίσιμες.

Παλαιό θέμαΣεπτέμβριος 2024Θέμα Εξετάσεων 2024Θέμα 1 — Πρόταση 24%Ασυμπτωτική ανάλυσηΜέτριο

Σεπτέμβριος 2024 · Θέμα 1.2 — Σ/Λ: f + g = Θ(max{f, g})

Χαρακτήρισε (Σ)ωστό ή (Λ)άθος: «Αν είναι θετικές συναρτήσεις με , τότε

Παλαιό θέμαΣεπτέμβριος 2024Θέμα Εξετάσεων 2024Θέμα 1 — Πρόταση 54%Ασυμπτωτική ανάλυσηΕύκολο

Σεπτέμβριος 2024 · Θέμα 1.5 — Σ/Λ: 1 + 2 + … + n = Θ(n²)

Χαρακτήρισε (Σ)ωστό ή (Λ)άθος: .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 0Ασυμπτωτική ανάλυσηΕύκολο

Φροντιστηριακό Σετ #1 · Άσκηση 0 — Σ/Λ ασυμπτωτικού συμβολισμού

Χαρακτήρισε Σωστό / Λάθος: .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 1Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #1 · Άσκηση 1 — Διάταξη συναρτήσεων ανά ομάδα

Διάταξε τις ακόλουθες συναρτήσεις ως προς την πολυπλοκότητα χρόνου, ανά ομάδα (από τη μικρότερη στη μεγαλύτερη τάξη):

Ομάδα Α: · · · ·

Ομάδα Β: · · · ·

Ομάδα Γ: · · · ·

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 3Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #1 · Άσκηση 3 — Πολυπλοκότητα με επαναλαμβανόμενο λογάριθμο

Υπολόγισε την πολυπλοκότητα χρόνου του αλγορίθμου:

begin algorithm
  arg ← -1
  for i ← 1 to n with step 1 do
    m ← i
    while m > 0 do
      m ← log(m)
    end while
    for j ← 1 to m with step 1 do
      arg ← i · i · j
    end for
  end algorithm
Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 0Ασυμπτωτική ανάλυσηΜέτριο

Φροντιστηριακό Σετ #2 · Άσκηση 0 — Διάταξη συναρτήσεων κατά ρυθμό αύξησης

Διάταξε κάθε ομάδα συναρτήσεων σε αύξουσα σειρά ρυθμού αύξησης.

Ομάδα b: .

Ομάδα f: .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 1Ασυμπτωτική ανάλυσηΜέτριο

Φροντιστηριακό Σετ #2 · Άσκηση 1 — Αναμενόμενος χρόνος Σειριακής Αναζήτησης

Υπολόγισε τον αναμενόμενο χρόνο εκτέλεσης μίας Σειριακής (γραμμικής) Αναζήτησης σε διακριτά στοιχεία, όταν η πιθανότητα να βρίσκεται το ζητούμενο στη θέση είναι:

  • θέσεις έως : η καθεμία με πιθανότητα ·
  • θέσεις έως : η καθεμία με πιθανότητα ·
  • θέσεις και : η καθεμία με πιθανότητα ·
  • «δεν βρέθηκε»: με την υπόλοιπη πιθανότητα .
Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 2Ασυμπτωτική ανάλυσηΜέτριο

Φροντιστηριακό Σετ #2 · Άσκηση 2 — Σ/Λ για αθροίσματα

Χαρακτήρισε κάθε πρόταση Σωστό / Λάθος:

(α) · (β) · (γ) · (δ) .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 3Ασυμπτωτική ανάλυσηΜέτριο

Φροντιστηριακό Σετ #2 · Άσκηση 3 — Σ/Λ: συνεπαγωγές ασυμπτωτικών

Χαρακτήρισε Σωστό / Λάθος:

(α) · (β) .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 4Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #2 · Άσκηση 4 — Ασυμπτωτική τάξη και διάταξη συναρτήσεων

Βρες την ασυμπτωτική συμπεριφορά των παρακάτω συναρτήσεων, προσδιορίζοντας για κάθε μία αν είναι ή για κατάλληλες μη-αρνητικές ακέραιες τιμές των :

1.  (α΄)  ·  (β΄)  ·  (γ΄)  ·  (δ΄)

2.  Να τις διατάξεις σε αύξουσα τάξη μεγέθους καθώς το τείνει στο άπειρο.

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 5Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #2 · Άσκηση 5 — Τρεις ασυμπτωτικές κατατάξεις

Για καθεμία απάντησε ποια σχέση ισχύει:

(α) Η είναι , ή ; (β) Η είναι , ή ;

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 6Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #2 · Άσκηση 6 — Πολυπλοκότητα εμφωλευμένων βρόχων

Υπολόγισε τη χρονική πολυπλοκότητα του παρακάτω αλγορίθμου:

Algorithm 1:
  arg ← -1
  για i ← 1 έως 2n  (βήμα 1):
    για j ← i έως i²  (βήμα 1):
      arg ← CALC(j)

procedure CALC(w):
  res ← 0
  για i ← 1 έως √w  (βήμα 0.1):
    res ← res + log(i)
  return res
Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση 7Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #2 · Άσκηση 7 — Πίνακας ασυμπτωτικών σχέσεων

Για κάθε ζεύγος συναρτήσεων παρακάτω, ποιες σχέσεις ισχύουν ( ως προς ): ; (Σταθερές: .)

1) vs · 2) vs · 3) vs · 4) vs · 5) vs · 6) vs .

Από φροντιστήριοΦροντιστήριο 2023–24Άσκηση επανάληψης (E0)Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #4 · Επανάληψη E0 — Πολυπλοκότητα εμφωλευμένων βρόχων

Υπολόγισε την πολυπλοκότητα χρόνου του παρακάτω αλγορίθμου:

begin algorithm
  arg ← -1
  for i ← 1 to 2n with step 1 do
    for j ← i to i² with step 1 do
      arg ← CALC(j)
  end algorithm

procedure CALC(w)
  res ← 0
  for i ← 1 to w^0.5 with step 0.1 do
    res ← res + log(i)
  return res
Από φροντιστήριοΦροντιστήριο 2023–24Θέμα 415%Ασυμπτωτική ανάλυσηΔύσκολο

Φροντιστηριακό Σετ #4 · Θέμα 4 — Πολυπλοκότητα δύο αλγορίθμων

Βρες την πολυπλοκότητα των παρακάτω αλγορίθμων. Δώσε σύντομη αιτιολόγηση.

Algorithm 1
  arg ← 1
  for i ← 1 to n with step 1 do
    for j ← 1 to i with step 1 do
      arg ← CALC(j)

procedure CALC(m)
  i ← 1;  s ← 1
  while s ≤ m do
    i ← i + 1
    s ← s + i
  return s
Algorithm 2
  arg ← 0
  for i ← 1 to n with step 1 do
    for j ← 1 to n with step (2·j) do
      arg ← CALC(j)

procedure CALC(m)
  s ← m
  while s ≤ (2·m) do
    s ← s + 1
  return s
Από φροντιστήριοΦροντιστήριοΑσυμπτωτική ανάλυσηΕύκολο

Φροντιστηριακό Σετ #11 — υπό μεταγραφή

Εκφώνηση δεν έχει ακόμα μεταγραφεί.

Παλαιό θέμαΙούνιος 2023Θέμα 1 (Β ομάδας)20%Ασυμπτωτική ανάλυσηΔύσκολο

Ιούνιος 2023 · Θέμα 1 (Β ομάδας) — Σύγκριση εκθετικής με υπερ-πολυωνυμική

Θεωρούμε την με . Βρες αν είναι ή .

Παλαιό θέμαΙούνιος 2023Θέμα 2Α10%Ασυμπτωτική ανάλυσηΜέτριο

Ιούνιος 2023 · Θέμα 2Α — Κατάταξη της 2^√(log n)

Η συνάρτηση είναι , ή ;

Φόρτωση σχολίων…
L02 · Ασυμπτωτική Ανάλυση · Algorithms Class Hub