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

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

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

Transcript

1 Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μέτρηση της Πολυπλοκότητας (7.1) Η κλάση Ρ (7.2) Η κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-1

2 Επιλυσιμότητα και Πολυπλοκότητα Δόγμα Church Turing: Αν υπάρχει κάποια μέθοδος (αλγόριθμος) μέσω της οποίας μπορούμε να διεκπεραιώσουμε κάποιο υπολογισμό, τότε ο ίδιος υπολογισμός μπορεί να διεκπεραιωθεί μέσω μιας μηχανής Turing. Ανεπίλυτα προβλήματα: Προβλήματα για τα οποία δεν υπάρχει κανένας αλγόριθμος που να τα επιλύει π.χ. το πρόβλημα του τερματισμού Επιλύσιμα Προβλήματα: Προβλήματα για τα οποία υπάρχει αλγόριθμος/μηχανή Turing που τα επιλύει Πολυπλοκότητα Πόσος χρόνος/μνήμη απαιτείται για την επίλυση του προβλήματος; Είναι η επίλυση του προβλήματος πρακτικά εφικτή; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-2

3 Μέτρηση της Πολυπλοκότητας Η πιο κάτω μηχανή Turing διαγιγνώσκει τη γλώσσα L 1 = {w#w w {a, b}*} Ποια η χρονική της πολυπλοκότητα; Μέχρι να συναντήσεις το σύμβολο # Διάβασε και διάγραψε το επόμενο σύμβολο Μετακινήσου δεξιά πέραν του # και όλων των x Αν το σύμβολο διαφέρει από αυτό που διαβάστηκε, απόρριψε τη λέξη Διαφορετικά Γράψε x μετακινήσου αριστερά πέραν του # και σταμάτα δεξιά από το τελευταίο x Αν βλέπεις μόνο x να ακολουθούνται από, αποδέξου τη λέξη Εξαρτάται από: το μήκος της λέξης τη δομή της λέξης ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-3

4 Χρονική πολυπλοκότητα ΟΡΙΣΜΟΣ Έστω Μ μια ντετερμινιστική ΤΜ που τερματίζει σε κάθε είσοδο. O χρόνος εκτέλεσης ή η χρονική πολυπλοκότητα της Μ είναι η συνάρτηση f: N N όπου f(n) είναι το μέγιστο πλήθος βημάτων που είναι δυνατόν να πραγματοποιήσει η Μ όταν το μήκος της εισόδου της είναι n. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-4

5 Εργαλεία Εκτίμησης Πολυπλοκότητα Ασυμπτωτική ανάλυση Στόχος: εκτίμηση του χρόνου σε μεγάλα δεδομένα εισόδου Δυνατότητα σύγκρισης του χρόνου εκτέλεσης διαφορετικών αλγορίθμων Παράδειγμα: Έστω αλγόριθμος με χρονική πολυπλοκότητα f(n) = 6n 3 + 2n n + 45 Ασυμπτωτική ανάλυση: Μας ενδιαφέρει ο μεγιστοβάθμιος όρος (αγνοούμε τον συντελεστή του όρου όπως επίσης και τους όρους μικρότερου βαθμού). Τότε λέμε ότι η πολυπλοκότητα του αλγορίθμου είναι ασυμπτωτικά το πολύ n 3 : f(n) = O(n 3 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-5

6 Ασυμπτωτική Ανάλυση Η τάξη Ο ΟΡΙΣΜΟΣ Έστω f και g δύο συναρτήσεις από το σύνολο N στο σύνολο R +. Ορίζουμε f(n)=ο(g(n)), αν υπάρχουν ακέραιοι c > 0 και n 0 0 τέτοιοι ώστε για κάθε n n 0 να ισχύει f(n) c g(n) Αν f(n)=ο(g(n)), τότε λέμε πως η συνάρτηση f είναι της τάξεως g(n) ή της τάξεως κεφαλαίο Ο του g(n). Αν f(n)=ο(g(n)), τότε η g(n) αποτελεί ασυμπτωτικό, άνω φράγμα της f(n). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-6

7 Γραφική Απεικόνιση f(n)=ο(g(n)) c g(n) f(n) n 0 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-7

8 Ασυμπτωτική ανάλυση Η τάξη ο ΟΡΙΣΜΟΣ Έστω f και g δύο συναρτήσεις από το σύνολο N στο σύνολο R +. Ορίζουμε f(n)=ο(g(n)), αν ισχύει f ( n) lim n g( n) 0 f(n)=ο(g(n)) η f είναι ασυμπτωτικά μικρότερη ή ίση της g f(n)=o(g(n)) η f είναι ασυμπτωτικά μικρότερη της g Παραδείγματα f(n) = 6n 3 + 2n n + 45 f(n) = ο(n 4 ) n = o(n log n) n log n = o(n 2 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-8

9 Παράδειγμα 1 Η πιο κάτω μηχανή Turing διαγιγνώσκει τη γλώσσα L 1 = {w#w w {a, b}*} Ποια η χρονική της πολυπλοκότητα; Μέχρι να συναντήσεις το σύμβολο # O(n) φορές Διάβασε και διάγραψε το επόμενο σύμβολο Μετακινήσου δεξιά πέραν του # και όλων των x Αν το σύμβολο διαφέρει από αυτό που διαβάστηκε, απόρριψε τη λέξη Διαφορετικά Γράψε x μετακινήσου αριστερά πέραν του # και σταμάτα δεξιά από το τελευταίο x Αν βλέπεις μόνο x να ακολουθούνται από, αποδέξου τη λέξη Χρόνος εκτέλεσης: O(n) βήματα O(n) βήματα O(n 2 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-9

10 Κλάση Χρονικής Πολυπλοκότητας ΟΡΙΣΜΟΣ Έστω t : N R οποιαδήποτε συνάρτηση. Ορίζουμε ως κλάση χρονικής πολυπλοκότητας ΤΙΜΕ(t(n)) τη συλλογή όλων των γλωσσών που μπορούν να διαγνωστούν από κάποια μηχανή Turing χρόνου O(t(n)). Η γλώσσα L 1 (Διαφάνεια 10-8) είναι τέτοια ώστε L 1 ΤΙΜΕ(Ο(n 2 )). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-10

11 Παράδειγμα 2 L 2 = {0 n 1 n n 0} M 1 = Με είσοδο x, 1. Διατρέχουμε την ταινία και αν εντοπίσουμε κάποιο 0 στα δεξιά ενός 1 απορρίπτουμε. 2. Ενόσω η ταινία περιέχει 0 και 1: 3. Διατρέχουμε την ταινία και διαγράφουμε ένα 0 και ένα 1 4. Εάν η ταινία εξακολουθεί να περιέχει 0 ή 1 απορρίπτουμε. Αλλιώς αποδεχόμαστε. O(n) βήματα O(n) φορές O(n) βήματα O(n) βήματα Συμπέρασμα: L 2 ΤΙΜΕ(Ο(n 2 )). Χρόνος εκτέλεσης: O(n 2 ) ( = O(n)+ O(n 2 )+ O(n) ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-11

12 Υπάρχει γρηγορότερος αλγόριθμος; L 2 = {0 n 1 n n 0} M 2 = Με είσοδο x, 1. Διατρέχουμε την ταινία και αν εντοπίσουμε κάποιο 0 δεξιά κάποιου 1 απορρίπτουμε 2. Ενόσω η ταινία περιέχει 0 και 1: 3. Διατρέχουμε την ταινία και απορρίπτουμε αν το σύνολο των συμβόλων είναι περιττό 4. Διατρέχουμε την ταινία και διαγράφουμε κάθε δεύτερο 0 και κάθε δεύτερο Αν η ταινία είναι κενή αποδεχόμαστε. Αλλιώς απορρίπτουμε. O(n) βήματα O(lg n) φορές O(n) βήματα O(n) βήματα Συμπέρασμα: L 2 ΤΙΜΕ(Ο(n lg n)). Χρόνος εκτέλεσης: O(n lg n) ( = O(n)+ O(lgn) O(n) + O(n) ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-12

13 Υπάρχει ακόμη γρηγορότερος αλγόριθμος; Και αν έχουμε μια διταινιακή μηχανή Turing; L 2 = {0 n 1 n n 0} M 3 = Με είσοδο x, 1. Διατρέχουμε την ταινία και αν εντοπίσουμε κάποιο 0 δεξιά κάποιου 1 απορρίπτουμε 2. Διατρέχουμε την ταινία μέχρι να συναντήσουμε το πρώτο 1. Ταυτόχρονα αντιγράφουμε τα 0 στη δεύτερη ταινία. 3. Διατρέχουμε τα 1 της πρώτης ταινίας. Για κάθε 1 στην πρώτη ταινία, διαγράφουμε ένα 0 στην δεύτερη ταινία. 4. Αν διαγραφούν όλα τα 0 και 1 αποδεχόμαστε. Αλλιώς απορρίπτουμε. Συμπέρασμα: L 2 ΤΙΜΕ(Ο(n)). O(n) βήματα O(n) βήματα O(n) βήματα O(1) βήματα Χρόνος Εκτέλεσης: O(n) ( = O(n)+ O(n)+ O(n) + O(1) ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-13

14 Και στη Java;; M(string x) { n = x.len; if n % 2 == 1 reject; else for (i = 1; i <= n/2; i++) if x[i]!= 0 reject; if x[n-i+1]!= 1 reject; accept; } L 3 = {0 n 1 n n 0} Χρόνος Εκτέλεσης: O(n) μονοταινιακή TM O χρόνος εκτέλεσης διαφοροποιείται ανάλογα με το μοντέλο υπολογισμού! O(n log n) διταινιακή TM O(n) Java O(n) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-14

15 Σύνοψη Η γλώσσα L 2 μπορεί να τύχει διάγνωσης από μια μονοταινιακή ΤΜ σε χρόνο Ο(n lg n). Μπορεί να δειχθεί ότι αυτό είναι και κάτω φράγμα για την επίλυση του προβλήματος (δεν υπάρχει ΤΜ που να μπορεί να πετύχει ταχύτερη εκτέλεση). Η γλώσσα L 2 μπορεί να τύχει διάγνωσης από μια διταινιακή ΤΜ σε χρόνο Ο(n). Αυτός είναι και ο βέλτιστος χρόνος για επίλυση του προβλήματος Συμπέρασμα: Η πολυπλοκότητα εξαρτάται από το μοντέλο! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-15

16 Θεωρία Υπολογισιμότητας Συμπεράσματα Δόγμα Church-Turing: Όλα τα εύλογα υπολογιστικά μοντέλα είναι ισοδύναμα (επιλύουν την ίδια κλάση από προβλήματα). Θεωρία Πολυπλοκότητας Η επιλογή του μοντέλου επηρεάζει τη χρονική πολυπλοκότητα μιας γλώσσας Ταξινόμηση προβλημάτων με βάση τη χρονική πολυπλοκότητα Ποιο μοντέλο θα πρέπει να χρησιμοποιείται για τη μέτρηση του χρόνου;; Τα καθιερωμένα ντετερμινιστικά μοντέλα δεν παρουσιάζουν μεγάλες διαφορές ως προς τις χρονικές τους απαιτήσεις. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-16

17 Σχέσεις πολυπλοκότητας μεταξύ μοντέλων ΘΕΩΡΗΜΑ Έστω t(n) κάποια συνάρτηση τέτοια ώστε t(n) n. Για κάθε πολυταινιακή ΜΤ χρόνου t(n) υπάρχει ισοδύναμη μονοταινιακή ΤΜ χρόνου Ο (t 2 (n)) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-17

18 Σχέσεις πολυπλοκότητας μεταξύ μοντέλων ΟΡΙΣΜΟΣ Έστω Ν μια μη-ντετερμινιστική ΤΜ που τερματίζει σε κάθε είσοδο. O χρόνος εκτέλεσης της Νείναι η συνάρτηση f: N N όπου f(n) είναι το μέγιστο πλήθος βημάτων που είναι δυνατόν να πραγματοποιήσει η Ν σε οποιοδήποτε κλάδο του υπολογισμού της για οποιαδήποτε είσοδο μήκους n. ΘΕΩΡΗΜΑ Έστω t(n) κάποια συνάρτηση τέτοια ώστε t(n) n. Για κάθε μη-ντετερμινιστική ΤΜ χρόνου t(n) υπάρχει ισοδύναμη αιτοκρατική μονοταινιακή ΤΜ χρόνου 2 Ο(t(n)). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-18

19 Πολυωνυμικός χρόνος Για κάθε πολυταινιακή ΤΜ υπάρχει μια ισοδύναμη μονοταινιακή ΤΜ η οποία είναι πολυωνυμικά πιο αργή Για κάθε μη-ντετερμινιστική ΤΜ υπάρχει μια ντετερμινιστική ΤΜ η οποία είναι εκθετικά πιο αργή. Μια πολυωνυμική διαφορά ανάμεσα σε δύο χρόνους εκτέλεσης θεωρείται μικρή ενώ μια εκθετική διαφορά θεωρείται μεγάλη Συγκρίνετε τις συναρτήσεις n 2 και 2 n για n = Αλγόριθμοι εκθετικού χρόνου εκτέλεσης είναι τόσο αργοί που σπάνια είναι χρήσιμοι Συνήθως προκύπτουν όταν αναζητούμε τη λύση σε κάποιο πρόβλημα εκτελώντας μια εξαντλητική αναζήτηση στο πεδίο των πιθανών λύσεων. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-19

20 Η Κλάση Ρ ΟΡΙΣΜΟΣ Η κλάση γλωσσών Ρ αποτελείται από τις γλώσσες που μπορούν να διαγνωστούν σε πολυωνυμικό χρόνο από κάποια ντετερμινιστική μηχανή Turing. H κλάση Ρ είναι αναλλοίωτη για μοντέλα που είναι πολυωνυμικώς ισοδύναμα με τη ντετερμινιστική ΤΜ Το Δόγμα των Cobham-Edmonds: όλα τα «εύλογα» υπολογιστικά μοντέλο είναι πολυωνυμικά ισοδύναμα μεταξύ τους, και με τις ΤΜ (οποιοδήποτε μπορεί να προσομοιώσει οποιοδήποτε άλλο προκαλώντας μόνο πολυωνυμική αύξηση του χρόνου εκτέλεσης) Η κλάση Ρ αντιστοιχεί χονδρικά στην κλάση των προβλημάτων που είναι πρακτικώς επιλύσιμα με υπολογιστές. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-20

21 Παραδείγματα γλωσσών της κλάσης Ρ L 01 = {0 n 1 n n > 0} L G = {x η λέξη x παράγεται από τη CFG G} G κάποια CFG ΔΙΑΔΡΟΜΗ = {(G, s, t) G ένας γράφος με μονοπάτι από τον κόμβο s στον κόμβο t} ΑΜΟΙΒΑΙΑ_ΠΡΩΤΟΙ = {(n, m) οι n και m δεν είναι αμοιβαία πρώτοι} ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-21

22 ΔΙΑΔΡΟΜΗ = {(G, s, t) G ένας γράφος με μονοπάτι από τον κόμβο s στον κόμβο t} ΔΙΑΔΡΟΜΗ Ρ Έστω ότι ο G = (V, E), V = n, E = m M := Με είσοδο G, s, t, x όπου G ένας γράφος με κορυφές s και t Σημάδεψε τον κόμβο s. Επανέλαβε μέχρι να μην μπορείς να σημαδέψεις επιπλέον κόμβους: Διάτρεξε τις ακμές του G. Αν εντοπίσεις ακμή (a, b), όπου η a είναι σημαδεμένη και η b όχι, σημάδεψε τη b. Αν ο t είναι σημαδεμένος αποδέξου, διαφορετικά απόρριψε. Χρόνος εκτέλεσης: s x t x O(n) φορές x x O(m) βήματα O(nm) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-22

23 H Κλάση ΝΡ Κλάση Ρ: προβλήματα των οποίων η λύση μπορεί να επιτευχθεί σε πολυωνυμικό χρόνο, αποφεύγοντας την εξαντλητική αναζήτηση. Υπάρχουν όμως και πολλά προβλήματα για τα οποία όλες οι προσπάθειες να αποφευχθεί η εξαντλητική αναζήτηση έχει μέχρι στιγμής αποτύχει: Δεν έχουν εντοπιστεί αλγόριθμοι πολυωνυμικού χρόνου εκτέλεσης που να τα επιλύουν. Που οφείλεται η αποτυχία αυτή; Οι σχετικοί αλγόριθμοι βασίζονται σε άγνωστες αρχές; Ή μήπως τα προβλήματα αυτά είναι εγγενώς δύσκολα; Θα μελετήσουμε τα πιο κάτω προβλήματα που ανήκουν σε αυτή την κατηγορία: ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ, ΚΛΙΚΑ, SAT (ή ΕΠΑΛΗΘΕΥΣΙΜΟΤΗΤΑ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-23

24 Χαμιλτονιανή Διαδρομή Χαμιλτονιανή διαδρομή σε ένα κατευθυνόμενο γράφημα G είναι μια διαδρομή που διέρχεται από κάθε κόμβο του γραφήματος ακριβώς μια φορά. s t ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ = { G, s, t το G είναι ένα κατευθυνόμενο γράφημα που περιέχει μια Χαμιλτονιανή διαδρομή ανάμεσα στους κόμβους s και t} Δεν γνωρίζουμε αν το πρόβλημα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ Ρ ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-24

25 To Πρόβλημα της Κλίκας Το γράφημα G Κλίκα σε ένα ακατεύθυντο γράφημα είναι ένα υπογράφημα στο οποίο οποιοιδήποτε δύο κόμβοι συνδέονται μέσω ακμής. Οι {1, 4}, {2, 3, 4} και {1} αποτελούν κλίκες του G. k-κλίκα σε ένα ακατεύθυντο γράφημα είναι μία κλίκα με k κόμβους. Η {2, 3, 4} είναι μια 3-κλίκα του G. Το Πρόβλημα της Κλίκας: Να προσδιοριστεί αν ένα γράφημα περιέχει κάποια κλίκα δεδομένου μεγέθους. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-25

26 To Πρόβλημα της Κλίκας (2) ΚΛΙΚΑ= { G, k : G είναι ένας γράφος με k-κλίκα} M: Με είσοδο G = (V,E). k : Για κάθε S V, S = k: Αν για κάθε ζεύγος κορυφών u, v in S (u, v) E, αποδέξου Διαφορετικά, απόρριψε Είσοδος: G, 3 Υποσύνολα: {1,2,3} {1,2,4} {1,3,4} {2,3,4} Μήκους 3 Κλίκα;; ΟΧΙ ΟΧΙ ΟΧΙ ΝΑΙ ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-26

27 To Πρόβλημα της Κλίκας (3) Ο αλγόριθμος εκτελεί μια εξαντλητική ανάλυση στο πεδίο των πιθανών λύσεων. Χρόνος Εκτέλεσης;; M: Με είσοδο G = (V,E). k : Για κάθε S V, S = k: Αν για κάθε ζεύγος κορυφών u, v in S (u, v) E, αποδέξου Διαφορετικά, απόρριψε. υποσύνολα k(k 1) ζεύγη O( k (k 1)) O(2 n ) για k = n/2 Δεν γνωρίζουμε αν το πρόβλημα ΚΛΙΚΑ Ρ, όπως και για το πρόβλημα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ. Τι κοινό έχουν αυτά τα προβλήματα; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-27

28 Πολυωνυμική Επαληθευσιμότητα Αν και δεν γνωρίζουμε αποδοτική μέθοδο επίλυσης των προβλημάτων Αν μας δοθεί μια λύση μπορούμε εύκολα να επαληθεύσουμε την ορθότητά της. Για παράδειγμα, Αν κάποιος μας δώσει μια k-κλίκα, για να επιβεβαιώσουμε τη λύση αρκεί να επαληθεύσουμε ότι κάθε ζεύγος κορυφών συνδέεται μέσω ακμής Αν κάποιος μας δώσει μια Χαμιλτονιανή διαδρομή για να επιβεβαιώσουμε τη λύση αρκεί να επαληθεύσουμε ότι περνά από κάθε κορυφή ακριβώς μια φορά. Παρατήρηση 1: Η επαλήθευση της ορθότητας μιας λύσης φαίνεται να είναι ευκολότερη από την εύρεσή της. Παρατήρηση 2: Ορισμένα προβλήματα ενδέχεται να μην είναι πολυωνυμικά επαληθεύσιμα, π.χ. ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ : ένας γράφος δεν έχει Χαμιλτονιανή διαδρομή ΚΛΙΚΑ: ένας γράφος δεν έχει k-κλίκα ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-28

29 ΟΡΙΣΜΟΣ Η έννοια του επαληθευτή Ονομάζουμε επαληθευτή μιας γλώσσας Α οποιονδήποτε αλγόριθμο V τέτοιο ώστε w A αν και μόνο αν o V αποδέχεται τη λέξη w,s για κάποιο s. Λέμε ότι ο V έχει πολυωνυμικό χρόνο αν ο χρόνος εκτέλεσης του είναι πολυωνυμικός ως προς το μήκος της λέξης w. Μια γλώσσα ονομάζεται πολυωνυμικά επαληθεύσιμη αν υπάρχει για αυτήν επαληθευτής πολυωνυμικού χρόνου. Για να επαληθεύσει ότι μια λέξη w ανήκει στην γλώσσα Α, ο επαληθευτής χρησιμοποιεί κάποια επιπλέον πληροφορία, την οποία αναπαριστά η λέξη s στον ορισμό. Η πληροφορία αυτή ονομάζεται πιστοποιητικό, ή απόδειξη, της συμμετοχής της w στην Α. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-29

30 Η Κλάση ΝΡ ΟΡΙΣΜΟΣ Η κλάση γλωσσών ΝΡ αποτελείται από τις γλώσσες που επιδέχονται επαληθευτή πολυωνυμικού χρόνου. ΝΡ = Non-deterministic Polynomial time (μη ντετερμινιστικός πολυωνυμικός χρόνος) ΘΕΩΡΗΜΑ Μια γλώσσα ανήκει στη κλάση ΝΡ αν και μόνο αν υπάρχει μηχανή Turing μη ντετερμινιστικού πολυωνυμικού χρόνου που να τη διαγιγνώσκει. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-30

31 ΚΛΙΚΑ ΝΡ Απόδειξη 1: Θα πρέπει να προτείνουμε αλγόριθμο V που να αποτελεί ένα επαληθευτή πολυωνυμικού χρόνου για το πρόβλημα V := Για είσοδο G, k και σύνολο από κόμβους C, 1. Ελέγχουμε αν το σύνολο C έχει μήκος k. 2. Ελέγχουμε αν το G περιέχει ακμή που συνδέει κάθε ζεύγος κορυφών από το C. 3. Αν και οι δύο έλεγχοι δώσουν θετικό αποτέλεσμα αποδέξου. 4. Διαφορετικά απόρριψε. Χρόνος εκτέλεσης:o(k 2 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-31

32 ΚΛΙΚΑ ΝΡ Απόδειξη 2: Η πιο κάτω μη ντετερμινιστική μηχανή Turing διαγιγνώσκει το πρόβλημα: Ν := Για είσοδο G, k όπου G ένα μη κατευθυνόμενο γράφημα και k ένας ακέραιος: 1. Επιλέγουμε μη ντετερμινιστικά ένα σύνολο k κόμβων του G, έστω C 2. Ελέγχουμε αν το G περιέχει όλες τις ακμές οι οποίες συνδέουν τους κόμβους του C. 3. Αν ναι, αποδεχόμαστε, διαφορετικά, απορρίπτουμε. Χρόνος εκτέλεσης:o(k 2 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-32

33 Το ερώτημα P έναντι ΝΡ Ρ = η κλάση των γλωσσών στις οποίες η συμμετοχή μπορεί να διαγνωστεί γρήγορα ΝΡ = η κλάση των γλωσσών στις οποίες η συμμετοχή μπορεί να επαληθευτεί γρήγορα (και να διαγνωστεί αργά ). Η κλάση Ρ είναι υποσύνολο της κλάσης ΝΡ. ΝΡ Χ_Διαδρομή Κλίκα Ρ Διαδρομή L 1 L 2 Διαγνώσιμα Προβλήματα ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-33

34 Ρ = ΝΡ; Το ερώτημα P έναντι ΝΡ Ένα από τα σημαντικότερα άλυτα της θεωρητικής επιστήμης υπολογιστών και των σύγχρονων μαθηματικών. Επικρατέστερη άποψη : Ρ ΝΡ Έχει καταβληθεί τεράστια προσπάθεια για εύρεση αλγορίθμων πολυωνυμικού χρόνου για ορισμένα προβλήματά της χωρίς αποτέλεσμα. Για να αποδειχθεί ότι οι δύο κλάσεις διαφέρουν θα πρέπει να αποδειχθεί ότι δεν υπάρχει «ταχύς» αλγόριθμος για τα προβλήματα. ΝΡ Ρ Τα δύο ενδεχόμενα: Ρ ΝΡ Ρ = ΝΡ Ρ = ΝΡ ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-34

35 Millenium prize problems Το 2000, το Clay Mathematical Institute όρισε 7 προβλήματα για τον 21 ο αιώνα. 1. P έναντι NP 2. Η εικασία του Hodge 3. Η εικασία του Poincaré Perelman Η υπόθεση Riemann 5. Yang Mills existence and mass gap 6. Navier Stokes existence and smoothness 7. Η εικασία των Birch και Swinnerton-Dyer $1,000,000 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-35

36 ΝΡ-Πληρότητα Εντατικές προσπάθειες για ταχεία επίλυση ΝΡ προβλημάτων έχουν μέχρι στιγμής αποτύχει. Αυτό οδηγεί στην υποψία ότι οποιοσδήποτε αλγόριθμος επίλυσης των προβλημάτων αυτών απαιτεί χρόνο της τάξης Ο(2 n ). Αυτό δεν έχει αποδειχθεί. Έχει όμως αποδειχθεί ότι: Cook & Levin: Υπάρχουν κάποια προβλήματα στην κλάση ΝΡ για τα οποία ισχύει ότι αν κάποιο από αυτά μπορεί να λυθεί σε πολυωνυμικό χρόνο τότε όλα τα προβλήματα της ΝΡ μπορούν να επιλυθούν σε πολυωνυμικό χρόνο. Τα προβλήματα αυτά ονομάζονται ΝΡ-πλήρη (ΝΡ-complete). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-36

37 ΝΡ-Πληρότητα Tα NP-πλήρη προβλήματα είναι εξίσου δύσκολα το ένα με το άλλο. Ταυτόχρονα είναι εξίσου ή περισσότερο δύσκολα από όλα τα υπόλοιπα ΝΡ προβλήματα Αν κάποιο από αυτά μπορεί να επιλυθεί γρήγορα τότε όλα τα υπόλοιπα μπορούν να επιλυθούν γρήγορα. Παραδείγματα ΝΡ προβλημάτων: το Πρόβλημα της Κλίκας, το Πρόβλημα της Χαμιλτονιανής Διαδρομής και το πρόβλημα της Αληθευσιμότητας (SAT) ΚΛΙΚΑ ΝΡ ΧΑΜΙΛΤΟΝΙΑΝΗ ΔΙΑΔΡΟΜΗ SAT Ρ ΝΡ-πλήρη προβλήματα ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-37

38 Το Πρόβλημα της Αληθευσιμότητας Λογικός τύπος είναι οποιαδήποτε έκφραση περιλαμβάνει λογικές μεταβλητές και λογικές πράξεις, π.χ. (x 1 x 2 ) (x 2 x 3 x 4 ) (x 1 ) Ένας λογικός τύπος ονομάζεται αληθεύσιμος αν υπάρχει κάποιος συνδυασμός τιμών Τ (True) και F (False) στις μεταβλητές για τον οποίο ο τύπος να παίρνει την τιμή T. O πιο πάνω τύπος είναι αληθεύσιμος αφού, για παράδειγμα, για x 1 =Τ, x 2 = F, x 3 = F, x 4 = F, παίρνει την τιμή Τ. Το Πρόβλημα της Αληθευσιμότητας SAT = { φ ο φ είναι ένας αληθεύσιμος τύπος} ΘΕΩΡΗΜΑ ΤΩΝ COOK-LEVIN SAT P αν και μόνο αν P = NP. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-38

39 SAT και NP f = (x 1 x 2 ) (x 2 x 3 x 4 ) ( x 1 ) Εύρεση λύσης: Δοκίμασε όλους τους δυνατούς συνδυασμούς FFFF FFFT FFTF FFTT FTFF FTFT FTTF FTTT TFFF TFFT TFTF TFTT TTFF TTFT TTTF TTTT Για n μεταβλητές υπάρχουν 2 n διαφορετικοί συνδυασμοί Χρόνος εκτέλεσης: Εκθετικός Επαλήθευση λύσης: FFTT Αντικατέστησε x 1 = F x 2 = F x 3 = T x 4 = T Και αποτίμησε την τιμή του f για τη διδόμενη λύση f = (F T) (F T F) (T) Χρόνος εκτέλεσης: Γραμμικός ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-39

40 Το Πρόβλημα 3SAT Λεξίγραμμα: οποιαδήποτε λογική μεταβλητή ή η άρνηση μιας λογικής μεταβλητής (γράφουμε για x). Φράση: ένα σύνολο λεξιγραμμάτων που συνδέονται μέσω της πράξης της διάζευξης, π.χ. x 1 x3 x5 x6 Ένας λογικός τύπος βρίσκεται σε συζευκτική κανονική μορφή (ΣΚΜ) αν αποτελεί τη σύζευξη ενός συνόλου από φράσεις, π.χ. ( x1 x3 x5 x6) ( x2 x5) ( x3 x4) Τύπος 3ΣΚΜ: ένας τύπος σε ΣΚΜ κάθε φράση του οποίου περιέχει ακριβώς τρία λεξιγράμματα, π.χ. ( x1 x5 x6) ( x2 x3 x5) ( x2 x3 x4) Το Πρόβλημα 3SAT 3SAT = { φ ο φ είναι ένας αληθεύσιμος 3ΚΣΜ τύπος} ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-40

41 ΝΡ-Πληρότητα και το ερώτημα P έναντι NP NP-πλήρη προβλήματα αποτελούν μια σημαντική εξέλιξη στο ερώτημα Ρ έναντι ΝΡ : Αν πράγματι Ρ ΝΡ που συνεπάγεται ότι η κλάση ΝΡ περιέχει προβλήματα που απαιτούν υπερπολυωνυμικό χρόνο τότε κάθε ΝΡ-πλήρες πρόβλημα είναι ένα από αυτά. Αν όμως Ρ = ΝΡ τότε είναι αρκετό να δείξουμε ότι κάποιο ΝΡ-πλήρες πρόβλημα μπορεί να επιλυθεί σε πολυωνυμικό χρόνο. Η έννοιας της ΝΡ-πληρότητας χρησιμοποιείται επίσης για να δείξουμε ότι κάποιο πρόβλημα είναι δύσκολο να λυθεί: Επιδεικνύουμε ότι είναι ΝΡ-πλήρες, επομένως τουλάχιστον τόσο δύσκολο όσο κάθε πρόβλημα στην ΝΡ. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-41

42 Αναγωγιμότητα Πολυωνυμικού Χρόνου Τι εννοούμε λέγοντας π.χ. ότι To Πρόβλημα ΚΛΙΚΑ είναι τουλάχιστον τόσο δύσκολο όσο και το Πρόβλημα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ ; Εννοούμε ότι Αν το πρόβλημα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ δεν επιλύεται μέσω κάποιου πολυωνυμικού αλγορίθμου τότε και το πρόβλημα ΚΛΙΚΑ δεν επιλύεται μέσω κάποιου πολυωνυμικού αλγόριθμου. Ισοδύναμα, μπορούμε να πούμε ότι οποιαδήποτε μηχανή Turing πολυωνυμικού χρόνου για το πρόβλημα ΚΛΙΚΑ μπορεί να μετασχηματιστεί σε μια μηχανή Turing πολυωνυμικού χρόνου για το πρόβλημα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-42

43 ΘΕΩΡΗΜΑ Αναγωγή 3SAT στην ΚΛΙΚΑ Αν η γλώσσα ΚΛΙΚΑ μπορεί να διαγνωστεί σε πολυωνυμικό χρόνο τότε και η γλώσσα 3SATμπορεί να διαγνωστεί σε πολυωνυμικό χρόνο. Απόδειξη: Ας υποθέσουμε ότι το πρόβλημα της ΚΛΙΚΑΣ μπορεί να διαγνωστεί σε πολυωνυμικό χρόνο. Δηλαδή υπάρχει αλγόριθμος ο οποίος με δεδομένα εισόδου ένα γράφο και ένα ακέραιο k μπορεί να αποφασίσει κατά πόσο υπάρχει κλίκα μεγέθους k. Έστω ένας 3ΚΣΜ τύπος: ( a b1 c1) ( a2 b2 c2 )... ( a b c 1 k k k ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-43

44 Αναγωγή 3SAT στην ΚΛΙΚΑ O τύπος αυτός μπορεί να μεταφραστεί σε πολυωνυμικό χρόνο σε ένα γράφο, έτσι ώστε ο γράφος να περιέχει κλίκα μεγέθους k αν και μόνο αν ο τύπος είναι αληθεύσιμος. Συνεπώς, μπορούμε να τρέξουμε τον αλγόριθμο ύπαρξης κλίκας στον γράφο που παράγεται: Αν ο αλγόριθμος απαντήσει θετικά τότε ο τύπος είναι αληθεύσιμος Αν ο αλγόριθμος απαντήσει αρνητικά τότε ο τύπος είναι μη αληθεύσιμος Πως μπορεί να υλοποιηθεί αυτή η αναγωγή; Δημιουργείται ένας γράφος του οποίου οι κόμβοι είναι όλα τα λεξικογράμματα του τύπου και ακμή ανάμεσα σε δύο κόμβους υπάρχει αν τα σχετικά λεξικογράμματα ανήκουν σε διαφορετικές φράσεις και δεν είναι αντίθετα μεταξύ τους ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-44

45 Αναγωγή 3SAT στην ΚΛΙΚΑ Για παράδειγμα, ο τύπος ( x1 x2 x3) ( x1 x2 x3) ( x1 x2 x3) μεταφράζεται στον γράφο x 1 x 2 x 3 x 1 x 1 x 2 x 2 x 3 x 3 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-45

46 Αναγωγή 3SAT στην ΚΛΙΚΑ Αν η φ είναι αληθεύσιμη τότε και ο σχετικός γράφος περιέχει κλίκα μεγέθους k: Αφού υπάρχει συνδυασμός τιμών που κάνει τη φ True, κάθε φράση περιέχει (τουλάχιστον) ένα αληθές λεξίγραμμα. Παρατηρούμε ότι κάθε ζεύγος τέτοιων λεξιγραμμάτων συνδέεται με ακμή στον γράφο αφού δεν μπορούν να είναι αντίθετα (δεν είναι δυνατόν μια μεταβλητή να πάρει ταυτόχρονα τιμές T και F) Αν ο σχετικός γράφος περιέχει κλίκα μεγέθους k τότε και η φ είναι αληθεύσιμη: Αν πάρουμε κάθε λεξίγραμμα της κλίκας και του αποδώσουμε την τιμή Τ τότε ο τύπος παίρνει επίσης την τιμή Τ. Συμπέρασμα: Αν το πρόβλημα ΚΛΙΚΑ επιλύεται σε πολυωνυμικό χρόνο τότε το ίδιο ισχύει και για το πρόβλημα 3SAT. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-46

47 NP-Πληρότητα ΟΡΙΣΜΟΣ Μια γλώσσα Β είναι ΝΡ-πλήρης αν ικανοποιεί τις πιο κάτω συνθήκες: 1. Η Β ανήκει στην κλάση ΝΡ 2. Κάθε γλώσσα B ΝΡ ανάγεται στη A σε πολυωνυμικό χρόνο. ΘΕΩΡΗΜΑ Αν η γλώσσα Β είναι ΝΡ-πλήρης και Β Ρ τότε Ρ = ΝΡ. ΘΕΩΡΗΜΑ Αν η γλώσσα Β είναι ΝΡ-πλήρης, η γλώσσα Γ ΝΡ και επιπλέον η Β μπορεί να αναχθεί σε πολυωνυμικό χρόνο στη Γ, τότε η Γ είναι επίσης ΝΡπλήρης. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-47

48 ΝΡ-Πλήρεις Γλώσσες Η γλώσσα SAT (πόρισμα Θεωρήματος Cook-Levin) H γλώσσα 3SAT H γλώσσα ΧΑΜΙΛΤΟΝΙΑΝΗ_ΔΙΑΔΡΟΜΗ Χρωματισμός Γράφων Περισσότερα από τα διαγνώσιμα προβλήματα είτε ανήκουν στην Ρ είτε είναι ΝΡ-πλήρη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 10-48

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική

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

Φροντιστήριο 11 Λύσεις

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

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

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

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

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

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

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

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1 Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε

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

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

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

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

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

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,

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

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

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε

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

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

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

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

Φροντιστήριο 10 Λύσεις

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

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

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

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

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

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

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

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

Φροντιστήριο 9 Λύσεις

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

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

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

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

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. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιµότητα Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβληµα αναζήτησης (search problem) Ένα πρόβληµα αναζήτησης είναι ένα πρόβληµα στο

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

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

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

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές

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

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

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

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

Φροντιστήριο 8 Λύσεις

Φροντιστήριο 8 Λύσεις Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

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

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

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

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

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

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

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

Κλάση NP, NP-Complete Προβλήματα

Κλάση NP, NP-Complete Προβλήματα Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14 Προβλήματα Απόφασης & Βελτιστοποίησης 2 Πρόβλημα Απόφασης: Κάθε πρόβλημα που

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

Φροντιστήριο 8 Λύσεις

Φροντιστήριο 8 Λύσεις Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

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

Ασκήσεις από παλιές εξετάσεις

Ασκήσεις από παλιές εξετάσεις Άσκηση 2 - Τελική εξέταση 2012 Ασκήσεις από παλιές εξετάσεις (α) [10 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. a a q 0 a, ε q

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

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ : Θεωρία υπολογισµών. Συναρτήσεις και ο υπολογισµός τους. Μηχανές Turig.3 Καθολικές γλώσσες προγραµµατισµού.4 Μια µη υπολογίσιµη συνάρτηση.5 Πολυπλοκότητα προβληµάτων.6 Κρυπτογραφία δηµόσιου κλειδιού.

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

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

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

t M (w) T ( w ) O( n) = O(n 2 )

t M (w) T ( w ) O( n) = O(n 2 ) Κεφάλαιο 9 Υπολογιστική Πολυπλοκότητα Σύνοψη Πέρα από το ερώτημα του αν για ένα πρόβλημα υπάρχει Μηχανή Turing, που το επιλύει, μας απασχολεί επίσης και το ερώτημα του αν ένα πρόβλημα είναι «πρακτικά»

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές

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

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

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

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

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

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

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

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

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

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

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 19 December 2008 1 1 Κλάση NP 2 Μη-Ντετερμινιστικές Μηχανές Turing: Eίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού 12.1 Συναρτήσεις και ο υπολογισμός τους 12.2 Μηχανές Turing 12.3 Καθολικές γλώσσες προγραμματισμού 12.4 Μια μη υπολογίσιμη συνάρτηση 12.5 Πολυπλοκότητα προβλημάτων 12.6

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 26 Ιουνίου 2013 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 180 Ερώτημα Μονάδες Βαθμολογία 1 10+10 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι HY118-Διακριτά Μαθηματικά Θεωρία γράφων / γραφήματα Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

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

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων.

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων. HY118-Διακριτά Μαθηματικά Θεωρία γράφων/ γραφήματα Τρίτη, 15/05/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 16-May-18 1 1 16-May-18 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 1 Πέντε Αντιπροσωπευτικά Προβλήματα Έκδοση 1.4, 30/10/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 1.2 Πέντε Αντιπροσωπευτικά Προβλήματα 1. Χρονοπρογραμματισμός Διαστημάτων

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

Chapter 7, 8 : Completeness

Chapter 7, 8 : Completeness CSC 314: Switching Theory Chapter 7, 8 : Completeness 19 December 2008 1 1 Αναγωγές Πολυωνυμικού Χρόνου Ορισμός. f: Σ * Σ * ονομάζεται υπολογίσιμη σε πολυνωνυμικό χρόνο αν υπάρχει μια πολυωνυμικά φραγμένη

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

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 Θεωρία γράφων / γραφήματα 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

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

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

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

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

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας

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

Μη Ντετερμινισμός και NP-Πληρότητα

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

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

Ασυμπτωτικός Συμβολισμός

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

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

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

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

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

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Πέµπτη, 19/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι έχουµε δει µέχρι τώρα Κατευθυνόµενοι µη κατευθυνόµενοι

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

Ασυμπτωτικός Συμβολισμός

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

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

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

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

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού Συναρτήσεις και υπολογισιμότητά τους Μηχανές Turig Στοιχειώδης γλώσσα προγραμματισμού Μη υπολογίσιμη συνάρτηση Πολυπλοκότητα προβλημάτων Προβλήματα κλάσης P, NP, NP- Complete

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα

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

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 είναι ένα γνήσιο

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91 Ε.Μ.Πoλυτεχνείο ΣΗΜΜΥ, ΣΕΜΦΕ Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Διδάσκων: Ε.Ζαχος Ονοματεπώνυμο:... Αριθμός Μητρώου:... Σχολή:... εξάμηνο:... ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 005 Σύνολο

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

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

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

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

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

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

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

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

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Απόστολος Φίλιππας Τµήµα Μηχανικών Η/Υ και Πληροφορικής 19 Μαΐου,

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και P-Πληρότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική Μηχ. Turing (ΝTM)

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση Πρόλογος του επιµελητή xiii Πρόλογος στην πρώτη έκδοση xv Προς τους ϕοιτητές.......................... xv Προς τους διδάσκοντες........................ xvii Ηπρώτηέκδοση........................... xviii

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

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

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

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

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

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

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