Теория формальных языков и грамматик

Является базой математической лингвистики (см. структуру FLT). Изначально целью математического исследования структуры языка было стремление понять основные свойства естественного языка.  Основными для математической лингвистики из представленных в вышеуказанной таблице моделей являются аналитические и порождающие.

Можно сказать, что для порождающих моделей исходным пунктом является некоторая формальная грамматика, а объектом исследования является язык, порождаемый этой грамматикой. В аналитических моделях наоборот – исходным материалом является язык как совокупность предложений, а цель исследований в том, чтобы выявить структуру этих предложений, их составляющих элементов и отношения. Аналитические модели более приемлемы для изучения естественного языка, они не навязывают языку жестких правил, а изучает те законы языка, которые уже сложились, но аналитические модели отображают не весь язык, а лишь некоторые его подмножества, удовлетворяющие данной модели, так, например, существуют фонологическая и морфологическая аналитические модели.

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

Революционное значение для порождающих моделей и синтаксических исследований искусственного языка имела публикация в 1957 году первого наброска теории грамматик Н. Хомского. С его именем связан целый поворот во взглядах на изучение языка, и он представляет переход от описательных задач к определенным синтаксическим описаниям, опирающийся на математический формальный аппарат подобно тому, как физические теории объясняю явления природы.

В основе порождающей грамматики лежит идея о том, что важнейшие черты грамматики, в первую очередь синтаксис искусственного языка, порождаются формально и врожденно на базе некоторого генетически наследуемого знания. Наблюдаемые различия между языками по его представлениям строго ограничены рамками врожденного знания языка одинаково у всех людей и образуют по его терминологии универсальную грамматику. Он предложил синтаксическую теорию порождающей грамматики, основанную на представлении об автономно действующем грамматическом компоненте языка, который функционирует независимо от цели и условий понимания и производства речи. Все это было развито в его работе «Синтаксические структуры» в 1957 году.

В конце 60х годов было обнаружено, что бесконтекстные языки на базе порождающих грамматик можно представить в виде специальных метаязыков, популярных в программировании, а именно в виде БНФ-нотаций (Бэкус-Науровы формы). Это позволило изучить языки программирования и описать их синтаксис как с практической, так и с теоретической точки зрения. Были введены различные виды грамматик, изучены их свойства и предложен класс специальных распознающих автоматов на базе теории автоматов, которые активно используются в информатике.

Основные задачи:

Использование математических средств в описании искусственных языков и их организации связано с двумя разными практическими задачами:
• 1-я задача заключается в составлении некоторого количества формальных правил, используя которые можно построить любую правильную фразу или конструкцию данного языка, а точнее построить любую цепочку символов, входящих в изучаемый язык, представленного как множество таких цепочек.
• 2-я задача в некотором смысле обратная первой, заключается  в том, что следующая разработка правила позволяет установить, является ли произвольная цепочка правильной конструкцией или фразой этого языка. В случае утвердительного ответа, требуется указать имена этих отдельных конструкций или определенную синтаксическую структуру этой фразы. В случае отрицательного ответа необходимо определить или указать информацию, указывающую на ошибки при описании этой конструкции, как, например, это делается при отладке языков программирования.

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

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