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

Σχετικά έγγραφα
CSC 314: Switching Theory. Chapter 3, 4: Turing Machines, Decidability

CSC 314: Switching Theory

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =

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

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

10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα

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

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

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

Recursive and Recursively Enumerable sets I

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

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

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

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

Πλακίδια του Wang C πεπερασμένο σύνολο χρωμάτων.

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

2 n N: 0, 1,..., n A n + 1 A

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

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

S n = ( 1, 0] 1 + b 1 a1 + b 1 I 1 I 2 I 3...,

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

ILP-Feasibility conp

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

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

bca = e. H 1j = G 2 H 5j = {f G j : f(0) = 1}

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

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

B = {x A : f(x) = 1}.

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

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Κυψελλικό αυτόματο: (A, N, f ), όπου

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

x 2 + y 2 = z 2 x = 3, y = 4, z = 5 x 2 + y 2 = z 2 (2.1)

Μηχανές Turing (T.M) I

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

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

Αναδρομή (Recursion) Πώς να λύσουμε ένα πρόβλημα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί με τον ίδιο τρόπο.

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

HEAD INPUT. q0 q1 CONTROL UNIT

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Chapter 7, 8 : Completeness

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

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

Transcript:

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

Θέση Church-Turing Τι μπορεί να υπολογιστεί και τι δεν μπορεί να υπολογιστεί? Θέση Church-Turing: ότι μπορεί να υπολογιστεί (υπάρχει αλγόριθμος) μπορεί να υπολογιστεί από μια μηχανή Turing. Δηλ. Αλγόριθμος είναι μια μηχανή Turing που τερματίζει για όλες τις εισόδους του προβλήματος Τα προβλήματα που δεν μπορούν να επιλυθούν από μια μηχανή Turing δεν μπορούν να επιλυθούν. (είναι μη επιλύσιμα). ΗθέσητωνChurch-Turing είναι η επικρατέστερη άποψη για το θέμα. 2

Υπάρχουν γλώσσες που δεν είναι αναδρομικές ή αναδρομικά απαριθμίσιμες? Οι γλώσσες αναπαραστούνται με συμβολοσειρές (λέξεις). Π.χ. L={w Σ : w : περιττός} Π.χ. L={a n b n a n } Π.χ. Πεπερασμένα Αυτόματα ή μηχανές Turing Οι λέξεις που μπορούν να οριστούν για όλα τα αλφάβητα είναι απείρως αριθμήσιμες. Οι γλώσσες που μπορούν να αναπαρασταθούν με συμβολοσειρές είναι απείρως αριθμίσημες Υπάρχουν μόνο απείρως αριθμίσιμες γλώσσες Υπάρχουν μόνο απείρως αριθμίσιμες γλώσσες αναδρομικές ή αναδρομικά αριθμήσιμες Όλες οι γλώσσες όμως είναι μη αριθμήσιμες Υπάρχουν γλώσσες που δεν είναι αναδρομικές ή αναδρομικά αριθμήσιμες 3

Καθολικές Μηχανές Turing Οι μηχανές Turing σχεδιάζονται από την αρχή για μια λειτουργία Μπορούμε να προγραμματίσουμε μια μηχανή Turing να κάνει μια λειτουργία? Kαθολική Μηχανή Turing Κωδικοποιώ την λειτουργία (μηχανή Turing, Μ 1 ) που θέλω να εκτελέσω ως μια λέξη ΤηνεισάγωστηνείσοδοτηςKαθολική Μηχανή Turing H μηχανή προσδιορίζει τις μεταβάσεις της με βάση την κωδικοποιημένη M 1 4

Το Πρόβλημα του Τερματισμού Πρόβλημα Τερματισμού: Ας υποθέσουμε ότι έχουμε το εξής καταπληκτικό πρόγραμμα: Πρόγραμμα halts(p, Χ), γραμμένο σε μια γλώσσα προγραμματισμού Είσοδος: ένα πρόγραμμα P στην ίδια γλώσσα μια είσοδος X του προγράμματος P Έξοδος: NAI: αν το P τερματίζει πάντα με είσοδο X OXI: αν το P θα έτρεχε επ άπειρον 5

Πρόγραμμα Diagonal(X) Diagonal(Χ) α : If halts(x, Χ) then goto α else halt Τι κάνει το diagonal? Αν το πρόγραμμα halts αποφασίσει ότι το πρόγραμμα X θα τερμάτιζε με είσοδο X (τον εαυτό του), τότε το diagonal πέφτει σε άπειρη ανακύκλωση αλλιώς τερματίζει. ΕΡΩΤΗΣΗ: Τερματίζει το diagonal(diagonal)? Το diagonal(diagonal) τερματίζει εάν και μόνο εάν το halts(diagonal, diagonal) επιστρέφει OXI. halts(diagonal, diagonal) επιστρέφει OXI εάν και μόνο εάν το πρόγραμμα diagonal με είσοδο Χ=diagonal (δηλ. το diagonal(diagonal)) δεν τερματίζει. Δηλ. diagonal(diagonal) τερματίζει εάν και μόνο εάν το diagonal(diagonal) δεν τερματίζει! 6

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

Ορισμοί Δύο Σημαντικών Γλωσσών K 0 = {(p(μ),x) ημηχανήturing Μαποδέχεταιτηλέξηx} οι λέξεις που κωδικοποιούν μια μηχανή Turing M που αποδέχεται τη λέξη x Γλώσσα Τερματισμού K 1 = {x ηλέξηx κωδικοποιεί μια μηχανή Turing Μ x που αποδέχεται τη λέξη x} κωδικοποιεί μια μηχανή Turing Μ x που αποδέχεται τη λέξη x οι λέξεις που κωδικοποιούν μια μηχανή Turing και γίνονται δεχτές από αυτήν Γλώσσα Αυτοτερματισμού Κοινό Χαρακτηριστικό: Αυτοαναφορά Κ 1 = Η μηχανήm x δέχεται τη λέξη x, δηλαδή παίρνει τον εαυτό της σαν είσοδο κωδικοποιημένο. 8

Παρατηρείστε H K 1 είναι αναδρομικά απαριθμίσιμη. 9

Θεώρημα Θεώρημα. Η γλώσσα δεν είναι αναδρομικά αριθμήσιμη. Απόδειξη. Από τον ορισμό της γλώσσας, έχουμε ότι για κάθε λέξη x Σ *, x ηλέξηx κωδικοποιεί μια μηχανή Turing M x ηοποίαδεν αποδέχεται τη λέξη x} ή K 1 ηλέξηx δεν κωδικοποιεί μηχανή Turing (σχέση 1) K 1 K 1 10

απόδειξη θεωρήματος Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η γλώσσα K 1 είναι αναδρομικά αριθμήσιμη. Από τον ορισμό των αναδρομικά αριθμησίμων γλωσσών, υπάρχει λέξη x 0 Σ * η οποία κωδικοποιεί μηχανή Turing Μx0 η οποία αποδέχεται τη γλώσσα. για κάθε λέξη x Σ* x η μηχανή Turing Μx0 αποδέχεται τη λέξη x. (σχέση 2) K 1 K 1 11

απόδειξη θεωρήματος Από τις σχέσεις 1 και 2, για κάθε λέξη x Σ *, ηλέξηx κωδικοποιεί μηχανή Turing M x η οποία δεν αποδέχεται τη λέξη x ή ηλέξηx δεν κωδικοποιεί μηχανή Turing ημηχανήturing Μx0 αποδέχεται τη λέξη x. Θέτω x: = x 0 στηντελευταίαισοδυναμία. ημηχανήturing Μx0 δεν αποδέχεται τη λέξη x 0 ημηχανήturing Μx0 αποδέχεται τη λέξη x 0. Αντίφαση. 12

Πόρισμα Αφού η Κ 1 είναι αναδρομικά απαριθμίσιμη. Πόρισμα. Το σύνολο των αναδρομικά απαριθμίσιμων γλωσσών δεν είναι κλειστό ως προς την συμπλήρωση. Πόρισμα 2. Η K 1 δεν είναι αναδρομική. ΟλαταστοιχείαπροσδιορίζουντηνΚ 0 Η διαγώνιος προσδιορίζει την Κ 1 Άφού η Κ 1 δεν είναι αναδρομική ούτε η Κ 0 είναι αναδρομική. 13

Μη Επιλύσημα Προβλήματα με Μηχανές Turing Συμπέρασμα Αφού η Κ 1 δεν είναι αναδρομικά απαριθμίσιμη και αν δεχθούμε την θέση Church-Turing ότι αλγόριθμος=μηχανή Turing που αποφασίζει Δεν υπάρχει αλγόριθμος που αποφασίζει δεδομένης μιας οποιασδήποτε μηχανής Turing M και εισόδου w εάν η M αποδέχεται την w ήόχι. Το πρόβλημα είναι μη επιλύσιμο ή μη-αποφασίσιμο Πιο διάσημο μη-επιλύσιμο πρόβλημα: Το πρόβλημα του Τερματισμού: αποφασίζει εάν μια μηχανή Turing τερματίζει για μια δεδομένη είσοδο. 14

Συνέπεια: Πολλά Μη-επιλύσημα προβλήματα Ορισμός. (Πολλά προς Ένα Αναγωγισιμότητα) Έστω L 1, L 2 Σ * δύο γλώσσες. Μια αναγωγή από την L 1 στην L 2, L 1 L 2, είναι μια αναδρομική συνάρτηση τ: Σ * Σ * τέτοια ώστε x L 1 αν και μόνο αν τ(x) L 2. Χρήση: Για να δείξουμε ότι η L 2 δεν είναι αναδρομική: Προσδιορίζω μια γλώσσα L 1 που είναι γνωστό ότι είναι μη αναδρομική Ανάγω την L 1 στην L 2. 15

Χρήση Αναγωγών Θεώρημα 1. Αν η L 1 δεν είναι αναδρομική και υπάρχει μια αναγωγή από την L 1 στην L 2, τότε και η L 2 δεν είναι αναδρομική. Απόδειξη. Υποθέστε ότι η L 2 είναι αναδρομική. Αποφασίζεται από μια μηχανή M 2. Έστω Τ ημηχανήπουυπολογίζειτηναναγωγήτ. ΗμηχανήΤΜ 2 αποφασίζει για την L 1. H L 1 όμως είναι μη αποφασίσιμη. ΑΤΟΠΟ. 16

Παράδειγμα. Αποδείξτε ότι η Κ 0 δεν είναι αναδρομική. Απόδειξη. Ξέρουμε ότι η Κ 1 είναι μη αναδρομική. Δείχνουμε ότι K 1 K 0 Ορίζουμε την τ ηοποίαμετασχηματίζει μια είσοδος της K 1 «Μ» «Μ» «Μ» : είσοδος της Κ 0 η τ είναι αναδρομική συνάρτηση. η «Μ» είναι αποδεκτή από την K 1 εάν και μόνο αν η «Μ» «Μ» είναι αποδεκτή από την Κ 0 η τ είναι συνάρτηση αναγωγής από την Κ 1 στην Κ 0 αφού η Κ 1 δεν είναι αναδρομική από Θεώρημα 1 ούτε η Κ 0 είναι αναδρομική. 17

Ιδιότητες Γλωσσών Μεταβατικότητα. Για L 1, L 2, L 3 Σ *, αν L 1 L 2 και L 2 L 3 τότε L 1 L 3. Αναδρομικότητα (αναδρομική απαριθμισιμότητα) Κληρονομεί προς τα Κάτω. Για L 1, L 2 Σ *, αν L 1 L 2 και η L 2 είναι αναδρομική (αναδρομικά απαριθμίσιμη) τότε και η L 1 είναι αναδρομική (αναδρομικά απαριθμίσιμη). Μη Αναδρομικότητα (αναδρομική απαριθμισιμότητα) Κληρονομεί προς τα Πάνω. Για L 1, L 2 Σ *, αν L 1 L 2 και η L 1 είναι μη αναδρομική (αναδρομικά απαριθμίσιμη) τότε και η L 2 είναι μη αναδρομική (αναδρομικά απαριθμίσιμη). Συμμετρίας ως προς την συμπλήρωση. Για L 1, L 2 Σ *, L 1 L 2 αν και μόνο αν ΝΟΤ (L 1 ) ΝΟΤ (L 2 ). 18

Ιδιότητες Συγκρισιμότητα. Δύο γλώσσες L 1, L 2 Σ * είναι συγκρίσιμες όταν ή L 1 L 2 ή L 2 L 1. Μη συγκρισιμότητα. Για L Σ * αν η L είναι αναδρομικά αριθμίσιμη αλλά όχι αναδρομική, τότε ούτε L ΝΟΤ (L) ούτε ΝΟΤ (L ) L. Ισχύει: Οποιαδήποτε συναναδρομικά αριθμίσιμη γλώσσα L είναι L ΝΟΤ(K 0 ). 19

Παραδείγματα. 1. Θεώρημα. Για οποιαδήποτε αναδρομικά αριθμήσιμη γλώσσα L, L K 0. Απόδειξη. ΗγλώσσαL είναι αναδρομικά αριθμήσιμη υπάρχει μηχανή Turing M τέτοια ώστε L(M) = L. Για οποιαδήποτε λέξη x Σ *, x L αν και μόνο αν η μηχανή Turing M αποδέχεται τη λέξη x. Ορίζουμε τη συνάρτηση f ώστε για x Σ *, f(x) = h ρ(m), x i. Ησυνάρτησηf είναι αναδρομική συνάρτηση. Για οποιαδήποτε λέξη x Σ, x L αν και μόνο αν ημηχανήturing Μ αποδέχεται τη λέξη x (αφού L = L(M) ) f: αν και μόνο αν ρ(m), x (από τον ορισμό της γλώσσας K 0 ). Η f είναι συνάρτηση αναγωγής από την L στην K 0. L m K 0. 20

Παραδείγματα. (φροντιστήριο) Αναδρομικότητα Κληρονομεί προς τα Κάτω. Για L 1, L 2 Σ *, αν L 1 L 2 και η L 2 είναι αναδρομική τότε και η L 1 είναι αναδρομική. Απόδειξη. 21

Παραδείγματα. (φροντιστήριο) 22

Παραδείγματα. (φροντιστήριο) Αποδείξτε ότι το παρακάτω γλώσσα είναι μη-επιλύσιμη (δηλ. μη αναδρομική): L 2 ={p(μ) η Μ τερματίζει για τουλάχιστον μια συμβολοσειρά e}. γνωρίζοντας ότι η παρακάτω συνάρτηση είναι μη-επιλύσημη: L 1 ={p(μ) η Μ τερματίζει με συμβολοσειρά εισόδου την e}... Δείχνω ότι L 1 L 2 23

24