Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсс.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
243.85 Кб
Скачать

Замкнутость относительно пересечения

Рассмотрим пересечение двух регулярных языков. Здесь почти нечего делать, поскольку операции объединения, дополнения и пересечения не являются независимыми. Пересечение языков L и M выражается через объединение и дополнение следующим тождеством.

Вообще, пересечение двух множеств — это множество элементов, не принадлежащих дополнениям каждого из них. Это замечание, записанное в виде равенства, представляет один из законов Де Моргана.

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

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

Автомат, имитирующий два других автомата и допускающий тогда и только тогда, когда допускают оба автомата

Теорема. Если L и M — регулярные языки, то язык L M также регулярен. На рис., представлен автомат — произведение двух данных автоматов. Его состояния помеченыкак пары состояний исходных автоматов.

Легко доказать, что этот автомат допускает пересечение первых двух языков, т.е. те цепочки, которые содержат как 0, так и 1. Состояние pr представляет начальное условие, когда на вход автомата пока не поступили ни 0, ни 1. Состояние qr означает, что поступили только нули, а состояние ps — только единицы. Допускающее состояние qs представляет условие того, что на вход автомата поступили и нули, и единицы

Замкнутость относительно разности

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

Доказательство. Заметим, что . По теореме 4.5 регулярен язык , а по теореме 4.8 . Следовательно, язык L M регулярен.

Обращение

Обращением цепочки a1a2an называется цепочка, записанная в обратном порядке,т.е. anan-1a1. Обращение w обозначается wR. Таким образом, 0010R есть 0100, а R = . Обращение языка L, обозначаемое LR, состоит из всех цепочек, обратных цепочкам языка L. Например, если L = {001, 10, 111}, то LR = {100, 01, 111}.

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

Затем приводится формальное доказательство, использующее регулярные выражения.

Если задан язык L, который есть L(A) для некоторого конечного автомата A, вероятно, с недетерминизмом и -переходами, то можно построить автомат для LR следующим образом.

  1. Обратить все дуги на диаграмме переходов автомата A.

  2. Сделать начальное состояние автомата A единственным допускающим состоянием нового автомата.

  3. Создать новое начальное состояние p0 с -переходами во все допускающие состоя-

  4. ния автомата A.

В результате получим автомат, имитирующий автомат A “в обратном порядке” и, следовательно, допускающий цепочку w тогда и только тогда, кода A допускает wR.

Пример. (0+1)0*