Тема: Сложность преобразования LL(k) линейных грамматик и конъюнктивных LL(k) линейных к LL(1) линейным
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
2 Основные определения
4 Устранение «коротких» правил 8
5 Приведение к виду LL(1) 14
6 Нижняя оценка 24
7 Конъюнктивныелинейные LL(k)грамматики 31|
8 Конъюнктивные грамматики: устранение «коротких»
правил35
9 Конъюнктивные грамматики: приведение к виду LL(TJ]40
10 Заключение! 49
📖 Введение
Важный подкласс линейных LL(k) грамматик впервые изучался Ибаррой и др. [1988] и Холвцером и Ланге [199.3], получивших ряд результатов о вычислительной сложности языков, задаваемых такими грамматиками. Однако очевидный вопрос о существовании иерархии классов ЬЬ(к)-линейных грамматик остался нерассмотренным.
В данной работе даётся отрицательный ответ на этот вопрос: оказывается, что в линейном случае иерархия по к обрушивается, то есть все языки, задаваемые грамматиками из класса ЬЬ(к)-линейных для некоторого к, задаются и грамматиками из класса ЬЬ(1)-линейных. Доказательство проводится эффективным преобразованием, состоящем из двух этапов и описанном в разделах гена первом этапе произвольная LL(k)- линейная грамматика преобразуется к некоторому нормальному виду, а на втором этапе — далее к ЬЬ(1)-линейной.
Полученное построение приводит к сильному росту числа нетерминальных символов грамматики: их становится больше примерно в |S|2k раз, где S — алфавит языка. Поэтому естественным образом возникает вопрос об эффективности приведённого построения и о нижней оценке количества нетерминальных символов ЬЬ(1)-линейной грамматики, задающей тот же язык, что и данная ЬЬ(к)-линейная. Нельзя ли разработать другое, улучшенное построение, которое не будет приводить к столь значительному росту?
Оказывается, что нет. В разделе |Б]устанавливается, что такой рост количества нетерминальных символов неизбежен, и приводимое построение на самом деле близко к оптимальному: строятся примеры LL(k)- линейных грамматик с nнетерминальными символами, для которых доказывается, что всякая ЬЬ(1)-.линейная грамматика, задающая тот же язык, должна иметь не менее чем n | S|2fc-O(logk)нетерминальных символов.
Третий результат этой работы посвящён более мощному классу формальных грамматик — конъюнктивным грамматикам. Конъюнктивные грамматики, введённые Охотиным [2001], обобщают обыкновенные грамматики введением операции конъюнкции в правила. Для них также определены ЬЬ(к)-подкласс и линейный подкласс, и, таким образом, можно рассматривать LL (к)-линейные конъюнктивные грамматики; их определение приведено в разделе [7[Ранее Охотин [2011] определил простейшие ограничения выразительной мощности этого подкласса, но в целом класс остаётся малоизученным. В частности, вопрос о существовании иерархии по к не рассматривался.
В разделах этой работы установлено, что ЬЬ(к)-линейные конъюктивные грамматики можно перевести в LL(1)-линейные конъюнктивные. Результат доказывается обобщением построения для случая обыкновенных грамматик.
Результаты разделов заданной работы представлены в двух статьях, опубликованных в сборниках докладов конференций RuFiDiM 2019 и CSR 2020.



