Τμήμα Μαθηματικών Σχολή Θετικών Επιστημών Α.Π.Θ. Το Συντακτικό Μονοειδές Μιας Γλώσσας Ελένη Ζαβρακλή Σημειώσεις από το βιβλιο: Αυτόματα, Γλώσσες, Γραμματικές Σ.Μποζαπαλίδη Θεσσαλονίκη 2016
Βασικές Εννοιες και Θεωρήματα Ορισμός 1. Ονομάζουμε διμελή σχέση σε ένα σύνολο Q, ένα οποιοδήποτε υποσύνολο R του καρτεσιανού γινομένου Q Q. Αντί να γράφουμε (a, b) R θα γράφουμε arb. Σύνθεση Διμελών Σχέσεων: R F : p (R F ) q r Q : prr και rf q Πρόταση 1. Η σύνθεση διμελών σχέσεων είναι πράξη προσεταιριστική. Απόδειξη. Εστω ότι έχουμε R i Q Q, i = 1, 2, 3, τρεις διμελείς σχέσεις στο Q. Αν p (R 1 (R 2 R 3 )) q Τότε υπάρχει κάποιο r 1 Q τέτοιο ώστε: pr 1 r 1 και r 1 (R 2 R 3 ) q και συνεπώς υπάρχει κάποιο r 2 Q τέτοιο ώστε: άρα άρα pr 1 r 1, r 1 R 2 r 2, r 2 R 3 q p (R 1 R 2 ) r 2 και r 2 R 3 q p ((R 1 R 2 ) R 3 ) q άρα R 1 (R 2 R 3 ) (R 1 R 2 ) R 3 Ομοια αποδεικνύεται και ο αντίστροφος εγκλεισμός. Το σύνολο P (Q Q) όλων των διμελών σχέσεων ενός συνόλου Q εφοδιασμένο με την πράξη της σύνθεσης αποτελεί ένα μονοειδές. Ως ουδέτερο στοιχείο στο μονοειδές αυτό θα έχουμε τη σχέση: D = {(q, q) q Q}. Ορισμός 2. Ας είναι (M,, e) ένα μονοειδές και R μια σχέση ισοδυναμίας πάνω στο M. Η σχέση R ονομάζεται από δεξιά συμβιβαστή με την πράξη, αν m 1 m 2 (R) και m M m 1 m m 2 m(r) ενώ αντίστοιχα ονομάζεται από αριστερά συμβιβαστή με την πράξη, αν m 1 m 2 (R) και m M m m 1 m m 2 (R). Τέλος θα λέμε ότι η σχέση R είναι συμβιβαστή με την πράξη, αν είναι ταυτόχρονα από δεξιά και από αριστερά συμβιβαστή. 1
Ορισμός 3. Ας είναι (M,, e) ένα μονοειδές και R μια συμβιβαστή ισοδυναμία πάνω σε αυτό. Ορίζουμε το σύνολο πηλίκο M/R με στοιχεία τις κλάσεις ισοδυναμίας της R, δηλαδή M/R = {[m] m M}, όπου [m] = {x x M και x m(r)}. Το M/R μπορεί να δομηθεί σε μονοειδές ως εξής: Για κάθε [m 1 ], [m 2 ] M/R, θέτουμε: [m 1 ] [m 2 ] = [m 1 m 2 ]. Η πράξη αυτή είναι καλά ορισμένη, δηλαδή ανεξάρτητη του αντιπροσώπου της κλάσης. Ας είναι: [m 1 ] = [m 1], [m 2 ] = [m 2] [m 1 ] [m 2 ] = [m 1] [m 2]. Θέλουμε να έχουμε: [m 1 m 2 ] = [m 1 m 2] το οποίο και ισχύει αφού η R είναι συμβιβαστή πάνω στο M και άρα: { m 1 m 1 (R) m 2 m 2 (R) m 1 m 2 m 1 m 2 (R) [m 1 m 2 ] = [m 1 m 2 ]. Η πράξη είναι προσεταιριστική. Εχει ουδέτερο στοιχείο, την κλάση [e]. Εχουμε λοιπόν το μονοειδές πηλίκο (M/R,, [e]). Η απεικόνιση: Φ : M M/R, m [m] που στέλνει κάθε στοιχείο στην κλάση ισοδυναμίας του είναι μορφισμός αφού Φ(m 1 m 2 ) = [m 1 m 2 ] = [m 1 ] [m 2 ] = Φ(m 1 ) Φ(m 2 ) και Φ(e) = [e]. Εστω (M,, e), (N,, f) δυο μονοειδή και h : M N ένας μορφισμός. Τότε το (h(m),, f) είναι μονοειδές αφού για x, y, z M h(x) (h(y) h(z)) = h(x) h(y z) = h(x y z) = h(x y) h(z) Ακόμη f h(m) καθώς = (h(x) h(y)) h(z). f = h(e) και το e M. Άρα λοιπόν το h(m) ειναι κλειστό με την πράξη, η οποία είναι προσεταιριστική και περιέχει το ουδέτερο, συνεπώς είναι πράγματι μονοειδές. 2
Συντακτικό Μονοειδές Γλώσσας Από κάθε μη-προσδιοριστό αυτόματο A = (Q, A, I, δ, F ) μπορούμε να κατασκευάσουμε ένα πεπερασμένο μονοειδές, ως εξής: Για κάθε λέξη w A ορίζεται μια σχέση R w στο Q: qr w p στο διάγραμμα του A υπάρχει διαδρομή q w p. Ας είναι Rel(Q): το μονοειδές όλων των διμελών σχέσεων του Q. Ορίζουμε την f A : A Rel(Q), με f A (w) = R w η οποία είναι μορφισμός μονοειδών, αφου R w1 w 2 = R w1 R w2. Ως μονειδές μεταβάσεων του A ορίζουμε την εικόνα του A μέσω της f A, και συμβολίζεται με M A. Είναι φανερό ότι αν f A (w 1 ) = f A (w 2 ) και το A αναγνωρίζει τη λέξη w 1, τότε θα αναγνωρίζει και την w 2 και αντίστροφα. Συνεπώς αν L A είναι η γλώσσα που αναγνωρίζει το A, θα έχουμε f 1 A (f A(L)) = L. Τον εγκλεισμό L f 1 A (f A(L)) τον έχουμε δεδομένο για οποιοδήποτε σύνολο. Μένει να δικαιολογηθεί ο αντίστροφος εγκλεισμός. Εστω w f 1 A (f A(L)) f A (w) f A (L). Ομως το f A (L) στην ουσία είναι όλες οι σχέσεις που προκύπτουν από λέξεις της γλώσσας L, δηλαδή όλες οι σχέσεις που συνδέουν μια αρχική με μια τελική κατάσταση. Αφού λοιπόν f A (w) f A (L), η σχέση R w που προκύπτει θα συνδέει επίσης αρχική με w τελική κατάσταση, δηλαδή στο διάγραμμα του A υπάρχει διαδρομή q 0 p, όπου q 0 αρχική και p τελική κατάσταση. Δηλαδή, η λέξη w αναγνωρίζεται από το αυτόματο, και άρα w L. Θεώρημα 1. Μια γλώσσσα L A είναι αναγνωρίσιμη εάν και μόνον εάν υπάρχει ένα πεπερασμένο μονοειδές M και ένας μορφισμός μονοειδών g : A M έτσι ώστε L = g 1 (g(l)). Απόδειξη. Προς τη μια κατεύθυνση, το θεώρημα έχει αποδειχτεί. Ας υποθέσουμε ότι υπάρχει ο g : A M με την προαναφερθείσα ιδιότητα, και ας είναι A το αυτόματο με σύνολο καταστάσεων το M. Το μοναδιαίο στοιχείο ɛ M το θεωρούμε αρχική κατάσταση και το σύνολο g(l) M ως σύνολο τελικών καταστάσεων. Ορίζουμε τη λειτουργία δ : M A M δ(m, x) = m g(x). 3
Επεκτείνουμε την απεικόνιση δ στην δ : M A M δ (m, w) = m g(w). Είναι φανερό ότι το αυτόματο A είναι πλήρες. Βρίσκουμε τη συμπεριφορά του: w A δ (e, w) g(l) e g(w) g(l) w g 1 (g(l)). Δηλαδή A = g 1 (g(l)) = L και συνεπώς η L είναι αναγνωρίσιμη. Προτού ορίσουμε το συντακτικό μονοειδές μιας γλώσσας L A, μένει να ορίσουμε μια ακόμη έννοια. Ορισμός 4. Ας είναι w μια λέξη και L μια γλώσσα από το αλφάβητο A. Ονομάζουμε παράπλευρο σύνολο της λέξης w ως προς τη γλώσσα L το σύνολο C L (w) = {(u 1, u 2 ) A A u 1 wu 2 L}. Στο συνολο A ορίζουμε την εξής σχέση ισοδυναμίας: w 1 w 2 C L (w 1 ) = C L (w 2 ) η οποία είναι συμβιβαστή με την πράξη της παράθεσης. Αυτό αποδεικνύεται εύκολα: { { w 1 w 2 C L (w 1 ) = C L (w 2 ) w 3 w 4 C L (w 3 ) = C L (w 4 ) Ονομάζουμε C 1 := C L (w 1 ), C 2 := C L (w 2 ), C 3 := C L (w 3 ), C 4 := C L (w 4 ) και θέτουμε Εχουμε τώρα: C 13 := C L (w 1 w 3 ) = {(m 1, m 3 ) A A : m 1 w 1 w 3 m 3 L} C 24 := C L (w 2 w 4 ) = {(m 2, m 4 ) A A : m 2 w 2 w 4 m 4 L}. (m 1, m 3 ) C 13 m 1 w 1 w 3 m 3 L (m 1, w 3 m 3 ) C 1 (m 1, w 3 m 3 ) C 2 m 1 w 2 w 3 m 3 L (m 1 w 2, m 3 ) C 3 (m 1 w 2, m 3 ) C 4 m 1 w 2 w 4 m 3 L (m 1, m 3 ) C 24 άρα C 13 = C 24 C L (w 1 w 3 ) = C L (w 2 w 4 ) w 1 w 3 w 2 w 4 Άρα λοιπόν, πράγματι, η ισοδυναμία είναι συμβιβαστή με την πράξη της παράθεσης. Συνεπώς το A / δομείται σε μονοειδές. 4
Ορισμός 5. Το μονοειδές A / ονομάζεται συντακτικό μονοειδές της γλώσσας L και συμβολίζεται Synt(L). Ο κανονικός μορφισμός f L : A Synt(L) που στέλνει κάθε λέξη του A στην κλάση ισοδυναμίας της, ονομάζεται συντακτικός μορφισμός. Θεώρημα 2. Ο συντακτικός μορφισμός f L έχει την ιδιότητα f 1 L (f L(L)) = L ενώ άν f : A M είναι ένας άλλος επιμορφισμός με την ίδια ιδιότητα, τότε θα υπάρχει μοναδικός επιμορφισμός h : M Synt(L) τέτοιος ώστε h f = f L. Συνεπώς μια γλώσσα L A είναι αναγνωρίσιμη εάν και μόνο αν το συντακτικό μονοειδές της Synt(L) είναι πεπερασμένο. Απόδειξη. Ισχύει πάντοτε f 1 L (f L(L)) L οπότε αρκεί να αποδείξουμε τον αντίστροφο εγκλεισμό. Ας είναι w f 1 L (f L(L)) f L (w) = f L (w ), για κάποιο w L w w Ομως C L (w) = C L (w ). (ɛ, ɛ) C L (w ) αφού ɛw ɛ = w L (ɛ, ɛ) C L (w) w = ɛwɛ L όπως θέλαμε. Θα δείξουμε τώρα ότι: f(w) = f(w ) f L (w) = f L (w ) ή ισοδύναμα: f(w) = f(w ) C L (w) = C L (w ). Ας είναι (u 1, u 2 ) C L (w) u 1 wu 2 L. Ακόμη f(u 1 wu 2 ) = f(u 1 )f(w)f(u 2 ) = f(u 1 )f(w )f(u 2 ) = f(u 1 w u 2 ) 5
το οποίο μαζί με την υπόθεση f 1 (f(l)) = L μας δίνει (u 1, u 2 ) C L (w ) C L (w) C L (w ). Ανάλογα προκύπτει και ο αντίστροφος εγκλεισμός. Ορίζουμε τώρα την h : M Synt(L). Ας είναι m M, αφού η f είναι επί θα υπάρχει w A τέτοιο ώστε f(w) = m. Θέτουμε h(m) = f L (w). Η h είναι καλά ορισμένη και επί, αφού αν m 1 = m 2 w 1, w 2 : f(w 1 ) = f(w 2 ) f L (w 1 ) = f L (w 2 ) h(m 1 ) = h(m 2 ). Τέλος μένει να δείξουμε ότι η h είναι επιμορφισμός μονοειδών. Ας είναι m 1, m 2 και w 1, w 2 A έτσι ώστε f(w 1 ) = m 1, f(w 2 ) = m 2. Τότε f(w 1 w 2 ) = f(w 1 )f(w 2 ) = m 1 m 2 h(m 1 m 2 ) = f L (w 1 w 2 ) = f L (w 1 )f L (w 2 ) = h(m 1 )h(m 2 ). Συνεπώς η h είναι πράγματι επιμορφισμός μονοειδών. Το Synt(L) είναι το μικρότερο μονοειδές που αναγνωρίζει τη γλώσσα L. Στο σημείο αυτό ας θυμίσουμε την κατασκευή του ελαχίστου αυτομάτου μιας γλώσσας, και θα το συσχετίσουμε έπειτα με το συντακτικό μονοειδές. Ορισμός 6. Για κάθε λέξη u A ορίζουμε το αριστερό πηλίκο u 1 L να είναι το σύνολο: u 1 L = {w A uw L} δηλαδή το σύνολο όλων των λέξεων του A που αν τις παραθέσουμε δεξιά της u βρίσκουμε μια λέξη της L. Θεωρούμε τώρα το αυτόματο: με σύνολο καταστάσεων: A L = (Q L, A, δ L, L, T L ) Q L = { w 1 L w A, w 1 L }, αρχική κατάσταση την ɛ 1 L = L και για τελικές καταστάσεις τις: T L = { w 1 L w L }. Η λειτουργία του αυτομάτου ορίζεται από την απεικόνιση: δ L : Q L A Q L με δ L ( w 1 L, x ) = (wx) 1 L. 6
Υπολογίζουμε τώρα τη συμπεριφορά του A L : w A L δ L (L, w) T L w 1 L T L w L δηλαδή A L = L. Το παρακάτω θεώρημα, την απόδειξη του οποίου θα παραλείψουμε, μας εξασφαλίζει ότι το A L είναι πράγματι το ελάχιστο αυτόματο που αναγνωρίζει την L. Θεώρημα 3. Αν A = (Q, A, δ, q 0, T ) είναι αυτόματο που αναγνωρίζει τη γλώσσα L A τότε υπάρχει μοναδική απεικόνιση f : Q Q L με τις ε- ξής ιδιότητες: 1. είναι έφεση (επί), 2. f(q 0 ) = L, 3. f (δ(q, x)) = δ L (f(q), x), 4. f(t ) = T L. Παράδειγμα 1. Να κατασκευαστεί το ελάχιστο αυτόματο που αναγνωρίζει τη γλώσσα L = aa, όπου A = {a, b}. Βρίσκουμε τα πηλίκα της γλώσσας L: a 1 L = a 1 (aa ) = A b 1 L = a 1 A = A b 1 A = A Συνεπώς το ζητούμενο αυτόματο είναι το A = (Q L, A, δ L, L, T L ) με Q L = {L, A }, T L = {A }. Πρόταση 2. Το μονοειδές μεταβάσεων του ελάχιστου αυτομάτου, A L, που αναγνωρίζει τη γλώσσα L, είναι ισόμορφο με το συντακτικό μονοειδές Synt(L). Απόδειξη. Ο επιμορφισμός f AL : A M AL έχει την ιδιότητα f 1 A L (f AL (L)) = L. Άρα υπάρχει επιμορφισμός h : M AL Synt(L) τέτοιος ώστε h f AL = f L. 7
Οπως είπαμε και προηγουμένως, οι καταστάσεις του ελαχίστου αυτομάτου έχουν τη μορφή t 1 L με t A και μέσω μιας λέξης w πηγαίνουμε στην κατάσταση w 1 (t 1 L) = (tw) 1 L = {z A twz L}. Μένει τώρα να δείξουμε ότι η h είναι ένεση (1 1). Συμβολίζουμε m = f AL (w) δηλαδή m : Q L Q L, m(t 1 L) = (tw) 1 L και έχουμε h(m) = h (f AL (w)) = f L (w). Άρα για m, m M AL Εστω τώρα h(m) = h(m ) f L (w) = f L (w ) C L (w) = C L (w ). z (tw) 1 L z {x A twx L} (z, x) C L (w) (z, x) C L (w ) z { x A tw x L } z (tw ) 1 L (tw) 1 L (tw ) 1 L Ακριβώς όμοια και ο αντίστροφος εγκλεισμός. Συνεπώς (tw) 1 L = (tw ) 1 L, t A m = m. 8