Контекстно-зависимые языки: определение и свойства
Context-sensitive language
Контекстно-зависимые языки: определение, свойства и связь с машиной Тьюринга с линейно ограниченной памятью. Тип 1 иерархии Хомского. Теория формальных языков.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
В теории формальных языков контекстно-зависимый язык — это язык, который может быть определён контекстно-зависимой грамматикой (и, эквивалентно, нестягивающей грамматикой). Контекстно-зависимый язык известен как тип 1 в иерархии формальных языков Чомского.
In formal language theory, a context sensitive language is a language that can be defined by a context sensitive grammar (and equivalently by a noncontracting grammar). Context sensitive is known as type 1 in the Chomsky hierarchy of formal languages.
Вычислительные свойства
С точки зрения вычислений, контекстно-зависимый язык эквивалентен линейно ограниченной недетерминированной машине Тьюринга, также называемой линейно ограниченным автоматом. Это недетерминированная машина Тьюринга с лентой, содержащей только *n* ячеек, где *n* – размер входных данных, а *k* – константа, связанная с машиной. Это означает, что любой формальный язык, распознаваемый такой машиной, является контекстно-зависимым, и любой контекстно-зависимый язык может быть распознан такой машиной. Этот класс языков также известен как NLINSPACE или NSPACE(O(n)), поскольку они могут быть распознаны с использованием линейного пространства на недетерминированной машине Тьюринга. Класс LINSPACE (или DSPACE(O(n))) определяется аналогично, но с использованием детерминированной машины Тьюринга. Очевидно, что LINSPACE является подмножеством NLINSPACE, но неизвестно, верно ли, что LINSPACE = NLINSPACE.
Computationally, a context sensitive language is equivalent to a linear bounded nondeterministic Turing machine, also called a linear bounded automaton. That is a non deterministic Turing machine with a tape of only cells, where is the size of the input and is a constant associated with the machine. This means that every formal language that can be decided by such a machine is a context sensitive language, and every context sensitive language can be decided by such a machine. This set of languages is also known as NLINSPACE or NSPACE(O(n)), because they can be accepted using linear space on a non deterministic Turing machine. The class LINSPACE (or DSPACE(O(n))) is defined the same, except using a deterministic Turing machine. Clearly LINSPACE is a subset of NLINSPACE, but it is not known whether LINSPACE = NLINSPACE.
Свойства контекстно-чувствительных языков
Союз, пересечение и конкатенация двух контекстно-зависимых языков являются контекстно-зависимыми, а также звездой Клине контекстно-зависимого языка является контекстно-зависимым. Дополнение контекстно-зависимого языка само является контекстно-зависимым, что известно как теорема Иммермана — Селепчени. Проверка принадлежности строки языку, определенному произвольной контекстно-зависимой грамматикой или произвольной детерминированной контекстно-зависимой грамматикой, является задачей, полной по классу PSPACE.
The union, intersection, concatenation of two context sensitive languages is context sensitive, also the Kleene plus of a context sensitive language is context sensitive. The complement of a context sensitive language is itself context sensitive a result known as the Immerman–Szelepcsényi theorem. Membership of a string in a language defined by an arbitrary context sensitive grammar, or by an arbitrary deterministic context sensitive grammar, is a PSPACE complete problem.