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

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

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

Recursive and Recursively Enumerable sets I

Θεώρημα Υπάρχουν υπολογίσιμες συναρτήσεις που δεν είναι πρωταρχικές αναδρομικές.

Σχήματα McCarthy I. Το σχήμα McCarthy είναι ένα γενικότερο προγραμματιστικό σχήμα:

Απαρίθμηση ζευγών φυσικών αριθμών I. C(0, 0) = 0 C(2, 1) = 7 κωδικοποίηση κατά Cantor D 1 (7)=2, D 2 (7)=1 : αποκωδικοποίηση

Το 10ο πρόβλημα του Hilbert I

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

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

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

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

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

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

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity

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

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

Αναδρομικές Συναρτήσεις και Σχέσεις I

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

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

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

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

CSC 314: Switching Theory

ΘΕΩΡΗΜΑ (Μέσης Τιμής) Έστω f: [α, β] R συνεχής και παραγωγίσιμη στο (α, β). Τότε υπάρχει ξ (α, β)

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

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

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

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

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

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

Μερικές Διαφορικές Εξισώσεις

Κανόνας της αλυσίδας. J ανοικτά διαστήματα) ώστε ( ), ( ) ( ) ( ) fog ' x = f ' g x g ' x, x I (2)

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity

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

Τυχαιότητα (Randomness) I

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

M. J. Lighthill. g(y) = f(x) e 2πixy dx, (1) d N. g (p) (y) =

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΕΦΑΠΤΟΜΕΝΗ [Κεφάλαιο 2.1: Πρόβλημα εφαπτομένης του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β

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

Εφαρμοσμένα Μαθηματικά ΙΙ Εξέταση Σεπτεμβρίου 25/9/2017 Διδάσκων: Ι. Λυχναρόπουλος

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

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

(a) = lim. f y (a, b) = lim. (b) = lim. f y (x, y) = lim. g g(a + h) g(a) h g(b + h) g(b)

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

Μιχάλης Παπαδημητράκης. Μερικές Διαφορικές Εξισώσεις

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

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

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

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

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

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

x y z xy yz zx, να αποδείξετε ότι x=y=z.

Λογική Πρώτης Τάξης. Γιώργος Κορφιάτης. Νοέµβριος Εθνικό Μετσόβιο Πολυτεχνείο

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

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

ΘΕΩΡΗΜΑ ROLLE. τέτοιο ώστε. στο οποίο η εφαπτομένη είναι παράλληλη στον άξονα χχ. της γραφικής παράστασης της f x με. Κατηγορίες Ασκήσεων

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

ILP-Feasibility conp

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΑΝΑΛΥΣΗΣ ΙΙ, ΣΕΜΦΕ (1/7/ 2013) y x + y.

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

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

i) Για να δείξουμε την επιθυμητή ισότητα, δείχνουμε πως A B {A x : x B} και πως {A x : x B} A B. Για τον πρώτο εγκλεισμό, έστω a A B, δηλάδη a A και a

Κεφάλαιο 2 ο ανάλυσης ερωτήσεις στις παραγώγους. τότε η f(x) είναι παραγωγίσιμη

Περίληψη μαθημάτων Ι. ΣΥΝΑΡΤΗΣΕΙΣ. Με N θα συμβολίζουμε το σύνολο των φυσικών αριθμών, δηλ. N = {1, 2, 3, 4, }.

ΜΑΘΗΜΑΤΙΚΑ ΚΑΙ ΣΤΟΙΧΕΙΑ ΣΤΑΤΙΣΤΙΚΗΣ Γ ΛΥΚΕΙΟΥ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ 2004

Συνέχεια συνάρτησης Σελ 17. Η απόδειξη ύπαρξης ρίζας εξίσωσης (τουλάχιστον μία) σε

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

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

ΜΕΜ251 Αριθμητική Ανάλυση

Διαφορικές Εξισώσεις.

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

α) f(x(t), y(t)) = 0,

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

ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 10: ΕΥΡΕΣΗ ΤΟΠΙΚΩΝ ΑΚΡΟΤΑΤΩΝ

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

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

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

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

Συνήθεις Διαφορικές Εξισώσεις Ι ΣΔΕ Bernoulli, Riccati, Ομογενείς. Διαφορικές Εξισώσεις Bernoulli, Riccati και Ομογενείς

Το Θεώρημα Stone - Weierstrass

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

cos t dt = 0. t cos t 2 dt = 1 8 f(x, y, z) = (2xyz, x 2 z, x 2 y) (2xyz) = (x2 z) (x 2 z) = (x2 y) 1 u du =

Το Θεώρημα CHEVALLEY-WARNING

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

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

ΜΕΜ251 Αριθμητική Ανάλυση

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

Ανασκόπηση-Μάθημα 14 Όρια και Συνέχεια συναρτήσεων στο R 2

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

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

ΜΑΘΗΜΑΤΙΚΑ Ι Β ΜΕΡΟΣ

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι Φεβρουάριος 2013

Για την τοπική μελέτη μιας συνάρτησης f ενδιαφέρον έχει η συμπεριφορά της συνάρτησης γύρω απο κάποια θέση x 0

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

ΣΥΓΚΛΙΣΗ ΣΥΝΑΡΤΗΣΗΣ: Ορισμός Cauchy

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

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

ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΘΕΩΡΗΤΙΚΑ ΣΧΟΛΙΑ. ΟΣΑ ΑΠΟ ΑΥΤΑ ΧΡΗΣΙΜΟΠΟΙΗΘΟΥΝ ΣΕ ΑΣΚΗΣΕΙΣ, ΘΕΛΟΥΝ ΑΠΟΔΕΙΞΗ!!

Transcript:

Μη επιλυσιμότητα I Θεώρημα Το TOT (πρόβλημα ολικής συνάρτησης) είναι μη επιλύσιμο, δηλαδή η f δεν είναι αναδρομική όπου: 1, αν φ x είναι ολική f(x) = 0, αλλιώς Απόδειξη. Ορίζουμε h(x) = φ x (x) + 1, αν f(x) = 1 φ x (x) + 1, αν φ x ολική = 0, αλλιώς 0, αλλιώς Όπως στο προηγούμενο θεώρημα, η συνάρτηση h θα ήταν υπολογίσιμη αν υποθέταμε ότι η f ήταν αναδρομική, άρα η h θα ήταν (ολική) αναδρομική, άρα θα είχε κάποιο δείκτη y. Tότε: φ y (y) + 1, αν φ y ολική φ y (y) = h(y) = = φ y (y) + 1, αφού φ y ολική 0, αλλιώς Άτοπο. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 143 / 310

Αναγωγές Δηλαδή: δεν υπάρχει αλγόριθμος που να μπορεί να αποφασίζει αν ένα δεδομένο πρόγραμμα σταματά για όλες τις δυνατές εισόδους. Παρόμοια αποδεικνύεται ότι: δεν υπάρχει αλγόριθμος που να μπορεί να αποφασίσει αν δυο δεδομένα προγράμματα είναι ισοδύναμα (δηλαδή έχουν την ίδια συμπεριφορά εισόδου - εξόδου). Αντί να δείχνουμε κατευθείαν (δηλαδή με διαγωνιοποίηση) ότι ένα τέτοιο πρόβλημα είναι μη επιλύσιμο, μπορούμε να χρησιμοποιούμε την ακόλουθη μέθοδο αναγωγής (reduction): Για να δείξουμε ότι η f δεν είναι υπολογίσιμη, ανάγουμε το HP στην f, δηλαδή, δείχνουμε ότι αν ήταν υπολογίσιμη η f τότε θα ήταν επιλύσιμο το HP (πράγμα που δεν αληθεύει!). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 144 / 310

Θεώρημα S-m-n I Θεώρησε ένα πρόγραμμα π με δυο εισόδους a, b για τις μεταβλητές y και z. Τώρα (κρατήστε το y σαν παράμετρο) φτιάξε ένα νέο πρόγραμμα π 1 : y := a; π με μόνο μια είσοδο b για την μεταβλητή z. H έξοδος είναι η ίδια. Έτσι αν ο κωδικός του π είναι x και ο κωδικός του π 1 είναι s ισχύει: φ x (a, z)» φ s (z) Παρατηρούμε ότι ο κωδικός του π 1 μπορεί να υπολογιστεί βάσει του κωδικού του y := a και του κωδικού του π, με απλό τρόπο. Άρα η s είναι (LOOP-)υπολογίσιμη συνάρτηση του x και του y, δηλαδή s(x, y) και συνεπώς: Θεώρημα παραμέτρων. Ds P P, @x, y, z φ x (y, z)» φ s(x,y) (z) Και γενικά (για πολλές μεταβλητές και πολλές παραμέτρους): Θεώρημα S-m-n. DS n m P P, @x, y, z φ x(y 1,..., y m, z 1,..., z n)» φ S n m (x,y 1,...,y m )(z 1,..., z n) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 145 / 310

Θεώρημα S-m-n II Θεώρημα Υπάρχει g P P ώστε φ x (φ y (z))» φ g(x,y) (z). (Δηλαδή ο κωδικός της παράθεσης δυο προγραμμάτων, π 1 ; π 2, είναι υπολογίσιμος βάσει των κωδικών των π 1 και π 2 ). Απόδειξη. Θεώρησε ένα καθολικό πρόγραμμα: ω 1 (x, y, z)» (π 1 ; π 2 )(z), όπου: y = κωδικός(π 1 ), x = κωδικός(π 2 ) και z = είσοδος για π 1. Το ω 1 έχει (έστω) δείκτη u: φ u(x, y, z)» φ x(φ y(z)). Λόγω του S-m-n έχουμε: φ u (x, y, z)» φ S 2 1 (u,x,y)(z). Αρα: φ x (φ y (z))» φ S 2 1 (u,x,y)(z), οπότε θέτουμε: g(x, y) = S 2 1(u, x, y) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 146 / 310

Παράδειγμα αναγωγής I Θεώρημα To CONST (πρόβλημα σταθερής συνάρτησης) είναι μη επιλύσιμο, δηλαδή η συνάρτηση f δεν είναι αναδρομική, όπου: 1, αν φ x σταθερή συνάρτηση f(x) = 0, αλλιώς Απόδειξη: Ορίζουμε: h(x, y)» 5, αν φ x(x) Ó Ò, αλλιώς Η h είναι υπολογίσιμη: βρες τo x-οστό πρόγραμμα, τρέξε το με είσοδο x, αν και όταν σταματήσει δώσε έξοδο 5. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 147 / 310

Παράδειγμα αναγωγής II Λόγω της θέσης Church-Turing η h είναι μερική αναδρομική. Λόγω της κανονικής μορφής Kleene η h έχει δείκτη (έστω) u: φ u (x, y)» h(x, y). Λόγω του S-m-n: φ S(u,x) (y)» h(x, y). Θέτουμε g(x) = S(u, x). Έτσι έχουμε φ g(x) (y)» h(x, y) και η g είναι υπολογίσιμη. Τώρα θα χρησιμοποιήσουμε την f: f(g(x)) = 1, αν φ g(x) σταθ. συν. 1, h(x,y)=5, @y 1, φ x(x) Ó = = 0, αλλιώς 0, αλλιώς 0, αλλιώς = HP Αν η f ήταν υπολογίσιμη τότε και η σύνθεση f(g( )) θα ήταν υπολογίσιμη δηλαδή το HP θα ήταν επιλύσιμο. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 148 / 310

Παράδειγμα αναγωγής III Άσκηση: Δείξτε με αναγωγή ότι τα εξής προβλήματα δεν είναι επιλύσιμα: 1 t(x, y) φ x = φ y u 2 t(x, y, z) φ x (y) = zu 3 tx το πεδίο της φ x είναι άπειροu Παρατήρηση Ας διαφοροποιήσουμε τώρα τις δυο εκδοχές του HP που έχουμε χρησιμοποιήσει για να είμαστε ακριβείς: K 0 = t(x, y) φ x (y) Óu K = tx φ x (x) Óu Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 149 / 310

Θεώρημα Rice I Η παραπάνω τεχνική αναγωγής του HP μπορεί να χρησιμοποιηθεί για να δείξουμε ένα πολύ πιο γενικό αποτέλεσμα: Κάθε μη τετριμμένη ιδιότητα υπολογίσιμων συναρτήσεων αντιπροσωπεύει ένα μη επιλύσιμο πρόβλημα (Θεώρημα Rice). Πριν την ακριβή διατύπωση του θεωρήματος του Rice θα πρέπει να διευκρινίσουμε κάτι πολύ σημαντικό. Οποιαδήποτε τεχνική απαρίθμησης κι αν εφαρμόσουμε για τις μερικές αναδρομικές συναρτήσεις (είτε μέσω προγραμμάτων while, είτε μέσω του μαθηματικά ορισμένου επαγωγικού πεδίου κ.τ.λ.), δεν μπορούμε να πετύχουμε μονοσήμαντη κωδικοποίηση για μια συνάρτηση (αναφερόμαστε στην ουσία της συνάρτησης). Δηλαδή μια συνάρτηση, στις διάφορες ισοδύναμες μορφές της, θα αντιστοιχεί σε πολλούς δείκτες στην απαρίθμηση. Έτσι το σύνολο C που αναφέρεται στο θεώρημα του Rice είναι σύνολο συναρτήσεων και όχι σύνολο δεικτών. Ορισμός PR 1 : Η κλάση των μερικών αναδρομικών συναρτήσεων με ένα όρισμα. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 150 / 310

Θεώρημα Rice II Θεώρημα (Rice) Έστω C Ĺ PR 1, C H. Τότε το tx φ x P Cu είναι μη επιλύσιμο, δηλαδή η συνάρτηση f δεν είναι αναδρομική, όπου: 1, φ x P C f(x) = 0, αλλιώς Απόδειξη: Έστω k μια συνάρτηση της κλάσης C. Έστω Ω η πουθενά ορισμένη συνάρτηση, δηλαδή Ω(x) =Ò, @x. Περίπτωση 1: Ω R C. Ορίζουμε: h(x, y)» k(y), φ x (x) Ó Ò, αλλιώς Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 151 / 310

Θεώρημα Rice III Όπως στο προηγούμενο θεώρημα έχουμε: φ g(x) (y)» h(x, y) και g είναι υπολογίσιμη. Τότε, αφού Ω R C: 1, φ f(g(x)) = g(x) P C 1, φ = g(x)» k 1, φ x(x) Ó = 0, αλλιώς 0, αλλιώς 0, αλλιώς = HP Συνεπώς η f δεν είναι υπολογίσιμη. Περίπτωση 2: Ω P C. Αλλά τότε το Ω δεν ανήκει στο C. Δείχνουμε ομοίως ότι: tx φ x P Cu μη επιλύσιμο. Αλλά τότε και το συμπλήρωμά του δεν είναι επιλύσιμο: tx φ x P Cu = tx φ x P Cu Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 152 / 310

Δεύτερο Θεώρημα Αναδρομής (Θεώρημα σταθερών τιμών) I Θεώρημα (Δεύτερο Θεώρημα Αναδρομής (θεώρημα σταθερών τιμών)) [ισοδύναμη εκφώνηση: @z D n : φ n» φ φz (n)] @f P PR D n : φ n» φ f(n) Παρατήρηση Αν f(n) =Ò τότε φ f(n) = Ω. Το θεώρημα της αναδρομής λέει για ότι για κάθε αναδρομική συνάρτηση f που αντιστοιχεί δείκτες μερικών αναδρομικών συναρτήσεων σε δείκτες μερικών αναδρομικών συναρτήσεων, υπάρχει ένα σταθερό σημείο n, ώστε η μερική αναδρομική συνάρτηση με δείκτη n να είναι ισοδύναμη με τη μερική αναδρομική συνάρτηση με δείκτη f(n). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 153 / 310

Δεύτερο Θεώρημα Αναδρομής (Θεώρημα σταθερών τιμών) II Με άλλα λόγια, αν μετασχηματίσουμε όλα τα προγράμματα while κατά ένα συγκεκριμένο τρόπο (π.χ. προσθέτοντας στο τέλος τους μια εντολή y := y + 1, όπου y η έξοδος), θα υπάρχει ένα πρόγραμμα while π n που θα είναι ισοδύναμο με το μετασχηματισμένο πρόγραμμα π f(n) (στο συγκεκριμένο παράδειγμα ένα πρόγραμμα που πέφτει σε άπειρο loop). Συνέπεια των θεωρημάτων αναδρομής είναι και το ότι υπάρχει self reproducing program (quine) πρόγραμμα του οποίου η έξοδος είναι ακριβώς το κείμενο του ίδιου του προγράμματος. Θα κατασκευάσουμε ένα σκαρίφημα για ένα τέτοιο πρόγραμμα. Η συνάρτηση dq (doublequotes, που δεν υλοποιούμε λεπτομερώς) διπλασιάζει κάθε quote. Για να εμφανιστεί στην έξοδο μία συμβολοσειρά που περιέχει ένα quote, πχ. blah blah, η εντολή πρέπει να έχει δύο quotes, δηλ είναι write( blah blah ). Θεωρούμε ότι το πρόγραμμα είναι γραμμένο σε μία γραμμή (δεν χωράει σε μία γραμμή στην σελίδα, για αυτό το γράφουμε σε δύο): Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 154 / 310

Δεύτερο Θεώρημα Αναδρομής (Θεώρημα σταθερών τιμών) III Παράδειγμα (Quine σε ψευδοκώδικα) x:=';y:=dq(x);write("x:=""", y, """", x)';y:=dq(x);write('x:="', y, '"', x) Trace: x : ;y:=dq(x);write('x:="', y, '"', x) y : ;y:=dq(x);write("x:=""", y, """", x) Output: x:=';y:=dq(x);write("x:=""", y, """", x)';y:=dq(x);write('x:="', y, '"', x) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 155 / 310

Δεύτερο Θεώρημα Αναδρομής (Θεώρημα σταθερών τιμών) IV Παράδειγμα (Quine σε python) > cat quine.py x='x=%r;print x%%x';print x%x > python quine.py x='x=%r;print x%%x';print x%x Εξήγηση: Εντολή 1: Εντολή 2: x = 'x=%r;print x%%x' print x%x Trace: x : "x=%r;print x%%x" x%x : "x='x=%r;print x%%x';print x%x" Γενικά: x%y δίνει ως αποτέλεσμα τη συμβολοσειρά x με τη διαφορά ότι στη θέση του %r υπάρχει πλέον το representation της y, δηλαδή η τιμή της συμβολοσειράς y μαζί με τα μονά εισαγωγικά γύρω της, και στη θέση του %% υπάρχει πλέον μόνο ένα σύμβολο % [http://pyformat.info για περισσότερες πληροφορίες]. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 156 / 310

Άλλη εκδοχή δεύτερου θεωρήματος αναδρομής I Θεώρημα (Άλλη εκδοχή θεωρήματος αναδρομής) Dr P R @ z : φ r(z)» φ φz(r(z)) Δηλαδή μπορούμε μηχανιστικά να υπολογίσουμε το n του πρώτου θεωρήματος. Απόδειξη: Για το πρώτο: Ορίζουμε h(x, u)» φ φx (x)(u). H h είναι υπολογίσιμη. Όπως παραπάνω, υπάρχει g υπολογίσιμη ώστε: Η σύνθεση f(g( )) είναι υπολογίσιμη. Άρα έχει δείκτη, έστω y: φ y (.)» f(g(.)). Άρα: φ y (y)» f(g(y)) και: φ f(g(y))» φ φy (y)» φ g(y) θέτουμε n = g(y). φ g(x) (u)» h(x, u). Για το δεύτερο: Παρατηρούμε ότι η κατασκευή του π ήταν μηχανιστική, δηλαδή δείκτης y μπορεί να υπολογιστεί και η g είναι υπολογίσιμη. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος 2017 157 / 310