1 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 92
1

Построить детерминированный автомат для регулярного выражения

17.08.2019, 07:56. Показов 4640. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Построить детерминированный автомат для регулярного выражения ((c+a)b*)* Я построил этот автомат какие состояния будут финальными и почему? Тут в регулярном выражение две звёздочки подряд как правильно это раскрывать? Может ли быть последовательность нулевой длины?
Построить детерминированный автомат для регулярного выражения
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2019, 07:56
Ответы с готовыми решениями:

Построить детерминированный конечный автомат
Здравствуйте! Пытаюсь разобраться в детерминированных автоматах, буду весьма благодарен за...

Построить детерминированный конечный автомат
Построить детерминированный конечный автомат, распознающий язык L над алфавитом {a,b}, состоящий из...

Построить детерминированный конечный автомат
Построить детерминированный конечный автомат по регулярной грамматике G=(N, Σ, P, S). ...

Построить конечный детерминированный автомат
Привет всем помогите построить точнее нарисовать нетдетермениванный и детерменированный автомат по...

5
Эксперт по математике/физике
5003 / 3615 / 1162
Регистрация: 01.09.2014
Сообщений: 9,767
17.08.2019, 23:38 2
Лучший ответ Сообщение было отмечено Ivan912 как решение

Решение

С автоматом я в целом согласен. Вместо двух стрелок из s1 можно сделать одну, помеченную всеми символами.

Цитата Сообщение от Ivan912 Посмотреть сообщение
какие состояния будут финальными и почему?
Очевидно, оба верхних.

Цитата Сообщение от Ivan912 Посмотреть сообщение
Может ли быть последовательность нулевой длины?
Язык вида r* всегда включает в себя пустое слово по определению.
1
1 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 92
18.08.2019, 07:25  [ТС] 3
почему оба верхних? я так понимаю ,что пустое слово в s0 попадает.А всё остальное ловит s1 поэтому оно финальное

Добавлено через 1 час 57 минут
((c+a)b*)* = (с+a)*b* вот так можно раскрывать?

Добавлено через 21 минуту
знак '+' обозначает обьеденение?
0
269 / 452 / 12
Регистрация: 21.06.2019
Сообщений: 2,797
18.08.2019, 07:35 4
Цитата Сообщение от Ivan912 Посмотреть сообщение
((c+a)b*)* = (с+a)*b* вот так можно раскрывать?
Нельзя, например слово b принадлежит второму языку, но не принадлежит первому.

Добавлено через 1 минуту
Цитата Сообщение от Ivan912 Посмотреть сообщение
почему оба верхних? я так понимаю ,что пустое слово в s0 попадает.А всё остальное ловит s1 поэтому оно финальное
Ну вот потому и оба, ты сам на свой вопрос ответил.
0
1 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 92
18.08.2019, 08:21  [ТС] 5
знак '+' обозначает обьеденение?

Добавлено через 5 минут
ещё такой вопрос как правильно начать строить автомат по этому ((c+a)b*)* я сначала построил для скобок,(c+a) потом посмотрел то что есть две звёздочки и предположил ,что так зацикливается
0
Эксперт по математике/физике
5003 / 3615 / 1162
Регистрация: 01.09.2014
Сообщений: 9,767
18.08.2019, 15:21 6
Цитата Сообщение от Ivan912 Посмотреть сообщение
знак '+' обозначает обьеденение?
Обычно да. Если L(r) — язык, описываемый регулярным выражением r, то https://www.cyberforum.ru/cgi-bin/latex.cgi?L(r_1+r_2)=L(r_1)\cup L(r_2).

Цитата Сообщение от Ivan912 Посмотреть сообщение
ещё такой вопрос как правильно начать строить автомат по этому ((c+a)b*)*
Можно строить либо из здравого смысла, либо по науке. Во втором случае можно преобразовать регулярное выражение в НКА и затем в ДКА. При этом автомат может получиться излишне сложным, но его можно минимизировать известным методом. Преобразование выражения в НКА описывается в разделе 3.2.3 книги Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2008.
1
18.08.2019, 15:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2019, 15:21
Помогаю со студенческими работами здесь

Построить конечный автомат для распознания регулярного множества цепочек трехсимвольного алфавита
Построить конечный автомат (КА–распознаватель) для распознания регулярного множества цепочек...

Построить Конечный детерминированный автомат, распознающий непустые цепочки символов в алфавите
Построить Конечный детерминированный автомат, распознающий непустые цепочки символов в алфавите...

Детерминированный конечный автомат из шаблонов поиска (wildcards) и регулярных выражений
С программным построение автомата для шаблона a*bc*d??e* проблем не возникает. Но с шаблоном,...

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

Детерминированный конечный автомат
Построить конечный автомат, реализующий распознавание целочисленной 10 константы языка C:...

Детерминированный конечный автомат
Всем привет,у меня такая проблема: Написал в билдере код,но не получается запустить в VS 10,никак...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru