Advertisement
Advertisement

More Related Content

Advertisement

More from Dimitris Psounis(20)

Recently uploaded(20)

Advertisement

ΠΛΗ30 ΜΑΘΗΜΑ 5.4

  1. ΠΛΗ30 ΕΝΟΤΗΤΑ 5: ΑΠΟΦΑΣΙΣΙΜΕΣ και ΑΠΟ∆ΕΚΤΕΣ ΓΛΩΣΣΕΣ Μάθηµα 5.4: ΑναγωγέςΑναγωγές ∆ηµήτρης Ψούνης
  2. ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 1. Σκεπτικό: Η γλώσσα Halting 2. Το Θεώρηµα Αναγωγής 3. Σχήµα Απόδειξης Αναγωγής 2. Παραδείγµατα Αναγωγών 1. Ο πιο συχνά χρησιµοποιούµενος µετασχηµαισµός 2. Τερµατίζει ένα πρόγραµµα µε οποιαδήποτε είσοδο; 2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές 3. Τερµατίζει ένα πρόγραµµα µε είσοδο την κενή συµβολοσειρά; 4. Τερµατίζει ένα πρόγραµµα µε είσοδο έστω µία συµβολοσειρά; 5. Είναι δύο προγράµµατα ισοδύναµα; 6. Το πρόγραµµα δεν τερµατίζει για καµία είσοδο 3. Άλλες Μη Επιλύσιµες Γλώσσες 1. Αναγνώριση συνόλου γλώσσας 2. Ασκ.Αυτ.2.2 και ∆ραστ.2.2 3. Μη Επιλύσιµες Γλώσσες για Γλώσσες Χωρίς Συµφραζόµενα Γ.Ασκήσεις
  3. Α. Σκοπός του Μαθήµατος Οι στόχοι του µαθήµατος είναι: Επίπεδο Α (-) Επίπεδο Β (-) 3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές (-) Επίπεδο Γ Αποδείξη ότι µία γλώσσα δεν είναι επιλύσιµη µε αναγωγή. Γνώση γλωσσών που δεν είναι επιλύσιµες
  4. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 1. Σκεπτικό: Η γλώσσα Halting 4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  5. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 2. Το θεώρηµα αναγωγής Τα παραπάνω συνοψίζονται στο ακόλουθο θεώρηµα: 5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Η χρήση του 2ου σκέλους του θεωρήµατος θα χρησιµοποιείται για να δείξουµε ότι µία γλώσσα δεν είναι αποφασίσιµη: • Θα µας δίνεται στην εκφώνηση ότι µία γλώσσα L1 δεν είναι αποφασίσιµη (θα είναι για µας η ΓΝΩΣΤΗ µη επιλύσιµη γλώσσα) • Θα µας δίνεται στην εκφώνηση ότι µία γλώσσα L2 δεν είναι αποφασίσιµη (θα είναι για µας η ΑΓΝΩΣΤΗ µη επιλύσιµη γλώσσα) • Θα κατασκευάζουµε µία αναγωγή της L1 στην L2 (δηλαδή µία αναγωγή της γνωστής γλώσσας στην άγνωστη γλώσσα µε τρόπο που θα µελετήσουµε στην συνέχεια)
  6. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 3. Το σχήµα της απόδειξης αναγωγής Θα µελετήσουµε το σκεπτικό µιας αναγωγικής απόδειξης: 6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Είσοδος Γνωστής Ερώτηµα Γνωστής Είσοδος Αγνωστής Ερώτηµα Αγνωστής
  7. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 3. Το σχήµα της απόδειξης αναγωγής 7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Η απόδειξη της αναγωγής είναι µια απόδειξη µε ΑΤΟΠΟ. Υποθέτουµε ότι η ΑΓΝΩΣΤΗ ΓΛΩΣΣΑ είναι επιλύσιµη (αποφασίσιµη). Άρα υπάρχει µία µηχανή Turing Μ2 που την αποφασίζει. Χρησιµοποιούµε την Μ2 για να αποφασίσουµε την ΓΝΩΣΤΗ µη επιλύσιµη γλώσσα, δηλαδή για να κατασκευάσουµε µια µηχανή Μ1 που αποφασίζει την ΓΝΩΣΤΗ. Αυτό όµως είναι άτοπο! Απαιτείται λοιπόν ο µετασχηµατισµός της εισόδου του γνωστού, σε είσοδο του άγνωτου Χρήσιµο θα φανεί το εξής σχήµα (αναγωγής): Απαιτείται λοιπόν ο µετασχηµατισµός της εισόδου του γνωστού, σε είσοδο του άγνωτου προβλήµατος, έτσι ώστε να αποφασίζεται ορθά το γνωστό µη επιλύσιµο πρόβληµα. Μ1 Μ2 Υ Μηχανή για το γνωστό Μηχανή για το αγνωστό Ν Υ Ν f Μετασχηµατισµός της εισόδου του γνωστού σε είσοδο του άγνωστου προβλήµατος <Μ,w> Είσοδος του Γνωστού <Μ’,w’,q’> Είσοδος του Αγνωστού
  8. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 3. Το σχήµα της απόδειξης αναγωγής 8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μετασχηµατισµός της εισόδου του γνωστού σε είσοδο του άγνωστου ώστε να αποφασίζεται το γνωστό µη επιλύσιµο πρόβληµα! Είναι το πιο δύσκολο κοµµάτι της αναγωγής και απαιτεί έµπνευση και µελέτη πολλών παραδειγµάτων από τη βιβλιογραφία! Στο συγκεκριµένο παράδειγµα ο µετασχηµατισµός είναι: Μ’=Μ, w’=w, q=τελική κατασταση του M. Με τον µετασχηµατισµό αυτό η ερώτηση της Μ1: • “Τερµατίζει η Μ µε είσοδο w?». Μετασχηµατίζεται στο ισοδύναµο ερώτηµα: • «Περνάει η Μ µε είσοδο w από την κατάσταση h?» Ισχύει λοιπόν ότι αν η M2 απαντήσει ΝΑΙ, τότε θα θέσουµε την Μ1 να απαντήσει ΝΑΙ. Αν η Μ2 απαντήσει ΌΧΙ, τότε η Μ1 θα θέσουµε την Μ1 να απαντήσει ΌΧΙ. Μ1 Μ2 Υ Ν Υ Ν f <Μ,w> <M,w,h>
  9. B. Θεωρία 1. Η αποδεικτική διαδικασία της αναγωγής 3. Το σχήµα της απόδειξης αναγωγής 9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Η απόδειξη τυπικά γράφεται ως εξής: standard standard Περιγραφή του µετασχηµατισµού YES στο ερώτηµα του αγνωστού YES στο ερώτηµα του γνωστού ΝΟ στο ερώτηµα του αγνωστού ΝΟ στο ερώτηµα του γνωστού
  10. B. Θεωρία 2. Παραδείγµατα Αναγωγών 1. Ένας συχνά χρησιµοποιούµενος µετασχηµατισµός Ενας από τους πιο συχνά χρησιµοποιούµενους µετασχητισµούς στις αναγωγές, είναι δεδοµένης µιας µηχανής Μ και µιας συµβολοσειράς w, να κατασκευάζουµε µια µηχανή Μ’ η οποία προσοµοιώνει την λειτουργία της Μ µε είσοδο w. Αυτό γίνεται µε µια διαδικασία 3 βηµάτων, δηλαδή η Μ’ κάνει 3 ενέργειες: Σβήνει την είσοδό της, Γράφει w στην στην ταινία της 10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Γράφει w στην στην ταινία της Τρέχει την Μ µε είσοδο w Αυτή η διαδικασία υλοποιείται εύκολα, π.χ. µε την ακόλουθη µηχανή Μ’ σε διάγραµµα ροής (θεωρούµε ότι ξεκινά µε σχηµατισµό #w#):
  11. B. Θεωρία 2. Παραδείγµατα Αναγωγών 1. Ένας συχνά χρησιµοποιούµενος µετασχηµατισµός Ανάλογα µε τη συµπεριφορά της µηχανής Μ µε είσοδο w διακρίνουµε δύο περιπτώσεις: 11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  12. B. Θεωρία 2. Παραδείγµατα Αναγωγών 2. Τερµατίζει ένα πρόγραµµα µε οποιαδήποτε είσοδο; 12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μ1 Μ2 Υ Ν Υ Ν f <Μ,w> <M’> Ν Ν
  13. B. Θεωρία 2. Παραδείγµατα Αναγωγών 3. Τερµατίζει ένα πρόγραµµα µε είσοδο την κενή συµβολοσειρά; 13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μ1 Μ2 Υ Ν Υ Ν f <Μ,w> <M’> Ν Ν
  14. B. Θεωρία 2. Παραδείγµατα Αναγωγών 4. Τερµατίζει ένα πρόγραµµα για έστω µία συµβολοσειρά; 14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μ1 Μ2 Υ Ν Υ Ν f <Μ,w> <M’> Ν Ν
  15. B. Θεωρία 2. Παραδείγµατα Αναγωγών Αν και η πιο συχνά χρησιµοποιούµενη (γνωστή) γλώσσα είναι η γλώσσα του Halting, µπορεί να µας δίνεται ως εκφώνηση οποιαδήποτε άλλη γλώσσα. Στην περίπτωση αυτή η αναγωγή έγκειται στην σωστή απάντηση της ερώτησης: «Πως µπορώ να µεταµορφώσω την είσοδο του γνωστού προβλήµατος σε 15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές «Πως µπορώ να µεταµορφώσω την είσοδο του γνωστού προβλήµατος σε είσοδο του άγνωστου προβλήµατος, έτσι ώστε η απάντηση της µηχανής που απαντάει για το άγνωστο πρόβληµα, να απαντάει και στο ερώτηµα της γνωστής γλώσσας?» Η εύρεση του κατάλληλου µετασχηµατισµού µπορεί να είναι ιδιαίτερα επίπονη και εξαρτάται από το γνωστό και το άγνωστο πρόβληµα που έχουµε προς επίλυση σε κάθε περίπτωση.
  16. B. Θεωρία 2. Παραδείγµατα Αναγωγών 5. Είναι δύο προγράµµατα ισοδύναµα; 16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μ1 Μ2 Υ Ν Υ Ν f <Μ> <M1’,Μ2’> Ν Ν
  17. B. Θεωρία 2. Παραδείγµατα Αναγωγών 6. Το πρόγραµµα δεν τερµατίζει για καµία είσοδο; 17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Μ1 Μ2 Υ Ν Υ Ν f <Μ> <M’ > Ν Ν
  18. B. Θεωρία 3. Άλλες Μη Επιλύσιµες Γλώσσες 1. Αναγνώριση Συνόλου Γλώσσας 18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  19. B. Θεωρία 3. Άλλες Μη Επιλύσιµες Γλώσσες 2. Ασκ.Αυτ.2.2 και ∆ραστ.2.2. 19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  20. B. Θεωρία 3. Άλλες Μη Επιλύσιµες Γλώσσες 2. Ασκ.Αυτ.2.2 και ∆ραστ.2.2. 20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  21. B. Θεωρία 3. Άλλες Μη Επιλύσιµες Γλώσσες 3. Μη Επιλύσιµες Γλώσσες για Γλώσσες Χωρίς Συµφραζόµενα 21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  22. Γ. Ασκήσεις Εφαρµογή 1 ∆είξτε ότι η γλώσσα L={<Μ>| H M τερµατίζει µε είσοδο 0011} δεν είναι επιλύσιµη χρησιµοποιώντας αναγωγή από το πρόβληµα του τερµατισµού. 22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  23. Γ. Ασκήσεις Εφαρµογή 2 (2007Β) Έχουµε γνωρίσει γλώσσες που είναι Turing-αποδεκτές και Turing- αποφασίσιµες. Υπάρχουν όµως γλώσσες που δεν είναι ούτε καν Turing-αποδεκτές. Εξετάστε για παράδειγµα τις παρακάτω δύο γλώσσες: Α = { 〈M,w,q〉 | η Μ µε είσοδο w µεταβαίνει στην κατάσταση q } και Β = { 〈M,w,q〉 | η Μ µε είσοδο w δεν µεταβαίνει στην κατάσταση q }. 23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές Β = { 〈M,w,q〉 | η Μ µε είσοδο w δεν µεταβαίνει στην κατάσταση q }. ∆είτε ότι το συµπλήρωµα της γλώσσας Α είναι η ένωση των γλωσσών Β και όλων των µη νόµιµων κωδικοποιήσεων 〈M,w,q〉, δηλαδή = Β ∪ { x | x ≠ 〈M,w,q〉 }. Α) ∆είξτε (µε σύντοµο τρόπο) ότι οι γλώσσες Α, Β δεν είναι Turing-αποφασίσιµες. Β) ∆είξτε (µε σύντοµο τρόπο) ότι η γλώσσα Α είναι Turing-αποδεκτή. Γ) ∆είξτε (µε σύντοµο τρόπο) ότι η γλώσσα Β δεν είναι Turing-αποδεκτή.
  24. Γ. Ασκήσεις Εφαρµογή 3 (2008Α) ∆ίνονται µηχανές Turing Μ1 και Μ2 και έστω L(Μ1) και L(Μ2) οι γλώσσες που αποδέχονται. Είναι η L(Μ1) συµπληρωµατική της L(Μ2); (Υπόδειξη: Αναγωγή από το µη επιλύσιµο πρόβληµα: “Έστω M µια τυχαία Μηχανή Turing. Ισχύει L(M) = ;”) 24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές ∅
  25. Γ. Ασκήσεις Εφαρµογή 4 (2008Β) Αποδείξτε, αν τα παρακάτω προβλήµατα είναι ή όχι επιλύσιµα: ∆ίδεται ένα πρόγραµµα στη γλώσσα C και µια εντολή Ε του προγράµµατος. (1) Θα εκτελέσει το πρόγραµµα 10 φορές την εντολή E σε 60 min εκτέλεσής του; (2) Θα εκτελέσει το πρόγραµµα 10 φορές την εντολή E κατά τη διάρκεια της εκτέλεσής του; 25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  26. Γ. Ασκήσεις Εφαρµογή 5 (2009Β) ∆είξτε ότι η γλώσσα L = {c(M,w,q) | η µηχανή Turing Μ περνάει από την κατάσταση q όταν ξεκινήσει µε είσοδο τη σ/σειρά w} είναι αποδεκτή αλλά µη αποφασίσιµη. 26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές
  27. Γ. Ασκήσεις Εφαρµογή 6 (2011Α) ∆ίνεται η γλώσσα L = { <M,x,q>} | η µηχανή Turing M µε είσοδο την συµβολοσειρά x δεν διέρχεται ποτέ από την κατάσταση q }. Αποδείξτε ότι γλώσσα L δεν είναι Turing αποφασίσιµη. Για την απόδειξη, κάντε αναγωγή από την γλώσσα Α = { <M,x> | η µηχανή Turing M αποδέχεται την συµβολοσειρά x } για την οποία γνωρίζουµε ότι δεν είναι Turing αποφασίσιµη. Υποθέστε ότι η γλώσσα L είναι Turing αποφασίσιµη και καταλήξτε σε άτοπο. 27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 5.4: Αναγωγές καταλήξτε σε άτοπο.
Advertisement