~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ E4754D34116768FCAEA18D6D0F64F6CF__1713558300 ✰
Заголовок документа оригинал.:
✰ Context-free language - Wikipedia ✰
Заголовок документа перевод.:
✰ Контекстно-свободный язык — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Context_free_language ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/e4/cf/e4754d34116768fcaea18d6d0f64f6cf.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/e4/cf/e4754d34116768fcaea18d6d0f64f6cf__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 02:39:33 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 19 April 2024, at 23:25 (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

Контекстно-свободный язык

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

В теории формального языка контекстно -свободный язык ( CFL ), также называемый языком Хомского типа 2 , представляет собой язык , порожденный контекстно-свободной грамматикой (CFG).

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

Предыстория [ править ]

Контекстно-свободная грамматика [ править ]

Различные контекстно-свободные грамматики могут создавать один и тот же контекстно-свободный язык. Внутренние свойства языка можно отличить от внешних свойств конкретной грамматики путем сравнения нескольких грамматик, описывающих язык.

Автоматический [ править ]

Набор всех контекстно-свободных языков идентичен набору языков, принимаемых pushdown-автоматами , что делает эти языки поддающимися синтаксическому анализу. Кроме того, для данной CFG существует прямой способ создания автомата с выталкиванием грамматики (и, следовательно, соответствующего языка), хотя другой путь (создание грамматики с учетом автомата) не такой прямой.

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

Примером контекстно-свободного языка является , язык всех непустых строк четной длины, все первые половины которых — это a , а все вторые половины — b . L генерируется грамматикой . Этот язык не является регулярным . Он принимается автоматом с понижением где определяется следующим образом: [примечание 1]

Однозначные КЛЛ являются подмножеством всех КЛЛ: существуют по своей сути неоднозначные КЛЛ. Примером неоднозначного по своей сути КЛЛ является объединение с . Этот набор является контекстно-свободным, поскольку объединение двух контекстно-свободных языков всегда является контекстно-свободным. Но нет способа однозначно проанализировать строки в (неконтекстно-свободном) подмножестве. который является пересечением этих двух языков. [1]

Язык Дайка [ править ]

Язык всех правильно подобранных круглых скобок генерируется грамматикой .

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

Контекстно-свободный анализ [ править ]

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

Определение экземпляра проблемы членства ; т.е. задана строка , определить где это язык, порожденный данной грамматикой ; также известно как признание . что бесконтекстное распознавание грамматик нормальной формы Хомского показал, Лесли Г. Валиант сводится к умножению булевых матриц , таким образом наследуя верхнюю границу сложности O ( n 2.3728596 ). [2] [заметка 2] И наоборот, Лилиан Ли показала O ( n 3-е ) умножение булевой матрицы так, чтобы его можно было свести к O ( n 3−3е ) Разбор CFG, устанавливая тем самым некую нижнюю границу для последнего. [3]

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

Формально набор всех контекстно-свободных языков идентичен набору языков, принимаемых pushdown-автоматами (PDA). Алгоритмы синтаксического анализа для контекстно-свободных языков включают алгоритм CYK и алгоритм Эрли .

Особым подклассом контекстно-свободных языков являются детерминированные контекстно-свободные языки , которые определяются как набор языков, принимаемых детерминированным автоматом с выталкиванием вниз , и могут быть проанализированы синтаксическим анализатором LR(k) . [4]

См. также анализ грамматики выражений как альтернативный подход к грамматике и синтаксическому анализатору.

Свойства замыкания [ править ]

Класс контекстно-свободных языков замыкается при следующих операциях. То есть, если L и P являются контекстно-свободными языками, следующие языки также являются контекстно-свободными:

  • Союз L и P [5]
  • переворот L [6]
  • конкатенация L и P [5]
  • Клини звезда Л [5]
  • Изображение L при гомоморфизме [7]
  • Изображение L при обратном гомоморфизме [8]
  • круговой сдвиг L ( язык ) [9]
  • префиксное закрытие L (набор всех префиксов строк из L ) [10]
  • фактор языка L / R L R языку по регулярному [11]

и различии , дополнении Незамыкание при пересечении

Контекстно-свободные языки не замкнуты при пересечении. В этом можно убедиться, взяв языки и , которые оба являются контекстно-свободными. [заметка 3] Их пересечение находится , который можно показать как неконтекстно-свободный с помощью леммы о накачке для контекстно-свободных языков . Как следствие, контекстно-свободные языки не могут быть замкнуты относительно дополнения, как и для любых языков A и B , их пересечение может быть выражено объединением и дополнением: . В частности, контекстно-свободный язык не может быть замкнут по отношению к различию, поскольку дополнение может быть выражено различием: . [12]

Однако если L — контекстно-свободный язык, а D — регулярный язык, то оба их пересечения и их разница являются контекстно-свободными языками. [13]

Разрешимость [ править ]

В формальной теории языка вопросы о регулярных языках обычно разрешимы, а вопросы о контекстно-свободных языках — нет. Вопрос о том, конечен ли такой язык, но не о том, содержит ли он все возможные строки, является ли он регулярным, однозначным или эквивалентным языку с другой грамматикой, можно решить.

Следующие проблемы неразрешимы для произвольно заданных контекстно-свободных грамматик A и B:

  • Эквивалентность: есть ? [14]
  • Дизъюнктность: есть  ? [15] Однако пересечение контекстно-свободного языка и обычного языка является контекстно-свободным, [16] [17] вариант задачи, где B — регулярная грамматика (см. ниже «Пустота»). следовательно , разрешим
  • Сдерживание: есть  ? [18] вариант задачи, где B — регулярная грамматика: Опять же, разрешим [ нужна цитата ] тогда как тот, где A является регулярным, обычно не является регулярным. [19]
  • Универсальность: есть ? [20]
  • Регулярность: есть обычный язык? [21]
  • Двусмысленность: каждая ли грамматика двусмысленный? [22]

следующие проблемы разрешимы Для произвольных контекстно-свободных языков :

  • Пустота: Учитывая контекстно-свободную грамматику A ,  ? [23]
  • Конечность: Учитывая контекстно-свободную грамматику A , конечный? [24]
  • Членство: Учитывая контекстно-свободную грамматику G и слово , делает ? Эффективными алгоритмами с полиномиальным временем для решения проблемы принадлежности являются алгоритм CYK и алгоритм Эрли .

По данным Хопкрофта, Мотвани, Ульмана (2003), [25] Многие фундаментальные свойства замыкания и (не)разрешимости контекстно-свободных языков были показаны в статье Бар-Хиллеля , Перлза и Шамира 1961 года. [26]

Языки, которые не являются контекстно-свободными [ править ]

Набор является контекстно-зависимым языком , но не существует контекстно-свободной грамматики, порождающей этот язык. [27] Итак, существуют контекстно-зависимые языки, которые не являются контекстно-свободными. Чтобы доказать, что данный язык не является контекстно-свободным, можно использовать лемму о накачке для контекстно-свободных языков. [26] или ряд других методов, таких как лемма Огдена или теорема Париха . [28]

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

  1. ^ значение аргументы и результаты:
  2. ^ В статье Валианта O ( n 2.81 ) была самой известной на тот момент верхней границей. См. «Умножение матриц № Вычислительная сложность» , чтобы узнать об улучшениях, произошедших с тех пор.
  3. ^ Контекстно-свободная грамматика для языка A задается следующими правилами производства, принимая S в качестве начального символа: S Sc | аТБ | е ; Т аТб | ε . Грамматика для B аналогична.

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

  1. ^ Хопкрофт и Ульман 1979 , с. 100, Теорема 4.7.
  2. ^ Валиант, Лесли Г. (апрель 1975 г.). «Общее контекстно-свободное распознавание менее чем за кубическое время» (PDF) . Журнал компьютерных и системных наук . 10 (2): 308–315. дои : 10.1016/s0022-0000(75)80046-8 .
  3. ^ Ли, Лилиан (январь 2002 г.). «Быстрый контекстно-свободный анализ грамматики требует быстрого умножения логических матриц» (PDF) . Дж АСМ . 49 (1): 1–15. arXiv : cs/0112018 . дои : 10.1145/505241.505242 . S2CID   1243491 . Архивировано (PDF) из оригинала 27 апреля 2003 г.
  4. ^ Кнут, DE (июль 1965 г.). «О переводе языков слева направо». Информация и контроль . 8 (6): 607–639. дои : 10.1016/S0019-9958(65)90426-2 .
  5. ^ Перейти обратно: а б с Хопкрофт и Ульман 1979 , с. 131, следствие теоремы 6.1.
  6. ^ Хопкрофт и Ульман 1979 , с. 142, Упражнение 6.4d.
  7. ^ Хопкрофт и Ульман 1979 , с. 131-132, Следствие теоремы 6.2.
  8. ^ Хопкрофт и Ульман 1979 , с. 132, Теорема 6.3.
  9. ^ Хопкрофт и Ульман 1979 , с. 142-144, Упражнение 6.4c.
  10. ^ Хопкрофт и Ульман 1979 , с. 142, Упражнение 6.4б.
  11. ^ Хопкрофт и Ульман 1979 , с. 142, Упражнение 6.4а.
  12. ^ Стивен Шейнберг (1960). «Примечание о логических свойствах контекстно-свободных языков» (PDF) . Информация и контроль . 3 (4): 372–375. дои : 10.1016/s0019-9958(60)90965-7 . Архивировано (PDF) из оригинала 26 ноября 2018 г.
  13. ^ Бейгель, Ричард; Гасарч, Уильям. «Доказательство того, что если L = L1 ∩ L2, где L1 — CFL, а L2 — обычный, то L — контекстно-свободный, который не использует КПК» (PDF) . Факультет компьютерных наук Университета Мэриленда . Архивировано (PDF) из оригинала 12 декабря 2014 г. Проверено 6 июня 2020 г.
  14. ^ Хопкрофт и Ульман 1979 , с. 203, теорема 8.12(1).
  15. ^ Хопкрофт и Ульман 1979 , с. 202, Теорема 8.10.
  16. ^ Соломон (1973) , с. 59, теорема 6.7.
  17. ^ Хопкрофт и Ульман 1979 , с. 135, Теорема 6.5.
  18. ^ Хопкрофт и Ульман 1979 , с. 203, теорема 8.12(2).
  19. ^ Хопкрофт и Ульман 1979 , с. 203, теорема 8.12(4).
  20. ^ Хопкрофт и Ульман 1979 , с. 203, Теорема 8.11.
  21. ^ Хопкрофт и Ульман 1979 , с. 205, Теорема 8.15.
  22. ^ Хопкрофт и Ульман 1979 , с. 206, Теорема 8.16.
  23. ^ Хопкрофт и Ульман 1979 , с. 137, теорема 6.6(а).
  24. ^ Хопкрофт и Ульман 1979 , с. 137, теорема 6.6(б).
  25. ^ Джон Э. Хопкрофт; Раджив Мотвани; Джеффри Д. Уллман (2003). Введение в теорию автоматов, языки и вычисления . Эддисон Уэсли. Здесь: Раздел 7.6, стр. 304 и Раздел 9.7, стр. 411.
  26. ^ Перейти обратно: а б Иеошуа Бар Гилель; Мика Ашер Перлз; Эли Шамир (1961). «О формальных свойствах простых грамматик фразовой структуры». Журнал фонетических, лингвистических и коммуникативных исследований . 14 (2): 143–172.
  27. ^ Хопкрофт и Ульман 1979 .
  28. ^ «Как доказать, что язык не контекстно-свободный?» .

Цитируемые работы [ править ]

Дальнейшее чтение [ править ]

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