Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Конечные автоматы – распознаватели




Распознаватели

Поиск образцов в тексте

 

РВ являются основным средством приложений для поиска образцов, шаблонов в тексте. Они задают «схему» образца поиска. С помощью РВ можно не прилагая больших усилий, описывать такие образцы и быстро менять такие описания, если результат не устраивает.

РВ компилируются в ДКА или НКА, которые затем моделируются для получения программы распознавания образов в тексте.

 

Пример 1.

 

Зададим шаблон (образец) для распознавания названий улиц поисковой системой при просмотре сайтов.

Название улицы может начинаться с «улица», «ул.», «проспект», «пр.», «переулок», «пер.».

 

улица | ул\. | проспект | пр\. | переулок | пер\.

 

Затем идет название улицы. Оно начинается с прописной буквы и затем идет несколько строчных.

 

[А-Я][а-я]*

 

Название улицы может состоять из нескольких слов с заглавной буквы (например, ул. Карла Маркса)

 

[А-Я][а-я]*([А-Я][а-я]*)*

 

Итоговое выражение

 

(улица| ул\.|проспект|пр\.|переулок|пер\.) [А-Я][а-я]*([А-Я][а-я]*)*

 

Таким образом, распознавание адресов на web-страницах с помощью компилятора РВ намного проще по сравнению с программой на традиционном языке программирования.

 

Написать РВ для поиска сотовых и 6-значных городских телефонных номеров.

 

 

Ранее мы рассмотрели задание языков через механизм порождения, с помощью грамматики. Теперь рассмотрим второй основной подход задания языков – через механизм распознавания.

 

Распознаватель, по сути, является процедурой специального вида, которая по заданной цепочке определяет, принадлежит ли она языку. Если принадлежит, то процедура останавливается с ответом «да», т. е. допускает цепочку; иначе – останавливается с ответом «нет» или зацикливается. Язык, определяемый распознавателем – это множество всех цепочек, которые он допускает.

 

Определение. Распознавателем языка называется алгоритм или физическое устройство, которое по произвольной цепочке определяет, принадлежит ли она данному языку или нет.

 

Начнем с распознавателя регулярных языков – конечного автомата.

 

 

Определение. Детерминированным конечным автоматом – распознавателем называется устройство или алгоритм А = (Q, S, d, q0, F), где Q – непустое конечное множество состояний, S – конечный входной алфавит, q0 Î Q – начальное состояние, d - функция переходов, F Î Q – множество заключительных состояний.

 

 

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

 

Определение. Автомат распознает (допускает) цепочку, если по окончании цепочки перейдет в одно из заключительных состояний. Распознаваемым языком называется множество всех цепочек, распознаваемых этим автоматом.

 

Задание распознающего КА

 

1) расширенная таблица переходов

2) диаграмма переходов

 

Расширенная таблица переходов – таблица значений функции переходов d, первая строка которой соответствует начальному состоянию, а заключительные состояния помечены единицей в дополнительном столбце.

Диаграммой переходов называется ориентированный граф, вершины которого – состояния автомата, а дуги помечены элементами алфавита.

Начальное состояние помечено двойным кружком, а конечные состояния помечены жирными кружками.

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 744; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.