ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Άσκηση Φροντιστήριο 2 Λύσεις Ποια από τα πιο κάτω αυτόματα αποτελούν DFA επί του αλφάβητου {,}. Αιτιολογήστε τις απαντήσεις σας. (i) (ii) (iii) (iv) (v), (vi), (i) Όχι, δεν υπάρχει αρχική κατάσταση. (ii) Ναι, το αυτόματο είναι DFA αφού ικανοποιεί τον σχετικό ορισμό. (iii) Ναι, το αυτόματο είναι DFA αφού ικανοποιεί τον σχετικό ορισμό. (iv) Όχι, στην αρχική κατάσταση ξεκινούν δυο ακμές με σύμβολο και καμιά με. (v) Ναι, το αυτόματο είναι DFA αφού ικανοποιεί τον σχετικό ορισμό. (vi) Ναι, το αυτόματο είναι DFA αφού ικανοποιεί τον σχετικό ορισμό. Άσκηση 2 Για κάθε μια από τις πιο κάτω γλώσσες, να κατασκευάσετε αυτόματο επί του αλφάβητου {,} που να την αναγνωρίζει. Σε κάθε περίπτωση να δείχνετε () τον τυπικό ορισμό του αυτομάτου και (2) το διάγραμμα καταστάσεων. (α) {w η w αρχίζει από ή τελειώνει σε } (β) {w η w περιέχει την υπολέξη } (γ) {w η w αρχίζει με την υπολέξη } (δ) {w η w τελειώνει με την υπολέξη } (ε) {w η w δεν περιέχει την υπολέξη } Φροντιστήριο 2 Λύσεις Εαρινό Εξάμηνο 27 Σελίδα από 5
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα (α) Το ζητούμενο αυτόματο είναι το Μ = ({,,, 4 }, {,}, δ, { }, {, }) όπου η σχέση δ 4 4 4, 4 (β) Το ζητούμενο αυτόματο είναι το Μ = ({,,, 4 }, {,}, δ, { }, { 4 }) όπου η σχέση δ 4 4 4 4 4, (γ) Το ζητούμενο αυτόματο είναι το Μ = ({,,, 4, 5 }, {,}, δ, { }, { 4 }) όπου η σχέση Φροντιστήριο 2 Λύσεις Εαρινό Εξάμηνο 27 Σελίδα 2 από 5
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα δ 5 5 4 5 4 4 4 5 5 5 2 4,, 5 (δ) Το ζητούμενο αυτόματο είναι το Μ = ({,,, 4 }, {,}, δ, { }, { 4 }) όπου η σχέση δ 4 4 4 (ε) Το ζητούμενο αυτόματο είναι το Μ = ({,,, 4 }, {,}, δ, { }, {,, }) όπου η σχέση Φροντιστήριο 2 Λύσεις Εαρινό Εξάμηνο 27 Σελίδα 3 από 5
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα δ 4 4 4 4 4, Άσκηση 3 Να αποδείξετε ότι κλάση των κανονικών γλωσσών είναι κλειστή ως προς την τομή. Δηλαδή, αν οι γλώσσες Α και Β είναι κανονικές τότε και η γλώσσα Α Β = {w w A και w B} είναι κανονική. Η απόδειξη είναι κατασκευαστική. Συγκεκριμένα θα δείξουμε ότι αν υπάρχουν DFA που αναγνωρίζουν τις γλώσσες Α και Β, τότε υπάρχει DFA που αναγνωρίζει τη γλώσσα Α Β. Ας υποθέσουμε ότι τα αυτόματα Μ = (Q, Σ, δ,, F ) και Μ 2 = (Q 2, Σ, δ 2,, F 2 ) αναγνωρίζουν τις γλώσσες Α και Β αντίστοιχα. Κατασκευάζουμε το Μ = (Q, Σ, δ,, F) ως εξής: Q = {(r, r 2 ) r Q, r 2 Q 2 } Σ: το αλφάβητο είναι το ίδιο με αυτό των Μ και Μ 2. Για κάθε (r, r 2 ) Q και Σ, θέτουμε δ((r, r 2 ), ) = (δ (r, ), δ 2 (r 2, )) = (, ) F = {(r, r 2 ) Q r F και r 2 F 2 } = F F 2 Σημειώνουμε ότι το αυτόματο αυτό είναι όμοιο με το αυτόματο που κατασκευάσαμε στη διαφάνεια 2 24 για αναγνώριση της γλώσσας Α Β. Διαφέρει μόνο στο σύνολο αποδοχής, όπου θεωρούμε ότι μια κατάσταση (r, r 2 ) Q είναι τελική αν και μόνο αν οι δύο καταστάσεις r και r 2 είναι τελικές στα δύο επιμέρους αυτόματα. Απομένει να επιβεβαιώσουμε ότι για οποιαδήποτε λέξη w επί του αλφάβητου Σ w L(Μ) αν και μόνο αν w L(Μ ) L(Μ 2 ). Ας υποθέσουμε ότι w = w w 2 w n L(Μ). Τότε, υπάρχει ακολουθία καταστάσεων r, r,, r n του που ικανοποιεί τις συνθήκες:. r = 2. δ,, για i =,,n, και 3. r n F Φροντιστήριο 2 Λύσεις Εαρινό Εξάμηνο 27 Σελίδα 4 από 5
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Επομένως, υπάρχει ακολουθία καταστάσεων (s, t ), (s, t ),, (s n, t n ) του όπου για κάθε i, s I Q, t I Q 2 και όπου η ακολουθία αυτή ικανοποιεί τις συνθήκες:. (s, t ) =, 2.,,, για i =,,n, και 3. s n F, t n F 2. Κατά συνέπεια, υπάρχει ακολουθία καταστάσεων s, s,, s n, του Q που ικανοποιεί τις συνθήκες. s = 2.,, για i =,,n, και 3. s n F και παρόμοια, υπάρχει ακολουθία καταστάσεων t, t,, t n, του Q 2 που ικανοποιεί τις συνθήκες. t = 2.,, για i =,,n, και 3. t n F 2 Αυτό συνεπάγεται ότι w L(Μ ) και w L(Μ 2 ). Επομένως, αν w L(Μ) τότε w L(Μ ) L(Μ 2 ). Αντιστρέφοντας τα πιο πάνω επιχειρήματα, λαμβάνουμε ότι αν w L(Μ ) L(Μ 2 ) τότε w L(Μ), και το ζητούμενο έπεται. Άσκηση 4 Χρησιμοποιώντας την κατασκευή σας από την Άσκηση 3, να σχεδιάσετε το διάγραμμα καταστάσεων αυτομάτου που αναγνωρίζει την τομή των γλωσσών των δύο πιο κάτω αυτομάτων., in in even odd, ( in ;ςσδ, even ) ( in, odd ) ( in, odd ) ( in, even ) Φροντιστήριο 2 Λύσεις Εαρινό Εξάμηνο 27 Σελίδα 5 από 5