Share
Embed
Программирование – 1 курс весна 2022 – 3 занятие
ТиМПИ
March 01, 2022
Transcript
13 slides
-
01 марта 2022 [email protected] Олисеенко Валерий Дмитриевич Ассистент кафедры информатики
Теория автоматов: НКА и ДКА -
2/13 2/13 Что такое автомат? Абстрактный автомат — математическая модель
для вычислительной машины -
3/13 3/13 Зачем нужны автоматы? Компиляторы Регулярные выражения синтаксические анализаторы
Системы взаимодействия -
4/13 4/13 Формальное определение автомата Автомат Α = (𝑋, 𝑄,
𝛺, 𝑞1 , 𝑌), где • 𝑋 = 𝑥1 , … , 𝑥𝑛 , 𝑛 > 1 — входной алфавит • 𝑄 = 𝑞1 , … , 𝑞𝑙 , 𝑙 > 1 — множество состояний • 𝛺: 𝑋 × 𝑄 → 2𝑄 или 𝑄 —функция перехода (недетерминированная и детерминированная ) • 𝑞1 ∈ 𝑄 — начальное состояние • 𝑌 ⊆ 𝑄 — множество заключительных состояний -
6/13 6/13 Как ещё представить? 𝐴 = {𝑎, 𝑏} 𝑄
= {1,2,3} 𝑞1 = 1 𝑌 = {3} 𝛺(1, 𝑎) = 2 𝛺(2, 𝑎) = 3 𝛺(1, 𝑏) = 3 -
7/13 7/13 Детерминированные конечный автомат Автомат Α = (𝑋, 𝑄,
𝛺, 𝑞1 , 𝑌), где • 𝑋 = 𝑥1 , … , 𝑥𝑛 , 𝑛 > 1 — входной алфавит • 𝑄 = 𝑞1 , … , 𝑞𝑙 , 𝑙 > 1 — множество состояний • 𝜴: 𝑿 × 𝑸 → 𝑸 —функция перехода • 𝑞1 ∈ 𝑄 — начальное состояние • 𝑌 ⊆ 𝑄 — множество заключительных состояний -
8/13 8/13 Недетерминированные конечный автомат Автомат Α = (𝑋, 𝑄,
𝛺, 𝑞1 , 𝑌), где • 𝑋 = 𝑥1 , … , 𝑥𝑛 , 𝑛 > 1 — входной алфавит • 𝑄 = 𝑞1 , … , 𝑞𝑙 , 𝑙 > 1 — множество состояний • 𝜴: 𝑿 × 𝑸 → 𝟐𝑸 функция перехода • 𝑞1 ∈ 𝑄 — начальное состояние • 𝑌 ⊆ 𝑄 — множество заключительных состояний -
9/13 9/13 Пару определений… • Конечная строка 𝑥1 , …
, 𝑥𝑛 ∈ Σ — называется входным словом. • Набор всех подмножеств входных слов обозначается Σ∗ • Слово 𝑤 принимается автоматом, если qn ∊ 𝑌 • Слово 𝑤 допускается автоматом, если в конце работы автомата он окажется в допускающем состоянии qn ∊ 𝑄 • «Дьявольская вершина» — вершина недопустимого состояния автомата -
11/13 11/13 Задачи 1/2 Построить минимальный конечный автомат, для которого
является допустимым слово cabcabcc -
12/13 12/13 Задачи 2/2 Графически изобразить конечный автомат. Проверить допустимо
и принимается ли следующие слово -
01 марта 2022 [email protected] Олисеенко Валерий Дмитриевич Ассистент кафедры информатики
Теория автоматов: НКА и ДКА