ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
|
|
- Ἀστάρτη Πολίτης
- 7 χρόνια πριν
- Προβολές:
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: Συνθήκες Αλυσίδων Μελετάµε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων. Αυτές συνδέονται µεταξύ τους µε την έννοια της συνθετικής σειράς
Διαβάστε περισσότερα