i=1 f i = F i SF [0, f 1 ), [f 1, f 1 + f 2 ), [f 1 + f 2, f 1 + f 2 + f 3 ),..., [f 1 + f f P 1, 1) i 1

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

Download "i=1 f i = F i SF [0, f 1 ), [f 1, f 1 + f 2 ), [f 1 + f 2, f 1 + f 2 + f 3 ),..., [f 1 + f f P 1, 1) i 1"

Transcript

1 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (216-17) Εργασία 4 Πολύ συχνά, ένα υπολογιστικό πρόβλημα έχει περισσότερες από μία λύση. Για παράδειγμα, αν θέλουμε να βρούμε ένα υποσύνολο ενός συνόλου ακεραίων, που το άθροισμα των στοιχείων του υποσυνόλου να είναι άρτιος αριθμός, είναι προϕανές ότι μπορεί να υπάρχουν πολλά τέτοια υποσύνολα. Αν θέλουμε να κατασκευάσουμε ένα ωρολόγιο πρόγραμμα μαθημάτων για ένα σχολείο, το οποίο να ικανοποιεί κάποιους περιορισμούς, αυτό μπορεί να γίνει με πολλούς τρόπους. Σε προβλήματα σαν αυτά, εκείνο που κάνουμε είναι να εξερευνήσουμε το σύνολο (χώρο) των πιθανών λύσεων του προβλήματος, για να βρούμε κάποια (ή κάποιες) που μας ικανοποιεί. Με άλλα λόγια, αναζητούμε μία ή περισσότερες λύσεις μέσα από τον χώρο των πιθανών λύσεων, και γι αυτόν τον λόγο, τα προβλήματα αυτά ονομάζονται προβλήματα αναζήτησης (search problems). Συνήθως, δεν μας ενδιαϕέρει σε ένα πρόβλημα αναζήτησης να βρούμε όλες τις λύσεις του, επειδή, πιθανότατα, είναι πάρα πολλές, αλλά μας αρκεί απλώς μία λύση. Ομως, είναι ενδεχόμενο κάποιες λύσεις να είναι καλύτερες από κάποιες άλλες. Οπότε, αν έχουμε ένα σαϕές και καλά ορισμένο μέτρο της ποιότητας μίας λύσης, είναι εύλογο να μας ενδιαϕέρει να βρούμε κάποια καλή λύση, αν είναι δυνατόν την καλύτερη (βέλτιστη). Οταν σε ένα πρόβλημα αναζήτησης μας ενδιαϕέρει να βρούμε μία βέλτιστη λύση του, ή έστω κάποια πολύ κοντά στη βέλτιστη, λέμε ότι το πρόβλημα αυτό είναι πρόβλημα βελτιστοποίησης (optimization problem). Υπάρχουν πολλές τεχνικές για την επίλυση προβλημάτων βελτιστοποίησης. Μεταξύ αυτών είναι και εκείνες που ανήκουν στην οικογένεια των αλγορίθμων που βασίζονται σε πληθυσμούς (populationbased algorithms). Οι αλγόριθμοι αυτοί προσομοιώνουν, κατά κανόνα, λειτουργίες που εμϕανίζονται στη ϕύση και η γενική ιδέα τους είναι ότι συντηρούν ένα σύνολο από πιθανές λύσεις του προβλήματος βελτιστοποίησης (πληθυσμός) και, ανάλογα με τα ιδιαίτερα χαρακτηριστικά και τη ϕιλοσοϕία του κάθε αλγορίθμου, γίνεται προσπάθεια να βελτιώνεται η ποιότητα των λύσεων (ατόμων) του πληθυσμού. Ενδεικτικά αναϕέρονται οι αλγόριθμοι: Βελτιστοποίηση με αποικίες μυρμηγκιών (Ant colony optimization) Βελτιστοποίηση με σμήνος σωματιδίων (Particle swarm optimization) Βελτιστοποίηση μέσω αναζήτησης τροϕής από βακτήρια (Bacterial foraging optimization) Βελτιστοποίηση με αποικίες μελισσών (Bee colony optimization) Τεχνητά ανοσοποιητικά συστήματα (Artificial immune systems) Βελτιστοποίηση βασισμένη στη βιογεωγραϕία (Biogeography-based optimization) Βελτιστοποίηση μέσω καταιγισμού ιδεών (Brain storm optimization) Ομως, η περισσότερο διαδεδομένη και παλαιότερη κατηγορία αλγορίθμων που εντάσσεται στην οικογένεια των αλγορίθμων που βασίζονται σε πληθυσμούς είναι οι γενετικοί αλγόριθμοι (genetic algorithms). Οι αλγόριθμοι αυτοί προσομοιώνουν τη διαδικασία της εξέλιξης (evolution) στη ϕύση, ακολουθώντας τους κανόνες της ϕυσικής επιλογής (natural selection). Συντηρούν ένα πληθυσμό από πιθανές λύσεις του προβλήματος ως άτομα ή χρωμοσώματα (chromosomes), τον οποίο εξελίσσουν σε συνεχόμενες γενεές (generations), εϕαρμόζοντας τους γενετικούς τελεστές της διασταύρωσης (crossover) και της μετάλλαξης (mutation). Ενα χρωμόσωμα αποτελείται από γονίδια (genes), τα οποία κωδικοποιούν τα χαρακτηριστικά της πιθανής λύσης που αναπαριστά το χρωμόσωμα. Σε κάθε γενετικό αλγόριθμο, ορίζεται και μία συνάρτηση ευρωστίας (fitness function), η οποία ποσοτικοποιεί

2 την ποιότητα κάθε χρωμοσώματος, άρα και της πιθανής λύσης που αναπαριστά. Περισσότερες λεπτομέρειες μπορείτε να δείτε στον σύνδεσμο algorithm, καθώς και στα παραδείγματα προβλημάτων που θα ακολουθήσουν. Αντικείμενο της εργασίας αυτής είναι η υλοποίηση σε C γενετικών αλγορίθμων που επιλύουν συγκεκριμένα προβλήματα βελτιστοποίησης. Μαντεύοντας ένα δυαδικό αριθμό (1%) Εστω ότι επιλέγετε ένα δυαδικό αριθμό και θέλετε να γράψετε ένα πρόγραμμα που να μπορεί να τον μαντέψει. Για να βοηθηθεί το πρόγραμμα, θα πρέπει να μπορεί να γνωρίζει για κάθε μαντεψιά που κάνει πόσο κοντά είναι αυτή στον δυαδικό σας αριθμό, δηλαδή πόσα 1 και έχει στις σωστές θέσεις. Πώς θα μπορούσαμε να αντιμετωπίσουμε το πρόβλημα αυτό με ένα γενετικό αλγόριθμο; Ας το δούμε μέσω ενός συγκεκριμένου παραδείγματος. Εστω ότι επιλέξατε ένα δυαδικό αριθμό με 8 ψηϕία, που είναι ο Θα πρέπει να καθορίσουμε μία κωδικοποίηση των λύσεων του προβλήματος ως χρωμοσώματα, δηλαδή ακολουθίες από γονίδια. Είναι προϕανές ότι ένας δυαδικός πίνακας 8 στοιχείων (1 ή ) είναι κατάλληλος για μία τέτοια κωδικοποίηση. Ο γενετικός αλγόριθμος του προγράμματος θα πρέπει να συντηρεί και να εξελίσσει ένα πληθυσμό από τέτοια χρωμοσώματα. Για παράδειγμα, ένα τέτοιο χρωμόσωμα θα μπορούσε να ήταν το το οποίο αναπαριστά μία πιθανή λύση του προβλήματος, δηλαδή μία μαντεψιά του προγράμματος, η οποία έχει πέντε σωστά bits σε σχέση με τον επιλεγμένο από εσάς αριθμό. Για τον γενετικό αλγόριθμο που θα καθορίσουμε, θα πρέπει να ορίσουμε και τη συνάρτηση ευρωστίας για τα άτομα του πληθυσμού. Αν ϕροντίσουμε το πρόγραμμα να μάθει τον δυαδικό αριθμό N που έχουμε επιλέξει, θα μπορούσε να έχει ορίσει μία τέτοια συνάρτηση f, η οποία να επιστρέϕει για κάθε χρωμόσωμα C ένα αριθμό/ευρωστία που θα είναι τόσο πιο μεγάλος όσο πιο πολλά είναι τα κοινά bits των N και C. Αν το πλήθος των κοινών bits είναι k, θα μπορούσαμε να ορίσουμε την f ως f(c) = k 2, για να πριμοδοτηθούν κάπως περισσότερο τα χρωμοσώματα που έχουν πιο πολλά κοινά bits με τον επιλεγμένο αριθμό. Ας δούμε όμως πώς θα μπορούσαμε να υλοποιήσουμε ένα γενετικό αλγόριθμο για το εν λόγω πρόβλημα, αλλά και γενικότερα, για οποιοδήποτε πρόβλημα βελτιστοποίησης που η δυαδική κωδικοποίηση στα χρωμοσώματα είναι μία καλή επιλογή. Εδώ θα πρέπει να σημειωθεί ότι οι γενετικοί αλγόριθμοι έχουν στοχαστικό χαρακτήρα, δηλαδή σε διάϕορα σημεία τους πρέπει να πάρουν τυχαίες αποϕάσεις. Αυτό επιτυγχάνεται μέσω των γεννητριών ψευδοτυχαίων αριθμών που παρέχουν οι γλώσσες προγραμματισμού. Επίσης, ένας γενετικός αλγόριθμος έχει διάϕορες παραμέτρους, οι οποίες είναι καλό σε μία υλοποίηση να ορίζονται με τέτοιο τρόπο ώστε να μπορούν να αλλάζουν εύκολα, για τη διευκόλυνση πειραματισμών. Βήμα 1 (αρχικοποίηση): Εστω P το μέγεθος του πληθυσμού (παράμετρος). Δημιουργούμε P τυχαία χρωμοσώματα, δηλαδή τον αρχικό μας πληθυσμό, που γίνεται ο τρέχων για τον αλγόριθμο. Σημειώνεται ότι δεν είναι απαραίτητο τα άτομα του πληθυσμού να είναι διαϕορετικά μεταξύ τους. Λόγω της τυχαιότητας, υπάρχει ενδεχόμενο να γεννηθεί το ίδιο άτομο περισσότερες από μία ϕορά. Βήμα 2 (έλεγχος τερματισμού): Αν ο αλγόριθμος έχει ήδη δημιουργήσει G γενεές πληθυσμών (παράμετρος), τερματίζει και επιστρέϕει ως λύση το καλύτερο άτομο του τρέχοντος πληθυσμού (ή το καλύτερο άτομο από όλες τις γενεές που έχουν δημιουργηθεί). Αλλιώς, αν στον τρέχοντα πληθυσμό

3 υπάρχει άτομο με ευρωστία μεγαλύτερη ή ίση κάποιας τιμής-στόχου F T (παράμετρος), ο αλγόριθμος τερματίζει και επιστρέϕει το άτομο αυτό ως λύση. Βήμα 3 (επιλογή): Δημιουργείται, με βάση τον τρέχοντα πληθυσμό, ένας προσωρινός πληθυσμός για την επόμενη γενεά με τον εξής τρόπο. Εστω ότι τα P άτομα a 1, a 2,..., a P του πληθυσμού έχουν ευρωστίες F 1, F 2,..., F P, αντίστοιχα, και P SF = F i i=1 είναι το άθροισμα όλων των ευρωστιών. Η σχετική ευρωστία του ατόμου a i (1 i P ) ορίζεται ως f i = F i SF Θεωρούμε ότι το διάστημα [, 1) χωρίζεται στα P υποδιαστήματα, πλάτους f i το καθένα [, f 1 ), [f 1, f 1 + f 2 ), [f 1 + f 2, f 1 + f 2 + f 3 ),..., [f 1 + f f P 1, 1) Δηλαδή, το i-οστό διάστημα είναι το i 1 i f j, f j j=1 j=1 Επιλέγουμε ένα τυχαίο αριθμό στο διάστημα [, 1). Αν ο αριθμός αυτός ανήκει στο i-οστό διάστημα από τα παραπάνω, τότε το άτομο a i περνά στον προσωρινό πληθυσμό. Επαναλαμβάνουμε αυτή τη διαδικασία P ϕορές, οπότε ο προσωρινός πληθυσμός περιέχει πλέον P άτομα, όχι κατ ανάγκη διαϕορετικά μεταξύ τους, έστω τα b 1, b 2,..., b P. Βήμα 4 (διασταύρωση): Τα άτομα του προσωρινού πληθυσμού δημιουργούν τα ζευγάρια (b 1, b 2 ), (b 3, b 4 ), (b 5, b 6 ),.... Αν το P είναι περιττός, το άτομο b P μένει αζευγάρωτο. Για κάθε ζευγάρι, αποϕασίζουμε αν θα διασταυρωθεί επιλέγοντας ένα τυχαίο αριθμό r στο διάστημα [, 1) και συγκρίνοντάς τον με την πιθανότητα διασταύρωσης p c (παράμετρος) που έχουμε καθορίσει για τον αλγόριθμό μας. Αν ισχύει r < p c, το ζευγάρι θα διασταυρωθεί και θα αντικατασταθεί στον προσωρινό πληθυσμό από τους απογόνους του, αλλιώς τα άτομά του θα παραμείνουν ως έχουν στον προσωρινό πληθυσμό (στον προσωρινό πληθυσμό παραμένει και το b P, αν το P είναι περιττός). Για τη διασταύρωση ενός ζευγαριού, επιλέγεται με τυχαίο τρόπο ένα σημείο κοπής των δύο χρωμοσωμάτων (στην ίδια θέση και για τα δύο) και αυτά διασταυρώνονται χιαστί για να δημιουργήσουν δύο απογόνους. Για την επιλογή του σημείου κοπής, αν ένα χρωμόσωμα αποτελείται από N γονίδια, οπότε υπάρχουν N 1 πιθανά σημεία κοπής, αρκεί να επιλέξουμε ένα τυχαίο ακέραιο αριθμό στο διάστημα [1, N 1]. Στο παράδειγμα του σχήματος που ακολουθεί, δύο χρωμοσώματα διασταυρώνονται στη θέση κοπής 3 και παράγουν δύο απογόνους Οπότε, μετά το βήμα της διασταύρωσης, έχουμε ένα νέο προσωρινό πληθυσμό από P άτομα, έστω τα c 1, c 2,..., c P. Βήμα 5 (μετάλλαξη): Για κάθε γονίδιο κάθε χρωμοσώματος c i του προσωρινού πληθυσμού αποϕασίζουμε με πιθανότητα p m (παράμετρος) αν θα μεταλλαχθεί. Δηλαδή, επιλέγουμε ένα τυχαίο

4 αριθμό r στο διάστημα [, 1) και τον συγκρίνουμε με το p m. Αν r < p m, το γονίδιο μεταλλάσσεται, δηλαδή αν είναι 1, γίνεται, ή αν είναι, γίνεται 1. Μετά και το βήμα αυτό, ο προσωρινός πληθυσμός γίνεται ο πληθυσμός της τρέχουσας γενιάς, οπότε μεταβαίνουμε στο βήμα 2. Ο αλγόριθμος που παρουσιάστηκε προηγουμένως ακολουθεί τις αρχές των γενετικών αλγορίθμων, αλλά θα μπορούσαμε να σκεϕτούμε και πολλές παραλλαγές του, που επίσης να είναι αποδεκτοί γενετικοί αλγόριθμοι. Για παράδειγμα, τα βήματα επιλογή διασταύρωση μετάλλαξη δεν είναι απαραίτητο να γίνονται με αυτή τη σειρά. Επίσης, δεν είναι απαραίτητο οι απόγονοι της διασταύρωσης να αντικαθιστούν τους γονείς τους. Θα μπορούσαν να συνυπάρχουν με αυτούς. Η τα μεταλλασσόμενα χρωμοσώματα μπορούν να συνυπάρχουν με αυτά που προκύπτουν από τις μεταλλάξεις. Η διασταύρωση δεν είναι απαραίτητο να γίνεται με ένα σημείο κοπής. Θα μπορούσαμε να είχαμε δύο ή περισσότερα, ιδιαίτερα σε προβλήματα με μεγάλο μέγεθος χρωμοσωμάτων. Το μέγεθος του πληθυσμού δεν είναι απαραίτητο να παραμένει σταθερό από γενεά σε γενεά. Μπορεί να εϕαρμοσθεί ελιτισμός (elitism), δηλαδή στη διαδικασία της επιλογής, τα K (παράμετρος) καλύτερα άτομα να περνούν απ ευθείας στην επόμενη γενεά και η τυχαία επιλογή να εϕαρμόζεται μόνο για τα υπόλοιπα άτομα του πληθυσμού. Σε προβλήματα που δεν είναι κάθε πιθανό χρωμόσωμα έγκυρη λύση του προβλήματος, επειδή ενδεχομένως παραβιάζει κάποιους περιορισμούς, θα μπορούσαμε είτε να έχουμε κάποια ποινή στην ευρωστία αυτών χρωμοσωμάτων, έτσι ώστε να τείνουν να εξαϕανίζονται στην εξέλιξη του πληθυσμού, είτε να εϕαρμόζουμε επάνω τους κατάλληλο τελεστή επιδιόρθωσης (repair) ώστε να αντιστοιχούν σε έγκυρες λύσεις. Με βάση τα προηγούμενα, το ζητούμενο είναι να υλοποιήσετε σε C ένα γενετικό αλγόριθμο που να κάνει καλές μαντεψιές για δυαδικούς αριθμούς που επιλέγουμε. Το πρόγραμμα που θα γράψετε (έστω ότι το εκτελέσιμο ονομάζεται guessga ) θα πρέπει να διαβάζει από την πρότυπη είσοδο τον δυαδικό αριθμό που επιλέξαμε και πρέπει αυτό να μαντέψει. Εννοείται ότι το πρόγραμμα δεν θα χρησιμοποιεί τον αριθμό αυτό, παρά μόνο για τον υπολογισμό της ευρωστίας κάθε χρωμοσώματος του πληθυσμού. Τις παραμέτρους του γενετικού αλγορίθμου μπορείτε είτε να τις ορίσετε μέσα στο πρόγραμμά σας ως συμβολικές σταθερές, είτε να τις δίνετε ως ορίσματα στη γραμμή εντολής κατά την εκτέλεση του προγράμματος. Στην τελευταία περίπτωση, έχετε απόλυτη ελευθερία στον τρόπο με τον οποίο θα δίνονται τα ορίσματα, αλλά θα πρέπει να τεκμηριώσετε με σαϕήνεια, είτε σε σχόλια στο ίδιο το πρόγραμμα, είτε σε κάποιο συνοδευτικό αρχείο README, τις ακριβείς οδηγίες για την εκτέλεση του προγράμματός σας. Το ιδανικό είναι να ακολουθήσετε συνδυασμό των δύο μεθόδων, δηλαδή να ορίσετε μέσω συμβολικών σταθερών κάποιες default τιμές για τις παραμέτρους, αλλά να υπάρχει η δυνατότητα να δοθούν διαϕορετικές επιθυμητές τιμές μέσω ορισμάτων. Ακολουθεί μία ενδεικτική εκτέλεση ενός γενετικού αλγορίθμου για το πρόβλημα. Σημειώστε ότι είναι αδύνατον να αναπαραγάγετε τα αποτελέσματα αυτά, λόγω της τυχαιότητας του αλγορίθμου και των διαϕοροποιήσεων που έχει τη δυνατότητα να κάνει κάποιος στις λεπτομέρειες της υλοποίησης. Πάντως για την παρακάτω εκτέλεση, έχουμε πληθυσμό P = 1 ατόμων, μέγιστο πλήθος γενεών G = 5, τιμή-στόχο F T για την ευρωστία ίση με L 2, όπου L είναι το μήκος του δυαδικού αριθμού που επιλέξαμε, και πιθανότητες διασταύρωσης p c =.3 και μετάλλαξης p m =.1. $./guessga Generation : Best fitness = 361 Average fitness = Generation 1: Best fitness = 324 Average fitness = Generation 2: Best fitness = 361 Average fitness = 26.8 Generation 3: Best fitness = 361 Average fitness = 28. Generation 4: Best fitness = 441 Average fitness = Generation 5: Best fitness = 484 Average fitness =

5 Generation 45: Best fitness = 529 Average fitness = 26.4 Generation 46: Best fitness = 625 Average fitness = 31. Generation 47: Best fitness = 625 Average fitness = Generation 48: Best fitness = 625 Average fitness = Generation 49: Best fitness = 529 Average fitness = Generation 5: Best fitness = 576 Average fitness = Your number: My guess is: Found in generation 46 Fitness = 625 (25 matches out of 3) $ Μεγιστοποίηση συνάρτησης πολλών πραγματικών μεταβλητών (2%) Εστω η πραγματική συνάρτηση f πέντε πραγματικών μεταβλητών x 1, x 2, x 3, x 4, x 5, που παίρνει τιμές από το διάστημα [ 1, 1] f(x 1, x 2, x 3, x 4, x 5 ) = 1.1 cos(5πx i ) + x 2 i i=1 i=1 Υλοποιήστε σε C ένα γενετικό αλγόριθμο που να βρίσκει τις τιμές των x i για τις οποίες η συνάρτηση μεγιστοποιείται, καθώς και τη μέγιστη τιμή της συνάρτησης. Υπόδειξη: Μπορείτε να κωδικοποιήσετε μία πιθανή λύση ως ένα χρωμόσωμα πέντε γονιδίων που θα παίρνουν πραγματικές τιμές στο διάστημα [ 1, 1]. Ως συνάρτηση ευρωστίας για τα χρωμοσώματα μπορείτε να θεωρήσετε την ίδια τη συνάρτηση. Η διασταύρωση μπορεί να γίνει κλασικά με ένα σημείο κοπής, όπως στον αλγόριθμο που περιγράϕηκε για το προηγούμενο πρόβλημα. Για τη μετάλλαξη, ένα γονίδιο (τιμή μεταβλητής x i ) μπορεί να αλλάζει σε κάποια τυχαία τιμή στο διάστημα [ 1, 1]. Θα ήταν ενδιαϕέρον, αν το πρόγραμμά σας ήταν πιο γενικό, δηλαδή αν μπορούσε να βρει το μέγιστο της συνάρτησης N μεταβλητών N N f(x 1, x 2,..., x N ) = 2N.1 cos(5πx i ) + x 2 i i=1 i=1 Παρατηρήστε ότι η συνάρτηση που δόθηκε αρχικά με τις πέντε μεταβλητές είναι ειδική περίπτωση αυτής για N = 5. Αν υλοποιήσετε τη γενικότερη εκδοχή του γενετικού αλγορίθμου, το N να δίνεται στο πρόγραμμά σας από τη γραμμή εντολής. Το πρόβλημα του πλανόδιου πωλητή (7%) Στο πρόβλημα του πλανόδιου πωλητή (traveling 2 salesman problem), είναι δεδομένο ένα σύνολο από πόλεις και, για κάθε πιθανό ζευγάρι πόλεων c i και c j, είναι γνωστό το κόστος μετάβασης d(c i, c j ) από τη μία προς την άλλη, που είναι το ίδιο για οποιαδήποτε από τις δύο πιθανές κατευθύνσεις, δηλαδή d(c i, c j ) = d(c j, c i ). Αυτό το κόστος μπορεί να είναι, για παράδειγμα, η απόσταση των δύο πόλεων. Το ζητούμενο του προβλήματος είναι να βρεθεί με ποια σειρά πρέπει να επισκεϕθεί ο πωλητής όλες τις πόλεις, αρχίζοντας από κάποια και καταλήγοντας σε αυτήν από την οποία ξεκίνησε, ώστε το συνολικό κόστος των μεταβάσεών του να είναι το ελάχιστο δυνατό. Η εκδοχή αυτή του προβλήματος αναϕέρεται 1 cos είναι η συνάρτηση του συνημιτόνου και π είναι το γνωστό traveling σε American English ή travelling σε British English

6 και σαν το συμμετρικό πρόβλημα του πλανόδιου πωλητή, επειδή τα κόστη μεταβάσεων μεταξύ δύο πόλεων είναι τα ίδια και για τις δύο κατευθύνσεις. Το πρόβλημα του πλανόδιου πωλητή θα μπορούσε να αντιμετωπισθεί με τη βοήθεια ενός κατάλληλα σχεδιασμένου γενετικού αλγορίθμου. Πρώτα πρέπει να δει κανείς πώς θα γίνει η κωδικοποίηση μίας πιθανής λύσης του προβλήματος. Μία εύλογη επιλογή, αλλά όχι η μοναδική, θα ήταν η εξής. Αν έχουμε N πόλεις, μία λύση θα μπορούσε να κωδικοποιείται σαν ένα χρωμόσωμα από N γονίδια, που είναι κατά σειρά οι αύξοντες αριθμοί των πόλεων που θα επισκεϕθεί ο πωλητής. Για παράδειγμα, αν N = 8, ένα πιθανό χρωμόσωμα θα μπορούσε να ήταν το το οποίο σημαίνει ότι ο πωλητής ξεκινά από την πόλη 5, πηγαίνει μετά στην 3, μετά στην 8 κοκ., μέχρι να ϕτάσει στην πόλη 7 και να επιστρέψει τελικά πάλι στην 5. Τότε, αν είναι C το συνολικό κόστος μεταβάσεων μεταξύ πόλεων στη διαδρομή του πωλητή, δηλαδή C = d(c 5, c 3 ) + d(c 3, c 8 ) + d(c 8, c 2 ) d(c 1, c 7 ) + d(c 7, c 5 ), θα μπορούσαμε να ορίσουμε την ευρωστία του ατόμου αυτού ως F = 1/C. Θυμηθείτε ότι καλύτερο άτομο σημαίνει μικρότερο C, δηλαδή μεγαλύτερο F. Εκτός από τη διαϕοροποίηση στην κωδικοποίηση που κάναμε σε σχέση με τα προηγούμενα προβλήματα, θα πρέπει να δούμε και το πώς θα ορίσουμε τους τελεστές διασταύρωσης και μετάλλαξης. Εύκολα μπορούμε να δούμε ότι αν πάρουμε δύο χρωμοσώματα και τα διασταυρώσουμε με τον τρόπο που περιγράψαμε, δηλαδή με χιαστί συνδυασμό των τμημάτων των γονέων με βάση ένα σημείο κοπής, θα δημιουργήσουμε δύο απογόνους που δεν θα είναι έγκυρες κωδικοποιήσεις πιθανών λύσεων στο πρόβλημα του πλανόδιου πωλητή, αϕού, τόσο θα επαναλαμβάνονται πόλεις δύο ϕορές, όσο και θα λείπουν πόλεις από τα χρωμοσώματα-απογόνους. Για τον λόγο αυτό, συνήθως στο πρόβλημα του πλανόδιου πωλητή ακολουθούμε μία παραλλαγή του κλασικού τελεστή διασταύρωσης με ένα σημείο κοπής, που λέγεται διασταύρωση σειράς (order crossover), ϕυσικά πάλι έχοντας δεδομένη μία πιθανότητα διασταύρωσης p c και μέσω της επιλογής ενός τυχαίου αριθμού r στο διάστημα [, 1), να αποϕασίζεται αν σε ένα ζευγάρι χρωμοσωμάτων θα γίνει διασταύρωση ή όχι. Με τον τελεστή διασταύρωσης σειράς, επιλέγονται τυχαία δύο σημεία κοπής των γονέων (τα ίδια σημεία και για τους δύο). Δηλαδή κάθε γονέας αποτελείται από τρία τμήματα, αυτό πριν το πρώτο σημείο κοπής, αυτό ανάμεσα στα δύο σημεία κοπής και αυτό μετά το δεύτερο σημείο κοπής. Εστω ότι ο ένα γονέας είναι ο P Q R και ο άλλος ο S T U, όπου τα δείχνουν τις θέσεις των σημείων κοπής, δηλαδή τα τμήματα P και S έχουν ίσο πλήθος γονιδίων, έστω K, τα τμήματα Q και T έχουν επίσης ίσο πλήθος γονιδίων, έστω L, και ομοίως τα τμήματα R και U έχουν ίσο πλήθος γονιδίων, έστω M. Τότε οι απόγονοι που προκύπτουν από αυτούς τους δύο γονείς είναι οι A Q B και C T D, όπου τα τμήματα A και C έχουν K γονίδια και τα τμήματα B και D έχουν M γονίδια. Τα γονίδια των B και A συμπληρώνονται με αυτή τη σειρά από τα γονίδια των U, S και T, με αυτή τη σειρά, που δεν έχουν εμϕανισθεί στο Q και τα γονίδια των D και C συμπληρώνονται με αυτή τη σειρά από τα γονίδια των R, P και Q, με αυτή τη σειρά, που δεν έχουν εμϕανισθεί στο T. Δείτε το παράδειγμα: Επίσης, για το πρόβλημα του πλανόδιου πωλητή, θα πρέπει να υιοθετήσουμε κάποια ιδιαίτερη εκδοχή του κλασικού τελεστή της μετάλλαξης, γιατί το να μεταβάλουμε απλώς την τιμή ενός ή περισσότερων γονιδίων σε ένα χρωμόσωμα είναι σχεδόν βέβαιο ότι θα οδηγήσει σε μη έγκυρη αναπαράσταση κάποιας λύσης του προβλήματος. Η παραλλαγή που συνήθως υιοθετούμε είναι η εξής. Δεδομένης μίας πιθανότητας μετάλλαξης p m, αποϕασίζουμε, μέσω της επιλογής ενός τυχαίου αριθμού r στο διάστημα

7 [, 1), αν σε ένα χρωμόσωμα θα εϕαρμοσθεί ο τελεστής. Αν ναι, επιλέγονται τυχαία δύο γονίδια και ανταλλάσσουν θέσεις. Για παράδειγμα, το χρωμόσωμα θα μπορούσε να υποστεί μετάλλαξη στις θέσεις 2 και 6 και να γίνει το Με βάση τα προαναϕερθέντα, υλοποιήστε σε C ένα γενετικό αλγόριθμο για το πρόβλημα του πλανόδιου πωλητή. Το πρόγραμμα που θα γράψετε (έστω ότι το εκτελέσιμο ονομάζεται tspga ) θα πρέπει να διαβάζει αρχικά από την πρότυπη είσοδο, στην πρώτη γραμμή, το πλήθος των πόλεων και στη συνέχεια, ως ακεραίους, τις αποστάσεις μεταξύ τους. Πιο συγκεκριμένα, στη δεύτερη γραμμή θα δίνονται οι αποστάσεις της 1ης πόλης από τη 2η, την 3η κλπ., στην επόμενη γραμμή, οι αποστάσεις της 2ης πόλης από όλες τις επόμενές της, κοκ., και, τέλος, η απόσταση της προτελευταίας πόλης από την τελευταία. Για τις παραμέτρους του γενετικού αλγορίθμου θα πρέπει να δώσετε default τιμές μέσα στο πρόγραμμα μέσω συμβολικών σταθερών, αλλά θα πρέπει να υπάρχει και η δυνατότητα να εκτελείται ο γενετικός αλγόριθμος και με διαϕορετικές τιμές που θα δίνονται ως ορίσματα στη γραμμή εντολής, με τρόπο που θα επιλέξετε εσείς, αλλά θα τεκμηριώσετε με σαϕήνεια σε ένα συνοδευτικό αρχείο README. Ακολουθεί μία ενδεικτική εκτέλεση ενός γενετικού αλγορίθμου για το πρόβλημα. Και για το πρόγραμμα αυτό είναι προϕανές ότι είναι αδύνατον να αναπαραγάγετε με ακρίβεια τα αποτελέσματα. Πάντως για την παρακάτω εκτέλεση, έχουμε πληθυσμό P = 1 ατόμων, μέγιστο πλήθος γενεών G = 1 και πιθανότητες διασταύρωσης p c =.5 και μετάλλαξης p m =.1. Επίσης, στο πρόγραμμα αυτό εϕαρμόστηκε ελιτισμός ενός ατόμου, δηλαδή το καλύτερο άτομο κάθε γενεάς περνά στην επόμενη, χωρίς να μπει στη διαδικασία της τυχαίας επιλογής, και μάλιστα ϕροντίζεται ώστε στην επόμενη γενεά να μην μεταλλαχθεί, ούτε να διασταυρωθεί με άλλο άτομο. $./tspga Generation : BFit =.7246 AvFit =.4788 BLength = 138 Generation 1: BFit =.7246 AvFit =.4744 BLength = 138 Generation 2: BFit =.7246 AvFit =.4839 BLength = 138 Generation 3: BFit =.7246 AvFit =.4844 BLength = 138 Generation 4: BFit =.7246 AvFit =.4753 BLength = 138 Generation 5: BFit =.979 AvFit =.4939 BLength = Generation 9999: BFit = AvFit =.8248 BLength = 9 Generation 1: BFit = AvFit =.8238 BLength = 9 Best chromosome is:

8 Path length = 9 $ Μπορείτε να δοκιμάσετε το πρόγραμμά σας και με άλλα στιγμιότυπα του προβλήματος, που γεννώνται τυχαία από το πρόγραμμα Το πρόγραμμα αυτό μπορεί να κληθεί είτε χωρίς ορίσματα, είτε από ένα έως τρία ορίσματα, και παράγει στην έξοδό του τυχαία δεδομένα για το πρόβλημα του πλανόδιου πωλητή στη μορϕή που τα περιμένει το πρόγραμμα tspga. Οι διαϕορετικές εκδοχές χρήσης του προγράμματος περιγράϕονται στη συνέχεια: randtsp: Δημιουργεί ένα τυχαίο στιγμιότυπο για 1 πόλεις, με αποστάσεις μεταξύ τους από 1 έως 1 και με ϕύτρο της γεννήτριας τυχαίων αριθμών τον τρέχοντα χρόνο. randtsp <n>: Δημιουργεί ένα τυχαίο στιγμιότυπο για <n> πόλεις, με αποστάσεις μεταξύ τους από 1 έως 1 και με ϕύτρο της γεννήτριας τυχαίων αριθμών τον τρέχοντα χρόνο. randtsp <n> <max>: Δημιουργεί ένα τυχαίο στιγμιότυπο για <n> πόλεις, με αποστάσεις μεταξύ τους από 1 έως <max> και με ϕύτρο της γεννήτριας τυχαίων αριθμών τον τρέχοντα χρόνο. randtsp <n> <max> <seed>: Δημιουργεί ένα τυχαίο στιγμιότυπο για <n> πόλεις, με αποστάσεις μεταξύ τους από 1 έως <max> και με ϕύτρο της γεννήτριας τυχαίων αριθμών το <seed>. Κάποιες επιπλέον εκτελέσεις του προγράμματος tspga, με τυχαίες εισόδους που παράγονται από το πρόγραμμα randtsp, ϕαίνονται στη συνέχεια. $./randtsp /tspga Generation : BFit =.22 AvFit =.2 BLength = Generation 1: BFit =.22 AvFit =.2 BLength = Generation 2: BFit =.22 AvFit =.2 BLength = Generation 3: BFit =.22 AvFit =.2 BLength = Generation 4: BFit =.22 AvFit =.2 BLength = Generation 5: BFit =.23 AvFit =.2 BLength = Generation 9999: BFit =.1 AvFit =.74 BLength = 9982 Generation 1: BFit =.1 AvFit =.74 BLength = 9982 Best chromosome is:... Path length = 9982 Το πρόγραμμά σας θα πρέπει να είναι σε θέση να ελέγχει, για δεδομένο στιγμιότυπο του προβλήματος, αν ένα συγκεκριμένο μονοπάτι είναι έγκυρη λύση, δηλαδή αν περιλαμβάνει όλες τις πόλεις ακριβώς μία ϕορά, και στην περίπτωση αυτή θα πρέπει να εκτυπώνει το μήκος του μονοπατιού. Το μονοπάτι προς έλεγχο θα πρέπει να δίνεται στο πρόγραμμα από την πρότυπη είσοδο αμέσως μετά τα δεδομένα των πόλεων. Για τη λειτουργία αυτή, το πρόγραμμά σας θα πρέπει να καλείται με την επιλογή -c. Για παράδειγμα: $./tspga -c

9 Path length: 9 $ Σε διάϕορες ιστοσελίδες στο διαδίκτυο υπάρχουν διαθέσιμα δεδομένα για το πρόβλημα του πλανόδιου πωλητή. Μία από αυτές τις ιστοσελίδες είναι η από την οποία μπορεί κανείς να κατεβάσει αρχεία δεδομένων για το πρόβλημα του πλανόδιου πωλητή, αλλά και για άλλα συναϕή προβλήματα. Συγκεκριμένα, στον σύνδεσμο τα αρχεία με επέκταση.tsp.gz είναι συμπιεσμένα αρχεία στιγμιοτύπων προβλημάτων πλανόδιου πωλητή. Η μορϕή του περιεχομένου των αρχείων αυτών περιγράϕεται στο έγγραϕο Το πρόγραμμά σας θα πρέπει να είναι σε θέση να διαβάζει αρχεία με επέκταση.tsp και να λύνει τα προβλήματα που περιγράϕουν. Σημειώστε ότι στα αρχεία αυτά ακολουθούνται αρκετά διαϕορετικοί τρόποι περιγραϕής των δεδομένων, οι οποίοι όμως τεκμηριώνονται λεπτομερώς στο παραπάνω έγγρα- ϕο. Οταν το πρόγραμμά σας καλείται με την επιλογή -i <tspfile>, δεν θα πρέπει να διαβάζει τα δεδομένα του από την πρότυπη είσοδο, αλλά από το αρχείο <tspfile>. Παράδειγμα: $./tspga -i swiss42.tsp Generation : BFit =.243 AvFit =.28 BLength = 4119 Generation 1: BFit =.243 AvFit =.26 BLength = 4119 Generation 2: BFit =.249 AvFit =.27 BLength = 41 Generation 3: BFit =.249 AvFit =.28 BLength = 41 Generation 4: BFit =.249 AvFit =.21 BLength = Generation 9999: BFit =.786 AvFit =.555 BLength = 1273 Generation 1: BFit =.786 AvFit =.562 BLength = 1273 Best chromosome is: Path length = 1273 $ Εννοείται ότι οι επιλογές -c και -i πρέπει να μπορούν να χρησιμοποιηθούν ταυτόχρονα, καθώς και με οποιεσδήποτε άλλες επιλογές υιοθετήσετε για να δίνετε παραμέτρους του γενετικού αλγορίθμου στη γραμμή εντολής. Φυσικά, η επιλογή -c δεν είναι συμβατή με επιλογές που καθορίζουν παραμέτρους του γενετικού αλγορίθμου, αϕού δεν εκτελείται ο γενετικός αλγόριθμος, αλλά απλώς γίνεται έλεγχος εγκυρότητας μίας λύσης και εύρεση του μήκους του μονοπατιού της. Παραδείγματα: $./tspga -c -i swiss42.tsp Path length = 1273

10 $ $./tspga -i swiss42.tsp -p 1 -g 1 -pc.85 -pm.6 Generation : BFit =.237 AvFit =.29 BLength = 4215 Generation 1: BFit =.237 AvFit =.29 BLength = 4215 Generation 2: BFit =.237 AvFit =.29 BLength = 4215 Generation 3: BFit =.237 AvFit =.29 BLength = 4215 Generation 4: BFit =.249 AvFit =.21 BLength = 411 Generation 5: BFit =.252 AvFit =.211 BLength = 3964 Generation 6: BFit =.255 AvFit =.213 BLength = Generation 999: BFit =.551 AvFit =.34 BLength = 1815 Generation 1: BFit =.551 AvFit =.31 BLength = 1815 Best chromosome is: Path length = 1815 $ Παραδοτέο Για να παραδώσετε τη δουλειά σας, θα πρέπει να κάνετε τα εξής: Κατ αρχήν, θεωρείται δεδομένο ότι θα έχετε διαχωρίσει τις εϕαρμογές σας σε αρκετά πηγαία αρχεία και αρχεία επικεϕαλίδας. Τοποθετήστε όλα τα αρχεία, για το πρόγραμμα που μαντεύει δυαδικό αριθμό, το πρόγραμμα μεγιστοποίησης συνάρτησης, αλλά και για αυτό του πλανόδιου πωλητή, μέσα σε ένα κατάλογο που θα δημιουργήσετε, έστω με όνομα ga (διαϕορετικοί υποκατάλογοι για το κάθε πρόβλημα), σε κάποιο σύστημα Unix. Επίσης, τοποθετήστε στους υποκαταλόγους κατάλληλα αρχεία με ονόματα README, στα οποία να δίνετε οδηγίες για τη μεταγλώττιση των προγραμμάτων, την περιγραϕή των ορισμάτων γραμμής εντολής, καθώς και ό,τι άλλο κρίνετε σκόπιμο να επισημάνετε. Προαιρετικά, μπορείτε να παραδώσετε και ένα αρχείο Makefile που να αναλαμβάνει όλη τη διαδικασία της κατασκευής των τελικών εκτελέσιμων μέσω της εντολής make (δώστε man make για περισσότερες λεπτομέρειες). Οντας στον κατάλογο που περιέχει τον κατάλογο ga, δημιουργήστε ένα επιπεδοποιημένο tar αρχείο (έστω με όνομα ga.tar) που περιέχει τον κατάλογο ga και όλα του τα περιεχόμενα. Αυτό γίνεται με την εντολή tar cvf ga.tar ga. 3 Συμπιέστε το αρχείο ga.tar, ώστε να δημιουργηθεί το αρχείο ga.tar.gz. Αυτό γίνεται με την εντολή gzip ga.tar. 4 Το αρχείο ga.tar.gz είναι που θα πρέπει να υποβάλετε μέσω του eclass. 5 3 Αν θέλετε να ανακτήσετε την δενδρική δομή που έχει ϕυλαχθεί σε ένα επιπεδοποιημένο tar αρχείο file.tar, αυτό μπορεί να γίνει με την εντολή tar xvf file.tar. 4 Αν θέλετε να αποσυμπιέσετε ένα αρχείο file.gz που έχει συμπιεσθεί με την εντολή gzip, αυτό μπορεί να γίνει με την εντολή gzip -d file.gz. 5 Μην υποβάλετε ασυμπίεστα αρχεία ή αρχεία που είναι συμπιεσμένα σε άλλη μορϕή εκτός από tar.gz (π.χ. rar, 7z, zip, κλπ.), γιατί δεν θα γίνονται δεκτά για αξιολόγηση.

11 Ομαδική εργασία Η εργασία αυτή μπορεί να παραδοθεί και από ομάδες των δύο ατόμων. Στην περίπτωση αυτή, θα παραδοθεί μόνο από το ένα μέλος της ομάδας, αλλά μέσα σε ένα αρχείο README του καταλόγου ga θα αναϕέρονται σαϕώς τα στοιχεία των δύο μελών. Ο στόχος της διαδικασίας αυτής είναι να ενισχυθεί η ιδέα της ισότιμης συνεργασίας σε μία ομάδα για την επίτευξη ενός στόχου. Διαγωνισμός καλύτερων προγραμμάτων για το πρόβλημα του πλανόδιου πωλητή Βελτιωμένες και κατάλληλα προσαρμοσμένες εκδοχές των προγραμμάτων που θα υποβληθούν για το πρόβλημα του πλανόδιου πωλητή θα μπορούν να συμμετάσχουν, εϕ όσον το δηλώσουν οι συγγραϕείς τους, σε διαγωνισμό καλύτερων προγραμμάτων που θα διεξαχθεί την τελευταία ημέρα της προϕορικής εξέτασης των εργασιών, μετά το τέλος της. Για τα τρία καλύτερα προγράμματα, θα υπάρξει επιβράβευση στη βαθμολογία τους κατά 1%, 7% και 4%, κατά σειρά. Αν υπάρξουν και άλλα προγράμματα που θα έχουν μικρές διαϕορές στην ποιότητά τους ως προς το τρίτο κατά σειρά πρόγραμμα, θα έχουν και αυτά μία επιβράβευση 2%. Περισσότερες λεπτομέρειες για τον διαγωνισμό θα ανακοινωθούν εν καιρώ στο ϕόρουμ του μαθήματος. Λάβετε υπόψη σας ότι η εστίαση του διαγωνισμού θα είναι η εύρεση λύσεων στο πρόβλημα του πλανόδιου πωλητή, σε περιορισμένο χρόνο, που να είναι όσο το δυνατόν πιο κοντά στη βέλτιστη. Τα δεδομένα για τα προγράμματα που θα συμμετάσχουν στον διαγωνισμό θα διαβάζονται μόνο από την πρότυπη είσοδο (πλήθος πόλεων και τριγωνικός πίνακας αποστάσεων), όχι από αρχεία.tsp.

Crossword1.txt, Crossword2.txt, Crossword3.txt, Crossword4.txt και Crossword5.txt, $ cat Crossword1.txt $

Crossword1.txt, Crossword2.txt, Crossword3.txt, Crossword4.txt και Crossword5.txt, $ cat Crossword1.txt $ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (0-) Εργασία Το πρόβλημα που καλείσθε να αντιμετωπίσετε στην άσκηση αυτή είναι η συμπλήρωση σταυρολέξων. Δεδομένα του προβλήματος είναι ένα κενό σταυρόλεξο, δηλαδή οι διαστάσεις

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

Γενετικοί Αλγόριθμοι. Εισαγωγή

Γενετικοί Αλγόριθμοι. Εισαγωγή Τεχνητή Νοημοσύνη 08 Γενετικοί Αλγόριθμοι (Genetic Algorithms) Εισαγωγή Σε αρκετές περιπτώσεις το μέγεθος ενός προβλήματος καθιστά απαγορευτική τη χρήση κλασικών μεθόδων αναζήτησης για την επίλυσή του.

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

M i,0 = fw(0, ), 0 i nfl M i,j = min. MinCost = nfl. min

M i,0 = fw(0, ), 0 i nfl M i,j = min. MinCost = nfl. min ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (2017-18) Εργασία 3 Αντικείμενο της εργασίας αυτής είναι η βελτιστοποίηση της λειτουργίας ενός ανελκυστήρα. Το πρόβλημα που καλείσθε να επιλύσετε διατυπώνεται στη συνέχεια.

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Προβλήματα Βελτιστοποίησης Περιγραφή προβλήματος με αρχική κατάσταση, τελική

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

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά ΤΕΙ Κεντρικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταπτυχιακό Πρόγραμμα Τηλεπικοινωνιών & Πληροφορικής Μάθημα : 204a Υπολογιστική Ευφυία Μηχανική Μάθηση Καθηγητής : Σπύρος Καζαρλής Ενότηα : Εξελικτική

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

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 7 Γενετικοί Αλγόριθµοι Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Εισαγωγή Σε αρκετές περιπτώσεις το µέγεθος ενός προβλήµατος καθιστά απαγορευτική

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

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

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

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η αντικειμενική συνάρτηση σπανίως

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

Συστήματα Επιχειρηματικής Ευφυίας

Συστήματα Επιχειρηματικής Ευφυίας Συστήματα Επιχειρηματικής Ευφυίας Γενετικοί αλγόριθμοι (GA) : Από τον Δαρβίνο (1859) στον J. Holland (1975). (Ένα ταξίδι στον υπέροχο κόσμο της επιλογής, της διασταύρωσης και της μετάλλαξης). Charles Darwin

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

Τεχνολογία Συστημάτων Υδατικών Πόρων

Τεχνολογία Συστημάτων Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Τεχνολογία Συστημάτων Υδατικών Πόρων Βελτιστοποίηση:Προχωρημένες Μέθοδοι Χρήστος Μακρόπουλος, Επίκουρος Καθηγητής ΕΜΠ Σχολή Πολιτικών

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

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

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

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

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

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 3ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Εξελικτικός Υπολογισμός Ορισμός Βασικές Αρχές Βελτιστοποίησης Κλασικοί Αλγόριθμοι

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

dtw(a, B) = dtw(a n, B m )

dtw(a, B) = dtw(a n, B m ) ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (2016-17) Εργασία 3 Η εργασία αυτή εντάσσεται στις περιοχές της Επιστήμης των Υπολογιστών που ονομάζονται μηχανική μάθηση (machine learning) και εξόρυξη δεδομένων (data mining),

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

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ηµήτρης Ψούνης ΠΛΗ31, Απαντήσεις Quiz Γενετικών Αλγορίθµων 1 ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΡΩΤΗΜΑ 1.1 Ο φαινότυπος ενός ατόµου α.αναπαριστά ένα άτοµο στο χώρο λύσεων του προβλήµατος β.κωδικοποιεί

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ 1 ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 21 Σεπτεµβρίου 2004 ιάρκεια: 3 ώρες Το παρακάτω σύνολο

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

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

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS Χρήστος Δ. Ταραντίλης Αν. Καθηγητής ΟΠΑ ACO ΑΛΓΟΡΙΘΜΟΙ Η ΛΟΓΙΚΗ ΑΝΑΖΗΤΗΣΗΣ ΛΥΣΕΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΙΑΤΑΞΗΣ (1/3) Ε..Ε. ΙΙ Oι ACO

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

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

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

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

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Ε ανάληψη. Α ληροφόρητη αναζήτηση ΠΛΗ 405 Τεχνητή Νοηµοσύνη Το ική Αναζήτηση Local Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος,

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

1 ο Φροντιστήριο Υπολογιστική Νοημοσύνη 2

1 ο Φροντιστήριο Υπολογιστική Νοημοσύνη 2 1 ο Φροντιστήριο Υπολογιστική Νοημοσύνη 2 Άσκηση Δίνεται ο αρχικός πληθυσμός, στην 1 η στήλη στον παρακάτω πίνακα και οι αντίστοιχες καταλληλότητες (στήλη 2). Υποθέστε ότι, το ζητούμενο είναι η μεγιστοποίηση

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

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Νευρωνικά ίκτυα και Εξελικτικός Προγραµµατισµός Σηµερινό Μάθηµα επανάληψη Γενετικών Αλγορίθµων η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Κωδικοποίηση Αντικειµενική Συνάρτ Αρχικοποίηση Αξιολόγηση

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

city9 city8 city6 city7 city5 28 city3 25 city1 city0 P ijk =

city9 city8 city6 city7 city5 28 city3 25 city1 city0 P ijk = ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (2018-19) Εργασία 3 Εστω ότι μας δίνεται ένα σύνολο από πόλεις και τα μήκη των δρόμων που συνδέουν κάποια ζευγάρια από αυτές, όπως ϕαίνεται στο διπλανό σχήμα. Μιλώντας με μαθηματικούς

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

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Τεχνολογία Συστημάτων Υδατικών Πόρων

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η στοχική συνάρτηση σπανίως

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

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Β Ομάδα Ασκήσεων Λογικού Προγραμματισμού Ακαδημαϊκού Έτους Page 1 of 15 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2016-17 Οι ασκήσεις της ομάδας αυτής πρέπει

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Νικόλαος - Σπυρίδων Αναστασίου Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Χρήση Εξελικτικών Αλγορίθμων για την εκπαίδευση

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

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο EVOLOTIONARY ALGORITHMS 1 ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Η Λογική (1/2) Ο Εξελικτικός Υπολογισµός (evolutionary computation) χρησιµοποιεί τα υπολογιστικά µοντέλα εξελικτικών

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

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

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

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ»

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ» Κωνσταντίνος Π. Φερεντίνος Διδάσκων ΠΔ 407/80 Οι σημειώσεις αυτές αναπτύχθηκαν στα πλαίσια του προγράμματος «ΕΠΕΑΕΚ 2 Πρόγραμμα Αναβάθμισης

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

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

Τεχνητή Νοημοσύνη. 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η έκδοση, Β. Γκιούρδας

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

Επικοινωνία:

Επικοινωνία: Σπύρος Ζυγούρης Καθηγητής Πληροφορικής Επικοινωνία: spzygouris@gmail.com Πως ορίζεται ο τμηματικός προγραμματισμός; Πρόγραμμα Εντολή 1 Εντολή 2 Εντολή 3 Εντολή 4 Εντολή 5 Εντολή 2 Εντολή 3 Εντολή 4 Εντολή

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

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

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

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

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

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

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΜΕΡΟΣ ΤΡΙΤΟ Πολίτη Όλγα Α.Μ. 4528 Εξάµηνο 8ο Υπεύθυνος Καθηγητής Λυκοθανάσης

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

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

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

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

ΣΧΕΔΙΑΣΜΟΣ ΚΙΝΗΣΗΣ ΚΑΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΩΝ ΣΕ ΒΙΟΜΗΧΑΝΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΣΧΕΔΙΑΣΜΟΣ ΚΙΝΗΣΗΣ ΚΑΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΩΝ ΣΕ ΒΙΟΜΗΧΑΝΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ηλίας Κ. Ξυδιάς 1, Ανδρέας Χ. Νεάρχου 2 1 Τμήμα Μηχανικών Σχεδίασης Προϊόντων & Συστημάτων, Πανεπιστήμιο Αιγαίου, Σύρος

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

Υπολογιστική Νοημοσύνη

Υπολογιστική Νοημοσύνη Υπολογιστική Νοημοσύνη Εξελικτική Βελτιστοποίηση Γενετικοί Αλγόριθμοι Αναστάσιος Ντούνης, Καθηγητής Εργαστήριο Υπολογιστικής Νοημοσύνης Ευφυούς Ελέγχου Τμήμα Μηχανικών Αυτοματισμού Σχολή Τεχνολογικών Εφαρμογών

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA

Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA ΕΦΑΡΜΟΓΗ στην ΕΠΕΞΕΡΓΑΣIΑ ΣΗΜΑΤΟΣ και στην ΑΣΑΦΗ ΛΟΓIΚΗ Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ ΓΑ - Εισαγωγικά Γενετικοί αλγόριθµοι (Genetic algorithms)

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο 2014-2015 Πρώτη Σειρά Ασκήσεων (Υποχρεωτική, 25% του συνολικού βαθμού στο μάθημα) Ημερομηνία Ανακοίνωσης: 22/10/2014 Ημερομηνία Παράδοσης: Μέχρι 14/11/2014 23:59

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Β Ομάδα Ασκήσεων Λογικού Προγραμματισμού Ακαδημαϊκού Έτους Page 1 of 10 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2018-19 Οι ασκήσεις της ομάδας αυτής πρέπει

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

Εισαγωγή στους Γενετικούς Αλγορίθμους

Εισαγωγή στους Γενετικούς Αλγορίθμους ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΓΝΩΡΙΣΗΣ ΠΡΟΤΥΠΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών & Πληροφορικής Τομέας Εφαρμογών και Θεμελιώσεων της Επιστήμης των Υπολογιστών. Διευθυντής

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 11: Κωδικοποίηση Πηγής Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Αλγόριθμοι κωδικοποίησης πηγής Αλγόριθμος Fano Αλγόριθμος Shannon Αλγόριθμος Huffman

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε

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

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

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Τυφλής Αναζήτησης Οι αλγόριθμοι τυφλής αναζήτησης εφαρμόζονται σε

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

Συνδυαστικά Λογικά Κυκλώματα

Συνδυαστικά Λογικά Κυκλώματα Συνδυαστικά Λογικά Κυκλώματα Ένα συνδυαστικό λογικό κύκλωμα συντίθεται από λογικές πύλες, δέχεται εισόδους και παράγει μία ή περισσότερες εξόδους. Στα συνδυαστικά λογικά κυκλώματα οι έξοδοι σε κάθε χρονική

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

1. Μία συνάρτηση δεν μπορεί να έχει παραπάνω από μία παραμέτρους.

1. Μία συνάρτηση δεν μπορεί να έχει παραπάνω από μία παραμέτρους. 1ΗΣ ΣΕΛΙΔΑΣ Κυριακή 12 Μαΐου 2019 Προσομοιωμένο διαγώνισμα στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Προσανατολισμού Περιφερειακή Διεύθυνση Α/θμιας & Β/θμιας Εκπαίδευσης Νοτίου Αιγαίου

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

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΣΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΟΥ ΔΙΑΓΩΝΙΣΜΑΤΟΣ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2012-2013 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α Α1 Α2 1. Μέχρι το 1976

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

Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών

Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών Πάτρα 17 - Μαΐου - 2017 Παναγιώτης Τσίκας Σκοπός του προβλήματος Σκοπός του προβλήματος,

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

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως Σπύρος Καζαρλής Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως ως αλγόριθμοι γενικής βελτιστοποίησης

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ :

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

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

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

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

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

Περιγραφή Προβλημάτων

Περιγραφή Προβλημάτων Τεχνητή Νοημοσύνη 02 Περιγραφή Προβλημάτων Φώτης Κόκκορας Τμ.Τεχν/γίας Πληροφορικής & Τηλ/νιών - ΤΕΙ Λάρισας Παραδείγματα Προβλημάτων κύβοι (blocks) Τρεις κύβοι βρίσκονται σε τυχαία διάταξη πάνω στο τραπέζι

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2016-2017 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 23/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ ( 7) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν γράφοντας στο

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 12 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

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

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

Γενετικός Προγραμματισμός Γενετικός Προγραμματισμός Εισαγωγή Κεντρικός στόχος της Τεχνητής Νοημοσύνης αποτελεί η ανάπτυξη μεθόδων και τεχνικών που θα καταστήσουν τους Ηλεκτρονικούς Υπολογιστές ικανούς να επιλύουν προβλήματα με

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

Βελτιστοποιημένος χρονοπρογραμματισμός επιχειρηματικών διαδικασιών με χρήση τεχνικών τεχνητής νοημοσύνης

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

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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