214 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ 7.1 Το Πρόβλημα του Τερματισμού Θεώρημα 7.1 (Πρόβλημα του Τερματισμού - ημιαπόφαση) Η γλώσσα του Προβ

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

Download "214 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ 7.1 Το Πρόβλημα του Τερματισμού Θεώρημα 7.1 (Πρόβλημα του Τερματισμού - ημιαπόφαση) Η γλώσσα του Προβ"

Transcript

1 Κεφάλαιο 7 Επιλυσιμότητα - Μη επιλυσιμότητα Σύνοψη Στα προηγούμενα κεφάλαια επικεντρωθήκαμε σε επιλύσιμα προβλήματα και μελετήσαμε υπολογιστικά μοντέλα με δυνατότητες, που συνεχώς διευρύναμε. Το τελευταίο υπολογιστικό μοντέλο, που μελετήθηκε, είναι οι Μηχανές Turing, που σύμφωνα με τη Θέση των Church - Turing είναι το πιο ισχυρό υπολογιστικό μοντέλο, που μπορεί να υπάρξει (υπάρχουν και άλλα ισοδύναμα μοντέλα). Μήπως αυτό σημαίνει ότι μπορούμε να κατασκευάσουμε μία κατάλληλη Μηχανή Turing, για να επιλύσουμε το οποιοδήποτε πρόβλημα, το οποίο μπορεί να περιγραφεί σε τυπική γλώσσα; Η απάντηση είναι αρνητική. Υπάρχουν καλώς ορισμένα προβλήματα, για τα οποία δεν είναι δυνατό να κατασκευαστεί Μηχανή Turing, που να τα επιλύει. Στο κεφάλαιο αυτό θα ξεκινήσουμε από ένα πρώτο θεμελιώδες αποτέλεσμα, που δείχνει τα όρια που μας περιορίζουν στο τι μπορεί να υπολογιστεί και τι όχι. Στη συνέχεια θα παρουσιάσουμε και άλλα μη επιλύσιμα προβλήματα και θα δείξουμε το πώς μπορούμε να αναλύουμε νέα προβλήματα, για να δείξουμε το αν είναι επιλύσιμα ή μη. Προαπαιτούμενη γνώση Για την κατανόηση του κεφαλαίου θα πρέπει ο αναγνώστης να έχει αφομοιώσει τις μαθηματικές έννοιες του Παραρτήματος I, καθώς και τους ορισμούς και τα αποτελέσματα του Κεφαλαίου

2 214 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ 7.1 Το Πρόβλημα του Τερματισμού Θεώρημα 7.1 (Πρόβλημα του Τερματισμού - ημιαπόφαση) Η γλώσσα του Προβλήματος του Τερματισμού: H = {< M, w >: η ΜΤ M τερματίζει για την είσοδο w} είναι ημιαποφασίσιμη. Απόδειξη: Η απόδειξη στηρίζεται σε κατάλληλη κατασκευή μιας ΜΤ M SH ημιαπόφασης. Το μόνο, που χρειάζεται να κάνει η μηχανή αυτή είναι η εκτέλεση της M με είσοδο w και εφόσον η M τερματίσει, τότε η M SH αποδέχεται την είσοδο. M SH (< M, w >) = 1. Εκτέλεσε την M για είσοδο w, 2. Αποδοχή. Η περιγραφείσα μηχανή M SH αποδέχεται την είσοδο, αν και μόνο αν η M τερματίζει όταν δέχεται είσοδο w. Επομένως η M SH ημιαποφασίζει την H. Ομως η γλώσσα H του Προβλήματος του Τερματισμού δεν είναι αποφασίσιμη και το αποτέλεσμα αυτό είναι ο ακρογωνιαίος λίθος της Θεωρίας της Μη Επιλυσιμότητας, που θα αναπτύξουμε σε αυτό το κεφάλαιο. Θεώρημα 7.2 (Πρόβλημα του Τερματισμού - μη αποφασίσιμο) Η γλώσσα του Προβλήματος του Τερματισμού: H = {< M, w >: η ΜΤ M τερματίζει για την είσοδο w} δεν είναι αποφασίσιμη. Απόδειξη: Η απόδειξη γίνεται με εις άτοπο απαγωγή. Αν η H ήταν αποφασίσιμη, τότε θα υπήρχε μία ΜΤ M H, τέτοια ώστε: M H (< M, w >) = 1. Αν < M > είναι η κωδικοποίηση μιας ΜΤ, που τερματίζει για είσοδο w, τότε είναι αποδεκτή, αλλιώς απορρίπτεται.

3 7.1. ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΤΕΡΜΑΤΙΣΜΟΥ 215 Στον ψευδοκώδικα της M H δε δίνουμε μία αναλυτική περιγραφή του πώς αυτή λειτουργεί, επειδή δε χρειάζεται για τις ανάγκες της απόδειξης. Ορίζουμε τώρα μία άλλη ΜΤ M T r ως εξής: M T r (x Σ ) = 1. Αν η M H αποδέχεται την < x, x >, τότε εκτελείται ένας επαναληπτικός βρόχος για πάντα, αλλιώς τερματίζει. Αν υπάρχει ΜΤ M H, τότε θα υπάρχει επίσης και η ΜΤ M T r, που η λεπτομερής περιγραφή της επίσης δεν μας ενδιαφέρει. Ομως σε αυτή την περίπτωση, πώς θα συμπεριφέρεται η M T r για την είσοδο < M T r >; Τότε θα εκτελέσει την M H (< M T r, M T r >) και αν αυτή τερματίσει με αποδοχή, τότε η M T r θα εκτελέσει έναν επαναληπτικό βρόχο για πάντα. Από την άλλη, αν η M H απορρίψει την είσοδο, τότε η M T r θα τερματίσει. Επομένως, βρέθηκε μία είσοδος για την οποία η M H αποτυγχάνει να δώσει το σωστό αποτέλεσμα σχετικά με τη συμπεριφορά της M T r, ανεξάρτητα από το πώς υλοποιείται η M H. Συμπεραίνουμε λοιπόν ότι δεν υπάρχει ορθή υλοποίηση για την M H, κάτι που είναι άτοπο ως προς την υπόθεση που κάναμε αρχικά ότι υπάρχει η μηχανή M H. Επομένως, η γλώσσα H δεν είναι αποφασίσιμη. Τα αποτελέσματα των Θεωρημάτων 7.1 και 7.2 συνοψίζονται στις παρακάτω εναλλακτικές διατυπώσεις, που έχουν καταγραφεί στη σχετική βιβλιογραφία: Η γλώσσα H είναι μη αποφασίσιμη. Το Πρόβλημα του Τερματισμού είναι μη επιλύσιμο, δηλαδή δεν υπάρχει αλγόριθμος (Μηχανή Turing), που υλοποιεί τον ορισμό της M H. Το Πρόβλημα του Μέλους για την οικογένεια των SD γλωσσών δεν είναι επιλύσιμο. Το παρακάτω θεώρημα καταδεικνύει ότι η γλώσσα H είναι το κλειδί για μία θεμελιώδη διάκριση μεταξύ των κλάσεων γλωσσών D και SD. Θεώρημα 7.3 (Διάκριση μεταξύ των κλάσεων D και SD) Αν η γλώσσα H ανήκε στην κλάση D, τότε κάθε γλώσσα που ανήκει στην SD θα ανήκε επίσης και στην D.

4 216 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Απόδειξη: Εστω μία οποιαδήποτε γλώσσα L που ανήκει στην κλάση γλωσσών SD. Εφόσον η L είναι μέλος της SD, άρα υπάρχει μία ΜΤ M L που την ημιαποφασίζει. Υποθέτουμε τώρα ότι η H ανήκει επίσης και στην κλάση D (ήδη ξέρουμε από το Θεώρημα 7.2 ότι αυτό δεν ισχύει). Τότε θα υπήρχε μία ΜΤ, έστω η O, που την αποφασίζει. Ετσι, για να αποφασιστεί αν μία συμβολοσειρά w ανήκει στην L θα μπορούσε να κληθεί αρχικά η O, για να διαπιστωθεί αν η M L πρόκειται να τερματίσει για είσοδο w. Ορίζεται λοιπόν η ΜΤ: M (w) = 1. Εκτέλεσε την ΜΤ O με είσοδο < M L, w >. 2. Αν η O αποδέχεται την είσοδο, τότε: 2.1 Εκτέλεσε την M L για είσοδο w. 2.2 Αν η είσοδος γίνεται δεκτή, τότε αποδοχή, διαφορετικά απόρριψη. 3. Σε κάθε άλλη περίπτωση, απόρριψη. Εφόσον η O αποφασίζει την H, θα τερματίζει για όλες τις εισόδους. Αν λοιπόν τερματίζοντας αποφαίνεται ότι η M L τερματίζει για είσοδο w, τότε με την εκτέλεση της M L διαπιστώνεται αν η w γίνεται αποδεκτή ή απορρίπτεται. Αν από την άλλη, η O αποφαίνεται ότι η M L δεν τερματίζει, τότε αφού η M L δε μπορεί να αποδεχτεί την w, η M απορρίπτει. Επομένως η M τερματίζει σε όλες τις περιπτώσεις με το σωστό αποτέλεσμα. Συμπεραίνουμε ότι αν η H ανήκε στην οικογένεια γλωσσών D, τότε θα ανήκαν επίσης και όλες οι άλλες γλώσσες της οικογένειας SD. Από το περιεχόμενο της Ενότητας 7.2 είναι ξεκάθαρο ότι η H δεν είναι η μοναδική γλώσσα, που δεν ανήκει στην κλάση D. 7.2 Αποφασίσιμα και Μη αποφασίσιμα Προβλήματα Μετά από τη διαπίστωση ότι το Πρόβλημα του Τερματισμού δεν είναι αποφασίσιμο, η χρησιμότητα των ΜΤ που ημιαποφασίζουν, είναι πλέον ξεκάθαρη: η ημιαπόφαση είναι για κάποια προβλήματα το καλύτερο, που μπορούμε να επιτύχουμε. Εχοντας λοιπόν γνώση των ορίων της διαδικασίας, που αποκαλούμε «υπολογισμός», προσπαθούμε τώρα να εξερευνήσουμε τη σχέση μεταξύ των κλάσεων γλωσσών D και SD.

5 7.2. ΑΠΟΦΑΣΙΣΙΜΑ - ΜΗ ΑΠΟΦΑΣΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ 217 Θεώρημα 7.4 (Γλώσσες Χωρίς Συμφραζόμενα στην D) Το σύνολο των Γλωσσών Χωρίς Συμφραζόμενα είναι γνήσιο υποσύνολο της κλάσης γλωσσών D. Απόδειξη: Είναι σαφές ότι δοθείσας μιας ΓΧΣ L και μιας συμβολοσειράς w στο αλφάβητο της L, υπάρχει αλγόριθμος που αποφασίζει αν w L. Ενας τέτοιος αλγόριθμος είναι ο: ΑποφάσισεΓΧΣμεΓραμματική(L: ΓΧΣ, w: συμβολοσειρά) = 1. Αν η L ορίζεται από ένα ΑΣ, χρησιμοποιήσε τον αλγόριθμο μετασχηματισμού της Ενότητας 5.2 για τη δημουργία μιας γραμματικής G, τέτοιας ώστε L(G) = L(M). 2. Αν η L ορίζεται από μία γραμματική G, τότε χρησιμοποιήσε την G. 3. Αν w = ɛ, τότε αν η αρχή της γραμματικής είναι απαλείψιμο σύμβολο, η w γίνεται δεκτή, αλλιώς απορρίπτεται. 4. Αν w ɛ τότε: 4.1. Από την G δημιούργησε μία γραμματική G με L(G ) = L(G) {ɛ} και η G να είναι σε κανονική μορφή Chomsky (απόδειξη Θεωρήματος 4.2) Αν η w παράγεται από την G αυτό γίνεται σε 2 w 1 βήματα. Δοκίμασε όλες τις παραγωγές της G με αυτό τον αριθμό βημάτων. Αν μία από αυτές παράγει την w, τότε η w γίνεται δεκτή, αλλιώς απορρίπτεται. Επομένως η κλάση των ΓΧΣ είναι ένα υποσύνολο της κλάσης γλωσσών D. Ομως στις Ενότητες 1.3 και 5.4 είδαμε ότι η γλώσσα {a n b n c n : n 0} είναι αποφασίσιμη, αλλά δεν είναι ΓΧΣ. Ετσι αποδεικνύεται ότι το σύνολο των ΓΧΣ είναι γνήσιο υποσύνολο της κλάσης γλωσσών D. Θεώρημα 7.5 (Η D είναι υποσύνολο της SD) Κάθε αποφασίσιμη γλώσσα είναι επίσης και ημιαποφασίσιμη. Απόδειξη: Η απόδειξη είναι συνέπεια των ορισμών των ΜΤ απόφασης (Ορισμός 6.3) και ημιαπόφασης (Ορισμός 6.4). Αν μία γλώσσα L ανήκει στην κλάση γλωσσών D, τότε αποφασίζεται από κάποια ΜΤ M. Ετσι, η M α- ποδέχεται όλες τις συμβολοσειρές της L και μόνο αυτές και επομένως η M είναι επίσης και μία μηχανή ημιαπόφασης για την L. Άρα υπάρχει μία ΜΤ, που ημιαποφασίζει την L και γι αυτό η L ανήκει και στο SD.

6 218 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Θεώρημα 7.6 (Δεν ανήκουν όλες οι γλώσσες στην SD) Υπάρχουν γλώσσες, που δεν ανήκουν στην κλάση SD. Απόδειξη: Πρώτα αποδεικνύουμε ότι για ένα μη κενό αλφάβητο Σ υπάρχει ένα αριθμήσιμα άπειρο πλήθος γλωσσών του SD. Κάθε ημιαποφασίσιμη γλώσσα ημιαποφασίζεται από κάποια ΜΤ. Είναι δυνατό να απαριθμηθούν λεξικογραφικά όλες οι συντακτικά σωστές ΜΤ με αλφάβητο εισόδου Σ και επομένως υπάρχει ένα αριθμήσιμα άπειρο πλήθος ΜΤ ημιαπόφασης. Δε μπορούμε όμως να έχουμε περισσότερες γλώσσες στο SD από τις ΜΤ, που ημιαποφασίζουν και επομένως θα υπάρχει το πολύ ένα αριθμήσιμα άπειρο πλήθος γλωσσών στο SD. Επειδή για οποιαδήποτε δοθείσα γλώσσα μπορούμε να έχουμε άπειρες στον αριθμό μηχανές, που την ημιαποφασίζουν, δε γίνεται να έχουμε μία ένα προς ένα αντιστοιχία μεταξύ των γλωσσών του SD και των ΜΤ ημιαπόφασης. Από την άλλη, το πλήθος των SD γλωσσών είναι σίγουρα άπειρο, επειδή περιέχονται σε αυτό όλες οι ΓΧΣ, που είναι άπειρες στον αριθμό. Καταλήγουμε λοιπόν ότι υπάρχει τελικά ένα αριθμήσιμα άπειρο πλήθος γλωσσών SD. Το πλήθος των γλωσσών με αλφάβητο Σ είναι μη αριθμήσιμα άπειρο και επομένως έχουμε περισσότερες γλώσσες με αλφάβητο Σ από το πλήθος των γλωσσών SD. Άρα, τελικά θα πρέπει να υπάρχει τουλάχιστο μία γλώσσα, που δεν είναι ημιαποφασίσιμη ( SD). Θεώρημα 7.7 (Κλειστότητα της D ως προς το συμπλήρωμα) Η κλάση D είναι κλειστή ως προς το συμπλήρωμα. Απόδειξη: Η απόδειξη γίνεται με κατασκευή, που είναι ανάλογη με την κατασκευή, που απαιτείται για την απόδειξη του αντίστοιχου αποτελέσματος για τις κανονικές γλώσσες (Θεώρημα 2.6). Εστω μία αποφασίσιμη γλώσσα L. Α- φού η L ανήκει στο D, τότε θα υπάρχει μία ντεντερμινιστική ΜΤ M, που την αποφασίζει. Από την M κατασκευάζουμε την M, που θα αποφασίζει την L. Αρχικά θα έχουμε M = M. Μετά θα αντιστρέψουμε τις καταστάσεις y και n. Η M θα τερματίζει και θα αποδέχεται την είσοδο, όταν η M για την ίδια είσοδο θα έπρεπε να τερματίσει και να την απορρίψει. Από την άλλη, η M τερματίζει και απορρίπτει τις εισόδους, που η M αποδέχεται. Εφόσον η M τερματίζει σε όλες τις περιπτώσεις, το ίδιο συμβαίνει και με την M. Επιπλέον, η M αποδέχεται ακριβώς εκείνες τις συμβολοσειρές, που απορρίπτει η M, δηλαδή τη γλώσσα L. Άρα υπάρχει μία ΜΤ, που αποφασίζει την L, οπότε η συγκεκριμένη γλώσσα ανήκει επίσης στο D.

7 7.2. ΑΠΟΦΑΣΙΣΙΜΑ - ΜΗ ΑΠΟΦΑΣΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ 219 Θεώρημα 7.8 (Μη κλειστότητα SD ως προς το συμπλήρωμα) Η κλάση SD δεν είναι κλειστή ως προς το συμπλήρωμα. Απόδειξη: Η απόδειξη γίνεται με εις άτοπο απαγωγή. Ξεκινάμε λοιπόν από την υπόθεση ότι η κλάση SD είναι κλειστή ως προς το συμπλήρωμα. Τότε όμως για κάθε γλώσσα L του SD, η L θα ανήκει επίσης στο SD. Άρα θα υπάρχει μία ΜΤ M, που ημιαποφασίζει την L και μία άλλη ΜΤ M, που ημιαποφασίζει την L. Τότε όμως θα μπορούσαμε από αυτές τις δύο ΜΤ να κατασκευάσουμε μία ΜΤ M, που θα αποφασίζει την L. Για μία είσοδο w, η M θα προσομοιώνει παράλληλα τη λειτουργία των M και M. Αφού η w είτε θα είναι ένα στοιχείο της L, είτε ένα στοιχείο της L, μία από τις M και M θα πρέπει τελικά να την αποδέχεται. Αν την αποδέχεται η M, τότε η M τερματίζει και την αποδέχεται. Αν όμως την αποδέχεται η M, τότε η M τερματίζει και την απορρίπτει. Από τα παραπάνω προκύπτει ότι αν οι γλώσσες της SD είναι κλειστές ως προς το συμπλήρωμα, τότε όλες οι γλώσσες της κλάσης SD θα ανήκαν επίσης και στην κλάση D. Γνωρίζουμε όμως ότι αυτό δεν ισχύει, αφού στα Θεωρήματα 7.1 και 7.2 αποδείχθηκε ότι η γλώσσα H ανήκει στην SD, αλλά όχι στην D. Θεώρημα 7.9 (L και L στην SD - η L είναι αποφασίσιμη) Μία γλώσσα L ανήκει στην D, αν και μόνο αν αυτή και το συμπλήρωμά της ανήκουν στην SD. Απόδειξη: Αποδεικνύουμε και τις δύο κατευθύνσεις της συνεπαγωγής. Αρχικά αποδεικνύουμε ότι αν η L ανήκει στην D, τότε οι L και L είναι σίγουρα μέλη της SD. Αφού η L ανήκει στην D, σύμφωνα με το Θεώρημα 7.5 θα είναι επίσης και μέλος της SD. Από το Θεώρημα 7.7, η κλάση γλωσσών D είναι κλειστή ως προς το συμπλήρωμα και επομένως η L θα ανήκει επίσης στην D. Τότε όμως, πάλι σύμφωνα με το Θεώρημα 7.5, οι δύο αυτές γλώσσες θα είναι επίσης και στοιχεία της SD. Στη συνέχεια αποδεικνύουμε ότι αν οι L και L είναι μέλη της SD, τότε η L ανήκει στην D. Η απόδειξη στηρίζεται στην ίδια κατασκευή, που χρησιμοποιήσαμε για την απόδειξη του Θεώρηματος 7.8. Αφού οι L και L είναι μέλη της SD, τότε υπάρχουν ΜΤ και για τις δύο, που τις ημιαποφασίζουν. Άρα θα μπορεί να κατασκευαστεί μία νέα ΜΤ M, που θα αποφασίζει την L και επομένως η L θα ανήκει στην κλάση D.

8 220 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Θεώρημα 7.10 (Η H δεν ανήκει στην SD) Η γλώσσα H, που ορίζεται από τις συμβολοσειρές {< M, w >: η ΜΤ M δεν τερματίζει για την είσοδο w} δεν ανήκει στο SD. Απόδειξη: Από το Θεώρημα 7.1 γνωρίζουμε ότι η H ανήκει στην κλάση SD. Από το Θεώρημα 7.9 γνωρίζουμε ότι αν η H ήταν επίσης μέλος της SD, τότε η H θα ανήκε τελικά και στην D. Αυτό όμως είναι γνωστό από το Θεώρημα 7.2 ότι δεν ισχύει. Επομένως, η H δεν ανήκει στην κλάση SD Απαρίθμηση μιας γλώσσας Σε όλες τις περιπτώσεις ορισμού γλωσσών μέχρι τώρα είτε χρησιμοποιήσαμε έναν παραγωγό γλώσσας (κανονική έκφραση ή γραμματική) είτε έναν αναγνωριστή (μηχανή που αποφασίζει αν μία συμβολοσειρά ανήκει στη γλώσσα). Μία γλώσσα μπορεί επίσης να οριστεί μέσω μιας μηχανής, που λειτουργεί ως γεννήτρια και απαριθμεί (με κάποια σειρά) της συμβολοσειρές της. Στην ενότητα αυτή θα δούμε το πώς μπορεί να χρησιμοποιηθεί μία ΜΤ για αυτό το σκοπό. Μία ΜΤ M, που απαριθμεί τις συμβολοσειρές μιας γλώσσας L, αρχίζει πάντα από μία κενή ταινία. Μετά από ένα διάστημα υπολογισμού εγγράφει μία συμβολοσειρά της L στην ταινία, οπότε αποτυπώνονται τα περιεχόμενα της ταινίας και στη συνέχεια επαναλαμβάνεται συνεχώς η ίδια διαδικασία για την εγγραφή κάθε φορά και την αποτύπωση μιας νέας συμβολοσειράς της L. Αν η L είναι πεπερασμένη, τότε η M μπορεί να σχεδιαστεί έτσι ώστε τελικά να τερματίζει. Αν η L είναι άπειρη, τότε αναγκαστικά η M πρέπει να συνεχίσει τη λειτουργία της για πάντα. Αν μία ΜΤ M συμπεριφέρεται, όπως στην περιγραφή που προηγήθηκε, τότε τελικά παράγει στην έξοδό της όλες τις συμβολοσειρές της L και μόνο αυτές. Σε αυτή την περίπτωση λέμε ότι η M απαριθμεί τη γλώσσα L. Κάθε ΜΤ απαρίθμησης M θα πρέπει περιστασιακά να επισκέπτεται μία ειδική κατάσταση, που θα την ονομάζουμε p, για να μας θυμίζει τη λέξη print. Κάθε φορά που η M θα επισκέπτεται την p, θα θεωρούμε ότι έχει απαριθμηθεί η μικρότερη συμβολοσειρά, που περιλαμβάνει όλους τους μη κενούς χαρακτήρες στην ταινία της M. Τονίζουμε ότι η p δεν είναι τελική κατάσταση, αλλά α- πλά δείχνει ότι στα τρέχοντα περιεχόμενα της ταινίας βρίσκεται ένα μέλος της γλώσσας L. Αν βέβαια συμβαίνει η L να είναι πεπερασμένη, τότε θα μπορούσε η M να έχει μία τελική κατάσταση. Τυπικά λέμε ότι μία ΜΤ M απαριθμεί

9 7.2. ΑΠΟΦΑΣΙΣΙΜΑ - ΜΗ ΑΠΟΦΑΣΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ 221 τη γλώσσα L, αν και μόνο αν για κάποια συγκεκριμένη κατάσταση p της M έχουμε: L = {w : (s, ) M (p, w)} Μία γλώσσα L είναι απαριθμήσιμη κατά Turing αν και μόνο αν υπάρχει μία ΜΤ, που την απαριθμεί. Σημειώνουμε εδώ ότι δεν έχει διατυπωθεί κάποιος ισχυρισμός, για τη σειρά με την οποία γίνεται η απαρίθμηση των συμβολοσειρών της L. Στους ορισμούς ΜΤ απαρίθμησης θα χρησιμοποιούμε τη στοιχειώδη ΜΤ P, που θα σημαίνει ότι η σύνθετη ΜΤ επισκέπτεται την κατάσταση p, για να αποτυπώσει μία νέα συμβολοσειρά από τα τρέχοντα περιεχόμενα της ταινίας. Παράδειγμα 7.1 (Λεξικογραφική και τυχαία απαρίθμηση) Ας θεωρήσουμε τη γλώσσα a. Στο Σχήμα 7.1 απεικονίζονται δύο διαφορετικές ΜΤ, που απαριθμούν τη συγκεκριμένη γλώσσα. M 1 M 2 > P ar > P ap R ararap P Σχήμα 7.1: Λεξικογραφική και τυχαία απαρίθμηση Η ΜΤ M 1 απαριθμεί τη γλώσσα a με λεξικογραφική σειρά. Η ΜΤ M 2 απαριθμεί την ίδια γλώσσα παράγοντας την ακολουθία ɛ, a, aaa, aa, aaaaa, aaaa,.... Επομένως, μία ΜΤ μπορεί να χρησιμοποιηθεί για την αποδοχή μιας γλώσσας, αλλά μπορεί να χρησιμοποιηθεί επίσης και για την απαρίθμηση μιας γλώσσας. Θα λέμε ότι η ΜΤ M απαριθμεί λεξικογραφικά τη γλώσσα L αν και μόνο αν η M απαριθμεί τα στοιχεία της L με λεξικογραφική σειρά. Μία γλώσσα L λέγεται λεξικογραφικά απαριθμήσιμη κατά Turing, αν και μόνο αν υπάρχει μία ΜΤ, που την απαριθμεί λεξικογραφικά.

10 222 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Υπάρχει μήπως κάποια σχέση μεταξύ της κλάσης των απαριθμήσιμων κατά Turing γλωσσών και της κλάσης των απαφασίσιμων (D) ή των ημιαποφασίσιμων (SD) γλωσσών; Η απάντηση είναι καταφατική και επιβεβαιώνεται από το Θεώρημα 7.11, που λέει ότι η κλάση των γλωσσών, που μπορεί να απαριθμούνται από μία ΜΤ ταυτίζεται με την κλάση SD. Θεώρημα 7.11 (Απαριθμήσιμη κατά Turing - ημιαποφασίσιμη) Μία γλώσσα είναι στο SD αν και μόνο αν είναι απαριθμήσιμη κατά Turing. Απόδειξη: Πρέπει να γίνουν δύο αποδείξεις: να δειχθεί καταρχήν ότι αν μία γλώσσα είναι απαριθμήσιμη κατά Turing, τότε ανήκει στο SD και στη συνέχεια να δειχθεί ότι αν μία γλώσσα είναι στο SD, τότε είναι απαριθμήσιμη κατά Turing. Αν μία γλώσσα είναι απαριθμήσιμη κατά Turing, τότε είναι στο SD: Αν μία γλώσσα L είναι απαριθμήσιμη κατά Turing, τότε θα υπάρχει μία ΜΤ M, που την απαριθμεί. Μετατρέπουμε λοιπόν την M σε μία ΜΤ M, που ημιαποφασίζει την L: M (w Σ ) = 1. Αποθήκευσε την είσοδο w σε μία δεύτερη ταινία. 2. Κάλεσε την M, που πρόκειται να απαριθμήσει την L. Κάθε φορά, που απαριθμείται ένα στοιχείο της L κάνε σύγκριση με την w. Αν ταιριάζουν, τότε η μηχανή τερματίζει με αποδοχή. Διαφορετικά, συνέχισε με την απαρίθμηση. Επειδή υπάρχει ΜΤ, που ημιαποφασίζει την L, η γλώσσα είναι στο SD. Αν μία γλώσσα είναι στο SD, τότε είναι απαριθμήσιμη κατά Turing: Αν η L Σ (για κάποιο Σ) είναι στο SD, τότε υπάρχει ΜΤ M, που την ημιαποφασίζει. Θα χρησιμοποιήσουμε την M για να δημιουργήσουμε μία νέα μηχανή M, που απαριθμεί την L. Η ιδέα για την κατασκευή της M είναι αυτή να απαριθμεί λεξικογραφικά το Σ. Κάθε μία από τις συμβολοσειρές, που απαριθμεί θα είναι ένα υποψήφιο μέλος της L. Ετσι, κάθε τέτοια συμβολοσειρά w i θα την περνάει στην M και αν η M αποδέχεται την w i, τότε αυτή θα είναι μία έξοδος της M. Το πρόβλημα είναι ότι δεν υπάρχει εγγύηση ότι η M τερματίζει και επομένως θα πρέπει να αποφευχθεί η κλήση της M με τρόπο, που η M θα περιμένει την M για πάντα. Για να αποφευχθεί αυτή η πιθανότητα θα πρέπει η M να ελέγχει την ε- κτέλεση της M. Πιο συγκεκριμένα, αν καλεί την M για την w 1 θα αφήνει τον υπολογισμό να προοδεύει κατά ένα βήμα. Στη συνέχεια θα εξετάζεται και

11 7.3. ΑΝΑΓΩΓ ΕΣ 223 η w 2 και θα επιτρέπει στον υπολογισμό της M να προοδεύει κατά ένα βήμα στην w 2 και κατά ένα επιπλέον βήμα στην w 1. Το ίδιο θα γίνεται με κάθε νέα συμβολοσειρά w i, που εξετάζεται. Κάθε φορά, που η M θα αποδέχεται μία συμβολοσειρά αυτής της ακολουθίας, η M θα τη δίνει ως έξοδο. Αν υπάρχει κάποια συμβολοσειρά w j L, τότε ο υπολογισμός μπορεί να μην τερματίσει ποτέ. Σε κάθε περίπτωση, η M δε θα δώσει ποτέ την w j στην έξοδο. Αυτή η τεχνική λέγεται συναρμογή και είναι χρήσιμη και για άλλες παρόμοιες αποδείξεις. Η περιγραφή της M έχει λοιπόν ως εξής: M () = 1. Απαρίθμησε όλες τις w Σ λεξικογραφικά. Καθώς απαριθμείται κάθε συμβολοσειρά w i : 1.1 Ξεκίνησε ένα αντίγραφο της M με είσοδο w i. 1.2 Εκτέλεσε ένα βήμα για κάθε M i, που έχει ξεκινήσει μέχρι στιγμής, εκτός από τις μηχανές, που προηγουμένως έχουν τερματίσει. 2. Κάθε φορά, που μία M i αποδέχεται, γράψε w i στην έξοδο. Θεώρημα 7.12 (Λεξικογραφικά απαριθμήσιμη - αποφασίσιμη) Μία γλώσσα είναι στο D αν και μόνο αν είναι λεξικογραφικά απαριθμήσιμη κατά Turing. Απόδειξη: Η απόδειξη στηρίζεται σε κατασκευές αντίστοιχες αυτών, που χρησιμοποιήθηκαν στην απόδειξη του Θεωρήματος 7.11, αλλά σε αυτή την περίπτωση δε χρειάζεται να γίνει χρήση συναρμογής. 7.3 Αναγωγές Στην ενότητα αυτή θα περιγράψουμε μία τεχνική απόδειξης, που χρησιμοποιείται για να δείξουμε ότι μία γλώσσα L δεν ανήκει στο D, την αναγωγή. Με την τεχνική της αναγωγής θα μπορούμε να δείχνουμε ότι αν η L ήταν στο D, τότε θα μπορούσαμε να χρησιμοποιήσουμε την ΜΤ, που αποφασίζει τη γλώσσα, για να αποφασίσουμε κάποια άλλη γλώσσα, που ήδη ξέρουμε όμως ότι δεν είναι αποφασίσιμη. Ετσι θα μπορούμε να συμπεραίνουμε ότι και η L δε μπορεί να είναι αποφασίσιμη.

12 224 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Εδώ αξίζει να υπενθυμίσουμε ότι έχουμε ήδη αποδείξει για δύο συγκεκριμένες γλώσσες πως αυτές δεν είναι στο D. Από το Θεώρημα 7.2 έχουμε δείξει για τη γλώσσα H = {< M, w >: η ΜΤ M τερματίζει για την είσοδο w} και από το Θεώρημα 7.10 για τη γλώσσα H = {< M, w >: η ΜΤ M δεν τερματίζει για την είσοδο w} ότι και οι δύο δεν είναι αποφσίσιμες. Εφαρμόζοντας λοιπόν την τεχνική της αναγωγής θα έχουμε την ευκαιρία να αποδείξουμε ότι και πολλές άλλες γλώσσες για αρκετά ενδιαφέροντα προβλήματα δεν είναι αποφασίσιμες. Μία αναγωγή R από τη γλώσσα L 1 στην L 2 αποτελείται από μία ή περισσότερες ΜΤ με την εξής ιδιότητα: αν υπάρχει μία ΜΤ Oracle, που αποφασίζει (ή ημιαποφασίζει) την L 2, τότε είναι δυνατό να συνθέσουμε τις ΜΤ στην R με την Oracle, για να δημιουργήσουμε μία ΜΤ απόφασης (ή ημιαπόφασης) για την L 1. Αρχικά θα επικεντρωθούμε στην ύπαρξη ΜΤ απόφασης και στη συνέχεια θα χρησιμοποιήσουμε την ίδια ιδέα, για να εξερευνήσουμε την ύπαρξη ΜΤ η- μιαπόφασης. Θα χρησιμοποιήσουμε το συμβολισμό P P για να εκφράζουμε ότι το πρόβλημα P μπορεί να αναχθεί στο P. Αν και απαιτείται μία αναγωγή να αποτελείται από μία ή περισσότερες ΜΤ, θα επιτρέψουμε τη χρήση ψευδογλώσσας ως ένα μέσο ορισμού μηχανών. Επειδή η ιδιότητα - κλειδί μιας αναγωγής είναι η υπολογισιμότητα από ΜΤ, η αναγωγικότητα με αυτή την έννοια μερικές φορές λέγεται αναγωγικότητα κατά Turing. Πώς μπορούμε λοιπόν να χρησιμοποιήσουμε αναγωγή για να δείξουμε ότι κάποια γλώσσα L 2 δεν είναι αποφασίσιμη; Οταν μέσω μιας αναγωγής R α- νάγουμε την L 1 στην L 2, στην ουσία δείχνουμε ότι αν η L 2 είναι στο D, τότε το ίδιο ισχύει και για την L 1 (επειδή η γλώσσα αυτή μπορεί να αποφασιστεί με μία σύνθεση των μηχανών στην R με την Oracle, που αποφασίζει την L 2 ). Τι συμβαίνει λοιπόν αν εμείς ήδη γνωρίζουμε ότι η L 1 δεν είναι στο D; Τότε θα έχουμε δείξει ότι και η L 2 δεν είναι επίσης! Άρα ο ορισμός της αναγωγής μας λέει ότι: (R μία αναγωγή της L 1 στην L 2 ) ( η L 2 στο D) (η L 1 στο D) Αν η L 1 δεν είναι στο D, τότε τουλάχιστο μία από τις υποθέσεις της συνεπαγωγής είναι false. Ετσι, αν γνωρίζουμε ότι η R είναι μία αναγωγή από την L 1 στην L 2, τότε σίγουρα η L 2 δε θ είναι στο D. Ετσι, έχουμε ένα τρόπο για να αποδεικνύουμε ότι κάποια νέα γλώσσα L 2 δεν είναι στο D: βρίσκουμε μία γλώσσα, που ανάγεται στην L 2 και είναι γνωστό

13 7.3. ΑΝΑΓΩΓΕΣ 225 ότι δεν είναι στο D. Αφού ήδη γνωρίζουμε ότι οι H και H δεν είναι στο D μπορούμε να εκμεταλλευτούμε αυτό το γεγονός για να αποδείξουμε ότι το ίδιο ισχύει και για άλλες γλώσσες. Συνοψίζουμε περιγράφοντας τα βήματα, που ακολουθούμε για να δείξουμε ότι μία γλώσσα L 2 δεν είναι στο D: 1. Επιλέγουμε μία γλώσσα L 1 τέτοια ώστε είναι ήδη γνωστό ότι η L 1 δεν είναι στο D και μπορεί να αναχθεί στην L 2, δηλαδή υπάρχει μία ΜΤ απόφασης για αυτήν, αν υπήρχε μία ΜΤ απόφασης για την L Ορίζουμε μία αναγωγή R και περιγράφουμε τη σύνθεση C της R με την Oracle, δηλαδή τη μηχανή που υποθέσαμε ότι αποφασίζει την L Δείχνουμε ότι αν υπάρχει η Oracle, τότε η C ορθά αποφασίζει την L 1 : η R μπορεί να υλοποιηθεί ως μία ή περισσότερες ΜΤ και η C είναι ορθή με την έννοια ότι αποφασίζει σωστά αν η είσοδός της x είναι ένα στοιχείο της L 1. Αυτό το δείχνουμε ως εξής: Αν x L 1, τότε η C(x) αποδέχεται και Αν x L 1, τότε η C(x) απορρίπτει Η πιο εύκολη προσέγγιση, για να αναχθεί ένα πρόβλημα, έστω το A σε ένα πρόβλημα B είναι να βρούμε ένα τρόπο για να μετασχηματίσουμε τις περιπτώσεις του A σε περιπτώσεις του προβλήματος B. Στη συνέχεια περνάμε τη μετασχηματισμένη είσοδο στο πρόγραμμα, που επιλύει το B και επιστρέφουμε το αποτέλεσμα. Μπορούμε να τυποποιήσουμε αυτή την ιδέα ως εξής: δοθέντος ενός αλφάβητου Σ θα λέμε ότι η γλώσσα L 1 ανάγεται απεικονιστικά στην L 2 - και θα το γράφουμε ως L 1 M L 2, αν και μόνο αν υπάρχει μία υπολογίσιμη συνάρτηση f τέτοια ώστε: x Σ, x L 1 ανν f(x) L 2 Γενικά, η συνάρτηση f μας δίνει ένα τρόπο μετασχηματισμού οποιασδήποτε τιμής x σε μία νέα τιμή x, έτσι ώστε να μπορούμε να απαντήσουμε την ερώτηση «Είναι η x στην L 1 ;» απαντώντας αντί για αυτή την εξής: «Είναι η x στην L 2 ;» Αν η f μπορεί να υπολογιστεί από κάποια ΜΤ R, τότε η R είναι μία απεικονιστική αναγωγή από την L 1 στην L 2. Ετσι, αν L 1 M L 2 και

14 226 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ υπάρχει μία ΜΤ Oracle, που αποφασίζει την L 2, τότε η παρακάτω ΜΤ C, που είναι απλά η σύνθεση της Oracle με την R θα αποφασίζει την L 1 : C(x) = Oracle(R(x)) Ο γενικός ορισμός της αναγωγικότητας, που δώσαμε είναι σαφώς πιο ισχυρός από την πιο περιοριστική απεικονιστική αναγωγή. Θυμίζουμε ότι ο πιο γενικός ορισμός μιας αναγωγής από μία γλώσσα L 1 σε μία άλλη L 2 μπορεί να αποτελείται από δύο ή περισσότερες συναρτήσεις, που μπορούμε να συνθέσουμε, ώστε να αποφασίζεται η L 1, αν υπάρχει μία ΜΤ Oracle, που αποφασίζει την L 2. Εχουμε λοιπόν προβλήματα, για τα οποία δεν υπάρχει απεικονιστική αναγωγή, αλλά μπορεί να βρεθεί μία πιο γενική αναγωγή σύμφωνα με τα βήματα που περιγράψαμε. 7.4 (Μη) Αποφασίσιμα Προβλήματα για ΜΤ και Γλώσσες (Μη) Αποφασίσιμα Προβλήματα για ΜΤ Τα προβλήματα, που εξετάζονται στα παρακάτω θεωρήματα είναι μη αποφασίσιμα. Θεώρημα 7.13 (Τερματίζει η M με είσοδο ɛ;) Η γλώσσα H ɛ = {< M >: η ΜΤ M τερματίζει για είσοδο ɛ} δεν είναι στο D, αλλά είναι στο SD. Απόδειξη: Πρώτα θα δείξουμε ότι η H ɛ είναι στο SD. Στη συνέχεια θα δείξουμε ότι δεν είναι στο D. Θεώρημα 7.14 (Τερματίζει η M με κάποια είσοδο;) Η γλώσσα H ANY = {< M >: υπάρχει τουλάχιστο μία συμβολοσειρά για την οποία τερματίζει η ΜΤ M} δεν είναι στο D, αλλά είναι στο SD. Απόδειξη: Στη συνέχεια παραθέτουμε μία σειρά αποτελεσμάτων, που αποδεικνύονται με αναγωγή, όπως και τα Θεωρήματα 7.13 και 7.14:

15 7.4. (ΜΗ) ΑΠΟΦΑΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ ΓΙΑ ΜΤ ΚΑΙ ΓΛΩΣΣΕΣ 227 Η γλώσσα H ALL = {< M >: η ΜΤ M τερματίζει για το Σ } δεν είναι στο D, αλλά ούτε στο SD. Η γλώσσα A = {< M, w >: η M είναι μία ΜΤ τέτοια ώστε w L(M)} δεν είναι στο D. Η γλώσσα A ɛ = {< M >: η ΜΤ M αποδέχεται την ɛ} δεν είναι στο D. Η γλώσσα A ANY = {< M >: υπάρχει τουλάχιστο μία συμβολοσειρά, που η ΜΤ M αποδέχεται } δεν είναι στο D. Η γλώσσα A ALL = {< M >: η M είναι μία ΜΤ τέτοια ώστε L(M) = Σ } δεν είναι στο D. Η γλώσσα L eq T Ms = {< M a, M b >: οι M a και M b είναι ΜΤ και L(M a ) = L(M b )} δεν είναι στο D. Θεώρημα 7.15 (Συμβολοσειρές άρτιου μήκους μη αποδεκτές;) Η γλώσσα L 2 = {< M >: η ΜΤ M δεν αποδέχεται καμία συμβολοσειρά άρτιου μήκους} δεν είναι στο D. Απόδειξη: Είναι φανερό ότι πολλές ενδιαφέρουσες ιδιότητες, που σχετίζονται με τη συμπεριφορά των ΜΤ δεν είναι αποφασίσιμες. Μήπως αυτό σημαίνει ότι οποιαδήποτε ερώτηση για μία ΜΤ ή τη συμπεριφορά της επίσης δεν είναι αποφασίσιμη; Η απάντηση είναι αρνητική. Από τη σχετική βιβλιογραφία [4], είναι εύκολο να διαπιστώσουμε ότι τα ερωτήματα, που επικεντρώνονται στη φυσική δομή μιας ΜΤ και όχι στη συμπεριφορά της είναι στις περισσότερες περιπτώσεις αποφασίσιμα. Παράδειγμα 7.2 (Ο αριθμός των καταστάσεων μιας ΜΤ) Εστω η γλώσσα L states = {< M >: η ΜΤ M αποτελείται από έναν άρτιο αριθμό καταστάσεων }. Η L states είναι αποφασίσιμη με την παρακάτω διαδικασία: 1. Διάβασε την < M > και κάνε καταμέτρηση του αριθμού των καταστάσεων της M. 2. Αν ο αριθμός των καταστάσεων είναι άρτιος, τότε αποδοχή, αλλιώς απόρριψη.

16 228 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Υπάρχουν επίσης και ερωτήματα για τη συμπεριφορά ΜΤ, που είναι αποφασίσιμα, όπως π.χ. το αν «τερματίζει μία ΜΤ μετά από ένα σταθερό αριθμό βημάτων». Σε τι διαφέρουν λοιπόν οι γλώσσες H, H ɛ, H ANY, H ALL, A και όλες οι άλλες μη αποφασίσιμες γλώσσες στις οποίες αναφερθήκαμε από τη γλώσσα L states ή άλλες γλώσσες, που είναι αποφασίσιμες; Μία διαφορά είναι ότι τα ερωτήματα, που είναι αποφασίσιμα μπορεί να αναφέρονται στη φυσική δομή μιας ΜΤ ή σε κάποια λεπτομέρεια για τη συμπεριφορά της κατά τον υπολογισμό. Δεν είναι ερωτήματα, που έχουν να κάνουν με τη γλώσσα, που αποδέχεται μία ΜΤ ή τη γλώσσα, για την οποία αυτή τερματίζει. Πρέπει πάντως να είμαστε προσεκτικοί, γιατί κάποια ερωτήματα, που φαίνεται να αναφέρονται σε συγκεκριμένες λεπτομέρειες μιας ΜΤ μπορούν να επαναδιατυπωθούν σε ερωτήματα για την έξοδο της ΜΤ και επομένως υπάρχει περίπτωση αυτά να είναι μη αποφασίσιμα. Το Θεώρημα του Rice, που παρουσιάζουμε στην Ενότητα 7.5 συγκεκριμενοποιεί τη διαφορά μεταξύ γλωσσών όπως η H και των γλωσσών όπως η L states, που είναι αποφασίσιμες Μη Αποφασισιμότητα γλωσσών που δεν αναφέρονται ρητά σε ΜΤ Τα προβλήματα με ΜΤ δεν είναι το μοναδικό πεδίο, όπου αντιμετωπίζουμε περιπτώσεις μη αποφασισιμότητας. Σε αυτή την ενότητα θα δούμε παραδείγματα μη αποφασίσιμων προβλημάτων, που δεν αναφέρονται ρητά σε ΜΤ. Για καθένα από αυτά τα προβλήματα, η απόδειξη της μη αποφασισιμότητας στηρίζεται, άμεσα ή έμμεσα, σε μία αναγωγή από γλώσσα, που ο ορισμός της αναφέρεται σε συμπεριφορά ΜΤ (όπως οι H, A ή η H ɛ ). Πολλές από αυτές τις αποδείξεις είναι παραλλαγές της ίδιας βασικής ιδέας, δηλαδή της δυνατότητας κωδικοποίησης μιας διαμόρφωσης της ΜΤ από μία συμβολοσειρά. Για παράδειγμα, η συμβολοσειρά baq11dc μπορεί να κωδικοποιεί τη διαμόρφωση μιας ΜΤ, που βρίσκεται στην κατάσταση 3, με τη συμβολοσειρά badc πάνω στην ταινία και την κεφαλή ανάγνωσης/εγγραφής στη θέση του χαρακτήρα d. Με αυτό τον τρόπο, μπορούμε να κωδικοποιήσουμε έναν υπολογισμό ΜΤ με μία ακολουθία διαμορφώσεων, που ξεχωρίζουν μεταξύ τους με ένα σύμβολο διαχωριστή. Για να δείξουμε ότι μία νέα γλώσσα είναι μη αποφασίσιμη, θα πρέπει να ορίσουμε αναγωγή, που αντιστοιχίζει μία από τις κωδικοποιήσεις υπολογισμών κάποιας ΜΤ σε μία βασική δομή του νέου προβλήματος. Η αναγωγή θα πρέπει να σχεδιάζεται, έτσι ώστε η δομή του νέου προβλήματος να χαρακτηρίζεται από κάποια ιδιότητα - κλειδί, αν και μόνο αν ο υπολογισμός της ΜΤ προσεγγίζει

17 7.4. (ΜΗ) ΑΠΟΦΑΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ ΓΙΑ ΜΤ ΚΑΙ ΓΛΩΣΣΕΣ 229 μία κατάσταση τερματισμού (ή αποδοχής) ή αν αποτυγχάνει να εισέλθει σε μία κατάσταση τερματισμού ή οτιδήποτε άλλο χρειάζεται να ελέγξουμε. Ετσι, αν υπάρχει μία διαδικασία για να αποφασίζεται το αν μία περίπτωση του νέου προβλήματος έχει την ιδιότητα - κλειδί, τότε θα υπάρχει επίσης ένας τρόπος για να ελεγχθεί αν μία ΜΤ τερματίζει (ή αποδέχεται ή οτιδήποτε άλλο). Το Πρόβλημα Αντιστοιχίας του P ost Ας θεωρήσουμε δύο πεπερασμένες λίστες συμβολοσειρών ίσου μήκους ενός αλφάβητου Σ. Ας ονομάσουμε τις λίστες X και Y, οπότε έχουμε: X = x 1, x 2, x 3,..., x n Y = y 1, y 2, y 3,..., y n Το πρόβλημα, που θα μας απασχολήσει, ως προς αυτές τις δύ λίστες είναι το εξής: υπάρχει κάποια πεπερασμένη ακολουθία ακέραιων, που ως δείκτες στις λίστες X και Y είναι τέτοιοι ώστε όταν γίνεται παράθεση των στοιχείων, που επιλέγονται με τους δείκτες από την X να παίρνουμε την ίδια συμβολοσειρά, που θα παίρναμε με παράθεση των στοιχείων, που επιλέγονται με τους δείκτες από την Y ; Κάθε πρόβλημα αυτής της μορφής είναι μία περίπτωση του Προβλήματος Αντιστοιχίας τους Post, που πρώτος τυποποίησε το 1946 ο Emil Post. Παράδειγμα 7.3 ( Ενα πρόβλημα αντιστοιχίας Post με λύση) Ας θεωρήσουμε το πρόβλημα P CP 1, που ορίζεται από τις εξής λίστες: X Y 1 a baa 2 ab aa 3 bba bb Το P CP 1 έχει μία απλή λύση, την ακολουθία 3, 2, 3, 1 και η συμβολοσειρά, που προκύπτει και από τις δύο λίστες είναι η bbaabbbaa. Παράδειγμα 7.4 ( Ενα πρόβλημα αντιστοιχίας Post χωρίς λύση) Ας θεωρήσουμε το πρόβλημα P CP 2, που ορίζεται από τις εξής λίστες: Το P CP 2 δεν έχει λύση και αυτό διαπιστώνεται εύκολα δοκιμάζοντας όλους τους δυνατούς συνδυασμούς, μέχρις ότου αυτοί απορριφθούν:

18 230 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ X Y 1 bb abb 2 ab a 3 aab bba πρώτος δείκτης=1 Χ=bb Υ=αbb πρώτος δείκτης=2 Χ=αb Υ=α πρώτος δείκτης=3 Χ=ααb Υ=bbα δεύτερος δείκτης=1 Χ=αbbb Υ=ααbb δεύτερος δείκτης=2 Χ=αbαb Υ=αα δεύτερος δείκτης=3 Χ=αbααb Υ=αbbα Το Πρόβλημα Αντιστοιχίας του Post μπορεί να περιγραφεί τυπικά ως ένα πρόβλημα απόφασης γλώσσας. Για να γίνει αυτό, θα πρέπει κάθε περίπτωση του προβλήματος να κωδικοποιηθεί ως μία συμβολοσειρά. Εστω Σ ένα μη κενό αλφάβητο. Τότε, μία περίπτωση του Προβλήματος Αντιστοιχίας του Post θα είναι μία συμβολοσειρά < P > της μορφής: < P >= (x 1, x 2, x 3,..., x n )(y 1, y 2, y 3,..., y n ), όπου j(x j Σ +, y j Σ + ) Θα λέμε ότι ένα πρόβλημα αντιστοιχίας του Post έχει μέγεθος n, όταν ο αριθμός των συμβολοσειρών της λίστας X (άρα και της Y ) είναι n. Μία λύση σε μία περίπτωση προβλήματος αντιστοιχίας μεγέθους n είναι μία πεπερασμένη ακολουθία ακέραιων i 1, i 2,..., i k, τέτοια ώστε: 1 j k, 1 i j n και x i1 x i2... x ik = y i1 y i2... y ik Για να ορίσουμε ένα συγκεκριμένο πρόβλημα αντιστοιχίας, πρέπει να καθορίσουμε το αλφάβητο. Θα χρησιμοποιήσουμε λοιπόν για Σ το {0, 1} και απλά θα κωδικοποιούμε κάθε άλλο αλφάβητο με το δυαδικό. Τώρα το πρόβλημα

19 7.4. (ΜΗ) ΑΠΟΦΑΙΣΙΜΑ ΠΡΟΒΛΗΜΑΤΑ ΓΙΑ ΜΤ ΚΑΙ ΓΛΩΣΣΕΣ 231 του αν μία περίπτωση P του Προβλήματος Αντιστοιχίας έχει λύση μπορεί να επαναδιατυπωθεί ως πρόβλημα απόφασης της γλώσσας: P CP = {< P >: P είναι περίπτωση Προβλήματος Αντιστοιχίας, που έχει λύση} Θεώρημα 7.16 (Μη αποφασσιμότητα Προβλ. Αντιστοιχίας) Η γλώσσα P CP = {< P >: P είναι περίπτωση Προβλήματος Αντιστοιχίας, που έχει λύση} δεν είναι στο D, αλλά είναι στο SD. Απόδειξη: Η μη αποφασισιμότητα του Προβλήματος Αντιστοιχίας του Post είναι ένα σημαντικό αποτέλεσμα. Σε πολλές περιπτώσεις, για να δείξουμε τη μη αποφασισιμότητα άλλων προβλημάτων, βολεύει να ορίσουμε μία αναγωγή από το Πρόβλημα Αντιστοιχίας. Με αυτό τον τρόπο απαντώνται - μεταξύ άλλων - θεμελιώδη ερωτήματα, για τις γλώσσες χωρίς συμφραζόμενα. Αποφασισιμότητα Γλωσσών Χωρίς Συμφραζόμενα Στα Κεφάλαια 4 και 5 για τις Γλώσσες Χωρίς Συμφραζόμενα επικεντρωθήκαμε στη μελέτη του εξής προβλήματος: 1. Δοθείσης μιας γλώσσας χωρίς συμφραζόμενα L και μιας συμβολοσειράς w, ισχύει η w L; Υπάρχουν πολλά άλλα προβλήματα για γλώσσες χωρίς συμφραζόμενα, που μας ενδιαφέρει η μελέτη τους και μερικά από αυτά είναι τα εξής: 2. Δοθείσης μιας γλώσσας χωρίς συμφραζόμενα L, ισχύει η L = Σ ; 3. Δοθέντων δύο γλωσσών χωρίς συμφραζόμενα L 1 και L 2, ισχύει η L 1 = L 2 ; 4. Δοθέντων δύο γλωσσών χωρίς συμφραζόμενα L 1 και L 2, ισχύει η L 1 L 2 ; 5. Δοθείσης μιας γλώσσας χωρίς συμφραζόμενα L είναι η L γλώσσα χωρίς συμφραζόμενα; 6. Δοθείσης μιας γλώσσας χωρίς συμφραζόμενα L είναι η L κανονική γλώσσα;

20 232 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ 7. Δοθέντων δύο γλωσσών χωρίς συμφραζόμενα L 1 και L 2, ισχύει η L 1 L 2 = ; 8. Δοθείσης μιας γλώσσας χωρίς συμφραζόμενα L είναι η L εγγενώς ασαφής; Ολα τα παραπάνω ερωτήματα μπορούμε να τα διατυπώσουμε, είτε ως προς γραμματικές χωρίς συμφραζόμενα, που παράγουν τις εν λόγω γλώσσες, είτε ως προς ΑΣ. Επιπλέον, υπάρχουν αρκετά ανοικτά ζητήματα, που αναφέρονται ειδικά σε ΑΣ και μεταξύ άλλων συμπεριλαμβάνουν το εξής: 9. Δοθέντων δύο ΑΣ M 1 και M 2, είναι το M 2 μία ελαχιστοποίηση του M 1 ; Θα λέμε ότι το M 2 είναι μία ελαχιστοποίηση του M 1, αν και μόνο αν L(M 1 ) = L(M 2 ) και δεν υπάρχει άλλο ΑΣ M με λιγότερες καταστάσεις από το M 2 τέτοιο ώστε L(M 2 ) = L(M ). Τέλος, υπάρχουν σημαντικά ερωτήματα, που αναφέρονται αποκλειστικά σε γραμματικές χωρίς συμφραζόμενα, όπως το εξής: 10. Δοθείσης μιας γραμματικής χωρίς συμφραζόμενα G, είναι η G ασαφής; Τα προβλήματα από το 2 ως το 10 είναι μεταξύ των προβλημάτων των γλωσσών χωρίς συμφραζόμενα, που έχουν αποδειχθεί ότι είναι μη αποφασίσιμα. Αν καθένα από αυτά διατυπωθεί ως πρόβλημα απόφασης γλώσσας, τότε κανένα τους δεν είναι στο D. Αυτό βέβαια δε σημαίνει ότι αποκλείεται η πιθανότητα να απαντηθεί κάποιο από τα μη αποφασίσιμα ερωτήματα σε όλες τις περιπτώσεις. Για παράδειγμα, αν και το ερώτημα 10 είναι μη αποφασίσιμο για μία οποιαδήποτε γραμματική, μπορούμε για κάποιες γραμματικές χωρίς συμφραζόμενα να δείξουμε ότι αυτές είναι ασαφείς, αν βρούμε μία συμβολοσειρά για την οποία υπάρχουν δύο διαφορετικά συντακτικά δέντρα. Για κάποιες άλλες γραμματικές μπορούμε να δείξουμε ότι δεν είναι ασαφείς, αν για παράδειγμα αποδειχθεί ότι είναι LL(1). Δύο είναι οι στρατηγικές, που κατά βάση ακολουθούνται, για να δείξουμε ότι τα προβλήματα από το 2 ως το 10 είναι στη γενική τους περίπτωση μη αποφασίσιμα. Στην πρώτη στρατηγική απόδειξης αξιοποιείται το ιστορικό ε- νός υπολογισμού, για να γίνει αναγωγή της H σε ένα από τα συγκεκριμένα προβλήματα. Στη δεύτερη στρατηγικής απόδειξης, που χρησιμοποιείται για παράδειγμα στο πρόβλημα 10, σχεδιάζεται μία αναγωγή από το Πρόβλημα Αντιστοιχίας του Post. Για περισσότερες λεπτομέρειες σχετικά με την απόδειξη των παραπάνω α- ποτελεσμάτων, παραπέμπουμε τον αναγνώστη στις εργασίες [1] και [3], όπου για πρώτη φορά παρουσιάστηκαν ή στο [5].

21 7.5. ΤΟ ΘΕ ΩΡΗΜΑ ΤΟΥ RICE Το Θεώρημα του Rice Στην Ενότητα 7.4, εξετάστηκαν μία σειρά προβλημάτων απόφασης, που τα εκφράσαμε ως γλώσσες, οι οποίες τελικά δεν είναι αποφασίσιμες. Το Θεώρημα του Rice γενικεύει τα συγκεκριμένα αποτελέσματα, αφού αποδεικνύει ότι δεν ε- ίναι μόνο αυτές οι γλώσσες, που δεν ανήκουν στο D, αλλά οποιαδήποτε γλώσσα ορίζεται ως προς μία μη τετριμμένη ιδιότητα P με τη μορφή {< M >: P (L(M)) = True } δεν ανήκει επίσης στο D. Εδώ με τον όρο μη τετριμμένη ιδιότητα αναφερόμαστε σε οποιαδήποτε ιδιότητα, που δε μπορεί να είναι True ή False, για όλες τις γλώσσες. Στην πραγματικότητα, το Θεώρημα του Rice εκφράζει κάτι ακόμη πιο γενικό. Τα προβλήματα, που εκφράσαμε ως ιδιότητες ΜΤ ημιαπόφασης, αναφέρονται σε ερωτήματα που θα μπορούσαν να τεθούν για οποιαδήποτε ημιαποφασίσιμη γλώσσα, ανεξάρτητα από τον τρόπο περιγραφής της. Θα μπορούσαμε για παράδειγμα να χρησιμοποιήσουμε έναν κατάλληλο τύπο γραμματικής για την περιγραφή γλωσσών του SD. Η ουσία είναι ότι τελικά μελετάμε μία ιδιότητα, που χαρακτηρίζει την ίδια τη γλώσσα και όχι μία ιδιότητα, που χαρακτηρίζει μία συγκεκριμένη ΜΤ. Επομένως το Θεώρημα του Rice μας οδηγεί στο συμπέρασμα ότι: Οποιαδήποτε μη τετριμμένη ιδιότητα γλωσσών του SD δεν είναι αποφασίσιμη. Στο Κεφάλαιο 8 θα δούμε ότι όπως οι γλώσσες, που ορίζονται ως προς τη συμπεριφορά ΜΤ δεν είναι αποφασίσιμες, κάτι αντίστοιχο συμβαίνει και με τις συναρτήσεις, που ορίζουν τον τρόπο λειτουργίας ΜΤ: αυτές δεν είναι υπολογίσιμες. Μία τέτοια περίπτωση συνάρτησης είναι η συνάρτηση steps, που περιγράφεται στα Παραδείγματα 8.1 και 8.2. Σε πρακτικό επίπεδο, για να χρησιμοποιήσουμε το Θεώρημα του Rice προκειμένου να δείξουμε ότι μία γλώσσα της μορφής {< M >: P (L(M)) = True } δεν είναι στο D πρέπει να ακολουθήσουμε τα εξής βήματα: Να ορίσουμε την ιδιότητα P. Να δείξουμε ότι το πεδίο της P είναι η κλάση των SD γλωσσών. Να δείξουμε ότι η P είναι μη τετριμμένη, δηλαδή ότι: Η P είναι αληθής για τουλάχιστο μία γλώσσα. Η P είναι ψευδής για τουλάχιστο μία γλώσσα.

22 234 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Με βάση λοιπόν το Θεώρημα του Rice, όλα τα προβλήματα, που αναφέρονται αποκλειστικά σε γλώσσες ΜΤ και όχι σε αυτές καθαυτές τις ΜΤ δεν είναι αποφασίσιμα. Ετσι, έχουμε για παράδειγμα τις παρακάτω γλώσσες, που δεν είναι αποφασίσιμες: 1. {< M >: η M είναι ΜΤ και η L(M) είναι κενή} 2. {< M >: η M είναι ΜΤ και η L(M) είναι πεπερασμένη} 3. {< M >: η M είναι ΜΤ και η L(M) είναι γλώσσα χωρίς συμφραζόμενα} 4. {< M >: η M είναι ΜΤ και η L(M) περιλαμβάνει μόνο συμβολοσειρές άρτιου μήκους} Από την άλλη, όταν μία γλώσσα περιγράφει ένα πρόβλημα σχετικό με τον ορισμό ή τη συμπεριφορά ΜΤ, τότε μπορεί αυτή να είναι αποφασίσιμη, όπως: 5. {< M >: η M είναι ΜΤ και έχει άρτιο αριθμό καταστάσεων} 6. {< M >: η M είναι ΜΤ και υπάρχει είσοδος w για την οποία η M εκτελεί τουλάχιστο πέντε μεταβάσεις} Τονίζουμε ότι το Θεώρημα του Rice δε μας λέει ότι οι γλώσσες της δεύτερης περίπτωσης είναι απαραιτήτως αποφασίσιμες. Μπορεί πράγματι να είναι ή μπορεί και να μην είναι. Το Θεώρημα του Rice μας είναι χρήσιμο μόνο για γλώσσες, όπως αυτές της πρώτης περίπτωσης, αρκεί βέβαια να ανήκουν στην κλάση SD και η ιδιότητα P, στην οποία αναφέρονται να δειχθεί ότι είναι μη τετριμμένη. Αν και θα μπορούσαμε να αντιληφθούμε το Θεώρημα του Rice ως μία ε- ναλλακτική στρατηγική απόδειξης σε σχέση με την εφαρμογή αναγωγών, η πραγματική αξία του είναι το γεγονός ότι μας επιτρέπει να υποψιαζόμαστε τον τρόπο με τον οποίο πρέπει να εργαστούμε, όταν έχουμε να κάνουμε με ένα ε- ρώτημα για μία SD γλώσσα και αναγνωρίζουμε ότι αυτή δεν είναι αποφασίσιμη. Θεώρημα 7.17 (Θεώρημα του Rice) Για μία οποιαδήποτε μη τετριμμένη ιδιότητα P, η γλώσσα L = {< M >: P (L(M)) = True} δεν ανήκει στο D. Απόδειξη: Περιοριζόμαστε σε μία αναφορά σχετικά με την τεχνική, που ακολουθείται, δηλαδή μία αναγωγή από τη γλώσσα H του Προβλήματος του Τερματισμού. Αν λοιπόν ήταν δυνατό να αποφασιστεί μία οποιαδήποτε μη τετριμμένη ιδιότητα P (χωρίς να μας ενδιαφέρει το τι ακριβώς λέει η P ), τότε θα μπορούσε να αποφασιστεί επίσης και η H. Για τις λεπτομέρειες της κατασκευής, που επιτρέπει την αναγωγή από την H, παραπέμπουμε τον αναγνώστη σε σχετική πηγή του διαδικτύου.

23 7.6. ΕΦΑΡΜΟΓ ΕΣ Εφαρμογές Μη Αποφασίσιμα Προβλήματα για Προγράμματα Τα προγραμματιστικά περιβάλλοντα, που χρησιμοποιούμε, έχουν τις ίδιες υπολογιστικές δυνατότητες με τις ΜΤ. Αυτό σημαίνει ότι αν κάποια προβλήματα είναι μη αποφασίσιμα για τις ΜΤ, τα ίδια προβλήματα είναι επίσης μη αποφασίσιμα, όταν αφορούν προγράμματα οποιασδήποτε γλώσσας προγραμματισμού. Ετσι, η μη αποφασισιμότητα ενός προβλήματος προγραμματισμού αποδεικνύεται με αναγωγή από το αντίστοιχο πρόβλημα για τις ΜΤ. Δίνουμε την απόδειξη ενός ενδιαφέροντος θεωρήματος και στη συνέχεια παραθέτουμε μία λίστα από μη αποφασίσιμα προβλήματα για προγράμματα. Θεώρημα 7.18 (Ισοδυναμία δύο προγγραμμάτων) Η γλώσσα L eq p = {< p 1, p 2 >: p 1, p 2 είναι προγράμματα μιας γλώσσας προγραμματισμού και L(p 1 ) = L(p 2 ), δηλαδή δίνουν πάντα το ίδιο αποτέλεσμα} δεν είναι στο D. Απόδειξη: Αποδεικνύουμε ότι L eq m M L eq p, όπου L eq m εκφράζει το αντίστοιχο πρόβλημα για ΜΤ, από το οποίο προκύπτει (επειδή το ίδιο συμβαίνει και με την L eq m ) ότι η L eq p δεν είναι στο D. Σε οποιαδήποτε γλώσσα προγραμματισμού είναι γενικά εφικτή η υλοποίηση της Γενικής ΜΤ. Ας συμβολίσουμε με U p ένα τέτοιο πρόγραμμα, οπότε μπορούμε να ορίσουμε μία απεικονιστική αναγωγή R από την L eq m στην L eq p ως εξής: R(< M 1, M 2 >) = 1. Δημιούργησε ένα πρόγραμμα p a, που για είσοδο w καλεί το U p (M 1, w) και επιστρέφει το αποτέλεσμά του. 2. Δημιούργησε ένα πρόγραμμα p b, που για είσοδο w καλεί το U p (M 2, w) και επιστρέφει το αποτέλεσμά του. 3. Επέστρεψε το < p a, p b >. Αν υπάρχει ΜΤ Oracle (χρησμός), που αποφασίζει την L eq p, τότε η L eq m θα αποφασίζεται από την Oracle(R(< M 1, M 2 >)). Η R μπορεί να υλοποιηθεί ως μία ΜΤ, οπότε L(p a ) = L(M 1 ) και L(p b ) = L(M 2 ). Ετσι, Αν < M 1, M 2 > L eq m, τότε L(M 1 ) = L(M 2 ), L(p a ) = L(p b ) και η Oracle(< p a, p b >) αποδέχεται. Αν < M 1, M 2 > L eq m, τότε L(M 1 ) L(M 2 ), L(p a ) L(p b ) και η Oracle(< p a, p b >) απορρίπτει.

24 236 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ Δεν υπάρχει όμως ΜΤ, που να αποφασίζει την L eq m και για αυτό δεν υπάρχει ούτε η Oracle. Καθώς λοιπόν η μη αποφασισιμότητα προβλημάτων για προγράμματα υπολογιστών είναι επακόλουθο της μη αποφασισιμότητας των αντίστοιχων προβλημάτων για ΜΤ, αποδεικνύεται ότι κανένα από τα παρακάτω ερωτήματα δεν είναι αποφασίσιμο: 1. Δοθέντος ενός προγράμματος p με είσοδο x, τερματίζει το p όταν εκτελείται με είσοδο x; 2. Δοθέντος ενός προγράμματος p, μπορεί αυτό να πέσει σε έναν αέναο βρόχο για κάποια είσοδο; 3. Δοθέντος ενός προγράμματος p με είσοδο x, επιστρέφει το p μία συγκεκριμένη έξοδο ή ένα οποιοδήποτε αποτέλεσμα, όταν εκτελείται για είσοδο x; 4. Κάθε μεταβλητή πρέπει να έχει αρχικοποιηθεί πριν από τη χρήση της: δοθέντος ενός προγράμματος p με είσοδο x και το όνομα μιας μεταβλητής, έστω v, εκχωρείται ποτέ τιμή στην v όταν το p εκτελείται για είσοδο x; 5. Δοθέντος ενός προγράμματος p και ενός τμήματος κώδικα S του p, προσεγγίζεται ποτέ το S για οποιαδήποτε είσοδο; 6. Δοθέντος ενός προγράμματος p και ενός τμήματος κώδικα S του p, προσεγγίζεται το S για όλες τις εισόδους; Τα ερωτήματα 1 και 2 είναι μη αποφασίσιμα, επειδή όπως και για το ερώτημα του Θεωρήματος 7.18 το αντίστοιχο πρόβλημα για ΜΤ είναι επίσης μη αποφασίσιμο. Το ερώτημα 3 είναι μία πιο γενική διατύπωση του Entscheidungsproblem (βλ. Ενότητα 1.3), που απασχόλησε τον Turing αποδεικνύοντας τελικά ότι είναι μη αποφασίσιμο Λογικές θεωρίες Δοθείσας μιας γλώσσας λογικής [2] και ενός τύπου της γλώσσας, υπάρχει αλγόριθμος, που να απαντά στο ερώτημα αν ο τύπος είναι θεώρημα, αν δηλαδή μπορεί να αποδειχθεί από τα αξιώματα, που έχουμε αποδεχτεί και τους κανόνες συναγωγής; Το συγκεκριμένο πρόβλημα απασχολούσε τους μαθηματικούς από τα πολύ παλιά χρόνια και όταν εξετάζεται στο πλαίσιο της λογικής πρώτης τάξης

25 7.6. ΕΦΑΡΜΟΓΕΣ 237 δεν είναι άλλο από το Entscheidungsproblem (βλ. Ενότητα 1.3). Αν υπήρχε ένας τέτοιος αλγόριθμος, τότε θα μπορούσαμε μεταξύ άλλων να γράψουμε προγράμματα που: Αποφασίζουν αν κάποια άλλα προγράμματα είναι ορθά. Αποφασίζουν αν ο έλεγχος ενός ρομπότ γραμμής παραγωγής είναι ορθό. Αποδέχονται ή απορρίπτουν ερμηνείες προτάσεων φυσικής γλώσσας με βάση το αν αυτές έχουν νόημα ή όχι. Στην προτασιακή λογική, για οποιοδήποτε τύπο σε άλγεβρα Boole υπάρχουν διαδικασίες απόφασης για καθένα από τα παρακάτω ερωτήματα: Δοθέντος ενός καλώς ορισμένου τύπου w, είναι ο w έγκυρος, δηλαδή είναι αληθής για όλους τους πιθανούς συνδυασμούς τιμών αληθείας των μεταβλητών του; Δοθέντος ενός καλώς ορισμένου τύπου w, είναι ο τύπος w ικανοποιήσιμος, δηλαδή υπάρχει συνδυασμός τιμών αληθείας των μεταβλητών του, που κάνει τον w αληθή; Δοθέντος ενός καλώς ορισμένου τύπου w και ενός συνόλου αξιωμάτων A, είναι ο τύπος w θεώρημα, μπορεί δηλαδή να αποδειχθεί από τα αξιώματα A; Εναλλακτικά, λέμε ότι για τον προτασιακό λογισμό όλες οι γλώσσες παρακάτω είναι στο D: V ALID = {< w >: ο w είναι καλώς ορισμένος τύπος στην άλγεβρα Boole και ο w είναι έγκυρος} SAT = {< w >: ο w είναι καλώς ορισμένος τύπος στην άλγεβρα Boole και ο w είναι ικανοποιήσιμος} P ROV ABLE = {< A, w >: ο w είναι καλώς ορισμένος τύπος στην άλγεβρα Boole, A είναι ένα σύνολο αξιωμάτων και ο w είναι αποδείξιμος από τα αξιώματα A} Αφού ένας καλώς ορισμένος τύπος περιέχει μόνο ένα πεπερασμένο αριθμό μεταβλητών και κάθε μεταβλητή μπορεί να πάρει μόνο μία από δύο πιθανές τιμές (True ή False), μία άμεση διαδικασία απόφασης για τα παραπάνω είναι να ελεγχθούν όλες οι πιθανότητες. Ενας καλώς ορισμένος τύπος είναι έγκυρος, αν και μόνο αν είναι αληθής για όλους τους πιθανούς συνδυασμούς τιμών αληθείας

26 238 ΚΕΦΑΛΑΙΟ 7. ΕΠΙΛΥΣΙΜΟΤΗΤΑ - ΜΗ ΕΠΙΛΥΣΙΜΟΤΗΤΑ των μεταβλητών του. Ενας τύπος είναι ικανοποιήσιμος, αν και μόνο αν είναι α- ληθής για ένα τουλάχιστο συνδυασμό τιμών των μεταβλητών του. Τέλος, ένας καλώς ορισμένος τύπος w είναι αποδείξιμος από το σύνολο αξιωμάτων A, αν και μόνο ο A w είναι έγκυρος. Η αποφασισιμότητα του SAT έχει ιδιαίτερη σημασία για την επαλήθευση συστημάτων με έλεγχο μοντέλων (βλ. Ενότητα 1.7.1). Υποθέστε ότι η προδιαγραφή μιας συσκευής υλικού ή ενός συστήματος λογισμικού μπορεί να δοθεί μέσω ενός πεπερασμένου αριθμού καταστάσεων. Αυτό σημαίνει ότι μπορεί ε- πίσης να διατυπωθεί ως ένας τύπος της άλγεβρας Boole. Τότε, ένας τρόπος επαλήθευσης της ορθότητας μιας συγκεκριμένης υλοποίησης είναι να ελέγξουμε αν αυτή ικανοποιεί την προδιαγραφή. Η επαλήθευση με έλεγχο μοντέλων είναι μία ανοικτή δυνατότητα, εξαιτίας του γεγονότος ότι το πρόβλημα SAT είναι αποφασίσιμο. Αν βέβαια ο τύπος w περιέχει n μεταβλητές, τότε υπάρχουν 2 n διαφορετικοί συνδυασμοί λογικών τιμών για τις μεταβλητές του. Άρα ο χρόνος που χρειάζεται ένας οποιοσδήποτε αλγόριθμος θα αυξάνεται εκθετικά ως προς το μέγεθος του τύπου w. Υπάρχουν βέβαια τεχνικές, που σε πολλές περιπτώσεις εκτελούνται με μικρότερο από εκθετικά μεταβαλλόμενο κόστος. Μία τέτοια προσέγγιση στηρίζεται στην αναπαράσταση των τύπων ως διαγράμματα διατεταγμένων δυαδικών αποφάσεων (Ordered Binary Decision Diagrams - OBDD) [2]. Στο πλαίσιο της λογικής πρώτης τάξης (First Order Logic - FOL) [2], δηλαδή για τύπους της μορφής x, y(p (x, y) Q(y, x) R(x)), κανένα από τα προβλήματα, που αναφέραμε, δεν είναι αποφασίσιμο. Θεώρημα 7.19 (Η Λογική Πρώτης Τάξης ημιαποφασίσιμη) Η γλώσσα F OL prov = {< A, w >: A είναι αποφασίσιμο σύνολο αξιωμάτων σε λογική πρώτης τάξης, w είναι ένα τύπος λογικής πρώτης τάξης και w συνάγεται από τα αξιώματα A} είναι στο SD. Απόδειξη: Παρακάτω περιγράφουμε μία διαδικασία provef OL, που ημιαποφασίζει την F OL prov. provef OL(A, w) = 1. Χρησιμοποιώντας ένα πλήρες σύνολο κανόνων συναγωγής για λογική πρώτης τάξης, απαριθμούμε λεξικογραφικά όλες τις καλώς ορισμένες α- ποδείξεις με βάση το σύνολο αξιωμάτων A. Αν τώρα το A είναι άπειρο, τότε πρέπει να ενσωματώσουμε μία υπορουτίνα, που απαριθμεί λεξικογραφικά τους τύπους στη γλώσσα της θεωρίας του A και ελέγχει αν ο κάθε τύπος είναι ένα αξίωμα ή όχι.

27 7.6. ΕΦΑΡΜΟΓΕΣ Ελεγξε κάθε απόδειξη καθώς δημιουργείται. Αν αυτή επιτυγχάνει να δείξει τον τύπο w, τότε τερμάτισε με αποδοχή. Από το Θεώρημα της Πληρότητας του Gödel γνωρίζουμε ότι υπάρχει ένα σύνολο κανόνων συναγωγής για τη λογική πρώτης τάξης, που είναι πλήρες, με την έννοια ότι μπορούμε να συνάγουμε από ένα σύνολο αξιωμάτων A, όλους τους τύπους που συνεπάγονται από αυτό. Συμπεραίνουμε λοιπόν, ότι η υλοποίηση του πρώτου βήματος της provef OL είναι εφικτή. Η διαδικασία ημιαπόφασης, που περιγράψαμε στην απόδειξη του Θεώρηματος 7.19 μπορεί για ένα δεδομένο τύπο w να ανακαλύψει μία απόδειξη, αν βέβαια αυτή υπάρχει. Για να έχει όμως πρακτική σημασία μία τέτοια διαδικασία απόδειξης θεωρημάτων θα πρέπει να είναι τουλάχιστο για κάποιες περιπτώσεις σημαντικά πιο γρήγορη από τη μέθοδο της εξαντλητικής απαρίθμησης, που υιοθετήθηκε στην απόδειξη του θεωρήματος. Σήμερα υπάρχουν τέτοιες προηγμένες τεχνικές απόδειξης, που έχουν υλοποιηθεί σε επιτυχημένα εργαλεία, όπως για παράδειγμα η ανάλυση πρώτης τάξης (first order resolution). Πρέπει ωστόσο να τονίσουμε ότι εφόσον μιλάμε για διαικασία ημιαπόφασης, αν ζητηθεί από ένα τέτοιο εργαλείο να αποδείξει έναν τύπο, που δεν είναι θεώρημα, τότε αυτό δε θα είναι σε θέση να αποφανθεί ότι δεν υπάρχει απόδειξη. Θεώρημα 7.20 (Η Λογική Πρώτης Τάξης μη αποφασίσιμη) Η γλώσσα F OL prov = {< A, w >: A είναι αποφασίσιμο σύνολο αξιωμάτων σε λογική πρώτης τάξης, w είναι ένα τύπος λογικής πρώτης τάξης και w συνάγεται από τα αξιώματα A} δεν είναι στο D. Απόδειξη: Εστω T μια οποιαδήποτε θεωρία λογικής πρώτης τάξης με ένα αποφασίσιμο σύνολο αξιωμάτων A και μία ερμηνεία M, δηλαδή ένα πεδίο τιμών και μία εκχώρηση σημασίας στις σταθερές, τα κατηγορήματα και στα σύμβολα συναρτήσεων του A. Αν η θεωρία T δεν είναι συνεπής (υπάρχει τύπος, τέτοιος ώστε τόσο ο τύπος, όσο και η άρνησή του να είναι αποδείξιμα από το σύνολο αξιωμάτων A), τότε όλοι οι τύποι είναι θεωρήματα της T. Σε αυτή την περίπτωση, η απόφαση αν κάποιος τύπος είναι ένα θεώρημα της T μπορεί να λαμβάνεται από μία απλή διαδικασία, που επιστρέφει πάντα True. Τι γίνεται όμως αν η θεωρία T είναι συνεπής; Τότε, για κάθε τύπο w, αν η T είναι πλήρης, θα ισχύει το w ή το w ως θεώρημα. Ετσι, το σύνολο όλων των θεωρημάτων θα μπορούσε να αποφασίζεται από τον παρακάτω αλγόριθμο: decidef OL(A, w) =

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

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

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

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

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

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

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

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

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

244 ΚΕΦ ΑΛΑΙΟ 8. ΥΠΟΛΟΓΙΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Η f είναι μία μερική συνάρτηση στο πεδίο X, αν και μόνο αν η συνάρτηση ορίζεται για μηδέν ή περισσότερα στοι

244 ΚΕΦ ΑΛΑΙΟ 8. ΥΠΟΛΟΓΙΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Η f είναι μία μερική συνάρτηση στο πεδίο X, αν και μόνο αν η συνάρτηση ορίζεται για μηδέν ή περισσότερα στοι Κεφάλαιο 8 Υπολογίσιμες Συναρτήσεις Σύνοψη Εχοντας αναπτύξει τη θεωρία γύρω από τις Μηχανές Turing (ΜΤ) δεν περιοριζόμαστε πλέον μόνο στην ανάλυση προβλημάτων απόφασης γλωσσών (βλ. Ενότητα 1.2.3). Οι ΜΤ

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο; Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E. Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα

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

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, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

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

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

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

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

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

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

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

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

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

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

Πεπερασμένος έλεγχος καταστάσεων

Πεπερασμένος έλεγχος καταστάσεων Κεφάλαιο 6 Μηχανές Turing Σύνοψη Οι Μηχανές Turing (ΜΤ) δεν είναι απλά μία ακόμη μηχανή αναγνώρισης για κάποια ευρύτερη οικογένεια γλωσσών από τις γλώσσες, που γίνονται δεκτές από τα Αυτόματα Στοίβας.

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

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

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

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

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

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

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπολογίσιμες Συναρτήσεις

Υπολογίσιμες Συναρτήσεις Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Στοιχεία προτασιακής λογικής Περιεχόμενα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5)

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στον Κατηγορηματικό Λογισμό Σύνταξη Κανόνες Συμπερασμού Σημασιολογία ΕΠΛ 412 Λογική στην

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

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

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

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

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

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

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

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος. Κεφάλαιο 10 Μαθηματική Λογική 10.1 Προτασιακή Λογική Η γλώσσα της μαθηματικής λογικής στηρίζεται βασικά στις εργασίες του Boole και του Frege. Ο Προτασιακός Λογισμός περιλαμβάνει στο αλφάβητό του, εκτός

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

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

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

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

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

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

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

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

ή κανονικός ( regular ), αν για κάθε x και κάθε κλειστό αντιπαραδείγματα με τα οποία αποδεικνύεται ότι οι αντίστροφες συνεπαγωγές δεν ισχύουν.

ή κανονικός ( regular ), αν για κάθε x και κάθε κλειστό αντιπαραδείγματα με τα οποία αποδεικνύεται ότι οι αντίστροφες συνεπαγωγές δεν ισχύουν. 93 4 Διαχωριστικά αξιώματα Στο κεφάλαιο αυτό εισάγουμε τα λεγόμενα διαχωριστικά αξιώματα και εξετάζουμε τις βασικές ιδιότητές τους. Ένα από αυτά το έχουμε ήδη εισαγάγει δηλαδή το αξίωμα Husdorff ( ορισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληρότητα της μεθόδου επίλυσης

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

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

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

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

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

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 12. Θεωρία Υπολογισιμότητας 30Μαρτίου, 17 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Θέση Church-Turing Τι μπορεί να υπολογιστεί και τι δεν μπορεί να υπολογιστεί?

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

Μη-Αριθμήσιμα Σύνολα, ιαγωνιοποίηση

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

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

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

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

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

Φ(s(n)) = s (Φ(n)). (i) Φ(1) = a.

Φ(s(n)) = s (Φ(n)). (i) Φ(1) = a. 1. Τα θεμελιώδη αριθμητικά συστήματα Με τον όρο θεμελιώδη αριθμητικά συστήματα εννοούμε τα σύνολα N των φυσικών αριθμών, Z των ακεραίων, Q των ρητών και R των πραγματικών. Από αυτά, το σύνολο N είναι πρωτογενές

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

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

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

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

R ισούται με το μήκος του. ( πρβλ. την ιστορική σημείωση 3.27 στο τέλος

R ισούται με το μήκος του. ( πρβλ. την ιστορική σημείωση 3.27 στο τέλος 73 3. Συμπαγείς χώροι 3. Συμπαγείς χώροι και βασικές ιδιότητες Οι συμπαγείς χώροι είναι μια από τις πιο σημαντικές κλάσεις τοπολογικών χώρων. Η κλάση των συμπαγών χώρων περιλαμβάνει τα κλειστά διαστήματα,b

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

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

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

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

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

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό λογισμό παρουσιάσαμε την αποδεικτική θεωρία (natural deduction/λογικό συμπέρασμα) τη σύνταξη (ορίζεται με γραμματική χωρίς συμφραζόμενα και εκφράζεται με συντακτικά

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

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

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

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

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

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

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

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 01/03/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 02-Mar-18

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

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

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

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

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1 Ασκήσεις στο μάθημα της Λογικής 15 Οκτωβρίου 2015 Άσκηση 1. Να δειχτεί ότι δεν υπάρχουν τύποι μήκους 2,3,6 αλλά κάθε άλλο (θετικό ακέραιο) μήκος είναι δυνατό (άσκηση 2, σελίδα 39) Απόδειξη. Δείχνουμε πρώτα

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

Ας θεωρήσουμε δύο πραγματικούς αριθμούς. Είναι γνωστό ότι:,. Αυτό σημαίνει ότι: «=», «

Ας θεωρήσουμε δύο πραγματικούς αριθμούς. Είναι γνωστό ότι:,. Αυτό σημαίνει ότι: «=», « .1 Στη παράγραφο αυτή θα γνωρίσουμε μερικές βασικές έννοιες της Λογικής, τις οποίες θα χρησιμοποιήσουμε στη συνέχεια, όπου αυτό κρίνεται αναγκαίο, για τη σαφέστερη διατύπωση μαθηματικών εννοιών, προτάσεων

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Μοντελοποίηση Υπολογισμού Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Προβλήματα - Υπολογιστές Δεδομένου ενός προβλήματος υπάρχουν 2 σημαντικά ερωτήματα: Μπορεί να επιλυθεί με χρήση υπολογιστή;

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

ILP-Feasibility conp

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

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

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β.

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β. ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ Ε.1 ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ Στη παράγραφο αυτή θα γνωρίσουμε μερικές βασικές έννοιες της Λογικής, τις οποίες θα χρησιμοποιήσουμε στη συνέχεια, όπου αυτό κρίνεται αναγκαίο, για τη σαφέστερη

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

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

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

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

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ Περιεχόμενα : Α) Προτάσεις-Σύνθεση προτάσεων Β)Απόδειξη μιας πρότασης Α 1 ) Τι είναι πρόταση Β 1 ) Βασικές έννοιες Α ) Συνεπαγωγή Β ) Βασικές μέθοδοι απόδειξης Α 3 ) Ισοδυναμία

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

Mh apofasisimèc gl ssec. A. K. Kapìrhc

Mh apofasisimèc gl ssec. A. K. Kapìrhc Mh apofasisimèc gl ssec A. K. Kapìrhc 15 Maòou 2009 2 Perieqìmena 1 Μη αποφασίσιμες γλώσσες 5 1.1 Ανάγω το πρόβλημα A στο B................................. 5 1.2 Αναγωγές μη επιλυσιμότητας..................................

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

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C Κεφάλαιο 1 Εισαγωγικές έννοιες Στο κεφάλαιο αυτό θα αναφερθούμε σε ορισμένες έννοιες, οι οποίες ίσως δεν έχουν άμεση σχέση με τους διανυσματικούς χώρους, όμως θα χρησιμοποιηθούν αρκετά κατά τη μελέτη τόσο

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

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης. ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, 17-10-13 Μ. Παπαδημητράκης. 1 Την προηγούμενη φορά αναφέραμε (και αποδείξαμε στην περίπτωση n = 2) το θεώρημα που λέει ότι, αν n N, n 2, τότε για κάθε y 0 υπάρχει μοναδική μηαρνητική

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

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

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

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

f x 0 για κάθε x και f 1

f x 0 για κάθε x και f 1 06 4.2 Το Λήμμα του Uysoh το Λήμμα της εμφύτευσης και το θεώρημα μετρικοποίησης του Uysoh. Ο κύριος στόχος αυτής της παραγράφου είναι η απόδειξη ενός θεμελιώδους αποτελέσματος γνωστού ως το Λήμμα του Uysoh.

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Δύο Π.Α. Μ 1 και Μ 2 είναι ισοδύναμα ανν L(M 1 ) = L(M 2 ). Έστω Μ = (Q, Σ, q 0, Δ, F) μη Αιτ. Π.Α. Για κάθε κατάσταση q Q, ορίζουμε ως Ε(q) Q το σύνολο των καταστάσεων

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

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

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

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

Μαθηματική Λογική και Απόδειξη

Μαθηματική Λογική και Απόδειξη Μαθηματική Λογική και Απόδειξη Σύντομο ιστορικό σημείωμα: Η πρώτη απόδειξη στην ιστορία των μαθηματικών, αποδίδεται στο Θαλή το Μιλήσιο (~600 π.χ.). Ο Θαλής απέδειξε, ότι η διάμετρος διαιρεί τον κύκλο

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

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Ορισμός της δίτιμης άλγεβρας Boole Περιεχόμενα 1 Ορισμός της

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

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

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

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

, για κάθε n N. και P είναι αριθμήσιμα.

, για κάθε n N. και P είναι αριθμήσιμα. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ Διδάσκοντες: Δ.Φωτάκης Θ. Σούλιου η Γραπτή Εργασία Ημ/νια παράδοσης 5/4/8 Θέμα (Διαδικασίες Απαρίθμησης.

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