Χαρακτηριστικά Δυναμικού Προγραμματισμού. Εισαγωγικά. 2 Δυναμικός Προγραμματισμός

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Χαρακτηριστικά Δυναμικού Προγραμματισμού. Εισαγωγικά. 2 Δυναμικός Προγραμματισμός"

Transcript

1 Δυναμικός Προγραμματισμός Τμήμα Ηλεκτρονικών Μηχ. & Μηχ. Υπολογιστών Φθινόπωρο 00 ΣΕΛ 40: Παράλληλοι Αλγόριθμοι και Software Διδάσκων: Τάσος Δημητρίου Δυναμικός Προγραμματισμός είχε υπολογιστεί προηγουμένως με αποτέλεσμα να εκτελεί περιττή δουλειά. Αν όμως φυλάγαμε τα αποτελέσματα σε ένα πίνακα και τα ανακαλούσαμε όποτε τα χρειαζόμαστε, το αποτέλεσμα θα ήταν ένας αποτελεσματικός αλγόριθμος. Και αυτός ο αλγόριθμος ήταν ο δεύτερος που είχαμε σχεδιάσει, ο οποίος αποτελούσε παράδειγμα δυναμικού προγραμματισμού. Εισαγωγικά Ο Δυναμικός Προγραμματισμός Dynamic Programming), όπως και η μέθοδος Divide and Conquer, είναι μία γενική μέθοδος επίλυσης προβλημάτων η οποία βασίζεται στο συνδυασμό λύσεων επιμέρους υποπροβλημάτων του αρχικού προβλήματος. Η λέξη\προγραμματισμός" αναφέρεται στο γεγονός ότι η μέθοδος βασίζεται στην προσθήκη τιμών, με κάποιο συστηματικό τρόπο, σε ένα κατάλληλα ορισμένο πίνακα. Οι αλγόριθμοι Divide and Conquer διαμερίζουν το πρόβλημα σε ανεξάρτητα υποπροβλήματα, τα επιλύουν αναδρομικά και στη συνέχεια συνδυάζουν τις λύσεις για να λύσουν το αρχικό πρόβλημα. Αντίθετα, ο Δυναμικός Προγραμματισμός εφαρμόζεται όταν τα υποπροβλήματα δεν είναι ανεξάρτητα. Ο αλγόριθμος λύνει κάθε υποπρόβλημα χωριστά και στη συνέχεια φυλάει τις απαντήσεις σε έναν πίνακα, ώστε να είναι έτοιμες να ξαναχρησιμοποιηθούν αν το συγκεκριμένο υποπρόβλημα εμφανιστεί ξανά. Ας προσπαθήσουμε να εξηγήσουμε τις παραπάνω παρατηρήσεις με δύο παραδείγματα. Θεωρείστε ξανά μία τυπική σχέση Divide and Conquer σχέση T n) =at n b )+Onc ); στην οποία κάθε στιγμιότυπο μεγέθους n σπάει σε a στιγμιότυπα μεγέθους n=b. Το κόστος συνδυασμού των επιμέρους λύσεων είναι πολυωνυμικό, τάξης On c ). Γιατί ο τελικός αλγόριθμος είναι πολυωνυμικός; Η απάντηση είναι επειδή ο συνολικός χρόνος φράσσεται από το γινόμενο του συνολικού αριθμού υποπροβλημάτων επί το μέγιστο κόστος συνδυασμού των λύσεων τους. Και επειδή ο αριθμός των υποπροβλημάτων είναι πολυωνυμικός και το κόστος επικόλλησης είναι On c ), ο αλγόριθμος δουλεύει σε πολυωνυμικό χρόνο. Θεωρείστε για παράδειγμα τη σχέση T n) = T n=) + On c ). Στο τελευταίο επίπεδο της αναδρομής υπάρχουν n υποπροβλήματα μεγέθους. Στο προτελευταίο, n= υποπροβλήματα μεγέθους, κοκ. Άρα ο συνολικός αριθμός υποπροβλημάτων είναι n + n=+n=4+ + n. Το ίδιο ισχύει και για πιο γενικές αναδρομικές σχέσεις. Πολλαπλασιάζοντας τον αριθμό των υποπροβλημάτων με το κόστος συνδυασμού των λύσεων προκύπτει το ζητούμενο. Ας πάμε τώρα πίσω μερικές διαλέξεις στον πρώτο αλγόριθμο υπολογισμού των αριθμών Fibonacci, ο οποίος φαίνεται παρακάτω. Fibn) if n =0then return 0 if n =then return return Fibn ) +Fibn ) Ο αλγόριθμος αυτός βασίζεται στην αναδρομική σχέση του ορισμού των αριθμών Fibonacci και όπως είχαμε αναφέρει λειτουργούσε σε εκθετικό χρόνο. Ο λόγος ήταν επειδή για τον υπολογισμό του Fibn) έπρεπε να υπολογίσει τα Fibn ) και Fibn ). Για τον υπολογισμό του Fibn ) έπρεπε να υπολογίσει τα Fibn ) και Fibn 3), κοκ. Ο αλγόριθμος δεν λάμβανε υπόψη ότι το Fibn ) Χαρακτηριστικά Δυναμικού Προγραμματισμού Ο δυναμικός προγραμματισμός εφαρμόζεται κυρίως σε προβλήματα βελτιστοποίησης. Σε ένα τέτοιο πρόβλημα μπορεί να υπάρχουν πολλές λύσεις. Κάθε λύση έχει μία τιμή και μας ενδιαφέρει να βρούμε τη λύση με τη βέλτιστη τιμή. Μίατέτοιαλύσητηνονομάζουμεβέλτιστη. Για παράδειγμα, θεωρείστε ότι μας δίνεται ένας χάρτης, μια πόλη A και μας ζητείται να βρούμε τις διαδρομές με τη μικρότερη απόσταση από την A προς όλες τις άλλες τις πόλεις του χάρτη. Ως λύσεις θα μπορούσαν να θεωρηθούν οι διάφορες εναλλακτικές διαδρομές, αλλά ως βέλτιστη θα ήταν εκείνη η λύση στην οποία όλες οι διαδρομές θα ήταν ελάχιστες. Δοθέντος κάποιου τέτοιου προβλήματος πως θα ξέρουμε αν πρέπει να εφαρμόσουμε ή όχι δυναμικό προγραμματισμό; Ποιες ιδιότητες θα πρέπει να αναζητούμε για την εφαρμογή της μεθόδου; Ηαπάντηση είναιοιδύοπαρακάτω:. Βέλτιστη Υποδομή Optimal Substructure) Θα λέμε ότι ένα πρόβλημα παρουσιάζει βέλτιστη υποδομή αν η βέλτιστη λύση περιέχει βέλτιστες λύσεις στα διάφορα υποπροβλήματα. Με άλλα λόγια αν η λύση κάποιου υποπροβλήματος δεν είναι βέλτιστη τότε και η λύση στο αρχικό πρόβλημα δε θα είναι βέλτιστη. Αυτή η παρατήρηση οδηγεί αυτόματα και σε μία τεχνική ελέγχου αν το πρόβλημα παρουσιάζει Optimal Substructure. Ρωτάμε απλά τι γίνεται στην περίπτωση που η λύση κάποιου υποπροβλήματος δεν είναι βέλτιστη. Επηρεάζει αυτότην τελική λύση; Αν ναι, τότε υπάρχειβέλτιστη υποδομή. Αν όχι, τότε μάλλον ο δυναμικός προγραμματισμός δεν είναι η κατάλληλη μέθοδος επίλυσης.. Κοινά Υποπροβλήματα Ο αριθμός των υποπροβλημάτων πρέπει να είναι μικρός, δηλαδή πολυωνυμικός στο μέγεθος της εισόδου. Ο αλγόριθμος συναντά τα ίδια υποπροβλήματα ξανά και ξανά θυμηθείτε τους Fibonacci αριθμούς) τα οποία λύνει μία φορά, αποθηκεύει τις λύσεις σε κάποιο πίνακα και στη συνέχεια τις ανακαλεί με σταθερό κόστος για να συνθέσει τη γενική λύση. Αντίθετα η τεχνική Divide and Conquer εφαρμόζεται όταν σε κάθε στάδιο του αλγόριθμου δημιουργούνται νέα, διαφορετικά υποπροβλήματα. Τα στάδια σχεδιασμού ενός αλγόριθμου με δυναμικό προγραμματισμό είναι τα παρακάτω:. Χαρακτηρισμός Βέλτιστης Λύσης Συγκεκριμένα προσπαθούμε να απαντήσουμε αν η λύση εμφανίζει τις δύο παραπάνω ιδιότητες.. Αναδρομικός Ορισμός Λύσης Ορίζεται η βέλτιστη λύση αναδρομικά χρησιμοποιώντας τις λύσεις των επιμέρους υποπροβλημάτων. Σε αυτό τον ορισμό θα βασιστεί ο αλγόριθμος εύρεσης της λύσης. 3. Υπολογισμός Βέλτιστης Λύσης Χρησιμοποιώντας την ιδιότητα των κοινών υποπροβλημάτων σχεδιάζεται ένας αλγόριθμοςπου αποθηκεύει τις μερικές λύσεις για να τις χρησιμοποιήσει στον υπολογισμό της τελικής λύσης, σύμφωνα πάντα με τον παραπάνω αναδρομικό ορισμό.

2 Διδάσκων: Τάσος Δημητρίου 3 4 Δυναμικός Προγραμματισμός Ας δούμε όμως ένα παράδειγμα εφαρμογής των παραπάνω παρατηρήσεων. Πολλαπλασιασμός Ακολουθίας Πινάκων M M 4 Θεωρείστε το πρόβλημα υπολογισμού του γινομένου n πινάκων M = M M M n ; M M όπου κάθε M i είναι ένας πίνακας με r i γραμμές και r i στήλες. Η σειρά με την οποία γίνονται οι πολλαπλασιασμοί των πινάκων μπορεί να έχει μεγάλο αντίκτυπο στο συνολικό αριθμό των πράξεων που απαιτούνται για τον υπολογισμό του M. α) M 3 M 4 M M 3 β) Παράδειγμα Ας θεωρήσουμε ότι το γινόμενο C ενός p q πίνακα A με ένα q r πίνακα B απαιτεί pqr πολλαπλασιασμούς, όπως φαίνεται από τη σχέση qx Για κάθε i p και j r; C i;j = A i;k B k;j : k= Θεωρείστε επίσης το γινόμενο 4 πινάκων των οποίων οι διαστάσεις φαίνονται μέσα σε αγγύλες. M = M M M 3 M 4 [0 0] [0 50] [50 ] [ 00] Αν υπολογίσουμε το M σύμφωνα με την παρενθετοποίηση M M M 3 M 4 )) απαιτούνται 5000 πολλαπλασιασμοί, ενώ σύμφωνα με την M M M 3 )) M 4 απαιτούνται μόνο 00 πολλαπλασιασμοί. Φαίνεται λοιπόν ότι η σειρά των πράξεων παίζει σημαντικό ρόλο στην αποτελεσματικότητα του αλγορίθμου. Μήπως όμως μπορούμε απλά να απαριθμήσουμε όλες τις δυνατές παρενθετοποιήσεις και να βρούμε την καλύτερη; Η απάντηση είναι όχι. Κάθε παρενθετοποίηση αντιστοιχεί σε ένα δυαδικό δέντρο του οποίου τα φύλλα αντιστοιχούν στους πίνακες που θέλουμε να πολλαπλασιάσουμε, όπως φαίνεται και στο Σχήμα. Το δέντρο στο α) αντιστοιχεί στην πρώτη παρενθετοποίηση του Παραδείγματος. Πρώτα πολλαπλασιάζονται οι M 3 ;M 4, το αποτέλεσμά τους με το M και το νέο αποτέλεσμα ξανά με το M. Αντίστοιχα ισχύουν και για το δέντρο στο β). Αποδεικνύεται λοιπόν ότι οι δυνατές παρενθετοποιήσεις βρίσκονται σε - αντιστοιχία με τα δυαδικά δέντρα της παραπάνω μορφής. Όμως ο αριθμός των δυνατών δέντρων είναι τάξης 4 n =n :5 ), μια εκθετικά μεγάλη ποσότητα, κάτι που αποκλείει την απαρίθμηση. Θα δούμε όμως ότι με δυναμικό προγραμματισμό τα πράγματα βελτιώνονται σημαντικά. Χαρακτηρισμός Βέλτιστης Λύσης Σχήμα : Δέντρα Πολλαπλασιασμού Πινάκων Ας δούμε πρώτα αν η βέλτιστη λύση παρουσιάζει optimal υποδομή. Θα χρησιμοποιήσουμε το συμβολισμό M i;j για τον πίνακα που προκύπτει από τον πολλαπλασιασμό M i M i+ M j : Η καλύτερη παρενθετοποίηση του γινομένου M M M n θα πρέπει να το χωρίζει σε δύο γινόμενα M ;k = M M M k και M k+;n = M k+ M k+ M n για κάποιο k, με k<n. Με άλλα λόγια, για κάποιο k, το οποίο δεν ξέρουμε αλλά γνωρίζουμε ότι υπάρχει, πρώτα υπολογίζουμε τους πίνακες M ;k και M k+;n και στη συνέχεια τους πολλαπλασιάζουμε για να βρούμε το τελικό πίνακα. Άρα το κόστος της βέλτιστης παρενθετοποίησης του M είναι το κόστος υπολογισμού παρενθετοποίησης) του πίνακα M ;k, συν το κόστος υπολογισμού του M k+;n, συν το κόστος του πολλαπλασιασμού αυτών των δύο μεταξύ τους. Η σημαντική παρατήρηση είναι ότι η παρενθετοποίηση καθενός από τα M ;k και M k+;n πρέπει να είναι επίσης βέλτιστη. Αν υπήρχε ένας καλύτερος τρόπος να ομαδοποιηθεί με παρενθέσεις) η υπακολουθία M M M k, αντικαθιστώντας τη νέα αυτή παρενθετοποίηση στη βέλτιστη παρενθετοποίηση του M M M n θα παίρναμε μία άλλη λύση της οποίας το κόστος θα ήταν καλύτερο από αυτό της βέλτιστης λύσης. Άτοπο. Άρα η παρενθετοποίησης της M M M k θα πρέπει και αυτή να είναι βέλτιστη. Ανάλογα ισχύουν και για την υπακολουθία M k+;n = M k+ M k+ M n. Συμπεραίνουμε λοιπόν ότι ηβέλτιστηλύσησεέναστιγμιότυποτουπροβλήματος περιέχει βέλτιστες λύσεις σε υποπροβλήματα. Αν προχωρήσουμε ένα ακόμη επίπεδο στην ανάλυσή μας θα δούμε ότι και η υπακολουθία M M M k θα πρέπει να διασπαστεί σε δύο μέρη M ;l και M l+;k για κάποιο νέο δείκτη l, καθένα από τα οποία θα πρέπει να παρενθετοποιηθεί με ένα βέλτιστο τρόπο. Ποιος είναι λοιπόν ο τύπος των υποπροβλημάτων στα οποία θα εφαρμοστεί ο αλγόριθμος; Δεν είναι δύσκολο να δούμε ότι όλα τα υποπροβλήματα αποτελούνται από υπακολουθίες του αρχικού προβλήματος M M M n. Έτσι, το σύνολο των ακολουθιών της μορφής M i M i+ M j, για i; j n, αποτελεί το χώροτωνυποπροβλημάτωνστονοποίοθακινηθείοαλγόριθμος. Γενικά, εξετάζοντας τη δομή των υποπροβλημάτων για την εμφάνιση ή όχι βέλτιστης υποδομής και σ' αυτά, αποτελεί ένα καλό τρόπο για να συμπεράνουμε τη μορφή τους αλλά και τον αριθμό τους.

3 Διδάσκων: Τάσος Δημητρίου 5 6 Δυναμικός Προγραμματισμός Ποιο είναι τώρα το πλήθος των υποπροβλημάτων; Είναι της τάξης του On ), αφού υπάρχει ένα υποπρόβλημα εύρεση παρενθετοποίησης του) M i;j = M i M i+ M j, για κάθε i; j n. Ενώ όπως είχαμε αναφέρει ο αριθμός των δυνατών λύσεων είναι εκθετικά μεγάλος, ο αριθμός των υποπροβλημάτων είναι πολυωνυμικά μικρός. Αποθηκεύοντας λοιπόν τις λύσεις αυτών σε ένα πίνακα, ο αλγόριθμος θα τις ανακαλεί με σταθερό κόστος ώστε να σχηματίσει τη βέλτιστη λύση. Αναδρομικός Ορισμός Λύσης Έχοντας ορίσει τον τύπο των υποπροβλημάτων είναι εύκολο να ορίσουμε αναδρομικά το κόστος της βέλτιστης λύσης. Ας είναι λοιπόν m i;j ο ελάχιστος αριθμών πολλαπλασιασμών που απαιτούνται για τον υπολογισμό παρενθετοποίηση) του γινομένου M i;j = M i M i+ M j. Προφανώς m ;n θα είναι το κόστος πολλαπλασιασμού του αρχικού γινομένου κατά βέλτιστο τρόπο. Για να ορίσουμε το m i;j αναδρομικά εξετάζουμε δύο περιπτώσεις:. i = j. Αν i = j τότε η υπακολουθία M i;i αποτελείται από ένα μόνο πίνακα, τον M i, άρα δεν υπάρχει τίποτε για να πολλαπλασιάσουμε. Επομένως, m i;i =0, για i =;:::;n.. i 6= j. Για να υπολογίσουμε το m i;j όταν i < j, θα κάνουμε χρήση της ιδιότητας της βέλτιστης υποδομής. Η καλύτερη παρενθετοποίηση του γινομένου M i M j θα πρέπει να το χωρίζει σε δύο γινόμενα M i;k = M i M k και M k+;j = M k+ M j για κάποιο k, με i k < j. Άρα το κόστος της βέλτιστης παρενθετοποίησης του M i;j θα είναι το κόστος υπολογισμού του πίνακα M i;k, συν το κόστος υπολογισμού του M k+;j, συν το κόστος του πολλαπλασιασμού αυτών των δύο μεταξύ τους. Εφόσον ο πολλαπλασιασμός των πινάκων M i;k και M k+;j απαιτεί r i r k r j πράξεις, καταλήγουμε στη σχέση m i;j = m i;k + m k+;j + r i r k r j : Ποια είναι όμως η κατάλληλη τιμή του k; Είναι εκείνη που ελαχιστοποιεί την παραπάνω ποσότητα για όλα τα k στο διάστημα [i::j ]. Συνδυάζοντας τα παραπάνω βρίσκουμε ότι το ελάχιστο κόστος παρενθετοποίησης της ακολουθίας M i M j ικανοποιεί τη σχέση m i;j = Υπολογισμός Βέλτιστης Λύσης 0 Αν i = j min i k<j m i;k + m k+;j + r i r k r j ) Αν i<j Αντί να υπολογίσουμε τη λύση αναδρομικά κάτι τέτοιο θα έπαιρνε εκθετικό χρόνο αφού θα λύναμε τα ίδια υποπροβλήματα ξανά και ξανά) χρησιμοποιούμε τη προσέγγιση του δυναμικού προγραμματισμού φυλάσοντας τις επιμέρους λύσεις σε ένα δισδιάτατο πίνακα. Συγκεκριμένα, υπολογίζουμε τις διάφορες τιμές ξεκινώντας από κάτω προς τα πάνω. Πρώτα υπολογίζουμε τα m i;i για κάθε i, έπειτα τα m i;i+ για κάθε i, έπειτα τα m i;i+, κοκ. Με αυτό τον τρόπο, οι όροι m i;k και m k+;j στην ) θα έχουν ήδη υπολογιστεί πριν το m i;j. Αυτό γιατί το j i θα είναι μεγαλύτερο και από το k i και από το j k +). Ο αλγόριθμος φαίνεται παρακάτω: ) MatrixProductM ;M ;:::;M n ) begin for i =to n do m i;i =0 for l =to n do for i =to n l do begin j=i+l m i;j =min i k<j m i;k + m k+;j + r i r k r j ) end Output m ;n end Ο χρόνος του αλγόριθμου είναι On 3 ) και όχι On ) επειδή ο υπολογισμός του ελάχιστου k, i k<j, συνεισφέρει έναν ακόμα On) παράγοντα. Παράδειγμα Εφαρμόζοντας τον αλγόριθμο για τους πίνακες του Παραδείγματος, όπου οι διαστάσεις r 0 ;r ;r ;r 3 ;r 4 είναι ίσες με 0; 0; 50; ; 00, βρίσκουμε τον ακόλουθο πίνακα τιμών. m 4 =00 m 3 =00 m ;4 = 3000 m = 0000 m ;3 = 000 m 3;4 =5000 m =0 m ; =0 m 3;3 =0 m 4;4 =0 Ας δούμε χαρακτηριστικά πως προκύπτουν μερικές τιμές. Εφαρμόζοντας την αναδρομική σχέση ) έχουμε: m; + m m ;3 =min ; = 00 m ; + m 3; = 0500 m; + m m ;4 =min 3; = 5000 m ;3 + m 4; = 3000 >< m ; + m ; = 3000 m ;4 =min m ; + m 3; = >: m ;3 + m 4; = 00 Αν θέλουμε εκτός από την ελάχιστη τιμή 00 να υπολογίζουμε και τη σειρά των πολλαπλασιασμών, αρκεί να φυλάμε, για κάθε θέση του πίνακα, και την τιμή k που πετυχαίνει το ελάχιστο. Εκτός από τον παραπάνω αλγόριθμο, ο οποίος αποφεύγει εντελώς την αναδρομή, υπάρχει και ένας αναδρομικός αλγόριθμος που λύνει το ίδιο πρόβλημα σε πολυωνυμικό χρόνο. Το κόλπο είναι φυσικά ότι κάνει χρήση αποθηκευμένων τιμών, αλλιώς θα απαιτούσε εκθετικό χρόνο αφού θα έλυνε συνεχώς τα ίδια υποπροβλήματα. Ο αλγόριθμος αυτός χρησιμοποιεί μία στρατηγική από πάνω προς τα κάτω διατηρώντας τις τιμές λυμένων υποπροβλημάτων σε κάποιο πίνακα. Κάθε θέση του πίνακα αρχικά περιέχει μία ειδική τιμή όπως nil) για να φαίνεται ότι δεν έχει υπολογιστεί ακόμα η σωστή τιμή. Όταν ένα υποπρόβλημα συναντηθεί για πρώτη φορά, υπολογίζεται η λύση του και αποθηκεύεται στον πίνακα. Από εκεί και έπειτα το υποπρόβλημα αυτό δεν ξαναλύνεται αλλά αναζητείται η λύση του στον πίνακα.

4 Διδάσκων: Τάσος Δημητρίου 7 Δυναμικός Προγραμματισμός Ένας τέτοιος αλγόριθμος για την περίπτωση των πινάκων φαίνεται παρακάτω. Υποθέτουμε αρχικά ότι όλες οι θέσεις m i;j του πίνακα περιέχουν την τιμή nil. Η πρώτη κλήση του αλγόριθμου είναι φυσικά η RecMatrixProduct;n). RecMatrixProducti; j) if m i;j 6= nil then return m i;j if i = j then m i;j =0 else m i;j =min i k<j frecmatrixproducti; k) + RecMatrixProductk +;j) +r i r k r j g return m i;j Γενικά, το πλεονέκτημα αυτής της μεθόδου είναι ότι λύνει μόνο τα υποπροβλήματα που είναι απαραίτητα, όπως συναντώνται από την εφαρμογή της αναδρομική σχέσης, και όχι όλα όπως κάνει ο πρώτος αλγόριθμος. Αν όμως χρειάζεται να λυθούν όλα τα υποπροβλήματα τουλάχιστον μία φορά, ο πρώτος αλγόριθμος είναι πιο γρήγορος αφού δεν κάνει χρήση αναδρομής. Εύρεση Συντομότερης Διαδρομής Θεωρείστε το παρακάτω πρόβλημα: Ένας καγάκιερ θέλει να κατέβει ένα ποτάμι με σκοπό να φτάσει από μια πόλη A σε μια πόλη B. Το ποτάμι όμως είναι αρκετά \ιδιόρρυθμο" με την έννοια ότι υπάρχουν σημεία κόμβοι στα οποία το ποτάμι διακλαδίζεται σε διαφορετικούς παραποτάμους. Κάθε τέτοια δυάδα κομβικών σημείων i; j ορίζει μια διαδρομή, η οποία λόγω της διαφορετικής ορμητικότητας των νερών παίρνει χρόνο t ij γιαναδιανυθεί. Αν είναι γωστός ο πίνακας χρόνου των διαδρομών μπορείτε να βοηθήσετε τον καγιάκερ να βρει εκείνη την ακολουθία κομβικών σημείων για να φτάσει από το A στο B στον ελάχιστο δυνατό συνολικό χρόνο; Σχήμα : Ένα ποτάμι και οι επιμέρους διαδρομές του... Ένα στιγμιότυπο του προβλήματος απεικονίζεται στο Σχήμα. Ο κόμβος αντιστοιχεί στο σημείο A και ο κόμβος στο σημείο B. Οι ακμές που συνδέουν τους κόμβους αναπαριστούν τις διαδρομές καιταβέλητηκατεύθυνσητωννερών. Η τιμή δίπλα σε κάθε ακμή αντιστοιχεί στο χρόνο περάσματος της αντίστοιχης διαδρομής από τον καγιάκερ. Αν δύο κόμβοι δε συνδέονται με ακμή τότε διαδρομή απαιτεί άπειρο χρόνο για να διανυθεί. Σκοπός του καγάκιερ είναι να πάει από τον κόμβο στον κόμβο. Για παράδειγμα, ξεκινώντας από τον κόμβο μπορεί να πάει είτε στον 3 είτε στον 4. Αν πάει στον 3 ο χρόνος του θα είναι μονάδες λεπτά, ώρες, μέρες, κλπ.) ενώ αν πάει στον 4 θα είναι μόνο 3 μονάδες. Από τον 4 μπορεί να συνεχίσει είτε στον 3 είτε στον 7. Στην πρώτη περίπτωση ο συνολικός χρόνος θα είναι 3+=5μονάδες, ενώ στη δεύτερη θα είναι 3+5=μονάδες. Ποια λοιπόν είναι ηκαλύτερηακολουθίαδιαδρομών; ΤηναπάντησηθατηβρούμεμεΔυναμικόΠρογραμματισμό. Για την ανάλυση θα θεωρήσουμε ότι η είσοδος δίνεται με τη μορφή ενός n n πίνακα t που περιγράφει το χρόνο κάθε διαδρομής. Ητιμήt[i; j] τουπίνακαθαδίνειακριβώςτοχρόνοτης διαδρομής και θα είναι ίση με ανηδιαδρομήαυτήδενυφίσταται. Ας προσπαθήσουμε λοιπόν να ακολουθήσουμε τα βήματα ανάλυσης που είδαμε στο παράδειγμα του πολλαπλασιασμού πινάκων. Χαρακτηρισμός Βέλτιστης Λύσης Ας δούμε πρώτα αν η βέλτιστη λύση παρουσιάζει optimal υποδομή. Θα χρησιμοποιήσουμε το συμβολισμό R i;j για να υποδηλώσουμε την ακολουθία των διαδρομών που χρησιμοποιεί ο καγιάκερ για να μεταβεί από το σημείο i στο σημείο j. Έτσι το αρχικό μας πρόβλημα είναι απλά το R ;n. Είναι προφανές τώρα ότι ο καγιάκερ, στην πορεία του από τον κόμβο στον κόμβο n, θα πρέπει να περάσει από κάποιο ενδιάμεσο σημείο k, για κάποιο <k<n. Ο συνολικός χρόνος λοιπόν θα είναι ίσος με το άθροισμα του χρόνου για να πάει από τον κόμβο στον κόμβο k συν το χρόνο για να πάει από τον k στο n. Ας υποθέσουμε ότι ο χρόνος του καγιάκερ είναι ο καλύτερος δυνατός. Η σημαντική παρατήρηση τώρα είναι ότι κάθε μια από τις επιμέρους διαδρομές R ;k και R k;n πρέπει επίσης να είναι βέλτιστη. Ο λόγος είναι απλός: αν, για παράδειγμα, υπήρχε μία καλύτερη ακολουθία για να πάει ο καγιάκερ από το στο k θα μπορούσε να την είχε ακολουθήσει και να πετύχαινε έτσι ακόμα καλύτερο χρόνο. Αυτό όμως δε μπορεί να συμβαίνει γιατί υποθέσαμε ότι η αρχική ακολουθία είναι η καλύτερη δυνατή. Άρα η διαδρομή R ;k θα πρέπει να είναι βέλτιστη. Ανάλογα ισχύουν και για τη διαδρομή R k;n. Συμπεραίνουμε λοιπόν ότι ηβέλτιστηλύσησεέναστιγμιότυποτου προβλήματος περιέχει βέλτιστες λύσεις σε υποπροβλήματα. Αν συνεχίσουμε την ανάλυση θα δούμε ότι και κάθε μία από τις R ;k και R k;n πρέπει επίσης να διασπαστεί σε ενδιάμεσες διαδρομές. Με το ίδιο σκεπτικό κάθε μια από τις νέες υποδιαδρομές πρέπει επίσης να είναι βέλτιστη. Φαίνεται λοιπόν ότι ο τύπος των υποπροβλημάτων είναι της μορφής R i;j για κάθε i; j n. Πως συγκρίνεται αυτός με τον αριθμό των λύσεων; Οαριθμόςτων υποπροβλημάτων είναι φυσικά On ). Ο αριθμός όμως των δυνατών λύσεων είναι εκθετικά μεγάλος. Κάθε λύση δεν είναι παρά μία ακολουθία της μορφής ;u ;u ;:::;u k ;n όπου τα u i είναι οποιοιδήποτε k από τους κόμβους έως n, χωρίς επαναλήψεις όμως. Οαριθμός τους είναι n X n k )k! À n=)n= ; k=0 κάτι που αποκλείει την απαρίθμησή τους. Εκείνο που θα κάνουμε λοιπόν είναι να λύσουμε όλα τα υποπροβλήματα και να αποθηκεύσουμε τις λύσεις τους. Κάθε φορά που θα τα συναντά ο αλγόριθμος, θα μπορεί να τα ανακαλεί με μικρό κόστος, ώστε η πολυπλοκότητα του να είναι πολυωνυμική. Αναδρομικός Ορισμός Λύσης Έχοντας ορίσει τα υποπροβλήματα, ο ορισμός της βέλτιστης λύσης γίνεται εύκολη υπόθεση. Θεωρείστε την καλύτερη ακολουθία διαδρομών για να μεταβεί ο καγιάκερ από το σημείο i στο σημείο j. Έστω

5 Διδάσκων: Τάσος Δημητρίου 9 0 Δυναμικός Προγραμματισμός επίσης ότι η ακολουθία αυτή περιέχει το πολύ m διαδρομές πλευρές του γραφήματος). Ας είναι λοιπόν r m) i;j ο καλύτερος χρόνος που μπορεί να πετύχει ο καγιάκερ για να πάει από το i στο σημείο j χρησιμοποιώντας το πολύ m ενδιάμεσες διαδρομές πλευρές του γραφήματος). Γιατί όμως χρειάζεται να ενσωματώσουμε και τον αριθμό των πλευρών m στον υπολογισμό του κόστους; Ο λόγος είναι επειδή αν και μπορεί να έχουμε εντοπίσει την καλύτερη ακολουθία με m διαδρομές ωστόσο μπορεί να υπάρχει μία ακόμα καλύτερη με m 0 >m. Αν λοιπόν δε δοκιμάσουμε όλα τα m δε μπορούμε να είμαστε σίγουροι ότι έχουμε εντοπίσει την καλύτερη. Πρέπει λοιπόν να καλύψουμε όλες τις περιπτώσεις, από m =έως m = n, αφού καμιά ακολουθία δε μπορεί να έχει μήκος μεγαλύτερο του n. Έτσι γιαναορίσουμετοr m) i;j χρειάζεται να εξετάσουμε όχι μόνο τις τιμές των i; j αλλά και την τιμή του m.. m =0. Αν m =0τότε υπάρχει μία ακολουθία διαδρομών μηδενικού μήκους από το i στο j μόνο αν i = j, δηλαδή ο καγιάκερ δε χρειάζεται να μεταβεί πουθενά. Αν i 6= j τότε φυσικά κάτι τέτοιο είναι αδύνατο, επομένως ο χρόνος θα θεωρήσουμε ότι είναι άπειρος. Συνοψίζοντας θα έχουμε: r 0) 0; αν i = j i;j = ; αν i 6= j. m 6= 0. Για τον υπολογισμό του r m) i;j όταν m, θα κάνουμε χρήση της ιδιότητας της βέλτιστης υποδομής. Επειδή μάλιστα θέλουμε ο αναδρομικός ορισμός να είναι και συνάρτηση του m θα προσπαθήσουμε να εκφράσουμε το r m) i;j συναρτήσει διαδρομών μήκους το πολύ m. Έτσι η καλύτερη ακολουθία m διαδρομών μεταξύ i και j θα πρέπει να διασπάται σε δύο μέρη: το πρώτο για να πάει από το σημείο i σε ένα σημείο k χρησιμοποιώντας το πολύ m βήματα, και το δεύτερο για να πάει από το k στο j σε ένα βήμα. Το k τώρα μπορεί να είναι οποιοσδήποτε από τους άλλους κόμβους. Άρα ο χρόνος μετάβασης από το i στο j χρησιμοποιώντας το πολύ m ενδιάμεσες διαδρομές θα είναι ίσος με το χρόνο μετάβασης από το i στο k χρησιμοποιώντας το πολύ m διαδρομές συν το χρόνο t k;j της διαδρομής από το k στο j. Και ποια είναι η καλύτερη τιμή του k; Είναι αυτή που ελαχιστοποιεί το παραπάνω άθροισμα. Το r m) i;j θα εκφράζεται λοιπόν από τη σχέση: r m) i;j = min k n frm ) i;k + t k;j g: ) Προσέξτε ότι εδώ επιτρέπουμε στο k να λάβει οποιαδήποτε τιμή. Συγκεκριμένα, αν k = j παίρνουμε το άθροισμα r m ) i;j + t j;j = r m ) i;j ; επειδή t j;j =0. Αυτό σημαίνει ότι μέσα στις ποσότητες που συγκρίνονται από τη συνάρτηση min) στην ) υπάρχει και η r m ) i;j. Και αυτό είναι σωστό. Γιατί ήδη ο μικρότερος χρόνος μπορεί να έχει επιτευχθεί από μία ακολουθία με μικρότερο m οπότε δε θα θέλαμε να χάσουμε αυτή την πληροφορία. όπου για κάθε m =;:::;n ο πίνακας r m) θα περιέχει τις ποσότητες r m) i;j. Είναι προφανές επίσης ότι αφού r ) i;j = t i;j θα έχουμε r ) = t. Ο αλγόριθμος βασίζεται στην παρακάτω ρουτίνα η οποία δέχεται τους πίνακες r m ) και t και παράγει σαν έξοδο τον r m). Παράγει δηλαδή τις επόμενες καλύτερες διαδρομές μήκους m. NextBestr; t) r 0 = new Matrix[n n] for i =to n do for j =to n do r 0 i;j =min k<nfr i;k + t k;j g return r 0 Η ρουτίνα υπολογίζει τον πίνακα r 0, τον οποίο επιστρέφει στο τέλος. Αυτό το κάνει χρησιμοποιώντας τον r σαν τον r m ) και την εξίσωση ) για τις τιμές του r m). Ο συνολικός χρόνος υπολογισμού είναι On 3 ) γιατί ο υπολογισμός του min παίρνει χρόνο On). Ο χρόνος της καλύτερης διαδρομής μπορεί τώρα να υπολογιστεί με διαδοχικές εφαρμογές της NextBest όπως φαίνεται παρακάτω: ήυπόμορφήαλγορίθμου BestSequencet) r = new Matrix[n n] r = t for m =to n do r=nextbestr; t) return r r ) = NextBestr ) ;t) r 3) = NextBestr ) ;t). r n ) = NextBestr n ) ;t) Ο τελευταίος αυτός αλγόριθμος παίρνει χρόνο On 4 ). Ο πίνακας που επιστρέφει περιέχει τις καλύτερες ακολουθίες, μήκους το πολύ m, από όλους τους κόμβους προς όλους τους κόμβους και όχι μόνο από τον κόμβο στον κόμβο n. Αυτό συμβαίνει συχνά σε αλγόριθμους εύρεσης συντομότερων μονοπατιών. Σαν παράγωγο υπολογίζονται μονοπάτια, όχι μόνο μεταξύ των κόμβων που μας ενδιαφέρουν αλλά και μεταξύ άλλων κόμβων. Υπολογισμός Βέλτιστης Λύσης Θα υπολογίσουμε τους καλύτερους χρόνους χρησιμοποιώντας μία προσέγγιση από κάτω προς τα πάνω. Χρησιμοποιώντας τον πίνακα εισόδου t θα υπολογίσουμε μία ακολουθία από πίνακες r ) ;r ) ;:::;r n ), :-) Ïé óçìåéþóåéò áõôýò áðïôåëïýí ôìþìá âéâëßïõ. Äåí åðéôñýðåôáé ç ñþóç ôïõò ãéá ðáñáãùãþ äéäáêôéêïý Þ Üëëïõ õëéêïý ùñßò ôçí Üäåéá ôïõ óõããñáöýá.

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων 3. Δυναμικός Προγραμματισμός Ζαγορίσιος Παναγώτης Παπαοικονόμου Χριστίνα Δυναμικός Προγραμματισμός Μέθοδος επίλυσης σύνθετων προβλημάτων. Όπως

Διαβάστε περισσότερα

Αλγοριθμικές Τεχνικές

Αλγοριθμικές Τεχνικές Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Αλγοριθμικές Τεχνικές 1 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και

Διαβάστε περισσότερα

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός 1 Περίληψη

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 45 Εισαγωγή Ο δυναµικός

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί

Διαβάστε περισσότερα

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων Τεχνικές Σχεδιασµού Αλγορίθµων Αλγόριθµοι Παύλος Εφραιµίδης pefraimi@ee.duth.gr Ορισµένες γενικές αρχές για τον σχεδιασµό αλγορίθµων είναι: ιαίρει και Βασίλευε (Divide and Conquer) υναµικός Προγραµµατισµός

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές

Διαβάστε περισσότερα

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

να είναι παραγωγίσιμη Να ισχύει ότι f Αν μια από τις τρεις παραπάνω συνθήκες δεν ισχύουν τότε δεν ισχύει και το θεώρημα Rolle.

να είναι παραγωγίσιμη Να ισχύει ότι f Αν μια από τις τρεις παραπάνω συνθήκες δεν ισχύουν τότε δεν ισχύει και το θεώρημα Rolle. Κατηγορία η Συνθήκες θεωρήματος Rolle Τρόπος αντιμετώπισης:. Για να ισχύει το θεώρημα Rolle για μια συνάρτηση σε ένα διάστημα [, ] (δηλαδή για να υπάρχει ένα τουλάχιστον (, ) τέτοιο ώστε ( ) ) πρέπει:

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Τρίγωνο του Pascal Δυναμικός Προγραμματισμός Διωνυμικοί συντελεστές Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

Τεχνικές Σχεδιασμού Αλγορίθμων

Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Διαίρει και Βασίλευε Δυναμικός Προγραμματισμός Απληστία Π. Μποζάνης ΤHMMY - Αλγόριθμοι 2014-2015 1 Διαίρει και Βασίλευε Βασικά Βήματα Διαίρει: Κατάτμηση του αρχικού προβλήματος

Διαβάστε περισσότερα

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Ο αλγόριθμος Floyd-Warshall για την έυρεση όλων των αποστάσεων σε ένα γράφημα με βάρη στις ακμές Συνεχίσαμε σήμερα το θέμα της προηγούμενης Τετάρτης. Έχουμε ένα γράφημα

Διαβάστε περισσότερα

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

Διαβάστε περισσότερα

y 1 (x) f(x) W (y 1, y 2 )(x) dx,

y 1 (x) f(x) W (y 1, y 2 )(x) dx, Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 07/1/017 Μέρος 1ο: Μη Ομογενείς Γραμμικές Διαφορικές Εξισώσεις Δεύτερης Τάξης Θεωρούμε τη γραμμική μή-ομογενή διαφορική εξίσωση y + p(x) y + q(x) y = f(x), x

Διαβάστε περισσότερα

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός υναμικός Προγραμματισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιακριτό Πρόβλημα Σακιδίου ίνονται n αντικείμενα και σακίδιο μεγέθους Β. Αντικείμενο

Διαβάστε περισσότερα

Σημειωματάριο μαθήματος 1ης Νοε. 2017

Σημειωματάριο μαθήματος 1ης Νοε. 2017 Σημειωματάριο μαθήματος 1ης Νοε. 2017 Παραδείγματα συναρτήσεων. Αναδρομικές συναρτήσεις. Ξεκινήσαμε πακετάροντας παλαιότερό μας κώδικα για τον υπολογισμό των διαιρετών ενός φυσικού αριθμού σε συνάρτηση.

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 5 υναµικός Προγραµµατισµός Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 5 1 / 49 Εισαγωγή

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Λύσεις 4ης Σειράς Ασκήσεων

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

a n = 3 n a n+1 = 3 a n, a 0 = 1

a n = 3 n a n+1 = 3 a n, a 0 = 1 Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί

Διαβάστε περισσότερα

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

Διαβάστε περισσότερα

Outline. 6 Edit Distance

Outline. 6 Edit Distance Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι και Δυναμικός Προγραμματισμός Ασκήσεις CoReLab ΣΗΜΜΥ - Ε.Μ.Π. 16 Νοεμβρίου 216 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου 216 1 / 52 Outline 1

Διαβάστε περισσότερα

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Σχεδίαση Αλγορίθμων Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/~gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 17 Μέγιστη Κοινή Υπακολουθία

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 1 Αλγόριθμοι και Πολυπλοκότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Εισαγωγή Ας ξεκινήσουμε

Διαβάστε περισσότερα

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου»

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου» (8 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου» Το πρόβλημα του διαμέσου στοιχείου: ένα θεμελιακό πρόβλημα Συναντήσαμε ήδη αρκετές φορές το πρόβλημα του να «κόψουμε» ένα σύνολο στοιχείων

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση

Διαβάστε περισσότερα

α n z n = 1 + 2z 2 + 5z 3 n=0

α n z n = 1 + 2z 2 + 5z 3 n=0 Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Η ύλη συνοπτικά... Γεννήτριες συναρτήσεις Τι είναι η γεννήτρια Στην

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες:. Φωτάκης. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση

Διαβάστε περισσότερα

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Αλγόριθμοι Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/courses/algorithms/ Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός προτάθηκε από τον

Διαβάστε περισσότερα

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4 Διακριτά Μαθηματικά Ι Επαναληπτικό Μάθημα 1 Συνδυαστική 2 Μεταξύ 2n αντικειμένων, τα n είναι ίδια. Βρείτε τον αριθμό των επιλογών n αντικειμένων από αυτά τα 2n αντικείμενα. Μεταξύ 3n + 1 αντικειμένων τα

Διαβάστε περισσότερα

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε Κεφάλαιο 9: Αναδρομή Ο τρόπος με τον οποίο σκεφτήκαμε και σχεδιάσαμε τις συναρτήσεις στο προηγούμενο κεφάλαιο ακολουθούσε τη φιλοσοφία του προγραμματισμού που είχαμε αναπτύξει σε όλο το προηγούμενο βιβλίο.

Διαβάστε περισσότερα

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

Διαβάστε περισσότερα

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Γραμμικός Προγραμματισμός Μέθοδος Simplex ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Επιχειρησιακή Έρευνα Γραμμικός Προγραμματισμός Μέθοδος Simplex Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου Περιεχόμενα Παρουσίασης 1. Πρότυπη Μορφή ΓΠ 2. Πινακοποίηση

Διαβάστε περισσότερα

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

Διαβάστε περισσότερα

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Εισαγωγή στο Σχεδιασμό & την Ανάλυση Αλγορίθμων Εξέταση Φεβρουαρίου 2016 Σελ. 1 από 7 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ. ρ Χρήστου Νικολαϊδη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ. ρ Χρήστου Νικολαϊδη ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ ρ Χρήστου Νικολαϊδη Δεκέμβριος Περιεχόμενα Κεφάλαιο : σελ. Τι είναι ένας πίνακας. Απλές πράξεις πινάκων. Πολλαπλασιασμός πινάκων.

Διαβάστε περισσότερα

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

Διαβάστε περισσότερα

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Έλενα Ρόκου Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ).

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ). ΕΜ0 - Διακριτά Μαθηματικά Ιανουαρίου 006 Άσκηση - Λύσεις Πρόβλημα [0 μονάδες] Εστω L και L δύο κυκλώματα σε ένα γράφημα G. Εστω a μία ακμή που ανήκει και στο L και στο L και έστω b μία ακμή που ανήκει

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Περιεχόμενα παρουσίασης Πολλαπλασιασμός πίνακα με διάνυσμα Πολλαπλασιασμός πινάκων Επίλυση τριγωνικού

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα

Διαβάστε περισσότερα

4. ΔΙΚΤΥΑ

4. ΔΙΚΤΥΑ . ΔΙΚΤΥΑ Τελευταία μορφή επιχειρησιακής έρευνας αποτελεί η δικτυωτή ανάλυση (δίκτυα). Τα δίκτυα είναι ένα διάγραμμα από ς οι οποίοι συνδέονται όλοι μεταξύ τους άμεσα ή έμμεσα μέσω ακμών. Πρόκειται δηλαδή

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

Διαβάστε περισσότερα

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εισαγωγή Ο Δυναμικός Προγραμματισμός (ΔΠ) είναι μία υπολογιστική μέθοδος η οποία εφαρμόζεται όταν πρόκειται να ληφθεί μία σύνθετη απόφαση η οποία προκύπτει από τη σύνθεση επιμέρους

Διαβάστε περισσότερα

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

Διαβάστε περισσότερα

Θεώρημα Βolzano. Κατηγορία 1 η. 11.1 Δίνεται η συνάρτηση:

Θεώρημα Βolzano. Κατηγορία 1 η. 11.1 Δίνεται η συνάρτηση: Κατηγορία η Θεώρημα Βolzano Τρόπος αντιμετώπισης:. Όταν μας ζητούν να εξετάσουμε αν ισχύει το θεώρημα Bolzano για μια συνάρτηση f σε ένα διάστημα [, ] τότε: Εξετάζουμε την συνέχεια της f στο [, ] (αν η

Διαβάστε περισσότερα

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

Διαβάστε περισσότερα

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Περιεχόμενα παρουσίασης Πολλαπλασιασμός πίνακα με διάνυσμα Πολλαπλασιασμός πινάκων Επίλυση τριγωνικού

Διαβάστε περισσότερα

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

Διαβάστε περισσότερα

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1), Κεφάλαιο 6 Συμπάγεια 6.1 Ορισμός της συμπάγειας Οπως θα φανεί στην αμέσως επόμενη παράγραφο, υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί κανείς να εισάγει την έννοια του συμπαγούς μετρικού χώρου. Ο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5 ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΗΤΙΚΗ ΓΕΩΜΕΤΡΙΚΗ ΠΡΟΟΔΟΣ

ΚΕΦΑΛΑΙΟ 5 ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΗΤΙΚΗ ΓΕΩΜΕΤΡΙΚΗ ΠΡΟΟΔΟΣ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ ΚΕΦΑΛΑΙΟ 5 ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΗΤΙΚΗ ΓΕΩΜΕΤΡΙΚΗ ΠΡΟΟΔΟΣ ΓΙΑΝΝΗΣ ΠΑΤΕΡΑΣ ΜΑΘΗΜΑΤΙΚΟΣ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ ΑΚΟΛΟΥΘΙΕΣ ΚΕΦΑΛΑΙΟ 5 ΑΡΙΘΜΗΤΙΚΗ ΠΡΟΟΔΟΣ ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ Ακολουθία ονομάζουμε

Διαβάστε περισσότερα

Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές

Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές 0 Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ Για να λύσουμε μια πολυωνυμική εξίσωση P(x) 0 (ή μια πολυωνυμική ανίσωση P(x)

Διαβάστε περισσότερα

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 5: ΘΕΩΡΗΜΑ ROLLE [Θεώρημα Rolle του κεφ.2.5 Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 5: ΘΕΩΡΗΜΑ ROLLE [Θεώρημα Rolle του κεφ.2.5 Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 5: ΘΕΩΡΗΜΑ ROLLE [Θεώρημα Rolle του κεφ..5 Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β Παράδειγμα. Να εξετάσετε από τις παρακάτω συναρτήσεις ποιές ικανοποιούν

Διαβάστε περισσότερα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

Διαβάστε περισσότερα

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

Διαβάστε περισσότερα

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

Διαβάστε περισσότερα

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform Παναγιώτης Πατσιλινάκος ΕΜΕ 19 Οκτωβρίου 2017 Παναγιώτης Πατσιλινάκος (ΕΜΕ) Fast Fourier Transform 19 Οκτωβρίου 2017 1 / 20 1 Εισαγωγή Στόχος Προαπαιτούμενα 2 Η ιδέα Αντιστροφή -

Διαβάστε περισσότερα

Στοχαστικές Στρατηγικές. διαδρομής (1)

Στοχαστικές Στρατηγικές. διαδρομής (1) Στοχαστικές Στρατηγικές η ενότητα: Το γενικό πρόβλημα ελάχιστης διαδρομής () Τμήμα Μαθηματικών, ΑΠΘ Ακαδημαϊκό έτος 08-09 Χειμερινό Εξάμηνο Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ & Πανεπιστήμιο

Διαβάστε περισσότερα

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

Διαβάστε περισσότερα

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Διακριτά Μαθηματικά Ι Ενότητα 2: Γεννήτριες Συναρτήσεις Μέρος 1 Διδάσκων: Χ. Μπούρας (bouras@cti.gr) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1 Διωνυµικοί Συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1 Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός

Διαβάστε περισσότερα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο ΓΕΝΙΚΑ ΠΕΡΙ ΑΝΙΣΩΣΕΩΝ Έστω f σύνολο Α, g Α ΒΑΘΜΟΥ είναι δύο παραστάσεις μιας μεταβλητής πού παίρνει τιμές στο Ανίσωση με έναν άγνωστο λέγεται κάθε σχέση της μορφής f f g g ή, η οποία αληθεύει για ορισμένες

Διαβάστε περισσότερα

Δυναμικός προγραμματισμός για δέντρα

Δυναμικός προγραμματισμός για δέντρα ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε

Διαβάστε περισσότερα

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει 8 7y = 4 y + y ( 8 7y) = ( 4 y + y) ( y) + 4 y y 4 y = 4 y y 8 7y = 4 y + ( 4 y) = ( 4 y y) ( 4 y) = 4( 4 y)( y) ( 4 y) 4( 4 y)( y) = 0 ( 4 y) [ 4 y 4( y) ] = 4 ( 4 y)( y + 4) = 0 y = ή y = 4) 0 4 H y

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 17: Λύση Προβλημάτων με Αναδρομή Οι πύργοι του Hanoi Δίνεται ένα χώρος με τρεις θέσεις αποθήκευσης. Δίνεται μια στοίβα από Ν πλάκες σε φθίνον μέγεθος, σε μια από τις τρεις

Διαβάστε περισσότερα

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

Διαβάστε περισσότερα

Απειροστικός Λογισμός Ι Ασκήσεις

Απειροστικός Λογισμός Ι Ασκήσεις Απειροστικός Λογισμός Ι Ασκήσεις Μ. Παπαδημητράκης . Για καθεμία από τις ανισότητες ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ + >, +, + > +3 3+, ( )( 3) ( ) 0 γράψτε ως διάστημα ή ως ένωση διαστημάτων το σύνολο

Διαβάστε περισσότερα

Κεφάλαιο 1 Συστήματα γραμμικών εξισώσεων

Κεφάλαιο 1 Συστήματα γραμμικών εξισώσεων Κεφάλαιο Συστήματα γραμμικών εξισώσεων Παραδείγματα από εφαρμογές Γραμμική Άλγεβρα Παράδειγμα : Σε ένα δίκτυο (αγωγών ή σωλήνων ή δρόμων) ισχύει ο κανόνας των κόμβων όπου το άθροισμα των εισερχόμενων ροών

Διαβάστε περισσότερα

Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών. Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων

Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών. Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων Αν κάναμε ένα τεστ νοημοσύνης στους μαθητές και θέταμε την ερώτηση: Πως μπορεί να μετρηθεί το

Διαβάστε περισσότερα

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

Διαβάστε περισσότερα

1.3 Συστήματα γραμμικών εξισώσεων με ιδιομορφίες

1.3 Συστήματα γραμμικών εξισώσεων με ιδιομορφίες Κεφάλαιο Συστήματα γραμμικών εξισώσεων Παραδείγματα από εφαρμογές Παράδειγμα : Σε ένα δίκτυο (αγωγών ή σωλήνων ή δρόμων) ισχύει ο κανόνας των κόμβων όπου το άθροισμα των εισερχόμενων ροών θα πρέπει να

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν «Διαίρει και βασίλευε» : ανεξάρτητα υποπροβλήματα διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους Ν Σε κάποιες περιπτώσεις όμως τα υποπροβλήματα δεν είναι ανεξάρτητα

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,

Διαβάστε περισσότερα