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

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

Download "ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΥΡΙΣΤΙΚΩΝ ΜΕΘΟ ΩΝ ΜΕ ΤΗ ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΥΡΙΣΤΙΚΩΝ ΜΕΘΟ ΩΝ ΜΕ ΤΗ ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ ιπλωµατική Εργασία του Καριπίδη Κωνσταντίνου (ΑΕΜ: 744) Επιβλέπων Καθηγητής: ΒΛΑΧΑΒΑΣ ΙΩΑΝΝΗΣ ΘΕΣΣΑΛΟΝΙΚΗ ΙΟΥΛΙΟΣ i-

2

3 Πρόλογος Τα προβλήµατα ικανοποίησης περιορισµών (Constraint Satisfaction Problems) γίνονται όλο και ποιο διάσηµα στο χώρο του προγραµµατισµού και της Πληροφορικής. Ταυτόχρονα, δηµιουργείται και η ανάγκη δηµιουργίας και βελτίωσης των αλγορίθµων που χρησιµοποιούνται για τη λύση τους. Αλγόριθµοι ελέγχου συνέπειας, ευρετικές συναρτήσεις ανάθεσης τιµών, καθώς και γνωστοί αλγόριθµοι αναζήτησης, είναι τα εργαλεία επίλυσης τέτοιων προβληµάτων. Η εργασία αυτή πραγµατεύεται τη µελέτη της Μοναδιαίας Συνέπειας τόξου, που είναι αλγόριθµος ελέγχου συνέπειας, και των διάφορων ευρετικών συναρτήσεων. Επιλέχθηκε το πρόβληµα χρονοπρογραµµατισµού µηχανών Job-Shop Scheduling το οποίο υλοποιήθηκε έτσι ώστε να µπορεί να γίνει πειραµατική µελέτη. Απώτερος σκοπός ήταν η µελέτη των αποτελεσµάτων µε τη χρήση της Μοναδιαίας συνέπειας τόξου, των διάφορων ευρετικών µεθόδων, σε µεγάλη ποικιλία προβληµάτων. Η εργασία εκπονήθηκε µε την φιλοξενία και την υποστήριξη του εργαστηρίου Λογικού προγραµµατισµού και Ευφυών Συστηµάτων του τµήµατος Πληροφορικής του ΑΠΘ ( Ιδιαίτερες ευχαριστίες προς τον κ. Βλαχάβα που µου έδωσε την ευκαιρία να ασχοληθώ µε την εργασία αυτή, δείχνοντάς µου εµπιστοσύνη κατά την ανάθεση των διπλωµατικών εργασιών. Επίσης, θα ήθελα να ευχαριστήσω τον κ. Ηλία Σακελαρίου για την ουσιαστική του βοήθεια και υποστήριξη. Όλο το διάστηµα της εκπόνησης της εργασίας ήταν δίπλα µου σε ότι µου χρειάστηκε, µε διευκρινήσεις και επεξηγήσεις στις δυσκολίες που συνάντησα και µε ότι βιβλιογραφικό υλικό µπορούσε να µου προσφέρει. Η βοήθεια του αυτή ήταν πολύ σηµαντική και συντέλεσε στην τελική διαµόρφωση της διπλωµατικής εργασίας. Ευχαριστώ όλα τα παραπάνω πρόσωπα και ευελπιστώ στο µέλλον να µου δοθεί η ευκαιρία να συνεργαστώ ξανά µαζί σας. Καριπίδης Κωνσταντίνος i-

4 -ii-

5 Περιεχόµενα ΠΡΟΛΟΓΟΣ...I ΠΕΡΙΕΧΟΜΕΝΑ...III 1 ΕΙΣΑΓΩΓΗ ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ ΠΕΡΙΟΡΙΣΜΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ / CONSTRAINT PROGRAMMING (CP) ΑΛΓΟΡΙΘΜΟΙ ΠΡΟΒΛΗΜΑΤΩΝ ΠΕΡΙΟΡΙΣΜΩΝ Αναπαράσταση προβληµάτων Παραγωγή και οκιµή Κλασικοί Αλγόριθµοι αναζήτησης Αλγόριθµοι ελέγχου συνέπειας Συνδυασµός αλγορίθµων αναζήτησης και συνέπειας Συµπεράσµατα ΕΥΡΕΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΚΑΙ ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ Περιγραφή αλγορίθµου Υλοποίηση αλγορίθµου Αξιολόγηση αλγορίθµου ΕΥΡΕΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Αρχή της συντοµότερης αποτυχίας (Fail-First Principle) Αρχή των ελάχιστων συγκρούσεων (minimum conflicts) Ευρετικές συναρτήσεις µε χρήση υποπροβληµάτων ΣΥΜΠΕΡΑΣΜΑΤΑ ΕΦΑΡΜΟΓΗ ΤΗΣ ΜΟΝΑ ΙΑΙΑΣ ΣΥΝΕΠΕΙΑΣ ΤΟΞΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ JOB-SHOP SCHEDULING JOB-SHOP SCHEDULING iii-

6 4.2 ΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΗΜΑΤΩΝ (JOB-SHOP SCHEDULING) ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Προετοιµασία των δεδοµένων Υλοποίηση των περιορισµών Αναζήτηση της λύσης ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ ΚΑΙ ΑΡΧΗ ΤΗΣ ΣΥΝΤΟΜΟΤΕΡΗΣ ΑΠΟΤΥΧΙΑΣ (FAIL-FIRST PRINCIPLE) Μοναδιαία Συνέπεια Τόξου Αρχή της συντοµότερης αποτυχίας (Fail-First Principle) ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΕΙΡΑΜΑΤΩΝ ΣΥΜΠΕΡΑΣΜΑΤΑ CUMULATIVE ΚΑΙ DISJUNCTIVE ΜΟΝΑ ΙΑΙΑ ΣΥΝΕΠΕΙΑ ΤΟΞΟΥ ΑΡΧΗ ΤΗΣ ΣΥΝΤΟΜΟΤΕΡΗΣ ΑΠΟΤΥΧΙΑΣ (FAIL FIRST PRINCIPLE) ΣΥΝΟΨΗ, ΠΡΟΒΛΗΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ...72 ΒΙΒΛΙΟΓΡΑΦΙΑ...73 ΠΑΡΑΡΤΗΜΑ iv-

7 1 Εισαγωγή Η εργασία αυτή πραγµατεύεται τη µελέτη της Μοναδιαίας Συνέπειας τόξου, που είναι αλγόριθµος ελέγχου συνέπειας, και των διάφορων ευρετικών συναρτήσεων. Επιλέχθηκε το πρόβληµα χρονοπρογραµµατισµού µηχανών Job-Shop Scheduling το οποίο υλοποιήθηκε έτσι ώστε να µπορεί να γίνει πειραµατική µελέτη. Απώτερος σκοπός ήταν η µελέτη των αποτελεσµάτων µε τη χρήση της Μοναδιαίας συνέπειας τόξου, των διάφορων ευρετικών µεθόδων, σε µεγάλη ποικιλία προβληµάτων. Ξεκινώντας από το δεύτερο κεφάλαιο, είναι απαραίτητη η αναφορά στο ευρύτερο επιστηµονικό πεδίο που ανήκει η εργασία. Γίνεται αναφορά δηλαδή, στα προβλήµατα ικανοποίησης περιορισµών και στους διάφορους αλγορίθµους που χρησιµοποιούνται για την επίλυσή τους. Επεξήγονται όροι όπως περιορισµοί, προγραµµατισµός µε περιορισµούς, αλγόριθµοι ελέγχου συνέπειας και ευρετικές συναρτήσεις ανάθεσης τιµών. Στη συνέχεια στο τρίτο κεφάλαιο, ορίζεται και αναλύεται ο αλγόριθµος ελέγχου συνέπειας, Μοναδιαία Συνέπεια Τόξου. Επίσης αναλύεται η έννοια και ο σκοπός των ευρετικών συναρτήσεων και αναλύονται µερικές όπως η Αρχή της συντοµότερης αποτυχίας (Fail - First Principle), η Αρχή των ελάχιστων συγκρούσεων (minimum conflicts) και οι Ευρετικές συναρτήσεις µε χρήση υποπροβληµάτων. Το αντικείµενο του τέταρτου κεφαλαίου είναι η υλοποίηση του προβλήµατος και τα εργαλεία που χρησιµοποιήθηκαν. Γίνεται αναφορά στην Eclipse Prolog που είναι η γλώσσα προγραµµατισµού που χρησιµοποιήθηκε, στις βιβλιοθήκες τις Prolog που ενσωµατώθηκαν και στην συνέχεια τα βήµατα που γίνανε για την ολοκλήρωση του κώδικα του προβλήµατος. Ταυτόχρονα γίνεται εκτενής αναφορά στο πρόβληµα Χρονοπρογραµµατισµού µηχανών καταστηµάτων, στους ανθρώπους που το έχουν επιλύσει και στους τρόπους που έχουν χρησιµοποιηθεί µέχρι τώρα. Στη συνέχεια, στο πέµπτο κεφάλαιο γίνεται η ανάλυση των αποτελεσµάτων που πήραµε από τα διάφορα πειράµατα. Καταγράφονται όλα τα πειράµατα που έχουν γίνει, µαζί µε τα αποτελέσµατα που πήραµε και ταυτόχρονα γίνεται µία προσπάθεια αξιολόγησης όλων αυτών. -5-

8 Τέλος κλείνοντας, στο έκτο κεφάλαιο γίνεται η καταγραφή κάποιων γενικών συ- µπερασµάτων µετά την ολοκλήρωση της εργασίας, καθώς και προοπτικές για µελλοντικές εργασίες πάνω στο ίδιο αντικείµενο. Στη συνέχεια υπάρχει η βιβλιογραφία που χρησιµοποιήθηκε και µελετήθηκε και όλος ο κώδικας του προβλήµατος στο παράρτηµα της εργασίας. -6-

9 2 Προβλήµατα ικανοποίησης περιορισµών Τα προβλήµατα ικανοποίησης περιορισµών (Constraint satisfaction problems) είναι µια κατηγορία προβληµάτων στα οποία είναι γνωστές µερικές ιδιότητες της τελικής κατάστασης και επιδιώκεται η εύρεση ενός πλήρους στιγµιότυπου της τελικής κατάστασης. 2.1 Περιορισµοί Ένας περιορισµός µπορεί να θεωρηθεί διαισθητικά ως περιορισµός σε ένα διάστηµα πιθανοτήτων. Οι µαθηµατικοί περιορισµοί είναι ακριβώς προσδιορισµένες σχέσεις µεταξύ αγνώστων ή µεταβλητών, κάθε µία εκ των οποίων παίρνει τιµές από ένα συγκεκριµένο πεδίο τιµών. Οι περιορισµοί περιορίζουν έτσι τις πιθανές τιµές που οι µεταβλητές µπορούν να πάρουν, αντιπροσωπεύοντας κάποιες πληροφορίες για τις µεταβλητές αυτές. Οι περιορισµοί προκύπτουν πλέον στους περισσότερους τοµείς της ανθρώπινης δραστηριότητας. Είναι το φυσικό µέσο έκφρασης για την τυποποίηση των τακτικοτήτων που κρύβονται στους υπολογιστικούς και φυσικούς κόσµους και στις µαθηµατικές αφαιρέσεις τους, µε µια παράδοση που ξεκινάει από τις ηµέρες της Ευκλείδειας Γεωµετρίας εάν όχι νωρίτερα. Οι περιορισµοί έχουν κάποιες ιδιότητες που θα ήταν ενδιαφέρον να αναφερθούν. Κατ αρχάς ένας περιορισµός µπορεί να διευκρινίσει µερικώς µια πληροφορία, αλλά δεν είναι απαραίτητο να διευκρινίσει µεµονωµένα την τιµή των µεταβλητών του. εύτερον είναι προσθετικοί δηλαδή πολλοί περιορισµοί µπορεί να αφορούν συγκεκριµένες µεταβλητές. Τότε δεν έχει σηµασία η σειρά των περιορισµών, αλλά η σύνθεση αυτών των περιορισµών. Τρίτο οι περιορισµοί είναι σπάνια ανεξάρτητοι. Τέταρτο είναι µη κατευθυντικοί. Πέµπτον είναι δηλωτικοί, δηλαδή διευκρινίζει τι σχέση πρέπει να κρατηθεί και όχι την υπολογιστική διαδικασία που θα οδηγήσει σε αυτή τη σχέση. Όλες αυτές οι ιδιότητες πρέπει να λαµβάνονται υπόψη από οποιοδήποτε υπολογιστικό σύστηµα ασχολείται µε περιορισµούς. Με την πάροδο του χρόνου και την εξέλιξη της πληροφορικής δηµιουργήθηκαν α- νάγκες να δηµιουργηθούν προγράµµατα όλο και πιο πολύπλοκα. Έτσι σιγά σιγά δηµι- -7-

10 ουργήθηκε η ανάγκη να χρησιµοποιηθούν οι περιορισµοί στον προγραµµατισµό. Αυτό συνέβη γιατί σε ορισµένα προβλήµατα το φαινόµενο τις συνδυαστικής έκρηξης ουσιαστικά απαγόρευε τη χρήση των κλασικών µεθόδων αναζήτησης. Για αυτό το λόγο άρχισαν να χρησιµοποιούνται οι περιορισµοί στον προγραµµατισµό οι οποίοι βοηθούν στην µείωση του χώρου (και κατά συνέπεια του χρόνου) αναζήτησης. [1],[3],[6] 2.2 Προγραµµατισµός µε περιορισµούς / Constraint Programming (CP) Ο προγραµµατισµός µε περιορισµούς είναι ένα πλαίσιο εργασίας για τη λύση συνδυαστικών (βελτιστοποίησης) προγραµµάτων. Η βασική ιδέα είναι να µοντελοποιηθεί το πρόβληµα σε ένα σύνολο µεταβλητών µε πεδία (οι τιµές των µεταβλητών) και σε ένα σύνολο περιορισµών που µειώνουν τους πιθανούς συνδυασµούς των τιµών των µεταβλητών. Συνήθως τα πεδία είναι πεπερασµένα και τότε µιλάµε για τα προβλήµατα ικανοποίησης περιορισµών (Constraint Satisfaction Problems). Ο στόχος σε αυτά είναι να βρεθούν κάποιες τιµές των µεταβλητών οι οποίες ικανοποιούν όλους τους περιορισµούς. Σε κάποιες περιπτώσεις υπάρχει µία αντικειµενική συνάρτηση οι οποία καθορίζεται από τις µεταβλητές του προβλήµατος. Σε αυτές τις περιπτώσεις ο σκοπός είναι να βρεθεί ένα εφικτό σύνολο τιµών των µεταβλητών το οποίο να ελαχιστοποιεί/µεγιστοποιεί την τιµή της αντικειµενικής συνάρτησης. Αυτά τα προβλήµατα αναφέρονται ως προβλήµατα ικανοποίησης, βελτιστοποίησης περιορισµών (Constraint Satisfaction Optimization Problems CSOP). Πρέπει εδώ να σηµειωθεί ότι µοντελοποίηση προβληµάτων στον προγραµµατισµό µε περιορισµούς είναι φυσική αφού οι περιορισµοί µπορούν να περιγράψουν σωστά αυθαίρετες σχέσεις και πολλοί διαφορετικοί περιορισµοί να συνδυαστούν σε ένα ενιαίο σύστηµα. Σε αντίθεση µε πλαίσια προγραµµατισµού όπως αυτά του γραµµικού, οι περιορισµοί δεν χρησιµοποιούν αναγκαστικά γραµµικές ισότητες και ανισότητες, αλλά µπορούν να εκφράσουν πολύπλοκες και αυθαίρετες µαθηµατικές και λογικές σχέσεις. Η τεχνολογία προγραµµατισµού ικανοποίησης περιορισµών πρέπει να λάβει υπόψη της την παραπάνω γενικότητα στον ορισµό των προβληµάτων. Συνήθως χρησιµοποιείται ένας συνδυασµός αναζήτησης (απαρίθµησης) µαζί µε τη διάδοση περιορισµών (Constraint Propagation), ενώ επίσης µπορούν να εφαρµοστούν και άλλες τεχνικές ό- πως η τοπική αναζήτηση. -8-

11 Η διάδοση περιορισµού (Constraint Propagation) είναι βασισµένη στην ιδέα να χρησιµοποιούνται οι περιορισµοί ώστε το διάστηµα αναζήτησης να «κλαδεύεται» δυναµικά. Κάθε περιορισµός έχει ορίσει έναν αλγόριθµο φιλτραρίσµατος ο οποίος µπορεί να µειώσει τα πεδία των µεταβλητών που εµπλέκονται στον περιορισµό, αφαιρώντας κάθε φορά τις τιµές που δεν µπορούν να πάρουν µέρος σε καµία εφικτή λύση. Ο αλγόριθµος αυτός επικαλείται κάθε φορά που αλλάζει το πεδίο µίας µεταβλητής µέσα σε ένα περιορισµό, ώστε αυτή η αλλαγή να διαδοθεί στα πεδία των υπόλοιπων µεταβλητών µέσω των υπόλοιπων περιορισµών.[1],[4],[7],[8] 2.3 Αλγόριθµοι προβληµάτων περιορισµών Τα προβλήµατα περιορισµών µπορούν να λυθούν µε τους κλασικούς αλγόριθµους αναζήτησης. Παρ όλα αυτά στα περισσότερα προβλήµατα λόγω του φαινοµένου της συνδυαστικής έκρηξης εµποδίζει και ίσως απαγορεύει την χρήση τέτοιων µεθόδων. Για αυτό το λόγο έγινε µελέτη και χρήση άλλων αλγορίθµων που µειώνουν το εύρος των πεδίων τιµών κατά πολύ ώστε να είναι εφικτή η αναζήτηση. Τις περισσότερες φορές βέβαια χρησιµοποιούνται συνδυασµοί των µεθόδων για βέλτιστη απόδοση. [1] Αναπαράσταση προβληµάτων Η αναπαράσταση προβληµάτων ικανοποίησης περιορισµών αναπαριστώνται συνήθως από ένα σύνολο µεταβλητών κάθε µία από τις οποίες µπορεί να πάρει τιµές από ένα συγκεκριµένο πεδίο τιµών, και από ένα σύνολο περιορισµών, δηλαδή σχέσεων, µεταξύ των µεταβλητών. Σύµφωνα µε αυτή την αναπαράσταση λύση είναι µια ανάθεση τιµών στις µεταβλητές του προβλήµατος, η οποία δεν παραβιάζει τους περιορισµούς. Έτσι συνοπτικά ένα πρόβληµα ικανοποίησης περιορισµών αποτελείται από τα εξής: Ένα σύνολο n µεταβλητών V1,V2,V3..,Vn Ένα σύνολο n πεδίων τιµών D1,..Dn που αντιστοιχούν σε κάθε µεταβλητή έτσι ώστε Vi Di. Ένα σύνολο σχέσεων (περιορισµών) C1, Cm όπου C1(Vk,.,Vn) µία σχέση µεταξύ των µεταβλητών του προβλήµατος. Ανάλογα µε το πόσες µεταβλητές περιλαµβάνει ένας περιορισµός χαρακτηρίζεται ως µοναδιαίος (Unary) όταν περιλαµβάνει µία µεταβλητή, δυαδικός (binary) -9-

12 όταν περιλαµβάνει δύο µεταβλητές ή ανώτερης τάξης (higher order) ό- ταν περιλαµβάνει περισσότερες. [1] Παραγωγή και οκιµή Η απλούστερη µέθοδος επίλυσης προβληµάτων ικανοποίησης περιορισµών είναι η παραγωγή και δοκιµή (generate and test). Σύµφωνα µε αυτή, αρχικά παράγονται υποψήφιες λύσεις από µια γεννήτρια λύσεων (generator) και έπειτα ελέγχεται από τον ελεγκτή (tester) εάν η λύση που προέκυψε ικανοποιεί τους περιορισµούς του προβλήµατος. Θα πρέπει να σηµειωθεί ότι η µέθοδος αυτή είναι η πιο απλή, αλλά λιγότερο αποδοτική και δεν ενδείκνυται για επίλυση προβληµάτων ικανοποίησης περιορισµών. Η γεννήτρια παραγωγής λύσεων θα πρέπει να έχει ορισµένες ιδιότητες. Η πρώτη είναι η πληρότητα, δηλαδή να παράγει όλες τις πιθανές λύσεις. Η δεύτερη είναι να είναι απέριττη, δηλαδή να παράγει κάθε λύση µόνο µια φορά, έτσι ώστε να µην επιβαρύνεται το σύστηµα µε επανέλεγχο κάποιων λύσεων, µειώνοντας έτσι επιπλέον την απόδοση µεθόδου. Η τρίτη ιδιότητα ονοµάζεται ενηµέρωση και αφορά την ικανότητα µείωσης του αριθµού προτεινόµενων λύσεων χρησιµοποιώντας επιπρόσθετη πληροφορία για το συγκεκριµένο πρόβληµα. Επειδή ο αλγόριθµος παραγωγής και δοκιµής έχει πολύ µικρή απόδοση σε προβλή- µατα µε πολλές µεταβλητές (ή µεγάλα πεδία) έχουν χρησιµοποιηθεί και προταθεί διορθωτικοί αλγόριθµοι που αυξάνουν την αποδοτικότητα. Ένας από αυτούς είναι η οπισθοδρόµηση αντί της τυχαίας κάθε φορά ανάθεσης τιµών. ίνονται λοιπόν τυχαία αρχικές τιµές στις µεταβλητές και στην συνέχεια ελέγχονται οι συγκρούσεις µε τους περιορισµούς. Η τελευταία µεταβλητή που πήρε τιµή και παραβιάζει κάποιον περιορισµό (και φυσικά έχει εναλλακτικές τιµές) παίρνει µε την οπισθοδρόµηση καινούργια τιµή και γίνεται ξανά έλεγχος. Η διαδικασία αυτή αυξάνει κατά πολύ την απόδοση του αλγορίθµου αλλά δηµιουργείται εδώ το πρόβληµα της µη πληρότητας αφού µπορεί ο αλγόριθµος να εγκλωβιστεί σε τοπικό ελάχιστο. Άλλες παραλλαγές του αλγορίθµου παραγωγής και δοκιµής είναι η αναρρίχηση λόφων (Hill Climbing) και ο αλγόριθµος των ελάχιστων συγκρούσεων (min conflicts heuristic). Και για τους δύο αυτούς αλγόριθµους ισχύει ότι και για την οπισθοδρόµηση. ηλαδή και οι δύο έχουν πολύ καλύτερη απόδοση από τον αλγόριθµο παραγωγής και -10-

13 δοκιµής αλλά και οι δύο κινδυνεύουν να εγκλωβιστούν σε τοπικό ελάχιστο και έτσι χαρακτηρίζονται ως µη πλήρεις. [1],[4] Κλασικοί Αλγόριθµοι αναζήτησης Στα προβλήµατα ικανοποίησης περιορισµών µπορούν να χρησιµοποιηθούν και οι κλασικοί αλγόριθµοι αναζήτησης όπως για παράδειγµα τον DFS και τον BFS. Στους κλασικούς αλγορίθµους αναζήτησης η κατάσταση του προβλήµατος αποτελείται από τις µεταβλητές του προβλήµατος και ο µοναδικός τελεστής που χρησιµοποιείται είναι η ανάθεση τιµής σε κάποια µη-δεσµευµένη-µεταβλητή (δηλαδή σε µία µεταβλητή στην οποία δεν έχει ανατεθεί ακόµα µια τιµή). Στην αρχική κατάσταση καµία µεταβλητή δεν έχει πάρει τιµή, ενώ στην τελική έχουν ανατεθεί τιµές σε όλες τις µεταβλητές και ικανοποιούνται όλοι οι περιορισµοί. Με τους απλούς αλγορίθµους «τυφλής» αναζήτησης η ανάθεση τιµών στις µεταβλητές γίνεται µε την ονοµαστική τους σειρά οπότε η απόδοση των αλγορίθµων είναι χαµηλή και σε κάποια προβλήµατα ίσως απαγορευτική για την χρήση τους. Η απόδοση µπορεί να βελτιωθεί µε τη χρήση ευριστικών αλγορίθµων αναζήτησης όπως για παράδειγµα ο αλγόριθµος χρήσης πρώτα στο καλύτερο (ΒestFS) µε την προϋπόθεση ότι θα βρεθεί µια ικανοποιητική ευριστική συνάρτηση. Η ευριστική συνάρτηση ουσιαστικά αφορά στην επιλογή της µεταβλητής στην ο- ποία θα ανατεθεί τιµή στο επόµενο βήµα. Μία από τις πλέον εφαρµοσµένες ευριστικές συναρτήσεις στα προβλήµατα επίλυσης περιορισµών βασίζεται στην αρχή της συντο- µότερης αποτυχίας (first fail principle). Σύµφωνα µε την αρχή αυτή, επιλέγεται σε κάθε εφαρµογή του τελεστή ανάθεσης τιµής η µη-δεσµευµένη-µεταβλητή η οποία είναι πιθανότερο να οδηγήσει συντοµότερα σε αποτυχηµένους κόµβους στην αναζήτηση. Με αυτόν τον τρόπο επιλέγεται η µεταβλητή µε το µικρότερο πεδίο τιµών, καθώς λιγότερες διαθέσιµες τιµές σηµαίνει και µεγαλύτερη πιθανότητα αποτυχίας. Σε περίπτωση που περισσότερες από µία µεταβλητές έχουν ίδιο αριθµό τιµών στα πεδία τους, τότε επιλέγεται η µεταβλητή που συµµετέχει σε περισσότερες περιορισµούς (most constrained principle). Η λογική στην οποία βασίζεται η αρχή είναι ότι όσο συντοµότερα ανακαλυφθούν οι αποτυχηµένες αναθέσεις τιµών σε ένα πρόβληµα, τόσο µικρότερο µέρος του δένδρου αναζήτησης θα εξεταστεί για την εύρεση των λύσεων, άρα τόσο γρηγορότερα θα βρεθεί η λύση. -11-

14 Αν και οι ευριστικοί αλγόριθµοι βελτιώνουν σε µεγάλο βαθµό την απόδοση των τυφλών αλγορίθµων αναζήτησης, εντούτοις δεν επιλύουν σε ικανοποιητικό χρόνο προβλήµατα µεγάλου µεγέθους. Το µεγάλο µειονέκτηµα των κλασσικών αυτών µεθόδων είναι ότι δεν εκµεταλλεύονται σε µεγάλο βαθµό τους περιορισµού που υπάρχουν σε τέτοιου είδους προβλήµατα. Ο λόγος είναι ότι ο έλεγχος για το αν η λύση ικανοποιεί τους περιορισµούς γίνεται µετά την παραγωγή της, δηλαδή πρώτα δηµιουργείται η λύση (έστω και µερική) και µετά ελέγχεται για το αν είναι ικανοποιητική. Το γεγονός αυτό σε συνδυασµό µε το φαινόµενο της συνδυαστικής έκρηξης που αναφέρθηκε παραπάνω, κάνει την επίλυση προβληµάτων µε τις µεθόδους αυτές εξαιρετικά χρονοβόρα.[1] Αλγόριθµοι ελέγχου συνέπειας Η βασική ιδέα των αλγορίθµων της κατηγορίας αυτής είναι η απαλοιφή από τα αρχικά πεδία των µεταβλητών των τιµών οι οποίες δεν µπορεί να συµµετέχουν στην τελική λύση, Αυτό επιτυγχάνεται µέσω του ελέγχου συνέπειας (consistency check), δηλαδή της διαγραφής από το πεδίο κάθε µεταβλητής εκείνων των τιµών οι οποίες είναι ασυνεπείς ως προς κάποιο περιορισµό. Οι αλγόριθµοι της κατηγορίας αναφέρονται και ως αλγόριθµοι διήθησης τιµών (filtering algorithms) και αποτελούν ένα είδος διάδοσης περιορισµών (constraint propagation) καθώς τα αποτελέσµατα της µεταβολής του πεδίου τι- µών µιας µεταβλητής «διαδίδονται» στα πεδία των υπόλοιπων µεταβλητών µέσω των περιορισµών. Υπάρχουν πολλές τεχνικές ελέγχου συνέπειας αλλά οι περισσότερες από αυτές είναι µη πλήρεις και για αυτό σπάνια χρησιµοποιούνται µόνες του για να λυθεί ένα πρόβλη- µα ικανοποίησης περιορισµών. Τα ονόµατα των βασικών αλγορίθµων συνέπειας προέρχεται από τις έννοιες που περιέχονται στα γραφήµατα. Πολλές φορές τα προβλήµατα αυτά απεικονίζονται ως γραφήµατα περιορισµών (constraint graph) όπου οι κόµβοι (nodes) παριστάνουν τις µεταβλητές και οι ακµές ή αλλιώς τόξα (edges / arcs) παριστάνουν τους περιορισµούς. Για να συµβεί όµως αυτό θα πρέπει το πρόβληµα να έχει συγκεκριµένη µορφή η οποία αναφέρεται συνήθως ως δυαδικό πρόβληµα ικανοποίησης περιορισµών και πρέπει να περιέχει µόνον µοναδιαίους και δυαδικούς περιορισµούς. Υπάρχουν βέβαια τεχνικές να µετατρέπουν τα προβλήµατα σε δυαδικά αλλά δεν είναι πολύ δηµοφιλείς γιατί οι ίδιοι οι αλγόριθµοί µπορούν να επεκταθούν ώστε να επιλύουν και µη δυαδικά προβλήµατα.[1] -12-

15 Ο πιο απλός αλγόριθµος ελέγχου συνέπειας είναι ο αλγόριθµος συνέπειας κόµβου (node consistency -NC). O συγκεκριµένος αλγόριθµος χρησιµοποιείται µόνο σε προβλήµατα µε µοναδιαίους περιορισµούς δηλαδή µε περιορισµούς του τύπου Ci (Vk) δηλαδή περιορισµούς που αφορούν µόνο µία µεταβλητή για παράδειγµα C1 (V1<4). O Ο αλγόριθµος αυτός εξετάζει έναν έναν τους περιορισµούς και µειώνει συνεχώς τα πεδία τιµών όλων των µεταβλητών αφαιρώντας τις τιµές οι οποίες έρχονται σε σύγκρουση µε κάποιο περιορισµό, ώστε να καταλήξει σε µία πιθανή λύση. Γίνεται εύκολα κατανοητό ότι η χρήση του αλγορίθµου συνέπειας κόµβων είναι δύσκολο να εφαρµοστεί εξαιτίας της πολύ συγκεκριµένης µορφής που πρέπει να έχουν όλοι οι περιορισµοί. Ο πιο διαδεδοµένος αλγόριθµος ελέγχου συνέπειας είναι ο αλγόριθµος συνέπειας τόξου (arc consistency- AC). Ο αλγόριθµος αυτός αφαιρεί τιµές από τα πεδία τιµών µεταβλητών οι οποίες είναι ασυνεπείς ως προς δυαδικούς περιορισµούς. Συγκεκριµένα ένας περιορισµός / τόξο Ck (Vi,Vj) είναι συνεπείς αν και µόνο αν για κάθε τιµή χ του πεδίου τιµών της µεταβλητής Vi που ικανοποιεί τους περιορισµούς της µεταβλητής Vi, υπάρχει µία τιµή y στο πεδίο τιµών της Vj που ικανοποιεί τον περιορισµό µεταξύ των µεταβλητών Vi και Vj. Υπάρχουν αρκετοί αλγόριθµοι συνέπειας τόξου ξεκινώντας από τον AC-1 και φτάνοντας περίπου στον AC-7. Αυτοί οι αλγόριθµοι βασίζονται στην ε- παναλαµβανόµενη επανεξέταση των τόξων µέχρι να βρεθεί µία συνεπείς κατάσταση ή κάποιο πεδίο τιµών να µείνει άδειο. Οι πιο δηµοφιλείς αλγόριθµοι από τους παραπάνω είναι ο AC-3 και ο AC-4. Αναφέρθηκε προηγουµένως ότι για τους αλγορίθµους συνέπειας τόξου ότι για να εφαρµοστούν σε ένα πρόβληµα περιορισµών, πρέπει όλοι οι περιορισµοί να είναι δυαδικοί. Παρόλα αυτά εδώ πρέπει να σηµειωθεί ότι για προβλήµατα ανώτερης τάξης µπορούν να χρησιµοποιηθούν και οι αλγόριθµοι συνέπειας τόξου µετά από µία διαδικασία που µετατρέπει τους περιορισµούς σε δυαδικούς (binarization). Με αυτό τον τρόπο γίνεται δυνατή οι χρησιµοποίηση των αλγορίθµων συνέπειας τόξου και σε προβλήµατα περιορισµών ανώτερης τάξης. Όµως, όπως αναφέρθηκε παραπάνω οι περισσότεροι αλγόριθµοι είναι µη πλήρεις και αυτό ισχύει και για τους αλγορίθµους συνέπειας τόξου. Με λίγα λόγια ακόµα και αν όλοι οι περιορισµοί του προβλήµατος είναι δυαδικοί υπάρχει περίπτωση µετά την ολοκλήρωση του αλγορίθµου να υπάρχουν ακόµη τιµές στα πεδία των µεταβλητών οι οποίες δεν µπορούν να συµπεριληφθούν σε µία σωστή λύση. Εκτός από τους αλγορίθµου συνέπειας κόµβου και τόξου υπάρχουν και άλλοι αλγόριθµοι για προβλήµατα ικανοποίησης περιορισµών. Μια κατηγορία ακόµα είναι οι αλ- -13-

16 γόριθµοι συνέπειας µονοπατιού (path consistency algorithms - PC) που επιβάλλουν µεγαλύτερο βαθµό συνέπειας σε ένα γράφο περιορισµών, µε µεγαλύτερο φυσικά υπολογιστικό κόστος. Ο αλγόριθµος αυτός αξιώνει ότι για κάθε ένα ζευγάρι τιµών δύο µεταβλητών Χ και Υ που ικανοποιούν τους σχετικούς δυαδικούς περιορισµούς, υπάρχει µία τιµή για κάθε µεταβλητή που ανήκει σε µονοπάτι που ενώνει τις Χ και Υ µεταβλητές ώστε όλοι οι δυαδικοί περιορισµοί στο µονοπάτι να ικανοποιούνται. Υπάρχουν διάφοροι αλγόριθµοι συνέπειας µονοπατιού όπως οι PC1 και PC2. Όλοι οι αλγόριθµοι ελέγχου συνέπειας καλύπτονται από ένα γενικό όρο αυτόν της Κ-συνέπειας και ισχυρής Κ-συνέπειας. Κατά τον ορισµό ένας γράφος περιορισµών είναι Κ- συνεπής εάν για κάθε Κ-1 µεταβλητές που ικανοποιούν τους περιορισµούς του προβλήµατος, υπάρχει µία Κ µεταβλητή µε τέτοιο πεδίο ώστε να ικανοποιούνται ταυτόχρονα όλοι οι περιορισµοί που συνδέουν τις Κ µεταβλητές. Ισχυρά Κ-συνεπής είναι ένας γράφος για τον οποίο ισχύει ότι για κάθε Λ Κ είναι Λ συνεπής. Μετά την ανάλυση των αλγορίθµων συνέπειας τόξου και κόµβου καταλαβαίνουµε άµεσα ότι ο αλγόριθµος τόξου εξασφαλίζει ισχυρή 2-συνέπεια στο γράφο που εφαρµόζεται ενώ ο αλγόριθµος συνέπειας κόµβου εξασφαλίζει ισχυρή 1-συνέπεια. Υπάρχουν βέβαια και αλγόριθµοι που εξασφαλίζουν Κ-συνέπεια για γράφους περιορισµών ανώτερης τάξης. Παρόλα αυτά το υπολογιστικό κόστος αυτών των αλγορίθµων είναι αρκετά υψηλό και για αυτό δεν εφαρµόζονται. Στη θέση αυτών των αλγορίθµων χρησιµοποιούνται τις περισσότερες φορές συνδυασµοί αλγορίθµων συνέπειας και αλγορίθµων α- ναζήτησης. [1],[3],[4],[11] Συνδυασµός αλγορίθµων αναζήτησης και συνέπειας Η χρήση των αλγορίθµων αναζήτησης µόνο σε ένα πρόβληµα ικανοποίησης περιορισµών, παρόλο που θα οδηγήσει σε λύση δηµιουργεί προβλήµατα λόγω της χαµηλής απόδοσης του αλγορίθµου. Σε αντίθεση, οι αλγόριθµοι ελέγχου συνέπειας ενώ είναι αποδοτικοί σε αρκετά καλό βαθµό, λόγω της µη πληρότητας τους δεν είναι σίγουρο ότι θα οδηγήσουν σε λύση. Για αυτό το λόγο έχουν γίνει πολλές προσπάθειες και αναπτύξεις τεχνικών που συνδυάζουν τα δύο παραπάνω είδη αλγορίθµων. Οι δύο βασικές προσεγγίσεις που έχουν γίνει µε πολλές παραλλαγές η κάθε µία είναι οι µέθοδοι έγκαιρης εξέτασης (Look Ahead) και οπισθοδροµικής εξέτασης (Look -14-

17 Back). Εντούτοις οι περισσότερες διαδοµένες είναι οι παραλλαγές τις έγκαιρης εξέτασης. Οι τρεις πιο βασικοί αλγόριθµοι από τους παραπάνω είναι ο προοπτικός έλεγχος (forward checking), η έγκαιρη πλήρης εξέταση (full look ahead) και η έγκαιρη µερική εξέταση (partial look ahead). Για όλους τους παραπάνω αλγορίθµους ισχύουν κάποια βασικά χαρακτηριστικά λειτουργίας που είναι κοινά. Ο σκοπός τους είναι µε τη βοήθεια ενός αλγορίθµου συνέπειας να γίνει ένα κλάδεµα του δένδρου αναζήτησης (a priori pruning) ούτως ώστε να στη συνέχεια µε έναν αλγόριθµο αναζήτησης να βρεθεί η λύση στο πρόβληµα µέσα σε επιτρεπτά χρονικά όρια. Η διαφορά των αλγορίθµων έγκειται στον τρόπο µε των οποίο γίνεται η διάδοση των περιορισµών (constraint propagation) δηλαδή στη σειρά µε την οποία θα εξεταστούν οι περιορισµοί και οι τιµές των αντίστοιχων µεταβλητών. Κατά τον προοπτικό έλεγχο δίνεται µία τιµή σε κάποια µεταβλητή και στη συνέχεια εξετάζονται όλοι οι περιορισµοί που αφορούν την µεταβλητή αυτή. Κατά αυτόν τον τρόπο αφαιρούνται συνεχώς ασυνεπείς τιµές. Παρόλα αυτά στο τέλους της διήθησης των τιµών παραµένουν στα πεδία των µεταβλητών αρκετές ασυνεπείς τιµές. Όµως λόγω του µικρού υπολογιστικού κόστους του αλγορίθµου η απόδοση του είναι αρκετά ικανοποιητική. Κατά την χρησιµοποίηση του αλγορίθµου πλήρους έγκαιρης εξέτασης (full look ahead) ή αλλιώς διατήρησης συνέπειας τόξου (Maintaining Arc Consistency) εφαρµόζεται ένας πλήρης αλγόριθµος συνέπειας τόξου αφαιρώντας την πλειοψηφία των ασυνεπών τιµών από τα πεδία των µεταβλητών. Έχοντας το µειονέκτηµα του ποιο απαιτητικού σε υπολογιστικό κόστος αλγορίθµου, ο αλγόριθµος πλήρους εξέτασης παράγει το πιο µικρό δένδρο αναζήτησης και έτσι µειώνεται ο απαιτούµενος χρόνος που απαιτείται από τον επιλεγµένο αλγόριθµο αναζήτησης ώστε να παραχθεί µία λύση. Γενικότερα όµως σε περιπτώσεις που συνδυάζονται αλγόριθµοι συνέπειας και αναζήτησης, η βασική ιδέα είναι να µειωθούν τα δένδρα αναζήτησης του προβλήµατος µέσω ενός αλγορίθµου συνέπειας ο οποίος θα αφαιρέσει όσες ασυνεπείς τιµές εντοπίσει. Με αυτόν τον τρόπο µειώνεται κατά πολύ το κόστος του αλγορίθµου αναζήτησης που θα χρησιµοποιηθεί, του οποίου το έργο θα είναι να δίνει στις ελεύθερες µεταβλητές τι- µές από τα πεδία τους ώστε να καταλήξει σε κάποια πιθανή λύση. [1],[4],[12] -15-

18 2.3.6 Συµπεράσµατα Οι διάφορες τεχνικές που χρησιµοποιούνται µπορεί να αποφέρουν µεγάλη βελτίωση στην απόδοση ενός αλγορίθµου πάνω σε ένα πρόβληµα περιορισµών. Παρόλα αυτά η χρήση των παραπάνω αλγορίθµων και τεχνικών βελτιστοποίησης δεν αποφέρει πάντα το ίδιο αποτέλεσµα. Ανάλογα µε το είδος του προβλήµατος, τον αριθµό των µεταβλητών και µε το µέγεθος των πεδίων των µεταβλητών αυτών, απαιτείται χρήση διαφορετικού αλγορίθµου ώστε να έχουµε την καλύτερη δυνατή απόδοση. Ένας πολύ διαδεδοµένος αλγόριθµος για την αντιµετώπιση προβληµάτων περιορισµών µε µεγάλο αριθµό τιµών που πρέπει να φιλτραριστούν, είναι η µοναδιαία συνέπεια τόξου. Η χρήση της βοηθάει απορρίπτοντας τιµές από τα πεδία των µεταβλητών γρήγορα ελέγχοντας τους περιορισµούς και αφαιρώντας τις τιµές οι οποίες παρουσιάζουν ασυνέπεια ως προς κάποιον περιορισµό. -16-

19 3 Ευρετικές συναρτήσεις και µοναδιαία συνέπεια τόξου Τα προβλήµατα περιορισµών είναι συνήθως σύνθετα προβλήµατα και απαιτητικά. Για αυτό το λόγο ο εντοπισµός αλγορίθµων, είτε ελέγχου συνέπειας, είτε συναρτήσεις ανάθεσης τιµών, είναι πολύ σηµαντικός. Παρακάτω θα αναλυθεί η λειτουργία του αλγορίθµου της Μοναδιαίας Συνέπειας τόξου, καθώς και ένα πλήθος ευρετικών συναρτήσεων. 3.1 Μοναδιαία συνέπεια τόξου Η Μοναδιαία συνέπεια τόξου είναι ένας σχετικά πρόσφατος αλγόριθµος ελέγχου συνέπειας, ο οποίος αποσκοπεί στον εντοπισµό και στην αφαίρεση ασυνεπών τιµών από τα πεδία των µεταβλητών. Η χρήση της πριν από οποιοδήποτε αλγόριθµο αναζήτησης λύσης ή κάποιας ευριστικής συνάρτησης, µπορεί να µειώσει το χρόνο αναζήτησης και να βελτιώσει την απόδοση του προβλήµατος Περιγραφή αλγορίθµου Η λειτουργία της µοναδιαίας συνέπειας τόξου είναι απλή. Επιλέγεται καταρχήν µία µεταβλητή και στην συνέχεια γίνεται ψευτο-ανάθεση τιµών. Κατά την ανάθεση αυτή, επιλέγονται µία-µία οι τιµές της µεταβλητής και για κάθε µία από αυτές γίνεται έλεγχος συνέπειας. Αν µέσω των περιορισµών εντοπιστεί κάποια ασυνέπεια για µία τιµή της µεταβλητής, τότε η τιµή αυτή αφαιρείται από το πεδίο της αντίστοιχης µεταβλητής. Αφού ελεγχθούν όλες οι τιµές τις µεταβλητής που αρχικά επιλέχθηκε, ο αλγόριθµος προχωράει επιλέγοντας µία νέα µεταβλητή. Η διαδικασία που ακολουθείται είναι η ίδια, και ολοκληρώνεται όταν έχουν ελεγχθεί όλες οι µεταβλητές του προβλήµατος. -17-

20 Ψευδοκώδικας του αλγορίθµου: Procedure Singleton AC (P) P AC (P); Repeat Changed false; for all (I, a) D do if the propagation of the deletion of {b D i s.t. b a} in P leads to a wipe out (*) then D ι D i \{a}; Propagate the deletion of (I, a) in P to achieve AC; Changed true_ until Changed = false; (*) This test only determines if achieving AC in P D = { a} leads to a domain wipe out. i [12],[13],[14] Υλοποίηση αλγορίθµου Η υλοποίηση του αλγορίθµου έγινε µε Eclipse Prolog και έχει ως εξής: sac(_task,[]). sac(task,[first_value REST_VALUES]):- not(not(call(task=first_value))),!, sac(task,rest_values). sac(task,[first_value REST_VALUES]):- dvar_remove_element(task,first_value),!, sac(task,rest_values). Η µεταβλητή TASKS που δέχεται η συνάρτηση είναι µία µεταβλητή ορισµένου πεδίου τιµών και είναι µία λίστα που περιέχει όλες τις πιθανές τιµές της µεταβλητής TASKS. Με µία αναδροµή ελέγχουµε µια-µια τις τιµές τις µεταβλητής και κατόπιν και τις τιµές των υπόλοιπων µεταβλητών. Οποιαδήποτε τιµή που δεν είναι συνεπής αφαιρείται από το πεδίο τιµών της αντίστοιχης µεταβλητής. Με την εντολή not(not(call(task=first_value))) επιτυγχάνουµε τον έλεγχο τις αντίστοιχης τιµής της µεταβλητής χωρίς να γίνει ταυτόχρονα και ανάθεση αυτής τις τιµής σε αυτήν την µεταβλητή. Η εντολή αυτή αντιστοιχεί στην TASK=FIRST_VALUE µε την διαφορά ότι η δεύτερη θα αναγκάσει την PROLOG να κάνει ανάθεση της τιµής αυτής στην µεταβλητή. -18-

21 3.1.3 Αξιολόγηση αλγορίθµου Είναι προφανές πως η µοναδιαία συνέπεια τόξου είναι ένας αλγόριθµος ο οποίος, πιθανότατα, δεν µπορεί να οδηγήσει σε λύση, και κυρίως σε προβλήµατα βελτιστοποίησης. Παρόλα αυτά, σε πολλές περιπτώσεις µειώνει κατά πολύ τον χώρο αναζήτησης, και βοηθά στο να βελτιωθεί η απόδοση του αλγορίθµου λύσης. Όπως στους περισσότερους αλγορίθµους, έτσι και στην µοναδιαία συνέπεια τόξου, η απόδοση του ποικίλει ανάλογα µε το είδος του προβλήµατος. Ταυτόχρονα, η απόδοση της µπορεί να διαφοροποιηθεί και ανάλογα µε ποιον αλγόριθµο αναζήτησης ή ευρετική συνάρτηση θα χρησιµοποιηθεί. Σκοπός αυτής της εργασίας είναι η παραγωγή συµπερασµάτων, ως προς την απόδοση του αλγορίθµου, σε διαφορετικού µεγέθους προβλήµατα και µε χρήσης κάποιων ευρετικών συναρτήσεων.[12] 3.2 Ευρετικές συναρτήσεις Στην προσπάθεια να βελτιωθεί η απόδοση και η ταχύτητα εύρεσης λύσης των αλγορίθ- µων, έγινε φανερό ότι µεγάλο ρόλο διαδραµατίζει η σειρά µε την οποία επιλέγονται οι µεταβλητές στις οποίες ανατίθεται η επόµενη τιµή, καθώς και η ίδια η τιµή που θα επιλεγεί. Έτσι αναπτύχθηκαν συναρτήσεις οι οποίες προσπαθούν να µειώσουν το χρόνο αναζήτησης δίνοντας µε στρατηγική τις τιµές στις µεταβλητές Αρχή της συντοµότερης αποτυχίας (Fail-First Principle) Μια αρκετά διαδεδοµένη προσέγγιση είναι αυτή κατά την οποία επιλέγεται σαν επόµενη µεταβλητή στην οποία θα ανατεθεί τιµή, η µεταβλητή που είναι ποιο πιθανό να αποτύχει. Η αρχή αυτή ονοµάστηκε fail-first principle δηλαδή αρχή της γρήγορης αποτυχίας. Η αρχική σκέψη ήταν το να αποτύχει όσο το δυνατόν συντοµότερα η ανάθεση τι- µών ώστε να αυξηθεί η απόδοση του αλγορίθµου. Έτσι ανατίθεται πάντα τιµή στην µεταβλητή που εµπλέκεται στους περισσότερους περιορισµού ή στην µεταβλητή που έχει τις λιγότερες εναποµένουσες τιµές στο πεδίο της. Στην συνέχεια επιχειρείται οπισθοδρόµηση σε προηγούµενη ανάθεση ώστε να αλλάξει το πεδίο τιµών της µεταβλητής που προκάλεσε αποτυχία. Υπάρχουν πολλές παραλλαγές της αρχής της γρήγορης αποτυχίας, οι οποίες διαφέρουν στον τρόπο που επιλέγεται τελικά η επόµενη προς ανάθεση τιµής µεταβλητή. Οι βασικές είναι οι: -19-

22 Smallest domain SD(p+d) επιλέγεται για ανάθεση η µεταβλητή µε το µικρότερο πεδίο τιµών, είτε δυαδική είτε πρωτογενής. Primal smallest domain SD(p), επιλέγεται για ανάθεση η πρωτογενής µεταβλητή µε το µικρότερο πεδίο τιµών. Dual smallest domain SD(d), επιλέγεται για ανάθεση η δυαδική µεταβλητή µε το µικρότερο πεδίο τιµών. Οι διαφορές που έχουν οι παραπάνω παραλλαγές είναι λεπτές και µπορούν να µειώσουν το χρόνο αναζήτησης αν χρησιµοποιηθούν στο σωστό πρόβληµα. Ο λόγος για τον οποίο η ευριστική της γρήγορης αποτυχίας είναι πολλές φορές αποδοτική, µπορεί να περιγράφει µε λίγα λόγια. εδοµένου ενός προβλήµατος µε µεγάλο βάθος, εάν για παράδειγµα χρησιµοποιηθεί ένας κλασσικός αλγόριθµος είναι πολύ πιθανό η αποτυχία που θα οδηγήσει σε µία οπισθοδρόµηση να συµβεί µετά από πολλές αναθέσεις τιµών. Έτσι προέκυψε η ιδέα για την Fail-first principle, που θα βοηθούσε στο κλάδεµα του συνόλου αναζήτησης. Εφόσον η ασυνεπής µεταβλητή δοκιµάζεται πρώτη (ή έστω από τις πρώτες) ένα µεγάλο µέρος από το σύνολο αναζήτησης θα αποκλειστεί γρήγορα κι έτσι θα αυξήσουµε την απόδοση του προβλήµατος. Έχει αποδειχτεί ότι η χρήση της Fail-first Principle είναι πολύ αποδοτική σε ορισµένα είδη προβλήµατος. Παρόλα αυτά, έχει οδηγήσει και σε λύσεις µε µικρή σχετικά απόδοση και για αυτό το λόγο, όπως και όλες οι ευριστικές συναρτήσεις, πρέπει να χρησιµοποιείται σε συγκεκριµένα είδη προβληµάτων, µε συγκεκριµένες µορφές και µεγέθη των πεδίων που έχουν οι µεταβλητές. [17],[19],[20] Αρχή των ελάχιστων συγκρούσεων (minimum conflicts) Μία άλλη προσέγγιση για την ανάθεση των τιµών στις µεταβλητές και µάλιστα αντιδιαµετρική στην τακτική της από την προηγούµενη, είναι η αρχή των ελαχίστων συγκρούσεων. Θεµελιώδης διαφορά εδώ είναι ότι βάρος δίνεται στην τιµή που θα παίρνουν οι µεταβλητές και όχι σε ποια µεταβλητή θα δοθεί τιµή. Η λειτουργία της επικεντρώνεται στην επιλογή της τιµής µιας τυχαίας µεταβλητής η οποία θα ελαχιστοποιήσει τις ασυνέπειες µε τους περιορισµούς. Ο αλγόριθµος λειτουργεί µε τρόπο απλό και όχι ιδιαιτέρως πολύπλοκο. Αρχικά δίνονται τιµές σε όλες τις µεταβλητές, στάδιο πολύ σηµαντικό για την απόδοση του αλγορίθµου. -20-

23 Η απόδοση που έχει η συγκεκριµένη συνάρτηση είναι απροσδόκητα πολύ καλή, παρόλο που το σκεπτικό που ακολουθεί είναι σχετικά απλό. Πολύ σηµαντικό ρόλο στην αποδοτικότητα του αλγορίθµου αυτού διαδραµατίζει η αρχική κατάσταση που θα πάρει το πρόβληµα. Όσο ποιο προσεκτική γίνει η απόδοση των αρχικών τιµών στις µεταβλητές, τόσο ποιο µικρό θα είναι το δέντρο αναζήτησης. Εφόσον δοθεί αρχική τιµή στις µεταβλητές, στη συνέχεια ο αλγόριθµος επιλέγει τυχαία µία µεταβλητή και της αποδίδει την τιµή η οποία ελαχιστοποιεί τις συγκρούσεις που δηµιουργούνται µε τους περιορισµούς που αφορούν την µεταβλητή αυτή. Εφόσον δοθεί η τιµή αυτή στη συνέχεια ο αλγόριθµος αναθέτει τιµή µε τον ίδιο τρόπο, σε µία από τις µεταβλητές η οποία έρχεται σε σύγκρουση µε την προηγούµενη µέσω κάποιου περιορισµού. Η αρχή των ελαχίστων συγκρούσεων δεν εξαρτάται σε µεγάλο βαθµό από το µέγεθος των πεδίων τιµών των µεταβλητών, ούτε από τον αριθµό τους. Είναι δηλαδή ένας αλγόριθµος ο οποίος µπορεί να δώσει λύσεις µε πολύ ικανοποιητική απόδοση σε προβλήµατα µε πολλές µεταβλητές. Ωστόσο, βασική προϋπόθεση για να συµβεί αυτό είναι να επιλεγεί µία αρκετά καλή αρχική κατάσταση, για παράδειγµα να γίνει ένα φιλτράρισµα µέσω ενός αλγορίθµου συνέπειας. Ο συγκεκριµένος αλγόριθµος µπορεί να βοηθήσει πάρα πολύ σε περιπτώσεις βελτιστοποίησης κάποιου ήδη υπάρχοντος προβλήµατος, γιατί ακριβώς θα έχει µία πάρα πολύ καλή αρχική κατάσταση και έτσι µπορεί µε ελάχιστα βήµατα να βελτιώσει κατά πολύ την ήδη υπάρχουσα λύση. Θα πρέπει να σηµειωθεί, όπως και για όλες τις ευρετικές συναρτήσεις, ότι η απόδοση και αυτού του αλγορίθµου εξαρτάται από το είδος του προβλήµατος και την πολυπλοκότητα των περιορισµών του. Παρόλα αυτά λόγω της απλής τακτικής που ακολουθεί έχει χρησιµοποιηθεί σε πολλές εφαρµογές και εργασίες, κυρίως σε αυτές που χρειάζονταν βελτίωση της παρούσας κατάστασης.[15],[18] Ευρετικές συναρτήσεις µε χρήση υποπροβληµάτων Πολλές φορές η φύση ενός προβλήµατος περιορισµών µπορεί να βοηθήσει πολύ στην γρηγορότερη και ευκολότερη λύση. Το πρόβληµα δηµιουργείται όταν υπάρχουν πολλές µεταβλητές οι οποίες ανεβάζουν εκθετικά το χρόνο επίλυσης ενός προβλήµατος. Για αυτό το λόγο αναπτύχθηκαν τεχνικές οι οποίες εκµεταλλευόµενες την δοµή ενός προβλήµατος και των περιορισµών του, καταφέρνουν να βελτιώσουν κατά πολύ την απόδοση του αλγορίθµου. -21-

24 Ποιο συγκεκριµένα, η προσέγγιση των αλγορίθµων αυτών επικεντρώνεται στο να κοµµατιάζει το παρών πρόβληµα σε µικρότερα υποπροβλήµατα, των οποίων ο χρόνος επίλυσης θα είναι προφανώς µικρότερος. Ωστόσο, αυτό δεν εξασφαλίζει ότι η λύση του συνολικού προβλήµατος θα είναι αποδοτικότερη µε αυτόν τον τρόπο. Το σηµαντικό για την διαδικασία αυτή είναι να δηµιουργηθούν υποπροβλήµατα µε τον ποιο απλό και σύντοµο τρόπο, αλλά προφανώς αυτό εξαρτάται από την ίδια την δοµή του αρχικού προβλήµατος. Αν σε ένα πρόβληµα υπάρχουν ήδη προβλήµατα τα οποία είναι ανεξάρτητα µεταξύ τους, τότε είναι πολύ πιθανό η χρήση της παραπάνω µεθόδου να βοηθήσει ση- µαντικά στην επίλυσή του. Σε περίπτωση που δεν υπάρχουν υποπροβλήµατα ήδη ανεξάρτητα µεταξύ τους, υπάρχει τρόπος να δηµιουργηθούν. Το κλειδί είναι να βρεθούν κοινά στοιχεία στον γράφο περιορισµών. Κάθε τέτοιο στοιχείο αποτελεί και ένα υποπρόβληµα και ταυτόχρονα το σύνολο των λύσεων αυτών των υποπροβληµάτων είναι και η λύση του αρχικού προβλήµατος. Η ποιο εύκολη περίπτωση είναι αυτή στην οποία ο γράφος περιορισµών αποτελεί ένα δέντρο, στο οποίο κάθε φύλο έχει το πολύ ένα γονέα. Βέβαια, αυτή η περίπτωση είναι πολύ σπάνια, ωστόσο ένα πρόβληµα µπορεί να χωριστεί σε υποπροβλήµατα των οποίων ο γράφος να αποτελεί ένα δέντρο. Σε περίπτωση που ο γράφος του προβλήµατος είναι όντως ένα δέντρο, η λύση µπορεί να βρεθεί πολύ εύκολα µε εφαρµογή αλγορίθµου συνέπειας. [16],[19] Custset conditioning Όπως αναλύθηκε παραπάνω, ένα πρόβληµα µπορεί να χωριστεί σε υποπροβλήµατα, των οποίων οι γράφοι περιορισµών να αποτελούν δέντρα. Όσο ποιο κοντά είναι ο γράφος ενός προβλήµατος σε µορφή δέντρου, τόσο ποιο αποδοτικός είναι ο αλγόριθµος. Για να δηµιουργηθούν λοιπόν τα υποπροβλήµατα αυτά, όποιες µεταβλητές εµποδίζουν τον γράφο να έχει µορφή δέντρου, δηλαδή συνδέονται µε περιορισµούς µε πολλές µεταβλητές. ίνοντας τιµές στις µεταβλητές αυτές και αφαιρώντας τις ασυνεπείς τιµές από τα πεδία των υπόλοιπων µεταβλητών, έχουµε πλέον 2 προβλήµατα. Το ένα είναι οι µεταβλητές που έχουν πάρει ήδη τιµή (το σύνολό τους ονοµάζεται Cycle-cutset) και το άλλο οι µεταβλητές του αρχικού προβλήµατος οι οποίες πλέον αποτελούν πρόβληµα µε γράφο µορφής δέντρου. -22-

25 Σε περίπτωση που µία µεταβλητή δεν µπορεί πλέον να πάρει τιµή από το πεδίο τι- µών της, γιατί όλες είναι ασυνεπείς (ή έχουν ήδη αφαιρεθεί), τότε αποδίδεται στις µεταβλητές του συνόλου cycle-cutset µία διαφορετική τιµή. Αν βρεθεί σύνολο τιµών για τις µεταβλητές του κυρίως υποπροβλήµατος, τότε µαζί µε το σύνολο τιµών του cyclecutset αποτελούν τη λύση του προβλήµατος. Προφανώς όσο µικρότερο είναι το σύνολο cycle-cutset τόσο αποδοτικότερος είναι ο αλγόριθµος, αφού το σύνολο αναζήτησης είναι κατά πολύ µικρότερο. [20],[21] Ο αλγόριθµος cycle conditioning αποτελείται από τα εξής βήµατα: Επιλέγεται ένα σύνολο µεταβλητών C ώστε ο γράφος περιορισµών να µετατραπεί σε µορφή δέντρου. Το σύνολο C ονοµάζεται cycle-cutset. Για κάθε τιµή των µεταβλητών του συνόλου C που ικανοποιεί τους περιορισµούς των µεταβλητών αυτών: o Αφαιρούνται από τις τιµές των υπόλοιπων µεταβλητών οι οποίες είναι ασυνεπείς µε τις τιµές που έχουν αποδοθεί στις µεταβλητές του συνόλου C. o Εφόσον το κυρίως πρόβληµα έχει λύση, η λύση αυτή µαζί µε τις τιµές των µεταβλητών του C, αποτελούν και τη λύση του αρχικού προβλήµατος. Σε αντίθεση, γίνεται οπισθοδρόµηση και επιλέγονται διαφορετικές τιµές για το σύνολο C Tree decomposition Κάποιες φορές είναι πολύ δύσκολο λόγω πολυπλοκότητας του αλγορίθµου, αφαιρώντας κάποιες µεταβλητές να δηµιουργήσουµε γράφο σε µορφή δέντρου. Παρόλα αυτά, µπορούµε να δηµιουργήσουµε πολλά υποπροβλήµατα τα οποία να έχουν µορφή δέντρου. Η µέθοδος αυτή λέγεται ανάλυση σε δέντρα (Tree decomposition) και µπορεί να βοηθήσει σε ορισµένες µορφές προβληµάτων. Χωρίζοντας το αρχικό πρόβληµα σε µικρά προβλήµατα, τα οποία µάλιστα έχουν γράφο µορφής δέντρου, µειώνει κατά πολύ την πολυπλοκότητα του προβλήµατος, αυξάνοντας την απόδοση του αλγορίθµου. Για να λειτουργήσει σωστά ο παραπάνω αλγόριθµος, πρέπει να ισχύσουν κάποιες προϋποθέσεις: -23-

26 Κάθε µεταβλητή του αρχικού προβλήµατος πρέπει να υπάρχει σε τουλάχιστον ένα υποπρόβληµα. Αν δύο µεταβλητές συνδέονται µε έναν περιορισµό, τότε πρέπει τουλάχιστον σε ένα υποπρόβληµα να εµφανιστούν µαζί, καθώς και µε τον περιορισµό τους. Εφόσον τα υποπροβλήµατα δηµιουργούν στο σύνολό τους έναν µεγάλο δέντρο, που ουσιαστικά αποτελεί και το αρχικό πρόβληµα, πρέπει κάθε µεταβλητή που εµφανίζεται σε δύο υποπροβλήµατα, να υπάρχει και σε όλα τα υποπροβλήµατα που βρίσκονται ανάµεσα σε αυτά τα δύο στο µονοπάτι του δέντρου. Οι δύο πρώτες συνθήκες εξασφαλίζουν ότι όλοι οι περιορισµοί και οι µεταβλητές υπάρχουν µετά τη διάσπαση του αρχικού προβλήµατος και δεν έχουµε απώλειες. Η τρίτη συνθήκη εξασφαλίζει ότι η κάθε µεταβλητή θα έχει την ίδια τιµή σε όλα τα υποπροβλήµατα. Για να υπάρξει λύση στο αρχικό πρόβληµα πρέπει όλα τα υποπροβλήµατα να έχουν λύση και προφανώς αν έστω και ένα από τα υποπροβλήµατα δεν έχει λύση, τότε και το αρχικό πρόβληµα δεν έχει λύση. Η τελική λύση είναι το σύνολο των λύσεων ό- λων των υποπροβληµάτων. [18],[21] 3.3 Συµπεράσµατα Στο κεφάλαιο παρουσιάστηκε η Μοναδιαία Συνέπεια Τόξου και ο τρόπος που υλοποιήθηκε. Ταυτόχρονα αναλύθηκαν και κάποιες πολύ γνωστές ευρετικές συναρτήσεις και ο τρόπος λειτουργίας τους. Είναι φανερό ότι η χρήση των διαφόρων αλγορίθµων πρέπει να γίνεται ανάλογα µε το είδος, το µέγεθος και τη µορφή του κάθε προβλήµατος, αφού η απόδοση τους αλλάζει δραµατικά όταν εφαρµόζονται σε διαφορετικά προβλήµατα. -24-

27 4 Εφαρµογή της Μοναδιαίας Συνέπειας τόξου στο πρόβληµα Job-Shop Scheduling Η υλοποίηση της µοναδιαίας συνέπειας τόξου και η µελέτη της, έγινε πάνω στο γνωστό πρόβληµα χρονοπρογραµµατισµού µηχανών καταστηµάτων (Job-shop Scheduling). Το πρόβληµα αυτό αφορά στην ανάθεση εργασιών µε συγκεκριµένη διάρκεια σε κάποιο αριθµό µηχανών, και σκοπός του είναι η εύρεση της συντοµότερης λύσης. 4.1 Job-Shop Scheduling ίνεται ένας συγκεκριµένος αριθµός µηχανών Μ οι οποίες πρέπει να υλοποιήσουν συγκεκριµένο αριθµό εργασιών TASKS. Σκοπός είναι να βρεθεί ο συντοµότερος χρόνος υλοποίησης των εργασιών αυτών από τις µηχανές. Ταυτόχρονα υπάρχουν και κάποιοι περιορισµοί στο πρόβληµα οι οποίοι αναλύονται παρακάτω. Η κάθε µηχανή µπορεί κάθε χρονική στιγµή να επεξεργάζεται έναν συγκεκριµένο αριθµό εργασιών. Υπάρχουν εργασίες που για να εκτελεστούν θα πρέπει πρώτα να έχουν ολοκληρωθεί άλλες εργασίες. Παρακάτω δίνεται ένα ολοκληρωµένο παράδειγµα ορισµού ενός προβλήµατος Job- Shop Scheduling: Πλήθος µηχανών: 10 Αριθµός εργασιών για κάθε µηχανή: 10 Σχεδιάγραµµα: (Με M i αναπαρίστανται οι µηχανές, µε T i η διάρκεια της κάθε εργασίας) (Μ 3,Τ 1 ), (Μ 7,Τ 2 ), (Μ 6,Τ 3 ), (Μ 1,Τ 4 ), (Μ 2,Τ 5 ), (Μ 10,Τ 6 ), (Μ 9,Τ 7 ), (Μ 4,Τ 8 ), (Μ 8,Τ 9 ), (Μ 5,Τ 10 ) (Μ 4,Τ 11 ), (Μ 3,Τ 12 ), (Μ 1,Τ 13 ), (Μ 8,Τ 14 ), (Μ 2,Τ 15 ), (Μ 9,Τ 16 ), (Μ 10,Τ 17 ), (Μ 5,Τ 18 ), (Μ 7,Τ 19 ), (Μ 6,Τ 20 ) (Μ 3,Τ 21 ), (Μ 7,Τ 22 ), (Μ 6,Τ 23 ), (Μ 1,Τ 24 ), (Μ 2,Τ 25 ), (Μ 10,Τ 26 ), (Μ 9,Τ 27 ), (Μ 4,Τ 28 ), (Μ 8,Τ 29 ), (Μ 5,Τ 30 ) (Μ 9,Τ 31 ), (Μ 7,Τ 32 ), (Μ 2,Τ 33 ), (Μ 1,Τ 34 ), (Μ 3,Τ 35 ), (Μ 10,Τ 36 ), (Μ 4,Τ 37 ), (Μ 5,Τ 38 ), (Μ 8,Τ 39 ), (Μ 6,Τ 40 ) κ.ο.κ. -25-

28 Για να γίνουν ποιο κατανοητοί οι περιορισµοί που έχει αυτό το πρόβληµα, θα χρησιµοποιήσουµε τις µεταβλητές του παραδείγµατος, έχοντας υπόψη ότι οι µηχανές σε αυτό το παράδειγµα µπορούν να εκτελέσουν µόνο µία εργασία την κάθε χρονική στιγµή. Έτσι για την πρώτη κατηγορία περιορισµών µπορούµε να πούµε το εξής: Η εργασία Τ 1 δεν µπορεί να εκτελείται ταυτόχρονα µε τις εργασίες Τ 12, Τ 21, Τ 35, αφού όλες υλοποιούνται από την µηχανή Μ 3. Το ίδιο ισχύει για τις εργασίες Τ 2, Τ 19,Τ 22, Τ 32 που εκτελούνται από την Μ 7. Βλέπουµε ότι το σχεδιάγραµµα χωρίζει τις εργασίες σε σειρές. Οι σειρές αυτές δηλώνουν την προτεραιότητα των εργασιών, αφού κάθε εργασία για να εκτελεστεί, προϋποθέτει να έχουν εκτελεστεί όλες εργασίες που βρίσκονται αριστερά της στην σειρά που βρίσκεται. Έτσι για παράδειγµα η εργασία Τ 16, για να ξεκινήσει, θα πρέπει πρώτα να έχουν ολοκληρωθεί οι εργασίες Τ 11, Τ 12, Τ 13, Τ 14, Τ 15. Μία αποδεκτή λύση του προβλήµατος είναι να δοθούν οι χρόνοι εκκίνησης της κάθε εργασίας T i. Στη συνέχεια επιθυµητό είναι να βρεθούν καλύτερες λύσεις, δηλαδή λύσεις που να µειώνουν τον συνολικό χρόνο εκτέλεσης των εργασιών. [21],[24] 4.2 Λύση του προβλήµατος Χρονοπρογραµµατισµού Μηχανών Καταστηµάτων (Job-Shop Scheduling) Με το Job-Shop Scheduling έχουν ασχοληθεί πολλοί επιστήµονες εδώ και πάρα πολλά χρόνια και για αυτό το λόγο έχουν γίνει ήδη πολλές προσπάθειες για την επίλυση του. Ως εκ τούτου έχουν εφαρµοστεί διάφοροι αλγόριθµοι µε διάφορες αποδόσεις ο καθένας. Ενδεικτικά να αναφέρουµε τις ποιο σηµαντικές προσπάθειες επίλυσης. Πρώτα από όλες τις µεθόδους εφαρµόστηκαν ακριβείς µέθοδοι από τους Giffler και Thompson (1960), Carlier και Pinson (1989, 1990), Applegate και Cook (1991), Brucker (1994), Williamson (το 1997)). Οι µέθοδοι αυτοί είναι επιτυχείς στην επίλυση των µικρών προβληµάτων, συµπεριλαµβανοµένου του πασίγνωστου προβλήµατος 10Χ10 των Fisher και Thompson που προτάθηκε το 1963 και επιλύθηκε είκοσι έτη αργότερα. Παρόλα αυτά, τα προβλήµατα διαστάσεων 15Χ15 θεωρούνται ακόµα πέρα από τις δυνατότητες των σηµερινών ακριβών µεθόδων. Για τέτοια προβλήµατα υπάρχει ανάγκη για καλές ευρετικές (heuristics) µεθόδους. Οι έρευνες για τις ευρετικές µεθόδους για το Job-Shop Scheduling δίνονται από τους Pinson (1995), Vaessens (1996) και Cheng -26-

29 (1999). Οι παραπάνω περιλαµβάνουν τους κανόνες αποστολής που αναθεωρούνται στα κείµενα French (1982), Gray και Hoesada (1991), Goncalves και Mendes (1994), η µετατοπιζόµενη προσέγγιση δυσχερειών (the shifting Bottleneck approach) Adams (1988) και Applegate και Cook 1991, τοπική αναζήτηση (Vaessens (1996), Lourenco (1995) και Lourenco και Zwijnenburg 1996) και γενετικοί αλγόριθµοι Davis (1985), Storer (1992), Aarts (1994). Πρόσφατα, ο Binato (2002) περιέγραψε µια άπληστη τυχαία προσαρµοστική διαδικασία αναζήτησης (GRASP), ο Aiex (2001) περιέγραψε έναν παράλληλο έλεγχο (GRASP) µε την επανασύνδεση µονοπατιού, και οι Wang και Zheng (2001) περιέγραψαν µια υβριδική στρατηγική βελτιστοποίησης για το Job-Shop Scheduling. Τέλος, µια περιεκτική έρευνα για τις τεχνικές του Job-Shop Scheduling µπορεί να βρεθεί στους Jain και Meeran (1999). Τα παραπάνω ονόµατα και οι προσπάθειες επίλυσης του προβλήµατος δεν είναι οι µόνες, αλλά είναι οι ποιο σηµαντικές. Με τις προσπάθειες αυτές δόθηκαν ιδέες και υ- ποδοµή σε νεότερους επιστήµονες και προγραµµατιστές να δοκιµάσουν νέες µεθόδους και αλγορίθµους ώστε να βρεθούν καλύτερα αποτελέσµατα. [22],[23] 4.3 Υλοποίηση του προβλήµατος Η επίλυση του Job-Shop Scheduling έγινε µε χρήση της γλώσσας λογικού προγραµµατισµού PROLOG. Χρησιµοποιήθηκαν οι παρακάτω βιβλιοθήκες: :-use_module(library(fd)). :-use_module(library(edge_finder)). :-use_module(library(fd_global)). Οι παραπάνω βιβλιοθήκες περιέχουν χρήσιµες συναρτήσεις για την επεξεργασία µεταβλητών και των πεδίων τιµών τους. Προτού εφαρµοστεί η Μοναδιαία Συνέπεια Τόξου και οι διάφορες ευρετικές συναρτήσεις, έπρεπε να υλοποιηθεί µία απλή λύση για το πρόβληµα Χρονοπρογραµµατισµού Καταστηµάτων. Η λύση αυτή περιγράφεται α- ναλυτικά στην επόµενη ενότητα. -27-

30 4.3.1 Προετοιµασία των δεδοµένων Για την εφαρµογή των πειραµάτων χρησιµοποιήθηκαν έτοιµα αρχεία *.txt τα οποία περιείχαν προβλήµατα µε συγκεκριµένες τιµές των µεταβλητών όπως το παρακάτω Οι παραπάνω τιµές για να γίνουν κατανοητές πρέπει να χωριστούν σε ζευγάρια: (6 6) (2 1) (0 3) (1 6) (3 7) (5 3) (4 6). (1 8) (2 5) (4 10) (5 10) (0 10) (3 4). (2 5) (3 4) (5 8) (0 9) (1 1) (4 7). (1 5) (0 5) (2 5) (3 3) (4 8) (5 9). (2 9) (1 3) (4 5) (5 4) (0 3) (3 1). (1 3) (3 3) (5 9) (0 10) (4 4) (2 1). Έτσι παρατηρούµε ένα ζεύγος στην αρχή (6 6) το οποίο δηλώνει τον αριθµό των µηχανών και του αριθµού των εργασιών για κάθε µηχανή αντίστοιχα. Στη συνέχεια τα ζευγάρια που εµφανίζονται, δηλώνουν την µηχανή, και την διάρκεια της κάθε εργασίας αντίστοιχα. Έτσι το πρώτο ζεύγος (2 1) δηλώνει ότι αυτή η εργασία διαρκεί 1 χρονική στιγµή και υλοποιείται από την µηχανή 2. Τα στοιχεία αυτά διαβάζονται από το αρχείο και µετατρέπονται σε λίστες για να µπορέσει η Prolog να τις χρησιµοποιήσει. jobs(6). machines(6,[0,1,2,3,4,5]). data([ [2, 1, 0, 3, 1, 6, 3, 7, 5, 3, 4, 6], [1, 8, 2, 5, 4, 10, 5, 10, 0, 10, 3, 4], [2, 5, 3, 4, 5, 8, 0, 9, 1, 1, 4, 7], [1, 5, 0, 5, 2, 5, 3, 3, 4, 8, 5, 9], [2, 9, 1, 3, 4, 5, 5, 4, 0, 3, 3, 1], [1, 3, 3, 3, 5, 9, 0, 10, 4, 4, 2, 1]]). -28-

31 Αυτή είναι και η τελική µορφή των δεδοµένων µετά το διάβασµα από το αρχείο. Η µετατροπή αυτή γίνεται κατά την εκκίνηση του προγράµµατος όπως φαίνεται στο Μέρος Α του παραρτήµατος. Στη συνέχεια αναζητούµε ένα ανώτατο όριο για τα πεδία τιµών των µεταβλητών. Ένας πρόχειρος υπολογισµός είναι να αθροίσουµε τις διάρκειες όλων των εργασιών και να κρατήσουµε το άθροισµά τους ως το ανώτατο όριο που αναζητούµε. Παρόλα αυτά ένα τέτοιο όριο σε µεγάλα προβλήµατα θα δυσχέραινε την εκτέλεση του προβλήµατος, α- φού τα πεδία τιµών των µεταβλητών θα γίνονταν πολύ µεγάλα. Η λύση σε αυτό το πρόβληµα δόθηκε, µε έναν πολύ απλό τρόπο. Χρησιµοποιούµαι το παραπάνω ανώτατο όριο (άθροισµα όλων των εργασιών) και βρίσκουµε µία λύση γρήγορα, χωρίς να µας ενδιαφέρει αν είναι καλή ή όχι. Στη συνέχεια αυτή την πρώτη λύση την χρησιµοποιούµαι ως ανώτατο όριο, αφού ξέρουµε πλέον ότι η λύση είναι εφικτή. Η διαδικασία αυτή ακόµα και σε µεγάλα προβλήµατα διαρκεί κάποια δευτερόλεπτα οπότε το κέρδος που έχουµε είναι πολύ µεγάλο. Η διαδικασία για την εύρεση του ανώτατου ορίου υλοποιείται, όπως παρουσιάζεται στο Μέρος Β του παραρτήµατος Υλοποίηση των περιορισµών Στη συνέχεια, καθορίζονται οι περιορισµοί του προβλήµατος, που αφορούν τις µεταβλητές Tasks. Όπως αναφέρθηκε και προηγουµένως, υπάρχουν δύο είδη περιορισµών. Το πρώτο είναι ότι, δεν µπορούν οι µηχανές να εκτελέσουν περισσότερες από µία εργασίες την ίδια χρονική στιγµή, και το δεύτερο είδος περιορισµών είναι ότι κάποιες διεργασίες προϋποθέτουν κάποιες άλλες για να ξεκινήσουν. Οι περιορισµοί αυτοί υλοποιούνται µε έναν πολύ απλό τρόπο. Η βασική σκέψη είναι ότι ελέγχουµε τους χρόνους εκκίνησης των διεργασιών και δεν επιτρέπουµε ασυνέπειες. Αυτό επιτυγχάνεται, µε απλές µαθηµατικές ανισώσεις, δηλώνοντας για παράδειγµα για τις διεργασίες που προϋποθέτουν κάποιες άλλες για να ξεκινήσουν, ότι ο χρόνος έναρξής τους πρέπει να είναι µεγαλύτερος από το άθροισµα του χρόνου έναρξης και της διάρκειας της προηγούµενης διεργασίας. Έστω Τ 1 και Τ 2 οι χρόνοι έναρξης των δύο διεργασιών, και D 1 ο χρόνος διάρκειας της πρώτης. Ο περιορισµός που περιγράψα- -29-

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

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 6 Ικανοποίηση Περιορισµών Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Ικανοποίηση Περιορισµών Ένα πρόβληµα ικανοποίησης περιορισµών (constraint

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

ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ

ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ (ΜΕ ΒΑΣΗ ΤΟ ΚΕΦ. 6 ΤΟΥ ΒΙΒΛΙΟΥ «ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ» ΤΩΝ ΒΛΑΧΑΒΑ, ΚΕΦΑΛΑ, ΒΑΣΙΛΕΙΑ Η, ΚΟΚΚΟΡΑ & ΣΑΚΕΛΛΑΡΙΟΥ) Ι. ΧΑΤΖΗΛΥΓΕΡΟΥ ΗΣ ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ Είναι γνωστές µερικές

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

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

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

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

Πρόβληµα ικανοποίησης περιορισµών

Πρόβληµα ικανοποίησης περιορισµών Προβλήµατα ικανοποίησης περιορισµών Constraint Satisfaction Problems Πρόβληµα ικανοποίησης περιορισµών Μεταβλητές: X 1, X 2,, X n, Πεδία ορισµού: D 1, D 2, D n Περιορισµοί: C 1, C 2,, C m Ανάθεση τιµών:

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης! Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Ντετερµινιστικά

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

Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Διαχείριση Έργων Πληροφορικής Ικανοποίηση Περιορισμών (Constraint Satisfaction)

Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Διαχείριση Έργων Πληροφορικής Ικανοποίηση Περιορισμών (Constraint Satisfaction) Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Διαχείριση Έργων Πληροφορικής Ικανοποίηση Περιορισμών (Constraint Satisfaction) Ηλίας Σακελλαρίου Δομή Περιορισμοί Προβλήματα ικανοποίησης περιορισμών

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

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

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

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

(50 μον.) πάντοτε Διατυπώστε

(50 μον.) πάντοτε Διατυπώστε ΑΣΚΗΣΗ 1 Α. (50 μον.) Σας δίνεται ο ακόλουθος γράφος, το οποίο πρέπει να χρωματίσετε χρησιμοποιώντας 3 χρώματα (R,G,B), ώστε δύο γειτονικές κορυφές να μην έχουν το ίδιο χρώμα. Θεωρείστε ότι ο χρωματισμός

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

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

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

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

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

Μεταβλητες: Q, NSW, V, T, SA, WA, NT. Πεδίο Ορισμού: Για κάθε μεταβλητη το ίδιο. D i ={R, G, B} όπου i= Q, NSW,., NT.

Μεταβλητες: Q, NSW, V, T, SA, WA, NT. Πεδίο Ορισμού: Για κάθε μεταβλητη το ίδιο. D i ={R, G, B} όπου i= Q, NSW,., NT. 1. Στην άσκηση μας, μας έχει δωθεί ένας γράφος, ο οποίος αντιπροσωπεύει ένα χάρτη και μάλιστα αυτόν της Αυστραλίας. Στον γράφο αυτό υπάρχουν και κόμβοι, οι οποίοι αφορούν με τη σειρά τους τις διάφορες

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού 1 Σχέση γραμμικού και ακέραιου προγραμματισμού Ενα πρόβλημα ακέραιου προγραμματισμού είναι

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

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

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

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

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

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

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ Ελαχιστοποίηση κόστους διατροφής Ηεπιχείρηση ζωοτροφών ΒΙΟΤΡΟΦΕΣ εξασφάλισε µια ειδική παραγγελίααπό έναν πελάτη της για την παρασκευή 1.000 κιλών ζωοτροφής, η οποία θα πρέπει

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο Υπ. Διδάκτωρ : Ευαγγελία Χρυσοχόου Επιβλέπων Καθηγητής: Αθανάσιος Ζηλιασκόπουλος Τμήμα Μηχανολόγων Μηχανικών Περιεχόμενα Εισαγωγή

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

===========================================================================

=========================================================================== =========================================================================== Α. (50 µον.) Σας δίνεται ο ακόλουθος γράφος, το οποίο πρέπει να χρωµατίσετε χρησιµοποιώντας 4 χρώµατα (R,G,B,Υ), ώστε δύο γειτονικές

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

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

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

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

Αλγόριθµοι Ευριστικής Αναζήτησης

Αλγόριθµοι Ευριστικής Αναζήτησης Αλγόριθµοι Ευριστικής Αναζήτησης Ευριστικός µηχανισµός (heuristic) είναι µία στρατηγική, βασισµένη στη γνώση για το συγκεκριµένο πρόβληµα, ηοποίαχρησιµοποιείται σα βοήθηµα στη γρήγορη επίλυσή του.! Ο ευριστικόςµηχανισµός

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

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

ΕΘΝΙΚΟ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΘΝΙΚΟ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Καθηγητής : Κουμπαράκης Μανόλης Ημ/νία παράδοσης: 11/01/2011 Ονομ/μο φοιτητή : Μπεγέτης Νικόλαος Α.Μ.:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις Πέμπτη 27 Ιουνίου 2013 10:003:00 Έστω το πάζλ των οκτώ πλακιδίων (8-puzzle)

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

Υπερπροσαρμογή (Overfitting) (1)

Υπερπροσαρμογή (Overfitting) (1) Αλγόριθμος C4.5 Αποφυγή υπερπροσαρμογής (overfitting) Reduced error pruning Rule post-pruning Χειρισμός χαρακτηριστικών συνεχών τιμών Επιλογή κατάλληλης μετρικής για την επιλογή των χαρακτηριστικών διάσπασης

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

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

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

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

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

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

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε Άπληστους Αλγόριθµους Στοιχεία άπληστων αλγορίθµων Το πρόβληµα επιλογής εργασιών ΕΠΛ 232

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

Χρονοπρογραµµατισµός Ωρολόγιου Προγράµµατος Μαθηµάτων Πανεπιστηµιακού

Χρονοπρογραµµατισµός Ωρολόγιου Προγράµµατος Μαθηµάτων Πανεπιστηµιακού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοπρογραµµατισµός Ωρολόγιου Προγράµµατος Μαθηµάτων Πανεπιστηµιακού Τµήµατος ιπλωµατική Εργασία της Αθανασίας Παπότη

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

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1 KΕΦΑΛΑΙΟ 8 Προβλήµατα Μεταφοράς και Ανάθεσης 8. ΕΙΣΑΓΩΓΗ Μια ειδική κατηγορία προβληµάτων γραµµικού προγραµµατισµού είναι τα προβλήµατα µεταφοράς (Π.Μ.), στα οποία επιζητείται η ελαχιστοποίηση του κόστους

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

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Περιεχόμενα 1. Γραμμικός Προγραμματισμός

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

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ Μια αυστηρά καθορισµένη ακολουθία ενεργειών µε σκοπό τη λύση ενός προβλήµατος. Χαρακτηριστικά οθέν πρόβληµα: P= Επιλυθέν πρόβληµα: P s

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

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0.

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0. Υπολογιστικές Μέθοδοι στη Θεωρία Αποφάσεων Ενότητα 11 Επίλυση στον Ακέραιο Προγραμματισμό Αντώνης Οικονόμου Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Προπτυχιακό πρόγραμμα σπουδών 6 Μαΐου 2016 Η μέθοδος κλάδος-φράγμα

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

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

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

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

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ 1. ίνεται το γνωστό πρόβληµα των δύο δοχείων: «Υπάρχουν δύο δοχεία

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

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

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex Γραµµικός Προγραµµατισµός - Μέθοδος Simplex Η πλέον γνωστή και περισσότερο χρησιµοποιηµένη µέθοδος για την επίλυση ενός γενικού προβλήµατος γραµµικού προγραµµατισµού, είναι η µέθοδος Simplex η οποία αναπτύχθηκε

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

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

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

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

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

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2017-2018 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

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

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο) 8 1 η ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Απάντηση 1ης άσκησης Κατάσταση (κόμβοι): Αναπαριστούμε μια κατάσταση του προβλήματος με ένα διατεταγμένο ζεύγος (X,Y) όπου X είναι τα λίτρα στο βάζο Α (χωρητικότητα

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

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

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ολοκληρωμένη μαθηματική τεχνική βελτιστοποίησης Ευρύτατο φάσμα εφαρμογών Εισαγωγή ακέραιων/λογικών/βοηθητικών μεταβλητών Δυνατότητα γραμμικοποίησης με 0-1 μεταβλητές

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

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

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

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

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

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

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

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Πληροφορικής & Τηλεπικοινωνιών Πανεπιστήμιο Ιωαννίνων 2018-2019 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος- Γεωργία Φουτσιτζή Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος

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

Γραφική Λύση & Πρότυπη Μορφή Μαθηματικού Μοντέλου

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

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

ιοίκηση Παραγωγής και Υπηρεσιών

ιοίκηση Παραγωγής και Υπηρεσιών ιοίκηση Παραγωγής και Υπηρεσιών Προγραµµατισµός Παραγωγής Εισαγωγή Ορισµοί Προβλήµατα µίας µηχανής Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Ορισµός Προγραµµατισµού Παραγωγής Είδη προβληµάτων

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

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

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

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

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

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

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

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

Περί της Ταξινόμησης των Ειδών

Περί της Ταξινόμησης των Ειδών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Tel.: +30 2310998051, Ιστοσελίδα: http://users.auth.gr/theodoru Περί της Ταξινόμησης

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο 2.5 µονάδες ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 2 Σεπτεµβρίου 2005 5:00-8:00 Σχεδιάστε έναν αισθητήρα ercetro

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

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

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

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

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

z = c 1 x 1 + c 2 x c n x n

z = c 1 x 1 + c 2 x c n x n Τεχνολογικό Εκπαιδευτικό Ιδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Γραμμικός Προγραμματισμός & Βελτιστοποίηση Δρ. Δημήτρης Βαρσάμης Καθηγητής Εφαρμογών Δρ. Δημήτρης Βαρσάμης Μάρτιος

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

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

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

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

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) + KΕΦΑΛΑΙΟ 4 Κλασσικές Μέθοδοι Βελτιστοποίησης Με Περιορισµούς Ανισότητες 4. ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ ΑΝΙΣΟΤΗΤΕΣ Ζητούνται οι τιµές των µεταβλητών απόφασης που ελαχιστοποιούν την αντικειµενική συνάρτηση

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

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

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

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

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Κωστής Μαμάσης Παρασκευή 09:00 12:00 Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα 1. Εισαγωγή 2. Γραμμικός Προγραμματισμός 1. Μοντελοποίηση 2. Μέθοδος Simplex 1. Αλγόριθμός Simplex

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ 2013-2014 ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX ΔΥΙΚΟΤΗΤΑ Κάθε πρόβλημα γραμμικού προγραμματισμού συνδέεται με εάν άλλο πρόβλημα γραμμικού προγραμματισμού

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

ΠΛΗ 405 Τεχνητή Νοηµοσύνη ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ικανο οίηση Περιορισµών Constraint Satisfaction Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Το ική αναζήτηση αναρρίχηση λόφων προσοµοιωµένη

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

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

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

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών & Data Path Allocation Σύνθεση Data Path Το DataPath είναι ένα netlist που αποτελείται από τρεις τύπους µονάδων: (α) Λειτουργικές Μονάδες, (β) Μονάδες Αποθήκευσης και (γ) Μονάδες ιασύνδεσης Αριθµό Μονάδων

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

9. Κόκκινα-Μαύρα Δέντρα

9. Κόκκινα-Μαύρα Δέντρα Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Κόκκινα-Μαύρα Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 9/12/2016 Δέντρα,

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

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

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

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

Διαχείριση Έργων Πληροφορικής

Διαχείριση Έργων Πληροφορικής Διαχείριση Έργων Πληροφορικής Διαχείριση Πόρων Μ. Τσικνάκης Ε. Μανιαδή - Α. Μαριδάκη 1 Διαχείριση Χρήσης Πόρων Απαιτούμενοι πόροι στην ανάπτυξη ενός Πληροφοριακού Συστήματος: Ανθρώπινο δυναμικό (π.χ. αναλυτές,

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

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

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

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

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

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

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

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ Βασικός τελικός στόχος κάθε επιστηµονικής τεχνολογικής εφαρµογής είναι: H γενική βελτίωση της ποιότητας του περιβάλλοντος Η βελτίωση της ποιότητας ζωής Τα µέσα µε τα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΘΕΜΑ 1 ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 17 Φεβρουαρίου 2004 ιάρκεια: 2 ώρες (15:00-17:00)

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

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

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

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

Αλγόριθµοι Εκτίµησης Καθυστέρησης και Αλγόριθµοι Εκτίµησης Καθυστέρησης και Βελτιστοποίησης Εισαγωγή Το κύριο πρόβληµα στην σχεδίαση κυκλωµάτων είναι η επίτευξη της µέγιστης απόδοσης για την δεδοµένη τεχνολογία. Μεγιστοποίηση απόδοσης: (α)

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