~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ BE897F868685914D2DC024CEC679AF4D__1675050480 ✰
Заголовок документа оригинал.:
✰ Indexed grammar - Wikipedia ✰
Заголовок документа перевод.:
✰ Индексированная грамматика — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Indexed_grammar ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/be/4d/be897f868685914d2dc024cec679af4d.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/be/4d/be897f868685914d2dc024cec679af4d__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 02:46:46 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 30 January 2023, at 06:48 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Индексированная грамматика — Википедия Jump to content

Индексированная грамматика

Из Википедии, бесплатной энциклопедии

Индексированные грамматики — это обобщение контекстно-свободных грамматик , в котором нетерминалы снабжены списками флагов или индексных символов . Язык, созданный с помощью индексированной грамматики, называется индексированным языком .

Определение [ править ]

определение Хопкрофта и . Ульмана Современное

В современных публикациях после Хопкрофта и Ульмана (1979): [2] индексированная грамматика формально определяется как набор из 5 G = ⟨ N , T , F , P , S ⟩ где

В постановках, а также при выводе индексированных грамматик строка («стек») σ F * индексных символов прикреплен к каждому нетерминальному символу A N , обозначенному A [ σ ]. [примечание 1] За терминальными символами не могут следовать стеки индексов. Для индексного стека σ F * и строка α ∈ ( N T ) * из нетерминальных и терминальных символов α [ σ ] обозначает результат присоединения [ σ ] к каждому нетерминалу в α ; например, если равно BC d с E [ α терминальными символами a , d T и B , C , E нетерминальными N символами, то [ σ ] B [ обозначает σ ] C E σ ] d [ σ α ] . Используя эти обозначения, каждое производство в P должно иметь вид

  1. А [σ] → α[σ],
  2. A [σ] → B [ f σ], или
  3. А [ ж σ] → а[σ],

где A , B N — нетерминальные символы, f F — индекс, σ F * является строкой индексных символов, а α ∈ ( N T ) * представляет собой строку нетерминальных и терминальных символов. Некоторые авторы пишут «..» вместо « σ » для стека индексов в производственных правилах; правило типа 1, 2 и 3 тогда читается как A [..]→ α [..], A [..] → B [ f ..] и A [ f ..] → α [..] , соответственно.

Выводы аналогичны выводам в контекстно-свободной грамматике, за исключением стека индексов, прикрепленного к каждому нетерминальному символу. Когда применяется такая продукция, как, например, A [ σ ] → B [ σ ] C [ σ ], стек индексов A копируется как в B , так и в C . Более того, правило может помещать индексный символ в стек или извлекать его «самый верхний» (т. е. самый левый) индексный символ.

Формально отношение ⇒ («прямой вывод») определено на множестве ( N [ F * ]∪ T ) * «форм предложения» следующим образом:

  1. Если A [ σ ] → α [ σ ] является продукцией типа 1, то β A [ φ ] γ β α [ φ ] γ , используя приведенное выше определение. левой части правила То есть стек индексов φ копируется в каждый нетерминал правой части.
  2. Если A [ σ ] → B [ ] — продукция типа 2, то β A [ φ ] γ β B [ ] γ . То есть стек индексов правой стороны получается из стека φ левой стороны путем помещения в него f .
  3. Если A [ ] → α [ σ ] является продукцией типа 3, то β A [ ] γ β α [ φ ] γ , снова используя определение α [ σ ]. То есть первый индекс f извлекается из стека левой части, который затем распределяется по каждому нетерминалу правой части.

Как обычно, отношение вывода определяется как рефлексивное транзитивное замыкание прямого вывода ⇒. Язык L ( G ) = { w T * : S w } — множество всех строк терминальных символов, выводимых из начального символа.

Исходное определение Ахо [ править ]

Исторически концепция индексированных грамматик была впервые введена Альфредом Ахо (1968). [3] используя другой формализм. Ахо определил индексированную грамматику как кортеж из 5 ( N , T , F , P , S ), где

  1. N — конечный алфавит переменных или нетерминальных символов.
  2. T — конечный алфавит терминальных символов.
  3. Ф 2 Н × ( Н Т ) * — это конечное множество так называемых флагов (каждый флаг сам по себе является набором так называемых индексных продукций )
  4. P N × ( NF * Т ) * это конечное множество продукций
  5. S N начальный символ

Прямые выводы заключались в следующем:

  • Продукция p = ( A X 1 η 1 X k η k ) из P соответствует нетерминалу A N , за которым следует его (возможно, пустая) строка флагов ζ F * . В контексте γ δ через p приводит к γ X 1 θ 1 X k θ k δ , где θ i = η i ζ , если X i было нетерминалом, и пустым словом в противном случае. старые флаги A Поэтому копируются в каждый новый нетерминал, созданный p . Каждое такое производство можно смоделировать соответствующими производствами типа 1 и 2 в формализме Хопкрофта-Ульмана.
  • Произведение индекса p = ( A X 1 X k ) ∈ f соответствует Afζ (флаг f , из которого он исходит, должен соответствовать первому символу, следующему за нетерминалом A ), и копирует оставшуюся индексную строку ζ в каждый новый нетерминал: γ Afζ δ выводится в γ X 1 θ 1 X k θ k δ , где θ i — пустое слово, когда X i является терминалом, и ζ , когда оно нетерминалом. Каждое такое производство соответствует производству типа 3 в формализме Хопкрофта-Ульмана.

Этот формализм, например, используется Хаяси (1973, стр. 65-66). [4]

Примеры [ править ]

На практике стопки индексов могут подсчитывать и запоминать, какие правила применялись и в каком порядке. Например, индексированные грамматики могут описывать контекстно-зависимый язык троек слов { www : w ∈ { a , b } * }:

С [ σ ] С [ ] Т [ ] а Т [ σ ]
С [ σ ] S [ ] Т [ гσ ] бТ ] [ σ
С [ σ ] Т [ с ] Т [ с ] Т [ с Т [] е

Тогда производным от abbabbabb будет

S [] S [ г ] S [ гг ] S [ fgg ] T [ fgg ] T [ fgg ] T [ fgg ] a T [ gg ] T [ fgg ] T [ fgg ] ab T [ g ] T [ fgg ] T [ fgg ] abb T [] T [ fgg ] T [ fgg ] abb T [ fgg ] T [ fgg ] ... abb abb T [ fgg ] ... abb abb абб .

В качестве другого примера, грамматика G = ⟨ { S , T , A , B , C }, { a , b , c }, { f , g }, P , S ⟩ порождает язык { a н б н с н : n ≥ 1 }, где производственный набор P состоит из

S [ σ ] → Т [ ] А [ ] → а А [ σ ] А [ ] → а
Т [ σ ] → Т [ ] B [ ] → б B [ σ ] Б [ гσ ] → б
Т [ σ ] → А [ σ ] B [ σ ] C [ σ ] C [ ] → c C [ σ ] C [ ] → c

Пример вывода:

S [] T [ g ] T [ fg ] A [ fg ] B [ fg ] C [ fg ] aA [ g ] B [ fg ] C [ fg ] aA [ g ] bB [ g ] C [ fg ] aA [ g ] bB [ g ] cC [ g ] aa bB [ g ] cC [ g ] aa bb cC [ g ] aa bb cc .

Оба примера языка не являются контекстно-свободными по лемме о накачке .

Свойства [ править ]

Хопкрофт и Ульман склонны рассматривать индексированные языки как «естественный» класс, поскольку они порождены несколькими формализмами, отличными от индексированных грамматик, а именно. [5]

Хаяши [4] обобщил лемму о накачке на индексированные грамматики. И наоборот, Гилман [10] [11] дает «лемму о сокращении» для индексируемых языков.

Линейные индексированные грамматики [ править ]

Джеральд Газдар определил второй класс — линейные индексированные грамматики ( LIG ). [14] требуя, чтобы не более одного нетерминала в каждом производстве было указано как получатель стека, [заметка 2] тогда как в обычной индексированной грамматике все нетерминалы получают копии стека. Формально линейная индексированная грамматика определяется аналогично обычной индексированной грамматике, но требования к форме продукции изменяются следующим образом:

  1. А [ σ ] → α [] B [ σ ] β [],
  2. А [ σ ] → α [] B [ ] β [],
  3. А [ ] → α [] B [ σ ] β [],

где A , B , f , σ , α используются, как указано выше , и β ∈ ( N T ) * представляет собой строку нетерминальных и терминальных символов, таких как α . [заметка 3] Кроме того, отношение прямого вывода ⇒ определяется аналогично приведенному выше. Этот новый класс грамматик определяет строго меньший класс языков. [15] который принадлежит к умеренно контекстно-зависимым классам.

Язык { www : w ∈ { a , b } * } порождается индексированной грамматикой, но не линейной индексированной грамматикой, в то время как { ww : w ∈ { a , b } * } и { а н б н с н : n ≥ 1 } порождаются линейной индексированной грамматикой.

Если допускаются как исходные, так и измененные правила производства, языковой класс остается индексированным языком. [16]

Пример [ править ]

Обозначая σ произвольную последовательность символов стека, мы можем определить грамматику языка L = { a н б н с н | п ≥ 1 } [примечание 4] как

С [ σ ] а S [ ] c
С [ σ ] Т [ с ]
Т [ ] Т [ п ] б
Т [] е

Чтобы получить строку abc, нам нужно выполнить следующие действия:

S [] ⇒ aS [ f ] c aT [ f ] c aT [] bc abc

Сходным образом:

S [] ⇒ aS [ f ] c aaS [ ff ] cc aaT [ ff ] cc aaT [ f ] bcc aaT [] bbcc aabbcc

Вычислительная мощность [ править ]

Языки с линейной индексацией являются подмножеством индексированных языков, и, таким образом, все LIG могут быть перекодированы как IG, что делает LIG менее мощными, чем IG. Преобразование из LIG в IG относительно простое. [17] Правила LIG в целом выглядят примерно так , по модулю push/pop части правила перезаписи. Символы и представляют строки терминальных и/или нетерминальных символов, и любой нетерминальный символ в любом из них должен иметь пустой стек по определению LIG. Это, конечно, противоречит тому, как определяются IG: в IG нетерминалы, чьи стеки не передаются или не извлекаются, должны иметь точно такой же стек, что и переписанный нетерминал. Таким образом, каким-то образом нам нужно иметь нетерминалы в и которые, несмотря на наличие непустых стопок, ведут себя так, как если бы у них были пустые стопки.

Рассмотрим правило как примерный случай. При преобразовании этого в IG замена должно быть какое-то это ведет себя точно так же, как независимо от того, что является. Чтобы добиться этого, мы можем просто иметь пару правил, которые принимают любые где не пуст и извлекает символы из стека. Затем, когда стек пуст, его можно переписать как .

Мы можем применить это в целом, чтобы получить IG из LIG. Например, если LIG для языка как следует:

Предложенное правило здесь не является правилом IG, но, используя приведенный выше алгоритм преобразования, мы можем определить новые правила для , изменив грамматику на:

Каждое правило теперь соответствует определению IG, в котором все нетерминалы в правой части правила перезаписи получают копию стека переписанного символа. Таким образом, индексированные грамматики способны описывать все языки, которые могут описывать линейно индексированные грамматики.

другими формализмами Связь с

Виджай-Шанкер и Вейр (1994) [18] демонстрирует, что линейные индексированные грамматики, комбинаторные категориальные грамматики , древовидные грамматики и головные грамматики определяют один и тот же класс строковых языков. Их формальное определение линейных индексированных грамматик [19] отличается от вышеперечисленного . [ нужны разъяснения ]

LIG (и их слабо эквиваленты ) строго менее выразительны (то есть они генерируют правильное подмножество), чем языки, созданные другим семейством слабо эквивалентного формализма, в которое входят: LCFRS , MCTAG , MCFG и минималистские грамматики (MG). Последнее семейство также можно проанализировать за полиномиальное время . [20]

Грамматики распределенного индекса [ править ]

Другая форма индексированных грамматик, представленная Штаудахером (1993), [12] — это класс грамматик распределенного индекса (DIG). Что отличает DIG от индексированных грамматик Ахо, так это распространение индексов. В отличие от IG Ахо, которые распределяют весь стек символов по всем нетерминалам во время операции перезаписи, DIG делят стек на подстеки и распределяют подстеки по выбранным нетерминалам.

Общая схема правил для правила двоичного распределения DIG имеет вид

X[f1...fifi+1...fn] → α Y[f1...fi] β Z[fi+1...fn[

Где α, β и γ — произвольные терминальные строки. Для троичной распределяющей строки:

[ f1...fifi+1...fjfj+1...fn] → α Y[f1...fi] β Z[fi+1...​​​​​​​​​​​​​​​​​​​​​​​​​​​​f j ] γ W [ f j +1 ... f n ] η

И так далее для большего количества нетерминалов в правой части правила перезаписи. В общем, если в правой части правила перезаписи находится m нетерминалов, стек разделяется m способами и распределяется между новыми нетерминалами. Обратите внимание, что существует особый случай, когда раздел пуст, что фактически делает правило правилом LIG. Таким образом, языки с распределенным индексом являются расширенным набором языков с линейной индексацией.

См. также [ править ]

Примечания [ править ]

  1. ^ «[» и «]» — метасимволы, обозначающие стек.
  2. ^ все остальные нетерминалы получают пустой стек
  3. ^ Перейти обратно: а б Чтобы вообще сгенерировать какую-либо строку, необходимо признать, что некоторые произведения не имеют нетерминального символа в правой части. Однако Газдар не стал обсуждать этот вопрос.
  4. ^ См. правильно проиндексированная грамматика для того же языка, указанная выше . Последнее правило, т. T []→ε линейной индексированной грамматики не соответствует определению Газдара в строгом смысле, ср. [заметка 3]

Ссылки [ править ]

  1. ^ Перейти обратно: а б Хопкрофт, Джон Э .; Джеффри Д. Уллман (1979). Введение в теорию автоматов, языки и вычисления . Аддисон-Уэсли. ISBN  978-0-201-02988-8 .
  2. ^ Хопкрофт и Ульман (1979), [1] Разд.14.3, стр.389-390. Этот раздел опущен во 2-м издании 2003 г.
  3. ^ Ахо, Альфред (1968). «Индексированные грамматики — расширение контекстно-свободных грамматик» . Журнал АКМ . 15 (4): 647–671. дои : 10.1145/321479.321488 . S2CID   9539666 .
  4. ^ Перейти обратно: а б Хаяси, Такеши (1973). «О деревьях вывода индексированных грамматик: расширение uvwxy - теоремы» . Публикации НИИ математических наук . 9 : 61–92. дои : 10.2977/prims/1195192738 .
  5. ^ Хопкрофт и Ульман (1979), [1] Библиографические примечания, стр.394-395.
  6. ^ Альфред Ахо (1969). «Вложенные стековые автоматы» . Журнал АКМ . 16 (3): 383–406. дои : 10.1145/321526.321529 . S2CID   685569 .
  7. ^ Майкл Дж. Фишер (1968). «Грамматики с макроподобными произведениями». Учеб. 9-я Энн. IEEE симп. по теории коммутации и автоматов (SWAT) . стр. 131–142. дои : 10.1109/SWAT.1968.12 .
  8. ^ Шейла А. Грейбах (1970). «Полные AFL и вложенная итерационная замена» . Информация и контроль . 16 (1): 7–35. дои : 10.1016/s0019-9958(70)80039-0 .
  9. ^ ЦЭ Майбаум (1974). «Обобщенный подход к формальным языкам» . Журнал компьютерных и системных наук . 8 (3): 409–439. дои : 10.1016/s0022-0000(74)80031-0 .
  10. ^ Роберт Х. Гилман (1996). «Сжимающая лемма для индексируемых языков». Теоретическая информатика . 163 (1–2): 277–281. arXiv : математика/9509205 . дои : 10.1016/0304-3975(96)00244-7 . S2CID   14479068 .
  11. ^ Роберт Х. Гилман (сентябрь 1995 г.). «Сжимающая лемма для индексируемых языков». arXiv : математика/9509205 .
  12. ^ Перейти обратно: а б Штаудахер, Питер (1993), «Новые рубежи за пределами контекстной свободы: DI-грамматики (DIG) и DI-автоматы». (PDF) , Шестая конференция Европейского отделения Ассоциации компьютерной лингвистики (EACL '93) , стр. 358–367.
  13. ^ Дэвид Дж. Вейр; Аравинд К. Джоши (1988). «Комбинаторные категориальные грамматики: порождающая сила и связь с линейными системами контекстно-свободного переписывания» (PDF) . Учеб. 26-е заседание доц. Вычислить. Линг . стр. 278–285.
  14. ^ Согласно Штаудахеру (1993, стр.361 слева, раздел 2.2), [12] название «линейные индексированные грамматики» не использовалось в статье Газдара 1988 года, но появилось позже, например, в Weir and Joshi (1988). [13]
  15. ^ Газдар, Джеральд (1988). «Применимость индексированных грамматик к естественным языкам». В У. Рейле и К. Рорере (ред.). Анализ естественного языка и лингвистические теории . Исследования в области лингвистики и философии. Том. 35. Издательство Д. Рейделя. стр. 69–94. ISBN  978-1-55608-055-5 .
  16. ^ Газдар (1988), Приложение, стр.89.
  17. ^ Газдар 1988, Приложение, стр.89-91.
  18. ^ Виджай-Шанкер, К.; Вейр, Дэвид Дж. 1994. (1994). «Эквивалентность четырех расширений контекстно-свободных грамматик» . Теория математических систем . 27 (6): 511–546. дои : 10.1007/bf01191624 . S2CID   12336597 . {{cite journal}}: CS1 maint: числовые имена: список авторов ( ссылка )
  19. ^ стр.517-518
  20. ^ Йохан ФАК ван Бентем; Алиса тер Меулен (2010). Справочник по логике и языку (2-е изд.). Эльзевир. п. 404. ИСБН  978-0-444-53727-0 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: BE897F868685914D2DC024CEC679AF4D__1675050480
URL1:https://en.wikipedia.org/wiki/Indexed_grammar
Заголовок, (Title) документа по адресу, URL1:
Indexed grammar - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)