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

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

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

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

Recursive and Recursively Enumerable sets I

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικά Παραδείγματα: Παρατηρήσεις:

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

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

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

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

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

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

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

(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)

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

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

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


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

j=1 x n (i) x s (i) < ε.

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

ΚΕΦΑΛΑΙΟ 4: Ριζικό του Jacobson

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

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

> ln 1 + ln ln n = ln(1 2 3 n) = ln(n!).

Δώδεκα Αποδείξεις του. Θεμελιώδους Θεωρήματος της Άλγεβρας

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

Προγραμματισμός Ι (HY120)

B = F i. (X \ F i ) = i I

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


Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 5: ΘΕΩΡΗΜΑ ROLLE [Θεώρημα Rolle του κεφ.2.5 Μέρος Β του σχολικού βιβλίου]. ΑΣΚΗΣΕΙΣ

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

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

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

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

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

n = r J n,r J n,s = J

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

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

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

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

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

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

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

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

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

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις τέταρτου φυλλαδίου ασκήσεων. ( n(n+1) e 1 (

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

a n = 3 n a n+1 = 3 a n, a 0 = 1

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

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

Παράδειγμα άμεσης απόδειξης. HY118-Διακριτά Μαθηματικά. Μέθοδοι αποδείξεως για προτάσεις της μορφής εάν-τότε

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

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

Αποτελέσματα προόδου

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

Σχόλια στις Παραγώγους. Μια συνάρτηση θα λέγεται παραγωγίσιμη σε ένα σημείο x 0 του. f(x h) f(x )

Ψευδοκώδικας. November 7, 2011

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ημερομηνία Αποστολής στον Φοιτητή: 17 Οκτωβρίου 2011

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

Transcript:

Θέση Church-Turing Κανονική μορφή Kleene Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing: Ό ες οι υπο ο ίσιμες συναρτήσεις είναι μερικές αναδρομικές και ό ες οι αποκρίσιμες σχέσεις είναι αναδρομικές Υπενθύμιση: Μια σχέση R λέγεται αναδρομική όταν η χαρακτηριστική της συνάρτησης χ R είναι αναδρομική, όπου: 1 αν R(x, y) χ R(x, y) = 0 αλλιώς Συνέπεια της θέσης του Church: Για να δείξουμε οτι μια συνάρτηση ή σχέση είναι (μερική) αναδρομική, αντί μιας ακολουθίας τυπικών συνεπαγωγών (με πρωταρχικές συναρτήσεις και σχήματα) ή αντί ενός πλήρους προγράμματος ή TM, αρκεί να δίνουμε ενορατικά (αλλά ορθά) επιχειρήματα για τον τρόπο υπολογισμού τους Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 131 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θέση Church-Turing II Έτσι φαίνεται τελικά οτι καταλήξαμε στον τυπικό πια ορισμό της εννοιας υπολογίσιμος Φυσικά υπάρχουν πολλλές συναρτήσεις που δεν είναι υπολογίσιμες Θεώρημα Υπάρχουν μη υπο ο ίσιμες συναρτήσεις Απόδειξη Απαριθμούμε όλες τις μερικές αναδρομικές συναρτήσεις φ 0, φ 1, φ 2, Άσκηση: Χρησιμοποιώντας κωδικοποίηση, απαρίθμησε μηχανιστικά την κλάση PR ή όλα τα προγράμματα while Άρα υπάρχουν άπειρες μεν, αλλά μόνο αριθμήσιμες το πλήθος μερικές αναδρομικές συναρτήσεις (ℵ 0 ) Από την άλλη μεριά όμως, υπάρχουν μη αριθμήσιμες το πλήθος συναρτήσεις γενικώς (2 ℵ 0 δείχνεται με διαγωνιοποίηση) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 132 / 329

Υπολογισιμότητα Θέση Church-Turing Κανονική μορφή Kleene Θέση Church-Turing III Παράδειγμα μιας μη υπολογίσιμης συνάρτησης: Το πρόβλημα τερματισμού (halting problem) g(x, y) = 1, αν φ x(y) Ó 0, α ιώς Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 133 / 329

Θέση Church-Turing Κανονική μορφή Kleene Universal Machine I Καθολικό Πρόγραμμα (universal program): ένα πρόγραμμα που παίρνει για είσοδο οποιοδήποτε πρόγραμμα με τα δεδομένα εισόδου του και προσομοιάζει την εκτέλεσή του Αυτή η έννοια είναι παρόμοια με τη λειτουργία ενός επόπτη (monitor), μεταφραστή (compiler) ή διερμηνέα (interpreter) σ ένα πραγματικό υπολογιστή Μιλήσαμε για την ισοδυναμία των μοντέλων, άρα μπορούμε να μιλάμε είτε για καθολικό While program, είτε για καθολικό Goto program, είτε για καθολική μηχανή Turing (ιστορικά έτσι πρωτοχρησιμοποιήθηκε η έννοια της καθολικότητας), είτε για καθολική μερική αναδρομική συνάρτηση Καθολικό While program ω n (x, y) με είσοδο x = κωδικός ενός Goto προγράμματος π με n μεταβλητές είσοδο y = κωδικός των n τιμών εισόδου [a 1, a 2,, a n ] για τις n μεταβλητές του π και έξοδο την ίδια με την έξοδο του π[a 1, a 2,, a n ] Καθολική αναδρομική συνάρτηση φ e @x, y φ e (x, y)» φ x (y) όπου το» σημαίνει: είτε είναι και οι δυο πλευρές ορισμένες και ίσες, είτε καμία πλευρά δεν είναι ορισμένη Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 134 / 329

Θέση Church-Turing Κανονική μορφή Kleene Universal Machine II πρώτος σκελετός για ω n (x, y): label := 0; while label ď maxlab do εκτέλεσε εντολή της label; βρές επόμενη label end Δεύτερη προσέγγιση για ω n (x, y): label := 0; maxlab := decodesearch(x); while label ď maxlab do instruction := decode(x at label); label := execnext(instruction,y); y:= execvalue(instruction,y) end Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 135 / 329

Θέση Church-Turing Κανονική μορφή Kleene Universal Machine III Εφαρμόζουμε την ακόλουθη κωδικοποίηση: Κωδικοποίηση για την είσοδο: xa 1, a 2,, a n y ÞÑ C f (a 1, a 2,, a n ) Για τις εντολές του GOTO προγράμματος: l i : assignment goto l j είναι: ÞÑ C f (0, i, C f (assignment), j) όπου η κωδικοποίηση για τις αναθέσεις, Αναθέσεις Κ δικοποίηση κενή εντολή C f (0, 0, 0) x i := 0 C f (1, i, 0) x i := x j C f (2, i, j) x i := x j + 1 x i := x j 1 C f (3, i, j) Cf (4, i, j) l i : if x m ăą 0 then goto l j else goto l k ÞÑ C f (1, i, m, j, k) Έτσι τα προγράμματα goto θα κωδικοποιούνται ως εξής: goto πρόγραμμα με m εντολές ÞÑ C f (C f (εντολή 0 ),, C f (εντολή m 1 )) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 136 / 329

Θέση Church-Turing Κανονική μορφή Kleene Universal Machine IV Τρίτη βελτίωση για ω n (x, y): label:=0; maxlab := decodesearch(x); while label<= maxlab do z := D f label (x); if D f 0 (z) = 0 then ass := D f 2 (z); label := D f 3 (z) end else m := D f 2 (z); if m <> 0 then label := D f 3 (z) else label := Df 4 (z) end y := execvalue(ass, y) end Η execvalue αποκωδικοποιεί την ass και ανάλογα μεταβάλλει τις τιμές των μεταβλητών του προγράμματος Τέταρτη βελτίωση για ω n (x, y): κοκ Ασκηση Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 137 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θεώρημα Κανονικής μορφής Kleene I Παρατήρηση Λόγω της μηχανιστικής ισοδυναμίας των προγραμμάτων while και goto, έπεται η εξής πρόταση: Υπάρχει ένα καθο ικό πρό ραμμα while ω n, που έχει μόνο ένα πρα ματικό while βρόχο και ίσ ς πο ούς for βρόχους (ή if εντο ές ), έτσι ώστε ια κάθε πρό ραμμα while π και ια κάθε είσοδο να ισχύει: ω n (κ δικός(π), είσοδος)» π(είσοδος) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 138 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θεώρημα Κανονικής μορφής Kleene II Αν μεταφράσουμε την προηγούμενη πρόταση σε ορολογία μερικών αναδρομικών συναρτήσεων, καταλήγουμε στο εξής: Θεώρημα κανονικής μορφής Kleene (Kleene normal form theorem) @n Dψ, T P P @f P PR n (PR n μερικές αναδρομικές συναρτήσεις με n ορίσματα) D δείκτης x: @ y f( y)» ψ(µz[t(x, y, z) = 0], x, y) όπου: f: αντιστοιχεί στο πρόγραμμα π y: αντιστοιχεί στην είσοδο του π x: αντιστοιχεί στον κώδικο του π (δείκτης της f) z: αντιστοιχεί στον αριθμό επαναλήψεων του βρόχου while στο ω n T: πρωταρχική αναδρομική συνάρτηση που αντιστοιχεί στο σώμα του while στο ω n ψ: πρωταρχική αναδρομική συνάρτηση που αντιστοιχεί στο τμήμα του ω n έξω από τον βρόχο while Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 139 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θεώρημα Κανονικής μορφής Kleene III Παρατηρήσεις: 1 T λέγεται συνήθως κατη όρημα Κleene 2 Αρκεί μια μόνο εφαρμογή του τελεστή µ για να περιγραφεί οποιαδήποτε μερική αναδρομική συνάρτηση 3 Tο παραπάνω θεώρημα (ΚΝF) δίνει μια μηχανιστική απαρίθμηση tφ xu όλων των μερικών αναδρομικών συναρτήσεων Σαν εφαρμογή θα δείξουμε το εξής (περίφημο) απότελεσμα αποκρισιμότητας: Θεώρημα To HP (πρόβ ημα τερματισμού), είναι μη επι ύσιμο, δη αδή η συνάρτηση g δεν είναι αναδρομική όπου: 1, αν φ x (y) Ó g(x, y) = 0, α ιώς Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 140 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θεώρημα Κανονικής μορφής Kleene IV Απόδειξη (διαγωνιοποίηση και εις άτοπον απαγωγή) Ας υποθέσουμε ότι η g ήταν αναδρομική Ορίζουμε: φ x(x) + 1, αν g(x, x) = 1 φ x(x) + 1, αν φ x(x) Ó h(x) = = 0, αλλιώς 0, αλλιώς Η συνάρτηση h μπορεί να υπολογιστεί με τη βοήθεια της υπολογίσιμης g Aρα, λόγω θέσης Church-Turing, η h είναι (ολική) αναδρομική Aρα, λόγω της κανονικής μορφής Kleene, έχει κάποιο δείκτη (έστω) y, δηλαδή φ y = h (ολική συνάρτηση) Τότε όμως: φ y (y) + 1, αν φ y (y) Ó φ y (y) = h(y) = = φ y (y) + 1, αφού @y : φ y (y) Ó 0, αλλιώς Άτοπο Συνεπώς η g δεν είναι αναδρομική Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 141 / 329

Θέση Church-Turing Κανονική μορφή Kleene Θεώρημα Κανονικής μορφής Kleene V Εναλλακτική απόδειξη του ίδιου με προγράμματα: Έστω μηχανιστική απαρίθμηση προγραμμάτων: π 0, π 1, π 2, Ας υποθέσουμε ότι υπάρχει πρόγραμμα halt(x, y) που αποκρίνεται αν το x-οστό πρόγραμμα με είσοδο y σταματάει Το εξής πρόγραμμα (με είσοδο x): l 0: if halt(x, x) then goto l 0 (* loop forever *) else goto l 1 (* stop *) θα εμφανίζεται κάπου στην απαρίθμηση (έστω) με δείκτη i Τότε όμως: π i (i) σταματάει ανν not halt(i, i) ανν π i (i) δεν σταματάει Ατοπο Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ & Πολυπλ Μάρτιος 2018 142 / 329

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Μη επιλυσιμότητα 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) Υπολ & Πολυπλ Μάρτιος 2018 143 / 329

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

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Θεώρημα 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) Υπολ & Πολυπλ Μάρτιος 2018 145 / 329

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Θεώρημα 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) Υπολ & Πολυπλ Μάρτιος 2018 146 / 329

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

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Παράδειγμα αναγωγής 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) Υπολ & Πολυπλ Μάρτιος 2018 148 / 329

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Παράδειγμα αναγωγής 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) Υπολ & Πολυπλ Μάρτιος 2018 149 / 329

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

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Θεώρημα 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) Υπολ & Πολυπλ Μάρτιος 2018 151 / 329

Μη επιλυσιμότητα Θεωρία αναδρομικών συναρτήσεων Θεώρημα 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) Υπολ & Πολυπλ Μάρτιος 2018 152 / 329