Кіріспе
Формалды грамматиканың түрі Контекстке сезімтал грамматика (CSG) – кез келген өндіріс ережелерінің сол және оң жақтары терминал және терминал емес символдардың контексімен қоршалуы мүмкін формалды грамматика. Контекстке сезімтал грамматикалар контекстсіз грамматикалардан гөрі жалпылама, яғни CSG арқылы сипатталатын, бірақ контекстсіз грамматикамен сипатталмайтын тілдер бар. Контекстке сезімтал грамматикалар шектеусіз грамматикалардан да аз жалпылама (сол мағынада). Осылайша, CSG-лер Чомский иерархиясында контекстсіз және шектеусіз грамматикалардың арасында орналасады. Контекстке сезімтал грамматикамен немесе, балама ретінде, келісімшарт жасамайтын грамматикамен немесе сызықтық шектелген автоматпен сипатталатын формальды тіл – контекстке сезімтал тіл деп аталады. Кейбір оқулықтар CSG-ні келісімшарт жасамайтын деп анықтайды, бірақ Ноам Чомски 1959 жылы оларды осылай анықтамаған. Бұл анықтаманың таңдауы тудыратын тілдер тұрғысынан ешқандай айырмашылық жоқ (яғни екі анықтама да әлсіз тең), бірақ грамматиканың құрылымдық тұрғыдан контекстке сезімтал деп саналатынына қатысты айырмашылық бар; осы мәселені Чомски 1963 жылы талдаған. Чомски контекстке сезімтал грамматиканы табиғи тілдің синтаксисін сипаттау үшін енгізді, онда сөздің белгілі бір орында орынды болуы немесе болмауы контекстке байланысты. Уолтер Савич «контекстке сезімтал» терминологиясын қате түсіндіретін деп сынға алды және CSG мен шектеусіз грамматика арасындағы айырмашылықты жақсы түсіндіретін «жоюға болмайтын» терминін ұсынды. Тілдердің кейбір ерекшеліктері (мысалы, кросс-сериалдық тәуелділік) контекстсіз емес екені белгілі болғанымен, табиғи тілдерде кездесетін контекстке сезімталдықты түсіру үшін CSG-нің қаншалықты экспрессивті күші қажет екені әлі де ашық сұрақ. Осы саладағы кейінгі зерттеулер есептеу жағынан оңай шешілетін, шамалы контекстке сезімтал тілдерге бағытталған. Кейбір визуальды бағдарламалау тілдерінің синтаксисін контекстке сезімтал графтық грамматика арқылы сипаттауға болады.
A context sensitive grammar (CSG) is a formal grammar in which the left hand sides and right hand sides of any production rules may be surrounded by a context of terminal and nonterminal symbols. Context sensitive grammars are more general than context free grammars, in the sense that there are languages that can be described by a CSG but not by a context free grammar. Context sensitive grammars are less general (in the same sense) than unrestricted grammars. Thus, CSGs are positioned between context free and unrestricted grammars in the Chomsky hierarchy. A formal language that can be described by a context sensitive grammar, or, equivalently, by a noncontracting grammar or a linear bounded automaton, is called a context sensitive language. Some textbooks actually define CSGs as non contracting, although this is not how Noam Chomsky defined them in 1959. This choice of definition makes no difference in terms of the languages generated (i. e. the two definitions are weakly equivalent), but it does make a difference in terms of what grammars are structurally considered context sensitive; the latter issue was analyzed by Chomsky in 1963. Chomsky introduced context sensitive grammars as a way to describe the syntax of natural language where it is often the case that a word may or may not be appropriate in a certain place depending on the context. Walter Savitch has criticized the terminology "context sensitive" as misleading and proposed "non erasing" as better explaining the distinction between a CSG and an unrestricted grammar. Although it is well known that certain features of languages (e. g. cross serial dependency) are not context free, it is an open question how much of CSGs' expressive power is needed to capture the context sensitivity found in natural languages. Subsequent research in this area has focused on the more computationally tractable mildly context sensitive languages. The syntaxes of some visual programming languages can be described by context sensitive graph grammars.
Ресми грамматика
Формалды грамматиканы , терминал емес символдар жиынтығы , терминал символдар жиынтығы , өндіріс ережелері жиынтығы және бастау символымен белгілейік. Егер v-ні u-ден P-дегі бір өндіріс ережесін қолдану арқылы алу мүмкін болса, яғни егер және , онда u тікелей v-ні тудырады немесе v-ге тікелей өтеді, бұл жағдайда – өндіріс ережесі, ал мен – тізбектің өзгеретін және өзгермейтін бөліктері. Жалпы алғанда, u, v-ні тудырады немесе v-ге өтеді, егер v-ні u-ден өндіріс ережелерін қайталап қолдану арқылы алуға болады, яғни, кейбір n ≥ 0 және кейбір тізбектер үшін . Басқаша айтқанда, қатынас – қатынастың рефлексивті-транзитивті жабылуы. Грамматика G-нің тілі – оның бастау символынан туындайтын барлық терминал символдар тізбектерінің жиынтығы, формальды түрде: Деривациялар тек терминал символдардан тұратын тізбектермен аяқталуы мүмкін, бірақ олар L(G)-ге үлес қоспайды.
The language of the grammar G is the set of all terminal symbol strings derivable from its start symbol, formally: Derivations that do not end in a string composed of terminal symbols only are possible, but do not contribute to L(G).
a2i
{ a2i | i ≥ 1 } тілі үшін келісімшартсыз грамматика (Hopcroft, Ullman, 1979) 9.5 мысалында (224 бетте) құрастырылған:
Куроданың қалыпты түрі
Бос тізбекті тудырмайтын кез келген контекстке сезімтал грамматиканы Куроданың қалыпты түріндегі әлсіз эквивалентті грамматикаға түрлендіруге болады. Мұндағы "әлсіз эквивалентті" екі грамматиканың да бірдей тілді тудыратынын білдіреді. Қалыпты түр жалпы жағдайда контекстке сезімтал болмайды, бірақ келісімсіз грамматика болады. Куроданың қалыпты түрі – келісімсіз грамматикалар үшін нақты қалыпты түр болып табылады.
Сызықтық шектелген автоматтың эквиваленті
Формалды тілді контекстке сезімтал грамматикамен сипаттауға болады, егер және тек егер ол сызықтық шектелген автомат (LBA) қабылдаса. Кейбір оқулықтарда бұл нәтиже Ландвебер мен Куродаға ғана жатқызылады. (Майхилл 1960 жылы детерминистік LBA ұғымын енгізді. Питер С. Ландвебер 1963 жылы детерминистік LBA қабылдаған тілдің контекстке сезімтал екенін жариялады. Курода 1964 жылы детерминистік емес LBA ұғымын және LBA мен контекстке сезімтал грамматикалар (CSG) арасындағы теңдестік туралы мәлімдеме жасады.) 2010 жылдың өзінде әрбір контекстке сезімтал тілді детерминистік LBA қабылдай ала ма деген сұрақ әлі де шешілмеген күйде қалды.
Жабылу қасиеттері
Контекстілік сезімтал тілдер толықтыру бойынша жабық. Бұл 1988 жылғы нәтиже Иммерман-Зелепсейн теоремасы деп белгілі. кері гомоморфизм және Клейне плюс. Кез келген рекурсивті түрде саналатын L тілін кейбір контекстілік сезімтал L тілі және кейбір жол гомоморфизмі h үшін h(L) түрінде жазуға болады.
Есептеу проблемалары
Берілген контекстке сезімтал грамматика G-дің тіліне белгілі бір s тізбегінің жататындығын анықтау мәселесі PSPACE-толық. Сонымен қатар, PSPACE-толық тілдері бар контекстке сезімтал грамматикалар бар. Басқаша айтқанда, G контекстке сезімтал грамматикасы бар, сондықтан белгілі бір s тізбегінің G тіліне жататындығын шешу PSPACE-толық (яғни G белгілі және проблеманың кіріс дерегі тек s болып табылады). Контекстке сезімтал грамматикалар үшін бос тіл мәселесі (берілген контекстке сезімтал грамматика G үшін, L(G) = ∅ бола ма?) шешілмейді.
Табиғи тілдердің үлгісі ретінде
Савич CSG-ді табиғи тілдің негізі ретінде сынға алған келесі теориялық нәтижені дәлелдеді: кез келген рекурсивті саналатын R жиыны үшін контекстке сезімтал тіл/грамматика G бар, оны R жиынына мүшелікті тексеру үшін прокси ретінде қолдануға болады: егер s жолы берілген болса, s R жиынында болады, егер және тек қана егер scn G тілінде болса, мұнда c – R жиынына жатпайтын кез келген символ. Есептеу лингвистикасы саласындағы ағымдағы зерттеулер «жеңіл контекстке сезімтал» тілдердің басқа сыныптарын анықтауға бағытталған, олардың шешім есептері шешілетін болып табылады, мысалы, ағашқа қосылатын грамматикалар, комбинаторлық категориялық грамматикалар, байланыстырылған контекстсіз тілдер және сызықты контексттік қайта жазу жүйелері. Бұл формализмдер құратын тілдер контекстсіз және контекстке сезімтал тілдердің аралығында жатыр. Соңғы кезде PTIME класы диапазондық конкатенация грамматикасымен сәйкестендірілді, ол қазір жеңіл контекстке сезімтал тілдер кластарының ең күштісі саналады.
Ongoing research on computational linguistics has focused on formulating other classes of languages that are "mildly context sensitive" whose decision problems are feasible, such as tree adjoining grammars, combinatory categorial grammars, coupled context free languages, and linear context free rewriting systems. The languages generated by these formalisms properly lie between the context free and context sensitive languages. More recently, the class PTIME has been identified with range concatenation grammars, which are now considered to be the most expressive of the mild context sensitive language classes.