Иерархия Хомского формальных грамматик — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Резюме)
Строка 31: Строка 31:
  
 
== Резюме ==
 
== Резюме ==
Следующая таблица обощает классы иерархии Хомского, языки, которые ими задаются, и автоматы, которые распознают эти языки.
+
Для языков, которые задаются грамматиками из иерархии Хомского, есть машины, которые их распознают. Следующая таблица обощает классы иерархии Хомского, языки, которые ими задаются, и машины, которые распознают эти языки.
 +
{| class="wikitable"
 +
|-
 +
! Грамматика
 +
! Языки
 +
! Машина
 +
|-
 +
| Класс 0
 +
| [[ Перечислимые языки | рекурсивно перечислимые ]]
 +
| [http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0 машина Тьюринга]
 +
|-
 +
| Класс 1
 +
| контектно-зависимые
 +
| [http://en.wikipedia.org/wiki/Linear_bounded_automaton | ЛПА]
 +
|-
 +
| Класс 2
 +
| контекстно-свободные
 +
| [[Автоматы с магазинной памятью|автоматы с магазинной памятью]]
 +
|-
 +
| Класс 3
 +
| [[Регулярные языки: два определения и их эквивалентность|регулярные]]
 +
| [[Детерминированные конечные автоматы|конечные автоматы]]
 +
|}

Версия 08:36, 3 ноября 2011

Определение:
Иерархия Хомского — классификация формальных грамматик и задаваемых ими языков, согласно которой они делятся на 4 класса по их условной сложности.

Класс 0

К нулевому классу относятся все формальные грамматики. Элементы этого класса называются неограниченные грамматики, поскольку не накладывается никаких ограничений. Практического применения в силу своей сложности такие грамматики не имеют.

Класс 1

Первый класс представлен неукорачивающими и контекстно-зависимыми грамматиками.

Определение:
Неукорачивающие грамматики - это те формальные грамматики, всякое правило из [math]P[/math] которых имеет вид [math]\alpha\rightarrow\beta[/math], где [math]\alpha , \beta \in \{\Sigma\cup N\}^{+}[/math] и [math]|\alpha|\leq|\beta|[/math](возможно правило [math]$S$ \to \varepsilon[/math], но тогда [math]$S$[/math] не встречается в правых частях правил.


Определение:
Контекстно-зависимые грамматики - это те формальные грамматики, всякое правило из [math]P[/math] которых имеет вид [math]\alpha A \beta\rightarrow\alpha\gamma\beta[/math], где [math]\alpha , \beta \in \{\Sigma\cup N\}^{*}[/math], [math]A \in N[/math] и [math]\gamma \in \{\Sigma\cup N\}^{+}[/math](возможно правило [math]$S$ \to \varepsilon[/math], но тогда [math]$S$[/math] не встречается в правых частях правил).


Как будет показано далее неукорачивающие грамматики эквивалентны контекстно зависимым.

Класс 2

Второй класс составляют контекстно-свободные грамматики.

Определение:
Контекстно-свободные грамматики - это те формальные грамматики, всякое правило из [math]P[/math] которых имеет вид [math]A \rightarrow\beta[/math], где [math]A\in N [/math], [math]\beta \in \{\Sigma \cup N\}^{+}[/math].


Класс 3

Элементами третьего класса являются праволинейные(автоматные) грамматики.

Определение:
Праволинейные(автоматные) грамматики - это те формальные грамматики, всякое правило из [math]P[/math] которых имеет вид [math]A \rightarrow tB[/math] либо [math]A \rightarrow t[/math], где [math]A\in N[/math],[math]B\in N[/math], [math]t\in \Sigma [/math].


Резюме

Для языков, которые задаются грамматиками из иерархии Хомского, есть машины, которые их распознают. Следующая таблица обощает классы иерархии Хомского, языки, которые ими задаются, и машины, которые распознают эти языки.

Грамматика Языки Машина
Класс 0 рекурсивно перечислимые машина Тьюринга
Класс 1 контектно-зависимые ЛПА]
Класс 2 контекстно-свободные автоматы с магазинной памятью
Класс 3 регулярные конечные автоматы