( ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ

Σχετικά έγγραφα
Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

(5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ

{ i f i == 0 and p > 0

(7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα»

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v )

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο»

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Επίλυση ειδικών μορφών ΣΔΕ

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

5.1 Μετρήσιμες συναρτήσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

Αναγνώριση Προτύπων. Σημερινό Μάθημα

(19 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ IΙΙ: «εντοπισμός σημείου σε τριγωνοποίηση»

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

(1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά);

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Η εξίσωση Black-Scholes

Αναλυτικές ιδιότητες

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ

Εφαρμογές στην κίνηση Brown

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

Εκφωνήσεις και Λύσεις των Θεμάτων

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

Επιχειρησιακή Ερευνα Ι

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

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

(14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ

CSE.UOI : Μεταπτυχιακό Μάθημα

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

τους στην Κρυπτογραφία και τα

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Αρτιες και περιττές συναρτήσεις

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

Αλγόριθμοι & Βελτιστοποίηση

17 Μαρτίου 2013, Βόλος

Μαθηματικά Πληροφορικής

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

"Η απεραντοσύνη του σύμπαντος εξάπτει τη φαντασία μου. Υπάρχει ένα τεράστιο σχέδιο, μέρος του οποίου ήμουν κι εγώ".

Επίλυση δικτύων διανομής

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.

Στοχαστικές διαφορικές εξισώσεις

Αρτιες και περιττές συναρτήσεις

ΟΡΙΣΜΟΣ και ΚΑΤΑΜΕΤΡΗΣΗ ΘΕΜΕΛΙΑΚΩΝ ΣΥΝ ΥΑΣΤΙΚΩΝ ΜΟΡΦΩΝ

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

Martingales. 3.1 Ορισμός και παραδείγματα

ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Β ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 27 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6)

ΕΙΣΑΓΩΓΗ. H λογική ασχολείται με δύο έννοιες, την αλήθεια και την απόδειξη. Oι έννοιες αυτές έχουν γίνει

Αφιερώνεται στους Μαθητές μας Άγγελος Βουλδής Γιώργος Παναγόπουλος Λευτέρης Μεντζελόπουλος

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Σχέσεις και ιδιότητές τους

Συναρτήσεις. Σημερινό μάθημα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ. Γεωργακόπουλος.

ΘΕΩΡΙΑ ΣΥΝΟΛΩΝ: μια σύνοψη των θεμελιακών χαρακτηριστικών.

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Εξωτερικά υδραγωγεία: Αρχές χάραξης

Μητροπολιτικά Οπτικά Δίκτυα Εισαγωγή

Transcript:

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Ενδιαφερόμαστε μεν για τους αλγορίθμους αλλά εντός ενός συγκεκριμμένου πλαισίου: (α) ως λύσεις προβλημάτων, (β) ως «ταχείες» ή «δραστικές» λύσεις αυτών των προβλημάτων. Για το (β) χρειαζόμαστε πάντοτε μια ανάλυση του πλοκής των αλγορίθμων μας, και ο εφικτός και κατάλληλος τρόπος για να την εκφράσουμε είναι οι ασυμπτωτικές εκφράσεις Ο Ω Θ και ο( ). Επαναλαμβάνουμε τον ορισμό τους: f(n) = O( g(n) ) f(n) = Ω( g(n) ) f(n) = Θ( g(n) ) f(n) = ο( g(n) ) «f το πολύ ευθέως ανάλογη της g» Υπάρχει μια σταθερά C, τέτοια ώστε για κάθε n, (ή έστω για κάθε n n*): f(n) C g(n) ««f τουλάχιστον ευθέως ανάλογη της g» Υπάρχει μια σταθερά C, τέτοια ώστε για κάθε n, (ή έστω για κάθε n n*): f(n) C g(n) «f περίπου ευθέως ανάλογη της g» Υπάρχουν σταθερές C1, C2, τέτοια ώστε για κάθε n, (ή έστω για κάθε n n*): C1 g(n) f(n) C2 g(n) «f μηδενίζεται ως προς g» lim f( n) = 0 n gn ( ) ( ) Είναι απαραίτητο μόνο και μόνο για να μπορούμε να «συνεννοούμαστε», αλλά και να διαβάζετε άρθρα και βιβλία να είστε εξοικειωμένοι με το νόημα, τη γραφή και τη χρήση αυτών των συμβολισμών. Ι. Σύγκριση εκφράσεων: Ο Ο/Ω συμβολισμός πρέπει να μας είναι κατανοητός, δηλαδή όταν τον διαβάζουμε να καταλαβαίνουμε τί εννοεί. Χαρακτηριστικό σημείο εφαρμογής αυτού είναι η σύγκριση δύο αλγορίθμων. Ας υποθέσουμε ότι το κόστος χειρίστης περιπτώσεως (= Χ/Π) δύο αλγορίθμων μας προκύπτει ως εξής ποιόν από τους δύο θα διαλέγαμε και γιατί; ΧΠ 1 ου ΧΠ 2 ου Προτιμότερος; Ο(Ν 2 ) Ω(ΝlogN) Δεν έχουμε επαρκή στοιχεία ο 1 ος θα μπορούσε να είναι ακόμα και Ω(Ν) κόστους... Ο(Ν 2 ) Ω(N 3 ) Σαφώς ο 1 ος Ω(N) Ο(Ν 2 ) Ανεπαρκή στοιχεία Ω(N 2 ) Ο(Ν 1.5 ) Σαφώς ο 2 ος Ο(ΝlogN) Ο(Ν 2 ) Ανεπαρκή στοιχεία. Ο(Ν 2 ) Ο(Ν) Ανεπαρκή στοιχεία Ω(N 2 ) Ω(N 3 ) Ανεπαρκή στοιχεία Ω(ΝlogN) Ω(Ν) Ανεπαρκή στοιχεία Η ιδέα της σύγκρισης δίνεται πιο κάτω: αν βάλουμε σε μια ευθεία τις πλοκές (λ.χ. Ν και Ν 2 ) στη σειρά, με την μεγαλύτερη δεξιά, (στο σχήμα f(n) = o(g(n)), τότε οι Ο( ) ποσότητες πάνε προς τα αριστερά, και οι Ω( ) προς τα δεξιά. Για να έχουμε σαφή διαχωρισμό θα πρέπει η μικρότερη να είναι Ο(f) και η μεγαλύτερη Ω(g). Πανεπιστήμιο Κρήτης Τμ. Επιστήμης υπολογιστών «Αλγόριθμοι & πολυπλοκότητα, ΗΥ380 Γεώργιος Φ.Δ. Γεωργακόπουλος, 28/3/2014, 1/5

Ο( f(n)) f(n) g(n) Ω(g(n)) Αν δεν έχουμε σαφή διαχωρισμό, τότε δεν μπορούμε να βγάλουμε συμπέρασμα π.χ. στο παρακάτω σχήμα μια Ω(Ν) πλοκή ΧΠ θα μπορούσε να είναι μεγαλύτερη από μια Ω(Ν 1.2 ), ή μια Ω(Ν) πλοκή ΧΠ μεγαλύτερη από μια Ο(Ν 1.5 ) (βλ. κόκκινα σημεία). N N 1.2 Ω(N 1.2 ) Ω(N) Ο(...) N N 1.5 Ω(...) ΙΙ. Απλοποίηση εκφράσεων: Με τον Ο Ω συμβολισμό μπορούμε να απλοποιούμε την παράσταση διαφόρων εκφράσεων. Σε αυτή την απλοποίηση υπάρχει μια «απώλεια» πληροφορίας, όχι όμως τόση που να ενοχλεί τα ενδιαφέροντα που έχουμε εδώ. Τρία είναι τα σημαντικά: Τα κατά Θ( ) ιεραρχικώς μικρότερα μεγέθη είναι περιττά (είτε ως πρόσθετέοι, είτε ως αφαιρετέοι), και απαλείφονται. Οι σταθερές απαλείφονται. Τα γινόμενα της μεταβλητής (ή συναρτήσεων της μεταβλητής παραμένουν. 10n 2 + 20n + 500 Η ποσότητα αυτή γράφεται Θ(n 2 ): όλοι οι άλλοι όροι μηδενίζονται ως προς τον κύριο όρο τετράγωνο. Η τελική γραφή Θ(n 2 ) περιέχει όλη την πληροφορία που μας ενδιαφέρει, δηλαδή την «τετραγωνική συμπεριφορά» της αρχικής έκφρασης. log(n 2 /10+n) Η ποσότητα n 2 /10+n απλοποιείται σε κάτι περίπου ανάλογο με n 2. Και επειδή ο log( ) είναι μονότονα αύξουσα συνάρτηση, μια ποσότητα ανάμεσα σε κx 2 και λx 2 έχει λογάριθμο ανάμεσα σε 2logn+logκ και 2logn+logλ, δηλαδή τελικά: Θ(logn). 3 2 n /100 + 10n Η υπόρριζη ποσότητα απλοποιείται σε Θ(n 3 ), και (όπως και πριν) μας απομένει το 3 Θ( n ) =Θ(n 1.5 ). n 2 /logn + n 1.2 Αν κάποια από τις δυο εκφράσεις μηδενίζεται ως προς την άλλη δεν χρειάζεται να την κρατήσουμε. Ελέγχουμε το πηλίκο n 1.2 / (n 2 /logn) = logn/n 0.8 και βλέπουμε (με απλό απειροστικό λογισμό) ότι τείνει στο 0, διότι ο λογάριθμός του loglogn 0.8logn = logm 0.8m, τείνει στο μείον άπειρο για m. Άρα, n 2 /logn + n 1.2 = Θ(n 2 /logn). ΙΙΙ. Το «σημείο διασταύρωσης». Πίσω από τον συμβολισμό Ο Ω Θ κρύβεται και παραλείπεται μια σταθερά. Ας δούμε τί ρόλο μπορεί αυτή να παίξει. Ανάμεσα σε μια πλοκή «100Ν» και «Ν 2 /100» η δεύτερη μας «ξεγελά» με την μικρή σταθερά που έχει (1/100 ως προς 100). Αλλά αυτό είναι οπτική απάτη, διότι το Ν 2 μεγαλώνει αρκετά Πανεπιστήμιο Κρήτης Τμ. Επιστήμης υπολογιστών «Αλγόριθμοι & πολυπλοκότητα, ΗΥ380 Γεώργιος Φ.Δ. Γεωργακόπουλος, 28/3/2014, 2/5

γρήγορα και από ένα σημείο «διασταύρωσης» με την 100Ν, αυτή η 2 η πλοκή θα είναι διαρκώς προτιμότερη. Αυτό το σημείο διασταύρωσης μας δίνει η εξίσωση 100Ν = Ν 2 /100 ή Ν = 10,000: Δηλαδή για 10,000 δεδομένα και πάνω, η 1 η πλοκή είναι η προτιμότερη παρά την «μεγάλη» σταθερά που έχει. Ποιό είναι το σημείο διασταύρωσης για τα εξής ζεύγη χρονικών πλοκών: 5Ν 3 20 Ν 2.8 Η εξίσωση μας δίνει 5Ν 3 =20 Ν 2.8, ή Ν 0.2 = Ν 1/5 = 4 ή Ν = 4 5 = 1024. Για Ν > 1024 συμφέρει η πλοκή που είναι ασυμπτωτικά μικρότερη. 1000 Ν Ν/logN Η εξίσωση δεν είναι εύκολο να λυθεί χρειάζεται είτε ένα προγραμματάκι, είτε λίγες πράξεις με το χέρι. Το σημείο προκύπτει κάπου κοντά στο Ν = 2 16 ~ 64000. ΙV. «Κατ ευθείαν» υπολογισμός. Το σημαντικό όμως σε αυτές τις ασυμπτωτικές εκφράσεις είναι ότι επειδή δίδουν μια στο «περίπου» και όχι ακριβή περιγραφή είναι πολύ πιο εύκολο να υπολογιστούν είναι πολύ πιο εύκολο να σκεπτόμαστε με βάσει αυτές. Δίνουμε μερικά παραδείγματα: Έχουμε δύο τεμνόμενες ευθείες. Πόσες γωνίες σχηματίζουν ακριβώς; Αν δεν το πιάσετε από την αρχή σωστά ίσως να μπερδευτείτε ακόμα και σε μια τόσο απλή περίπτωση: 4; 8; 12; 16; (Είναι οι 4 προφανείς γωνίες; Όχι διότι είναι και αντιστοίχως άλλες 4 μή κυρτές. Άρα 8. Όχι διότι οι δύο ευθείες δίδουν και άλλες δύο γωνίες των 180 ο, ή μάλλον άλλες 4 αφού έχουμε δύο επίπεδες γωνίες σε κάθε ευθεία μία από κάθε πλευρά. Άρα 12; Όχι διότι οι τέσσερεις ημιευθείες αποτελούν άλλες 4 γωνίες μηδενικές γωνίες. Άρα 16. Όχι διότι με κορυφή το σημείο τομής των ευθειών έχουμε και μια πλήρη γωνία των 360 ο, άρα 17. Όχι. Διότι οι τέσσερεις μηδενικές γωνίες δίνουν 4 αντίστοιχες. πλήρεις γωνίες, άρα 20 τελικά. Ή όχι; Μήπως τελικά σχηματίζεται... άπειρο πλήθος γωνιών; Όχι βέβαια: κάθε μία από τις τέσσερεις ημιευθείες σχηματίζει με κάθε άλλη ημιευθεία (ακόμα και με τον εαυτό της) ακριβώς δύο γωνίες: μία «κυρτή» και μια «μή κυρτή». Άρα έχουμε 2 (4 4) = 32. Βρήκαμε 20 πού είναι οι άλλες 12 γωνίες; Oops μετρήσαμε τα ζευγάρια δύο φορές, δηλαδή το {α, β} και ως (α, β) και ως (β, α). Πρέπει λοιπόν να λάβουμε υπόψι μας τα μισά, άρα οιγωνίες είναι 2 (½ 4 4) = 16. Αλλά μετρήσαμε ήδη 20 γωνίες! Πού βρέθηκαν οι 4 παραπάνω; Τέλος πάντων βγάλτε άκρη μόνοι σας αν επιμένετε. Η σωστή απάντηση για μας είναι η απάντηση στη σωστή (για μας) ερώτηση: πόσες γωνίες σχηματίζονται «Ο/Ω περίπου»; Και αυτή η απάντηση είναι: «δηλαδή το πλήθος τους είναι C και C, όπου C, C θετικές σταθερές».. Πανεπιστήμιο Κρήτης Τμ. Επιστήμης υπολογιστών «Αλγόριθμοι & πολυπλοκότητα, ΗΥ380 Γεώργιος Φ.Δ. Γεωργακόπουλος, 28/3/2014, 3/5

(όπου εδώ C = 4, και C = 32 το τελευταίο τόσο ώστε να είμαστε σίγουροι... ). Έχουμε Ν σημεία στο επίπεδο. Πόσα τρίγωνα σχηματίζουν ακριβώς; Ας είναι όσα είναι... Πόσα τρίγωνα σχηματίζουν «περίπου»; Η 1 η κορυφή θα είναι μία από Ν, η 2 η μία από τις υπόλοιπες Ν 1, και η 3 η μία από τις υπόλοιπες Ν 2. Το γινόμενο είναι Ν(Ν 1)(Ν 2), όπου βέβαια κάθε τρίγωνο το μετρήσει πολλές φορές, όμως μόνον φορές. Και αυτή η σταθερά δεν «παίζει» στην ασυμπτωτική εκφραση, που εδώ περιέχει τρείς φορές τον παράγοντα Ν απάντηση: Θ(Ν 3 ). Έχουμε ένα κανονικό ορθογωνικό πλέγμα Ν Ν σημείων. Πόσα τετράγωνα σχηματίζονται από κορυφές αυτού του πλέγματος, ακριβώς; Είναι βέβαιο ότι κανείς αν δεν έχει σοβαρό λόγο δεν θα κάτσει να τα μετρήσει ακριβώς. Πόσα τετράγωνα σχηματίζονται στο «περίπου»; Κάθε τετράγωνο χαρακτηρίζεται από τα δύο διαγώνια σημεία του, (έστω το κάτω αριστερά και το πάνω δεξιά). Και κάθε τέτοιο ζευγάρι πάνω σε μια διαγώνιο με k σημεία, ορίζει (πάντοτε...) ένα (και μόνον ένα) τετράγωνο, άρα σε μια διαγώνιο με k σημεία έχουμε k 2 τετράγωνα, και έχουμε Ο(Ν) διαγωνίους, μήκους Ο(Ν), αλλά και Ω(Ν) διαγωνίους μήκους Ω(Ν). Απάντηση: Θ(Ν) Θ(Ν 2 ) = Θ(Ν 3 ) = Θ(Ν 3 Ν 2 ), (που μένει δηλαδή η ίδια ακόμα και βγάλουμε τα = Ν 2 εκφυλισμένα τετράγωνα). V. «Πλοκή»: υπολογισμός βημάτων χειρίστης περιπτώσεως. Το σημαντικό για μας είναι να μπορούμε να εκτιμούμε το πόσες πράξεις θα κάνει στη χειρότερη περίπτωση ένα τεμάχιο κώδικα, που περιγράφει τον (λ.χ. υπό σχεδίαση) αλγόριθμό μας. Αυτό που χρειαζόμαστε είναι, κυρίως, μια καλή ασυμπτωτική εκτίμηση του κόστους των επαναληπτικών εντολών, αφού αυτές παράγουν το μεταβλητό κόστος ενός προγράμματος. Εξετάζουμε τις εντολές μία μία, και απλά κάνουμε τον λογαριασμό. Αυτός ο λογαριασμός μερικές φορές μπορεί να γίνει ακόμα και εάν δεν καταλαβαίνουμε τί «ακριβώς» κάνει ο αλγόριθμος, και ποιό «πρόβλημα» λύνει: βρόχος, Ν βρόχος, Ν Επεξεργασία(Α[1..Ν]: πίνακας Ν αριθμών) { Τελευταίο Ν Τέλος ΨΕΥΔΕΣ Εφόσον (όχι Τέλος) { Τέλος ΑΛΗΘΕΣ Για κ = 1 έως Τελευταίο-1 { Εάν Α[κ]>Α[κ+1] τότε { Α[κ] Α[κ+1} // εναλλαγή Τέλος ΨΕΥΔΕΣ } } Τελευταίο Τελευταίο-1 } } Η μεταβλητή Τελευταίο από τιμής Ν μόνον μειούται, επομένως μένει Ν και ο βρόχος του «κ» θα επαναλαφθεί το πολύ Ν φορές. Ακόμα και εάν σε κάθε εκτέλεση του βρόχου Eφόσον η μεταβλητή Τέλος τρέπεται σε ΨΕΥΔΕΣ βήμα, η μεταβλητή Τελευταίο θα φθάσει μειουμένη σε Ν 1 βήματα στη τιμή +1, ο βρόχος του «κ» δεν θα εκτελεστεί, η μεταβλητή Τέλος θα παραμείνει ΑΛΗΘΗΣ (αν αυτό δεν έχει συμβεί νωρίτερα) και ο βρόχος Eφόσον θα τερματιστεί έχοντας εκτελεστεί το πολύ Ν φορές. Σε άλλες όμως περιπτώσεις το να γνωρίζουμε τί κάνει ο αλγόριθμος όχι μόνον βοηθάει, αλλά είναι και κατά κάποια έννοια απαραίτητο: δείτε στις σημειώσεις το παράδειγμα του «κυρτού περιβλήματος»: πώς θα εξασφαλίζαμε τα σχετικά φράγματα στις συναρτήσεις «ΑΝΩ ΓΕΦΥΡΑ»/«ΚΑΤΩ ΓΕΦΥΡΑ» εάν δεν γνωρίζαμε τι κάνει (από γεωμετρικής πλευράς) ο αλγόριθμος; Πανεπιστήμιο Κρήτης Τμ. Επιστήμης υπολογιστών «Αλγόριθμοι & πολυπλοκότητα, ΗΥ380 Γεώργιος Φ.Δ. Γεωργακόπουλος, 28/3/2014, 4/5

Προς ΕΞΑΣΚΗΣΗ Βασιζόμενοι στις προηγούμενες εξηγήσεις θα πρέπει να είστε σε θέση να λύσετε όλα τα προβλήματα. Ζητούνται 5 «ασκήσεις», 1 από κάθε ομάδα, (με ομάδες τις εξής: [1, 2, 3, 4], [5, 6], [7, 8], [9, 10], [11, 12] ). 1. Δίδονται Ν ευθείες στο επίπεδο. Πόσα το πολύ και πόσα τουλάχιστον σημεία τομής σχηματίζονται; 2. Δίδονται Ν ευθείες στο επίπεδο. Πόσες το πολύ και πόσες τουλάχιστον περιοχές σχηματίζονται; 3. Δίδονται Ν φυσικοί αριθμοί. Πόσα το πολύ διαφορετικά αθροίσματα μπορούμε να σχηματίσουμε αθροίζοντας τριάδες από αυτούς; 4. Σε ένα γράφημα όπου Ν κόμβοι συνδέονται με Μ ακμές, πόσοι τουλάχιστον κύκλοι δημιουργούνται ως συνάρτηση του Μ; 5. Δώστε Ο/Ω ασυμπτωτικές εκτιμήσεις για το άθροισμα 6. Δώστε Ο/Ω ασυμπτωτικές εκτιμήσεις για το άθροισμα N k (καθώς και όποιες εξηγήσεις). k= 1 N 3 k (καθώς και όποιες εξηγήσεις). k= 1 7. Ποιά είναι η πλοκή ως προς n (κατά Ο/Ω/Θ έκφραση) του παρακάτω κώδικα; Επεξεργασία(n: φυσικός αριθμός) { s 0 Για i = 1 έως n-1 Για j = i+1 έως n Για k = i έως j { s s + k } } 8. Ποιά είναι η πλοκή του παρακάτω κώδικα ως προς Ν; ΤρέχαΒρες(n: φυσικός αριθμός) { s 0 κ n Εφόσον (κ>1) { Για λ = 1 έως κ { s s + λ κ κ δια 2 } } } 9. Από ποιό σημείο «Ν» και μετά η πλοκή 40Ν είναι συνεχώς προτιμότερη από την Ν 2 /10; 10. Από ποιό σημείο «Ν» και μετά η πλοκή 100Ν 2.5 είναι συνεχώς προτιμότερη από την 4Ν 3 ; 11. Ποιά πλοκή είναι τελικά προτιμότερη: μια Θ( N ) ή μια Θ(10logN); 12. Ποιά πλοκή είναι τελικά προτιμότερη: μια Θ(2 Ν/2 ) ή μια Θ( N N ); Πανεπιστήμιο Κρήτης Τμ. Επιστήμης υπολογιστών «Αλγόριθμοι & πολυπλοκότητα, ΗΥ380 Γεώργιος Φ.Δ. Γεωργακόπουλος, 28/3/2014, 5/5