Kleene s theorem implies Schützenberger s theorem: A proof by Dietrich Kuske
Kleene (1956) Ας είναι Σ ένα αλφάβητο. Τότε, Rec (Σ) = Rat (Σ). Schützenberger (1961) Ας είναι ένας ημιδακτύλιος Κ και ένα αλφάβητο Σ. Τότε, Rec (K, Σ) = Rat (K, Σ). Αν K = B = ({0, 1}, +,, 0, 1) είναι ο ημιδακτύλιος του Bool τότε, Rec (B, Σ) = Rat (B, Σ) = Rec (Σ) = Rat (Σ).
Γλώσσα Ρητής Εκφρασης Ορισμός Γλώσσα Ρητής Εκφρασης είναι κάθε έκφραση που δομείται από τις σταθερές {α} για α Σ, τους διμελείς τελεστές + και, και τον τελεστή +.
Γλώσσα Ρητής Εκφρασης Κάθε γλώσσα ρητής έκφρασης F περιγράφει τη γλώσσα L (F ), η οποία ορίζεται επαγωγικά, δηλαδή L ({a}) = {a} L (F 1 + F 2 ) = L (F 1 ) L (F 2 ) L (F 1 F 2 ) = L (F 1 ) L (F 2 ) L (F + ) = (L (F )) +. alph (F ) είναι το σύνολο των γραμμάτων α, για τα οποία το {α} εμφανίζεται στην F. F γλώσσα ρητής έκφρασης = L(F ) ρητή γλώσσα.
Γλώσσα Ρητής Εκφρασης Χωρίς Ασάφειες Το σύνολο των γλωσσών ρητών εκφράσεων χωρίς ασάφειες, περιορίζοντας τη χρήση των τελεστών +, και +, ορίζεται ακολούθως: {α} είναι γλώσσα ρητής έκφρασης χωρίς ασάφειες για κάθε γράμμα α. F 1 + F 2 είναι μια γλώσσα ρητής έκφρασης χωρίς ασάφειες αν F 1 και F 2 είναι δύο γλώσσες ρητών εκφράσεων χωρίς ασάφειες και L (F 1 ) L (F 2 ) =.
Γλώσσα Ρητής Εκφρασης Χωρίς Ασάφειες F 1 F 2 είναι μία γλώσσα ρητής έκφρασης χωρίς ασάφειες, όταν F 1 και F 2 είναι δύο γλώσσες ρητών εκφράσεων χωρίς ασάφειες και για u i, v i L (F i ) u 1 u 2 = v 1 v 2 = u 1 = v 1. F + είναι μία γλώσσα ρητής έκφρασης χωρίς ασάφειες, όταν F είναι μία γλώσσα ρητής έκφρασης χωρίς ασάφειες και για u i, v j L (F ),για 1 i m και 1 j n u 1 u 2 u m = v 1 v 2 v n = m = n και u 1 = v 1.
Παράδειγμα γλώσσας με ασάφειες Δίνεται F = (F 1 F 2 ) + F 1 + F 2 όπου F 1 = {a} και F 2 = {b}. Οπότε η F είναι μία γλώσσα ρητής έκφρασης και alph(f ) = {a, b}. Η F περιγράφει μία γλώσσα L(F ) = (L (F 1 ) L (F 2 )) + L (F 1 ) L (F 2 ) = {(ab) + a, b}. Δεν είναι όμως γλώσσα χωρίς ασάφειες διότι υπάρχει γλώσσα ρητής έκφρασης F F, F = F 1 (F 2 F 1 ) + + F 2 που περιγράφει την ίδια γλώσσα, L(F ) = L(F ).
Θεώρημα Kleene Θεώρημα Ας είναι L Σ + μία γλώσσα.τότε οι ακόλουθες προτάσεις είναι ισοδύναμες 1 Η L είναι ρητή γλώσσα. 2 Η L είναι ρητή γλώσσα χωρίς ασάφειες. 3 Η L είναι αναγνωρίσιμη γλώσσα. 4 Υπάρχει πεπερασμένο προσδιοριστό αυτόματο με L = L (A).
Αυτόματο με βάρη Ορισμός Ενα αυτόματο με βάρη A στο αλφάβητο Σ και στον ημιδακτύλιο Κ είναι μία πεντάδα A = (Q, Σ, λ, µ, γ) όπου Q είναι το πεπερασμένο μη κενό σύνολο των καταστάσεων. λ K 1 Q είναι ένα διάνυσμα-γραμμή. µ : Σ + ( K Q Q, ) είναι ομοιομορφισμός ημιομάδων. γ K Q 1 είναι ένα διάνυσμα-στήλη.
Αυτόματο με βάρη Οπότε για τη συμπεριφορά του αυτομάτου A ισχύει ότι Ας είναι ( A, u) = λ µ (u) γ, u Σ +. U = (q i, a i, q i+1 ) 1 i m το μονοπάτι της λέξης u = a 1 a 2 a m. π (U) = u η προβολή του U. c (U) = 1 i m µ (a i) qi,q i+1 το βάρος του U.
Αυτόματο με βάρη Ετσι, ένας δεύτερος ορισμός για τη συμπεριφορά του A ( A, u) = (λ (q) c (U) γ (q ) όπου q, q Q, U ένα μονοπάτι από το q στο q και π (U) = u) u Σ +.
Ρητή Εκφραση Ορισμός Ρητή Κ-έκφραση είναι κάθε έκφραση που δομείται από τις σταθερές kα για k K και α Σ, τους διμελείς τελεστές + και, και τον τελεστή +. Κάθε ρητή έκφραση Ε στον ημιδακτύλιο Κ, περιγράφει μία σειρά E K Σ +. E ρητή έκφραση = E ρητή σειρά.
Ρητή Σειρά Ορίζονται επαγωγικά, { k αν w = α ( kα, w) = 0 διαφορετικά E + F = E + F E F = E F E + = E +
Θεώρημα Schützenberger-Eilenberg Θεώρημα Ας είναι Κ ένας ημιδακτύλιος, Σ ένα αλφάβητο και s K Σ +. Τότε η s είναι αναγνωρίσιμη σειρά αν-ν είναι ρητή σειρά.
Από ρητές εκφράσεις σε αναγνωρίσιμες σειρές Στη συνέχεια θα δούμε πως από μία ρητή Κ-έκφραση Ε, μπορούμε να αποδείξουμε ότι η σειρά E είναι αναγνωρίσιμη. Θα δούμε λοιπόν πως προκύπτουν οι παρακάτω συνεπαγωγές. E ρητή Κ-έκφραση = A αυτόματο με βάρη στο Κ και στο Σ έτσι ώστε A = E E ρητή Κ-έκφραση = F γλώσσα ρητής έκφρασης στο Γ = L (F ) ρητή γλώσσα = L (F ) αναγνωρίσιμη γλώσσα L (F ) αναγνωρίσιμη γλώσσα = E αναγνωρίσιμη σειρά
Από ρητές εκφράσεις σε γλώσσες ρητών εκφράσεων Θεωρούμε τους ομομορφισμούς έτσι ώστε π : Γ + Σ + και c : Γ + (K, ) ( E, u) = ( c (U) U L (F ) π 1 (u) ) (1) για u Σ +. Θέλουμε από ρητή έκφραση Ε να μεταβούμε σε γλώσσα ρητής έκφρασης F, έτσι ώστε να ικανοποιείται η σχέση (1).
Βασική ιδέα κατασκεύης της F Η βασική ιδέα της κατασκευής είναι να αντικαταστήσουμε καθε εμφάνιση της σταθεράς kα με ένα νέο γράμμα (k, α), ώστε π (k, α) = α και c (k, α) = k. Ωστόσο προκύπτουν δυο προβλήματα κατά την εφαρμογή της στον ημιδακτύλιο N. Πρόβλημα 1 E = 1α + 1α F = {(1, α)} + {(1, α)} Πρόβλημα 2 E = ( (1α) +) + F = ( {(1, α)} +) +
Σχέση μεταξύ ρητής έκφρασης και γλώσσας ρητών εκφράσεων Ορισμός Μία σχέση Red μεταξύ μιας ρητής Κ-έκφρασης Ε στο Σ, μίας γλώσσας ρητών εκφράσεων F σε ένα τυχαίο αλφάβητο και των ομομορφισμών π : alph (F ) + Σ + και c : alph (F ) + (K, ) ορίζεται επαγωγικά : (kα, F, π, c) Red F = { } για κάθε, τότε π ( ) = α και c ( ) = k. (E 0 + E 1, F, π, c) Red F 0 και F 1 με Γ 0 Γ 1 = και ομομορφισμοί π 0, π 1, c 0 και c 1 έτσι ώστε F = F 0 + F 1, (E 0, F 0, π 0, c 0 ) Red, (E 1, F 1, π 1, c 1 ) Red, π = π 0 π 1 και c = c 0 c 1.
Ορισμός(συνέχεια) (E 0 E 1, F, π, c) Red F 0 και F 1 με Γ 0 Γ 1 = και ομομορφισμοί π 0, π 1, c 0 και c 1 έτσι ώστε F = F 0 F 1, (E 0, F 0, π 0, c 0 ) Red, (E 1, F 1, π 1, c 1 ) Red, π = π 0 π 1 και c = c 0 c 1. (E +, F, π, c) Red F 0 και F 1 με Γ 0 Γ 1 = και ομομορφισμοί π 0, π 1, c 0 και c 1 έτσι ώστε F = F 1 + (F 1 F 0 ) + + (F 1 F 0 ) + F 1, (E 0, F 0, π 0, c 0 ) Red, (E 1, F 1, π 1, c 1 ) Red, π = π 0 π 1 και c = c 0 c 1.
Λήμμα 1 Οταν (E, F, π, c) Red, τότε ( E, u) = ( c (U) U L (F ) π 1 (u) ). Λήμμα 2 Ας είναι L Γ + μία αναγνωρίσιμη γλώσσα και π : Σ + Γ + και c : Σ + (K, ) ομομορφισμοί. Τότε η σειρά s K Σ + με (s, u) = (c (U) U L (F ) π 1 (u)) είναι αναγνωρίσιμη.
Πρόταση 1 Εστω Κ ένας ημιδακτύλιος και Ε μία ρητή Κ-έκφραση. Τότε η E είναι αναγνωρίσιμη. Απόδειξη. Για Ε ρητή Κ-έκφραση, από Λήμμα 1, υπάρχει F γλώσσα ρητής έκφρασης ώστε να ικανοποιείται η σχέση ( E, u) = (c (U) U L (F ) π 1 (u)). Η L (F ) είναι ρητή γλώσσα, διότι η F είναι ρητή γλώσσα έκφρασης. Από το Θεώρημα του Kleene εφόσον η L (F ) είναι ρητή, θα είναι και αναγνωρίσιμη. Από Λήμμα 2 αφού η L (F ) είναι αναγνωρίσιμη, τότε θα είναι και η σειρά ( E, u) = (c (U) U L (F ) π 1 (u)).
Γινόμενο Hadamard Επεκτείνουμε το σύνολο των ρητών γλωσσών και Κ-εκφράσεων με τη διμελή πράξη του Hadamard γινομένου : L (F 0 F 1 ) = L (F 0 ) L (F 1 ) και E 0 E 1 = E 0 E 1.
Επέκταση της σχέσης Red Επιπλέον επεκτείνουμε τη σχέση Red σε επεκτεταμένες ρητές εκφράσεις. Οπότε (E 0 E 1, F, π, c) Red F 0 και F 1 στα Γ 0 και Γ 1, ομομορφισμοί π 0, π 1, c 0 και c 1 έτσι ώστε π i : Γ + i Σ + και c i : Γ + i (K, ) και (E 0, F 0, π 0, c 0 ) Red, (E 1, F 1, π 1, c 1 ) Red, F = G 0 G 1 γλώσσα επεκτεταμένης ρητής έκφρασης στο αλφάβητο Γ = {(α 0, α 1 ) Γ 0 Γ 1 π 0 (α 0 ) = π 1 (α 1 )},
Επέκταση της σχέσης Red αντικαθιστάται κάθε εμφάνιση του α 0 στην F 0 με το α 1 Γ 1,π 0 (α 0 )=π 1 (α 1 ) (α 0, α 1 ), έτσι κατασκευάζεται η G 0, αντικαθιστάται κάθε εμφάνιση του α 1 στην F 1 με το α 0 Γ 0,π 0 (α 0 )=π 1 (α 1 ) (α 0, α 1 ), έτσι κατασκευάζεται η G 1, c (α 0, α 1 ) = c (α 0 ) c (α 1 ) και π (α 0, α 1 ) = π 0 (α 0 ) = π 1 (α 1 ) (α 0, α 1 ) Γ.
Πρόταση 2 Το Λήμμα 1 ισχύει και για επεκτεταμένες Κ-εκφράσεις Ε, όταν ο ημιδακτύλιος Κ είναι αντιμεταθετικός. Πρόταση 2 Ας είναι Κ ένας αντιμεταθετικός ημιδακτύλιος και Ε μία επεκτεταμένη ρητή Κ-έκφραση. Τότε η E είναι αναγνωρίσιμη σειρα. Η απόδειξη είναι ίδια με την απόδειξη της Προτασης 1.
Από τα αυτόματα στις εκφράσεις Εστω A 1 = (Q, Σ, p in, µ, p ter ) ένα κανονικοποιημένο Κ-αυτόματο με βάρη στο αλφάβητο Σ. Ορίζουμε Γ = {(p, a, p ) p, p Q και a Σ}, L = {(p, u, p ) p = p in, p = p ter Q και u Σ + }, L Γ +, T = {(p, (p, a, p ), p ) p, p Q και (p, a, p ) Γ}. Τότε A 2 = (Q, Γ, {p in }, T, {p ter }) πεπερασμένο αυτόματο και L (A 2 ) = L. L αναγνωρίσιμη Θ.Kleene ==== L ρητή γλώσσα χωρίς ασάφειες μία γλώσσα ρητής έκφρασης χωρίς ασάφειες F : L(F ) = L
ρητή Κ-έκφραση red (F ) Ορισμός Για μία F γλώσσα ρητής έκφρασης στο αλφάβητο Γ ορίζεται μία ρητή Κ-έκφραση red (F ) επαγωγικά: red ((p, a, q)) = µ (α) p,q α red (F 0 + F 1 ) = red (F 0 ) + red (F 1 ) red (F 0 F 1 ) = red (F 0 ) red (F 1 ) red (F + ) = red (F ) +
Επιπλέον ορίζονται οι ομομορφισμοί c : Γ + (K, ) π : Γ + Σ + με c (p, a, q) = µ (α) p,q και π (p, a, q) = a. Τότε με επαγωγή στη κατασκευή της γλώσσας ρητής έκφρασης χωρίς ασάφειες F αποδεικνύεται ότι red (F ) (v) = ( c (V ) V L (F ) π 1 (v) ).
Πρόταση 3 Ας είναι Κ ένας ημιδακτύλιος και A 1 ένα Κ-αυτόματο με βάρη. Τότε η A 1 είναι μία ρητή σειρά. Απόδειξη. Εφόσον L (F ) = L, όπου L είναι το σύνολο των μονοπατιών του A 1, ισχύει ότι ( A 1, v) = (λ (p in ) c (V ) γ (p ter ) V μονοπάτι από το p in στο p ter και π (V ) = v) = (c (V ) V L(F ) π 1 (v)) = ( red (F ), v). Άρα, red (F ) αναγνωρίσιμη Θ.Schützenberger ========= red (F ) ρητή.
Αναφορές D. Kuske, Schützenberger s theorem on formal power series follows from Kleene s theorem, Theoretical Computer Science 401 (2008) 243-248. Handbook of Weighted Automata, M. Droste, W. Kuich, H. Vogler, Spinger, 2009.