Skip to content

Лабораторная работа 1. Исаков Диас#148

Open
DSIsakov wants to merge 4 commits intomainfrom
issakov
Open

Лабораторная работа 1. Исаков Диас#148
DSIsakov wants to merge 4 commits intomainfrom
issakov

Conversation

@DSIsakov
Copy link
Contributor

No description provided.

@DSIsakov DSIsakov changed the title fix q/a and add new issakov: [lab1] fix q/a and add new Dec 11, 2024
@BaldiSlayer
Copy link
Owner

мне уже нравится

Снимок экрана 2024-12-11 в 19 21 14

@BaldiSlayer
Copy link
Owner

я очень надеюсь, что при написании вопросов не был использован ChatGPT

@BaldiSlayer
Copy link
Owner

а так - я бы пораскрывал везде тему поглубже ;)
правда тогда получатся пересечения со Степаном мб

@BaldiSlayer
Copy link
Owner

image

@BaldiSlayer BaldiSlayer changed the title issakov: [lab1] fix q/a and add new Лабораторная работа 1. Исаков Dec 15, 2024
@BaldiSlayer BaldiSlayer changed the title Лабораторная работа 1. Исаков Лабораторная работа 1. Исаков Диас Dec 15, 2024
@DSIsakov
Copy link
Contributor Author

@TonitaN Добрый вечер! Прошу Вас проверить мои исправления в ЛР1

Copy link

@TonitaN TonitaN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Плохо учли предыдущие замечания.

представил информацию про эпсилон-переходы как отдельный шаг алгоритма, убрал пасту
Copy link

@TonitaN TonitaN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я всё равно думаю, что человек так не написал бы, но себе дороже проводить через ещё правки.
@BaldiSlayer , можно пока не вливать, аппрув - для фармы баллов.

Copy link

@TonitaN TonitaN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Есть ещё что улучшать, но хотя бы начнём с малого.

}
```

2. Избегание неоднозначных шаблонов: Устраняйте конструкции, которые создают неоднозначности, такие как .* в середине выражения.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

author: Диас Исаков
answer: >
Одной из ключевых задач в теории автоматов является преобразование НКА в эквивалентный ДКА.
Этот процесс называется алгоритмом subset construction: создаются состояния для ДКА, которые
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше так: "алгоритм подмножеств (subset construction)"


Шаги алгоритма subset construction:
1. Инициализация: Начальным состоянием ДКА является множество состояний НКА, достижимых из его начального состояния с использованием ε-переходов (если они есть).
2. Обработка ε-переходов: Для каждого множества состояний, которое появляется в процессе построения ДКА, вычисляется ε-замкнутость. Это множество включает все состояния, которые могут быть достигнуты с помощью ε-переходов, начиная с текущих состояний.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

замкнутость -> замыкание


Плюсы НКА:
1. Компактность: НКА часто требуют меньшее количество состояний для описания сложных шаблонов, чем ДКА.
2. Простота построения: Алгоритмы для создания НКА из регулярных выражений проще и выполняются быстрее.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

проще -> полиномиальны,
и добавить: тогда как алгоритм построения ДКА в худшем случае имеет экспоненциальную сложность

3. Простота исполнения: После построения ДКА легче интегрировать в программы, так как не требуется сложная логика обработки состояний.

Минусы ДКА:
1. Размер: ДКА могут требовать экспоненциально больше состояний, особенно для сложных регулярных выражений.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нет, не для всяких сложных, а прежде всего для тех, которые проверяют свойства суффиксов строк.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants