Jump to content

Иерархия Хомского

(Перенаправлено из грамматики Хомского )
Иерархия Хомского
Включения множества, описываемые иерархией Хомского

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

Общая идея иерархии грамматик была впервые описана Ноамом Хомским в «Трех моделях описания языка». [1] Марсель-Поль Шютценбергер также сыграл роль в развитии теории формальных языков ; статья "Алгебраическая теория контекстно-свободных языков" [2] описывает современную иерархию, включая контекстно-свободные грамматики. [3]

Независимо, наряду с лингвистами, математики разрабатывали модели вычислений (с помощью автоматов ). Анализ предложения на языке аналогичен вычислениям, и грамматики, описанные Хомским, одновременно напоминают и эквивалентны по вычислительной мощности различным моделям машин. [4]

Иерархия

[ редактировать ]

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

Грамматика Языки Распознавание автомата Продукционные правила (ограничения) [а] Примеры [5] [6]
Тип-3 Обычный Конечный автомат
(правый обычный)
или

(слева обычная)
Тип-2 Контекстно-свободный Недетерминированный автомат с выталкиванием
Тип-1 Контекстно-зависимый Линейно-ограниченная недетерминированная машина Тьюринга
Тип-0 Рекурсивно перечислимый Машина Тьюринга ( непустой) описывает завершающую машину Тьюринга
  1. ^ Значение символов:
    • = терминал
    • , = нетерминал
    • , , = строка терминалов и/или нетерминалов

Обратите внимание, что набор грамматик, соответствующий рекурсивным языкам , не является членом этой иерархии; это будет правильно между Типом 0 и Типом 1.

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

Обычные (Тип-3) грамматики

[ редактировать ]

Грамматики типа 3 порождают обычные языки . Такая грамматика ограничивает свои правила одним нетерминалом в левой части и правой частью, состоящей из одного терминала, за которым, возможно, следует один нетерминал, и в этом случае грамматика является регулярной справа . Альтернативно, правые части всех правил могут состоять из одного терминала, которому, возможно, предшествует один нетерминал ( левый обычный ). Они генерируют одни и те же языки. Однако если объединить лево-регулярные правила и право-регулярные правила, язык больше не обязательно будет регулярным. Правило здесь также разрешено, если не появляется в правой части какого-либо правила. Этими языками являются в точности все языки, которые могут быть определены конечным автоматом . Кроме того, это семейство формальных языков можно получить с помощью регулярных выражений . Обычные языки обычно используются для определения шаблонов поиска и лексической структуры языков программирования.

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

С аС
С а

Контекстно-свободные (Тип 2) грамматики

[ редактировать ]

Грамматики типа 2 порождают контекстно-свободные языки . Они определяются правилами вида с будучи нетерминалом и представляет собой строку терминалов и/или нетерминалов. Этими языками являются в точности все языки, которые могут быть распознаны недетерминированным автоматом с выталкиванием вниз . Контекстно-свободные языки — или, скорее, их подмножество детерминированных контекстно-свободных языков — являются теоретической основой фразовой структуры большинства языков программирования , хотя их синтаксис также включает контекстно-зависимое разрешение имен из-за объявлений и области видимости . Часто для облегчения синтаксического анализа используется подмножество грамматик, например, с помощью анализатора LL .

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

S аСб
С аб

Язык контекстно-свободный, но не регулярный (по лемме о накачке для обычных языков ).

Контекстно-зависимые (Тип 1) грамматики

[ редактировать ]

Грамматики типа 1 создают контекстно-зависимые языки . Эти грамматики имеют правила вида с нетерминал и , и строки терминалов и/или нетерминалов. Струны и может быть пусто, но должно быть непусто. Правило разрешено, если не появляется в правой части какого-либо правила. Языки, описываемые этими грамматиками, — это в точности все языки, которые могут быть распознаны линейным ограниченным автоматом (недетерминированной машиной Тьюринга, лента которой ограничена константой, умноженной на длину входных данных).

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

С аВС
S асБК
КБ Чехия
Чехия Венгрия
ВЗ ЧМ
Туалет БЛ
АБ АБ
бБ бб
до н. э. до н. э.
СС СС

Язык контекстно-зависим, но не контекстно-свободен (по лемме о накачке для контекстно-свободных языков ).Доказательство того, что эта грамматика порождает обрисовано в статье Контекстно-зависимые грамматики .

Рекурсивно перечислимые (Тип-0) грамматики

[ редактировать ]

Грамматики типа 0 включают все формальные грамматики. Никаких ограничений по правилам производства нет. Они генерируют ровно все языки, которые может распознать машина Тьюринга , поэтому любой язык, который возможно создать, может быть сгенерирован с помощью грамматики типа 0. [8] Эти языки также известны как рекурсивно перечислимые или распознаваемые по Тьюрингу языки. [8] Обратите внимание, что это отличается от рекурсивных языков , которые могут быть определены с помощью постоянно останавливающейся машины Тьюринга .

См. также

[ редактировать ]
  1. ^ Хомский 1956 .
  2. ^ Хомский и Шютценбергер 1963 .
  3. ^ Аллотт, Николас; Лондал, Терье; Рей, Жорж (27 апреля 2021 г.). «Синоптическое введение». Спутник Хомского . стр. 1–17. дои : 10.1002/9781119598732.ch1 . ISBN  9781119598701 . S2CID   241301126 .
  4. ^ Козен, Декстер К. (2007). Автоматы и вычислимость . Тексты для бакалавриата по информатике. Спрингер. стр. 3–4. ISBN  978-0-387-94907-9 .
  5. ^ Геверс, Х.; Рот, Дж. (2016). «Приложения, иерархия Хомского и резюме» (PDF) . Обычные языки . Архивировано (PDF) из оригинала 19 ноября 2018 г.
  6. ^ Судкамп, Томас А. (1997) [1988]. Языки и машины: введение в теорию информатики . Ридинг, Массачусетс, США: Эддисон Уэсли Лонгман. п. 310. ИСБН  978-0-201-82136-9 .
  7. ^ Хомский, Ноам (1963). «Глава 12: Формальные свойства грамматик». В Люсе, Р. Дункан; Буш, Роберт Р.; Галантер, Юджин (ред.). Справочник по математической психологии . Том. II. John Wiley and Sons, Inc., стр. 323–418.
  8. ^ Jump up to: а б Сипсер, Майкл (1997). Введение в теорию вычислений (1-е изд.). Cengage Обучение. п. 130 . ISBN  0-534-94728-Х . Тезис Чёрча-Тьюринга
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0dcc5f16b361474da058be5c76f176bd__1720642020
URL1:https://arc.ask3.ru/arc/aa/0d/bd/0dcc5f16b361474da058be5c76f176bd.html
Заголовок, (Title) документа по адресу, URL1:
Chomsky hierarchy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)