Professional Documents
Culture Documents
TheoryofComputation Undecidability
TheoryofComputation Undecidability
Μη επιλυσιμότητα
Παναγιώτης Ρουβέλας
22 Ιανουαρίου 2022
Για το λόγο αυτό, εισάγαμε σταδιακά όλο και πιο ισχυρά υπολογιστικά
μοντέλα καταλήγοντας σε αυτό της μηχανής Turing.
Στη συνέχεια, δείξαμε ότι ουσιαστικά η μηχανή Turing αποτελεί το
ισχυρότερο υπολογιστικό μοντέλο αφού οποιαδήποτε (ρεαλιστική)
παραλλαγή της δεν είναι ισχυρότερη υπολογιστικά.
1
Η θέση των Church-Turing
2
Τα όρια της υπολογισιμότητας
3
Μη επιλυσιμότητα
4
Καθολικές μηχανές Turing
Κωδικοποιώντας μηχανές Turing
2i ≥ |K|.
qu1 u2 . . . ui ,
5
Κωδικοποιώντας μηχανές Turing
au1 u2 . . . uj ,
6
Κωδικοποιώντας μηχανές Turing
όπου δ(q, a) = (p, b). Θα θεωρούμε ότι τα στοιχεία της ακολουθίας αυτής
που αναπαριστά τη δ βρίσκονται σε αύξουσα λεξικογραφική σειρά
ξεκινώντας από το στοιχείο που αντιστοιχεί στην δ(s, ⊔).
Η αναπαράσταση της δ αρκεί για να αναπαρασταθεί η M, αφού το σύνολο H
καθορίζεται έμμεσα ως το σύνολο {q ∈ K : («q», «a», «p», «b») ∈
/ «M»}.
Συμβολίζουμε λοιπόν με «M» την αναπαράσταση της δ.
Όταν H = {y, n}, θα θεωρούμε ότι η y είναι η λεξικογραφικά μικρότερη από
τις δύο καταστάσεις τερματισμού.
7
Παράδειγμα
Κατάσταση Σύμβολο δ
s a (q, ⊔)
s ⊔ (h, ⊔)
s ▷ (s, →)
q a (s, a)
q ⊔ (s, →)
q ▷ (q, →)
8
Παράδειγμα
Κατάσταση/σύμβολο Αναπαράσταση
s q00
q q01
h q11
⊔ a000
▷ a001
← a010
→ a011
a a100
«M» = (q00, a100, q01, a000), (q00, a000, q11, a000), (q00, a001, q00, a011),
(q01, a100, q00, a011), (q01, a000, q00, a011), (q01, a001, q01, 011).
9
Καθολική μηχανή Turing
Ορισμός
Καθολική μηχανή Turing U ονομάζουμε μία μηχανή Turing η οποία όταν
δέχεται ως είσοδο τη συμβολοσειρά «M»«w», όπου M μία οποιαδήποτε
μηχανή Turing και w μία οποιαδήποτε συμβολοσειρά του αλφαβήτου της
M, έχει έξοδο «M(w)», δηλαδή ισχύει
U(«M»«w») = «M(w)».
Παρατήρηση
Δεν έχει σημασία με ποιο τρόπο χειρίζεται η U μία είσοδο που δεν είναι της
μορφής «M»«w».
10
Περιγραφή λειτουργίας καθολικής μηχανής Turing
11
Περιγραφή λειτουργίας καθολικής μηχανής Turing
Η μηχανή U′ αρχικά μεταφέρει την «M» στη δεύτερη ταινία και μετακινεί την
«w» στο αριστερό άκρο της πρώτης. Έπειτα, γράφει την «s» στην τρίτη
ταινία.
Στη συνέχεια, η U′ προσομοιώνει βήμα προς βήμα τη λειτουργία της M ως
εξής:
12
Περιγραφή λειτουργίας καθολικής μηχανής Turing
13
Το πρόβλημα του τερματισμού
Η γλώσσα H
Γνωρίζουμε ότι υπάρχουν γλώσσες που δεν είναι αναδρομικές. Όμως, δεν
έχουμε ορίσει ακόμα κάποιο συγκεκριμένο παράδειγμα.
Ορισμός
Ορίζουμε τη γλώσσα
Θεώρημα
Η H είναι αναδρομικά απαριθμήσιμη.
14
Η γλώσσα H
Θεώρημα
Η H δεν είναι αναδρομική.
15
Η γλώσσα H
16
Παρατηρήσεις
Παρατήρηση
Το γεγονός ότι δεν υπάρχει αλγόριθμος να απαντάει στο παραπάνω
ερώτημα δεν σημαίνει ότι δεν υπάρχει αλγόριθμος που να απαντάει το
ερώτημα για συγκεκριμένες μηχανές Turing.
17
Άλλα μη επιλύσιμα προβλήματα
Αναγωγή
x ∈ L1 ⇔ τ (x) ∈ L2 .
Θεώρημα
Αν η L1 δεν είναι αναδρομική, και υπάρχει αναγωγή από την L1 στην L2 ,
τότε η L2 δεν είναι αναδρομική.
Θεώρημα
Το παρακάτω πρόβλημα είναι μη επιλύσιμο:
Δεδομένης μηχανής Turing M, τερματίζει η M με κενή είσοδο;
Θεώρημα
Το παρακάτω πρόβλημα είναι μη επιλύσιμο:
Δεδομένης μηχανής Turing M, υπάρχει συμβολοσειρά για την οποία
τερματίζει η M;
Θεώρημα
Το παρακάτω πρόβλημα είναι μη επιλύσιμο:
Δεδομένης μηχανής Turing M, τερματίζει η M για κάθε είσοδο;
21
Παραδείγματα μη επιλύσιμων προβλημάτων
Θεώρημα
Το παρακάτω πρόβλημα είναι μη επιλύσιμο:
Δεδομένων δύο μηχανών Turing M1 και M2 , τερματίζουν με τις ίδιες
εισόδους;
Θεώρημα
Το παρακάτω πρόβλημα είναι μη επιλύσιμο:
Δεδομένης μίας μηχανής Turing M, είναι η γλώσσα που ημιαποφασίζει
η M κανονική (αντίστοιχα, χωρίς συμφραζόμενα ή αναδρομική);
τ («M») ∈ L4 ⇔ «M′ » ∈ L4
⇔ η L(M′ ) είναι κανονική
⇔ L(M′ ) = ∅
⇔ η M′ δεν τερματίζει για καμία είσοδο w
⇔ για κάθε w, w ∈
/ H ή «M» ∈
/L
⇔ «M» ∈
/L
⇔ «M» ∈ L.
24
Ιδιότητες των αναδρομικών γλωσσών
Αναδρομικές αναδρομικά απαριθμήσιμες γλώσσες
Θεώρημα
Μία γλώσσα είναι αναδρομική αν και μόνο αν και αυτή και το συμπλήρωμα
της είναι αναδρομικά απαριθμήσιμες.
25
Αναδρομικές αναδρομικά απαριθμήσιμες γλώσσες
1. Αντιγράφει την πρώτη ταινία στη δεύτερη και επιστρέφει τις κεφαλές
στις αρχικές τους θέσεις.
2. Σε κάθε βήμα, προσομοιώνει παράλληλα ένα βήμα της M1 (στην πρώτη
ταινία) και ένα της M2 (στη δεύτερη ταινία).
3. Όταν τερματίσει η M1 , απαντάει με y και τερματίζει, ενώ όταν τερματίσει
η M2 , απαντάει με n και τερματίζει.
26
Ακόμα περισσότερα παραδείγματα μη επιλύσιμων προβλημάτων
Θα πρέπει να έχει γίνει αρκετά σαφές ως τώρα ότι πέρα από κάποιες απλές
περιπτώσεις τα προβλήματα της εξής μορφής είναι συνήθως μη επιλύσιμα:
Δεδομένης μία μηχανής Turing M, ισχύει ότι η L(M) έχει κάποιες συ-
γκεκριμένες ιδιότητες (π.χ. είναι κανονική);
27