HY 280 «ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ» θεμελικές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Γεώργιος Φρ. Γεωργκόπουλος μέρος Α Εισγωγή, κι η σική θεωρί των πεπερσμένων υτομάτων.
Α ΜΕΡΟΣ ΑΣΚΗΣΕΙΣ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΟΜΑΛΕΣ ΓΡΑΜΜΑΤΙΚΕΣ Διγράμμτ μετάσεων: 1. Σχεδιάστε (μέσω διγρμμάτων μετάσης) ιτιοκρτικά υτόμτ τέτοι ώστε ν δέχοντι τις εξής γλώσσες: I. { λ {, }* : κάθε στην λέξη λ εμφνίζετι μόνον μετά κι πρίν πό έν } II. { λ {, }* : η λέξη λ δεν περιέχει την (υπο)λέξη } III. { λ {, }* : η λέξη λ δεν περιέχει ούτε την (υπο)λέξη ούτε την }. IV. { λ {, }* : η λέξη λ περιέχει άρτιο πλήθος πό κι περιττό πό } I. (κτ νλογί με το ΙΙΙ.) II. (κτ νλογί με το ΙΙΙ.). III. Ορίζουμε ως κτστάσεις την ρχική Ι κι τις Α1, Α2, Α3 με την (κτά πρόθεση) σημσί: «έχω διπιστώσει 1 ή 2 ή 3 (ντιστοίχως) διδοχικές εμφνίσεις του». Ομοίως ορίζουμε κι τις Β1, Β2 με την (κτά πρόθεση) σημσί: «έχω διπιστώσει 1 ή 2 (ντιστοίχως) διδοχικές εμφνίσεις του. Οι κτστάσεις «Α» κι «Β» είνι πορριπτικές, κι μάλιστ οι Α3 κι Β2 είνι κι «πορροφητικές»: πό υτές μέσω σ Σ μετίνουμε στον ευτό τους. Με άσει την σημσί που δώσμε οι υπόλοιπες μετάσεις είνι προφνείς: λ.χ. πό Ι μέσω πάμε στην Α1 πό Α2 μέσω πάμε στην Α3 κι μέσω πάμε στην Β1 πό Β1 μέσω πάμε στην Κ1 κοκ. IV. (κτ νλογί με το ΙΙΙ.). 2. Περιγράψτε (σε πλά κι σφή Ελληνικά) το ποιές γλώσσες επί του Σ = {, } ποδέχοντι τ πρκάτω υτόμτ: I. II. γ, III., γ IV. I. Κάθε πρέπει ν κλείνει, σν ν ήτν ριστερή πρένθεση, πό έν σν ν ήτν υτό δεξιά πρένθεση μόνον που εδώ έχουμε έως 3 το πολύ επίπεδ πρενθέσεων. II. Το πλήθος των είνι πολλπλάσιο του 3.. III. Αποδέχετι την κενή γλώσσ: δεν έχει κμμί ποδκετική κτάστση.
IV. Η τελευτί κτάστση δεν χρησιμεύει σε τίποτε είνι πορριπτική κι «πορροφητική». Οι υπόλοιπες κτστάσεις είνι ποδεκτικές κι το υπόλοιπο υτόμτο είνι ιτιοκρτικό: τελικά, δηλδή, ποδέχετι οποιδήποτε λέξη! Κνόνες κλειστότητς: 3. Δείξτε ότι οι εξής γλώσσες είνι ομλές, χωρίς όμως ν σχεδιάσετε έν σχετικό υτόμτο ή διάγρμμ: I. L = { λ {, }* : η λέξη λ δεν περιέχει ούτε την (υπο)λέξη ούτε την }. II. L = { λ {, }* : η λέξη λ περιέχει άρτιο πλήθος πό κι περιττό πό }. I. Η γλώσσ των λέξεων που περιέχουν έστω μί φορά το είνι η Σ* Σ*. Το συμπλήρωμά της δεν περιέχει κμμί εμφάνιση του κι η είνι η γλώσσ Λ = (Σ* (Σ*Σ*)). Ανλόγως έχουμε κι την Λ = (Σ* (Σ*Σ*)), χωρίς κνέν. Η γλώσσ L είνι η Λ Λ. Από τους κνόνες κλειστότητς η L προκύπτει ομλή. II. (κτά πρόμοιο τρόπο). 4. Έστω ότι μι γλώσσ L επί του λφήτου Σ είνι ομλή, κι Μ Σ*. Δείξτε ότι κι οι εξής γλώσσες θ είνι ομλές: I. Πρόθεμ(L) { λ: λ L, κι υπάρχει τέλος τ Σ* γι τη λ ώστε λ τ L } II. Κτάληξη(L) { λ: λ L, κι υπάρχει ρχή Σ* γι τη λ ώστε λ L } III. Maximum(L) { λ: λ L, κι γι κάθε συνέχιση τ Σ* της λ (τ ), λ τ L } IV. L προ M { λ: λ L, κι υπάρχει τ Μ ώστε λ τ L } I. Εξετάζουμε γι κάθε κτάστση Κ του υτομάτου εάν σε υτό υπάρχει έστω μί διδρομή πό την Κ έως μι ποδεκτική κτάστση (μι διδρομή που θ έγρφε μι λέξη «τ»). Τρέπουμε υτή την κτάστση σε ποδεκτική, διότι ν φτάσουμε σε υτή με τη λέξη λ τότε υπάρχει η συνέχει τ ώστε ν ποδεχθούμε την λέξη λτ. II. (Υπόδειξη: σκεφθείτε την κτοπτρική L (R).) III. (Κτ νλογί με το (Ι). Προτιμείστε ν σκεφθείτε με άση το ιτιοκρτικό υτόμτο Α που δέχετι την Λ.) IV. Από τη γλώσσ πράθεση LM θέλουμε μόνον όλες όσες λέξεις είνι στην L, άρ υτό που ζητείτι είνι η τομή L LM. Ανγνώριση: 5. Δίδοντι τ πρκάτω υτόμτ. Ελέγξτε, πειστικά κι με κρίει, εάν ποδέχοντι ή όχι τη λέξη λ =. I., II., Ι. κι ΙΙ.: Δίδετι λεπτομερής εξήγηση κι πράδειγμ στις σημειώσεις.
Λήμμ άντλησης: 6. Το λήμμ άντλησης λέει το εξής: «εάν η γλώσσ L(Α) ενός υτομάτου Α έχει άπειρο πλήθος λέξεων, τότε υπάρχουν λέξεις, μ, τ Σ*, ώστε κάθε λέξη μ (i) τ, i 0, νήκει στην L(A).» Δείξτε ότι το λήμμ μπορεί ν ενισχυθεί κτά τον εξής τρόπο: «... λέξεις, μ, τ Σ*, ώστε τ ΣΚ, κι κάθε λέξη μ (i) τ, i 0, νήκει στην L(A).»» Κτά την διδρομή, (πό την ρχική κτάστση Ι έως μι ποδεκτική Τ), που πράγει μι ρκετά μεγάλη λέξη, κάποι κτάστση Κ θ επνληφθεί, κι η διδρομή θ έχει την μορφή Ι... Κ... Κ... Τ. Προσέχουμε ότι ν φιρέσουμε το τμήμ Κ... Κ η διδρομή εξκολουθεί ν πράγει μι ποδεκτή λέξη. Αν λοιπόν στις υπο διδρομές Ι... Κ κι Κ... Τ δεν υπάρχει κοινή κτάστση Λ (εκτός της Κ), τότε έχουμε τελειώσει: θέτουμε = Ι... Κ, τ = Κ... Τ κι μ = Κ... Κ. Αν υπάρχει μι κοινή κτάστση Λ τότε φιρούμε το τμήμ Κ... Κ, κι συνεχίζουμε με την διδρομή Ι... Λ... Κ... Λ... Τ. 7. Δείξτε ότι οι εξής γλώσσες δεν είνι ομλές. Χρησιμοποιείστε το (6.) είτε το ποδείξτε είτε ή όχι. I. L = { λ λ R : λ {, }* } ( λ R : η λέξη λ γρμμένη «νάποδ» (ή κτοπτρικά) ) II. L = { λ λ: λ {, }* } I. (Κτ νλογί με το ΙΙ.) II. Η γλώσσ {λ λ: λ {,}*} δεν είνι ομλή διότι εάν ήτν θ έπρεπε ν επληθεύει το πρπάνω λήμμ της άντλησης. Δεν μπορεί όμως κάθε λέξη λ (που μπορεί ν έχει μήκος όσο μεγάλο θέλουμε) ν γράφετι ως «μ (κ) τ», κόμ κι εάν τ τμήμτ κι τ εξρτώντι πό το ποι είνι υτή η λέξη λ, διότι τ τμήμτ κι «τ» έχουν στθερά φργμένο μέγεθος μι οποιδήποτε ρκετά μεγάλη λέξη λ της μορφής «μ (κ) τ» θ έπρεπε, λοιπόν, ν περιέχει δύο τμήμτ μ (ν έχει την μορφή δηλδή «μ μ...»), κι φυσικά υπάρχουν λέξεις λ (οσοδήποτε μεγάλες) που δεν έχουν υτή την μορφή. Κνονικές εκφράσεις: 8. Σχεδιάστε τ υτόμτ (όχι κτ νάγκη ιτιοκρτικά) που δέχοντι τις γλώσσες των εξής ομλών εκφράσεων: I. R = * {,, } ()* II. R = ( { {, }*, (, γ)* } )* III. R = { (), (γ) + } γ I. Κτσκευάζουμε τ υτόμτ που πράγουν τις στοιχειώδεις λέξεις (εδώ τις,,,, ) κι στη συνέχει τ συνδέουμε μετξύ τους (όπως εξηγείτι στην ενότητ περί «κλειστότητς») γι ν φτιάξουμε στδικά τ * (επνάληψη), το {,, } (ένωση), το ()* (επνάληψη) κι το όλον (με πράθεση). Το υτόμτο που πράγει την λέξη ποτελείτι πό την ρχική κι μόνον κτάστση που είνι κι ποδεκτική. II. (κτ νλογί). III. (κτ νλογί).
Myhill Nerode: 9. Δείξτε ότι η εξής γλώσσ δεν είνι ομλή: L = { σ (ν) μ σ (ν) τ :, μ, τ Σ*, σ Σ, μ δεν περιέχει σ, κι ν 0 }. Δίδετι πράδειγμ στις σημειώσεις. 10. Η γλώσσ L = { λ {, }* : η λέξη λ δεν περιέχει την (υπο)λέξη } είνι ομλή γλώσσ, (λ. κι προηγούμενη άσκηση 1.). I. Ποιές είνι οι κλάσεις ισοδυνμίς της σχέσης L ; (Υπόδειξη: εξετάστε το με ποιό τρόπο μπορεί ν κτλήγει μι λέξη λ, κι το εάν περιέχει ήδη ή όχι την υπολέξη.) II. Κι ως ποτέλεσμ του (Ι) ποιό είνι το μικρότερο (σε πλήθος κτστάσεων) ιτιοκρτικό υτόμτο που την ποδέχετι; Δίδετι λεπτομερές πράδειγμ στις σημειώσεις στη σχετική ενότητ.