Сильно ациклическая грамматика: различия между версиями

Перейти к навигации Перейти к поиску
нет описания правки
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
'''Сильно ациклическая грамматика''' (''[[Strongly non-circular grammar]]'') -
'''Сильно ациклическая грамматика''' (''[[Strongly non-circular grammar]]'')
[[атрибутная грамматика]], для которой существует такое семейство
[[атрибутная грамматика]], для которой существует такое семейство
частичных порядков <math>\{ R(X):X\in N\}</math>, что справедливы
частичных порядков <math>\{ R(X):X\in N\},</math> что справедливы
следующие два условия:
следующие два условия:


1) (''ацикличность'') для любой продукции <math>p\in P</math> является
1) (''ацикличность'') для любой продукции <math>p\in P</math> является ациклическим
ациклическим


<math>R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p),</math>
::<math>R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p),</math>


где <math>D(p)</math> --- ''[[граф локальной зависимости]]'';
где <math>\,D(p)</math> ''[[граф локальной зависимости]]'';


2) (''замкнутость'') для любой продукции <math>p\in P</math> --- ограничение
2) (''замкнутость'') для любой продукции <math>p\in P</math> ограничение
отношения <math>[R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p)]^+</math> на
отношения <math>[R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p)]^+</math> на
<math>A(X_0)</math> является подмножеством <math>R(X_0)</math>, т.е.
<math>\,A(X_0)</math> является подмножеством <math>\,R(X_0),</math> т.е.


<math>[R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p)]_{X_0}^+\subseteq R(X_0).</math>
::<math>[R(X_1)\cup\ldots\cup R(X_{n<p>})\cup D(p)]_{X_0}^+\subseteq R(X_0).</math>


Существует полиномиальный алгоритм для вычисления семейства
Существует полиномиальный алгоритм для вычисления семейства
минимальных <math>R(X)</math> для
минимальных <math>\,R(X)</math> для
'''С.а.г.'''
'''сильно ациклической грамматики'''.
Наиболее интересной характеристикой грамматики,
Наиболее интересной характеристикой грамматики,
принадлежащей к классу
принадлежащей к классу
'''С.а.г.''', является то, что реальные
'''сильно ациклической грамматики''', является то, что реальные
зависимости между  [[наследуемый атрибут|наследуемыми]] и [[синтезируемый атрибут|синтезируемыми атрибутами]],
зависимости между  [[наследуемый атрибут|наследуемыми]] и [[синтезируемый атрибут|синтезируемыми атрибутами]],
индуцированные <math>R(t)</math> в [[дерево|дереве]] <math>t</math> с [[корень|корнем]] <math>X</math>, покрываются
индуцированные <math>\,R(t)</math> в [[дерево|дереве]] <math>\,t</math> с [[корень|корнем]] <math>\,X</math>, покрываются
<math>R(X)</math>. Поэтому
<math>\,R(X)</math>. Поэтому
атрибутная грамматика эквивалентна множеству
атрибутная грамматика эквивалентна множеству
функций, рекурсивно определенных над структурой дерева <math>t</math>.
функций, рекурсивно определенных над структурой дерева <math>\,t</math>.


Одно из преимуществ вычислителя '''С.а.г.''' --- то, что он
Одно из преимуществ вычислителя '''сильно ациклической грамматики''' то, что он
нисходящий. Однако он может вычислять лишние наследуемые
нисходящий. Однако он может вычислять лишние наследуемые
атрибуты, и его временная сложность является
атрибуты, и его временная сложность является
экспоненциальной от размера <math>W(t)</math>, если не поддерживается
экспоненциальной от размера <math>\,W(t)</math>, если не поддерживается
информация о вычисленных переменных (та же ситуация, что и
информация о вычисленных переменных (та же ситуация, что и
для <math>S</math>-грамматик). Некоторые экспериментальные исследования
для <math>\,S</math>-грамматик). Некоторые экспериментальные исследования
'''С.а.г.''' и <math>l</math>-упорядоченных грамматик показали их
'''сильно ациклической грамматики''' и <math>\,l</math>-упорядоченных грамматик показали их
сравнимость на практике.
сравнимость на практике.


Другие названия --- ''[[Абсолютно ациклическая грамматика]], [[ANC-Грамматика|<math>ANC</math>-грамматика]], [[SNC-Грамматика|<math>SNC</math>-грамматика]]''.
Другие названия ''[[Абсолютно ациклическая грамматика]], [[ANC-Грамматика|<math>ANC</math>-грамматика]], [[SNC-Грамматика|<math>SNC</math>-грамматика]]''.


==См. также ==
==См. также ==
'' [[l-Упорядоченные грамматики|<math>l</math>-Упорядоченные грамматики]], [[Чисто синтезированные грамматики]].''
* ''[[l-Упорядоченные грамматики|<math>l</math>-Упорядоченные грамматики]],''
* ''[[Чисто синтезированные грамматики]].''
==Литература==
==Литература==
[Евстигнеев-Касьянов/98]
* Евстигнеев В.А., Касьянов В.Н. Теория графов: алгоритмы обработки бесконтурных графов. — Новосибирск: Наука. Сиб. отд-ние, 1998.

Навигация