ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
|
|
- Ἀστάρτη Πολίτης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΠΛ 22: Αλγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία Σκελετοί Λύσεων. (α) Έστω δροµολόγηση e, e 2,, e των εργασιών, 2,,. Τότε οι χρόνοι συµπλήρωσης των εργασιών είναι e d e e 2 d e + d e 2 e d e + d e + d 2 e e d e + de + de d 2 e Συνεπώς, για τη συγκεκριµένη δροµολόγηση έχουµε Ε = ( de + ( ) de + ( ) de de ) 2 ( To κριτήριο αυτό είναι κατάλληλο για τη δηµιουργία άπληστου αλγορίθµου. Θα το αποδείξουµε µε τη µέθοδο της επαγωγής: Έστω δροµολόγηση = e, e 2,, e µια βέλτιστη λύση στο πρόβληµα, δηλαδή, µια δροµολόγηση που ελαχιστοποιεί το µέσο χρόνο συµπλήρωσης των εργασιών, 2,,. Έστω f η εργασία µε το µικρότερο χρόνο εκτέλεσης. Αν f = e, τότε η λύση περιέχει τη βέλτιστη επιλογή. ιαφορετικά, έστω η δροµολόγηση όπου η εργασίες f και e ανταλλάσσουν θέσεις, δηλαδή αν = e, e 2,, f,, e τότε = f, e 2,, e,, e. Έστω Ε και Ε οι µέσοι χρόνοι συµπλήρωσης των και, αντίστοιχα. Τότε E E ' = ( de + ( ) d ( )... ( )... ) e + d 2 e + + i d f + + de ( d f + ( ) de + ( ) d ( ) ) 2 e i d e d e = ( de d + ( )( )) f i d f de i = ( de d ) 0 f Το τελευταίο βήµα έπεται από την υπόθεση ότι η εργασία f έχει το µικρότερο χρόνο εκτέλεσης από όλες τις εργασίες, δηλαδή, de d f. Εποµένως, αφού, Ε Ε 0, τότε Ε Ε. Επιπλέον, αφού γνωρίζουµε ότι η είναι µια βέλτιστη λύση στο πρόβληµα, τότε Ε = Ε και συνεπώς η είναι µια βέλτιστη δροµολόγηση που ξεκινά µε την άπληστη επιλογή. Μπορούµε να χρησιµοποιήσουµε τα ίδια επιχειρήµατα και για την εργασία µε το δεύτερο µικρότερο χρόνο εκτέλεσης, και ούτω καθεξής (επαγωγή).
2 (i To κριτήριο αυτό είναι ακατάλληλο για το πρόβληµα. Αντιπαράδειγµα: = 2, d = και d 2 = 5. Επιλέγοντας σύµφωνα µε το κριτήριο, παίρνουµε τη δροµολόγηση 2,, µε c = 8, c 2 = 5 και Ε = /2. Υπάρχει όµως δροµολόγηση µε µικρότερο µέσο χρόνο συµπλήρωσης: η δροµολόγηση,2 µε c =, c 2 = 8 και Ε=/2. (β) Σε αυτή την παραλλαγή του προβλήµατος, υποθέτουµε ότι οι εργασίες δεν είναι διαθέσιµες από την αρχή αλλά αποδεσµεύονται σε κάποιους προκαθορισµένους χρόνους. Το κριτήριο απληστίας στην προκειµένη περίπτωση µεταβάλλεται ως εξής: Ανά πάσα στιγµή επέλεξε την εργασία µε το µικρότερο υπολειπόµενο χρόνο από αυτές που είναι διαθέσιµες. Αν κατά την εκτέλεση κάποιας εργασία αποδεσµευτεί άλλη εργασία µε µικρότερο χρόνο εκτέλεσης τότε διέκοψε την εργασία που τρέχει και εκτέλεσε τη νέα εργασία µε τον ελάχιστο χρόνο εκτέλεσης. Έστω r, r 2,, r k, οι χρόνοι αποδέσµευσης εργασιών σε αύξουσα σειρά, και έστω Σ, Σ 2,, Σ k, τα σύνολα εργασιών που αποδεσµεύονται σε κάθε ένα από αυτούς τους χρόνους, αντίστοιχα. Υποθέτουµε ότι κάθε ένα από τα σύνολα περιέχει τις εργασίες ταξινοµηµένες σε αύξουσα σειρά ως προς το χρόνο εκτέλεσής τους. Τότε, δυνατό στιγµιότυπο του προβλήµατος είναι το r = 0, Σ = {(e, ), (e 2, 4) r 2 =, Σ 2 = {(e, ), (e 4, 4) r =, Σ = {(e 5, ), (e, ) όπου ο αλγόριθµος θα έχει το πιο κάτω αποτέλεσµα: e e e e 5 e e e 2 e Παρατηρείστε ότι η δροµολόγηση αυτή έχει µικρότερο µέσο χρόνο συµπλήρωσης από τη πιο κάτω δροµολόγηση (όπου δεν εφαρµόζεται διακοπή εργασιών): e e e 5 e e 2 e Ακολουθεί ο αλγόριθµος σε ψευδοκώδικα. Υποθέτει την ύπαρξη δύο δοµών δεδοµένων: SStack Ταξινοµηµένη στοίβα: Λίστα ζευγών, ταξινοµηµένη σε αύξουσα σειρά ως προς το δεύτερο στοιχείο, που υποστηρίζεται από τις πράξεις: IsEmpty(S), (έλεγχος αν η S είναι κενή), Pop(S) (επιστροφή του κόµβου κορυφής), Push(S, x) (εισαγωγή του x στην κορυφή της S), Merge(S, T) (συγχώνευση των S και T) 2
3 Queue Ουρά: Λίστα ζευγών που υποστηρίζεται από τις πράξεις Equeue(Q,x) (εισαγωγή του x στο τέλος της Q) και Apped(Q, S) (εισαγωγή των στοιχείων της S µετά από τα στοιχεία της Q). it i = ; it time = r i ; SStack jobs = Σ i ; Queue schedule = ; while (!IsEmpty(jobs) OR i<=m) (i == m) Apped(schedule, jobs); else IsEmpty(jobs) i++; time = r i ; jobs = Σ i ; else (e,d) = Pop(jobs); ( d + time < r i+ ) Equeue(schedule, (e,d)); time = time + d; else (d >= r i+ time ) Equeue(schedule, (e, r i+ time); (d > r i+ time) Push(jobs, (e, d (r i+ time)); Merge(jobs, Σ i+ ); i++; time = r i ; Ο χρόνος εκτέλεσης της διαδικασίας είναι Ο( ΧΕ(Merge)) και εποµένως εξαρτάται από την υλοποίηση της δοµής SStack. Αν η υλοποίηση αυτή γίνει µε γραµµική δοµή δεδοµένων ο χρόνος εκτέλεσης της Merge (XE(Merge)) είναι της τάξης Ο() διαφορετικά, µε χρήση δενδρικής δοµής, είναι της τάξεως Ο( ). Η απόδειξη της ορθότητας αφήνεται ως άσκηση για τον αναγνώστη. 2. (α) Οι νόµιµες τοποθετήσεις είναι οι εξής:
4 (β) Αναδροµικός ορισµός της βέλτιστης λύσης. Έστω k) η µέγιστη τιµή τοποθέτησης από τη στήλη µέχρι τη στήλη i που τελειώνει µε στήλη στην τοποθέτηση υπ αριθµό k. Τότε το k) δίνεται αναδροµικά ως εξής: 0 gai(, + maxm {2,,4,7 i, gai(2, + maxm {,,4,5, i, gai(, + maxm {,2,4,,7 i, k) = gai(4, + maxm {,2,,5 i, gai(, + gai(, + maxm {2,4,7 i, gai(, + gai(4, + maxm {2, i, gai(2, + gai(4, + maxm {,,5 i, i = 0 k =, i > 0 k = 2, i > 0 k =, i > 0 k = 4, i > 0 k = 5, i > 0 k =, i > 0 k = 7, i > 0 Από αυτή την αναδροµική σχέση παρατηρούµε ότι για υπολογισµό κάθε k) απαιτείται γνώση κάποιων i-,k). Η βασική περίπτωση δίνεται από το 0,k) και το ζητούµενο είναι το max(,),,2),,,7)). Εποµένως χρησιµοποιούµε ένα πίνακα C διαστάσεων 7 και υπολογίζουµε τις θέσεις του ξεκινώντας µε τα C[0,k] και προχωρώντας προς τα C[, k], C[2,k],, και C[,k]. Σε ψευδοκώδικα ο αλγόριθµος έχει ως εξής: maxgai (it gai[4,]) for (k=; k<=7, k++) C[0,k]= 0; for (i = ; i <= ; i++){ max = C[i-,2]; (max < C[i-,]) max = C[i-,]; (max < C[i-,4]) max = C[i-,4]; (max < C[i-,7]) max = C[i-,7]; C[] = max + gai[]; max = C[i-,]; (max < C[i-,]) max = C[i-,]; (max < C[i-,4]) max = C[i-,4]; (max < C[i-,5]) max = C[i-,5]; (max < C[i-,]) max = C[i-,]; 4
5 C[2] = max + gai[2]; C[] = max + gai[]; C[4] = max + gai[4]; C[5] = max + gai[] + gai[]; C[] = max + gai[] + gai[4]; C[7] = max + gai[2] + gai[4]; max = C[,]); for (i= 2; i<=7; i++) (C[,i]> max) max = C[,i]; retur max; Ο χρόνος εκτέλεσης του αλγόριθµου είναι Ο( 7 c) = O(). (δ) Για να επιστρέψουµε την ακριβή τοποθέτηση µε τη µέγιστη τιµή, θα πρέπει να επεκτείνουµε τον αλγόριθµο έτσι ώστε να διατηρεί πληροφορίες για τη δοµή της βέλτιστης λύσης κάθε υποπροβλήµατος. Συγκεκριµένα, εκτός από τον πίνακα k) θα χρησιµοποιήσουµε ένα δεύτερο πίνακα Last(k) όπου θα φυλάγουµε τον αριθµό της τοποθέτησης της προτελευταίας στήλης στη βέλτιστη τοποθέτηση από τη στήλη µέχρι τη στήλη i που τελειώνει µε στήλη στην τοποθέτηση µε αριθµό k. Ο καινούριος αλγόριθµος φαίνεται πιο κάτω όπου οι προσθήκες εµφανίζονται µε σκούρα γράµµατα. maxgai (it gai[4,]) for (k=; k<=7, k++) C[0,k]= 0; D[0,k] = 0; for (i = ; i <= ; i++){ max = C[i-,2]; D[] = 2; (max < C[i-,]) max = C[i-,]; D[] = ; (max < C[i-,4]) max = C[i-,4]; D[] = 4; (max < C[i-,7]) max = C[i-,7]; D[] = 7; C[] = max + gai[]; max = C[i-,]; D[2] = ; (max < C[i-,]) 5
6 max = C[i-,]; D[] = ; (max < C[i-,4]) max = C[i-,4]; D[] = 4; (max < C[i-,5]) max = C[i-,5]; D[] = 5; (max < C[i-,]) max = C[i-,]; D[] = ; C[2] = max + gai[2]; C[] = max + gai[]; C[4] = max + gai[4]; max = C[,]); last = ; for (i= 2; i<=7; i++) (C[,i]> max) max = C[,i]; last = i; pritf(last); while (i > 0) last= D[last]; pritf(last); i--; Τυπώνει ανάποδα τη βέλτιστη τοποθέτηση. retur max;. (α) Από τον ορισµός του γινοµένου δύο πολυωνύµων, έχουµε ότι x) = c 0 + c x + c 2 x 2 + c x + c 4 x 4 όπου c 0 = a 0 b 0 c = a 0 b + a 0 b c 2 = a 0 b 2 + a b + a 0 b 2 c = a b 2 + a b 2 c 4 = a 2 b 2 Κατά συνέπεια, για υπολογισµό του γινοµένου απαιτούνται 9 πολλαπλασιασµοί και 4 προσθέσεις. (β) Χρησιµοποιώντας τα γινόµενα P,, P, το πρόβληµα ανάγεται στους πιο κάτω υπολογισµούς: c 0 = P c = P 4 P P 2 c 2 = P P P + P 2
7 c = P 5 P 2 P c 4 = P Αυτή η µέθοδος προφανώς απαιτεί τη χρήστη των γινοµένων και προσθαφαιρέσεων. (γ) Ο αλγόριθµος διαίρει και βασίλευε για το πρόβληµα έχει ως εξής: Έστω τα πολυώνυµα f(x) = a 0 + a x + + a - x -, g = b 0 + b x + + b - x -. Μοίρασε τα πολυώνυµα σε τρία τρίτα: f 0 (x)= a 0 ++a /- x /-, f (x)= a / ++a 2/- x /-, και f 2 (x)= a 2/ ++a - x /-, g 0 (x)= b 0 ++b /- x /-, g (x)= b / ++b 2/- x /-, και g 2 (x)= a 2/ ++b - x /-, Υπολόγισε αναδροµικά τα γινόµενα P = f 0 g 0 P 2 = f g P = f 2 g 2 P 4 = (f 0 + f ) (g 0 + g ) P 5 = (f + f 2 ) (g + g 2 ) P = (f 0 + f 2 ) (g 0 + g 2 ) Συνδύασε τα πιο πάνω γινόµενα για να λάβεις το γινόµενο πολυώνυµο ως εξής: f(x) g(x) = P + x / (P 4 P P 2 ) + x 2/ (P P P + P 2 ) + x (P 5 P 2 P ) + x 4/ P Έστω Τ() ο χρόνος εκτέλεσης της διαδικασίας σε πολυώνυµα βαθµού. Το Τ() δίνεται από την αναδροµική εξίσωση Τ() = Τ() = T(/) + c, Λύνοντας την αναδροµική εξίσωση µε τη µέθοδο της αντικατάσταση παίρνουµε: T() = T(/) + = 2 T(/ 2 ) = T(/ ) = i T(/ i ) + 2 i Θέτοντας k = T() = k T(/ k ) + 2 k = k T(/) + (2 k ) = k + (2 k ) = k + k (2 k ) = 2 k k 7
8 = 2 = 2 = 2 ( = 2 Θ( ) ) (δ) Ο προτεινόµενος αλγόριθµος έχει χρόνο εκτέλεσης που δίνεται από την πιο κάτω αναδροµική εξίσωση: Τ() = m T(/4) + c Τ() = Χρησιµοποιώντας το θεώρηµα γενικής χρήσης συµπεραίνουµε ότι Aν O( lοg 4 m ε ), δηλαδή m>4, T() O( lοg 4 m ). Aν Θ( lοg 4 m ), δηλαδή m=4, T() O( lοg 4 4 lg ) = O( lg ). Aν Ω( lοg 4 m + ε ), δηλαδή m<4, T() O() Εποµένως, για m 4, δηλαδή στις δύο τελευταίες πιο πάνω περιπτώσεις, ο αλγόριθµος είναι αποδοτικότερος από τον αλγόριθµο που προτείνεται στο (γ) (, O( ( ). Επίσης, το ζητούµενο ισχύει (πρώτη περίπτωση) όταν m>4 και 4 m < ηλαδή 4 m < 4 < 4 m < 4 m 4 < Aρα m=9 είναι ο µεγαλύτερος ακέραιος που ικανοποιεί το ζητούµενο. m 4. Μοντελοποιούµε τη σκακιέρα ως ένα δισδιάστατο πίνακα Board[7,7] µε αρχική κατάσταση: Board[,] = Board[,2] = Board[,] = Board[,7] = INVALID Board[2,] = Board[2,2] = Board[2,] = Board[2,7] = INVALID Board[,] = Board[,2] = Board[,] = Board[,7] = INVALID Board[7,] = Board[7,2] = Board[7,] = Board[7,7] = INVALID Board[,] = Board[,4] = Board[,5] = FULL Board[2,] = Board[2,4] = Board[2,5] = FULL Board[,] = Board[,4] = Board[,5] = FULL Board[7,] = Board[7,4] = Board[7,5] = FULL Board[,] = Board[,2] = = Board[,7] = FULL Board[4,] = Board[4,2] = = Board[4,7] = FULL Board[5,] = Board[5,2] = = Board[5,7] = FULL Board[4,4] = EMPTY 9.59 Ορίζουµε µια κίνηση του παιχνιδιού ως µια τριάδα ( j 7, m {U, D, R, L, αν Board[j] = FULL, και επιπλέον ένα από τα ακόλουθα: m = U (up), Board[i, j] = FULL, Board[i 2, j] = EMPTY, 8
9 m = D (dow), Board[i +, j] = FULL, Board[i + 2, j] = EMPTY, m = R (right), Board[ j + ] = FULL, Board[i, j + 2] = EMPTY, m = L (left), Board[i, j ] = FULL, Board[ j 2] = EMPTY, Ονοµάζουµε µια ακολουθία από k νόµιµες κινήσεις του παιχνιδιού, 0 k, k- υποσχόµενη αν 0 k <, και εφαρµογή των k κινήσεων οδηγούν τη σκακιέρα σε κατάσταση όπου υπάρχουν δυνατές κινήσεις, ή k = και εφαρµογή των k κινήσεων οδηγούν τη σκακιέρα σε κατάσταση µε Board[4,4] = FULL. Λύση στο πρόβληµα είναι ένα -υποσχόµενο διάνυσµα. Θεωρώντας ότι ξεκινούµε µε το 0-υποσχόµενο διάνυσµα και µε δεδοµένο ένα i-υποσχόµενο διάνυσµα υπάρχουν τρεις περιπτώσεις είτε αυτό µπορεί να γίνει (i+)-υποσχόµενο διάνυσµα µε την προσθήκη µιας νέας κίνησης, είτε, αν i = 0, αυτό µπορεί να γίνει -υποσχόµενο διάνυσµα µε την προσθήκη µιας τελευταίας κίνησης, είτε έχουµε φτάσει σε αδιέξοδο, δηλαδή σε µια τοποθέτηση στην οποία είτε δεν υπάρχουν δυνατές κινήσεις, είτε δεν έχουµε φθάσει στην επιθυµητή τελική κατάσταση. Σε τέτοια περίπτωση ο αλγόριθµος θα οπισθοχωρήσει, θα µαταιώσει την τελευταία κίνηση επαναφέροντας τη σκακιέρα στην προηγούµενη κατάσταση, και θα θεωρήσει µια άλλη κίνηση από τη συγκεκριµένη κατάσταση, αν υπάρχει. Υποθέτουµε ότι έχουµε υλοποιηµένες τις διαδικασίες DoMove(move, Board) η οποία εκτελεί την κίνηση move στη σκακιέρα Board και µας επιστρέφει το σύνολο των νέων κινήσεων που έχουν γίνει εφικτές µετά από την κίνηση, και UdoMove(move, Board) η οποία µαταιώνει την κίνηση move στη σκακιέρα Board. Ο αλγόριθµος έχει ως εξής: board(){ i = 0; game = ; moves[2]= [,, ] moves[0] = (2,4,D),(4,2,R),(4,,L),(,4,U) ; while (i 2) (i == 2 AND Board[4,4]!= FULL) retur game; else (!IsEmpty(moves[i]) x = Pop (moves[i]); moves[i+] = DoMove(x,Board); game = Push(game,move) else UdoMove(Pop(game), Board); i--; 5. Τα δύο προβλήµατα µπορούν να λυθούν µε αλγόριθµους δυναµικού προγραµµατισµού, παραλλαγές του αλγόριθµου των Floyd-Warshall, και χρόνους 9
10 εκτέλεσης της τάξης Ο(³). Πιο κάτω δίνονται οι αναδροµικοί ορισµοί των ζητούµενων βέλτιστων λύσεων. Η διατύπωση των αλγορίθµων αφήνεται ως άσκηση στον αναγνώστη. ( Συµβολισµός: Γράφουµε paths[m] για το µέγιστο αριθµό µονοπατιών από την κορυφή i στην κορυφή j µε ενδιάµεσες κορυφές που ανήκουν στο σύνολο {,2,m. Τότε, w( j) paths[ 0] = 0, w( j) = paths[ m] = paths[ m ] + paths[ m ] paths[ m ]) Παρατηρείστε πως για να ορίζεται η έννοια του µέγιστου αριθµού µονοπατιών ανάµεσα στους κόµβους ενός γράφου, ο γράφος πρέπει να µην περιέχει κύκλους. (i Συµβολισµός: Γράφουµε maxpaths[m] για τον αριθµό των βραχύτερων µονοπατιών από την κορυφή i στην κορυφή j µε ενδιάµεσες κορυφές που ανήκουν στο σύνολο {,2,m. Τότε, w( j) maxpaths[ 0] = 0, w( j) = maxpaths[ m ], c( < c( + c( maxpaths[ m ] maxpaths[ m ], maxpaths[ m] = c( > c( + c( maxpaths[ m ] + maxpaths[ m ] maxpaths[ m ], c( = c( + c( όπου τα c[m] είναι τα βάρη βραχύτερων µονοπατιών όπως ορίζονται στον αλγόριθµο των Floy-Warshall. 0
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
EΠΛ Αλγόριθµοι και Πολυπλοκότητα Φεβρουάριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων. Ο αλγόριθµος διαίρει και βασίλευε για το πρόβληµα έχει ως εξής: Μοίρασε τον πίνακα σε δύο µισά. Υπολόγισε αναδροµικά τα
Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:
υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός
(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier
Ταχύς Μετασχηµατισµός Fourier CLR, κεφάλαιο 3 Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier Ταχύς Μετασχηµατισµός Fourier
Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:
υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός
ΕΠΛ 232 Φροντιστήριο 2
Πρόβληµα ΕΠΛ Φροντιστήριο Έχετε 0 και θέλετε να τις επενδύσετε για n µήνες. Tην πρώτη µέρα κάθε µήνα έχετε µόνο µια από τις παρακάτω τρεις επιλογές:. Να αγοράσετε ένα πιστοποιητικό αποταµίευσης από την
ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1
ιαίρει και Βασίλευε Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Η Μέθοδος Σχεδιασµού Αλγορίθµων ιαίρει και Βασίλευε Επίλυση Αναδροµικών Εξισώσεων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα - ιαίρει και Βασίλευε
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. (α) Αλγόριθµος: ηµιούργησε το σύνολο P που αποτελείται από τα άκρα όλων των ευθυγράµµων τµηµάτων. Βρες το κυρτό περίβληµα του P µε τον αλγόριθµο του Graham. Ορθότητα:
Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)
Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε Άπληστους Αλγόριθµους Στοιχεία άπληστων αλγορίθµων Το πρόβληµα επιλογής εργασιών ΕΠΛ 232
Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. Ο αλγόριθµος κτίζει όλες τις δυνατές αναθέσεις εργασιών στους φοιτητές (υπάρχουν n! διαφορετικές αναθέσεις) και επιστρέφει εκείνη µε το µέγιστο βαθµό καταλληλότητας.
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 45 Εισαγωγή Ο δυναµικός
Αλγόριθµοι Οπισθοδρόµησης
Αλγόριθµοι Οπισθοδρόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Η οπισθοδρόµηση στο σχεδιασµό αλγορίθµων Το πρόβληµα των σταθερών γάµων και ο αλγόριθµος των Gale-Shapley Το πρόβληµα
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων
Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως
Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής
Αναδροµή Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής 1 Αναδροµή Βασική έννοια στα Μαθηµατικά και στην Πληροφορική.
Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)
Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 5) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Βραχύτερα Μονοπάτια για όλα τα Ζεύγη Λύση υναµικού Προγραµµατισµού Ο αλγόριθµος των Floyd-Warshal ΕΠΛ 3
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 5 υναµικός Προγραµµατισµός Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 5 1 / 49 Εισαγωγή
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αφού ξέρουμε με ακρίβεια τον αριθμό των βασικών πράξεων που εκτελεί ο κάθε αλγόριθμος σε δεδομένα μεγέθους, θα
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου
Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή
Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 17 Μέγιστη Κοινή Υπακολουθία
Διάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35)
Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Γινόµενα σηµεία, τοµή ευθυγράµµων τµηµάτων Εύρεση κυρτών περιβληµάτων: Ο αλγόριθµος του Grm και ο αλγόριθµος του
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων
ΕΠΛ 232: λγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία 2A Σκελετοί Λύσεων 1. ια τη σαφή διατύπωση του αλγόριθµου απαιτούνται τα εξής: ιατήρηση της ροής που κτίζεται από τον αλγόριθµο. ιατήρηση της περίσσειας
Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA
Αριθµοθεωρητικοί Αλγόριθµοι και το Κρυπτοσύστηµα RSA Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Υπολογισµός Μέγιστου Κοινού ιαιρέτη Αλγόριθµος του Ευκλείδη Κλάσεις Ισοδυναµίας και Αριθµητική modulo
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων
Τεχνικές Σχεδιασµού Αλγορίθµων Αλγόριθµοι Παύλος Εφραιµίδης pefraimi@ee.duth.gr Ορισµένες γενικές αρχές για τον σχεδιασµό αλγορίθµων είναι: ιαίρει και Βασίλευε (Divide and Conquer) υναµικός Προγραµµατισµός
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
Εφαρµογές στοιβών Στην ενότητα αυτή θα µελετηθεί η χρήση στοιβών στις εξής εφαρµογές: Αναδροµικές συναρτήσεις Ισοζυγισµός Παρενθέσεων Αντίστροφος Πολωνικός Συµβολισµός ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το
Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 23 Μαρτίου 2017 1 / 20 Επιλογή Το πρόβληµα
Outline. 6 Edit Distance
Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι και Δυναμικός Προγραμματισμός Ασκήσεις CoReLab ΣΗΜΜΥ - Ε.Μ.Π. 16 Νοεμβρίου 216 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου 216 1 / 52 Outline 1
Φροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων Άσκηση 1 Υποθέτουμε πως οι λίστες είναι υλοποιημένες χρησιμοποιώντας τις πιο κάτω δομές. typedef struct Node{ type data; struct node *next; node; node *top; list; Υλοποιούμε
Δυναμικός Προγραμματισμός
Τρίγωνο του Pascal Δυναμικός Προγραμματισμός Διωνυμικοί συντελεστές Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο
HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems
HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη
Δυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί
Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
3η Σειρά Γραπτών Ασκήσεων
1/55 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/55 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση
Βασικές οµές εδοµένων
Βασικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αφηρηµένοι Τύποι εδοµένων Οι ΑΤ Στοίβα και Ουρά Υλοποίηση των ΑΤ Στοίβα και Ουρά µε ιαδοχική και υναµική Χορήγηση Μνήµης
Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Διαίρει και Κυρίευε 7 9 4 4 7 9 7 7 9 4 4 9 7 7 9 9 4 4 Διαίρει και Κυρίευε
Ταξινόμηση με συγχώνευση Merge Sort
Ταξινόμηση με συγχώνευση Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Πληροφορικής 1 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Προσεγγιστικοί Αλγόριθμοι
Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)
ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων
ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ Ε ρ γ α σ ί α η Θεωρία Γραφηµάτων Α π α ν τ ή σ ε ι ς Ε ρ ω τ η µ ά τ ω ν Ερώτηµα. Στο παρακάτω γράφηµα µε βάρη, να βρεθεί το µήκος του µικρότερου µονοπατιού
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)
ίκτυα Ταξινόµησης (CLR κεφάλαιο 28) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα σύγκρισης, δίκτυα ταξινόµησης Αρχή - ιτονική ταξινόµηση ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2- Μοντέλο στο οποίο
Επίλυση Προβληµάτων µε Greedy Αλγόριθµους
Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Mergesort Κεφάλαιο 8 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική ταξινόµηση
ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1
Εφαρμογές στοιβών Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων Αντίστροφος Πολωνικός Συμβολισμός ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι
3η Σειρά Γραπτών Ασκήσεων
1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση
Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές
Κεφάλαιο Παραγοντοποίηση σε Ακέραιες Περιοχές Γνωρίζουµε ότι στο Ÿ κάθε στοιχείο εκτός από το 0 και τα ± γράφεται ως γινόµενο πρώτων αριθµών κατά τρόπο ουσιαστικά µοναδικό Από τη Βασική Άλγεβρα ξέρουµε
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο ιδασκοντες: Α. Μπεληγιάννης - Σ. Παπαδάκης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt.html Τετάρτη 7 Φεβρουαρίου 03 Ασκηση. είξτε ότι
3 Αναδροµή και Επαγωγή
3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα
ροµολόγηση πακέτων σε δίκτυα υπολογιστών
ροµολόγηση πακέτων σε δίκτυα υπολογιστών Συµπληρωµατικές σηµειώσεις για το µάθηµα Αλγόριθµοι Επικοινωνιών Ακαδηµαϊκό έτος 2011-2012 1 Εισαγωγή Οι παρακάτω σηµειώσεις παρουσιάζουν την ανάλυση του άπληστου
Δυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11
Αλγόριθμοι και Πολυπλοκότητα 2η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Δεκέμβριος 2016 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος 2016 1 / 65 Outline 1 Άσκηση
Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων
Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and
Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)
Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα ροής και το πρόβληµα της µέγιστης ροής Η µεθοδολογία Ford-Fulkerson Ο αλγόριθµος Edmonds-Karps ΕΠΛ 232
Προσεγγιστικοί Αλγόριθμοι
Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)
Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ ) ΑΠΑΝΤΗΣΕΙΣ Α ΕΡΓΑΣΙΑΣ. ( 8 µον.) Η άσκηση αυτή αναφέρεται σε διαιρετότητα και ρίζες πολυωνύµων. a. Να λυθεί η εξίσωση
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Τµηµα Β Λυσεις Ασκησεων - Φυλλαδιο 4 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt2016/nt2016.html Πέµπτη 10 Νοεµβρίου 2016 Ασκηση 1. Να ϐρεθούν
Αλγοριθμικές Τεχνικές
Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Αλγοριθμικές Τεχνικές 1 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και
Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής:
για NP-Δύσκολα Προβλήματα
Προσεγγιστικοί Αλγόριθμοι για NP-Δύσκολα Προβλήματα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
Πολυπλοκότητα Αλγορίθµων
Πολυπλοκότητα Αλγορίθµων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εµπειρική Θεωρητική Ανάλυση Αλγορίθµων Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις
τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.
Αριστοτελειο Πανεπιστηµιο Θεσσαλονικης Τµηµα Μαθηµατικων Εισαγωγή στην Αλγεβρα Τελική Εξέταση 15 Φεβρουαρίου 2017 1. (Οµάδα Α) Εστω η ακολουθία Fibonacci F 1 = 1, F 2 = 1 και F n = F n 1 + F n 2, για n
auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2
ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι Τµηµα Β Ασκησεις - Φυλλαδιο 2 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi2016/asi2016.html Πέµπτη 3 Μαρτίου 2016 Αν (G, ) είναι
Τεχνικές Σχεδιασμού Αλγορίθμων
Τεχνικές Σχεδιασμού Αλγορίθμων Διαίρει και Βασίλευε Δυναμικός Προγραμματισμός Απληστία Π. Μποζάνης ΤHMMY - Αλγόριθμοι 2014-2015 1 Διαίρει και Βασίλευε Βασικά Βήματα Διαίρει: Κατάτμηση του αρχικού προβλήματος
υναμικός Προγραμματισμός
υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Θέµα 1 ο Α. Να απαντήσετε τις παρακάτω ερωτήσεις τύπου Σωστό Λάθος (Σ Λ) 1. Σκοπός της συγχώνευσης 2 ή περισσοτέρων ταξινοµηµένων πινάκων είναι η δηµιουργία
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης ιδασκοντες: Α. Μπεληγιάννης - Σ. Παπαδάκης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt.html Τετάρτη 22 Μαΐου 2013 Ασκηση 1. (1) Να λυθεί η γραµµική
ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012
ιδασκοντες: Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 1 Ν. Μαρµαρίδης - Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi.html Τετάρτη 10 Οκτωβρίου 2012 Ασκηση 1.
Στοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Αρµονική Ανάλυση. Ενότητα: L p Σύγκλιση. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών
Ενότητα: L p Σύγκλιση Απόστολος Γιαννόπουλος Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creaive Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε
Κατ οίκον Εργασία 4 Σκελετοί Λύσεων
Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 3: Δομές Δεδομένων και Αλγόριθμοι Ενδιάμεση Εξέταση Ημερομηνία : Τετάρτη, 4 Οκτωβρίου 005 Διάρκεια : 5.00-6.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο: Αριθμός
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 9
ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Τµηµα Β Λυσεις Ασκησεων - Φυλλαδιο 9 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt2016/nt2016.html Πέµπτη 12 Ιανουαρίου 2017 Ασκηση 1. Εστω
ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών
ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση
Πρόβληµα 2 (15 µονάδες)
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2013-2014 ΔΙΔΑΣΚΩΝ: Ε. Μαρκάκης Πρόβληµα 1 (5 µονάδες) 2 η Σειρά Ασκήσεων Προθεσµία Παράδοσης: 19/1/2014 Υπολογίστε
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 (α) Ο αλγόριθµος χρησιµοποιεί τη διαδικασία DFS(v) η οποία, ως γνωστό, επισκέπτεται όλους τους κόµβους που είναι συνδεδεµένοι µε τον κόµβο v. Για να µετρήσουµε
ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4
ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι Τµηµα Β (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4 ιδασκων: Α Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://usersuoigr/abeligia/linearalgebrai/lai218/lai218html Παρασκευή 23 Νοεµβρίου 218 Ασκηση 1
Σειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι
Εισαγωγή στους Αλγορίθμους Ενότητα 11η
Εισαγωγή στους Αλγορίθμους Ενότητα 11η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Δυναμικός Προγραμματισμός Σταθμισμένος Χρονοπρογραμματισμός
Παράλληλοι Αλγόριθµοι
Παράλληλοι Αλγόριθµοι Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Το µοντέλο PRAΜ Πολλαπλασιασµός πινάκων Υπολογισµός αθροισµάτων προθέµατος ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 13-1 Παράλληλοι Αλγόριθµοι
ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων
ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων Μελετάµε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων. Αυτές συνδέονται µεταξύ τους µε την έννοια της συνθετικής σειράς