ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες (σύνολα) να αποφασίσετε κατά πόσο έχει πεπερασμένο πλήθος στοιχείων και, αν ναι, να υπολογίσετε το πλήθος των στοιχειών της. (i) Α B Η τομή των δύο γλωσσών είναι το σύνολο Α B = {,}. Επομένως το πλήθος των στοιχείων είναι πεπερασμένο και ίσο με. (ii) Β (Α Β) Το σύνολο Β (Α Β) είναι το {(ε,),(ε,), (,),(,), (,), (,), (,), (,), (,), (,),(,), (,), (,), (,)}. Το σύνολο είναι προφανώς πεπερασμένο με πλήθος στοιχείων ίσο με. (iii) Β Α Το σύνολο Β Α είναι ίσο με {ε,,,,}. Είναι πεπερασμένο και έχει 5 στοιχεία. (β) Ποιες από τις πιο κάτω γλώσσες περιέχουν το στοιχείο ε; (i) A B Το ε περιέχεται μόνο στο σύνολο Β. Επομένως δεν ανήκει στην τομή των δύο συνόλων. (ii) A B Το ε περιέχεται στο σύνολο Β. Επομένως ανήκει στην ένωση των δύο συνόλων. (γ) Ποιες από τις πιο κάτω γλώσσες έχουν το σύνολο ως υποσύνολο; (i) A B (ii) A B Όλα τα σύνολα έχουν το σύνολο ως υποσύνολο, επομένως, και τα δύο πιο πάνω. (δ) Ποιες από τις πιο κάτω γλώσσες έχουν το σύνολο ως στοιχείο; (i) A (Α B) Καμιά από τις γλώσσες Α και Α B δεν περιέχει το ως στοιχείο. Επομένως ούτε και η τομή τους δεν το περιέχει. (ii) P(A) Το πιο πάνω σύνολο περιέχει όλα τα υποσύνολα του Α. Ένα από αυτά είναι το. Άσκηση Υποθέστε ότι το σύνολο L είναι ένα σύνολο επί του αλφαβήτου {,} τα στοιχεία του οποίου παράγονται από τους πιο κάτω κανόνες: Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα () ε L () Αν u L τότε u L (α) Να αποδείξετε ότι για κάθε n, η λέξη n n L. Η απόδειξη θα γίνει με επαγωγή πάνω στο n. Βάση της Επαγωγής: Αν n =, τότε =ε. Από τον κανόνα (), η λέξη ε ανήκει στη γλώσσα και το ζητούμενο έπεται. Επαγωγική Υπόθεση: Ας υποθέσουμε ότι η λέξη k k L. Επαγωγικό Βήμα Πρέπει να δείξουμε ότι η λέξη k+ k+ L. Με βάση την υπόθεση της επαγωγής k k L. Επομένως, από τον κανόνα () έχουμε ότι k k L. Επομένως k+ k+ L και το ζητούμενο έπεται. (β) Να αποδείξετε ότι, για κάθε λέξη w L, ισχύει ότι w = k k για κάποιο k. Η απόδειξη θα γίνει με επαγωγή πάνω στο n, το πλήθος των κανόνων που απαιτήθηκαν για την κατασκευή της w. Βάση της Επαγωγής: Αν n =, τότε χρησιμοποιήθηκε μόνο ένας κανόνας. Ο κανόνας αυτός πρέπει να είναι ο πρώτος κανόνας και η λέξη πρέπει να είναι η ε. Αφού ε =, το ζητούμενο έπεται. Επαγωγική Υπόθεση: Ας υποθέσουμε ότι οποιαδήποτε λέξη έχει παραχθεί με την χρήση m κανόνων έχει τη μορφή k k για κάποιο k. Επαγωγικό Βήμα Πρέπει να δείξουμε ότι αν μια λέξη έχει παραχθεί με την χρήση m+ κανόνων έχει τη μορφή p p για κάποιο p. Από την υπόθεση της επαγωγής, μετά από την εφαρμογή των m πρώτων κανόνων η λέξη έχει τη μορφή k k. Αν εφαρμόσουμε ακόμα ένα κανόνα, τότε ο κανόνας αυτό πρέπει να είναι ο κανόνας () Επομένως, η λέξη που θα παραχθεί θα είναι η k k = k+ k+ L και το ζητούμενο έπεται. Άσκηση Για κάθε ένα από τα πιο κάτω πεπερασμένα αυτόματα, να παρουσιάσετε το αυτόματο γραφικά μέσω του σχετικού συστήματος μεταβάσεων και να υπολογίσετε τη γλώσσα που αναγνωρίζει: (α) Αυτόματο Α = (Q, Σ, δ, q, F), όπου Q = {q, q, q } Σ = {,} F = {q } δ όπως ορίζεται στον πίνακα που ακολουθεί: Σύστημα μεταβάσεων του αυτομάτου: δ q q q q q q q q q Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα q q q Γλώσσα: Όλες οι λέξεις που ξεκινούν είτε () με είτε () με, ή περισσότερα και και στη συνέχεια είτε τερματίζουν είτε συνεχίζουν με ή περισσότερα τουλάχιστον ένα και τουλάχιστον ένα, συμπεριφορά που μπορούν να επαναλάβουν για απεριόριστο πλήθος φορών. (β) Αυτόματο Α = (Q, Σ, δ, q, F), όπου Q = {q, q, q, q } Σ = {,} F = {q, q, q } δ όπως ορίζεται στον πίνακα που ακολουθεί: δ q q q q q q q q q q q q Σύστημα μεταβάσεων του αυτομάτου:, q q q q Γλώσσα: Όλες οι λέξεις που ξεκινούν με και δεν περιέχουν τη συμβολοσειρά. Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Άσκηση Να ορίσετε τη γλώσσα που αναγνωρίζει κάθε ένα από τα πιο κάτω πεπερασμένα αυτόματα. (α) Γλώσσα αυτομάτου: [*( (*)*)]* (β) X:=E X:=E if then, then if, then X:=E, if, X:=E 5, if, then if,, then, Χ:=Ε Γλώσσα αυτομάτου: Όλες οι συμβολοσειρές που περιέχουν απεριόριστες φορές τις συμβολοσειρές X:=E και if then X:=E σε οποιαδήποτε σειρά. Άσκηση 5 Για κάθε μια από τις πιο κάτω γλώσσες, να κατασκευάσετε αυτόματο που να την αναγνωρίζει. Σε κάθε περίπτωση, να δείχνετε () τον τυπικό ορισμό του αυτομάτου και () το διάγραμμα καταστάσεων (α) {w η w είναι λέξη επί του αλφάβητου {,,,} τα ψηφία της οποίας βρίσκονται σε φθίνουσα σειρά} (Παράδειγμα: οι λέξεις ε,, ανήκουν στη γλώσσα αλλά η λέξη όχι.) Το ζητούμενο αυτόματο είναι το Μ = ({q, q, q, q, q, q t }, {,,,}, δ, {q }, {q, q, q, q }) όπου η σχέση μεταβάσεων δ δίνεται στον πιο κάτω πίνακα. Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα δ q q q q q q q q t q t q t q q q q t q t q q q q q t q q q q q q t q t q t q t q t Σχεδιάγραμμα καταστάσεων: q q q q, q t,,,,, q (β) {w η w είναι λέξη επί του αλφάβητου {,} και το δεύτερο σύμβολό της από το τέλος είναι το } (Παράδειγμα: η λέξη ανήκει στη γλώσσα αλλά οι λέξεις ε και όχι.) Το ζητούμενο αυτόματο είναι το Μ = ({q, q, q, q }, {,}, δ, {q }, {q, q }) όπου η σχέση μεταβάσεων δ δίνεται στον πιο κάτω πίνακα. δ q q q q q q q q q q q q Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα 5
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σχεδιάγραμμα καταστάσεων: q q q q5 (γ) {w η w είναι λέξη επί του αλφάβητου {,}, έχει ως υποσυμβολοσειρά της την και περιέχει άρτιο αριθμό από } (Παράδειγμα: η λέξη ανήκει στη γλώσσα αλλά οι λέξεις ε και όχι.) Το ζητούμενο αυτόματο είναι το Μ = ({,,,,5,6}, {,}, δ, {}, {}) όπου η σχέση μεταβάσεων δ δίνεται στον πιο κάτω πίνακα. Σχεδιάγραμμα καταστάσεων: δ 6 5 5 6 6 6 5 6 (δ) {w η w είναι μια λέξη επί του αλφάβητου {,,c} όπου κάθε ακολουθείται είτε από ένα άρτιο και μεγαλύτερο από αριθμό από είτε από ένα περιττό αριθμό από c} (Παράδειγμα: οι λέξεις ε, cc, ccc ανήκουν στη γλώσσα αλλά η λέξη όχι.) Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα 6
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Το ζητούμενο αυτόματο είναι το Μ = ({,,,,5,6,7}, {,,c}, δ, {}, {,5,6}) όπου η σχέση μεταβάσεων δ δίνεται στον πιο κάτω πίνακα. Σχεδιάγραμμα καταστάσεων: δ c 6 5 5 6 7 7 6, c c c c 5, c 6 c 7,, c, Άσκηση 6 (Προαιρετική) Να δείξετε χρησιμοποιώντας τη μέθοδο της Μαθηματικής Επαγωγής ότι οποιαδήποτε πεπερασμένη γλώσσα Λ είναι κανονική. Θα αποδείξουμε την πρόταση με μαθηματική επαγωγή στο μέγεθος της γλώσσας Λ, έστω n. Βασική περίπτωση: Έστω n =, δηλαδή Λ = {}. Τότε υπάρχει αυτόματο DFA που την αναγνωρίζει. Αυτό είναι το αυτόματο με ακριβώς μια κατάσταση η οποία είναι αρχική, καμιά τελική κατάσταση και μεταβάσεις προς τον εαυτό της για κάθε σύμβολο του αλφάβητου: ({q}, Σ, δ, {q}, {}), με δ(q,)=q για κάθε Σ. Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα 7
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Υπόθεση της Επαγωγής: Ας υποθέσουμε ότι κάθε γλώσσα Λ με k στοιχεία είναι κανονική. Βήμα της Επαγωγής: Θα αποδείξουμε ότι οποιαδήποτε γλώσσα με k+ στοιχεία είναι κανονική. Έστω Λ μια τέτοια γλώσσα. Αφού η Λ έχει k+ στοιχεία, μπορεί να γραφτεί ως Λ = Λ {w}. Αφού η γλώσσα Λ έχει k στοιχεία, από την υπόθεση της επαγωγής η Λ είναι κανονική. Παρόμοια, αφού η γλώσσα {w} έχει στοιχείο, από την υπόθεση της επαγωγής η {w} είναι κανονική. Με βάση την κλειστότητα της κλάσης των κανονικών γλωσσών ως προς την ένωση, η Λ = Λ {w}, όντας ίση με την ένωση δύο κανονικών γλωσσών είναι και αυτή κανονική. Το συμπέρασμα έπεται. Λύσεις Σειράς Προβλημάτων Εαρινό Εξάμηνο Σελίδα 8