17. KONTEXTSENSITIVE SPRACHEN
HAUPTERGEBNIS: KS = ERW = NSPACE(O(n)) REK Das heisst: Kontextsensitive Grammatiken und Grammatiken vom Erweiterungstyp haben die gleihe Beshreibungsmähtigkeit. Kontextsensitive Sprahen werden gerade von nd. linear-platzbeshränkten Turing-Akzeptoren erkannt, sind also insbesondere rekursiv (entsheidbar). Da NSPACE(O(n)) eht in REK enthalten ist (Hierarhiesatz!), gibt es entsheidbare Sprahen, die niht kontextsensitiv sind. Da NSPACE(O(n)) vermutlih niht in P enthalten ist, gibt es vermutlih kontext-sensitive Sprahen, die niht tatsählih entsheidbar sind. 1
SATZ. KS = ERW (wobei die Gleihheit effektiv gilt) Wegen KS ERW genügt es zu zeigen: Jede Grammatik G vom Erweiterungstyp lässt sih effektiv in eine äquivalente kontextsensitive Grammatik G überführen. BEWEISIDEE. O.B.d.A. können wir davon ausgehen, dass G = (N, T, P, S) separiert ist. Man ersetzt dann jede Umformungsregel X 1... X m Y 1...Y n (n m 1, X 1,... Y n N) von G durh folgende äquivalente kontextsensitive Regeln (wobei Z 1,..., Z m neue Variablen sind): X 1 X 2... X m Z 1 X 2... X m Z 1 X 2... X m. Z 1 Z 2... X m Z 1... Z m 2 X m 1 X m Z 1... Z m 2 Z m 1 X m Z 1... Z m 1 X m Z 1... Z m 1 Z m Y m+1... Y n Z 1... Z m 1 Z m Y m+1... Y n Z 1... Z m 1 Y m Y m+1... Y n. Z 1 Y 2... Y n Y 1 Y 2... Y n 2
SATZ. ERW = NSPACE(O(n)) (wobei die Gleihheit effektiv gilt) Beim Beweis benutzen wir folgende Charakterisierung von NSPACE(O(n)). LEMMA. Eine Sprahe L liegt genau dann in NSPACE(O(n)), wenn sie von einem nihtdeterministishen linear beshränkten Automaten (NLBA) erkannt wird. Dabei ist ein NLBA ein nd. 1- Band-Turingakzeptor, bei dem die Eingabe w auf dem Band geklammert wird [w], der geklammerte Bereih nie verlassen wird, und die Klammern nie duh andere Zeihen überdrukt werden. BEWEIS DES LEMMAS. Dies folgt leiht aus dem 1. Bandreduktionssatz und der linearen Kompression. 3
TEIL 1 DES BEWEISES: ERW NSPACE(O(n)) Gegeben: Separierte Grammatik G = (N, T, P, S) vom Erweiterungstyp. Gesuht: Lin.-platzbeshr. nd. TA M mit L(M) = L(G). Idee: M hat 3 Bänder und arbeitet bei Eingabe w T wie folgt: Mit Hilfe der Eingabe w auf Band 1 markiert M w Felder auf Band 2 und beshriftet das erste Feld mit dem Axiom S von G (Initialisierung). Auf dem markierten Teil auf Band 2 simuliert M nihtdet. eine beliebige Herleitung von G, S w 1 w 2 w n, die mit dem vorhandenen Platz auskommt (d.h. w i w ). (Simulationsphase) Details: nähste Folie Nahdem M nihtdet. entshieden hat, die Simulationsphase zu beenden, überprüft M das hergeleitete Wort w n auf Band 2 mit der Eingabe w auf Band 1 und akzeptiert, falls w n = w (Endphase). 4
SIMULATIONSZYKLUS ZUR SIMULATION EINER REGELANWENDUNG Um die Anwendung einer Umformungsregel X 1... X m Y 1... Y n (1 m n) in einem Herleitungsshritt w i w i+1 zu simulieren, geht M wie folgt vor: M liest ein Anfangsstük x von w i und kopiert dieses gleihzeitig auf das Hilfsband 3, bis die Stelle erreiht wird, von der M annimmt, dass dort das zu ersetzende Vorkommen der Prämisse X 1... X m in w i beginnt. Durh Weiterlesen prüft M, ob X 1... X m tatsählih an dieser Stelle steht. Ist dies niht der Fall, stoppt M in einem verwerfenden Zustand. Ist dies der Fall, fügt M auf Band 3 an das Anfangsstük x die Konklusion Y 1... Y n an. Dann liest M den Rest y von w i und kopiert diesen auf Band 3. (Kommt also X 1... X m in w i vor, und rät M die Stelle eines Vorkommens, d.h. w i = xx 1... X m y, so steht nun xy 1... Y n y auf Band 3.) Shliesslih ersetzt M das Wort auf Band 2 durh das Wort auf Band 3 (falls der markierte Platz ausreiht, sonst verwirft M). 5
TEIL 2 DES BEWEISES: NLBA ERW Gegeben: Nd. linear-beshränkter Automat M = (Σ, Γ, Z, z 0, F, δ) Gesuht: Grammatik G = (N, Σ, P, S) vom Erweiterungstyp mit L(G) = L(M). Idee: Wir benutzen die Spurentehnik, um zwei Wörter übereinander zu einem Wort zu vershmelzen. G arbeitet dann wie folgt: G erzeugt ein beliebiges Wort w Σ (Spur 1) zusammen mit der zugehörigen M-Startkonfiguration [z 0 w] (Spur 2). (Initialisierung) G simuliert dann auf Spur 2 eine beliebige möglihe Rehnung von M. (Simulationsphase) Wird ein akzeptierender Zustand erreiht, löst G Spur 2 auf und erzeugt so das (auf Spur 1 stehende) von M akzeptierte Wort w. (Abshlussphase) Damit G niht verkürzend ist, müssen auf Spur 2 Randklammern mit den benahbarten Buhstaben zu einem Buhstaben vershmolzen werden. Ebenso der Zustand mit dem Buhstaben auf dem Arbeitsfeld. (Details auf den nähsten 3 Folien) 6
INITIALISIERUNG Regeln (für alle a Σ): ( a S [z 0 a ( ) a A A a ) A ( a a] ) Hiermit ergibt sih für jedes Wort w = a 1... a n Σ mit n 2 die Herleitung ( ) ( ) ( ) ( ) S a1 a2 an 1 an... [z 0 a 1 a 2 a n 1 a n ] Ein Wort w der Länge 1 in L(M) leitet man direkt mit einer zusätzlihen Regel S w her. (NB: Es gibt höhstens 3 solhe Wörter; man benötigt also höhstens 3 (also endlih viele) Regeln. Weiter ist die λ-treue sihergestellt, da S in keiner Konklusion auftreten wird.) 7
SIMULATIONSPHASE Eine M-Instruktion δ(z, a) = (a, B, z ) simuliert man im Fall von a [, ] und B = L (a = [, ] und B = R, S analog) durh folgende Regeln (für alle, Σ und a Γ): ( ( [az [a ) ( az ( a ) ( az ) ) ) ( ) [z a ( ) ( ) [a z a ( ) ( ) a z a 8
ABSCHLUSSPHASE O.B.d.A. können wir davon ausgehen, dass M genau einen akzeptierenden Zustand z + besitzt und das Arbeitsfeld am Ende der Rehnung das mit [ beshriftete linke Randfeld ist. Dann lässt sih bei Erreihen von z + die untere Spur auflösen mit Hilfe der folgenden Regeln (für alle, Σ und a Γ): ( ) [z + a ) ( a ( a] ) 9
ABSCHLUSSEIGENSCHAFTEN VON KS SATZ. KS ist abgeshlossen gegen Vereinigung Durhshnitt Komplement Verkettung Iteration (*-Operator) KS ist niht abgeshlossen gegen homomorphe Bilder. 10
ABSCHLUSS GEGEN VEREINIGUNG Zu zeigen: L 1, L 2 KS L 1 L 2 KS Wähle ks. Grammatiken G i = (N i, T i, P i, S i ) mit N 1 N 2 =, die L i erzeugen (i = 1, 2). Dann erzeugt G = (N, T, P, S) die Vereinigung L 1 L 2 von L 1 und L 2, wobei N = N 1 N 2 {S} T = T 1 T 2 P = {S S 1 S 2 } P 1 P 2 Entsprehend zeigt man den Abshluss der anderen Klassen der Chomsky-Hierarhie gegen Vereinigung. 11
ABSCHLUSS GEGEN VERKETTUNG Zu zeigen: L 1, L 2 KS L 1 L 2 KS Wähle ks. Grammatiken G i = (N i, T i, P i, S i ) mit N 1 N 2 =, die L i erzeugen (i = 1, 2). Dann erzeugt G = (N, T, P, S) die Vereinigung L 1 L 2 von L 1 und L 2, wobei N = N 1 N 2 {S} T = T 1 T 2 P = {S S 1 S 2 } P 1 P 2 Entsprehend zeigt man den Abshluss von CH-0 und KF gegen Verkettung. (LIN ist niht gegen Verkettung abgeshlossen; RLIN und LLIN sind abgeshlossen, aber der Beweis muss anders geführt werden.) 12
ABSCHLUSS GEGEN ITERATION Zu zeigen: L KS L KS Wähle ks. Grammatik G = (N, T, P, S), die L erzeugt. Dann erzeugt G = (N, T, P, S ) die Iteration L von L, wobei N = N {S, S } P = {S S λ, S S SS } P Entsprehend zeigt man den Abshluss von CH-0 und KF gegen Iteration. (LIN ist niht gegen Iteration abgeshlossen; RLIN und LLIN sind abgeshlossen, aber der Beweis muss anders geführt werden.) 13
ABSCHLUSS GEGEN DURCHSCHNITT Zu zeigen: L 1, L 2 KS L 1 L 2 KS Hier benutzt man die Mashinenharakterisierung von KS. Gegeben lin.-platzbeshr. nd. Turingakzeptoren M 1 und M 2, die L 1 und L 2 akzeptieren, erhält man einen Turingakzeptor M, der L 1 L 2 akzeptiert, indem man zunähst M 1 simuliert und, wenn dieser akzeptiert, anshliessend M 2 simuliert. (Die Eingabe muss dabei auf einem Hilfsband für M 2 zwishengespeihert werden.) Dieses Argument lässt sih auf die anderen Chomsky-Klassen niht direkt übertragen, und wir müssen diesen Abshluss für die einzelnen Klassen individuell untersuhen. (Bereits gesehen haben wir, dass CH-0=RA und REK gegen abgeshlossen sind. Noh zeigen werden wir, dass KF niht gegen Durhshnitt abgeshlossen ist.) 14
ABSCHLUSS GEGEN KOMPLEMENT Zu zeigen: L KS L KS Die Frage des Abshluss von KS gegen Komplement war lange offen. Gezeigt wurde der Abshluss von Immerman und Selepenyi mit Hilfe der Charakterisierung KS=NSPACE(O(n)). (Beweis: s. Vorlesung Berehenbarkeit und Komplexität.) Von den anderen Chomsky-Klassen haben wir bereits gezeigt: CH-0 = RA ist niht gegen Komplement abgeshlossen REK ist gegen Komplement abgeshlossen Für die weiteren Sprahklassen werden wir diese Abshlusseigenshaft noh untersuhen. 15
NICHT-ABSCHLUSS GEGEN HOMOMORPHE BILDER Zu zeigen: Es gibt L KS und einen Homomorphismus h mit h(l) = {h(w) : w L} KS Beweisidee: Die akzeptierenden Rehnungen eines Turingakzeptor lassen sih (geeignet kodiert) als eine kontextsensitive Sprahe darstellen, und man kann (wiederum eine geeignete Kodierung vorausgesetzt) einen Homomorphismus angeben, der in der Rehnung alle Zeihen mit Ausnahme der Ausgabe lösht. Es folgt hieraus, dass jede rekursiv aufzählbare (d.h. Chomsky- 0) Sprahe das homomorphe Bild einer kontextsensitiven Sprahe ist. 16
ENTSCHEIDUNGSPROBLEME FÜR KS. GRAMMATIKEN Für kontextsensitive Grammatiken G und G sind entsheidbar W KS = {(G, x) : x L(G)} (Wortproblem) Man kann zeigen, dass das Wortproblem für KS p m-vollständig für PSPACE (also NP-hart) ist. unentsheidbar Leer KS = {G : L(G) = } (Leerheitsproblem) Inf KS = {G : L(G) unendlih} (Unendlihkeitsproblem) Äqu KS = {(G, G ) : L(G) = L(G )} (Äquivalenzproblem) Man zeigt dies durh einfahe Reduktionsbeweise. 17