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

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

Download "ΜΕΛΕΤΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΤΕΧΝΙΚΩΝ ΤΟΠΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ ΓΙΑ ΤΗΝ ΕΠΙΛΥΣΗ ΚΑΤΑΝΕΜΗΜΕΝΩΝ ΠΡΟΒΛΗΜΑΤΩΝ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ"

Transcript

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

2 2

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

4 4

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

6 ABSTRACT This work focuses on studying and developing local search techniques for distributed constraint satisfaction problems. The goal of these techniques is to solve the problem e.g. to assign a value in each variable in a way that all the constraints are satisfied. After giving a formalization of the centralized and distributed constraint satisfaction problem, this work describes some of its applications and presents other existing constraint satisfaction problem solving techniques. Many combinatorial problems may be modeled as constraint satisfaction problems and be solved using systematic or local search techniques. Local search techniques sacrifice completeness in order to achieve greater speed and solve much more complex problems, the solution of which goes beyond the abilities of systematic algorithms. When information about a constraint satisfaction problem is distributed among different agents, the use of distributed algorithms is imperative. In this work various distributed versions of the min-conflicts heuristic are developed and tested in random generated distributed constraint satisfaction problems. Finally an analysis of the results of the tests is made and the conclusions that are drawn are presented KOLIAS VASILEIOS Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN 6

7 ΕΥΧΑΡΙΣΤΙΕΣ - ΑΦΙΕΡΩΣΕΙΣ Θα ήθελα να ευχαριστήσω τους κάτωθι: Τον καθηγητή μου, κύριο Κωνσταντίνο Στεργίου για την καθοδήγηση και στήριξη που παρείχε καθ όλη την διάρκεια της πραγματοποίησης της εργασίας. Τον καθηγητή μου, κύριο Γεώργιο Βούρο, για όλη τη βοήθεια που παρείχε. Την οικογένειά μου, που με στήριξε όλα αυτά τα χρόνια. 7

8 8

9 Πρόλογος...11 ΕΙΣΑΓΩΓΗ Προβλήματα Ικανοποίησης Περιορισμών Ορισμοί Μοντελοποίηση Προβλημάτων - Εφαρμογές Sudoku Το πρόβλημα των ν-βασιλισσών Κατανομή πόρων στο χρονοπρογραμματισμό Άλλες εφαρμογές Επίλυση Προβλημάτων Ικανοποίησης Περιορισμών Αναζήτηση με υπαναχώρηση Πρώιμος Έλεγχος Αλγόριθμοι Συνέπειας Κατανεμημένα Προβλήματα Ικανοποίησης Περιορισμών Ορισμοί Εφαρμογές Προβλήματα Κατανομής Προβλήματα Χρονοπρογραμματισμού Πρόβλημα DARPA Επίλυση Κατανεμημένων Προβλημάτων Ικανοποίησης Περιορισμών Σύγχρονη/Ασύγχρονη Υπαναχώρηση Ασύγχρονη αναζήτηση αδύναμης-δέσμευσης Κατανεμημένοι αλγόριθμοι συνέπειας ΤΟΠΙΚΗ ΑΝΑΖΗΤΗΣΗ Τοπική αναζήτηση για προβλήματα ικανοποίησης περιορισμών Γενικά για την τοπική αναζήτηση Τοπικά Ελάχιστα και Οροπέδια Διάσχιση οροπεδίων και αποφυγή Τοπική αναζήτηση στα προβλήματα ικανοποίησης περιορισμών Κατανεμημένη Τοπική Αναζήτηση Κατανεμημένες μέθοδοι τοπικής αναζήτησης Αλγόριθμος κατανεμημένης απόδρασης Αλγόριθμος κατανεμημένης στοχαστικής αναζήτησης Κατανεμημένη παράλληλη ικανοποίηση περιορισμών Υλοποίηση κατανεμημένων μεθόδων τοπικής αναζήτησης

10 4.2.1 Το πολυπρακτορικό σύστημα Κατανεμημένος αλγόριθμος ελάχιστων συγκρούσεων Κατανεμημένος αλγόριθμος ελάχιστων συγκρούσεων με επανεκκινήσεις Κατανεμημένος τυχαίος περίπατος Κατανεμημένος αλγόριθμος ελάχιστων συγκρούσεων με απότομη αναρρίχηση Κατανεμημένος αλγόριθμος ελάχιστων συγκρούσεων με απότομη αναρρίχηση και επανεκκινήσεις ΠΕΙΡΑΜΑΤΙΚΗ ΜΕΛΕΤΗ Πειράματα και αποτελέσματα Γεννήτρια προβλημάτων Διαδικασία παραγωγής προβλημάτων Πειράματα και αποτελέσματα Πρώτη ομάδα μετρήσεων: Αλλάζοντας τον αριθμό των πρακτόρων Δεύτερη ομάδα μετρήσεων: αλλάζοντας τον αριθμό των μεταβλητών ανά πράκτορα Τρίτη ομάδα μετρήσεων: αλλάζοντας τον αριθμό των ενδοπρακτορικών περιορισμών Τέταρτη ομάδα μετρήσεων: αλλάζοντας τον αριθμό των διαπρακτορικών περιορισμών Επιπρόσθετη ομάδα μετρήσεων: λύνοντας προβλήματα μεταβλητών παραμέτρων με τον αλγόριθμο ελάχιστων συγκρούσεων με απότομη αναρρίχηση και επανεκκινήσεις Συμπεράσματα Ανασκόπηση...64 ΒΙΒΛΙΟΓΡΑΦΙΑ...66 Παράρτημα

11 ΠΡΟΛΟΓΟΣ Ο προγραμματισμός περιορισμών είναι ένα ισχυρό πρότυπο για την επίλυση συνδυαστικών προβλημάτων αναζήτησης. Τα τελευταία χρόνια έχει τραβήξει την προσοχή πολλών ειδικών από διάφορους επιστημονικούς τομείς εξαιτίας της δυνατότητάς του να λύνει δύσκολα πραγματικά προβλήματα. Όχι μόνο βασίζεται σε ένα δυνατό θεωρητικό υπόβαθρο αλλά προσελκύει και ένα ευρύ εμπορικό ενδιαφέρον, όπως σε τομείς ετερογενών προβλημάτων βελτιστοποίησης.. Χωρίς έκπληξη, έχει αναγνωριστεί σαν μια από τις στρατηγικές κατευθύνεις στην έρευνα στην πληροφορική. Ένας περιορισμός είναι απλά μια λογική σχέση μεταξύ διάφορων αγνώστων ποσοτήτων με κύριο χαρακτηριστικό τη δηλωτική τους φύση, δηλαδή καθορίζουν ποια σχέση πρέπει να ισχύει χωρίς να καθορίζουν μια υπολογιστική διαδικασία για να ενισχύσουν τη σχέση αυτή. Οι περιορισμοί προσδιορίζουν το αδύνατο και ελαττώνουν το πεδίο των πιθανοτήτων για να επικεντρωθούν αποτελεσματικά στο δυνατό, επιτρέποντας μια φυσική, δηλωτική διατύπωση του τι πρέπει να ικανοποιηθεί, χωρίς να εκφράζεται το πώς θα ικανοποιηθεί. Ορίζουν τις εξαρτήσεις σε ένα φυσικό κόσμο και τις μαθηματικές τους έννοιες με τρόπο φυσικό και διαφανή. Το πεδίο του συλλογισμού περιορισμών έχει ωριμάσει στις τρεις τελευταίες δεκαετίες με τη συμβολή ποικίλλων κοινοτήτων ερευνητών από την τεχνητή νοημοσύνη, την επιχειρησιακή έρευνα και την τεχνολογία λογισμικού και τα εφαρμοσμένα μαθηματικά. Σήμερα τα προβλήματα περιορισμών χρησιμοποιούνται με επιτυχία για τη μοντελοποίηση νοητικών έργων στον χρονοπρογραμματισμό, τη γλωσσική τεχνολογία, την όραση υπολογιστών, τη συλλογιστική, τις βάσεις δεδομένων, την κατανομή πόρων κτλ. Τα προβλήματα ικανοποίησης περιορισμών αξίζει να μελετηθούν μεμονωμένα γιατί είναι γενικά προβλήματα με μοναδικά χαρακτηριστικά, που αν εκμεταλλευτούν, οδηγούν σε λύσεις. Όλοι χρησιμοποιούμε περιορισμούς για να κάνουμε τη συλλογιστική ένα κύριο μέρος της καθημερινής λογικής: «Θα είμαι εκεί από τις πέντε ως τις έξι η ώρα». Αυτός είναι ένας τυπικός περιορισμός που χρησιμοποιούμε για να προγραμματίσουμε το χρόνο μας. Συνήθως δεν λύνουμε μόνο έναν περιορισμό αλλά ένα σύνολο περιορισμών που σπάνια είναι ανεξάρτητοι μεταξύ τους, καθιστώντας έτσι τη διαδικασία ικανοποίησής τους δυσκολότερη. Επίσης αρκετές φορές καλούμαστε να ικανοποιήσουμε περιορισμούς που εμπλέκουν και άλλους στην επίλυσή τους. Ένα τυπικό παράδειγμα εμπλοκής πολλών αλληλοεξαρτώμενων περιορισμών που ανήκουν σε πολλούς είναι κατά τη διαπραγμάτευση της πραγματοποίησης μιας συνάντησης. Όλοι καταθέτουν τις ημερομηνίες που μπορούν και κανονίζουν μεταξύ τους πότε θα γίνει η συνάντηση ανάλογα. Οι ανθρώπινες ομάδες, οργανισμοί και κοινωνίες έχουν εξελιχθεί μέσα στο χρόνο, σαν αποτέλεσμα συλλογικών και συνεργατικών δραστηριοτήτων που ενισχύοντας την πρόοδο της ομάδας στην οποία ανήκει, ενισχύουν την πρόοδο του ατόμου. Σαν απομίμηση των έξυπνων δυνατοτήτων των ανθρώπων, όπως ο συλλογισμός, η επικοινωνία και η μάθηση, εκμεταλλευόμενο τις ολοένα εξελισσόμενες δυνατότητες των υπολογιστών και τη δυνατότητα επικοινωνίας τους, αναδύθηκε ένα νέο πεδίο στην επιστήμη των υπολογιστών. Η Κατανεμημένη Τεχνητή Νοημοσύνη είναι ένα υποπεδίο της Τεχνητής Νοημοσύνης, το οποίο για πάνω από μια δεκαετία, ερευνά διάφορα γνωσιακά μοντέλα, όπως επίσης επικοινωνιακές και συλλογιστικές τεχνικές τις οποίες νοήμονες πράκτορες ίσως χρειαστούν για να δραστηριοποιηθούν μέσα σε «κοινότητες» υπολογιστών και ανθρώπων. Πιο γενικά η Κατανεμημένη Τεχνητή Νοημοσύνη ασχολείται με περιπτώσεις όπου διάφορα συστήματα διαδράττονται για να λύσουν ένα κοινό πρόβλημα. 11

12 Η κατανεμημένη επίλυση προβλημάτων εξετάζει πώς το έργο επίλυσης ενός συγκεκριμένου προβλήματος μπορεί να κατανεμηθεί μεταξύ ενός αριθμού πρακτόρων που συνεργάζονται συντονισμένα στην διαμοίραση ή/και διαίρεση της γνώσης για το πρόβλημα και την εξελισσόμενη λύση του. Προβλήματα που είναι αποτέλεσμα της ύπαρξης περιορισμών οι οποίοι καθορίζουν τις ενέργειες που μπορούν να πραγματοποιήσουν πράκτορες σε ένα πολυπρακτορικό σύστημα ονομάζονται Κατανεμημένα Προβλήματα Ικανοποίησης Περιορισμών και είναι το αντικείμενο με το οποίο ασχολείται αυτή η διπλωματική εργασία. Διάφορες τεχνικές αναπτύχθηκαν για την επίλυση ενός προβλήματος, δηλαδή την ταυτόχρονη ικανοποίηση όλων των περιορισμών του. Οι τεχνικές τοπικής αναζήτησης θυσιάζουν την ιδιότητα της πληρότητας για να πετύχουν μεγαλύτερη ταχύτητα και να μπορούν να λύσουν πολύ μεγαλύτερα προβλήματα που είναι πέρα από τις δυνατότητες των συστηματικών αλγορίθμων. Όταν η πληροφορία σχετικά με το πρόβλημα ικανοποίησης περιορισμών είναι μοιρασμένη ανάμεσα σε διάφορους πράκτορες, συχνά επιβάλλεται η χρήση κατανεμημένων μεθόδων αλγορίθμων. Στη διπλωματική αυτή εργασία γίνεται μια θεωρητική μελέτη, υλοποίηση και πειραματική σύγκριση μεθόδων τοπικής αναζήτησης για την επίλυση κατανεμημένων προβλημάτων ικανοποίησης περιορισμών. Παρουσιάζονται οι ορισμοί των προβλημάτων ικανοποίησης περιορισμών και των κατανεμημένων προβλημάτων ικανοποίησης περιορισμών καθώς επίσης γίνεται και μια θεωρητική μελέτη των μεθόδων επίλυσης τους. Υλοποιούνται πέντε μέθοδοι τοπικής αναζήτησης και τέλος συγκρίνονται πειραματικά. 12

13 ΕΙΣΑΓΩΓΗ 1 ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ 1.1 Ορισμοί Ένα πρόβλημα ικανοποίησης περιορισμών (Constraint Satisfaction Problem - CSP) ορίζεται ως μια πλειάδα <X, D, C>, όπου Χ ένα σύνολο μεταβλητών X 1, X 2,, X n, D ένα σύνολο μη κενών πεδίων ορισμού από πιθανές τιμές για κάθε μεταβλητή και C ένα σύνολο περιορισμών C 1,C 2,, C m. Κάθε περιορισμός C i αφορά κάποιο υποσύνολο των μεταβλητών και καθορίζει τις επιτρεπτές τιμές για το υποσύνολο αυτό. Μια κατάσταση του προβλήματος καθορίζεται από την ανάθεση των τιμών σε ορισμένες ή και όλες τις μεταβλητές, {X i =u i, X j =u j, }. Μια ανάθεση που δεν παραβιάζει κανένα περιορισμό καλείται συνεπής ή νόμιμη ανάθεση. Μια πλήρης ανάθεση είναι εκείνη στην οποία κάθε μεταβλητή έχει μια τιμή και μια λύση ενός CSP είναι μια πλήρης ανάθεση που ικανοποιεί όλους τους περιορισμούς. Μερικά CSPs επίσης απαιτούν μια λύση που μεγιστοποιεί μια αντικειμενική συνάρτηση. Είναι χρήσιμο να αντιλαμβανόμαστε ένα δυαδικό πρόβλημα ικανοποίησης περιορισμών, δηλαδή ένα πρόβλημα όπου όλοι οι περιορισμοί περιλαμβάνουν το πολύ δυο μεταβλητές, σαν ένα γράφημα περιορισμών, όπου οι κόμβοι αντιστοιχούν στις μεταβλητές του προβλήματος και τα τόξα αντιστοιχούν σε περιορισμούς (Εικόνα 1.1). Α Β D C Εικόνα 1.1 Ένα πρόβλημα ικανοποίησης περιορισμών αναπαριστώμενο με γράφημα. Στο συγκεκριμένο πρόβλημα ισχύουν οι περιορισμοί: A B, A C, C B και C D. Το πιο συνηθισμένο είδος προβλημάτων ικανοποίησης περιορισμών χρησιμοποιεί μεταβλητές που είναι διακριτές (discrete) και έχουν πεπερασμένα πεδία ορισμού (finite domains). Ως τέτοια προβλήματα μπορούν να θεωρηθούν το πρόβλημα χρωματισμού χάρτη, το πρόβλημα των 8 βασιλισσών και το Sudoku. Αν το μέγιστο πεδίο ορισμού οποιασδήποτε μεταβλητής σε ένα πρόβλημα ικανοποίησης περιορισμών είναι d, τότε ο αριθμός των δυνατών πλήρων αναθέσεων τιμών είναι O(d n ) δηλαδή εκθετικός ως προς τον αριθμό των μεταβλητών. Τα προβλήματα ικανοποίησης περιορισμών με Boolean μεταβλητές (Boolean CSP) είναι ένα είδος προβλήματος ικανοποίησης περιορισμών όπου οι μεταβλητές μπορούν να έχουν τιμή ή 13

14 αληθές ή ψευδές και περιλαμβάνουν ως ειδικές περιπτώσεις μερικά NP-πλήρη 1 προβλήματα όπως τα 3SAT. Στη χειρότερη περίπτωση λοιπόν, δε μπορούμε να αναμένουμε ότι τα προβλήματα ικανοποίησης περιορισμών με πεπερασμένα πεδία ορισμού μπορούν να επιλύονται σε χρόνο μικρότερο του εκθετικού. Οι μεταβλητές μπορούν επίσης να έχουν άπειρα πεδία ορισμού (infinite domains)-για παράδειγμα, το σύνολο των ακεραίων ή το σύνολο των συμβολοσειρών. Ένα παράδειγμα αποτελεί ο χρονοπρογραμματισμός οικοδομικών εργασιών σε ένα ημερολόγιο: η ημερομηνία έναρξης μιας εργασίας είναι μια μεταβλητή και οι δυνατές τιμές της είναι ακέραιοι αριθμοί ημερών από την τρέχουσα ημερομηνία. Με τα άπειρα πεδία ορισμού, δεν είναι δυνατόν να περιγράφονται οι περιορισμοί με απαρίθμηση όλων τον επιτρεπτών συνδυασμών τιμών. Πρέπει να χρησιμοποιηθεί μια γλώσσα περιορισμών (constraint language). Υπάρχουν ειδικοί αλγόριθμοι επίλυσης για γραμμικούς περιορισμούς (linear constraints) σε ακέραιες μεταβλητές. Σε μερικές περιπτώσεις, μπορούμε να ανάγουμε προβλήματα περιορισμών για ακεραίους σε προβλήματα με πεπερασμένα πεδία ορισμού, φράζοντας απλώς τις τιμές όλων των μεταβλητών. Για παράδειγμα σε ένα πρόβλημα χρονοπρογραμματισμού μπορούμε να αναθέσουμε ένα άνω φράγμα, ίσο με το ολικό μήκος όλων των εργασιών που πρέπει να χρονοπρογραμματιστούν. Τα προβλήματα ικανοποίησης περιορισμών με συνεχή πεδία ορισμού (continuous domains) είναι πολύ συνηθισμένα στον πραγματικό κόσμο και μελετώνται εκτεταμένα στο πεδίο της επιχειρησιακής έρευνας. Η γνωστότερη κατηγορία προβλημάτων ικανοποίησης περιορισμών με συνεχή πεδία ορισμού είναι τα προβλήματα γραμμικού προγραμματισμού (linear programming), όπου οι περιορισμοί πρέπει να είναι γραμμικές ανισότητες που σχηματίζουν μια κυρτή περιοχή. Τα προβλήματα γραμμικού προγραμματισμού μπορούν να λύνονται σε χρόνο πολυωνυμικό ως προς τον αριθμό των μεταβλητών. Εκτός από τους τύπους των μεταβλητών που μπορούν να εμφανίζονται στα προβλήματα ικανοποίησης περιορισμών, είναι χρήσιμο να εξετάσουμε τους τύπους των περιορισμών. Ο απλούστερος τύπος είναι ο μοναδιαίος περιορισμός (unary constraint), ο οποίος περιορίζει την τιμή μιας μόνο μεταβλητής. Κάθε μοναδιαίος περιορισμός μπορεί να απαλειφθεί με απλή προεπεξεργασία του πεδίου ορισμού της αντίστοιχης μεταβλητής ώστε να αφαιρεθεί οποιαδήποτε τιμή παραβιάζει τον περιορισμό. Ένας δυαδικός περιορισμός (binary constraint) συσχετίζει δύο μεταβλητές. Για παράδειγμα, ο περιορισμός Α Β είναι δυαδικός. Δυαδικό πρόβλημα ικανοποίησης περιορισμών είναι ένα πρόβλημα που έχει μόνο δυαδικούς περιορισμούς. Μπορεί να αναπαρασταθεί με ένα γράφημα περιορισμών όπως στην Εικόνα 1.1. Μια ιδιότητα που είναι κοινή σε όλα τα προβλήματα ικανοποίησης περιορισμών είναι η ιδιότητα της αντιμεταθετικότητας. Ένα πρόβλημα είναι αντιμεταθετικό αν η σειρά προτεραιότητας της εφαρμογής οποιουδήποτε συνόλου ενεργειών δεν επηρεάζει το αποτέλεσμα. Αυτό συμβαίνει στα προβλήματα ικανοποίησης περιορισμών επειδή, όταν δίνουμε τιμές σε μεταβλητές, καταλήγουμε στην ίδια μερική ανάθεση τιμών ανεξάρτητα από τη σειρά προτεραιότητας. 1.2 Μοντελοποίηση Προβλημάτων - Εφαρμογές Πολλά πραγματικά προβλήματα μπορούν εύκολα να εκφραστούν σαν προβλήματα ικανοποίησης περιορισμών. Διαφορετικές μοντελοποιήσεις μπορούν να έχουν σαν αποτέλεσμα 1 NP-πλήρη (NP-Complete) είναι ένας όρος που χρησιμοποιείται στη θεωρία πολυπλοκότητας για τον προσδιορισμό μιας συγκεκριμένης κλάσης προβλημάτων. Σε ένα NP-πλήρες πρόβλημα, η σχέση μεταξύ του αριθμού των εισόδων στο πρόβλημα και την πολυπλοκότητας του προβλήματος, είναι εκθετική. Αν υιοθετείται μια απαριθμητή στρατηγική αναζήτησης, η εκθετική αύξηση στην πολυπλοκότητα του προβλήματος έχει σαν αποτέλεσμα σε μια εκθετική αύξηση του χρόνου επίλυσης του προβλήματος. 14

15 εντελώς διαφορετικές προσεγγίσεις για ένα πρόβλημα. Εφόσον αυτές οι μοντελοποιήσεις συχνά χρειάζονται σύνολα περιορισμών που διαφέρουν σε μέγεθος και πολυπλοκότητα, η τέχνη του προγραμματισμού περιορισμών έγκειται στην εύρεση μοντέλων που μεγιστοποιούν την αποτελεσματικότητα ενός προβλήματος ικανοποίησης περιορισμών. Ο βασικός σκοπός της μοντελοποίησης είναι να προσεγγίσει την πραγματικότητα, με τέτοιο τρόπο ώστε να διευκολυνθεί ο προγραμματιστής που θα αναλάβει να λύσει το πρόβλημα και παράλληλα να προσομοιωθεί όσο γίνεται περισσότερο η πραγματικότητα. Κατά συνέπεια ένα πρόβλημα μπορεί να έχει πολλές μοντελοποιήσεις, ανάλογα με το πόσο θέλει αυτός που κάνει τη μοντελοποίηση να προσεγγίσει την πραγματικότητα. Κατά τη μοντελοποίηση ενός προβλήματος είναι συχνά προτιμότερο να επιλέγονται κανόνες που χρειάζονται τα λιγότερα σύνολα περιορισμών. Επιπλέον δεν αρκεί μόνο να υπάρχουν μικρά σύνολα περιορισμών, αλλά οι περιορισμοί θα πρέπει να εκφράζονται έτσι, ώστε να αντιμετωπίζονται αποτελεσματικά από τους αλγορίθμους. Επίσης μια καλή πρακτική είναι το τελικό μοντέλο να έχει ξεκάθαρη περιγραφή. Ακολουθούν μερικά παραδείγματα που μπορούν εύκολα να μοντελοποιηθούν σαν προβλήματα ικανοποίησης περιορισμών, ή όταν η μοντελοποίηση είναι πολύ περίπλοκη να εξηγηθεί εδώ, έχουν επιτυχώς μοντελοποιηθεί σαν προβλήματα ικανοποίησης περιορισμών Sudoku 2 Το Sudoku είναι ένα παζλ που παίζεται σε ένα μερικώς γεμισμένο πίνακα 9x9. Ο σκοπός είναι να ολοκληρωθεί η ανάθεση χρησιμοποιώντας αριθμούς από το 1 ως το 9 έτσι ώστε οι είσοδοι σε κάθε γραμμή, κάθε στήλη και σε κάθε κύριο 3x3 μπλοκ να είναι ανά δύο διαφορετικές. Ακολουθούν δύο πίνακες που δείχνουν ένα πρόβλημα και τη λύση του. Διαλέγοντας μια καλή «οπτική», τα περισσότερα προβλήματα του Sudoku μπορούν να λυθούν χωρίς αναζήτηση. Το παραπάνω πρόβλημα μπορεί να μοντελοποιηθεί με δύο τρόπους: 1) Οι μεταβλητές x1, x2 x81 αναπαριστούν όλα τα κουτιά στο πλέγμα, και το πεδίο ορισμού κάθε μεταβλητής είναι το σύνολο ακεραίων {1,,9} δηλαδή οι τιμές που κάθε μεταβλητή μπορεί να έχει. Μια ανάθεση x i = c σημαίνει ότι το i- οστό κουτί έχει την τιμή c. 2) Οι μεταβλητές nb 1, nb 9 αναπαριστούν τους αριθμούς 1,...,9 και το πεδίο ορισμού κάθε μεταβλητής είναι το δυναμοσύνολο P({1,,9}), δηλαδή τα κουτιά όπου ένας αριθμός προκύπτει. Μια ανάθεση nb i = {c 1,,c n }σημαίνει ότι ένας αριθμός i προκύπτει στο κουτί c 1, c n και το{c 1,,c n }είναι ένα υποσύνολο του {1,,81}. 2 Ο Howard Garnes, ένας επαγγελματίας δημιουργός παζλ και συνταξιούχος αρχιτέκτονας, δημιούργησε το παζλ το Δημοσιεύτηκε για πρώτη φορά στη Νέα Υόρκη τη δεκαετία του 70 από τον εκδότη παζλ Dell Magazines στο περιοδικό Dell Pencil Puzzles and Word Games, με τον τίτλο «Το μέρος των αριθμών». Το παζλ παρουσιάστηκε στην Ιαπωνία από τη Nicoli το 1984 σαν «Suji wa dokushin ni kagiru» που μεταφράζεται σαν «Οι αριθμοί πρέπει να είναι μοναδικοί» ή «οι αριθμοί μπορούν να προκύψουν μόνο μια φορά». 15

16 (α) (β) Εικόνα 1.2 (α) Ένα πρόβλημα Sudoku. (β) Η λύση του. Στην πρώτη περίπτωση αρκεί να χρησιμοποιήσουμε τον κανόνα distinct(s,v) όπου κάθε στοιχείο του συνόλου v έχει μια μοναδική τιμή από το σύνολο s, δηλαδή είναι ξεχωριστά μεταξύ τους. Για να ικανοποιήσουμε τις απαιτήσεις του προβλήματος πρέπει να εφαρμόσουμε το παραπάνω ζευγάρι σε κάθε γραμμή, στήλη και 3x3 κουτί. Στη δεύτερη περίπτωση είναι πιο δύσκολο να εκφραστούν οι κανόνες. Πρέπει να εγγυηθούμε ότι το πλήθος στοιχείων του κάθε συνόλου που αναπαριστά τον αριθμό είναι 9, ότι όλα αυτά τα σύνολα είναι διαφορετικά μεταξύ τους και ότι κάθε αριθμός έχει ακριβώς μια τιμή σε κάθε γραμμή και κάθε στήλη και ακριβώς μια τιμή σε κάθε 3x3 κουτί Το πρόβλημα των ν-βασιλισσών[3] Δεδομένης μιας σκακιέρας μεγέθους Ν, είναι δυνατό να τοποθετήσουμε Ν, βασίλισσες έτσι ώστε καμία βασίλισσα να μη μπορεί να επιτεθεί σε μια άλλη? Πρώτα απ όλα πρέπει να παρατηρήσουμε ότι σε κάθε λύση στο πρόβλημα πρέπει οι βασίλισσες να είναι τοποθετημένες σε διαφορετικές γραμμές και στήλες. Αν θέσουμε x 1, x 2, x 3, x n τη θέση σε μια γραμμή μιας βασίλισσας i, σε μια στήλη i το πρόβλημα των ν-βασιλισσών μπορεί να μοντελοποιηθεί ως ακολούθως: Κάθε βασίλισσα να είναι τοποθετημένη σε μια γραμμή της σκακιέρας x i 1,2,..., N { } Κανένα ζευγάρι βασιλισσών να είναι τοποθετημένο στην ίδια γραμμή: i, j, i j x i x j Κανένα ζευγάρι βασιλισσών να είναι τοποθετημένο στην ίδια διαγώνιο: i j : i j i j x και i, j : i j i j x j x, i x j i 16

17 Σαν παράδειγμα της παραπάνω μοντελοποίησης το πρόβλημα των 3-βασιλισσών μπορεί να εκφραστεί με το ακόλουθο σύστημα διαφορών: 1 x 2 x 1, x2, x3 { 1,2,3 } x x x 1 x x 1 1 x x x x 2 x x 2 2 x x x x 1 x x Αυτό το παράδειγμα των 3-βασιλισσών μπορεί να αναπαρασταθεί χρησιμοποιώντας ένα γράφημα περιορισμών όπως στην Εικόνα 1.1. Το γράφημα περιορισμών αυτό φαίνεται στην Εικόνα 1.3. Χρησιμοποιώντας έναν καθολικό 3 περιορισμό all-different που απλώς δηλώνει ότι όλες οι μεταβλητές σε ένα σύνολο μεταβλητών θα πρέπει να πάρουν διαφορετικές τιμές, οι κανόνες μπορούν να μειωθούν: x 1, x2, x3 all different { 1,2,3 } ({ x, x x }) 1 2, x x 1 x x x x 2 x x x x 1 x x Κατανομή πόρων στο χρονοπρογραμματισμό 3 2 Η κατανομή πόρων και ο χρονοπρογραμματισμός είναι οι γνωστότερες εφαρμογές των προβλημάτων ικανοποίησης περιορισμών. Ένα τυπικό πρόβλημα χρονοπρογραμματισμού είναι ένα πρόβλημα με δεδομένα ένα σύνολο εργασιών και ζητούμενο την κατανομή πόρων σε αυτές. Κάθε εργασία μπορεί να απαιτεί έναν αριθμό πόρων, που περιλαμβάνουν τον χρόνο (κατά τον οποίο αυτές οι εργασίες ολοκληρώνονται), μηχανές, εργαλεία, εργατοώρες, κλπ. Η κατανομή πόρων, ειδικά όταν εμπλέκονται ο χρόνος και κοινοί πόροι, είναι ένα πρόβλημα ικανοποίησης περιορισμών. Κάθε μεταβλητή στο πρόβλημα ικανοποίησης περιορισμών αναπαριστά μια κοινή ανάγκη πόρου. Για παράδειγμα, μια μεταβλητή Χ μπορεί να αναπαριστά την ανάγκη μιας δουλειάς για μια μηχανή. Το πεδίο ορισμού μιας μεταβλητής είναι το σύνολο πιθανών τιμών που μπορεί να πάρει αυτή η μεταβλητή. Το πεδίο ορισμού της Χ στο παραπάνω παράδειγμα μπορεί να είναι στο σύνολο των μηχανών που είναι διαθέσιμες και έχουν τη δυνατότητα να κάνουν τη δουλειά, π.χ. {μηχανή 203, μηχανή 208, μηχανή 209}. 3 Ένας καθολικός περιορισμός είναι συνήθως ένας μη δυαδικός περιορισμός που χρησιμοποιείται για την επίτευξη ενός επιπέδου συνέπειας. 17

18 Εικόνα 1.3 Το γράφημα περιορισμών του προβλήματος των 3-βασιλισσών x 1 x x 1 x x 2 x x x 2 x 3 x 3 x2 x3 x 2 1 x 1 3 x1 2 Η ανάθεση πόρων σε μια μεταβλητή αναπαριστά την δέσμευση ενός πόρου από μια εργασία. Η ανάθεση πόρων συνήθως περιορίζεται με πολλούς τρόπους. Για παράδειγμα ανάμεσα σε Μ μηχανές διαθέσιμες σε μια εργασία J, μόνο οι μηχανές P,Q και R έχουν τη δυνατότητα να ανταπεξέλθουν στην εργασία J. Πολύ συχνά, μια μηχανή μπορεί να επεξεργαστεί μόνο μια εργασία τη φορά. Άλλες φορές, αν η δουλειά J πρόκειται να χρησιμοποιήσει τη μηχανή Μ, τότε θα πρέπει να της ανατεθούν συγκεκριμένα εργαλεία και ανθρώπινο προσωπικό. Ο στόχος είναι να κατανεμηθεί σε κάθε μεταβλητή μια μεταβλητή έτσι ώστε όλοι οι περιορισμοί να ικανοποιούνται Άλλες εφαρμογές Στη γλωσσική τεχνολογία, κάθε λέξη έχει έναν πεπερασμένο αριθμό ρόλων που μπορεί να παίξει. Η γραμματική των γλωσσών περιορίζει τους ρόλους που μπορεί μια συμβολοσειρά να λαμβάνει ταυτόχρονα. Μέρος της γλωσσικής ανάλυσης είναι ο προσδιορισμός των ρόλων κάθε λέξης. Κάτι τέτοιο μπορεί να αναπαρασταθεί σαν ένα πρόβλημα ικανοποίησης περιορισμών. Τα επερωτήματα στις βάσεις δεδομένων συχνά περιέχουν μεταβλητές. Η αρχικοποίηση των μεταβλητών σαν αποτέλεσμα ενός επερωτήματος είναι ένα πρόβλημα ικανοποίησης περιορισμών. Η βελτιστοποίηση επερωτήσεων είναι μια σημαντική περιοχή έρευνας στις βάσεις δεδομένων στην οποία εφαρμόζονται τεχνικές επίλυσης προβλημάτων ικανοποίησης περιορισμών. Επίσης τεχνικές που αναπτύχθηκαν στην βελτιστοποίηση επερωτήσεων μπορούν να χρησιμοποιηθούν στην επίλυση προβλημάτων ικανοποίησης περιορισμών. 1.3 Επίλυση Προβλημάτων Ικανοποίησης Περιορισμών Όπως αναφέρθηκε, λύση ενός προβλήματος ικανοποίησης περιορισμών είναι μια πλήρης ανάθεση που ικανοποιεί όλους τους περιορισμούς. Έτσι όπως διατυπώθηκαν τα προβλήματα ικανοποίησης περιορισμών, μπορούν να αντιμετωπιστούν σαν προβλήματα αναζήτησης και μπορούν να επιλυθούν με οποιονδήποτε από τους αλγόριθμους τυφλής ή πληροφορημένης αναζήτησης. Εξαιτίας της ιδιότητας της αντιμεταθετικότητας που ισχύει στα προβλήματα ικανοποίησης περιορισμών, όλοι οι αλγόριθμοι αναζήτησης των προβλημάτων ικανοποίησης περιορισμών παράγουν διαδόχους εξετάζοντας τις δυνατές αναθέσεις τιμών για μια μόνο μεταβλητή σε κάθε κόμβο του δέντρου αναζήτησης. 18

19 Οι αλγόριθμοι επίλυσης των προβλημάτων ικανοποίησης περιορισμών μπορούν να χωριστούν σε δυο ομάδες: τους αλγόριθμους αναζήτησης (στους οποίους εντάσσονται και οι αλγόριθμοι τοπικής αναζήτησης που θα εξεταστούν σε επόμενη παράγραφο) και τους αλγόριθμους συνέπειας Αναζήτηση με υπαναχώρηση Ένας αλγόριθμος υπαναχώρησης είναι ένας βασικός, συστηματικός αλγόριθμος αναζήτησης για την επίλυση προβλημάτων ικανοποίησης περιορισμών. Πρόκειται για μια αναζήτηση πρώτα κατά βάθος που επιλέγει τιμές για μια μόνο μεταβλητή τη φορά και υπαναχωρεί όταν μια μεταβλητή δεν έχει άλλες νόμιμες τιμές που μπορούν να τις ανατεθούν. Κατασκευάζει μια ανάθεση τιμών σε ένα υποσύνολο μεταβλητών που ικανοποιεί όλους τους περιορισμούς στις μεταβλητές του συνόλου αυτού. Αυτή η ανάθεση ονομάζεται μερική ανάθεση. Μια μερική ανάθεση επεκτείνεται προσθέτοντας νέες μεταβλητές μια προς μια, μέχρι να γίνει μια ολοκληρωμένη λύση. Όταν για μια μεταβλητή, καμία τιμή δεν ικανοποιεί όλους τους περιορισμούς με τη μερική λύση, η τιμή για την πιο πρόσφατα προστιθέμενη μεταβλητή στη μερική λύση αλλάζει. Αυτή η ενέργεια ονομάζεται υπαναχώρηση (backtracking)[1]. Παρόλο που η αναζήτηση με υπαναχώρηση είναι ένας απλός αλγόριθμος αναζήτησης πρώτα κατά βάθος, πολλά ζητήματα πρέπει να ληφθούν υπόψη για τη βελτίωση της αποτελεσματικότητας. Για παράδειγμα, η σειρά της επιλογής μεταβλητών και τιμών επιρεάζει αρκετά την αποτελεσματικότητα των αλγορίθμων. Η αναζήτηση με υπαναχώρηση έχει μια δεδομένη πολιτική για το τι να κάνει όταν ένας κλάδος αναζήτησης αποτύχει: υποχωρεί στην προηγούμενη μεταβλητή και δοκιμάζει να της δώσει διαφορετική τιμή. Αυτό ονομάζεται χρονολογική υπαναχώρηση (chronological backtracking), επειδή επανέρχεται στο πιο πρόσφατο σημείο απόφασης. Μια πιο έξυπνη αντιμετώπιση της υπαναχώρησης είναι να γυρίζουμε κατευθείαν πίσω σε μια από το σύνολο μεταβλητών που προκάλεσαν την αποτυχία. Το σύνολο αυτό ονομάζεται σύνολο συγκρούσεων. Γενικά, το σύνολο συγκρούσεων για μια μεταβλητή Χ είναι τι σύνολο των μεταβλητών στις οποίες έχουν προηγουμένως ανατεθεί τιμές και οι οποίες συνδέονται με τη Χ μέσω περιορισμών. Η μέθοδος της υπαναχώρησης με άλμα (backjumping) υποχωρεί στην πιο πρόσφατη μεταβλητή του συνόλου συγκρούσεων. Αυτό μπορεί να υλοποιηθεί εύκολα με τροποποίηση της αναζήτησης με υπαναχώρηση έτσι ώστε να συσσωρεύει το σύνολο συγκρούσεων ενώ ελέγχει για μια νόμιμη τιμή για να την αποδώσει. Αν δε βρει καμία νόμιμη τιμή, θα πρέπει να επιστρέψει το πιο πρόσφατο στοιχείο του συνόλου συγκρούσεων μαζί με την ένδειξη αποτυχίας Πρώιμος Έλεγχος Η σειρά επιλογής των μεταβλητών μπορεί να επηρεάσει αρκετά την αποτελεσμάτικότητα του αλγορίθμου. Μια κοινή τακτική για την επιλογή της μεταβλητής που θα προστεθεί στη μερική λύση είναι η επιλογή της μεταβλητής που περιέχεται στους περισσότερους περιορισμούς, η αλλαγή της οποίας είναι περισσότερο πιθανό να οδηγήσει σε αδιέξοδο. Αυτός ο ευρετικός μηχανισμός ονομάζεται αρχή της πρώτης αποτυχίας (first fail principle), αφού υποδεικνύει ότι η δουλειά που είναι πιο πιθανό να αποτύχει πρέπει να πραγματοποιηθεί πρώτη. Το ζήτημα που γεννιέται είναι πως μπορεί να μετρηθεί το κατά πόσο μια μεταβλητή μπορεί να οδηγήσει σε αδιέξοδο, δηλαδή πόσο περιορισμένη είναι. Ένας απλός τρόπος για να εκτιμήσουμε πόσο περιορισμένη είναι μια συγκεκριμένη μεταβλητή είναι η χρήση του αριθμού των μεταβλητών που σχετίζονται μέσω περιορισμού με τη μεταβλητή. Έτσι στο γράφο περιορισμών, μπορούμε να χρησιμοποιήσουμε τον αριθμό των ακμών που συνδέονται σε ένα κόμβο (μια μεταβλητή). Κατά συνέπεια, όσο μεγαλύτερος είναι ο 19

20 αριθμός των ακμών, τόσο πιο πολύ περιορισμένη είναι η μεταβλητή. Ωστόσο, αυτή η μέτρηση είναι κάπως αδύναμη αφού είναι στατική, δηλαδή δεν λαμβάνει υπόψη την τωρινή κατάσταση της μερικής λύσης. Ένας καλύτερος τρόπος είναι η μέτρηση των ακμών που συνδέονται στους κόμβους που δεν έχουν ακόμα συμπεριληφθεί στη μερική λύση. Αυτή η μέτρηση είναι δυναμική, αφού το νούμερο αλλάζει δυναμικά κατά τη διάρκεια κάθε διεργασίας και μας δείχνει πόσο περιορισμένη είναι μια μεταβλητή σε σχέση με το μελλοντικό υποπρόβλημα. Μια εναλλακτική μέθοδος είναι η μέτρηση του αριθμού των τιμών που είναι συνεπείς με τη μερική λύση. Αυτή η μέθοδος συνήθως χρησιμοποιείται στον αλγόριθμο αναζήτησης που ονομάζεται πρώιμος έλεγχος (forward checking). Πιο αναλυτικά, όταν ανατίθεται στην τρέχουσα μεταβλητή μια τιμή, ο πρώιμος έλεγχος ψάχνει για κάθε μελλοντική μεταβλητή Υ (στην οποία δεν έχει ανατεθεί ακόμα τιμή) και η οποία συνδέεται με κάποιο περιορισμό με τη Χ και διαγράφει από το πεδίο τιμών της Υ κάθε τιμή που βρίσκεται σε ασυνέπεια με την επιλεγόμενη τιμή της Χ. Έτσι μπορεί εύκολα σε κάθε βήμα ο αλγόριθμος να επιλέξει τη μεταβλητή με το μικρότερο τρέχων πεδίο τιμών. Ο τρόπος με τον οποίο οι τρέχουσες αποφάσεις για τη μεταβλητή και την επιλογή τιμής για αυτήν αποτρέπουν μέρος της μελλοντικής αναζήτησης είναι η απλούστερη μορφή διάδοσης περιορισμών. Ο πρώιμος έλεγχος διαδίδει το αποτέλεσμα της προσωρινά επιλεγμένης τιμής σε κάθε μια από τις μελλοντικές μεταβλητές με τις οποίες σχετίζεται σε κάποιο περιορισμό. Αν το πεδίο τιμών μιας από αυτές τις μελλοντικές μεταβλητές γίνει κενό (όλες οι τιμές βρίσκονται σε ασυνέπεια) τότε η προσωρινά επιλεγμένη τιμή απορρίπτεται και η επόμενη υποψήφια επιλέγεται. Η διαδικασία αυτή ακολουθείται μέχρι την εύρεση λύσης ή την υπόδειξη ότι δεν υπάρχει λύση. Ο πρώιμος έλεγχος ανιχνεύει πολλές ασυνέπειες, αλλά δεν τις ανιχνεύει όλες. Για το σκοπό αυτό εισήχθησαν οι αλγόριθμοι συνέπειας Αλγόριθμοι Συνέπειας Οι αλγόριθμοι συνέπειας είναι προεπεξεργαστικοί αλγόριθμοι που μειώνουν την ανώφελη οπισθοδρόμηση. Οι αλγόριθμοι συνέπειας μπορούν να κατηγοριοποιηθούν ανάλογα με την έννοια της k-συνέπειας (k-consistency). Ένα CSP είναι k-συνεπές αν δεδομένων οποιωνδήποτε αρχικοποιημένων k-1 μεταβλητών που ικανοποιούν όλους τους περιορισμούς σε αυτές, είναι δυνατόν να βρεθεί μια ανάθεση οποιασδήποτε k-οστής μεταβλητής τέτοια ώστε οι k- τιμές να ικανοποιούν όλους τους περιορισμούς ανάμεσά τους. Αν υπάρχουν n μεταβλητές σε ένα CSP και το CSP είναι k-συνεπές για όλα τα k n, τότε μια λύση μπορεί να ληφθεί άμεσα χωρίς καμία υπαναχώρηση. Ωστόσο, η επίτευξη ενός τέτοιου υψηλού βαθμού συνέπειας απαιτεί υψηλό υπολογιστικό κόστος, και έτσι πρέπει να βρεθεί ένας κατάλληλος συνδυασμός αλγορίθμων συνέπειας και υπαναχώρησης ώστε το συνολικό κόστος να ελαχιστοποιείται. Διάδοση περιορισμού (constraint propagation) είναι ο γενικός όρος που χρησιμοποιείται για τη διάδοση των επιπτώσεων ενός περιορισμού που ισχύει για μια μεταβλητή σε άλλες μεταβλητές. Η ιδέα της συνέπειας τόξου (arc consistency) παρέχει μια γρήγορη μέθοδο για τη διάδοση περιορισμών που είναι σημαντικά ισχυρότερη από τον πρώιμο έλεγχο. Με τον όρο τόξο εννοούμε ένα προσανατολισμένο τόξο στο γράφημα περιορισμών. Μια μεταβλητή λέμε ότι είναι τοξικά-συνεπής (arc-consistent) με μια άλλη μεταβλητή, αν για κάθε μια από τις αποδεκτές τιμές της είναι συνεπής με μια τιμή της δεύτερης μεταβλητής. Ένα πρόβλημα είναι τοξικά-συνεπές όταν κάθε μεταβλητή του είναι τοξικά-συνεπής με μια άλλη μεταβλητή. Ο έλεγχος της συνέπειας τόξου μπορεί να εφαρμοστεί είτε ως στάδιο προεπεξεργασίας πριν αρχίσει η διαδικασία της αναζήτησης είτε ως στάδιο διάδοσης (όπως ο πρώιμος έλεγχος) μετά από κάθε ανάθεση τιμής κατά την αναζήτηση (αυτός ο τελευταίος αλγόριθμος καλείται μερικές φορές MAC, από το Maintaining Arc Consistency διατήρηση συνέπειας τόξου). Και στις δυο περιπτώσεις, η διαδικασία πρέπει να εφαρμόζεται επανειλημμένα μέχρι να μην απομείνουν άλλες ασυνέπειες. Αυτό συμβαίνει επειδή, όποτε διαγράφεται μια τιμή από το πεδίο ορισμού κάποιας μεταβλητής 20

21 για να αρθεί μια συνέπεια τόξου, μια νέα ασυνέπεια τόξου θα μπορούσε να προκύψει στα τόξα που δείχνουν τη μεταβλητή αυτή. 2 ΚΑΤΑΝΕΜΗΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ Ένα κατανεμημένο πρόβλημα ικανοποίησης περιορισμών είναι ένα πρόβλημα ικανοποίησης περιορισμών στο οποίο οι μεταβλητές και οι περιορισμοί κατανέμονται σε πράκτορες. Η εύρεση μιας τιμής στις μεταβλητές που ικανοποιεί τους διαπρακτορικούς περιορισμούς μπορεί να θεωρηθεί σαν την επίτευξη συντονισμού και συνέπειας μεταξύ των πρακτόρων. Η επίτευξη συντονισμού και συνέπειας είναι ένα από τα σημαντικότερα ζητήματα έρευνας στα πολύ-πρακτορικά συστήματα. Συνεπώς, οι τεχνικές κατανεμημένης ικανοποίησης περιορισμών μπορούν να θεωρηθούν σαν μια σημαντική υποδομή για την συνεργασία. Διάφορα προβλήματα στα πολυπρακτορικά συστήματα μπορούν να αναπαρασταθούν σαν κατανεμημένα CSPs και να επιλυθούν με μια από τις μεθόδους που έχουν αναπτυχθεί για το σκοπό αυτό. 2.1 Ορισμοί Σύμφωνα με τους Yokoo et al.[4] ένα Κατανεμημένο Πρόβλημα Ικανοποίησης Περιορισμών (distributed CSP dcsp) είναι ένα πρόβλημα ικανοποίησης περιορισμών στο οποίο οι μεταβλητές και οι περιορισμοί είναι κατανεμημένες ανάμεσα σε πράκτορες. Υποθέτουμε το ακόλουθο μοντέλο επικοινωνίας. Οι πράκτορες επικοινωνούν μεταξύ τους με την ανταλλαγή μηνυμάτων. Ένας πράκτορας μπορεί να στέλνει μηνύματα σε άλλους πράκτορες, αν γνωρίζει τις διευθύνσεις ή τους προσδιοριστές των πρακτόρων. Η καθυστέρηση της παράδοσης των μηνυμάτων είναι άγνωστη, αλλά πεπερασμένη. Για τη μετάδοση μεταξύ οποιουδήποτε ζευγαριού πρακτόρων, τα μηνύματα λαμβάνονται στη σειρά με την οποία στάλθηκαν. Πρέπει να τονιστεί ότι αυτό στο μοντέλο δεν σημαίνει απαραίτητα ότι το φυσικό δίκτυο επικοινωνίας πρέπει να είναι πλήρως συνδεδεμένο (δηλαδή ένας πλήρης γράφος). Αντίθετα με τις περισσότερες μελέτες παράλληλων/κατανεμημένων αλγορίθμων, στις οποίες η τοπολογία του φυσικού επικοινωνιακού δικτύου παίζει ένα σημαντικό ρόλο, υποθέτουμε την ύπαρξη μιας αξιόπιστης επικοινωνιακής υποδομής ανάμεσα στους πράκτορες και δεν μας απασχολεί η υλοποίηση του φυσικού δικτύου επικοινωνίας. Αυτό γίνεται γιατί το κύριο μέλημα μας είναι η συνεργασία ανάμεσα στους ευφυείς πράκτορες αντί η επίλυση CSPs με κάποιες πολυεπεξεργαστικές αρχιτεκτονικές. Στο μοντέλο που προτείνεται σαν ορισμός ενός κατανεμημένου προβλήματος ικανοποίησης περιορισμών κάθε πράκτορας έχει διάφορους περιορισμούς, που διακρίνονται σε ενδο-πρακτορικούς και διαπρακτορικούς. Ενδο-πρακτορικοί περιορισμοί (Intra-Agent Constraints) είναι οι περιορισμοί που αφορούν τις μεταβλητές μόνο ενός πράκτορα και για την ικανοποίηση των οποίων είναι αποκλειστικά υπεύθυνος. 21

22 Δια-πρακτορικοί περιορισμοί (Inter-Agent Constraints) είναι οι περιορισμοί που αφορούν τις μεταβλητές περισσοτέρων του ενός πρακτόρων και για την ικανοποίηση των οποίων απαιτείται συντονισμός και επικοινωνία μεταξύ τους. Επίσης υπάρχουν και έχει διάφορες μεταβλητές, τις οποίες διακρίνει σε ιδιωτικές και δημόσιες. Ιδιωτικές (private) είναι οι μεταβλητές που είναι ορατές μόνο στον πράκτοραιδιοκτήτη τους και δεν είναι μέρος κανενός δια-πρακτορικού περιορισμού. Δημόσιες (public) είναι οι μεταβλητές που είναι ορατές σε όσους πράκτορες συμμετέχουν σε έναν δια-πρακτορικό περιορισμό που περιλαμβάνει μια τέτοια μεταβλητή. Παρόμοια με τα απλά (κεντρικοποιημένα) προβλήματα ικανοποίησης περιορισμών, είναι χρήσιμο να αντιλαμβανόμαστε τα κατανεμημένα CSPs σαν ένα γράφημα, στο οποίο οι κόμβοι αναπαριστούν τους πράκτορες και τα τόξα αναπαριστούν τους διαπρακτορικούς περιορισμούς. Επίσης κάθε πράκτορας περιέχει με τη σειρά του ένα γράφημα περιορισμών στο οποίο, όπως αναφέρθηκε οι κόμβοι αναπαριστούν τις μεταβλητές του πράκτορα και τα τόξα τους ενδοπρακτορικούς περιορισμούς. Ένα τέτοιο γράφημα φαίνεται στην Εικόνα 2.1. Λύση ενός κατανεμημένου προβλήματος ικανοποίησης περιορισμών είναι η εύρεση μιας ανάθεσης για όλες τις μεταβλητές που ικανοποιεί ταυτοχρόνως όλους τους περιορισμούς στο πρόβλημα. Πρέπει να σημειωθεί ότι παρόλο που οι αλγόριθμοι για την επίλυση κατανεμημένων CSPs μοιάζουν με τις παράλληλες/κατανεμημένες επεξεργαστικές μεθόδους για την επίλυση CSPs τα κίνητρα για την έρευνα είναι θεμελιωδώς διαφορετικά. Το κύριο μέλημα στην παράλληλη/κατανεμημένη επεξεργασία είναι η αποδοτικότητα, και μπορούμε να επιλέξουμε οποιοδήποτε τύπο παράλληλης /κατανεμημένης αρχιτεκτονικής υπολογιστών για να επιλύσουμε ένα δεδομένο πρόβλημα αποδοτικά. Αντίθετα, σε ένα κατανεμημένο CSP, υπάρχει ήδη μια κατάσταση όπου η γνώση για το πρόβλημα (δηλαδή οι μεταβλητές και οι περιορισμοί) κατανέμεται ανάμεσα σε πράκτορες. Για παράδειγμα, όταν κάθε πράκτορας ανήκει σε έναν διαφορετικό οργανισμό, υπάρχουν ήδη πολλαπλοί πράκτορες, καθένας από τους οποίους έχει διαφορετική και μερική γνώση για το καθολικό πρόβλημα που πρέπει να λυθεί. Συνεπώς το κύριο ερευνητικό θέμα είναι για το πώς θα φτάσουμε σε λύση από τη δεδομένη κατάσταση. Αν όλη η γνώση για ένα πρόβλημα μπορεί να συγκεντρωθεί σε έναν πράκτορα, αυτός ο πράκτορας θα μπορούσε να λύσει το πρόβλημα μόνος του χρησιμοποιώντας κάποιους κεντρικοποιημένους αλγορίθμους ικανοποίησης περιορισμών. Ωστόσο, η συλλογή όλης της πληροφορίας για ένα πρόβλημα απαιτεί όχι μόνο επικοινωνιακό κόστος, αλλά και κόστος μεταγλώττισης της γνώσης σε ανταλλάξιμη μορφή. Για παράδειγμα, ένας περιορισμός μπορεί να αποθηκεύεται σαν μια περίπλοκη ειδική εσωτερική συνάρτηση μέσα σε ένα πράκτορα. Για να ανταλλαχθεί η γνώση του περιορισμού αυτού σε έναν άλλο πράκτορα, ο οποίος μπορεί να έχει υλοποιηθεί σε μια διαφορετική αρχιτεκτονική, ο πράκτορας θα έπρεπε να μεταφράσει τη γνώση σε μια ανταλλάξιμη μορφή, όπως ένας πίνακας επιτρεπτών (ή μη) συνδυασμών τιμών. Αυτό το κόστος της κεντρικοποίησης όλης της πληροφορίας σε ένα πράκτορα μπορεί να είναι απαγορευτικά υψηλό. 22

23 Α 2 Χ 2 Χ 1 Χ 3 Α 1 Α 3 Χ 1 Χ 2 Χ 2 Χ 3 Χ1 Χ 5 Χ 3 Χ 4 Α 4 Χ 4 Χ 1 Χ 2 Εικόνα 2.1 Ένα κατανεμημένο πρόβλημα ικανοποίησης περιορισμών αναπαριστώμενο με γράφημα. Στο συγκεκριμένο πρόβλημα σε κάθε πράκτορα οι ενδοπρακτορικοί και διαπρακτορικοί περιορισμοί ισχύουν είναι του τύπου. Επίσης, σε ορισμένες εφαρμογές, όπως όταν οι πράκτορες δρουν σαν γραμματείς κάποιου ατόμου, η συγκέντρωση όλων των πληροφοριών σε έναν πράκτορα είναι ανεπιθύμητη ή αδύνατη για λόγους ασφάλειας/ιδιωτικότητας. Σε τέτοιες περιπτώσεις, πολλαπλοί πράκτορες πρέπει να λύσουν το πρόβλημα χωρίς την κεντρικοποίηση όλης της πληροφορίας. 2.2 Εφαρμογές Προβλήματα Κατανομής[1] Η κατανομή εργασιών ή πόρων σε πράκτορες όταν υπάρχουν διαπρακτορικοί περιορισμοί είναι ένα πρόβλημα που μπορεί να μοντελοποιηθεί σαν ένα κατανεμημένο CSP βλέποντας κάθε εργασία ή πόρο σαν μια μεταβλητή και τις πιθανές αναθέσεις σαν τιμές. Για παράδειγμα, το πολύ-επίπεδο διαπραγματευτικό πρωτόκολλο αντιμετωπίζει την περίπτωση στην οποία οι εργασίες δεν είναι ανεξάρτητες και υπάρχουν διάφοροι τρόποι για να πραγματοποιηθεί μια εργασία. Ο στόχος της πολύ-επίπεδης συνεργασίας είναι να βρεθεί ο συνδυασμός των εργασιών έτσι ώστε όλες να εκτελεστούν ταυτόχρονα. Ένα παράδειγμα δικτύου επικοινωνίας που χρησιμοποιείται σε ένα πολύ-επίπεδο διαπραγματευτικό πρωτόκολλο φαίνεται στην εικόνα 2.2. Αυτό το επικοινωνιακό δίκτυο αποτελείται από πολλαπλές τοποθεσίες (π.χ. Α-1, Β-2) και συνδέσμους (π.χ. L-5, L-11). Αυτές οι τοποθεσίες είναι γεωγραφικά διαιρεμένες σε διάφορες περιοχές (π.χ. Α, Β) και κάθε περιοχή ελέγχεται από διαφορετικούς πράκτορες. Αυτοί οι πράκτορες προσπαθούν να φτιάξουν επικοινωνιακούς διαύλους σύμφωνα με αιτήσεις σύνδεσης (στόχους) κάτω από περιορισμούς στη χωρητικότητα των επικοινωνιακών συνδέσμων. Κάθε πράκτορας αναγνωρίζει ένα μέρος του καθολικού έργου για την πραγματοποίηση ενός διαύλου που ονομάζεται κομμάτι της εργασίας. Για παράδειγμα ας υποθέσουμε ότι ένας στόχος είναι να συνδέσουμε το Α-1 και το D-1. Ο πράκτορας Α αναγνωρίζει δυο κομμάτια του σχεδίου, τα 1Α και 2Α, όπου ο 1Α χρησιμοποιεί τον L-1 και τον L-2, και ο 2Α χρησιμοποιεί τον L-1 και τον L- 12. Ένα τέτοιο πρόβλημα μπορεί εύκολα να αναπαρασταθεί σαν κατανεμημένο CSP με κάθε 23

24 πράκτορα να έχει μια μεταβλητή που αναπαριστά ένα στόχο, και με πιθανές τιμές των μεταβλητών αυτών τα κομμάτια του σχεδίου. Σε μια άλλη διατύπωση του ίδιου προβλήματος, υπάρχουν πράκτορες έργων και πράκτορες πόρων, οι οποίοι συνεργαζόμενοι κατανέμουν κοινούς πόρους με μια περιορισμένη χωρητικότητα. Τέτοια προβλήματα μπορούν επίσης να εκφραστούν σαν κατανεμημένα προβλήματα ικανοποίησης περιορισμών. Ωστόσο σε αυτήν την περίπτωση ένας πράκτορας που έχει μια μεταβλητή/εργασία δεν έχει γνώση για τους περιορισμούς που αφορούν αυτή τη μεταβλητή. Συνεπώς ένας πράκτορας εργασιών πρέπει να επικοινωνεί με πράκτορες περιορισμών για να βρει αν οι σχετικοί περιορισμοί ικανοποιούνται ή όχι Προβλήματα Χρονοπρογραμματισμού[1] Τα προβλήματα χρονοπρογραμματισμού είναι ένα άλλο είδος προβλημάτων που μπορεί επιτυχώς να διατυπωθεί σαν κατανεμημένο CSP. Για παράδειγμα, ο χρονοπρογραμματισμός νοσηλευτών περιλαμβάνει την ανάθεση νοσηλευτών σε βάρδιες σε κάθε τμήμα ενός νοσοκομείου. Εφόσον το πρόγραμμα κάθε τμήματος είναι κατά βάση ανεξάρτητο, μπορεί να χειριστεί από ανεξάρτητους πράκτορες. Ωστόσο υπάρχουν διαπρακτορικοί περιορισμοί που σχετίζονται με τη μετάθεση των νοσηλευτών. Ένα πραγματικό πρόβλημα με 10 τμήματα, 20 νοσηλευτές σε κάθε τμήμα και 100 εβδομαδιαίες αναθέσεις λύθηκε με τη χρήση κατανεμημένων τεχνικών επίλυσης CSPs. Σε ένα άλλο είδος προβλημάτων χρονοπρογραμματισμού, ένα σύνολο εργασιών πρέπει να πραγματοποιηθεί σε ένα σύνολο από μηχανήματα. Κάθε εργασία αποτελείται από ένα σύνολο σειριακών διεργασιών, που ονομάζονται υποεργασίες. Ο χρόνος έναρξης κάθε υποεργασίας πρέπει να καθορίζεται έτσι ώστε διάφοροι περιορισμοί να ικανοποιούνται. Θα μπορούσε ένας πράκτορας να ανατίθεται σε κάθε μηχάνημα, και αυτοί οι πράκτορες να ικανοποιούν κάποιους δεδομένους περιορισμούς συνεργαζόμενοι Πρόβλημα DARPA[1] Ένα άλλο μεγάλο πρόβλημα που μπορεί να αναπαρασταθεί σαν κατανεμημένο πρόβλημα ικανοποίησης περιορισμών είναι το DARPA. Το πρόβλημα αποτελείται από n αισθητήρες και m στόχους, όπου ένας στόχος γίνεται αντιληπτός αν k αισθητήρες τον εντοπίζουν την ίδια στιγμή. Ο κύριος περιορισμός είναι ότι ένας αισθητήρας μπορεί να εντοπίσει μόνο έναν πράκτορα τη φορά. Το πρόβλημα έχει μοντελοποιηθεί ως ακολούθως. Κάθε αισθητήρας αναπαρίσταται από έναν πράκτορα. Κάθε πράκτορας έχει αισθητήρες για κάθε στόχο που είναι στη σειρά. Στις μεταβλητές ανατίθεται η τιμή 1 αν ο πράκτορας επιλέξει να τον εντοπίσει και 0 αν όχι. Κάθε πράκτορας περιορίζεται εσωτερικά για να έχει μόνο μια μεταβλητή με τιμή 1. Οι περιορισμοί μεταξύ των πρακτόρων είναι τέτοιοι ώστε για κάθε στόχο να υπάρχουν τουλάχιστον k πράκτορες που έχουν αναθέσει 1 στην τιμή της μεταβλητής που αντιστοιχεί σε αυτό το στόχο. 24

25 B L-12 Β-1 L-11 Β-2 L-10 L-9 D-1 D Α-2 L-1 Α-1 Α L-2 C-1 L-3 L-13 E-2 C-2 L-14 C E L-4 C-3 E-1 L-5 L-6 L-8 D-3 L-6 D-2 Εικόνα 2.2 Παράδειγμα ενός κατανεμημένου προβλήματος κατανομής πόρων. 2.3 Επίλυση Κατανεμημένων Προβλημάτων Ικανοποίησης Περιορισμών Όπως αναφέρθηκε λύση ενός κατανεμημένου προβλήματος ικανοποίησης περιορισμών είναι ένα σύνολο από πλήρεις αναθέσεις στις μεταβλητές όλων των πρακτόρων, ώστε να ικανοποιούνται όλοι οι περιορισμοί, διαπρακτορικοί και ενδοπρακτορικοί. Σύμφωνα με τον προηγούμενο ορισμό για την επίλυση ενός κατανεμημένου CSP θα μπορούσε να επιλεχθεί ένας πράκτορας «ηγέτης» στον οποίο θα συγκεντρωνόταν όλη η πληροφορία σχετικά με τις μεταβλητές, τα πεδία ορισμών τους και τους περιορισμούς τους. Ο πράκτορας αυτός θα μπορούσε να λύσει το CSP μόνος του χρησιμοποιώντας οποιαδήποτε από τις γνωστές τεχνικές επίλυσης CSP. Ωστόσο όπως αναφέρθηκε, το κόστος της συγκέντρωσης όλης της πληροφορίας μπορεί να είναι απαγορευτικά υψηλό. Επιπλέον, σε ορισμένες εφαρμογές, όπως όταν οι πράκτορες δρουν σαν γραμματείς ενός ατόμου, η συγκέντρωση όλης της πληροφορίας σε ένα πράκτορα είναι ανεπιθύμητη ή αδύνατη για λόγους ασφάλειας ή ιδιωτικότητας. Οι τεχνικές επίλυσης κατανεμημένων CSP γενικά προκύπτουν από τις αντίστοιχες κεντρικοποιημένες τεχνικές με ορισμένες αλλαγές που αφορούν την επικοινωνία και το συντονισμό των πρακτόρων. Ακολουθούν ενδεικτικά κάποιες τεχνικές Σύγχρονη/Ασύγχρονη Υπαναχώρηση Η αναζήτηση με υπαναχώρηση όπως αναφέρθηκε στην παράγραφο με ορισμένες αλλαγές μπορεί να χρησιμοποιηθεί για τη λύση κατανεμημένων CSPs. Υποθέτοντας ότι οι πράκτορες έχουν συμφωνήσει για τη σειρά ανάθεσης των μεταβλητών τους (δηλαδή ότι ο πράκτορας A1 θα αναθέσει πρώτος, ο Α2 δεύτερος κ.ο.κ), κάθε πράκτορας που λαμβάνει μια μερική λύση (τις αναθέσεις των προηγούμενων μεταβλητών) από τον προηγούμενο πράκτορα, αναθέτει τιμές στις δικές του μεταβλητές, ανάλογα με τους περιορισμούς που γνωρίζει. Αν βρει μια τιμή που να ικανοποιεί τους περιορισμούς, την προσθέτει στη μερική λύση και την προωθεί στον επόμενο πράκτορα. Αν καμία τιμή στη μεταβλητή δε μπορεί να ικανοποιήσει τους περιορισμούς, τότε στέλνει ένα μήνυμα υπαναχώρησης στον προηγούμενο πράκτορα. Ενώ αυτή η τεχνική δεν υστερεί από το ίδιο επικοινωνιακό κόστος της αντίστοιχης κεντρικοποιημένης, ο καθορισμός της σειράς ανάθεσης απαιτεί κάποιο επικοινωνιακό κόστος. 25

26 Επιπλέον αυτός ο αλγόριθμος δεν μπορεί να εκμεταλλευτεί το πλεονέκτημα του παραλληλισμού, εξαιτίας του γεγονότος ότι οποιαδήποτε στιγμή, μόνο ένας πράκτορας λαμβάνει μια μερική λύση και την επεξεργάζεται, οπότε το πρόβλημα λύνεται σειριακά. Η ασύγχρονη υπαναχώρηση εξαλείφει τα μειονεκτήματα της σύγχρονης υπαναχώρησης επιτρέποντας στους πράκτορες να τρέχουν ταυτόχρονα και ασύγχρονα. Κάθε πράκτορας αρχικοποιεί τις μεταβλητές του και ενημερώνει τους σχετικούς πράκτορες για την αλλαγή της τιμής που έκανε. Οι κύριοι τύποι μηνυμάτων που ανταλλάσσονται μεταξύ των πρακτόρων είναι μηνύματα επαλήθευσης για την αποστολή της τρέχουσας τιμής μιας μεταβλητής και μηνύματα απόρριψης για την αποστολή παραβίασης περιορισμού. Αφού έχει οριστεί η σειρά προτεραιότητας των μεταβλητών και των πρακτόρων, δηλαδή με ποια σειρά θα αλλαχτούν οι τιμές των μεταβλητών των πρακτόρων, κάθε πράκτορας στέλνει την αρχική ανάθεσή του στους γειτονικούς τους πράκτορες με ένα μήνυμα επαλήθευσης. Κάθε πράκτορας κρατάει την τρέχουσα ανάθεση των άλλων πρακτόρων για μελλοντική χρήση. Ένας πράκτορας αλλάζει την ανάθεση που έχει κάνει ανάλογα με τη σειρά προτεραιότητάς του και πιο συγκεκριμένα αν παραβιάζει περιορισμούς με την ανάθεση των πρακτόρων με υψηλότερη προτεραιότητα. Αν δεν υπάρχει τιμή ώστε να μην παραβιάζονται οι περιορισμοί στέλνεται μήνυμα απόρριψης στον αμέσως προηγούμενο πράκτορα στη σειρά προτεραιότητας, οπότε αναγκάζεται εκείνος να αλλάξει την τιμή στην ανάθεσή του. Εφόσον οι πράκτορες δρουν ασύγχρονα και ταυτόχρονα ενώ ανταλλάσουν μηνύματα, ένας πράκτορας μπορεί να έχει παρελθόντες αναθέσεις. Δηλαδή ακόμα και αν ένας πράκτορας έχει την ανάθεση 1 για τη μεταβλητή x, η x μπορεί να έχει ήδη αλλάξει όταν ελέγχει τους περιορισμούς. Συνεπώς, κατά την αποστολή μηνυμάτων απόρριψης θα πρέπει να γίνεται έλεγχος συνέπειας και από τον πράκτορα που λαμβάνει το μήνυμα απόρριψης (δηλαδή τον πράκτορα με υψηλότερη σειρά προτεραιότητας), σύμφωνα με τις δικές του τιμές Ασύγχρονη αναζήτηση αδύναμης-δέσμευσης Ένας περιορισμός της ασύγχρονης υπαναχώρησης είναι ότι ο σειρά προτεραιότητας των μεταβλητών και των πρακτόρων καθορίζεται στατικά. Αν η επιλογή της τιμής ενός πράκτορα με υψηλή σειρά προτεραιότητας, οι πράκτορες χαμηλής σειράς θα πρέπει να κάνουν μια εξαντλητική αναζήτηση για να αναθεωρήσει τη λανθασμένη απόφαση. Η ασύγχρονη αναζήτηση αδύναμης-δέσμευσης (asynchronous weak-commitment search) [1] εισάγει τον ευρετικό μηχανισμό ελάχιστων συγκρούσεων για την μείωση του ρίσκου πραγματοποίησης λανθασμένων αποφάσεων. Επιπλέον, η σειρά των πρακτόρων αλλάζει δυναμικά, έτσι ώστε μια λανθασμένη απόφαση να αναθεωρείται χωρίς να πραγματοποιείται μια εξαντλητική αναζήτηση. Οι διαφορές μεταξύ αυτής της αναζήτησης και της αναζήτησης με υπαναχώρηση είναι οι ακόλουθες: Καθορίζεται μια τιμή προτεραιότητας για κάθε μεταβλητή και αποστέλλεται με ένα μήνυμα επαλήθευσης. Η σειρά προτεραιότητας καθορίζεται από τις σταλμένες τιμές προτεραιότητας, δηλαδή ο πράκτορας ή η μεταβλητή με την υψηλότερη τιμή έχει υψηλότερη προτεραιότητα να αλλάξει. Αν η τρέχουσα ανάθεση δεν είναι συνεπής με τις αναθέσεις των άλλων πρακτόρων, δηλαδή κάποιος διαπρακτορικός περιορισμός με πράκτορα υψηλότερης προτεραιότητας παραβιάζεται, ο πράκτορας αλλάζει την τιμή χρησιμοποιώντας τον ευρετικό μηχανισμό ελάχιστων συγκρούσεων. Όταν δε μπορεί να βρεθεί μια συνεπής ανάθεση με τις τρέχουσες αναθέσεις των άλλων πρακτόρων, αποστέλλεται ένα μήνυμα απόρριψης στους άλλους πράκτορες και αυξάνεται η τιμή προτεραιότητας το πράκτορα. Αν δε μπορεί να 26

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

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

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

Στεφανής Γεώργιος 30/6/2008

Στεφανής Γεώργιος 30/6/2008 Μελέτη Αλγορίθμων Τοπικής Αναζήτησης για Επίλυση Κατανεμημένων Προβλημάτων Ικανοποίησης Περιορισμών με Προτιμήσεις Η Διπλωματική παρουσιάστηκε ενώπιον του διδακτικού προσωπικού του Πανεπιστημίου Αιγαίου,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταβλητες: 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. Στην άσκηση μας, μας έχει δωθεί ένας γράφος, ο οποίος αντιπροσωπεύει ένα χάρτη και μάλιστα αυτόν της Αυστραλίας. Στον γράφο αυτό υπάρχουν και κόμβοι, οι οποίοι αφορούν με τη σειρά τους τις διάφορες

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

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

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

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

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

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

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

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

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

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

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

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

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

Προβλήματα Ικανοποίησης Περιορισμών

Προβλήματα Ικανοποίησης Περιορισμών Προβλήματα Ικανοποίησης Περιορισμών (Επιπλέον Διαφάνειες) Μανόλης Κουμπαράκης Τεχνητή Νοημοσύνη 1 Περιεχόμενα Παραδείγματα CSP Παράδειγμα εκτέλεσης του αλγόριθμου ΒΤ Sudoku k-consistency Η έννοια της αποσύνθεσης

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

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με

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

Αλγόριθµοι CSPs Κώδικας. Μάθηµα Τεχνητής Νοηµοσύνης ΥΣ02 Χειµερινό εξάµηνο

Αλγόριθµοι CSPs Κώδικας. Μάθηµα Τεχνητής Νοηµοσύνης ΥΣ02 Χειµερινό εξάµηνο Αλγόριθµοι CSPs Κώδικας Μάθηµα Τεχνητής Νοηµοσύνης ΥΣ02 Χειµερινό εξάµηνο 2008-2009 CSPLIB Βιβλιοθήκη µε ρουτίνες για την επίλυση δυαδικών προβληµάτων ικανοποίησης περιορισµών http://ai.uwaterloo.ca/~vanbeek/software.h

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

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

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

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

28 Πολυπρακτορικά Συστήµατα

28 Πολυπρακτορικά Συστήµατα ΚΕΦΑΛΑΙΟ 28 28 Πολυπρακτορικά Συστήµατα "There is no such thing as a single agent system". [Woodridge, 2002] Η παραπάνω ρήση από το βιβλίο του M.Wooldridge τονίζει, ίσως µε περισσή έµφαση, ότι είναι πλέον

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

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

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

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

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

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

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

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

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

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

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

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

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

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

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Διπλωματική Εργασία Μεταπτυχιακού Προγράμματος στην Εφαρμοσμένη Πληροφορική Κατεύθυνση: Συστήματα Υπολογιστών

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

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

Επιχειρησιακή Έρευνα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Επιχειρησιακή Έρευνα Ενότητα #3: Ακέραιος Προγραμματισμός Αθανάσιος Σπυριδάκος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

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

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

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

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

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

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

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π Περιορισμοί Αλγοριθμικής Ισχύος Κατηγοριοποίηση πολυπλοκοτήτων Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός

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

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

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

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

ΠΛΗ513 - Αυτόνομοι Πράκτορες Αναφορά Εργασίας

ΠΛΗ513 - Αυτόνομοι Πράκτορες Αναφορά Εργασίας ΠΛΗ513 - Αυτόνομοι Πράκτορες Αναφορά Εργασίας Ομάδα εργασίας: LAB51315282 Φοιτητής: Μάινας Νίκος ΑΦΜ: 2007030088 ΠΕΡΙΓΡΑΦΗ ΙΔΕΑΣ Η ιδέα της εργασίας βασίζεται στην εύρεση της καλύτερης πολιτικής για ένα

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1, Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα

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

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

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

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

4.3 Ορθότητα και Πληρότητα

4.3 Ορθότητα και Πληρότητα 4.3 Ορθότητα και Πληρότητα Συστήματα αποδείξεων όπως η μορφολογική παραγωγή και η κατασκευή μοντέλων χρησιμοποιούνται για να δείξουμε την εγκυρότητα εξαγωγών συμπερασμάτων. Ένα σύστημα αποδείξεων μπορεί

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

Επίλυση προβλημάτων με αναζήτηση

Επίλυση προβλημάτων με αναζήτηση Επίλυση προβλημάτων με αναζήτηση Περιεχόμενα Μέθοδοι (πράκτορες) επίλυσης προβλημάτων Προβλήματα και Λύσεις Προβλήματα παιχνίδια Προβλήματα του πραγματικού κόσμου Αναζήτηση λύσεων Δέντρο αναζήτησης Στρατηγικές

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

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

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

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

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

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

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

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

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

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

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

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

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Operations/Operational Research (OR) Κωστής Μαμάσης Παρασκευή 09:00 12:00 Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα EE 1&2 Εισαγωγή Μαθηματικός Προγραμματισμός - Γραμμικός

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m Υπολογιστικές Μέθοδοι στη Θεωρία Αποφάσεων Ενότητα 10 Εισαγωγή στον Ακέραιο Προγραμματισμό Αντώνης Οικονόμου Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Προπτυχιακό πρόγραμμα σπουδών 29 Φεβρουαρίου 2016 Προβλήματα

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

Τυχαιοκρατικοί Αλγόριθμοι

Τυχαιοκρατικοί Αλγόριθμοι Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης περίπτωσης Μελέτα τη συμπεριφορά ενός αλγορίθμου σε μια «μέση» είσοδο (ως προς κάποια κατανομή) Τυχαιοκρατικός αλγόριθμος Λαμβάνει τυχαίες αποφάσεις καθώς επεξεργάζεται

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

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

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

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

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

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

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

Οπτικά Δίκτυα. Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση

Οπτικά Δίκτυα. Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση Οπτικά Δίκτυα Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση Εισαγωγή Στα αμιγώς οπτικά δίκτυα παρέχονται συνδέσεις στους πελάτες με τη μορφή των lightpahts. Η μεταγωγή των lightpaths

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

Το µαθηµατικό µοντέλο του Υδρονοµέα

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

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

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

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

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

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός Κεφάλαιο 5ο: Ακέραιος προγραμματισμός 5.1 Εισαγωγή Ο ακέραιος προγραμματισμός ασχολείται με προβλήματα γραμμικού προγραμματισμού στα οποία μερικές ή όλες οι μεταβλητές είναι ακέραιες. Ένα γενικό πρόβλημα

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

Δραστηριότητα: Εγκλεισμός

Δραστηριότητα: Εγκλεισμός Δραστηριότητα: Εγκλεισμός Ηλικίες στις οποίες έχει χρησιμοποιηθεί με επιτυχία: Προαπαιτούμενες Ικανότητες: Χρόνος: Εστίαση Μέγεθος Ομάδας 11 - ενήλικες Καμία Τι είναι αλγόριθμος Αλγόριθμοι αναζήτησης:

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

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

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

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

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

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

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ Ιστότοπος Βιβλίου http://www.iep.edu.gr/ και «Νέα Βιβλία ΙΕΠ ΓΕΛ και ΕΠΑΛ» 2 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

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

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

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

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

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του προβλήματος Συμφωνίας Αλγόριθμος Συμφωνίας με Σφάλματα Κατάρρευσης ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1 Πρόβλημα

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

Συστήματα Επιχειρηματικής Ευφυίας. Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS)

Συστήματα Επιχειρηματικής Ευφυίας. Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS) Συστήματα Επιχειρηματικής Ευφυίας Το πρόβλημα Nurse rostering Ενδεικτική επίλυση με αλγόριθμο Variable Neighborhood Search (VNS) Έβδομη Διάλεξη Περιεχόμενα (1) Συνοπτική παρουσίαση του προβλήματος Nurse

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

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 Επιτροπή προπτυχιακών σπουδών: Κ. Βασιλάκης Κ. Γιαννόπουλος

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

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

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

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

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

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

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

Τμήμα Πληροφορικής. Σχολή Τεχνολογικών Εφαρμογών. Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης

Τμήμα Πληροφορικής. Σχολή Τεχνολογικών Εφαρμογών. Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης Τμήμα Πληροφορικής Σχολή Τεχνολογικών Εφαρμογών Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης To Τμήμα Πληροφορικής του Α.Τ.Ε.Ι-Θ Το Τμήμα Πληροφορικής, στα πλαίσια μιας νέας εποχής που σηματοδοτείται

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

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη ΠΛΗ 405 Τεχνητή Νοηµοσύνη Α οδοτικός Προτασιακός Συµ ερασµός Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Λογικοί ράκτορες πράκτορες βασισµένοι στη λογική Λογικές

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

Γραµµικός Προγραµµατισµός (ΓΠ)

Γραµµικός Προγραµµατισµός (ΓΠ) Γραµµικός Προγραµµατισµός (ΓΠ) Περίληψη Επίλυση δυσδιάστατων προβληµάτων Η µέθοδος simplex Τυπική µορφή Ακέραιος Προγραµµατισµός Προγραµµατισµός Παραγωγής Προϊόν Προϊόν 2 Παραγωγική Δυνατότητα Μηχ. 4 Μηχ.

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

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

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

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

Κεφάλαιο 6. Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού

Κεφάλαιο 6. Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού Κεφάλαιο 6 Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού 1 Γραφική επίλυση Η γραφική μέθοδος επίλυσης μπορεί να χρησιμοποιηθεί μόνο για πολύ μικρά προβλήματα με δύο ή το πολύ τρεις μεταβλητές απόφασης.

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

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

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

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

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

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Συναίνεση και Σφάλματα Διεργασιών Παναγιώτα Παναγοπούλου Περίληψη Συναίνεση με σφάλματα διεργασιών Το πρόβλημα Ο αλγόριθμος FloodSet Επικύρωση δοσοληψιών Ορισμός του προβλήματος

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 5.1 Πρόβλημα και Υπολογιστής Τι ονομάζουμε πρόβλημα; Πρόβλημα θεωρείται κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί

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

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

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

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

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

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