Регулярные выражения
[14/100%]Определить конкатенацию для следующих пар языков и :
и ;
и ;
и .
Пусть . Какой из следующих языков является итерацией этого языка?
;
;
;
.
Доказать правильность регулярного выражения в примере 77 на стр. 316: выражение утверждается представляющим язык всех слов в алфавите , не содержащих подслово «000».
Определить, какой язык представляется следующими выражениями:
;
;
;
.
Доказать эквивалентности предложения 104 на стр. 315: для любых регулярных выражений
-
(коммутативность объединения);
-
(ассоциативность объединения);
-
(ассоциативность конкатенации);
-
(идемпотентность итерации);
-
(дистрибутивность).
Доказать следующие эквивалентности для регулярных выражений:
;
;
;
.
Упростить следующие регулярные выражения:
;
;
;
.
С помощью эквивалентных преобразований регулярных выражений упростить результат , полученный в примере 81 на стр. 328: .
Пусть — это автомат, который строится в доказательстве теоремы 111 на стр. 322 по регулярному выражению (теорема 111: для каждого регулярного выражения можно эффективно построить НКА, распознающий , индукцией по построению — фиксированный автомат для каждого базисного случая , , , а по автоматам для и строится объединённый автомат для , и склейкой с новыми -переходами). Доказать следующие утверждения:
в диаграмме из каждой вершины выходит не более двух рёбер, а из принимающих — не более одного;
число состояний не более чем в три раза превосходит длину выражения , то есть ;
при использовании оптимизированных методов число состояний не более чем в два раза превосходит длину выражения , то есть .
Завершить доказательство предложения 110 на стр. 321, показать, что если , то , где — конечный автомат с начальным состоянием и единственным принимающим состоянием , а получен из добавлением нового начального и единственного принимающего состояния вместе с двумя -переходами и (так что согласно предложению 110).
Применить процедуру детерминизации из теоремы 100 на стр. 302 (теорема 100: для каждого НКА можно эффективно построить такой ДКА , что ) и построить ДКА, эквивалентный НКА из примера 80 на стр. 323.
Построить регулярное выражение, задающее язык в алфавите :
;
;
;
.
Пусть — произвольное слово длины — попарно различные натуральные числа, упорядоченные по возрастанию. Доказать, что язык можно описать регулярным выражением длины не большей (с учётом всех необходимых по определению символов).
Выше в задаче 243 на стр. 310 предлагалось построить автомат, который проверяет правильность сложения. Построить регулярное выражение, задающее распознаваемый этим автоматом язык , то есть следующее множество слов в алфавите :
S = \left\{ \left\llbracket \begin{array}{l} a_{1} \\ b_{1} \\ c_{1} \end{array} \right\rrbracket \ldots \left\llbracket \begin{array}{l} a_{n} \\ b_{n} \\ c_{n} \end{array} \right\rrbracket \; : \; c_{n} \ldots c_{1} \text{ — сумма двоичных чисел } a_{n} \ldots a_{1} \text{ и } b_{n} \ldots b_{1}\right\}