ii

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

Download "ii"

Transcript

1 Πιθανοτική Ικανοποιησιμότητα Πολυπλοκότητα και Υπολογιστικές Προσεγγίσεις Συγγραφέας: ΑΡΑΒΑΝΤΙΝΟΥ ΑΝΝΑ Επιβλέπων: ΚΑΒΒΑΔΙΑΣ Ι. ΔΗΜΗΤΡΙΟΣ Επίκουρος Καθηγητής τμήματος Μαθηματικών Πανεπιστημίου Πατρών Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών: «τα Μαθηματικά των Υπολογιστών και των Αποφάσεων» τμήμα Μαθηματικών και τμημα Μηχανικών Η/Υ & Πληροφορικης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ Μάρτιος 2015

2 ii

3 Θα ήθελα να ευχαριστήσω την οικογένειά μου και τους φίλους μου για την στήριξή τους, αλλά κυρίως τον επιβλέποντα καθηγητή μου κ. Καββαδία Δημήτριο, για όλη την καθοριστική βοήθεια και την υποστήριξη που μου προσέφερε.

4 iv

5 Περιεχόμενα 1 Εισαγωγή 1 2 Θεωρητικά προαπαιτούμενα Στοιχεία Θεωρίας Πολυπλοκότητας Το πρόβλημα της Ικανοποιησιμότητας Στοιχεία Γραμμικού Προγραμματισμού Το πρόβλημα Γεωμετρική Ερμηνεία Βασική Εφικτή Λύση Η μέθοδος SIMPLEX Η διαδικασία Column Generation Δυϊκή Θεωρία Πιθανοτική Ικανοποιησιμότητα: Το πρόβλημα Αυστηρός ορισμός του προβλήματος Το γραμμικό πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας Η μορφή απόφασης Η μορφή βελτιστοποίησης Άλλες μορφές του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας Η Υπολογιστική Πολυπλοκότητα του προβλήματος Η Πιθανοτική Ικανοποιησιμότητα ανήκει στην κλάση ΝΡ Αναγωγή του PSAT στο MAXSAT Η Υπολογιστική Πολυπλοκότητα ειδικών περιπτώσεων της Πιθανοτικής Ικανοποιησιμότητας Το αντίστροφο πρόβλημα των Συχνών Στοιχειοσυνόλων v

6 vi ΠΕΡΙΕΧΟΜΕΝΑ 4 Πρακτική Επίλυση της Πιθανοτικής Ικανοποιησιμότητας Η διαδραστική επιφάνεια Η CPLEX Callable Library Τεχνικές για Παραγωγή Στήλης Περί Προσεγγιστικών αλγορίθμων Προσεγγιστικοί Αλγόριθμοι Ευρετικοί Αλγόριθμοι Προσέγγιση του FREQSAT με ευρετικό αλγόριθμο Σύνοψη και Μελλοντική Ερευνα 85

7 1 Εισαγωγή Η Τεχνητή Νοημοσύνη, όπως την ορίζει ο Nilsson στο βιβλίο του: «ARTIFICIAL INTELLIGENCE: A New Synthesis», [18] ασχολείται με την νοημοσύνη σε αντικείμενα. Ο όρος «νοημοσύνη» αφορά την αντίληψη, τον συλλογισμό, την εκμάθηση, την επικοινωνία και την δράση μέσα σε σύνθετα περιβάλλοντα. Επομένως, στόχος της Τεχνητής Νοημοσύνης είναι να αναπτύξει μηχανές που να μπορούν να κάνουν όλα τα παραπάνω στο ίδιο επίπεδο με τους ανθρώπους ή ακόμα και καλύτερα, αλλά και να μπορέσει να κατανοήσει τέτοιου είδους συμπεριφορές, είτε προέρχονται από άνθρωπο, είτε από μηχάνημα, είτε από ζώο. Μία από τις πιο σημαντικές διαφορές ανάμεσα στο μηχάνημα και τον άνθρωπο, που δυσκολεύει σημαντικά την παραπάνω προσπάθεια, είναι το γεγονός ότι οι συμβατικές υπολογιστικές μηχανές βασίζονται στην δυϊκή λογική του σωστού - λάθους. Αντίθετα, οι άνθρωποι έχουν μία πιο ασαφή λογική. Ετσι, ένα πραγματικά «έξυπνο» σύστημα πρέπει να προσεγγίζει σημαντικά αυτή την ιδιότητα των ανθρώπων. Η εμφάνιση των «ευφυών συστημάτων», κατά τα τέλη της δεκαετίας του 1970 και στις αρχές της δεκαετίας του 1980, έκανε πιο άμεση την ανάγκη να καταφέρει η τεχνητή νοημοσύνη να ξεφύγει από την αυστηρή δυϊκή αντιμετώπιση. Αυτό συνέβη γιατί δημιουργήθηκαν πιο «ικανά» συστήματα τα οποία φιλοδοξούσαν να μπορέσουν να μιμηθούν την ανθρώπινη απόδοση σε τομείς που αφορούσαν την διάγνωση, τον σχεδιασμό και την ανάλυση. Ο λόγος που η παραπάνω ανάγκη έγινε πιο επιτακτική είναι ότι ένα από τα χαρακτηριστικά του ανθρώπινου συλλογισμού είναι η ικανότητα να εξάγει χρήσιμα συμπεράσματα από αβέβαια και ατελή στοιχεία. Αυτή η ικανότητα είναι χρήσιμη και για καθημερινές δραστηριότητες που δεν χρειάζεται να μοντελοποιήσουμε, αλλά και 1

8 2 1. ΕΙΣΑΓΩΓΗ για πιο σημαντικούς σκοπούς όπως για παράδειγμα η ιατρική διάγνωση. Αυτό συμβαίνει γιατί τα στοιχεία που πολλές φορές δεχόμαστε προκειμένου να καταλήξουμε σε ένα συμπέρασμα, εμπεριέχουν σε έναν μεγάλο ή μικρό βαθμό αβεβαιότητα, ή είναι ελλιπή. Στην πράξη, για διαφόρους λόγους, δεν μπορούμε να έχουμε πάντα όλα τα στοιχεία που χρειαζόμαστε ή, ακόμα, κάποια στοιχεία τα υποθέτουμε ή για κάποια δεν έχουμε τρόπο να βεβαιωθούμε. Επιπλέον, για τα συμπεράσματα που εξάγουμε, συχνά διατηρούμε έναν βαθμό αβεβαιότητας ή είμαστε ανάμεσα σε δύο ή περισσότερες πιθανές απαντήσεις με διαφορετική δυναμική η κάθε μία. Φαίνεται, λοιπόν, ότι ένα ευφυές σύστημα το οποίο θα μπορούσε να διαχειριστεί μόνο βέβαια δεδομένα και θα μπορούσε να εξάγει μόνο σίγουρα συμπεράσματα θα ήταν χρήσιμο σε ελάχιστες περιπτώσεις και πολύ συχνά θα κατέληγε σε λάθος, αφού δεν θα θεωρούσε πιθανά αποτελέσματα αυτά που είχαν λίγες πιθανότητες να πραγματοποιηθούν. Ετσι στην περίπτωση που είχαμε να κάνουμε με ένα σύστημα το οποίο πραγματοποιεί ιατρική διάγωνση, από την μία δεν θα μπορούσαμε να λάβουμε υπόψην συμπτώματα που δεν είναι βέβαια και από την άλλη θα παίρναμε σαν αποτέλεσμα μόνο μία αιτία ή και καμία αν δεν μπορεί να βρεθεί κάποια σίγουρη. Οι τελευταίες περιπτώσεις θα μπορούσαν να έχουν μοιραία αποτελέσματα. Για να μπορέσουμε να δημιουργήσουμε χρήσιμα ευφυή συστήματα, προκύπτει η ανάγκη να βρεθεί ένας τρόπος να ξεφύγουμε από τα πλαίσια της αυστηρής λογικής και να μπορέσουμε να εκφράσουμε την αβεβαιότητα. Ηδη, η χρήση των αρχών της λογικής στην τεχνητή νοημοσύνη μας επιτρέπει σε μικρό βαθμό να εκφράσουμε την αβεβαιότητα. Για παράδειγμα, από την έκφραση p q προκύπτει η αβεβαιότητα για το ποια από τις εκφράσεις p και q είναι αληθής. Δεν μπορούμε όμως να εκφράσουμε τι βαθμό βεβαιότητας ή αβεβαιότητας έχουμε για κάθε μία από τις εκφράσεις. Αντίστοιχα, αν κάποιος γνωρίζει ότι p q και επιπλέον μαθαίνει ότι ισχύει το p τότε γνωρίζει σίγουρα ότι ισχύει και το q. Λείπει ωστόσο η δυνατότητα να έχουμε ένα παρόμοιο αποτέλεσμα στην περίπτωση που η πραγματοποίηση του p δεν είναι βέβαιη. Φαίνεται, λοιπόν, ότι η θεωρία της λογικής είναι ιδιαίτερα σημαντική στην δημιουργία των συστημάτων τεχνητής νοημοσύνης, διότι με την χρήση της υπάρχει η δυνατότητα να δημιουργηθεί ένα σύνολο από αξιώματα - προτάσεις που αποτελούν τους ισχυρισμούς σε έναν τομέα, ενώ δίνει και την δυνατότητα ανταλλαγής γνώσης ανάμεσα σε εφαρμογές που είναι γραμμένες σε διαφορετική γλώσσα. Ωστόσο, η χρήση της ήταν αδύνατη σε αρκετές εφαρμογές, αφού δεν υπήρχε η δυνατότητα να εκφραστεί ο βαθμός βεβαιότητας ή αβεβαιότητας που συνοδεύει διάφορες προτάσεις. Μία λύση για τα παραπάνω προβλήματα δόθηκε από τον τομέα των πιθανοτήτων.

9 3 Ηδη, δύο από τα πρώτα ευφυή συστήματα, το σύστημα MYCIN που εμφανίστηκε το 1976 [23] και πραγματοποιούσε διάγνωση για βακτηριακές μολύνσεις και το σύστημα PROSPECTOR που απαντούσε για την ύπαρξη κοιτασμάτων μετάλλων και εμφανίστηκε το 1979 [7], χρησιμοποιούσαν πιθανότητες προκειμένου να μπορέσουν να εκφράσουν τον βαθμό βεβαιότητας των αποτελεσμάτων. Πως είναι, όμως, δυνατόν να συνδεθεί η θεωρία της λογικής με την θεωρία πιθανοτήτων ; Εστω ότι έχουμε ένα σύνολο από λογικές προτάσεις C 1, C 2,..., C n, η κάθε μία από τις οποίες μπορεί να πάρει τις πιθανές τιμές αλήθεια ή ψέμα (αντίστοιχα 0, 1) ανάλογα με το αν την επαληθεύουν ή όχι οι τιμές που μεταβλητών της. Ορίζουμε ως P(V i = v i ) την πιθανότητα να πάρει η πρόταση V i την τιμή v i. Μπορούμε, επίσης, να ορίσουμε την πιθανότητα αυτή για περισσότερες από μία προτάσεις, καθώς μπορεί να μας ενδιαφέρει η ταυτόχρονη πραγματοποίηση περισσότερων ενδεχομένων. Για παράδειγμα: P(V 1 = v 1, V 2 = v 2,..., V n = v n ) Πρέπει, ακόμα, να ισχύουν τα επόμενα προκειμένου να έχει νόημα η πιθανότητα με τον τρόπο που ορίστηκε προηγούμενα: Από την έννοια της πιθανότητας γνωρίζουμε ότι μπορεί να πάρει τιμές στο διάστημα [0, 1]. Ετσι πρέπει: 0 P(V i = v i ) 1, i N ή αντίστοιχα, 0 P(V 1 = v 1, V 2 = v 2,..., V n = v n ) 1, n N Το άθροισμα των πιθανοτήτων που συνοδεύουν τις δύο πιθανές τιμές που μπορεί να πάρει μία πρόταση πρέπει να είναι ακριβώς 1. Γιατί ένα από τα δύο σίγουρα θα συμβεί. P(V i = 0) + P(V i = 1) = 1, i N Κάτι αντίστοιχο πρέπει να ισχύει, όταν αναφερόμαστε στην συνδυαστική πιθανότητα περισσότερων της μίας πρότασης. Μόνο που στην περίπτωση αυτή

10 4 1. ΕΙΣΑΓΩΓΗ παίρνουμε το άθροισμα όλων των δυνατών συνδυασμών των δυνατών τιμών των προτάσεων που εμπλέκονται. όπου, D i το σύνολο τιμών της V i. V i D i P(V 1, V 2,..., V n ) = 1, n N Ακόμα, πολύ συχνά, χρειάζεται να χρησιμοποιηθεί η πιθανότητα μίας πρότασης με δεδομένο ότι ισχύει μία άλλη. Τότε χρησιμοποιούμε την έννοια της δεσμευμένης πιθανότητας. Για δύο προτάσεις V i, V j, η δεσμευμένη πιθανότητα της V i, δοθέντος της V j είναι η P(V i /V j ) και ορίζεται ως εξής: P(V i /V j ) = P(V i, V j ) P(V j ) Για να γίνουν όλα αυτά πιο κατανοητά είναι ενδιαφέρον να περιγράψουμε ένα πρακτικό παράδειγμα που αναφέρει και ο Nilsson [18]: Ας υποθέσουμε ότι έχουμε ένα μηχάνημα το οποίο σηκώνει διάφορα βαριά αντικείμενα. Αν, τώρα, το βάρος του αντικειμένου που θα σηκώσει είναι στα όρια του βάρους που μπορεί το μηχάνημα να σηκώσει και η μπαταρία είναι πλήρως φορτισμένη, τότε ο βραχίονας του μηχανήματος θα μετακινηθεί και θα ανυψώσει το αντικείμενο. Μπορούμε να ορίσουμε: Με την προτασιακή μεταβλητή x 1 την κατάσταση κατά την οποία η μπαταρία είναι πλήρως φορτισμένη. Με την προτασιακή μεταβλητή x 2 την κατάσταση κατά την οποία το βάρος του αντικειμένου είναι μέσα στα όρια ανύψωσης του βραχίονα. Με την προτασιακή μεταβλητή x 3 την κατάσταση κατά την οποία ο βραχίονας θα ανυψώσει το βάρος. Εστω, τώρα, ότι βρισκόμαστε στην αρχή της διαδικασίας ανύψωσης ενός αντικειμένου. Σίγουρα δεν είναι δυνατόν να γνωρίζουμε εκ των προτέρων αν η τιμή των προτασιακών μεταβλητών θα είναι 1. Μπορούμε, ωστόσο, από προηγούμενη εμπειρία να εκτιμήσουμε την πιθανότητα που έχει κάθε μία από αυτές να αληθεύει, όπως μπορούμε να έχουμε και τις συνδυαστικές τιμές των πιθανοτήτων πραγματοποίησης για δύο ή και τρεις από τις μεταβλητές. Ετσι, όταν αναφερόμαστε στις συνδυαστικές τιμές αλήθειας των τριών μεταβλητών του παραδείγματος, πρέπει να έχουμε

11 οχτώ δυνατούς, διαφορετικούς συνδυασμούς των τιμών των μεταβλητών, κάθε ένας από τους οποίους συνοδεύεται από μία τιμή πιθανότητας. Οι τιμές των πιθανοτήτων αυτών αθροίζουν στην μονάδα. Θα μπορούσαμε, λόγου χάρη, να είχαμε: P(x 1 = 1) = 0.78, P(x 1 = 0) = 0.22, P(x 1 = 1, x 2 = 1, x 3 = 1) = 0.325, P(x 1 = 1, x 2 = 0, x 3 = 1) = 0.005, P(x 1 = 0, x 2 = 1, x 3 = 1) = 0.005, P(x 1 = 1, x 2 = 1, x 3 = 0) = 0.217,... Εστω, τώρα ότι το μηχάνημα δεν μπορεί να κουνήσει τον βραχίονα για να σηκώσει το βάρος και θέλουμε να υπολογίσουμε την πιθανότητα δεδομένου ότι συνέβη αυτό, η μπαταρία είναι φορτισμένη. δεσμευμένης πιθανότητας που αναφέρθηκε προηγούμενα: P(x 1 = 1/x 3 = 0) = P(x 1 = 1, x 3 = 0) P(x 3 = 0) Τότε χρειαζόμαστε την έννοια της Αφού εξηγήσαμε πως μπορεί να εισαχθεί η έννοια της πιθανότητας στην Τεχνητή Νοημοσύνη, ήρθε η ώρα να δούμε πως θα αντιμετωπίσουμε πιθανά προβλήματα που μπορεί να προκύψουν. Οι πηγές από τις οποίες προέρχονται οι πιθανότητες που αντιστοιχούν σε κάθε πρόταση ή σε συνδυασμό αυτών, ποικίλουν ως προς το είδος και ως προς την αξιοπιστία. Πολλές φορές μπορεί να προέρχονται από κάποιον ειδικό στον τομέα που δραστηριοποιείται το κάθε «ευφυές σύστημα» ή από κάποιες προηγούμενες εμπειρίες ή από κάποιες βάσεις δεδομένων. Πολλές φορές οι πληροφορίες αυτές μπορεί να είναι υποκειμενικές, αβέβαιες, ημιτελείς ή ακόμα και ανακριβείς. Συχνά, λοιπόν, αμφισβητείται η συνέπειά τους και πρέπει να βρεθεί ένας τρόπος να ελεγχθεί. Πριν, όμως, αναφερθούμε στον τρόπο αυτό θα πρέπει να εξηγήσουμε τι σημαίνει ο όρος «συνέπεια». Η συνέπεια έχει να κάνει με το γεγονός ότι το άθροισμα όλων των πιθανοτήτων των δυνατών συνδυασμών που επαληθεύουν μια πρόταση, δηλαδή της δίνουν την τιμή 1, πρέπει να είναι ίσο με την πιθανότητα που συνοδεύει την 5

12 6 1. ΕΙΣΑΓΩΓΗ συγκεκριμένη πρόταση. Καθώς, επίσης, και με περιπτώσεις που οι πιθανότητες που συνοδεύουν τις προτάσεις δεν συσχετίζονται λογικά. Για παράδειγμα, έστω η πρόταση 1 που αποτελείται από την μεταβλητή x 1 με πιθανότητα 0.3, η πρόταση 2 που αποτελείται από την μεταβλητή x 3 με πιθανότητα 0.2 και η πρόταση 3 να είναι η x 1 x 3 με πιθανότητα 0.7. Παρατηρούμε ότι οι πιθανότητες που συνοδεύουν τις παραπάνω προτάσεις δεν είναι συνεπείς διότι δεν είναι δυνατόν να έχουν μεγαλύτερη πιθανότητα να πραγματοποιηθούν ταυτόχρονα δύο διαφορετικά γεγονότα από το να πραγματοποιηθεί το καθένα μόνο του. Πολύ συχνά, μπορεί τα στοιχεία που προμηθευόμαστε να είναι ελλιπή. Ετσι, μπορεί να χρειάζεται να υπολογίσουμε την πιθανότητα που θα συνοδεύει μία πρόταση, είτε γιατί μπορεί να μην μας δόθηκε λόγω κάποιου λάθους, είτε γιατί μπορεί αυτό να είναι απλό το ζητούμενο μίας πρόβλεψης. Προκειμένου να απαντήσουμε στα ερωτήματα που τέθηκαν προηγούμενα απευθυνόμαστε στο πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας (Probabilistic Satisfiability) ή πιο σύντομα PSAT. Αυτό το πρόβλημα είναι και το βασικό αντικείμενο μελέτης μας. Αυστηρός ορισμός θα δοθεί αργότερα. Πριν όμως, προχωρήσουμε στην μελέτη του PSAT, θα αναφέρουμε τα απαραίτητα θεωρητικά στοιχεία από την Υπολογιστική Πολυπλοκότητα και τον Μαθηματικό Προγραμματισμό που θα μας χρειαστούν στην ανάλυσή μας.

13 2 Θεωρητικά προαπαιτούμενα 2.1 Στοιχεία Θεωρίας Πολυπλοκότητας Αντικείμενο της θεωρίας πολυπλοκότητας είναι η αξιολόγηση των υπολογιστικών προβλημάτων με βάση τους υπολογιστικούς πόρους που καταναλώνουν κατά την επίλυσή τους. Στην ουσία εξετάζεται η δυσκολία που εμφανίζει ένα πρόβλημα κατά την επίλυσή του. Το κριτήριο αυτής της δυσκολίας είναι οι ακριβοί πόροι που μία μηχανή ξοδεύει προκειμένου να επιλύσει το πρόβλημα. Συνήθως, οι πόροι αυτοί είναι ο χρόνος και ο χώρος. Εντάσσουμε, λοιπόν, τα προβλήματα σε Κλάσεις Πολυπλοκότητας προκειμένου να εκφράσουμε το διαφορετικό επίπεδο δυσκολίας του κάθε προβλήματος. Οι κλάσεις πολυπλοκότητας διακρίνονται ως προς την τάξη μεγέθους του απαιτούμενου χρόνου και χώρου. Μερικές πιο γνωστές και πιο σημαντικές κλάσεις πολυπλοκότητας είναι η κλάση P που περιλαμβάνει τα προβλήματα που επιλύονται σε πολυωνυμικής τάξης χρόνο ως προς το μέγεθος του προβλήματος και θεωρείται η κλάση των προβλημάτων που διαθέτουν ικανοποιητικό αλγόριθμο επίλυσης, η κλάση PSPACE που περιλαμβάνει τα προβλήματα που για την επίλυσή τους χρησιμοποιούν πολυωνυμικό χώρο, η κλάση NP στην οποία ανήκουν τα προβλήματα που μπορεί να ελεγχθεί σε πολυωνυμικό χρόνο αν μία πληροφορία αποτελεί λύση τους και η κλάση EXPTIME που περιλαμβάνει τα προβλήματα που επιλύονται μόνο από τουλάχιστον εκθετικού χρόνου αλγόριθμους. Πριν δώσουμε περισσότερες πληροφορίες για τις κλάσεις με τις οποίες θα α- σχοληθούμε περισσότερο, είναι σημαντικό να περιγράψουμε τις δύο κατηγορίες των προβλημάτων, όπως αυτές προκύπτουν από το είδος της απάντησης που ζητείται 7

14 8 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ως λύση. Αποφαντικά ονομάζονται τα προβλήματα που έχουν μόνο δύο πιθανές απαντήσεις, είτε «ΝΑΙ», είτε «ΟΧΙ». Στα προβλήματα απόφασης δεν ζητείται μία αναλυτική λύση ως απάντηση, όπως στα μη-αποφαντικά προβλήματα, αλλά ζητείται να απαντήσουμε αν το στιγμιότυπο του προβλήματος που μας δίνεται είναι ένα «ΝΑΙ» στιγμιότυπο. Η κλάση που θα μας απασχολήσει περισσότερο, πέρα από την κλάση P που η έννοιά της είναι σχετικά απλή, είναι η κλάση NP. Η κλάση NP είναι η κλάση των γλωσσών που αποφασίζονται από μία μη ντετερμινιστική μηχανή Turing σε χρόνο πολυωνυμικό στο μήκος της εισόδου. Ο υπολογισμός που κάνει μια μηχανή Turing για να αποφασίσει μια γλώσσα είναι η πρόβλεψη μιας απάντησης και η επιβεβαίωση της πρόβλεψης αυτής. Ετσι για να ανήκει ένα πρόβλημα στην κλάση γλωσσών NP πρέπει να έχει ένα «καλό» πιστοποιητικό. Δηλαδή κάποιου είδους πληροφορία η οποία να μπορεί σε πολυωνυμικό χρόνο να ελεγχθεί αν είναι «ΝΑΙ» στιγμιότυπο. Για να δείξουμε ότι ένα πρόβλημα ανήκει στην κλάση NP, αρκεί να δειχθεί ότι έχει μία καλή πληροφορία, πολυωνυμικής τάξης μεγέθους, και να είναι δυνατόν να ελεγχθεί σε πολυωνυμικό χρόνο ότι αυτή η πληροφορία αποτελεί λύση του προβλήματος. Μας ενδιαφέρει, λοιπόν να κατηγοριοποιήσουμε το κάθε πρόβλημα σε μία κλάσης πολυπλοκότητας προκειμένου να δείξουμε το βαθμό δυσκολίας κατά την επίλυσή του. Για να είναι αυτό πιο ακριβές θα μας ενδιέφερε να αποδείξουμε ότι ένα πρόβλημα είναι από τα δυσκολότερα σε μια κλάση πολυπλοκότητας. Αυτό που μπορούμε να κάνουμε είναι να δείξουμε ότι ένα πρόβλημα είναι τουλάχιστον τόσο δύσκολο όσο ένα άλλο μέσω αναγωγής. Η αναγωγή ενός προβλήματος L 1 σε ένα πρόβλημα L 2 δείχνει ότι αν γνωρίζουμε ένα αλγόριθμο για την επίλυση του L 2 τότε έχουμε μέθοδο επίλυσης και για το L 1. Απαιτείται η μετατροπή ενός στιγμιότυπου του L 1 σε ένα στιγμιότυπο του L 2 έτσι ώστε το στιγμιότυπο του L 1 να έχει απάντηση «ΝΑΙ», αν και μόνον αν, και το αντίστοιχο στιγμιότυπο του L 2 έχει απάντηση «ΝΑΙ». Εδώ, όμως, να σημειώσουμε ότι πρέπει να υπάρχουν και κάποιες προϋποθέσεις για τον βαθμό δυσκολίας αυτής της μετατροπής καθώς μια δύσκολη μετατροπή δεν θα είχε νόημα αφού τότε η δυσκολία επίλυσης του προβλήματος θα οφειλόταν στην δυσκολία της μετατροπής. Ανακεφαλαιώνοντας, καταλήγουμε στο παρακάτω ορισμό, όπως αναφέρεται και στο [13]: Ορισμός 2.1 Για να είναι πλήρες ένα πρόβλημα σε μια κλάση πολυπλοκότητας πρέπει:

15 2.1. ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ 9 1. Να ανήκει το πρόβλημα στην κλάση αυτή. 2. Κάθε πρόβλημα στην κλάση αυτή να ανάγεται «εύκολα» στο πρόβλημά μας. Βλέπουμε, λοιπόν, ότι η κλάση ΝΡ αφορά προβλήματα απόφασης. Αν αποδείξουμε ότι ένα πρόβλημα είναι ΝΡ-πλήρες, έχουμε σοβαρά στοιχεία ότι δεν μπορεί να επιλυθεί σε πολυωνυμικό χρόνο. Ωστόσο, με τα χρόνια, στην κλάση ΝΡ έχουν αποδειχθεί πλήρη χιλιάδες προβλήματα. Αν ένα από αυτά λυθεί καλά τότε λόγω της πληρότητας λύνονται όλα. Η απόδειξη αυτή, όμως, τώρα, μπορεί να βοηθήσει τους ενδιαφερόμενους να προσεγγίσουν το πρόβλημα από διαφορετική σκοπιά. Α- ντί να αναλωθούν στην προσπάθεια εύρεσης ικανοποιητικού ακριβή αλγορίθμου, η προσπάθεια επίλυσης του προβλήματος είναι φανερό ότι πρέπει πλέον να γίνει μέσω κάποιας προσέγγισης είτε με χρήση κάποιας αναγωγής σε κάποιο άλλο ΝΡ-πλήρες πρόβλημα, είτε μέσω ενός προσεγγιστικού αλγορίθμου για το ίδιο το πρόβλημα. Εδώ να αναφέρουμε και μία ακόμα κατηγορία προβλημάτων, τα ΝΡ-δύσκολα προβλήματα. Αυτά είναι κυρίως προβλήματα βελτιστοποίησης που μπορεί και να μην ανήκουν στην κλάση ΝΡ αλλά όλα τα προβλήματα της κλάσης ΝΡ ανάγονται πολυωνυμικά σε αυτά. Διαισθητικά, είναι προβλήματα πιο δύσκολα στην επίλυση από τα ΝΡ-πλήρη και επιπλέον μπορεί να μην διαθέτουν πολυωνυμικά ελέγξιμο πιστοποιητικό. Πολλά προβλήματα είναι ΝΡ-πλήρη στην μορφή απόφασής τους και ΝΡ-δύσκολα στην μορφή βελτιστοποίησής τους. Η λίστα των προβλημάτων που ανήκουν στην κλάση ΝΡ είναι αρκετά μεγάλη και επεκτείνεται σε πολλούς τομείς. Αυτό εντείνει ακόμα περισσότερο την σημασία της ως κλάση αφού φαίνεται ότι περιέχει σημαντικά προβλήματα σε αρκετά πεδία των μαθηματικών, της τεχνητής νοημοσύνης, της οικονομικής επιστήμης, της διοίκησης επιχειρήσεων κ.λ.π. Ενδεικτικά να αναφέρουμε ότι περιέχει προβλήματα από την Θεωρία Γραφημάτων όπως είναι η Κυρτή Θήκη, η k-χρωματικότητα Γραφήματος, η Κλίκα, το Ανεξάρτητο Σύνολο και το Χαμιλτονιανό Μονοπάτι, αλλά και προβλήματα Σχεδιασμού Δικτύου όπως η Μέγιστη Τομή, ο Περιοδεύον Πωλητής και η Ελάχιστη Ροή. Επίσης περιέχει προβλήματα Συνόλων και Διαμοιρασμού καθώς και προβλήματα Α- ποθήκευσης και Ανάκτησης όπου περιέχονται αρκετά σημαντικά προβλήματα όπως η Ασφάλεια των Συστημάτων Συναλλαγών Βάσεων Δεδομένων. Ακόμα περιέχει προβλήματα Αλληλουχίας και Δρομολόγησης, λγεβρας και Θεωρίας Αριθμών, Θεωρίας Παιγνίων αλλά και Μαθηματικού Προγραμματισμού όπως το πρόβλημα του Ακέραιου και του Τετραγωνικού Προγραμματισμού. Να αναφέρουμε επίσης, ότι περιέχει προβλήματα από την Θεωρία Αυτομάτων και την Θεωρία Γλωσσών καθώς

16 10 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ και από την Λογική με ενδεικτικά προβλήματα αυτό της Ικανοποιησιμότητας και της Μέγιστης Ικανοποιησιμότητας που θα μας απασχολήσουν αρκετά. Περισσότερες και πιο αναλυτικές πληροφορίες για τα προβλήματα που ανήκουν στην κλάση πολυπλοκότητας ΝΡ, αλλά και για την ίδια την κλάση, μπορεί κανείς να βρει στο βιβλίο των Garey και Johnson:«Computers and Intractability: A Guide to the Theory of NP-Completeness»[9] Το πρόβλημα της Ικανοποιησιμότητας Ενα από τα πιο γνωστά προβλήματα που ανήκουν στην κλάση NP είναι το πρόβλημα της Ικανοποιησιμότητας- Satisfiability (SAT). Εχει, μάλιστα, αποδειχθεί από τον Cook στο [6] ότι το SAT είναι ΝΡ-πλήρες πρόβλημα, αποδεικνύοντας ότι κάθε πρόβλημα που ανήκει στην κλάση ΝΡ μπορεί να αναχθεί πολυωνυμικά σε αυτό. Το SAT είναι πρόβλημα απόφασης στο οποίο μας δίνεται μια συνάρτηση Boole και ζητείται να προσδιοριστεί αν υπάρχει ανάθεση λογικών τιμών στις μεταβλητές της, ώστε η τιμή της συνάρτησης να γίνει αληθής. Αυτό δηλαδή σημαίνει ότι έχουμε m λογικές προτάσεις με n μεταβλητές σε Κανονική Συζευκτική Μορφή και ζητείται να απαντηθεί αν υπάρχει αποτίμηση όλων των μεταβλητών που να επαληθεύει όλες τις προτάσεις. Κανονική Συζευκτική Μορφή-(CNF) Είναι, επίσης, σημαντικό να αναφέρουμε την έννοια της Κανονικής Συζευκτικής Μορφής, ή πιο σύντομα CNF. Λέμε ότι μία πρόταση βρίσκεται σε κανονική συζευκτική μορφή όταν αποτελείται από συζεύξεις υποπροτάσεων οι οποίες αποτελούνται από διαζεύξεις μεταβλητών. Τις υποπροτάσεις αυτές τις ονομάζουμε clauses. Αν οι clauses περιέχουν το πολύ k μεταβλητές λέμε ότι η πρόταση είναι σε k-κανονική Συζευκτική Μορφή ή πιο σύντομα k-cnf. Το πρόβλημα της Ικανοποιησιμότητας (SAT), όταν αποτελείται από προτάσεις σε 2-CNF, ονομάζεται 2-SAT και ανήκει στην κλάση P. Οι εκδοχές από 3-SAT και πάνω είναι όλες NP- πλήρεις. Το πρόβλημα της Μέγιστης Ικανοποιησιμότητας Μία εκδοχή του προβλήματος της Ικανοποιησιμότητας που αναφερθηκε, είναι το πρόβλημα της Μέγιστης Ικανοποιησιμότητας MAXSAT, στο οποίο δίνεται πάλι ένα σύνολο προτάσεων Boole που όμως η κάθε μία συνοδεύεται από έναν αριθμό, το βάρος της. Ζητείται μία αποτίμηση η οποία να επαληθεύει προτάσεις με το μέγιστο

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

18 12 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ 2.2 Στοιχεία Γραμμικού Προγραμματισμού Εδώ θα αναφερθούν κάποια βασικά στοιχεία από την θεωρία του γραμμικού προγραμματισμού διότι θα χρησιμοποιηθούν ευρύτατα οι τεχνικές του. Οπως είναι φανερό και από το όνομα στον γραμμικό προγραμματισμό αντιμετωπίζουμε γραμμικές συναρτήσεις, γραμμικές εξισώσεις και γραμμικές ανισώσεις. Οπως αναφέρει και ο Χ. Μπότσαρης στο βιβλίο του «Επιχειρησιακή Ερευνα: Γραμμικός Προγραμματισμός και Θεωρία Παιγνίων»[16] ο γραμμικός προγραμματισμός είναι το σύνολο των τεχνικών για τον προσδιορισμό του μέγιστου ή του ελάχιστου μίας γραμμικής συνάρτησης, της οποίας οι μεταβλητές είναι απαραίτητο να ικανοποιούν και ένα σύστημα γραμμικών εξισώσεων και ανισώσεων. Τα πραγματικά συστήματα για τα οποία ζητείται μία απόφαση μοντελοποιούνται μαθηματικά με χρήση μίας γραμμικής συνάρτησης προς βελτιστοποίηση, και γραμμικών ανισωεξισώσεων ως περιορισμούς και προκύπτει το μοντέλο του γραμμικού προγραμματισμού. Αν η γραμμική συνάρτηση που ζητείται να βελτιστοποιηθεί είναι προς μεγιστοποίηση, τότε οι συντελεστές της εκφράζουν το μοναδιαίο κέρδος ενώ αν είναι προς ελαχιστοποίηση εκφράζουν το μοναδιαίο κόστος. Πρέπει ακόμα, να αναφέρουμε ότι αν κάποιες από τις μεταβλητές της συνάρτησης έχουν σύνολο τιμών το σύνολο των ακεραίων τότε το πρόβλημα είναι πλέον πρόβλημα ακέραιου προγραμματισμού. Να σημειώσουμε ότι ο γραμμικός προγραμματισμός έχει την βάση του και χρησιμοποιείται κυρίως σε θεωρητικά μοντέλα οικονομικής ισορροπίας και βέλτιστης κατανομής πόρων. Ωστόσο, η χρήση του πλέον έχει επεκταθεί σε πολύ περισσότερους τομείς. Θα ακολουθήσει μία πιο αυστηρή περιγραφή του μοντέλου του γραμμικού προγραμματισμού και κάποιες τεχνικές βελτιστοποίησης. Επίσης, θα αναφέρουμε κάποιες από τις βασικές αρχές της δυϊκής θεωρίας Το πρόβλημα Το πρόβλημα του γραμμικού προγραμματισμού στην γενική του μορφή είναι το εξής: min/max υπό τους περιορισμούς c x a ix = b i, i M a ix b i, i M

19 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 13 x i 0, i N x i 0, i N όπου οι a i, i = 1,..., m αποτελούν γραμμές του ακέραιου πίνακα Α διαστάσεων m n και Μ είναι το σύνολο των δεικτών των γραμμών του πίνακα Α που αντιστοιχούν σε ισότητα, ενώ Μ είναι το σύνολο των δεικτών των γραμμών του πίνακα Α που αντιστοιχούν σε ανισότητα. οι x i αποτελούν συνιστώσες του x R n, δηλαδή του διανύσματος x διάστασης n, με Ν το σύνολο των δεικτών των γραμμών του x που αφορούν μεταβλητές μη αρνητικές και Ν το σύνολο των δεικτών των γραμμών του x που αφορούν μεταβλητές χωρίς περιορισμό. το b είναι διάνυσμα ακεραίων διάστασης n το c είναι, επίσης, διάνυσμα ακεραίων διάστασης n. Η συνάρτηση c x καλείται αντικειμενική συνάρτηση και οι συνιστώσες του c καλούνται συντελεστές της αντικειμενικής συνάρτησης ή συντελεστές κέρδους/ κόστους, ανάλογα αν πρόκειται για πρόβλημα μεγιστοποίησης ή ελαχιστοποίησης της αντικειμενικής συνάρτησης. Συνήθως γνωρίζουμε τον πίνακα Α και τα διανύσματα b και c. Ο άγνωστος είναι το διάνυσμα x και οι συνιστώσες του ονομάζονται μεταβλητές απόφασης. Κάθε διάνυσμα x R n που ικανοποιεί τους περιορισμούς λέγεται εφικτή λύση και κάθε εφικτή λύση που βελτιστοποιεί (μεγιστοποιεί ή ελαχιστοποιεί) την αντικειμενική συνάρτηση ονομάζεται βέλτιστη εφικτή λύση. Η τυπική μορφή του προβλήματος είναι: min/max υπό τους περιορισμούς c x Ax = b x 0 Παρατηρούμε ότι στην μορφή αυτή οι περιορισμοί είναι ισότητες και οι μεταβλητές απόφασης είναι μη αρνητικές. Αν θέλουμε τώρα να μετατρέψουμε την γενική μορφή του προβλήματος στην τυπική, χρησιμοποιούμε τις περιθώριες μεταβλητές προκειμένου οι περιορισμοί ανισότητες να μετατραπούν σε ισότητες. Ετσι ο περιορισμός a x b

20 14 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ μετατρέπεται σε και ο περιορισμός μετατρέπεται σε a x s b a x b a x + s b. Πρέπει, ακόμα, να προσθέσουμε τον περιορισμό s 0 και να βάλουμε την περιθώρια μεταβλητή στην αντικειμενική συνάρτηση βάζοντάς της μηδενικό συντελεστή αν πρόκειται για πρόβλημα μεγιστοποίησης και αρκετά μεγάλο θετικό συντελεστή αν πρόκειται για πρόβλημα ελαχιστοποίησης. Επιπλέον, κάθε ελεύθερη μεταβλητή της μορφής x i 0 αντικαθίσταται από δύο μεταβλητές ως εξής x i = x + i x i, με x + i 0, x i 0. Μιας και οι μετατροπές από την μία μορφή στην άλλη είναι σχετικά απλή διαδικασία, θα χρησιμοποιούμε την τυπική μορφή του προβλήματος και μάλιστα για πρόβλημα ελαχιστοποίησης. Το πρόβλημα μεγιστοποίησης μετατρέπεται εύκολα σε πρόβλημα ελαχιστοποίησης, πολλαπλασιάζοντας με -1 την αντικειμενική συνάρτηση Γεωμετρική Ερμηνεία Αν προσπαθήσουμε να αναπαραστήσουμε το πρόβλημα του γραμμικού προγραμματισμού γραφικά στις n διαστάσεις, έχουμε: Κάθε περιορισμός του προβλήματος γραμμικού προγραμματισμού της μορφής: a 1 x 1 + a 2 x a n x n = b, ορίζει ένα υπερεπίπεδο το όποιο καθορίζει δύο ημιχώρους. Για τον ένα ισχύει: a 1 x 1 + a 2 x a n x n b

21 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 15 και για τον άλλο ισχύει: a 1 x 1 + a 2 x a n x n b. Η τομή πεπερασμένου πλήθους ημιχώρων, όταν είναι φραγμένη και μη κενή, α- ποτελεί ένα πολύτοπο. Μάλιστα, ένας ημιχώρος είναι ένα κυρτό σύνολο. Από τις ιδιότητες των κυρτών συνόλων γνωρίζουμε ότι η τομή πεπερασμένου πλήθους κυρτών συνόλων αποτελεί επίσης κυρτό σύνολο. Επομένως και το πολύεδρό μας αποτελεί κυρτό σύνολο και έτσι ονομάζεται κυρτό πολύτοπο. Ονομάζουμε, λοιπόν, κυρτό πολύτοπο ένα σύνολο που μπορεί να περιγραφεί ως {x R n /Ax = b}, x 0, όπου Α ένας m n πίνακας και b διάνυσμα διαστάσεων m. Αποδεικνύεται στους Papadimitriou και Steiglitz : Combinatorial optimization: algorithms and complexity [21], ότι κάθε πολύτοπο μπορεί εναλλακτικά να θεωρηθεί ως η περιοχή των εφικτών λύσεων ενός προβλήματος γραμμικού προγραμματισμού. Επίσης, κάθε κορυφή του πολυτόπου αντιστοιχεί σε μία εφικτή λύση και αντίστροφα. Ετσι, προκειμένου να βρούμε την βέλτιστη λύση πραγματοποιούμε αναζήτηση ανάμεσα στις κορυφές του κυρτού πολυτόπου. Ξεκινάμε από μία κορυφή και προσπαθούμε μέσω των ακμών να μεταβούμε σε γειτονικές κορυφές που βελτιώνουν την τιμή της αντικειμενικής συνάρτησης Βασική Εφικτή Λύση Εστω το πρόβλημα του γραμμικού προγραμματισμού στη τυπική του μορφή: min/max υπό τους περιορισμούς c x Ax = b x 0 c, x, b διανύσματα διάστασης n. Αν ένα διάνυσμα x ικανοποιεί τις σχέσεις a ix = b i, με a i σειρά του πίνακα Α και i δείκτη της αντίστοιχης σειράς, τότε λέμε ότι οι περιορισμοί αυτοί είναι ενεργοί στο x. Αν υπάρχουν n περιορισμοί που να είναι ενεργοί

22 16 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ για ένα διάνυσμα x, τότε το x ικανοποιεί ένα γραμμικό σύστημα n εξισώσεων με n αγνώστους. Το σύστημα έχει μία και μοναδική λύση, αν και μόνον αν, αυτές οι n εξισώσεις είναι γραμμικά ανεξάρτητες. Βάση Β του πίνακα Α είναι ένα σύνολο από m γραμμικώς ανεξάρτητες στήλες του πίνακα Α. Στην ουσία είναι ένας αντιστρέψιμος τετραγωνικός πίνακας m m. Θα λέμε ότι ο πίνακας Α είναι βαθμού m, αν μπορούν να βρεθούν m γραμμικώς ανεξάρτητες στήλες του πίνακα Α προκειμένου να αποκτήσουμε μία βάση του πίνακα Α. Αλγόριθμος εύρεσης βασικών λύσεων: 1. Επιλέγουμε μια βάση του πίνακα Α, δηλαδή m γραμμικά ανεξάρτητες στήλες του πίνακα Α. 2. Θέτουμε όλες τις συνιστώσες του x που αντιστοιχούν σε στήλες που δεν ανήκουν στην βάση Β ίσες με Λύνουμε το σύστημα των m εξισώσεων που προκύπτουν από τον πίνακα Β της βάσης για να βρούμε την τιμή των υπολοίπων m συνιστωσών του x. Το διάνυσμα x που προκύπτει ονομάζεται βασική λύση που αντιστοιχεί στην βάση Β. Οι συνιστώσες του x που αντιστοιχούν σε στήλες που ανήκουν στην βάση ονομάζονται βασικές μεταβλητές. Αν, τώρα, το διάνυσμα x είναι μια βασική λύση που ικανοποιεί όλους τους περιορισμούς, λέγεται βασική εφικτή λύση. Να αναφέρουμε ότι είναι πολύ δύσκολο να προσπαθήσει κάποιος να επιλέξει όλες τις δυνατές βάσεις του πίνακα Α και να υπολογίσει τις βασικές τους λύσεις και έπειτα να ελέγξει αν είναι βασικές εφικτές λύσεις. Αν το πρόβλημα που έχουμε να αντιμετωπίσουμε είναι αρκετά μεγάλο, τότε όλες οι δυνατές βάσεις που πρέπει να υπολογιστούν είναι πλήθους ( ) n m. Βλέπουμε λοιπόν, ότι δεν χρειάζεται να μιλάμε για προβλήματα τεραστίων διαστάσεων για να συναντήσουμε πρόβλημα στον υπολογισμό. Για τον λόγο αυτό πρέπει να χρησιμοποιηθεί μία πιο έξυπνη τεχνική για προβλήματα τέτοιου είδους. Συνδυάζοντας, τώρα, και την γεωμετρική προσέγγιση του προβλήματος του γραμμικού προγραμματισμού συμπεραίνουμε την ύπαρξη αντιστοιχίας ανάμεσα στις κορυφές του πολυτόπου P που αντιστοιχεί στο πρόβλημα και στις βάσεις του πίνακα A. Μάλιστα για δύο κορυφές u, u ενός πολυτόπου P, αντιστοιχούν σε δύο διαφορετικές βάσεις B, B του πίνακα A. Αυτό συμβαίνει διότι μια βάση προσδιορίζει μία και μοναδική βασική εφικτή λύση και κατά συνέπεια μια μοναδική κορυφή

23 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 17 του πολυτόπου. Αντίστροφα, όμως, δύο διαφορετικές βάσεις B και B μπορεί να αντιστοιχούν στην ίδια βέλτιστη εφικτή λύση x. Μια βασική εφικτή λύση x θα ονομάζεται εκφυλισμένη αν έχει περισσότερες από n m συνιστώσες ίσες με μηδέν. Αυτό σημαίνει ότι η συγκεκριμένη λύση αντιστοιχεί σε παραπάνω από μία βάσεις του πίνακα Α. Παρατήρηση 2.1 Οπως είναι φανερό για να έχουν νόημα όλα τα προηγούμενα πρέπει ο πίνακας Α να είναι βαθμού m, δηλαδή να υπάρχουν m γραμμικώς ανεξάρτητες στήλες και επίσης το σύνολο των λύσεων του προβλήματος γραμμικού προγραμματισμού να είναι μη κενό, δηλαδή το πρόβλημα να έχει λύση Η μέθοδος SIMPLEX Ο αλγόριθμος της μεθόδου Simplex στηρίζεται στο γεγονός ότι αν ένα πρόβλημα γραμμικού προγραμματισμού έχει λύση, τότε θα υπάρχει βασική εφικτή λύση που είναι βέλτιστη. Στην ουσία η Simplex ψάχνει για την βέλτιστη λύση μεταπηδώντας από βασική εφικτή λύση σε βασική εφικτή λύση, έτσι ώστε σε κάθε βήμα να βελτιώνεται η τιμή της αντικειμενικής συνάρτησης. Θα τερματίσει όταν θα καταλήξει σε κορυφή του αντίστοιχου πολυτόπου από την οποία δεν υπάρχει τρόπος να μεταβεί σε γειτονική κορυφή βελτιώνοντας την τιμή της αντικειμενικής συνάρτησης. Τότε, η βασική εφικτή λύση που αντιστοιχεί στην κορυφή που έχει καταλήξει θα είναι η βέλτιστη λύση. Οπως και κάθε αλγόριθμος βελτιστοποίησης, η Simplex ψάχνει σε μια γειτονιά της βασικής εφικτής λύσης στη οποία βρίσκεται για να βρει καινούργια λύση που θα βελτιώσει την τιμή της αντικειμενικής συνάρτησης. Αν δεν βρει τέτοια λύση, σημαίνει ότι η λύση στην οποία βρισκόμαστε αποτελεί τοπικό βέλτιστο. Στην περίπτωση του γραμμικού προγραμματισμού, όταν συναντάμε τοπικό βέλτιστο, μπορούμε σίγουρα να μιλάμε για ολικό βέλτιστο, λόγω της κυρτότητας της αντικειμενικής συνάρτησης και του συνόλου των εφικτών λύσεων. Αναλυτική απόδειξη για αυτό υπάρχει στο βιβλίο των Papadimitriou και Steiglitz : «Combinatorial optimization: algorithms and complexity»[21]. Ας θεωρήσουμε ότι έχουμε την τυπική μορφή του προβλήματος του γραμμικού προγραμματισμού: min c x

24 18 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ υπό τους περιορισμούς Ax = b x 0 όπου ο Α είναι ένας πίνακας ακεραίων με διαστάσεις m n και βαθμό m. Επίσης υποθέτουμε ότι το σύνολο F των εφικτών λύσεων είναι μη κενό και ότι Ρ είναι το αντίστοιχο πολύεδρο. Εστω, τώρα, ότι βρισκόμαστε σε μια κορυφή x P και θέλουμε να μετακινηθούμε προς την κατεύθυνση ενός διανύσματος d R n προκειμένου να μεταβούμε σε καινούρια κορυφή, δηλαδή σε καινούρια εφικτή λύση. Πρέπει να προσέξουμε, μετακινούμενοι στην κατεύθυνση του d, να μην βγούμε εκτός εφικτής περιοχής. Για το λόγο αυτό πρέπει να υπάρχει θ R +, τέτοιος ώστε x + θd P. Εστω ότι το x αποτελεί μια βασική εφικτή λύση και B η αντίστοιχη βάση του πίνακα A. Για κάθε μη βασική μεταβλητή θα ισχύει x i = 0 και το για το διάνυσμα των βασικών μεταβλητών θα ισχύει: x B = B 1 b Για να μετακινηθούμε από το x στο x + θd, επιλέγουμε μια μη βασική μεταβλητή έστω την x j και της δίνουμε την τιμή θ από 0 που ήταν. Οι υπόλοιπες μη βασικές μεταβλητές παραμένουν 0, ενώ οι βασικές μεταβλητές παίρνουν την τιμή x B +θ d, με θ d το διάνυσμα των συνιστωσών του d που αντιστοιχούν στις βασικές μεταβλητές. Οι συνιστώσες του d που αντιστοιχούν σε μη βασικές μεταβλητές παραμένουν 0 εκτός από την d j που γίνεται 1. Θέλουμε η καινούρια λύση που θα μετακινηθούμε να είναι εφικτή και έτσι πρέπει A(x + θd) = b. Ομως, ήδη Ax = b και θ > 0, πρέπει να ισχύει ότι Ad = 0 n A i d i = 0 i=1 Bd B + A j = 0 d B = B 1 A j (2.1) Αφού μεταβληθεί η τιμή της x j θα μεταβληθεί και η τιμή της αντικειμενικής συνάρτησης. Η τιμή της μεταβολής αυτής θα είναι c j = c Bd B + c j (2.2) όπου c B είναι το διάνυσμα των συντελεστών της αντικειμενικής συνάρτησης που αντιστοιχούν σε βασικές μεταβλητές και η c j εκφράζει την μοναδιαία μεταβολή

25 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 19 της αντικειμενικής συνάρτησης, αν αυξηθεί η μεταβλητή x j. Αντικαθιστώντας την σχέση 2.1 στην σχέση 2.2, καταλήγουμε στην τελική σχέση που εκφράζει το οριακό κόστος c j της μεταβλητής x j και κατά συνέπεια της στήλης j: c j = c j c BB 1 A j (2.3) Οπως είναι λογικό αν υπολογίσουμε το οριακό κόστος κάθε στήλης που αντιστοιχεί σε μη βασική μεταβλητή και δεν υπάρχει κάποιο αρνητικό, αν πρόκειται για πρόβλημα ελαχιστοποίησης, τότε η λύση στην οποία βρισκόμαστε είναι βέλτιστη. Αν, τώρα, έχουμε επιλέξει να μετακινηθούμε σε μία κατεύθυνση, αφού υπολογίσαμε τα οριακά κόστη, προφανώς το κόστος θα μειώνεται όσο μετακινούμαστε σε αυτή την κατεύθυνση. Το πρόβλημα είναι πόσο μπορούμε να μετακινηθούμε χωρίς να ξεφύγουμε από τα όρια της εφικτής περιοχής. Η καλύτερη τιμή που μπορεί να πάρει το θ υπολογίζεται από την σχέση: θ = min i B ( x i d i ). Μάλιστα η στήλη που θα βγάλουμε από την βάση για να μπει στην θέση της η καινούρια θα είναι αυτή που θα μας δώσει το ζητούμενο θ. Θα προχωρήσουμε τώρα στη περιγραφή της μεθόδου Simplex, παραθέτοντας τον παρακάτω αλγόριθμο: Αλγόριθμος Simplex 1. Ξεκινάμε από μία βασική εφικτή λύση x και την αντίστοιχη βάση Β που αποτελείται από τις A B (i) στήλες του πίνακα Α συνολικού πλήθους m, οι οποίες είναι γραμμικά ανεξάρτητες. 2. Υπολογίζουμε τα οριακά κόστη c j = c j c BB 1 A j για όλες τις μη βασικές μεταβλητές. Αν είναι όλα τα οριακά κόστη μη αρνητικά, η υπάρχουσα βασική εφικτή λύση είναι βέλτιστη και ο αλγόριθμος τερματίζει. Διαφορετικά, επιλέγουμε κάποια μεταβλητή με αρνητικό οριακό κόστος για να μπει στην βάση. 3. Υπολογίζουμε το διάνυσμα u = d B = B 1 A j αν καμία από τις συνιστώσες του u δεν είναι θετική, τότε θα έχουμε ότι θ =, το βέλτιστο κόστος είναι και ο αλγόριθμος τερματίζει.

26 20 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ 4. Αν υπάρχουν μεταβλητές u που είναι θετικές, υπολογίζουμε το θ = min i B ( x i u i ). 5. Εστω ότι το κατάλληλο θ βρέθηκε για i = l. Τότε στην βάση B του πίνακα A αντικαθιστούμε την στήλη με δείκτη l με την στήλη A j. 6. Επιστρέφουμε στο βήμα 1. Πρέπει τώρα να αναφέρουμε δύο ειδικές περιπτώσεις που είναι πιθανό να συναντήσουμε και να δημιουργήσουν πρόβλημα στον αλγόριθμο Simplex: Ειδική περίπτωση 1: Εστω ότι η εφικτή λύση στην οποία βρισκόμαστε είναι εκφυλισμένη, δηλαδή υπάρχουν κάποια x i = 0, και τότε θα είναι και το θ = 0. Στην περίπτωση αυτή, μένουμε στην ίδια κορυφή. Μπορούμε, ωστόσο, να θεωρήσουμε ότι αντικαθιστώντας την στήλη l με την στήλη j, έχουμε μεταβεί σε μία καινούρια βάση. Τότε, λέμε ότι η μεταβλητή x j μπήκε στην βάση σε μηδενικό επίπεδο. Ειδική περίπτωση 2: Αν όλες οι συνιστώσες του u είναι αρνητικές, μπορούμε να βελτιώνουμε συνεχώς την λύση μας. Στην περίπτωση αυτή, η τιμή της αντικειμενικής συνάρτησης θα γίνει και ο αλγόριθμος δεν θα τερματίσει ποτέ αφού ο χώρος των εφικτών λύσεων είναι μη φραγμένος. Αυτό, βέβαια, εξετάζεται και αποφεύγεται στο βήμα 3 του αλγορίθμου. Πρέπει να αναφέρουμε ότι υπάρχουν πολλοί κανόνες που καθορίζουν την στήλη που θα βγει από την βάση ή αυτή που θα μπει στην βάση σε περίπτωση ισοπαλίας, όπως και διάφοροι κανόνες που μας βοηθούν να αποφύγουμε την αέναη επανάληψη. Περισσότερες λεπτομέρειες μπορεί κάποιος να βρει στο βιβλίο των Papadimitriou και Steiglitz : «Combinatorial optimization: algorithms and complexity»[21]. Αρχική βασική εφικτή λύση Εχει μείνει ακόμα μία λεπτομέρεια. Πώς θα βρούμε την αρχική βασική εφικτή λύση που χρειάζεται ο αλγόριθμος της μεθόδου Simplex για να ξεκινήσει Η βασική ιδέα είναι να δημιουργήσουμε μια βασική εφικτή λύση, δημιουργώντας μία βάση του πίνακα Α, δηλαδή ένα σύνολο από m γραμμικώς ανεξάρτητες στήλες. Η τεχνική είναι ανάλογη με την προσθήκη των περιθώριων μεταβλητών προκειμένου να κάνουμε τους ανισοτικούς περιορισμούς ισοτικούς.

27 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 21 Τώρα, εισάγουμε στο πρόβλημα τις τεχνητές μεταβλητές (artificial variables) x a i, i = 1,..., m. Κάθε μία από αυτές εισάγεται σε κάθε έναν από τους m περιορισμούς με συντελεστή 1. Με τον τρόπο αυτό δημιουργούμε τον μοναδιαίο πίνακα διαστάσεων m m, ο οποίος αποτελεί μία βάση του πίνακα Α, δηλαδή ένα σύνολο από m γραμμικώς ανεξάρτητες στήλες του Α. Οι τεχνητές μεταβλητές εισάγονται και στην αντικειμενική συνάρτηση και έπειτα ακολουθείται ο αλγόριθμος Simplex δύο φάσεων προκειμένου να αποκτηθεί η αρχική βασική εφικτή λύση για να ξεκινήσουμε την διαδικασία βελτιστοποίησης. Η διαδικασία δύο φάσεων της Simplex περιγράφεται αναλυτικά στους Papadimitriou και Steiglitz [21]. Εμείς εδώ θα δούμε μία λίγο διαφορετική τεχνική, κατά την οποία εισάγουμε πάλι τεχνητές μεταβλητές με συντελεστή 1 σε κάθε περιορισμό, προκειμένου να δημιουργήσουμε τον πίνακα - βάση μας, αλλά στην αντικειμενική συνάρτηση τις εισάγουμε με πολύ μεγάλο συντελεστή (αν πρόκειται για πρόβλημα ελαχιστοποίησης). Με τον τρόπο αυτό, υποχρεώνουμε την Simplex, να βγάζει τις τεχνητές μεταβλητές από την βάση κατά τις επαναλήψεις, αφού θα προσθέτουν μεγάλο κόστος στην αντικειμενική συνάρτηση. Ετσι, ξεκινάμε από μία αρχική βασική εφικτή λύση στη οποία x a i = b i, i = 1,..., m και x j = 0, j = 1,..., n. Σε κάθε επανάληψη, βγάζουμε μία τεχνητή μεταβλητή από την βάση και βάζουμε μία από τις μεταβλητές απόφασης του προβλήματος γραμμικού προγραμματισμού με αλλαγή και των αντίστοιχων στηλών. Οταν ο αλγόριθμος τερματίσει υπάρχουν δύο πιθανά ενδεχόμενα: Στην βέλτιστη λύση να υπάρχουν τεχνητές μεταβλητές με μη-μηδενική τιμή, πράγμα που σημαίνει ότι το πρόγραμμα γραμμικού προγραμματισμού δεν έχει εφικτές λύσεις. Στην βέλτιστη λύση, όλες οι τεχνητές μεταβλητές να είναι ίσες με μηδέν, δηλαδή οι στήλες τους να μην ανήκουν στην βάση του πίνακα Α που αντιστοιχεί στην βέλτιστη λύση του προβλήματος και τότε λέμε ότι αυτή είναι όντως η βέλτιστη λύση του προβλήματος Η διαδικασία Column Generation Πολύ συχνά, τα προβλήματα γραμμικού προγραμματισμού είναι αρκετά μεγάλα με αποτέλεσμα να είναι αδύνατον και ίσως ανώφελο να πραγματοποιηθούν τα βήματα 2-4 του αλγορίθμου της μεθόδου Simplex, λόγω του μεγάλου κόστους και χρόνου

28 22 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ που απαιτείται προκειμένου να γίνουν όλοι αυτοί οι υπολογισμοί σε ένα εκτεταμένο αριθμό στηλών. Είναι, λοιπόν, αναγκαίο να υπάρξει μία άλλη πιο σύντομη διαδικασία μέσω της οποίας θα παρέχεται η κατάλληλη καινούρια στήλη που θα μπει στην βάση χώρις να χρειαστεί να γίνει εξαντλητική αναζήτηση ανάμεσα σε όλες τις στήλες του προβλήματος. Η απάντηση έρχεται από την διαδικασία Column Generation ή Διαδικασία Παραγωγής Στήλης σε μία πιο ελεύθερη απόδοση στα ελληνικά. Η γενική ιδέα είναι ότι κρατάμε μόνο ένα βολικό αριθμό στηλών στο κύριο γραμμικό πρόγραμμα και δημιουργούμε κατάλληλο γραμμικό υποπρόβλημα το οποίο μας δίνει κάθε φορά σαν λύση την κατάλληλη στήλη που θα βάλουμε στην βάση μας. Ξεκινάμε, λοιπόν, να λύσουμε το κύριο, περιορισμένο πρόβλημα και καταλήγουμε σε μία βασική εφικτή λύση. Κατά την διαδικασία, έχουμε υπολογίσει όλες τις dual values d B = B 1 A j των περιορισμών της βάσης. Χρησιμοποιώντας αυτές τις τιμές, ορίζουμε ως αντικειμενική συνάρτηση στο υποπρόβλημα τον τύπο του οριακού κόστους. Επιπλέον, στο δευτερεύον πρόβλημα προσθέτουμε κατάλληλους περιορισμούς έτσι ώστε να εγγυηθούμε ότι η στήλη που θα «γεννηθεί» θα υπακούει σε κάποιους περιορισμούς. Το ζητούμενο είναι η τιμή της αντικειμενικής συνάρτησης στο υποπρόβλημα να είναι αρνητική. Αν είναι αρνητική, εισάγουμε την στήλη στην οποία αντιστοιχεί η τιμή αυτή στο κύριο πρόβλημα, ξαναλύνουμε, καταλήγουμε σε καινούριες dual values, απευθυνόμαστε πάλι στο υποπρόβλημα προκειμένου να πάρουμε καινούρια στήλη με αρνητικό οριακό κόστος, για να συνεχίσουμε την διαδικασία της βελτιστοποίησης. Αν σε οποιαδήποτε επανάληψη, η τιμή της αντικειμενικής συνάρτησης του υποπροβλήματος δεν είναι αρνητική, συμπεραίνουμε ότι η βασική εφικτή λύση που έχουμε καταλήξει στο κύριο πρόβλημα είναι βέλτιστη, αφού δεν υπάρχει στήλη με αρνητικό οριακό κόστος να μπει στην βάση, δηλαδή δεν υπάρχει στήλη που θα βελτιώσει την τιμή της αντικειμενικής συνάρτησης. Τα πλεονεκτήματα της διαδικασίας Column Generation είναι πολλά. Το κυριότερο είναι ότι σε προβλήματα με τεράστιο πλήθος μεταβλητών απόφασης δεν είναι απαραίτητο να κάνω εξαντλητική αναζήτηση σε όλες τις στήλες. Επίσης, δεν χρειάζεται να κρατώ όλες τις στήλες διαθέσιμες. Χρειάζομαι μόνο μία καλή πληροφορία για κάθε στήλη, προκειμένου να υπολογίσω αν έχει αρνητικό οριακό κόστος. Επειτα, μπορώ να ανακτήσω αυτή την στήλη και να την εισάγω στο κύριο πρόβλημα. Μέσω της Column Generation μας δίνεται επίσης η δυνατότητα να εισάγουμε περισσότερες της μίας στήλης σε κάθε επανάληψη αρκεί οι στήλες που θα εισαχθούν να έχουν αρνητικό οριακό κόστος. Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο σε

29 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 23 συγκεκριμένες μορφές προβλημάτων. Τέλος, η διαδικασία της Column Generation ευνοεί σημαντικά την χρήση ευρετικών προκειμένου να επιλέξουμε πιο γρήγορα κατάλληλη στήλη για να εισαχθεί στο κύριο πρόβλημα Δυϊκή Θεωρία Η Δυϊκή Θεωρία αποτελεί ένα από τα πιο σημαντικά και πιο χρήσιμα κεφάλαια του γραμμικού προγραμματισμού. Για αυτό το λόγο θα αναφέρουμε κάποια βασικά στοιχεία. Εστω ότι έχουμε το παρακάτω πρόβλημα γραμμικού προγραμματισμού: min υπό τους περιορισμούς c x a ix = b i, i M a ix b i, i M x j 0, j N x j 0, j N Το αντίστοιχο δυϊκό πρόβλημα είναι το: max υπό τους περιορισμούς π b π a j c j, j N π a j = c j, j N π i 0, i M π i 0, i M Υπάρχει μία αντιστοιχία ανάμεσα στο αρχικό πρόγραμμα του γραμμικού προγραμματισμού, που θα το ονομάζουμε πρωτεύον και στο δυϊκό του. Πιο συγκεκριμένα: Αν το πρωτεύον είναι πρόβλημα ελαχιστοποίησης, το δυϊκό θα είναι πρόβλημα μεγιστοποίησης και αντίστροφα. Οι περιορισμοί στο πρωτεύον αντιστοιχούν σε μεταβλητές στο δυϊκό. μάλιστα: Και

30 24 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ 1. Αν ο περιορισμός του πρωτεύοντος είναι της μορφής a ix b i τότε για την αντίστοιχη μεταβλητή του δυϊκού θα ισχύει π i Αν ο περιορισμός του πρωτεύοντος είναι της μορφής a ix b i τότε για την αντίστοιχη μεταβλητή του δυϊκού θα ισχύει π i Αν ο περιορισμός του πρωτεύοντος είναι της μορφής a ix = b i τότε η μεταβλητή του δυϊκού θα είναι ελεύθερη πρόσημου, δηλαδή θα ισχύει π i 0. Οι μεταβλητές του πρωτεύοντος αντιστοιχούν σε περιορισμούς στο δυϊκό και ισχύει: 1. Αν η μεταβλητή στο πρωτεύον είναι μη αρνητική, δηλαδή x j 0 τότε ο περιορισμός στο δυϊκό θα είναι της μορφής π a j c j. 2. Αν η μεταβλητή στο πρωτεύον είναι ελεύθερη πρόσημου, δηλαδή xj 0 τότε ο περιορισμός στο δυϊκό θα είναι ισοτικός, δηλαδή της μορφής π a j = c j. Οι συντελεστές της αντικειμενικής συνάρτησης στο πρωτεύον πηγαίνουν στο δεύτερο μέλος των περιορισμών στο δυϊκό και αντίστροφα. Θεωρήματα Δυϊσμού Ο λόγος που το δυϊκό πρόβλημα είναι τόσο σημαντικό για τον γραμμικό προγραμματισμό είναι τα παρακάτω θεωρήματα: Θεώρημα 2.1 Το δυϊκό του δυϊκού προβλήματος είναι το πρωτεύον. Θεώρημα 2.2 Αν x είναι μία εφικτή λύση του πρωτεύοντος και u μία εφικτή λύση του δυϊκού και επιπλέον ισχύει ότι u b = c x, τότε οι x, u είναι βέλτιστες λύσεις του πρωτεύοντος και του δυϊκού αντίστοιχα. Θεώρημα 2.3 Αν το πρωτεύον πρόβλημα έχει βέλτιστη λύση, τότε και το δυϊκό θα έχει βέλτιστη λύση και αντίστροφα, μάλιστα οι τιμές των αντικειμενικών συναρτήσεων θα είναι ίσες. Πόρισμα 2.1

31 2.2. ΣΤΟΙΧΕΙΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 25 Αν η εφικτή περιοχή του πρωτεύοντος είναι μη φραγμένη, τότε το δυϊκό δεν έχει λύση. Αντίστροφα, όταν η εφικτή περιοχή του δυϊκού είναι μη φραγμένη, τότε το πρωτεύον δεν έχει λύση.

32 26 2. ΘΕΩΡΗΤΙΚΑ ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ

33 3 Πιθανοτική Ικανοποιησιμότητα: Το πρόβλημα Πριν προχωρήσουμε στον αυστηρό ορισμό του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας, θα δώσουμε ένα παράδειγμα: Παράδειγμα 1: Μία έρευνα που πραγματοποιήθηκε σε ένα σχολείο πάνω στις επιδόσεις των μαθητών στα μαθήματα των μαθηματικών, της φυσικής, της ιστορίας και των καλλιτεχνικών ισχυρίζεται τα ακόλουθα: 1. Το 46% των μαθητών τα πηγαίνει καλά στη φυσική και δεν τα πηγαίνει καλά στην ιστορία. 2. Το 85% των μαθητών είναι καλοί στην φυσική ή στα μαθηματικά. 3. Το 68% των μαθητών είναι καλοί στο μάθημα των μαθηματικών ή/και στο μάθημα των καλλιτεχνικών. 4. Το 24% των μαθητών είναι καλοί στα μαθήματα της ιστορία και της φυσικής, αλλά όχι στο μάθημα των καλλιτεχνικών. Το ερώτημα που προκύπτει είναι, αν υπάρχει κατανομή πιθανότητας για τις προτάσεις, η οποία να ικανοποιεί τα παραπάνω αποτελέσματα και αν οι παρατηρήσεις αυτές είναι συνεπείς. Θα προχωρήσουμε στην μοντελοποίηση του παραπάνω παραδείγματος, χρησιμοποιώντας την γλώσσα της λογικής. Θα ονομάσουμε: 27

34 28 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ x 0 : το γεγονός ένας μαθητής να είναι καλός στο μάθημα των μαθηματικών x 1 : το γεγονός ένας μαθητής να είναι καλός στο μάθημα της φυσικής x 2 : το γεγονός ένας μαθητής να είναι καλός στο μάθημα της ιστορίας x 3 : το γεγονός ένας μαθητής να είναι καλός στο μάθημα των καλλιτεχνικών Ετσι, προκύπτουν οι παρακάτω λογικές προτάσεις που αντιστοιχούν σε κάθε μία από τις παραπάνω παρατηρήσεις: 1. L 1 : (x 1 x 2 ) 2. L 2 : (x 0 x 1 ) 3. L 3 : (x 0 x 3 ) 4. L 4 : (x 1 x 2 x 3 ) με p(l 1 ) = 0.46, p(l 2 ) = 0.85, p(l 3 ) = 0.68, p(l 4 ) = Τα γεγονότα μας είναι συνολικά τέσσερα και το καθένα μπορεί να πάρει ακριβώς δύο τιμές {0, 1} ή {αλήθεια, ψέμα}, ανάλογα με το αν ο μαθητής είναι καλός στο αντίστοιχο μάθημα ή όχι. Ετσι, όλοι οι δυνατοί συνδυασμοί αποτίμησης των μεταβλητών x i = {0, 1}, i = 0,..., 3, είναι 2 4 = 16. Εχουμε, λοιπόν, τον παρακάτω πίνακα όλων των δυνατών συνδυασμών: x x x x Και για κάθε ένα από τους δυνατούς συνδυασμούς κάθε πρόταση παίρνει μία τιμή {0, 1}, ανάλογα με το αν η αποτίμηση αυτή την επαληθεύει ή όχι. Ετσι, προκύπτει ο παρακάτω πίνακας αλήθειας των προτάσεων:

35 3.1. ΑΥΣΤΗΡΟΣ ΟΡΙΣΜΟΣ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ L L L L Αν ονομάσουμε A τον προηγούμενο πίνακα, προκύπτει το ακόλουθο σύστημα γραμμικών εξισώσεων: Aπ = p, όπου π, το διάνυσμα της ζητούμενης πιθανοτικής κατανομής στο οποίο κάθε μία από τις δεκαέξι συνιστώσες εκφράζει την πιθανότητα πραγματοποίησης κάθε πιθανού συνδυασμού των μεταβλητών και p, το διάνυσμα διάστασης 4 που περιλαμβάνει τις πιθανότητες των τεσσάρων προτάσεων. Επομένως, αρκεί να λύσουμε το παραπάνω γραμμικό σύστημα και θα βρούμε την πιθανοτική κατανομή που ζητείται στο Παράδειγμα 1. Ακόμα, αν βρούμε έστω και μία πιθανοτική κατανομή ως λύση τότε μπορούμε να απαντήσουμε ότι το πρόβλημα είναι συνεπές. Πριν προχωρήσουμε στην επίλυση, θα γενικεύσουμε το πρόβλημα προκειμένου να δώσουμε τον αυστηρό ορισμό του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας. 3.1 Αυστηρός ορισμός του προβλήματος Θεωρούμε m λογικές προτάσεις S 1, S 2,..., S m. Κάθε πρόταση αποτελείται από μία ή περισσότερες προτασιακές(λογικές) μεταβλητές x 0, x 1,..., x n 1 ή/και τις αρνήσεις τους, οι οποίες συνδέονται μεταξύ τους με την βοήθεια των λογικών συνδέσμων,,,. Οι λογικές μεταβλητές παίρνουν την τιμή 1, αν αληθεύουν και 0, όταν είναι ψευδής. Αντίστοιχα, και οι προτάσεις παίρνουν την τιμή 1, αν επαληθεύονται βάση της τιμής των προτασιακών μεταβλητών και 0, αν δεν επαληθεύονται. Σε κάθε μία λογική πρόταση αντιστοιχεί μια πιθανότητα p j, με j = 1,..., m και 0 p j 1. Ο Nilsson στο [17] θεώρησε το χώρο που αποτελείται από τις 2 n αποτιμήσεις αλήθειας a k, k = 1,..., 2 n, δηλαδή από τους 2 n δυνατούς συνδυασμούς των λογικών τιμών των μεταβλητών x 0, x 1,..., x n 1. Αυτές οι 2 n αποτιμήσεις αλήθειας ονομάστηκαν από τον Leibniz στο βιβλίο του New Essays on Human Understanding [27] «πιθανοί κόσμοι». Βέβαια, η συγκεκριμένη αναφορά είχε φιλοσοφικό υπόβαθρο

36 30 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ αναφέροντας την επιλογή ανάμεσα στους πιθανούς κόσμους που κάνει ο Δημιουργός (Θεός) προκειμένου να καταλήξει τελικά στον κόσμο τον οποίο εμείς βιώνουμε. Εστω, τώρα, μια κατανομή πιθανότητας π j, j = 1,..., 2 n που αντιστοιχίζει μία τιμή πιθανότητας σε κάθε έναν από τους 2 n πιθανούς κόσμους μας. Λογικά συμπεραίνουμε ότι 2 n j=1 π j = 1. Δημιουργούμε τον πίνακα A(m, 2 n ) ο οποίος έχει στην θέση a i,j = 1, i = 1,..., m και j = 1,...,2 n, αν η πρόταση S i επαληθεύεται από την αποτίμηση a j, διαφορετικά a i,j = 0. Πρέπει το άθροισμα των πιθανοτήτων π j, j = 1,..., 2 n που συνοδεύουν τους αντίστοιχους πιθανούς κόσμους a j, j = 1,..., 2 n για τους οποίους η πρόταση S i = 1, δηλαδή αληθεύει, να είναι ίσο με p i, i = 1,..., m Το γραμμικό πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας Χρησιμοποιώντας όλα τα προηγούμενα, προχωράμε στην μοντελοποίηση του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας ως πρόβλημα γραμμικού προγραμματισμού. Ετσι καταλήγουμε: Aπ = p 2 n j=1 π 0 π j = 1 Μπορούμε, όμως, να παραλείψουμε τον περιορισμό 2 n j=1 π j = 1 από το παραπάνω γραμμικό πρόβλημα, απλά προσθέτοντας στον πίνακα Α μια επιπλέον γραμμή που αφορά μια επιπλέον πρόταση, η οποία επαληθεύεται για κάθε δυνατό συνδυασμό των λογικών μεταβλητών. Θα μπορούσε, για παράδειγμα, να είναι η (x 0 x 0 ) και έτσι θα έχουμε προσθέσει στον πίνακα A(m+1, 2 n ) μια επιπλέον γραμμή που θα περιλαμβάνει μόνο 1, δηλαδή a m+1,j = 1, j = 1,..., 2 n. Μπορεί εύκολα κανείς να συμπεράνει ότι p m+1 = 1 Και έτσι, η μορφή του γραμμικού προβλήματος θα είναι η παρακάτω: Aπ = p π 0 Ετσι, ο πίνακας στο Παράδειγμα 1 γίνεται:

37 3.1. ΑΥΣΤΗΡΟΣ ΟΡΙΣΜΟΣ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ L L L L L Οπου L 5 μία πρόταση που επαληθεύεται για κάθε αποτίμηση των μεταβλητών, με πιθανότητα p 5 = Η μορφή απόφασης Στην μορφή απόφασης ή Decision Form του Probabilistic Satisfiability το γραμμικό πρόβλημα είναι: Aπ = p π 0 Ζητούμενο είναι να απαντήσουμε αν υπάρχει κατάλληλο διάνυσμα π που να ικανοποιεί το παραπάνω γραμμικό πρόβλημα. Η απάντηση δεν είναι το διάνυσμα π αλλά «ναι» αν υπάρχει τέτοιο π ή «όχι» αν δεν υπάρχει. Σε αυτή την μορφή του προβλήματος απευθυνόμαστε και όταν τίθεται ζήτημα συνέπειας των δεδομένων μας. Επιστρέφοντας, τώρα, στο Παράδειγμά (1) μας το πρόβλημα, όπως προκύπτει στην μορφή απόφασης, είναι το εξής: Aπ = p π 0 με Α τον πίνακα διαστάσεων (5 16) που κατασκευάσαμε νωρίτερα, p = [0.46, 0.85, 0.68, 0.24, 1] και π το διάνυσμα της πιθανοτικής κατανομής που αντιστοιχεί στους 16 πιθανούς κόσμους Η μορφή βελτιστοποίησης Στην μορφή βελτιστοποίησης (optimization form) του Probabilistic Satisfiability θεωρούμε μία καινούργια πρόταση S m+2 με άγνωστη πιθανότητα p m+2, την τιμή της οποίας καλούμαστε να βελτιστοποιήσουμε. Το γραμμικό πρόβλημα έχει την μορφή: min/max A m+2 π

38 32 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ υπό τους περιορισμούς Aπ = p π 0 Πρέπει να πούμε ότι οι περιορισμοί απλά καθορίζουν όρια στη πιθανότητα p m+2. Ακριβή τιμή βρίσκουμε μόνο στην περίπτωση που το διάνυσμα-γραμμή A m+2 = (a m+2,j ), το οποίο έχει 1 όπου η S m+2 αληθεύεται για την αντίστοιχη αποτίμηση αλήθειας των προτασιακών μεταβλητών και 0 διαφορετικά, είναι γραμμικός συνδυασμός των σειρών του πίνακα Α. Ας ξαναδούμε τώρα το Παράδειγμα 1. Εστω ότι, μας ζητείται να απαντήσουμε στο ερώτημα: «Ποιά είναι η πιθανότητα ένας μαθητής να είναι καλός στο μάθημα των μαθηματικών και στο μάθημα της ιστορίας;» Οπως είναι επόμενο, εισάγουμε μία καινούρια πρόταση την L 6 = (x 0 x 2 ), με άγνωστη πιθανότητα p 6. Ετσι, το πρόβλημα στην μορφή βελτιστοποίησης πλέον είναι: min/max υπό τους περιορισμούς 16 j=1 a 6,j π Aπ = p π 0 με Α τον πίνακα διαστάσεων (5 16) που κατασκευάσαμε νωρίτερα, p = [0.46, 0.85, 0.68, 0.24, 1] και π το διάνυσμα της πιθανοτικής κατανομής που αντιστοιχεί στους 16 πιθανούς κόσμους Άλλες μορφές του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας Με τις πιο ειδικές μορφές του PSAT δεν θα ασχοληθούμε εδώ, ωστόσο, θα αναφέρουμε μερικές περιπτώσεις. Για αρχή, θα μπορούσαν οι πιθανότητες που περιέχονται να είναι δεσμευμένες πιθανότητες. Αν οι δεσμευμένες πιθανότητες είναι οι πιθανότητες που συνοδεύουν τις λογικές προτάσεις, τότε το πρόβλημα με μερικές μετατροπές παραμένει πρόβλημα γραμμικού προγραμματισμού. Αν, όμως, στην μορφή βελτιστοποίησης του προβλήματος, η δεσμευμένη πιθανότητα βρίσκεται στην αντικειμενική συνάρτηση τότε πρόκειται για πρόβλημα υπερβολικού προγραμματισμού, που πάλι, με κατάλληλη μετατροπή μπορούμε να το μετατρέψουμε σε πρόγραμμα γραμμικού προγραμματισμού.

39 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 33 Σε άλλες περιπτώσεις, μπορεί οι πιθανότητες που συνοδεύουν τις προτάσεις να μην είναι ακριβείς, αλλά να πρόκειται για κάποια διαστήματα τιμών στα οποία ανήκει η πιθανότητα της πρότασης. Τότε, απλά έχουμε ανισώσεις αντί για ισότητες στους περιορισμούς κάτι που μπορεί εύκολα να αλλάξει με την προσθήκη των περιθωρίων (slack) μεταβλητών. 3.2 Η Υπολογιστική Πολυπλοκότητα του προβλήματος Αν παρατηρήσουμε τον πίνακα Α, στο Παράδειγμα 1, θα δούμε ότι αποτελείται μόνο από 0 και 1, και ότι το μέγεθός του είναι δυσανάλογα μεγάλο σε σχέση με το μέγεθος του προβλήματος. Μάλιστα, το πρόβλημά μας έχει 4 προτάσεις και 4 μεταβλητές αλλά ο πίνακας είναι διαστάσεων Για την ακρίβεια, το μέγεθος του πίνακα αυξάνει εκθετικά στον αριθμό των μεταβλητών, τουλάχιστον όσον αφορά το πλήθος των στηλών. Πρέπει, επίσης, να προσθέσουμε ότι και το διάνυσμα της λύσης έχει εκθετικό πλήθος συνιστωσών. Γίνεται φανερό ότι, στην περίπτωση που το μέγεθος του προβλήματος δεν είναι τόσο μικρό όσο το παράδειγμα, αλλά είναι στα επίπεδα μεγέθους που συναντάμε συνήθως στις εφαρμογές, θα είναι εξαιρετικά δύσκολο, χρονοβόρο και κοστοβόρο να πραγματοποιήσουμε την επίλυση. Πρέπει, λοιπόν, να προχωρήσουμε στην ανάλυση της Υπολογιστικής Πολυπλοκότητας του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας για να προσδιοριστεί πλήρως ο βαθμός δυσκολίας του Η Πιθανοτική Ικανοποιησιμότητα ανήκει στην κλάση ΝΡ Αυτό που φαίνεται με την πρώτη ματιά είναι ότι το πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας σίγουρα δεν ανήκει στην κλάση Ρ. Οι Georgakopoulos, Kavvadias και Papadimitriou [10] απέδειξαν ότι το PSAT είναι ΝΡ-πλήρες ανάγοντας το SAT σε αυτό. Πριν εξηγήσουμε, όμως, αυτή την αναγωγή, ας πάρουμε τα πράγματα με την σειρά. Παρατηρούμε ότι, το PSAT αποτελεί γενίκευση του SAT. Πράγματι, το SAT είναι η ειδική περίπτωση του PSAT στην οποία έχουμε p j = 1, j = 1,..., m. Αυτό συμβαίνει διότι στο πρόβλημα της Ικανοποιησιμότητας ζητείται να απαντηθεί αν

40 34 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ υπάρχει αποτίμηση που να ικανοποιεί όλες τις προτάσεις, επομένως ζητείται όλες οι προτάσεις να ικανοποιούνται με πιθανότητα 1. Ετσι, αφού το SAT ανήκει στην κλάση ΝΡ, το ίδιο θα ισχύει και για το PSAT. Να θυμίσουμε ότι το ΝΡ είναι η κλάση των γλωσσών που αποφασίζονται από μία μη ντετερμινιστική μηχανή Turing σε χρόνο πολυωνυμικό στο μήκος της εισόδου. Ο υπολογισμός που κάνει μια μηχανή Turing για να αποφασίσει μια γλώσσα είναι η πρόβλεψη μιας απάντησης και η επιβεβαίωση της πρόβλεψης αυτής. Ετσι, για να ανήκει ένα πρόβλημα στην κλάση γλωσσών ΝΡ πρέπει να έχει ένα «καλό» πιστοποιητικό. Δηλαδή, κάποιου είδους πληροφορία η οποία να μπορεί σε πολυωνυμικό χρόνο να ελεγχθεί αν είναι «ΝΑΙ» στιγμιότυπο. Εστω, ότι ένα δοθέν στιγμιότυπο του PSAT, διάστασης (m + 1) 2 n, έχει λύση. Τότε, από την θεωρία του γραμμικού προγραμματισμού υπάρχει ένα σύνολο από m + 1 γραμμικώς ανεξάρτητες στήλες του πίνακα Α, οι οποίες αποτελούν μια βάση του πίνακα Α και από την βάση αυτή μπορούμε να πάρουμε μια λύση του προβλήματος επιλύωντας μόνο το γραμμικό σύστημα που προκύπτει από την βάση αυτή και βάζοντας σε όλες τις υπόλοιπες συνιστώσες του π την τιμή 0. Αυτές οι m+1 στήλες θα μπορούσαν να αποτελούν ένα καλό πιστοποιητικό του προβλήματος, διότι, πλέον, ο πίνακας της βάσης δεν έχει εκθετικής τάξης πλήθος στοιχείων. Ετσι, θα μπορούσαμε σε πολυωνυμικό χρόνο να βρούμε μία λύση του προβλήματος και να ελέγξουμε, πάλι σε πολυωνυμικό χρόνο, αν αυτή αποτελεί λύση. Ωστόσο, παραμένει ακόμα ένα πρόβλημα και αυτό αφορά την ακρίβεια των πιθανοτήτων της πιθανοτικής κατανομής. Αν η ακρίβεια της πιθανοτικής κατανομής είναι εκθετικής τάξης μέγεθος, τότε δεν μπορούμε να μιλάμε για υπολογισμούς πολυωνυμικού χρόνου. Χρειαζόμαστε, λοιπόν, ένα πολυωνυμικό φράγμα για την ακρίβεια της πιθανοτικής κατανομής. Για το λόγο αυτό, το ακόλουθο Λήμμα είναι απαραίτητο. Λήμμα 3.1 Αν για ένα στιγμιότυπο του PSAT υπάρχει μια ικανοποιητική κατανομή πιθανότητας τότε θα υπάρχει μία, η οποία θα έχει το πολύ m + 1 μη μηδενικές πιθανότητες και ρητές εισόδους συνολικής ακρίβειας O(m 2 ). Η Πιθανοτική Ικανοποιησιμότητα είναι ΝΡ-πλήρες πρόβλημα Δείξαμε ότι, το PSAT ανήκει στην κλάση ΝΡ. Για να δείξουμε ότι είναι ΝΡπλήρες, σύμφωνα με τον ορισμό της ΝΡ-πληρότητας, χρειάζεται να δείξουμε, επίσης, ότι κάποιο πρόβλημα στην κλάση ΝΡ ανάγεται στο πρόβλημά μας. Αυτό, το έχουμε ήδη δείξει, στη σελίδα 34.

41 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Αναγωγή του PSAT στο MAXSAT Αναγωγή μέσω του Ελλειψοειδούς Αλγορίθμου Οπως, είδαμε, το πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας είναι το παρακάτω πρόβλημα απόφασης: Aπ = p π 0 και το σημαντικότερο πρόβλημά μας είναι ότι το διάνυσμα π είναι εκθετικά μεγάλο. Για το λόγο αυτό, στρεφόμαστε στην θεωρία της δυϊκότητας του γραμμικού προγραμματισμού. Αν θεωρήσουμε το παραπάνω σαν το πρωτεύον πρόβλημα, τότε το δυϊκό του είναι το εξής: A T x 0 p x 1 Να θυμίσουμε, επίσης, το Θεώρημα 2.3 στο οποίο αναφέρεται ότι: Το πρωτεύον πρόβλημα έχει λύση, αν και μόνον αν, το δυϊκό πρόβλημα έχει λύση. Παρατηρούμε ότι, το διάνυσμα x στο δυϊκό πρόβλημα έχει m + 1 συνιστώσες αλλά, έχουμε εκθετικό αριθμό γραμμικών ανισώσεων πράγμα που πάλι δημιουργεί πρόβλημα στην προσπάθεια επίλυσης. Για το λόγο αυτό στρεφόμαστε στον ελλειψοειδή αλγόριθμο. Ο αλγόριθμος αυτός λειτουργεί ως εξής: Σε μια τυχαία επανάληψη, ξεκινάμε με ένα σημείο x, το οποίο δεν αποτελεί λύση. Διαλέγουμε τότε μία ανισότητα από το σύνολο των ανισοτήτων που παραβιάζονται από το x και με βάση αυτή υπολογίζουμε καινούριο x. Πραγματοποιούμε ικανοποιητικό αριθμό τέτοιων επαναλήψεων προκειμένου είτε να καταλήξουμε σε κάποιο x που ανήκει στο σύνολο των εφικτών σημείων του προβλήματος, είτε να ξέρουμε ότι δεν υπάρχει τέτοιο x. Το πλεονέκτημα αυτού του αλγορίθμου είναι ότι δεν χρειάζεται σε κάθε επανάληψη να έχουμε όλες τις εκθετικού πλήθους ανισότητες αλλά αρκεί με κάποιο τρόπο να μας δίνεται μια ανισότητα που παραβιάζεται. Για το λόγο αυτό, χρειαζόμαστε μια «γεννήτρια παραβιασμένων ανισοτήτων» δηλαδή, μια διαδικασία, η οποία όταν της δίνεται ένα σημείο x να επιστρέφει μία παραβιασμένη ανισότητα. Τότε, σύμφωνα με τους Karp και Papadimitriou [14] θα έχουμε ότι: Λήμμα 3.2 Μια εφικτή λύση ενός M N γραμμικού προγράμματος Ax b με ακέραιους συντελεστές με μέγιστη υποορίζουσα 2 L μπορεί να βρεθεί σε O(N 3 L) επαναλήψεις,

42 36 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ κάθε μία από τις οποίες περιλαμβάνει την κλήση μιας γεννήτριας παραβιασμένων α- νισοτήτων για το γραμμικό πρόγραμμα, καθώς και O(N 2 L) επιπλέον υπολογισμούς. Στην δική μας περίπτωση, το δυϊκό πρόβλημα του PSAT είναι 2 n m και οι συντελεστές είναι δυαδικοί. Ετσι, το πλήθος των επαναλήψεων είναι O(m 2 logm) και το πλήθος των υπολογισμών σε κάθε επανάληψη είναι O(m 3 logm). Τώρα, το σημαντικό πρόβλημα έγκειται στο ποια θα είναι η γεννήτρια των παραβιασμένων ανισοτήτων. Το πλήθος των ανισοτήτων A T x 0, κάθε μία από τις οποίες αντιστοιχεί σε μία αποτίμηση των n μεταβλητών, είναι εκθετικά υψηλό. Μια τέτοια ανισότητα παραβιάζεται από ένα m + 1 διάνυσμα x, αν και μόνον αν, το άθροισμα των συνιστωσών του x που αντιστοιχούν σε προτάσεις που ικανοποιούνται από την συγκεκριμένη αποτίμηση είναι μεγαλύτερο από -x 0. Αυτό μας παραπέμπει σε ένα πολύ γνωστό ΝΡ-πλήρες πρόβλημα το MAXSAT, το οποίο θυμίζουμε: MAXSAT Δίνονται m προτάσεις με n μεταβλητές και για κάθε πρόταση C i δίνεται ένα ακέραιο βάρος w i καθώς και ένας στόχος W. Ζητείται αν υπάρχει αποτίμηση αλήθειας για τις μεταβλητές, τέτοια ώστε το άθροισμα των βαρών των προτάσεων που ικανοποιούνται από αυτήν να είναι τουλάχιστον ίσο με το W. Ετσι, αν θεωρήσουμε τις συνιστώσες του x σαν βάρη (ίσως και αρνητικά) των προτάσεων τότε ζητάμε μία αποτίμηση που να ικανοποιεί τόσες προτάσεις ώστε το συνολικό βάρος να είναι τουλάχιστον ίσο με x 0. Ετσι, σύμφωνα με τους Georgakopoulos, Kavvadias και Papadimitriou [10] καταλήγουμε στα παρακάτω: Θεώρημα 3.1 Ενα στιγμιότυπο του PSAT με m προτάσεις και n μεταβλητές μπορεί να λυθεί σε O(m 2 logm) επαναλήψεις, κάθε μία από τις οποίες περιλαμβάνει την επίλυση (α) ενός στιγμιοτύπου του MAXSAT με τις ίδιες προτάσεις και ακέραια βάρη με O(m) bits, και (β) O(m 3 logm) επιπλέον υπολογισμούς. Ετσι, προκύπτει το ακόλουθο πόρισμα. Πόρισμα 3.1 Το PSAT περιορισμένο σε ένα είδος προτάσεων ανάγεται σε πολυωνυμικό χρόνο στο MAXSAT περιορισμένο στο ίδιο είδος προτάσεων. Σε αυτό το σημείο γίνεται φανερό ότι το πρόβλημα της Μέγιστης Ικανοποιησιμότητας είναι καθοριστικό στην προσπάθεια επίλυσης του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας. Ωστόσο, ο Ελλειψοειδής Αλγόριθμος δεν αποτελεί παρά καθαρά θεωρητικό αποτέλεσμα αφού στην πράξη δεν χρησιμοποιείται. Για

43 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 37 την επίλυση προβλημάτων γραμμικού προγραμματισμού στην πράξη απευθυνόμαστε στην μέθοδο Simplex. Επομένως, πρέπει πλέον να συνδέσουμε το MAXSAT με το PSAT μέσω της μεθόδου αυτής. Αυτό που πρέπει να αναφερθεί και προκύπτει και από την προηγούμενη αναγωγή μέσω του Ελλεψοειδούς Αλγορίθμου, είναι ότι το MAXSAT είναι το δυϊκό πρόβλημα του PSAT. Αναγωγή μέσω της Μεθόδου SIMPLEX Ας θυμηθούμε, τώρα, επιγραμματικά την μέθοδο Simplex, την οποία είδαμε αναλυτικά στο Κεφάλαιο 2. Η βασική ιδέα είναι ότι ξεκινάμε από μία βάση του πίνακα Α και σε κάθε βήμα εισάγουμε στην βάση μία καινούρια στήλη, η οποία να έχει την ιδιότητα με την εισαγωγή της να βελτιώνει την τιμή της αντικειμενικής συνάρτησης. Αναφέρθηκε ότι προκειμένου να επιλέξουμε την στήλη που θα μπει στην βάση, υπολογίζουμε τα οριακά κόστη όλων των στηλών του πίνακα Α: c j = c j c BB 1 A j, j = 0,..., 2 n 1 και έπειτα, επιλέγουμε την στήλη η οποία να έχει το μικρότερο αρνητικό οριακό κόστος, αφού πρόκειται για πρόβλημα ελαχιστοποίησης, για να την εισάγουμε στην βάση. Οπως είναι φανερό, η δυσκολία του προβλήματος βρίσκεται στο γεγονός ότι έχουμε εκθετικό πλήθος στηλών με αποτέλεσμα να απαιτούνται εκθετικού πλήθους υπολογισμοί. Ωστόσο, παρατηρούμε ότι στην ουσία καλούμαστε να λύσουμε πλέον το πρόβλημα της Μέγιστης Ικανοποιησιμότητας στο ίδιο σύνολο προτάσεων με βάρη τις δυϊκές μεταβλητές: x = B 1 A j, στο οποίο καλούμαστε να μεγιστοποιήσουμε το συνολικό βάρος προκειμένου να πετύχουμε το μικρότερο αρνητικό οριακό κόστος. Επομένως, βλέπουμε ότι αν μπορέσουμε να λύσουμε το στιγμιότυπο του MAXSAT που προκύπτει, τότε χρειάζεται απλά να ακολουθήσουμε την υπόλοιπη διαδικασία της μεθόδου Simplex και τότε έχουμε έναν ικανοποιητικό αλγόριθμο για το πρόβλημά μας. Πρέπει, εδώ, να αναφέρουμε ότι η μέθοδος Simplex, σίγουρα δεν είναι μία διαδικασία πολυωνυμικού χρόνου ειδικά αν εξετάσουμε το σενάριο της χειρότερης περίπτωσης. Λεπτομερής ανάλυση μπορεί να βρει κανείς στο βιβλίο του A. Schrijver: «Theory of Linear and Integer Programming»[2]. Ωστόσο, αν ξεπεράσουμε το σκόπελο του εκθετικού πλήθους ελέγχων που πρέπει να γίνουν για να βρεθεί μία

44 38 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ στήλη με αρνητικό οριακό κόστος, τότε μπορούμε να δούμε ότι σε κάθε επανάληψη εκτελούμε πολυωνυμικού πλήθους πράξεις και μία κλήση του προβλήματος της Μέγιστης Ικανοποιησιμότητας. Από εκεί και πέρα, αν μπορούσαμε να ελέγξουμε το πλήθος των επαναλήψεων που θα γίνουν και περιορίσουμε ή ακόμα και αποκλείσουμε περιπτώσεις αέναης επανάληψης, τότε σίγουρα μιλάμε για έναν ικανοποιητικό αλγόριθμο. Παρ όλα αυτά δεν πρέπει να ξεχνάμε ότι και το MAXSAT είναι ένα πρόβλημα το οποίο είναι ΝΡ-πλήρες, οπότε το γεγονός ότι πλέον, προκειμένου να λύσουμε το πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας, απευθυνόμαστε στο πρόβλημα της Μέγιστης Ικανοποιησιμότητας δεν μοιάζει και ικανοποιητική λύση. Η αλήθεια όμως είναι άλλη. Και αυτό διότι για το MAXSAT υπάρχουν ικανοποιητικοί προσεγγιστικοί αλγόριθμοι στους οποίους θα αναφερθούμε στο Κεφάλαιο 6. Το γεγονός ότι πρόκειται για προσεγγιστικούς αλγορίθμους δεν αποτελεί πρόβλημα αφού δεν χρειαζόμαστε απαραίτητα την στήλη με το μικρότερο αρνητικό οριακό κόστος, αλλά, απλά μία στήλη που να έχει αρνητικό οριακό κόστος. Επιπλέον, το γεγονός ότι μπορούμε να χρησιμοποιήσουμε ένα ήδη γνωστό πρόβλημα, πάνω στο οποίο έχουν υπάρξει πολλές μελέτες, σαν δυϊκό, είναι σίγουρα πολύ θετικό. Προσφέρει την δυνατότητα να συσχετίσουμε τις βελτιώσεις που έχουν γίνει στην προσπάθεια επίλυσής του προβλήματος της Μέγιστης Ικανοποιησιμότητας με το πρόβλημά της Πιθανοτικής Ικανοποιησιμότητας και να εκμεταλλευτούμε κάθε υπάρχουσα γνώση Η Υπολογιστική Πολυπλοκότητα ειδικών περιπτώσεων της Πιθανοτικής Ικανοποιησιμότητας 2PSAT Εξηγήσαμε νωρίτερα ότι το πρόβλημα της Ικανοποιησιμότητας- SAT είναι ειδική περίπτωση του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας PSAT. Ομως, το πρόβλημα της Ικανοποιησιμότητας, όταν οι προτάσεις του είναι στην μορφή 2- CNF δηλαδή το 2SAT, επιλύεται πολυωνυμικά. Τι γίνεται όμως με το 2PSAT; Εχει αποδειχθεί από τους Georgakopoulos, Kavvadias και Papadimitriou [10] ότι το 2PSAT είναι ΝΡ-πλήρες. Αναγωγή του προβλήματος του 3-χρωματικού γραφήματος στο 2PSAT Θα αναφέρουμε πρώτα το πρόβλημα του 3-χρωματικού γράφου (graph 3-colorability) και έπειτα θα προχωρήσουμε στην αναγωγή.

45 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 39 Στο πρόβλημα του 3-χρωματικού γράφου δίνεται ένα γράφημα G(V,E). Το ε- ρώτημα είναι αν υπάρχει συνάρτηση c: V 1,2,3 τέτοια ώστε c(u) c(v), ακμή [u,v] E. Ουσιαστικά, το παραπάνω σημαίνει ότι, σε κάθε κόμβο του γράφου θέλουμε να δώσουμε ένα από τα χρώματα 1, 2, 3 με τέτοιο τρόπο, ώστε σε δύο κόμβους που συνδέονται με ακμή, να μην υπάρχει το ίδιο χρώμα. Αναγωγή: Δοθέντος ενός 3-χρωματικού γράφου, θα κατασκευάσουμε ένα στιγμιότυπο του PSAT ως εξής: Μεταβλητές: Για κάθε κορυφή u V έχουμε τρείς μεταβλητές u 1, u 2, u 3, μία για κάθε δυνατό διαφορετικό χρωματισμό της κορυφή. Εχουμε 6 V + 3 E προτάσεις: -Για κάθε κορυφή u φτιάχνουμε 3 προτάσεις, τις (u 1 ), (u 2 ), (u 3 ), που η κάθε μία έχει πιθανότητα 1 3 και τρεις ακόμα προτάσεις τις ( u 1 u 2 ), ( u 2 u 3 ) και ( u 3 u 1 ) με πιθανότητα 1. -Για κάθε ακμή [u,v] E έχουμε τρείς προτάσεις ( u 1 v 1 ), ( u 2 v 2 ) και ( u 3 v 3 ) με πιθανότητα 1. Αυτό το σύνολο προτάσεων θα το ονομάσουμε Q(E). Θα δείξουμε ότι αν ένα στιγμιότυπο του 2PSAT είναι ικανοποιήσιμο, τότε ο δοθείς γράφος είναι 3-χρωματικός: Υπενθυμίζουμε ότι: p(u 1 u 2 u 3 ) = p(u 1 )+p(u 2 )+p(u 3 )+p( u 1 u 2 )+p( u 2 u 3 )+p( u 3 u 1 ) 3+p(u 1 u 2 u 3 ) Είναι λογικό ότι p(u 1 u 2 u 3 ) = 0 αφού μια κορυφή δεν μπορεί να έχει ταυτόχρονα 3 χρώματα και p(u 1 u 2 u 3 ) = 1 αφού κάθε κορυφή θα έχει τουλάχιστον ένα χρώμα. Προκύπτει ότι σε κάθε αποτίμηση αλήθειας των προτασιακών μεταβλητών a j, με θετικό π j, μόνο μία από τις u 1, u 2.u 3, που αντιστοιχούν σε κάθε κορυφή u, είναι αληθής. Τότε, ορίζουμε το c(u) να είναι k, αν η a j κάνει αληθή την u k. Ισχυριζόμαστε ότι αυτός είναι ένας νόμιμος χρωματισμός του γραφήματος και αυτό εξασφαλίζεται διότι οι προτάσεις Q(E) έχουν πιθανότητα 1. Αντίστροφα, τώρα, θα δείξουμε ότι αν ένας γράφος είναι 3-χρωματικός τότε το αντίστοιχο στιγμιότυπο του 2PSAT είναι ικανοποιήσιμο. Εστω ένας νόμιμος χρωματισμός του G. Ορίζουμε την αποτίμηση αλήθειας των μεταβλητών a για την οποία η u k αληθεύει, αν και μόνον αν, το c(u)=k έχει πιθανότητα π = 1 3. Ομοια πράττουμε για τους υπόλοιπους χρωματισμούς ć, c που προκύπτουν αλλάζοντας κυκλικά τα χρώματα του u. Παίρνουμε, λοιπόν, τις

46 40 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ αντίστοιχες αποτιμήσεις á, a με πιθανότητα 1 η κάθε μία. Ενώ, όλες οι υπόλοιπες 3 αποτιμήσεις έχουν πιθανότητα 0. Είναι εμφανές, έτσι, ότι το προκύπτον διάνυσμα π ικανοποιεί το δοθέν στιγμιότυπο του 2PSAT. Η Υπολογιστική Πολυπλοκότητα του PSAT για δεσμευμένες πιθανότητες και διαστήματα πιθανοτήτων Η επέκταση του Probabilistic Satisfiability, όπου εκτός από απλές πιθανότητες, έχουμε και δεσμευμένες πιθανότητες της μορφής p(x/y) για μεταβλητές x, y και ζητείται να ελεγχθεί η συνέπεια, ονομάζεται CONDSAT. Το πρόβλημα αυτό μπορεί εύκολα να μετατραπεί σε πρόβλημα γραμμικού προγραμματισμού μέσω της σχέσης p(x/y) = p(x y)/p(y) και πολλαπλασιάζοντας με το p(y) 0. Ετσι, δεν αλλάζει τίποτα από όσα είδαμε ως τώρα και για το λόγο αυτό καταλήγουμε ότι: Πόρισμα 3.2 Το CONDSAT είναι ΝΡ-πλήρες. Στην περίπτωση που έχουμε διαστήματα πιθανοτήτων αντί για ακριβείς τιμές στις πιθανότητες, με την βοήθεια των slack περιθώριων μεταβλητών, το πρόβλημα μετατρέπεται από την κανονική μορφή προβλήματος του γραμμικού προγραμματισμού (περιέχει ανισότητες) στην στάνταρ μορφή προβλήματος γραμμικού προγραμματισμού (περιέχει μόνο ισότητες). Είτε στην μία μορφή, είτε στην άλλη, δεν αλλάζει κάτι από τα προηγούμενα συμπεράσματα και το πρόβλημα παραμένει ΝΡ-πλήρες. Εξωεπίπεδο PSAT Οι Georgakopoulos, Kavvadias και Papadimitriou [10] απέδειξαν ότι το 2PSAT για σύνολο προτάσεων που μπορεί να μετασχηματιστεί σε έξω-επίπεδο γράφημα επιλύεται πολυωνυμικά. Αυτό το πέτυχαν χρησιμοποιώντας δύο άλλα ΝΡ-πλήρη προβλήματα, τα MAXCUT, MAXSAT. Θα περιγράψουμε την διαδικασία της αναγωγής αναλυτικά αλλά πρώτα να δώσουμε τον ορισμό του πρώτου και να θυμίσουμε το δεύτερο. MAXCUT: Δίνεται ένα γράφημα με βάρη στις ακμές και ένας ακέραιος Β. Ζητείται αν υπάρχει τομή στο γράφημα με συνολικό βάρος Β ή μεγαλύτερο. Η τομή είναι ένας διαμοιρασμός των κορυφών σε δύο σύνολα S και Τ και το βάρος της τομής είναι το άθροισμα όλων των βαρών των ακμών που έχουν από μία ακμή - άκρο σε κάθε σύνολο. MAXSAT: Δίνονται m προτάσεις με n μεταβλητές και για κάθε πρόταση C i δίνεται ένα ακέραιο βάρος w i, καθώς και ένας στόχος W. Ζητείται αν υπάρχει

47 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 41 αποτίμηση αλήθειας για τις μεταβλητές τέτοια ώστε το άθροισμα των βαρών των προτάσεων που ικανοποιούνται από αυτήν, να είναι τουλάχιστον ίσο με το W. Αναγωγή του 2MAXSAT στο MAXCUT Θα δείξουμε ότι: Το 2MAXSAT (σε κάθε πρόταση περιέχονται το πολύ δύο μεταβλητές) ανάγεται πολυωνυμικά στο MAXCUT. Κατασκευή: Από στιγμιότυπο του 2MAXSAT κατασκευάζουμε γράφημα με βάρη G(V,E,c) και ένα φράγμα Β ως εξής: Κορυφές τουg: Μία για κάθε προτασιακή μεταβλητή x i, i = 1,..., n και την άρνησή της x i, και μία επιπλέον κορυφή F. Ακμές του G: Θα έχουμε όλες τις ακμές [x i, x i ], i = 1,..., n κάθε μία με αρκετά μεγάλο βάρος Μ, ούτως ώστε κόμβοι που αντιστοιχούν σε αντίθετες μεταβλητές να πηγαίνουν σε διαφορετικό σύνολο ο καθένας. Αν η (a) είναι πρόταση μίας μεταβλητής με βάρος w βάζουμε στο γράφημα την ακμή [F,a] με βάρος w. Αν (a b) είναι μία πρόταση δύο μεταβλητών με βάρος w, προσθέτουμε στο G το τρίγωνο [F,a], [F,b] και [a,b] με κάθε ακμή του τριγώνου να έχει βάρος w. 2 Τέλος, επιλέγουμε ως φράγμα το B=nM+W. Ισχυριζόμαστε ότι το γράφημα έχει βάρος μεγαλύτερο ή ίσο με Β, αν και μόνον αν, υπάρχει αποτίμηση αλήθειας που ικανοποιεί σύνολο προτάσεων με συνολικό βάρος μεγαλύτερο ή ίσο με W. Εστω ότι υπάρχει τομή με F S. Ολες οι n ακμές βάρους Μ συνεισφέρουν nm στο συνολικό βάρος Β της τομής, αφού οι ακμές αυτές θα υπάρχουν στην τομή. Το υπόλοιπο βάρος W προσφέρεται από ακμές που αντιστοιχούν σε προτάσεις. Για αρχή να σκεφτούμε ότι κάθε τρίγωνο, είτε προσφέρει 0 στο συνολικό βάρος, αν όλα τα σημεία του ανήκουν στο S (δεν γίνεται να ανήκουν όλα στο Τ αφού το F S), είτε προσφέρει w + w = w αν έχει μία ή δύο ακμές στο Τ. Κάθε πρόταση, 2 2

48 42 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ λοιπόν, που δεν ανήκουν όλες οι μεταβλητές της στο S, συνεισφέρει το βάρος της στο συνολικό βάρος. Ετσι, θεωρούμε την αποτίμηση αλήθειας των μεταβλητών κατά την οποία όσων μεταβλητών οι κορυφές ανήκουν στο S, παίρνουν την τιμή 0. Παρατηρούμε ότι οι προτάσεις που επαληθεύονται από την αποτίμηση είναι και αυτές που έχουν έστω μία κορυφή στο Τ και έτσι, το τρίγωνό τους συνεισφέρει το βάρος της πρότασης στο συνολικό βάρος της τομής. Αν, τότε, το συνολικό βάρος των προτάσεων που επαληθεύονται είναι τουλάχιστον ίσο με W, τότε και το βάρος της τομής θα είναι τουλάχιστον ίσο με B=nM+W. Ομοια, ισχύει και το αντίστροφο. Εδώ, είναι σημαντικό να αναφέρουμε ότι οι προτάσεις στο 2MAXSAT είναι σε 2 Κανονική Συζευκτική Μορφή (2-CNF). Ακόμα και στην περίπτωση που δεν είναι, μετατρέπονται εύκολα. Η πολυπλοκότητα του MAXCUT Το MAXCUT είναι γνωστό ΝΡ-πλήρες πρόβλημα. Ωστόσο, οι Orlova και Dorfman [19] απέδειξαν ότι μπορεί να λυθεί σε πολυωνυμικό χρόνο για επίπεδα γραφήματα. Επίπεδα γραφήματα είναι αυτά που μπορούν να σχηματιστούν στο επίπεδο με τέτοιο τρόπο, ώστε οι ακμές τους να τέμνονται μόνο στους κόμβους τους. Επίσης, οι Georgakopoulos, Kavvadias και Papadimitriou [10] παραθέτουν α- ναλυτική απόδειξη κατά την οποία αποδεικνύεται ότι: Λήμμα 3.3 Το MAXCUT για επίπεδα γραφήματα, μπορεί να λυθεί σε πολυωνυμικό χρόνο ακόμα και στην περίπτωση που τα βάρη που περιέχει είναι και θετικά και αρνητικά. Μάλιστα ο χρόνος επίλυσης είναι τάξης: O( V 4 ), με V το πλήθος των κόμβων του γραφήματος. Η πολυπλοκότητα του 2PSAT για έξω-επίπεδα και για ακυκλικά σύνολα προτάσεων Εξω-επίπεδα γραφήματα είναι αυτά που είναι επίπεδα και επιπλέον οι κορυφές τους βρίσκονται στην ίδια πλευρά του γραφήματος. Δηλαδή, καμία κορυφή δεν βρίσκεται ανάμεσα σε ακμές. Αν έχουμε ένα σύνολο προτάσεων με το πολύ δύο μεταβλητές σε κάθε πρόταση, μπορούμε να πούμε ότι είναι έξω-επίπεδο, αν μπορούμε από αυτό να κατασκευάσουμε έξω-επίπεδο γράφημα ακολουθώντας την παρακάτω διαδικασία:

49 3.2. Η ΥΠΟΛΟΓΙΣΤΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 43 α) Ολες οι μεταβλητές x i, x i, i = 1,..., n αντιστοιχούν στους κόμβους του γραφήματος. β) Σχηματίζουμε τις ακμές [x i, x i ], i = 1,..., n καθώς και τις [a,b], για a, b μεταβλητές που βρίσκονται στην ίδια πρόταση. Ακυκλικά είναι τα γραφήματα που οι ακμές τους δεν σχηματίζουν κύκλους, δηλαδή τα δέντρα. Αντίστοιχα, μπορούμε να πούμε ότι το 2PSAT είναι ακυκλικό, αν κατασκευάσουμε γράφημα με κορυφές τις μεταβλητές που εμφανίζονται στο 2PSAT και ακμές μόνο ανάμεσα στις κορυφές που εμφανίζονται στην ίδια πρόταση, και το γράφημα που θα προκύψει είναι δέντρο. Αποδεικνύονται, λοιπόν, στους Georgakopoulos, Kavvadias και Papadimitriou [10] το παρακάτω θεώρημα και το επόμενο πόρισμα. Θεώρημα 3.2 Το 2PSAT για έξω-επίπεδα σύνολα προτάσεων μπορεί να λυθεί σε πολυωνυμικό χρόνο Πράγματι, αν το 2PSAT είναι για έξω-επίπεδο σύνολο προτάσεων, αποδεικνύεται ότι το αντίστοιχο στιγμιότυπο του MAXCUT μέσω των αναγωγών 2PSAT- MAXSAT, MAXSAT-MAXCUT, μπορεί να λυθεί σε πολυωνυμικό χρόνο O(n 4 ). Ακόμα, ο ελλειψοειδής αλγόριθμος που ανάγει το 2PSAT στο 2MAXSAT, πραγματοποιεί την αναγωγή σε χρόνο O(m 2 logm(n 4 + m 3 logm))=o(n 6 logn). Πόρισμα 3.3 Το 2PSAT για ακυκλικό σύνολο προτάσεων μπορεί να λυθεί σε πολυωνυμικό χρόνο Αυτό ισχύει, διότι ένα δέντρο είναι έξω επίπεδο γράφημα. Κατά συνέπεια, ένα ακυκλικά σύνολο προτάσεων μπορεί εύκολα να γίνει έξω- επίπεδο, αν δεν είναι ήδη, και τότε να ισχύσει το προηγούμενο θεώρημα. Θα δώσουμε την περιγραφή για να μετατραπεί ένα ακυκλικό σύνολο προτάσεων σε έξω επίπεδο. Αν μια μεταβλητή x έχει βαθμό μεγαλύτερο από d > 1 στο γράφημα, δηλαδή αποτελεί άκρο d ακμών και αντίστοιχα ανήκει σε d 1 προτάσεις, τότε την αντικαθιστούμε με τις μεταβλητές x 1, x 2,..., x d και εισάγουμε επιπλέον προτάσεις τις ( x 1, x 2 ), ( x 2, x 3 ),..., ( x d, x 1 ), όλες με πιθανότητα 1. Και η κάθε μία καινούργια μεταβλητή x j θα αντικαθιστά την x στην πρόταση που πριν βρισκόταν η x με τον αντίστοιχο j-οστό γείτονα της x στο γράφημα. Το καινούριο γράφημα που προκύπτει θα έχει την δομή δέντρου, εκτός από κάθε εσωτερικό κόμβο που θα έχει αντικατασταθεί με τον κύκλο μήκους 2d που περιγράψαμε προηγούμενα με την ει-

50 44 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ σαγωγή των νέων προτάσεων. Επιπλέον, κάθε ακμή αντικαθίσταται από ακμές που ενώνουν όλα τα ζεύγη μεταβλητών που εμφανίζονται στην ίδια πρόταση. Ωστόσο για κάθε ακμή που φεύγει προκύπτουν το πολύ τρεις ακμές γιατί αν υπάρχουν και οι τέσσερις δυνατοί συνδυασμοί δύο μεταβλητών σε προτάσεις, η τέταρτη μπορεί να παραλειφθεί, αφού η πιθανότητά της είναι 3 μείον το άθροισμα των πιθανοτήτων των άλλων άρα 0. Ετσι, οι τρείς ακμές που αντικαθιστούν κάθε ακμή του δέντρου μπορούν να σχεδιαστούν με τέτοιο τρόπο ώστε το γράφημα να είναι έξω-επίπεδο και να ισχύσουν όσα ισχύουν για έξω-επίπεδα γραφήματα. 3.3 Το αντίστροφο πρόβλημα των Συχνών Στοιχειοσυνόλων Ενα πολύ ενδιαφέρον πρόβλημα, που ανάγεται στο πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας, είναι το αντίστροφο πρόβλημα της Εξόρυξης των Συχνών Στοιχειοσυνόλων ή Inverse Frequent Itemset Mining. Το πρόβλημα αυτό προέρχεται από τον τομέα της Εξόρυξης Δεδομένων. Προκειμένου να γίνει πιο κατανοητό το τι διαπραγματεύεται, θα πάρουμε τα πράγματα με την σειρά. Για αρχή, θα αναφέρουμε τον όρο «Transaction Database», που σημαίνει Βάση Δεδομένων Συναλλαγών. Οι βάσεις αυτές, είναι βάσεις δεδομένων που αφορούν τις συναλλαγές που πραγματοποιούνται σε ένα σύνολο στοιχείων. Μία τέτοια συναλλαγή είναι δυνατό να αφορά οποιοδήποτε υποσύνολο των στοιχείων του συνόλου και στο εξής θα το ονομάζουμε στοιχειοσύνολο. Για παράδειγμα, θα μπορούσαμε να θεωρήσουμε σαν βάση δεδομένων συναλλαγών τις αγορές που πραγματοποιούνται σε ένα ηλεκτρονικό κατάστημα. Οπως είναι λογικό, κάθε συναλλαγή μπορεί να αφορά περισσότερα του ενός προϊόντα του καταστήματος και έτσι, έχει νόημα ο όρος στοιχειοσύνολα στο παράδειγμά μας. Είναι ξεκάθαρο ότι, στο παράδειγμα μας, αλλά και σε άλλα αντίστοιχα παραδείγματα, είναι σημαντικό να γνωρίζουμε ποια είναι το στοιχειοσύνολα εκείνα που συμμετέχουν στις περισσότερες συναλλαγές. Ετσι, προκύπτει το πρόβλημα της εύρεσης των συχνών στοιχειοσυνόλων (Frequent Itemset Mining). Ωστόσο, εμείς θα ασχοληθούμε με το αντίστροφο πρόβλημα, στο οποίο μας δίνονται κάποια στοιχειοσύνολα συνοδευόμενα από τους περιορισμούς συχνότητάς τους και ζητείται να απαντήσουμε αν υπάρχει βάση δεδομένων, που οι συναλλαγές που πραγματοποιούνται σε αυτή, να ικανοποιούν τους περιορισμούς συχνότητας. Θα ορίσουμε, τώρα, το πρόβλημα πιο αυστηρά.

51 3.3. ΤΟ ΑΝΤΙΣΤΡΟΦΟ ΠΡΟΒΛΗΜΑ ΤΩΝ ΣΥΧΝΩΝ ΣΤΟΙΧΕΙΟΣΥΝΟΛΩΝ45 Εστω, I ένα πεπερασμένο σύνολο στοιχείων, μία συναλλαγή στο I είναι ένα ζεύγος (id, J), όπου id είναι ο ταυτοποιητής της συναλλαγής με id N και J ένα υποσύνολο του I. Μία βάση δεδομένων συναλλαγών για το I είναι ένα σύνολο από τέτοιες συναλλαγές, όπου δύο συναλλαγές δεν μπορούν να έχουν τον ίδιο ταυτοποιητή. Εστω τώρα, ένα στοιχειοσύνολο A. Λέμε ότι η συναλλαγή (id, J) περιέχει το A, αν A J. Η υποστήριξη (support) του A στο D, γράφεται sup(a, D) και εκφράζει τον απόλυτο αριθμό συναλλαγών του D που περιέχουν το A. Η συχνότητα (frequency) του A στο D, γράφεται freq(a, D) και είναι το πηλίκο του sup(a, D) προς το πλήθος των συναλλαγών του D. Τέλος, το D είναι η βάση δεδομένων συναλλαγών του συνόλου I. Ενας περιορισμός συχνότητας είναι μία έκφραση της μορφής f req(a) [l, u], όπου A στοιχειοσύνολο και 0 l, u 1. Ο Calders στο άρθρο του «Itemset frequency satisfiability: Complexity and axiomatization»[4] αποδεικνύει ότι αντί για διάστημα τιμών στους περιορισμούς, μπορούμε να χρησιμοποιήσουμε μία ακριβή τιμή χωρίς να μεταβληθούν οι ιδιότητες ή η πολυπλοκότητα του προβλήματος. Ετσι, προκύπτει το αντίστροφο πρόβλημα της εξόρυξης συχνών στοιχειοσυνόλων, ως εξής: FREQSAT: Δίνεται ένα σύνολο περιορισμών συχνοτήτων C = {freq(a j ) = f j, j = 1,..., m} και ζητείται, αν υπάρχει βάση δεδομένων συναλλαγών D στο m j=1 A j, που ικανοποιεί το σύνολο C. Ο T Mielikäinen το 2003 στο άρθρο του: «On Inverse Frequent Set Mining»[15] μελέτησε την πολυπλοκότητα του προβλήματος της Αντίστροφης Εξόρυξης Συχνών Στοιχειοσυνόλων και απέδειξε ότι πρόκειται για ΝΡ-πλήρες πρόβλημα. Με την πολυπλοκότητα του προβλήματος ασχολήθηκε ένα χρόνο μετά και ο Calders στο «Itemset frequency satisfiability: Complexity and axiomatization»[4] και α- κόμα προχώρησε και σε μία ενδιαφέρουσα, για εμάς, αναγωγή. Ανήγαγε το PSAT στο FREQSAT. Με μία πιο προσεκτική ματιά, μπορεί κανείς να δει ότι υπάρχει μία αντιστοιχία ανάμεσα στο δύο προβλήματα. Για την ακρίβεια, το αντίστροφο πρόβλημα της Εξόρυξης Συχνών Στοιχειοσυνόλων είναι ειδική περίπτωση του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας. Πράγματι, αν θεωρήσουμε ένα στιγμιότυπο C του αντιστρόφου προβλήματος της αναζήτησης συχνών στοιχειοσυνόλων, τότε μπορούμε να αντιστοιχίσουμε κάθε

52 46 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ στοιχείο του συνόλου I = m j=1 A j, σε μία προτασιακή μεταβλητή x i. Ετσι, μπορούμε να θεωρήσουμε της λογικές προτάσεις: φ j = ( x i ), j = 1,..., m i A j και επιπλέον, να θέσουμε π j = f j, j = 1,..., m. Προκύπτει, με τον τρόπο αυτό, ένα στιγμιότυπο του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας PSAT(C). Ακόμα, να θυμηθούμε ότι για τους περιορισμούς συχνότητας f j ισχύει 0 f j 1, j = 1,..., m και έτσι, διατηρούμε και τους περιορισμούς των πιθανοτήτων π j στο Probabilistic Satisfiability. Ο T. Calders στο [4] αποδεικνύει τα ακόλουθα: Θεώρημα 3.3 Το C είναι στιγμιότυπο του FREQSAT, αν και μόνο αν, το PSAT(C) είναι στιγμιότυπο του PSAT. Λήμμα 3.4 Κάθε στιγμιότυπο του PSAT(C) είναι ικανοποιήσιμο, αν και μόνο αν, υπάρχει βάση δεδομένων συναλλαγών που ικανοποιεί τους περιορισμούς συχνοτήτων του C. Ακόμα στο [4] πραγματοποιείται αναγωγή και για την περίπτωση που οι περιορισμοί συχνοτήτων των στοιχειοσυνόλων είναι διαστήματα τιμών και όχι ακριβείς τιμές. Μετά από όσα περιγράψαμε, αφού το πρόβλημα της Πιθανοτικής Ικανοποιησιμότητας είναι ΝΡ-πλήρες, το ίδιο θα ισχύει και για το αντίστροφο του προβλήματος της Εξόρυξης Συχνών Στοιχειοσυνόλων. Επομένως, έχουμε το ακόλουθο πόρισμα: Πόρισμα 3.4 Το FREQSAT είναι ΝΡ-πλήρες. Μάλιστα, οι Wang και Wu στο άρθρο τους»approximate inverse frequent itemset mining: Privacy, complexity, and approximation«[28], έδειξαν ότι το πρόβλημα είναι ΝΡ-δύσκολο ακόμα και για προσεγγιστική επίλυση. Να σημειώσουμε, ωστόσο, ότι το στιγμιότυπο της Πιθανοτικής Ικανοποιησιμότητας που προκύπτει από τον παραπάνω μετασχηματισμό έχει μόνο τον λογικό σύνδεσμο της σύζευξης στις προτάσεις και επιπλέον, οι μεταβλητές εμφανίζονται

53 3.3. ΤΟ ΑΝΤΙΣΤΡΟΦΟ ΠΡΟΒΛΗΜΑ ΤΩΝ ΣΥΧΝΩΝ ΣΤΟΙΧΕΙΟΣΥΝΟΛΩΝ47 πάντα μη αρνητικές. Οι ιδιότητες αυτές μας οδηγούν σε έναν πολύ αραιό πίνακα και είναι ενδιαφέρον να εξεταστεί αν μπορούν να χρησιμοποιηθούν για να διευκολύνουν την διαδικασία της επίλυσης. Στο Κεφάλαιο 5 θα επανέλθουμε στο αντίστροφο πρόβλημα της Εξόρυξης Συχνών Στοιχειοσυνόλων προκειμένου να εξετάσουμε κάποιες ενδιαφέρουσες προσεγγίσεις.

54 48 3. ΠΙΘΑΝΟΤΙΚΗ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ: ΤΟ ΠΡΟΒΛΗΜΑ

55 4 Πρακτική Επίλυση της Πιθανοτικής Ικανοποιησιμότητας Σε αυτό το κεφάλαιο, θα μας απασχολήσει η πρακτική επίλυση του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας. Στην προσπάθειά μας αυτή, θα απευθυνθούμε στο λογισμικό πακέτο IBM ILOG CPLEX Optimization Studio, ή πιο σύντομα CPLEX. Πρόκειται για ένα λογισμικό πακέτο βελτιστοποίησης και το όνομά του προκύπτει από την μέθοδο SimPLEX εφαρμοσμένη στην γλώσσα προγραμματισμού C. Ο βελτιστοποιητής IBM ILOG CPLEX μπορεί να επιλύσει προβλήματα ακέραιου προγραμματισμού, κυρτού και μη-κυρτού τετραγωνικού προγραμματισμού και άλλα, ωστόσο, εμάς μας ενδιαφέρει διότι μπορεί να αντιμετωπίσει και να λύσει πολύ μεγάλα προβλήματα γραμμικού προγραμματισμού. Το λογισμικό πακέτο CPLEX αποτελείται από τρία κομμάτια. Διαθέτει: 1. Εναν διαδραστικό βελτιστοποιητή, ο οποίος μπορεί να διαβάσει ένα πρόβλημα δοσμένο σε συγκεκριμένη μορφή, είτε διαδραστικά, είτε από κάποιο φάκελο και να προχωρήσει στην επίλυση προσφέροντας την λύση διαδραστικά ή σε φάκελο κειμένου. 2. Την τεχνολογία Concert που δίνει την δυνατότητα σε προγραμματιστές να επεκτείνουν τον βελτιστοποιητή CPLEX σε γλώσσες όπως η C++ και η JAVA. 3. Την βιβλιοθήκη CPLEX Callable Library που δίνει την δυνατότητα για ε- 49

56 50 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ πέκταση σε γλώσσες όπως οι C, Visual Basic, Fortran και γενικά όσες καλούν συναρτήσεις της γλώσσας C. Η επιλογή του συγκεκριμένου βελτιστοποιητή έγινε γιατί μπορεί να διαχειριστεί, χωρίς ιδιαίτερη δυσκολία μεγάλα προβλήματα με εκατομμύρια περιορισμών και μεταβλητών. Επίσης, μας δίνει την δυνατότητα σε όλη την διάρκεια της επίλυσης να έχουμε πρόσβαση σε παραμέτρους εξαιρετικά χρήσιμες, όπως η τιμή της αντικειμενικής συνάρτησης, οι δυϊκές τιμές των περιορισμών, τα οριακά κόστη κ.λ.π. Το λογισμικό πακέτο CPLEX πραγματοποιεί την επίλυση των προβλημάτων ακολουθώντας τα βήματα του αλγορίθμου Simplex, όπως τον περιγράψαμε νωρίτερα. Δίνει, ωστόσο, μία ευρεία γκάμα δυνατοτήτων και επιλογών προκειμένου να μπορέσει ο χρήστης να επηρεάσει την διαδικασία της επίλυσης προκειμένου να α- ποφύγει διάφορα προβλήματα. Πρέπει, εδώ, να σημειώσουμε ότι το CPLEX είναι αρκετά στιβαρό και έχει σχεδιαστεί ώστε να αποφεύγει προβλήματα που είναι πιθανό να συμβούν κατά την εκτέλεση του αλγορίθμου της μεθόδου Simplex, όπως η διακοπή της διαδικασίας λόγω εκφυλισμού των λύσεων ή η αέναη επανάληψη. Παρόλα αυτά, οι επιπλέον επιλογές δίνουν μία μεγαλύτερη ασφάλεια. Να αναφέρουμε ακόμα ότι ελέγχεται και η πυκνότητα ή η αραιότητα του πίνακα των συντελεστών των περιορισμών προκειμένου να γίνει καλύτερη διαχείριση της μνήμης που θα χρησιμοποιηθεί. Αν ακόμα για κάποιο λόγο, η μνήμη που είναι διαθέσιμη είναι περιορισμένη, τότε το CPLEX κάνει κατάλληλες προσαρμογές και πάλι, ανταποκρίνεται στο πρόβλημα θυσιάζοντας όμως την ταχύτητα της διαδικασίας. Η εγκατάσταση του λογισμικού πακέτου CPLEX είναι απλή διαδικασία αλλά απαιτεί προσοχή σε συγκεκριμένα σημεία. 1. Για μηχανές Linux χρειαζόμαστε το αρχείο της μορφής.bin και επιλέγουμε για 32-bit ή για 64-bit, ανάλογα με την πλατφόρμα που χρησιμοποιούμε. Επειτα, ανοίγουμε το Terminal και χρησιμοποιούμε την εντολή «chmod +x cplex_studioxxx.linux-x86.bin», αν το αρχείο δεν είναι άμεσα εκτελέσιμο, προκειμένου να αλλάξουμε τις «άδειες». Αφού κάνουμε το αρχείο εκτελέσιμο, χρησιμοποιούμε την εντολή «./cplex _studioxxx.linux-x86.bin», για να ξεκινήσει η εγκατάσταση. Κατά την διάρκειά της, θα κληθούμε να απαντήσουμε σε καποιες ερωτήσεις πρακτικής φύσεως, όπως η επιλογή της γλώσσας που θα χρησιμοποιήσουμε ή το μονοπάτι στο οποίο θα εγκατασταθεί το CPLEX. Η τελευταία επιλογή είναι ιδιαίτερα σημαντική καθώς, στηριζόμενοι σε αυτό το μονοπάτι, θα μπορέσουμε

57 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 51 αργότερα να χρησιμοποιήσουμε την πλατφόρμα, είτε μέσω της διαδραστικής επιφάνειας, είτε με χρήση της Callable Library. 2. Για μηχανές Windows, η διαδικασία εγκατάστασης είναι πολύ πιο απλή. Επιλέγουμε το.exe αρχείο που χρειαζόμαστε ανάλογα αν πρόκειται για μηχανή 32-bit ή 64-bit και επιλέγουμε την εντολή «εκτέλεση». Το αρχείο θα πραγματοποιήσει την εγκατάσταση του CPLEX, το οποίο μπορούμε να βάλουμε και ως συντόμευση στην επιφάνεια εργασίας. Πρέπει όμως, και εδώ, να είμαστε προσεκτικοί με το μονοπάτι εγκατάστασης καθώς, θα το χρησιμοποιήσουμε όταν θα επιχειρήσουμε να καλέσουμε το CPLEX χρησιμοποιώντας είτε την Callable Library, είτε την τεχνολογία Concert. Πρέπει ακόμα να αναφέρουμε ότι είναι ιδιαίτερα σημαντικό ο χρήστης που θέλει να χρησιμοποιήσει το CPLEX μέσω της Callable Library, είτε της τεχνολογίας Concert, να χρησιμοποιεί σαν μεταγλωττιστή το «Visual Studio 2005» ή το «Visual Studio 2008» αφού οι βιβλιοθήκες γλωσσών του CPLEX για τα Windows είναι συμβατές μόνο με αυτές τις δύο εκδόσεις μεταγλωττιστών. 4.1 Η διαδραστική επιφάνεια Η διαδραστική επιφάνεια του CPLEX για μηχανή Linux δεν είναι τόσο ενδιαφέρουσα όσο αυτή των Windows, κυρίως από την άποψη των γραφικών και της ευκολίας με την οποία έχει ο χρήστης πρόσβαση στις εντολές και τα εργαλεία. Για να είμαστε πιο ακριβείς, ο χρήστης των Linux βλέπει ένα μαύρο παράθυρο όπως το terminal, αφού μέσω Terminal ανοίγει το CPLEX, και χρησιμοποιεί το περιβάλλον πληκτρολογώντας εντολές. Αντίθετα στα Windows το παράθυρο που ανοίγει, έχει πλούσια γραφικά και χωρίζεται σε πεδία, το καθένα απο τα οποία εξυπηρετεί έναν σκοπό. Επιπλέον, οι περισσότερες εντολές υπάρχουν σε εικονίδιο, οπότε τις επιλέγει κανείς με ένα «κλικ» και όλα τα στοιχεία του προβλήματος που επιλύεται εμφανίζονται σε ξεχωριστά πεδία στην οθόνη προς άμεση διαχείριση. Η πρώτη επιφάνεια που βλέπουμε ανοίγοντας πρώτη φορά το CPLEX είναι η επόμενη:

58 52 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Αν σύρουμε τον κέρσορα πάνω στα τέσσερα εικονίδια στο κέντρο, θα δούμε: 1. 2.

59 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ Και πατώντας πάνω στα εικονίδια μπορούμε να αποκτήσουμε πρόσβαση σε περιγραφές, οδηγούς χρήσης, παραδείγματα και νέα που αφορούν το λογισμικό πακέτο CPLEX. Είναι σημαντικό να αναφέρουμε ότι το CPLEX παρέχει πολύ πλούσιους οδηγούς χρήσης. Διαθέτουν πλήθος παραδειγμάτων και αναλυτικών οδηγιών με σχεδιαγράμματα ενώ είναι οργανωμένοι με τέτοιο τρόπο ώστε ο χρήστης ανά πάσα στιγμή να έχει πρόσβαση σε κάθε πληροφορία. Αν, τώρα, επιλέξουμε το εικονίδιο πάνω δεξιά:

60 54 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ θα βρεθούμε στην επιφάνεια εργασίας (διαδραστική επιφάνεια) του CPLEX, οποία πριν συντελεστεί κάποια εργασία έχει την ακόλουθη μορφή: η Στο πάνω μέρος της επιφάνειας, μπορούμε να δούμε ότι υπάρχουν δύο μπάρες εργασίας. Η πρώτη είναι η μπάρα του Menu και η δεύτερη περιέχει εικονίδια με τα οποία μπορούμε να επιλέξουμε και να φορτώσουμε φακέλους, να εκτελέσουμε ένα πρόγραμμα κ.λ.π. Ακολουθεί μία πιο καθαρή εικόνα από τις δύο αυτές μπάρες: Στα αριστερά της επιφάνειας υπάρχουν δύο πεδία. Αυτό που βρίσκεται πιο πάνω ονομάζεται «OPL Project Navigator» και αρχειοθετεί τα προγράμματα (μοντέλο προβλήματος και δεδομένα) τις ρυθμίσεις κάθε προβλήματος και τις διαμορφώσεις προς υλοποίηση. Από κατω βρίσκεται το πεδίο «Problem Browser», στο οποίο εμφανίζεται το στιγμιότυπο του προβλήματος, οι τιμές της λύσης και άλλα. Στο κέντρο της εικόνας, βρίσκεται η «Editing Area», όπου εισάγουμε τον κώδικα για το μοντέλο, τα δεδομένα και τις ρυθμίσεις. Στα δεξιά βρίσκεται το πεδίο

61 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 55 «Outline», που αν είναι ενεργό παρουσιάζει την δομή του επιλεγμένου φακέλου στο πεδίο «OPL Project Navigator». Στο κάτω μέρος της διαδραστικής επιφάνειας βρίσκεται η περιοχή «Output Area», στην οποία εμφανίζεται η λύση, τυχόν σφάλματα, διάφορες πληροφορίες για την μέθοδο επίλυσης κ.α. Η τελευταία μπάρα της επιφάνειας ονομάζεται «Status Bar» και όσο δεν έχουμε καλέσει το CPLEX να μας επιλύσει κάποιο πρόβλημα έχει αυτή την μορφή: Μας δίνει, δηλαδή, την επιλογή να μεταβούμε σε οποιοδήποτε από τα πεδία της επιφάνειας που συναντήσαμε, όταν πρωτοανοίξαμε την διαδραστική επιφάνεια. Οταν θα τρέξουμε κάποιο παράδειγμα θα προκύψουν κάποια επιπλέον στοιχεία στην «Status Bar» και θα τα αναλύσουμε τότε. Προκειμένου, τώρα, να δούμε πως ανταποκρίνεται η διαδραστική επιφάνεια του CPLEX θα θυμηθούμε το παράδειγμα 1 που αναφέραμε στο Κεφάλαιο 3. Μία έρευνα που πραγματοποιήθηκε σε ένα σχολείο πάνω στις επιδόσεις των μαθητών στα μαθήματα των μαθηματικών, της φυσικής, της ιστορίας και των καλλιτεχνικών ισχυρίζεται τα ακόλουθα: 1. Το 46% των μαθητών τα πηγαίνει καλά στη φυσική δεν τα πηγαίνει καλά στην ιστορία. 2. Το 85% των μαθητών είναι καλοί στην φυσική ή στα μαθηματικά. 3. Το 68% των μαθητών είναι καλοί στο μάθημα των μαθηματικών ή/και στο μάθημα των καλλιτεχνικών. 4. Το 24% των μαθητών είναι καλοί στα μαθήματα της ιστορία και της φυσικής, αλλά όχι και στο μάθημα των καλλιτεχνικών. Το ερώτημα που προκύπτει είναι αν υπάρχει κατανομή πιθανότητας για τις προτάσεις, η οποία να ικανοποιεί τα παραπάνω αποτελέσματα και αν οι παρατηρήσεις αυτές είναι συνεπείς.

62 56 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Προκειμένου να ορίσουμε το γενικό μοντέλο του προβλήματος, το οποίο μπορεί να ανταποκριθεί σε κάθε στιγμιότυπο, αλλά και το αρχείο δεδομένων, χρησιμοποιούμε την γλώσσα OPL(Optimization Programming Language) η οποία μοιάζει αρκετά στην λογική με την γλώσσα προγραμματισμού C. Στην OPL δεν θα αναφερθούμε περισσότερο τώρα, αλλά αν κάποιος ενδιαφέρεται, μπορεί να βρει αναλυτικές οδηγίες στους οδηγούς χρήσης του CPLEX. 1. Λύση του προβλήματος Απόφασης Ας το εξετάσουμε, για αρχή, στην μορφή απόφασης, προκειμένου να μπορέσουμε να απαντήσουμε αν τα στοιχεία που μας δόθηκαν είναι συνεπή. Για τον λόγο αυτό θα εισάγουμε μία αντικειμενική συνάρτηση, προς ελαχιστοποίηση, με συντελεστές 1. Αν το CPLEX καταλήξει σε λύση, μπορούμε να απαντήσουμε ότι τα στοιχεία που μας δόθηκαν είναι συνεπή. Για αρχή, θα δώσουμε ένα γενικό μοντέλο του προβλήματος που μπορεί να χρησιμοποιηθεί σε κάθε παράδειγμα του προβλήματος της Πιθανοτικής Ικανοποιησιμότητας σε ένα φάκελο της μορφής.mod: int prop =...; int worlds =...; range r1=1..prop; range w1=1..worlds; float a[r1][w1]=...; dvar float dp[w1]; float p[r1]=...; float c[w1]=...; minimize sum(col in w1) (c[col]*dp[col]); subject to forall(row in r1)

63 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 57 sum(col in w1) (a[row][col]*dp[col])==p[row]; forall(row in r1) (p[row])>= 0; forall(row in r1) (p[row])<= 1; forall(col in w1) (dp[col])>= 0; forall(col in w1) (dp[col])<= 1; Οπου ο όρος prop αναφέρεται στο πλήθος των προτάσεων, ο όρος worlds σε όλους τους δυνατούς συνδυασμούς αποτίμησης των μεταβλητών, ο πίνακας a περιέχει τις αποτιμήσεις αλήθειας των προτάσεων για κάθε πιθανό κόσμο, το διάνυσμα p είναι το διάνυσμα των πιθανοτήτων που συνοδεύουν τις προτάσεις, το διάνυσμα c είναι το διάνυσμα των συντελεστών τις αντικειμενικής συνάρτησης και dp είναι το ζητούμενο διάνυσμα της πιθανοτικής κατανομής που αναφέρεται στους «πιθανούς κόσμους» μας. Εισάγουμε τα δεδομένα, για το συγκεκριμένο παράδειγμα, σε ένα αρχείο της μορφής.dat ως εξής: rows = 5; collumns = 16; a = [[0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]; p = [0.46, 0.85, 0.68, 0.24, 1.00]; c = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];

64 58 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Δημιουργείται και ένα αρχείο, που το όνομά του τελειώνει σε.ops, για το πρόβλημα και στο αρχείο αυτό ο χρήστης ανάμεσα σε μεγάλο πλήθος επιλογών εφαρμόζει τις ρυθμίσεις που εκείνος επιθυμεί για την επίλυση του προβλήματος. Για παράδειγμα, κάποιες από αυτές τις ρυθμίσεις θα μπορούσαν να είναι τα όρια ακρίβειας που επιθυμούμε, ο τρόπος που θα γίνει η αναζήτηση, η διαχείριση της μνήμης, και άλλα πολλά. Ετσι, στο πεδίο «OPL Project Navigator» εμφανίζεται ένα δένδρο για το πρόβλημά μας που περιέχει το αρχείο.mod και το αρχείο.ops. Εισάγουμε και το αρχείο.dat και πρωτού προχωρήσουμε στην επίλυση χρειάζεται μία ακόμα ρύθμιση. Πρέπει να ορίσουμε την διαμόρφωση επίλυσης(run Configuration). Εμείς έχουμε επιλέξει τις προεπιλεγμένες ρυθμίσεις του συστήματος(default Configuration). Ετσι, αυτό που βλέπουμε στην επιφάνεια του CPLEX αφού κατασκευάσουμε όλα τα αρχεία του προβλήματος είναι: Βλέπουμε, ότι στον «OPL Project Navigator» το δένδρο του προβλήματός μας, με τις ρυθμίσεις προς επίλυση που έχουμε δώσει, έχει διαμορφωθεί ως εξής:

65 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 59 Ζητάμε από το CPLEX να λύσει το πρόβλημα, είτε πατώντας το εικονίδιο ε- κτέλεσης από την μπάρα, είτε από τις επιλογές της Run Configuration. Κατά την διάρκεια επίλυσης, έχει ενδιαφέρον να δούμε πως διαμορφώνεται η «Status Bar». Εχουν εμφανιστεί δύο νέα εικονίδια:

66 60 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Το πρώτο μας δείχνει ότι έχουμε επιλέξει ένα αντικείμενο προς εκτέλεση, ενώ το δεύτερο και πιο σημαντικό, μας δείχνει ποιο πρόβλημα επιλύεται και επιπλέον σε ποιο ποσοστό βρίσκεται η επίλυση του προβλήματος. Αφού το CPLEX λύσει το πρόβλημα, παίρνουμε τα εξής: Επομένως, στην περιοχή του «Problem Browser» (κάτω αριστερά), παίρνουμε την λύση του προβλήματος και πάνω δεξια στην περιοχή «Outline» δίνονται πληροφορίες για την δομή των αρχείων των μορφών.mod και.dat. Τέλος, το πεδίο με το περισσότερο ενδιαφέρον είναι η «Output Area» όπου παίρνουμε αναλυτικές πληροφορίες για την λύση στην επιλογή «Solutions» ενώ στις επιλογές «Engine Log», «Statistics» και «Profiler» μπορούμε να πάρουμε ακόμα περισσότερες λεπτομέρειες και χρήσιμα στατιστικά στοιχεία. Η αναλυτική λύση που παίρνουμε από το πεδίο «Solutions» είναι η ακόλουθη: // solution (optimal) with objective 1 // Quality There are no bound infeasibilities. // There are no reduced-cost infeasibilities. // Maximum Ax-b residual = e-016 // Maximum c-b pi residual = 0 // Maximum x = 0.29

67 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 61 // Maximum slack = 1 // Maximum pi = 1 // Maximum red cost = 1 // Condition number of unscaled basis = 6.4e+001 // dp = [ ]; Στην πρώτη σειρά της λύσης, βλέπουμε την τιμή της αντικειμενικής συνάρτησης, η οποία είναι 1. Είναι λογικό, διότι, είχαμε δώσει σε όλες τις συνιστώσες του διανύσματος c, την τιμή 1. Ωστόσο, στην συγκεκριμένη εφαρμογή, η τιμή της αντικειμενικής συνάρτησης σίγουρα δεν είναι αυτό που μας ενδιαφέρει. Ενδιαφερόμαστε, περισσότερο, για την τελευταία σειρά της λύσης η οποία μας δίνει το διάνυσμα της πιθανοτικής κατανομής. Η τιμή των συνιστωσών του διανύσματος έχει μικρή σημασία. Αυτό που έχει σημασία είναι ότι υπάρχει το διάνυσμα της πιθανοτικής κατανομής γιατί τότε μπορούμε να πούμε ότι οι τιμές των πιθανοτήτων που πήραμε είναι συνεπείς. Ας δούμε, τώρα, τι θα μας έδινε το CPLEX στην περίπτωση που τα δεδομένα μας δεν ήταν συνεπή. Εστω ότι, το διάνυσμα p των πιθανοτήτων είναι το p = [0.62, 0.35, 0.57, 0.20, 1.00]; Δηλαδή, έχουμε ακριβώς το ίδιο παράδειγμα μόνο που αλλάζουν οι τιμές των πιθανοτήτων που αντιστοιχούν στις προτάσεις. Αν προσπαθήσουμε, τώρα, να λύσουμε το πρόβλημα ακριβώς με την ίδια διαδικασία που ακολουθήθηκε νωρίτερα, αλλάζοντας μόνο το διάνυσμα p, δεν θα πάρουμε απολύτως κανένα αποτέλεσμα στην επιλογή «Solutions» του πεδίου «Output Area». Στο πεδίο «Problem Browser» θα πάρουμε το εξής αποτέλεσμα:

68 62 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Αυτό σημαίνει ότι, δεν υπάρχει τιμή της πιθανοτικής κατανομής που να ικανοποιεί τους περιορισμούς. Ετσι, για το συγκεκριμένο παράδειγμα, μπορούμε να απαντήσουμε ότι τα δεδομένα δεν είναι συνεπή. Εχει επίσης ενδιαφέρον και η πληροφορία που παίρνουμε από την επιλογή «Engine Log» του πεδίου «Output Area». Μας πληροφορεί ότι το πρόβλημα κατά την επίλυση εμφανίστηκε εξαιτίας τις όγδοης μεταβλητής της αντικειμενικής συνάρτησης την οποία δεν μπόρεσε ο αλγόριθμος να αντικαταστήσει στην βάση. 2. Λύση του προβλήματος Βελτιστοποίησης Ας επιστρέψουμε, πάλι, στο παράδειγμα 1 και ας θυμηθούμε την μορφή βελτιστοποίησής του. Είχαμε προσθέσει μία πρόταση την L 6 = (x 0 x 2 ) με άγνωστη πιθανότητα p 6, και ζητούσαμε να βρεθεί η ελάχιστη τιμή της πιθανότητας αυτής. Για να το λύσουμε χρησιμοποιούμε το ίδιο μοντέλο του προβλήματος όπως το ορίσαμε νωρίτερα και αλλάζουμε λίγο τα δεδομένα. Στην ουσία, αντικαθιστούμε το διάνυσμα c με ένα καινούριο το οποίο έχει συνιστώσες την αποτίμηση αλήθειας που έχει η καινούρια πρόταση L 6 για κάθε δυνατό συνδυασμό των αληθοτιμών των μεταβλητών. Ετσι, c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1] Και τα δεδομένα μας θα είναι τα εξής:

69 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 63 rows = 5; collumns = 16; a = [[0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]; p = [0.46, 0.85, 0.68, 0.24, 1.00]; c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1]; Επιλύωντας το πρόβλημα με την βοήθεια του CPLEX, παίρνουμε την λύση: // solution (optimal) with objective 0 // Quality There are no bound infeasibilities. // There are no reduced-cost infeasibilities. // Maximum Ax-b residual = e-016 // Maximum c-b pi residual = 0 // Maximum x = 0.29 // Maximum slack = 1 // Maximum pi = 1 // Maximum red-cost = 1 // Condition number of unscaled basis = 6.4e+001 // dp = [ ]; Παρατηρούμε ότι, το διάνυσμα της πιθανοτικής κατανομής είναι παρόμοιο με πριν μόνο που έχει εισάγει στήλες, ναι μεν όμοιες αλλά, με διαφορετικό αριθμό στην βάση. Επίσης, βλέπουμε ότι η τιμή της αντικειμενικής συνάρτησης είναι 0. Αυτό συνέβη διότι το διάνυσμα των συντελεστών της αντικειμενικής συνάρτησης είναι πολύ αραιό, δηλαδή περιέχει πολλού όρους με την τιμή μηδέν. Ετσι, ο αλγόριθμος προκειμένου να πετύχει την ελάχιστη τιμή είχε την «πολυτέλεια» να επιλέξει να εισάγει στην βάση, στήλες που αντιστοιχούσαν σε συντελεστή με τιμή 0 στην αντικειμενική συνάρτηση.

70 64 4. ΠΡΑΚΤΙΚΗ ΕΠΙΛΥΣΗ ΤΗΣ ΠΙΘΑΝΟΤΙΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ Ας δούμε, τώρα, και ένα λίγο διαφορετικό παράδειγμα όπου το διάνυσμα των συντελεστών της αντικειμενικής συνάρτησης δεν θα είναι τόσο αραιό. Εστω, ότι έχουμε την καινούρια πρόταση L 6 = (x 0 x 2 ) και αναζητούμε την άγνωστη πιθανότητα p 6 που την συνοδεύει. Το διάνυσμα c των συντελεστών της αντικειμενικής συνάρτησης για την καινούρια πρόταση L 6, είναι το c = [1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1] Κρατώντας ακριβώς το ίδιο μοντέλο, με τα καινούρια δεδομένα: rows = 5; collumns = 16; a = [[0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]; p = [0.46, 0.85, 0.68, 0.24, 1.00]; c = [1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]; Παίρνουμε την λύση: // solution (optimal) with objective 0.46 // Quality There are no bound infeasibilities. // There are no reduced-cost infeasibilities. // Maximum Ax-b residual = e-017 // Maximum c-b pi residual = 0 // Maximum x = 0.32 // Maximum slack = 1 // Maximum pi = 1

71 4.1. Η ΔΙΑΔΡΑΣΤΙΚΗ ΕΠΙΦΑΝΕΙΑ 65 // Maximum red-cost = 1 // Condition number of unscaled basis = 6.4e+001 // dp = [ ]; Παρατηρούμε ότι, τώρα, η τιμή της αντικειμενικής συνάρτησης είναι Ε- ίναι διαφορετική από το μηδέν διότι ο αλγόριθμος δεν μπορούσε να αποφύγει να εισάγει στην βάση στήλες που αντιστοιχούν σε τιμή 1 στην αντικειμενική συνάρτηση, λόγω της πυκνότητας του διανύσματος c. Επίσης, βλέπουμε ότι το διάνυσμα της πιθανοτικής κατανομής, για πρώτη φορά, έχει διαφορετικές τιμές στις συνιστώσες του. Αυτό συνέβη διότι οι στήλες της βάσης είναι πλέον διαφορετικές και οι νέες προέκυψαν στην προσπάθειες ελάττωσης της τιμής της αντικειμενικής συνάρτησης. Μέγεθος Προβλήματος Το μέγεθος του παραδείγματος που χρησιμοποιήσαμε είναι αρκετά μικρό. Αυτό έγινε για λόγους πρακτικούς. Στην ουσία, θέλαμε να μπορούμε να έχουμε μία γενική εποπτεία στο πρόβλημα, προκειμένου, να μπορέσουμε να ερμηνεύσουμε πιο απλά και κατανοητά τα διάφορα αποτελέσματα. Πρέπει, ωστόσο, να τονίσουμε ότι η διαδραστική επιφάνεια του CPLEX δεν εμφάνισε κανένα πρόβλημα όταν κλήθηκε να ανταποκριθεί σε πολύ μεγαλύτερα, από άποψη μεγέθους, προβλήματα. Ωστόσο, υπήρχε πάντα η πρακτική δυσκολία του υπολογισμού όλων των «πιθανών κόσμων», καθώς, και των αληθοτιμών που θα πάρουν οι προτάσεις για κάθε έναν από αυτούς. Μπορούμε να χρησιμοποιήσουμε κάποια γλώσσα προγραμματισμού προκειμένου να φτιάξουμε έναν κώδικα, ο οποίος διαβάζοντας τις προτάσεις, να δημιουργεί ένα αρχείο το οποίο θα περιέχει τον πίνακα Α και τις πιθανότητες και θα είναι στην μορφή του αρχείου των δεδομένων που φτιάξαμε νωρίτερα. Ετσι, το αρχείο, όπως προκύπτει, για το παράδειγμά μας είναι αυτό που φαίνεται στην εικόνα 1:

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

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

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

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX Θεμελιώδης αλγόριθμος επίλυσης προβλημάτων Γραμμικού Προγραμματισμού που κάνει χρήση της θεωρίας της Γραμμικής Άλγεβρας Προτάθηκε από το Dantzig (1947) και πλέον

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

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

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

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

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017 ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3 Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017 ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Bέλτιστος σχεδιασμός με αντικειμενική συνάρτηση και περιορισμούς

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

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

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

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

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ) Εικονικές Παράμετροι Μέχρι στιγμής είδαμε την εφαρμογή της μεθόδου Simplex σε προβλήματα όπου το δεξιό μέλος ήταν θετικό. Δηλαδή όλοι οι περιορισμοί ήταν της μορφής: όπου Η παραδοχή ότι b 0 μας δίδει τη

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

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

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

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

3.7 Παραδείγματα Μεθόδου Simplex

3.7 Παραδείγματα Μεθόδου Simplex 3.7 Παραδείγματα Μεθόδου Simplex Παράδειγμα 1ο (Παράδειγμα 1ο - Κεφάλαιο 2ο - σελ. 10): Το πρόβλημα εκφράζεται από το μαθηματικό μοντέλο: max z = 600x T + 250x K + 750x Γ + 450x B 5x T + x K + 9x Γ + 12x

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

Ασκήσεις μελέτης της 8 ης διάλεξης

Ασκήσεις μελέτης της 8 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2017 18 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 8 ης διάλεξης 8.1. (i) Έστω ότι α και β είναι δύο τύποι της προτασιακής

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016 Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Δυϊκότητα Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 1/12/2016 1 Το δυϊκό πρόβλημα Για κάθε πρόβλημα Γραμμικού Προγραμματισμού υπάρχει

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

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

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

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

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

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής ΤΕ Η μέθοδος Simplex. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 19/01/2017

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

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

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

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

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

Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex

Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex Νίκος Τσάντας ιατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών Τμήμ. Μαθηματικών Μαθηματικά των Υπολογιστών και των Αποφάσεων Ακαδημαϊκό έτος 2006-07

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

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

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 8η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στο βιβλίο Artificial Intelligence A Modern Approach των S. Russel

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

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

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

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

είναι πρόβλημα μεγιστοποίησης όλοι οι περιορισμοί είναι εξισώσεις με μη αρνητικούς του σταθερούς όρους όλες οι μεταβλητές είναι μη αρνητικές

είναι πρόβλημα μεγιστοποίησης όλοι οι περιορισμοί είναι εξισώσεις με μη αρνητικούς του σταθερούς όρους όλες οι μεταβλητές είναι μη αρνητικές Ένα τυχαίο π.γ.π. maximize/minimize z=c x Αx = b x 0 Τυπική μορφή του π.γ.π. maximize z=c x Αx = b x 0 b 0 είναι πρόβλημα μεγιστοποίησης όλοι οι περιορισμοί είναι εξισώσεις με μη αρνητικούς του σταθερούς

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

Η μέθοδος Simplex. Γεωργία Φουτσιτζή-Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

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

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

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

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

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

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

Κλάσεις Πολυπλοκότητας

Κλάσεις Πολυπλοκότητας Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν

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

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

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

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

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα ΚΕΦΑΛΑΙΟ 4 Ακέραια Πολύεδρα 1 Ορισμός 4.1 (Convex Hull) Έστω ένα σύνολο S C R n. Ένα σημείο x του R n είναι κυρτός συνδυασμός (convex combination) σημείων του S, αν υπάρχει ένα πεπερασμένο σύνολο σημείων

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

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

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

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

ILP-Feasibility conp

ILP-Feasibility conp Διάλεξη 19: 23.12.2014 Θεωρία Γραμμικού Προγραμματισμού Γραφέας: Χαρίλαος Τζόβας Διδάσκων: Σταύρος Κολλιόπουλος 19.1 Θεωρία Πολυπλοκότητας και προβλήματα απόφασης Για να μιλήσουμε για προβλήματα και τον

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

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη Υποθέσεις - - Θεωρήματα Μαθηματικά Πληροφορικής 1ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες

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

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής Θεωρία Παιγνίων και Αποφάσεων Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Παίγνια μηδενικού αθροίσματος PessimisIc play Αμιγείς max-min και

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

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

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

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

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

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

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

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

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

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

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

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

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

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

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι

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

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

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

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

Άλγεβρα Α Λυκείου Κεφάλαιο 2ο. οι πράξεις και οι ιδιότητές τους

Άλγεβρα Α Λυκείου Κεφάλαιο 2ο. οι πράξεις και οι ιδιότητές τους οι πράξεις και οι ιδιότητές τους Μερικές ακόμη ταυτότητες (επιπλέον από τις αξιοσημείωτες που βρίσκονται στο σχολικό βιβλίο) ) Διαφορά δυνάμεων με ίδιο εκθέτη: ειδικά αν ο εκθέτης ν είναι άρτιος υπάρχει

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

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

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 9: Δυϊκή Θεωρία Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

1. ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ

1. ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ . ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ. Μέγιστα και Ελάχιστα Συναρτήσεων Χωρίς Περιορισμούς Συναρτήσεις μιας Μεταβλητής Εστω f ( x) είναι συνάρτηση μιας μόνο μεταβλητής. Εστω επίσης ότι x είναι ένα σημείο στο πεδίο ορισμού

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

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση Αλγεβρική Μορφή Γενική Μορφή Γραµµικού Προγραµµατισµού n µεταβλητών και m περιορισµών Εστω πραγµατικοί αριθµοί a ij, b j, c i R µε 1 i m, 1 j n Αλγεβρική Μορφή Γενική Μορφή Γραµµικού Προγραµµατισµού n

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

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

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

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

με Τέλος πάντων, έστω ότι ξεκινάει ένα άλλο υποθετικό σενάριο που απλά δεν διευκρινίζεται. Για το i) θα έχουμε , 2

με Τέλος πάντων, έστω ότι ξεκινάει ένα άλλο υποθετικό σενάριο που απλά δεν διευκρινίζεται. Για το i) θα έχουμε , 2 Άσκηση 75 Σε έναν οργανισμό, αρχικά υπάρχουν 04800 βακτήρια. Μετά από 1 ώρα υπάρχουν 10400 βακτήρια, μετά από ώρες 5100 βακτήρια, και γενικά ο αριθμός των βακτηρίων υποδιπλασιάζεται κάθε μια ώρα. α) Πόσα

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος

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

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας

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

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

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

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

Εφαρμοσμένη Βελτιστοποίηση

Εφαρμοσμένη Βελτιστοποίηση Εφαρμοσμένη Βελτιστοποίηση Ενότητα 4: Αναλυτικές μέθοδοι βελτιστοποίησης για συναρτήσεις πολλών μεταβλητών Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας

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

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

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

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

για NP-Δύσκολα Προβλήματα

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

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

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων NP-πληρότητα Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση

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

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

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

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

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

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

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

III.9 ΑΚΡΟΤΑΤΑ ΣΕ ΠΕΡΙΟΧΗ

III.9 ΑΚΡΟΤΑΤΑ ΣΕ ΠΕΡΙΟΧΗ III.9 ΑΚΡΟΤΑΤΑ ΣΕ ΠΕΡΙΟΧΗ.Ολικά και τοπικά ακρότατα..εσωτερικά και συνοριακά ακρότατα 3.Χωριζόμενες μεταβλητές 4.Συνθήκες για ακρότατα 5.Ολικά ακρότατα κυρτών/κοίλων συναρτήσεων 6.Περισσότερες μεταβλητές.

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

1. Τετραγωνικές μορφές. x y 0. 0x y 0 1α 1β 2α 2β 3. 0x + y 0

1. Τετραγωνικές μορφές. x y 0. 0x y 0 1α 1β 2α 2β 3. 0x + y 0 Β4. ΕΣΣΙΑΝΟΣ ΠΙΝΑΚΑΣ-ΚΥΡΤΟΤΗΤΑ 1.Τετραγωνικές μορφές.χαρακτηρισμός συμμετρικών πινάκων 3.Δεύτερες μερικές παράγωγοι-εσσιανός πίνακας 4.Συνθήκες για ακρότατα 5.Κυρτές/κοίλες συναρτήσεις 6.Ολικά ακρότατα

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

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

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

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

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

ΚΕΦΑΛΑΙΟ ΕΚΤΟ: Ανάλυση ευαισθησίας των παραμέτρων του μαθηματικού υποδείγματος. Εφαρμογές χρησιμοποιώντας το R

ΚΕΦΑΛΑΙΟ ΕΚΤΟ: Ανάλυση ευαισθησίας των παραμέτρων του μαθηματικού υποδείγματος. Εφαρμογές χρησιμοποιώντας το R ΚΕΦΑΛΑΙΟ ΕΚΤΟ: Ανάλυση ευαισθησίας των παραμέτρων του μαθηματικού υποδείγματος. Εφαρμογές χρησιμοποιώντας το R Σύνοψη Το κεφάλαιο αυτό έχει σκοπό να παρουσιάσει και να υπογραμμίσει τη σημασία της ανάλυσης

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

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. ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ ΑΝΙΣΟΤΗΤΕΣ Ζητούνται οι τιµές των µεταβλητών απόφασης που ελαχιστοποιούν την αντικειµενική συνάρτηση

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

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

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

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

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες Υποθέσεις - - Θεωρήματα Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Μαθηματικά Πληροορικής ο Μάθημα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι

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

Από το Γυμνάσιο στο Λύκειο... 7. 3. Δειγματικός χώρος Ενδεχόμενα... 42 Εύρεση δειγματικού χώρου... 46

Από το Γυμνάσιο στο Λύκειο... 7. 3. Δειγματικός χώρος Ενδεχόμενα... 42 Εύρεση δειγματικού χώρου... 46 ΠEΡΙΕΧΟΜΕΝΑ Από το Γυμνάσιο στο Λύκειο................................................ 7 1. Το Λεξιλόγιο της Λογικής.............................................. 11. Σύνολα..............................................................

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

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0

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

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

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

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

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

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

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

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

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

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

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

Αναγνώριση Προτύπων Ι

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

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

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

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

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

Εισαγωγή Το σύνολο αναφοράς και οι περιορισμοί

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

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

f(x) = και στην συνέχεια

f(x) = και στην συνέχεια ΕΡΩΤΗΣΕΙΣ ΜΑΘΗΤΩΝ Ερώτηση. Στις συναρτήσεις μπορούμε να μετασχηματίσουμε πρώτα τον τύπο τους και μετά να βρίσκουμε το πεδίο ορισμού τους; Όχι. Το πεδίο ορισμού της συνάρτησης το βρίσκουμε πριν μετασχηματίσουμε

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

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

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

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

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ Εισαγωγή Οι αριθμοί που εκφράζουν το πλήθος των στοιχείων ανά αποτελούν ίσως τους πιο σημαντικούς αριθμούς της Συνδυαστικής και καλούνται διωνυμικοί συντελεστές διότι εμφανίζονται

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

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

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

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

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ) Δυϊκότητα Θα δείξουμε πώς μπορούμε να αντιστοιχίσουμε ένα πρόβλημα ελαχιστοποίησης με ένα πρόβλημα ΓΠ στην συνήθη του μορφή. Ένα πρόβλημα στην συνήθη του μορφή μπορεί να είναι ένα κατασκευαστικό πρόβλημα,

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

ΛΥΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΣΤΟ 2 ο ΚΕΦΑΛΑΙΟ

ΛΥΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΣΤΟ 2 ο ΚΕΦΑΛΑΙΟ ΛΥΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΣΤΟ 2 ο ΚΕΦΑΛΑΙΟ 1. Έστω συνάρτηση ζήτησης με τύπο Q = 200 4P. Να βρείτε: α) Την ελαστικότητα ως προς την τιμή όταν η τιμή αυξάνεται από 10 σε 12. 1ος τρόπος Αν P 0 10 τότε Q 0 200 410

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

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

ΕΠΙΛΥΣΗ ΕΚΦΥΛΙΣΜΕΝΩΝ ΚΑΙ ΓΕΝΙΚΩΝ ΓΡΑΜΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ. 4.1 Επίλυση Εκφυλισμένων Γραμμικών Προβλημάτων

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

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

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

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

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

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012 ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012 Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει

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

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ ΚΑΙ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ (Α ΜΕΡΟΣ: ΣΥΝΑΡΤΗΣΕΙΣ) Επιμέλεια: Καραγιάννης Ιωάννης, Σχολικός Σύμβουλος Μαθηματικών

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

Υπολογιστική Πολυπλοκότητα

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

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

L A P. w L A f(w) L B (10.1) u := f(w)

L A P. w L A f(w) L B (10.1) u := f(w) Κεφάλαιο 10 NP -πληρότητα Σύνοψη Οι γλώσσες στην κλάση πολυπλοκότητας P μπορούν να αποφασίζονται σε πολωνυμικό χρόνο. Οι επιστήμονες πιστεύουν, αν και δε μπορούν να το αποδείξουν ότι η P είναι ένα γνήσιο

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

Από το Γυμνάσιο στο Λύκειο Δειγματικός χώρος Ενδεχόμενα Εύρεση δειγματικού χώρου... 46

Από το Γυμνάσιο στο Λύκειο Δειγματικός χώρος Ενδεχόμενα Εύρεση δειγματικού χώρου... 46 ΠEΡΙΕΧΟΜΕΝΑ Από το Γυμνάσιο στο Λύκειο................................................ 7 1. Το Λεξιλόγιο της Λογικής.............................................. 11 2. Σύνολα..............................................................

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με

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

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

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

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 28/3/2012. Lecture07 1

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 28/3/2012. Lecture07 1 Τμήμα Εφαρμοσμένης Πληροφορικής ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΜΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 8 Ο ΕΞΑΜΗΝΟ ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ, ΕΠ. ΚΑΘΗΓΗΤΗΣ Χαρακτηριστικά αλγορίθμων τύπου simplex (5) Αν το βασικό σημείο ικανοποιεί ακριβώς n-m ανισότητες

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

Περιεχόμενα. Πρόλογος 3

Περιεχόμενα. Πρόλογος 3 Πρόλογος Η χρησιμότητα της Γραμμικής Άλγεβρας είναι σχεδόν αυταπόδεικτη. Αρκεί μια ματιά στο πρόγραμμα σπουδών, σχεδόν κάθε πανεπιστημιακού τμήματος θετικών επιστημών, για να διαπιστώσει κανείς την παρουσία

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

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Σύνοψη Στο κεφάλαιο αυτό παρουσιάζεται η ιδέα του συμπτωτικού πολυωνύμου, του πολυωνύμου, δηλαδή, που είναι του μικρότερου δυνατού βαθμού και που, για συγκεκριμένες,

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

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

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

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

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ 50 ΚΕΦΑΛΑΙΟ Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ Εισαγωγή. Η αρχή του εγκλεισμού αποκλεισμού είναι ένα ισχυρό μέσο απαρίθμησης με το οποίο υπολογίζεται ο αριθμός των στοιχείων της ένωσης και της τομής των συμπληρωμάτων

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

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

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

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

Τμήμα Εφαρμοσμένης Πληροφορικής

Τμήμα Εφαρμοσμένης Πληροφορικής Τμήμα Εφαρμοσμένης Πληροφορικής ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΜΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 8 Ο ΕΞΑΜΗΝΟ ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ, ΕΠ. ΚΑΘΗΓΗΤΗΣ Δυϊκή Θεωρία (1) Θεώρημα : Το δυϊκό πρόβλημα του γραμμικού προβλήματος 0 0 1 1 2 2 0 0 T

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 1: Δυϊκή Θεωρία, Οικονομική Ερμηνεία Δυϊκού Προβλήματος Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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