Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KA.doc
Скачиваний:
51
Добавлен:
17.12.2018
Размер:
552.96 Кб
Скачать

25

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Курский государственный технический университет

Кафедра вычислительной техники

Применение конечных автоматов для поиска и распознавания подстрок

Методические указания к лабораторной работе

по курсу «Теория автоматов»

для студентов специальности 220100

КУРСК 2005

Составители: Е.Ю. Емельянова, И.Е. Чернецкая

УДК 681.3

Рецензент

Кандидат технических наук, доцент кафедры ПО ВТ и АС Е.А. Титенко

Применение конечных автоматов для поиска и распознавания подстрок: Методические указания к лабораторной работе по курсу «Теория автоматов» для студентов специальности 220100/ Курск. гос. техн. ун-т; Сост.: Е.Ю. Емельянова, И.Е. Чернецкая. Курск, 2005. 24 с.

Лабораторная работа посвящена способам программной реализации детерминированных конечных автоматов. Рассматриваются приложения теории автоматов к задачам поиска и распознавания подстрок: метод конечных автоматов и метод Кнута-Морриса-Пратта. Каждый из методов подкреплен примером.

Для студентов специальности 220100.

Ил. 6. Библиогр. 4 назв.

Текст печатается в авторской редакции.

ИД № 06430 от 10.12.01.

Подписано в печать . Формат 6084 1/16. Печать офсетная.

Усл.печ.л. . Уч.-изд.л. . Тираж 30 экз. Заказ . Бесплатно.

Курский государственный технический университет.

Издательско-полиграфический центр Курского государственного технического университета. 305040 Курск, ул. 50 лет Октября, 94.

Содержание

  1. Цель работы …………………………………………………………… 4

  2. Основные понятия ……..………………………………………………4

2.1. Строки и операции над строками ………………………………. 4

2.2. Постановка задачи поиска подстрок ……………………………. 5

2.3. Постановка задачи распознавания подстрок…………………… 5

  1. Методы поиска подстрок………………………………………………6

3.1. Простейший алгоритм …………………………………………… 6

3.2. Поиск подстрок с помощью конечных автоматов……………… 6

3.3. Распознавание подстрок с помощью конечных автоматов ……10

3.4. Программная реализация конечных автоматов…………………15

3.5. Алгоритм Кнута-Морриса-Пратта ………………………………19

  1. Порядок выполнения работы…………………………………………22

  2. Содержание отчета……………………………………………………23

  3. Варианты заданий …………………………………………………….23

  4. Контрольные вопросы…………………………………………………24

Библиографический список………………………………………………24

1. Цель работы

Освоить программную реализацию конечных автоматов. Научиться наиболее эффективным методам поиска и распознавания подстрок: методу конечных автоматов и алгоритму Кнута-Морриса-Пратта.

2. Основные понятия

2.1. Строки и операции над строками

Строкой называется последовательность символов, взятых из некоторого алфавита. Длина строки А равна количеству символов в этой строке (обозначается |А|). Особым типом строки является пустая строка нулевой длины.

Cтроки А и B равны (A=B), если они имеют равную длину, один и тот же состав символов, и порядок следования символов в строках совпадает.

Префиксом строки А называется строка Р, полученная удалением нуля или более последних символов строки А (обозначается Р  А ).

Суффиксом строки А называется строка S, полученная удалением нуля или более первых символов строки А (обозначается S  A ).

Подстрока строки А получается удалением префикса и суффикса строки А. Пустая строка  является префиксом, суффиксом и подстрокой любой строки. Отсюда следует, что все префиксы и суффиксы строки А являются ее подстроками. Сама строка А также является своим собственным префиксом и суффиксом.

Над строками определены следующие операции:

  • конкатенация (сложение) строк А и В – дописывание символов строки B в конец строки A (обозначается AB). Например, A под, B мост, конкатенация AB подмост.

  • итерация (повторение) строки n раз, n  0 (обозначается An ) – это конкатенация строки самой с собой n раз. A0= – пустая строка. Например, A ма, A2 = мама.

  • обращение (инверсия) строки, обозначается AR, – запись символов строки в обратном порядке. Например, A тор, Aрот.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]