Почему обычный язык называется «обычный»?


31

Я только что закончил первую главу « Введение в теорию вычислений » Майкла Сипсера, в которой объясняются основы конечных автоматов.

Он определяет обычный язык как что-либо, что может быть описано конечными автоматами. Но я не мог найти, где он объясняет, почему обычный язык называется «обычный»? Каково происхождение термина «регулярный» в этом контексте?

ПРИМЕЧАНИЕ: я новичок, поэтому, пожалуйста, попробуйте объяснить в простых терминах!


6
Кажется, это восходит к Клини и его изучению регулярных множеств .
Каве

Ответы:


28

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

Математики имеют привычку угонять обычные существительные и прилагательные для математических объектов и свойств, иногда по веским причинам, таким как геометрические или другие аналогии или метафоры, а иногда произвольно. Просто посмотрите на «группу», «кольцо», «пространство», «сноп», «атлас», «коллектор», «поле» и так далее.

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

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


Дополнительная информация. Оригинальную работу Клин 1951 года, озаглавленную «Представление событий в нервных сетях и конечных автоматах», можно найти здесь . На стр. 46 он устанавливает произвольность термина "регулярный" с этим утверждением:

Сейчас мы опишем класс событий, которые мы будем называть «обычными событиями». (Мы будем рады любым предложениям относительно более описательного термина.)

По-видимому, никто не придумал более описательный термин. ;-)

Как часто бывает в случае с оригинальными документами, которые приводят к интенсивному развитию целых новых областей, терминология и концепции практически неузнаваемы в современных условиях. Во-первых, статья была о моделях нейронов, следовательно, использование «событий» вместо «языков» или «множеств». Термин «события» сохранился до 60-х и 70-х годов, даже после того, как значение концепций Клини для автоматических и формальных языков значительно перевесило любую ценность для нейронауки.

Во-вторых, есть некоторые математические различия, такие как определение того, что стало называться «замыканием Клини», как двоичная операция, эквивалентная , вместо простой унарной операции или которую мы используем сегодня. Мотивация Клинина состояла в том, чтобы избежать пустой строки (или события с нулевой продолжительностью в его терминах). Это была удивительно предвиденная интуиция, поскольку последующая теория показала, насколько важно во многих контекстах включать или исключать пустую строку из определений. В-третьих, Клин определил концепцию, называемую «определенные события», и разработал из них регулярные события, но в настоящее время мы используем конечные множества для этой цели. Определенные события изучались некоторое время, но оказались гораздо менее важными, чем обычные события / наборы / языки.abaa+

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


6
«Обычный» сильно перегружен, и есть нерациональные языки с рациональными производящими функциями. Оба условия отстой.
Рафаэль

2
Спасибо за то, что выкопали оригинальную статью Клини. Я бы сказал, что когда автоматы используются в качестве моделей вычислений , в отличие от распознавателей языков, мы все равно используем термин «события» для символов ввода / вывода. Но статью Клин все еще стоит прочитать по другой причине. Информатика должна также изучать, как вычисления происходят в естественном и социальном мире, в дополнение к изучению того, как это происходит на наших собственных машинах. Мы теряем этот фокус на протяжении многих лет, потому что мы поглощены неумолимым технологическим прогрессом.
Удай Редди

1
Документ фактически не получил широкого распространения, пока не был опубликован в томе AMS 1956 года под названием «Исследования автоматов», который содержал несколько важных ранних работ по теории автоматов. Ах, чудесные дни перед сетью и мгновенной публикацией - когда дела шли намного медленнее. Вы можете получить книгу в Amazon всего за 72,50 доллара США или использовать ее за 12 долларов США + доставка.
Дэвид Льюис

4

Я всегда понимал термин «регулярный», чтобы означать, что он основан на повторяющейся модели. После того как вы перечислили все строки определенной длины, вы увидели их все. После этого не будет ничего нового.

(Конечно, это только смутная интуиция.)


1
{anbncn} можно «выучить», посмотрев несколько небольших примеров.
Рафаэль

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.