русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Регулярные языки и грамматики


Дата добавления: 2015-08-31; просмотров: 1161; Нарушение авторских прав


Пусть задан конечный алфавит

и тем самым множество всех конечных слов в этом алфавите:

.

Формальный язык в алфавите – это произвольное подмножество .

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

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

1°. Объединение. Это теоретико-множественная операция, которая, в отличие от пересечения и дополнения, имеет естественную синтаксическую интерпретацию:

.

2°. Конкатенация – это операция, связанная с подстановкой языка в язык:

.

3°. Итерация языка определяется равенством

,

где – язык, состоящий из пустого слова, который не надо смешивать с пустым языком , не содержащим ни одного слова; , , …

Языки , , состоящие из пустого или однобуквенного слова, называются элементарными.

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

35. Конечный автомат называется автоматом Мура, если его функция выходов зависит только от состояния:

.

Общая модель конечного автомата, которая рассматривалась ранее, называется автоматом Милли.

Несмотря на то, что автомат Милли – частный случай автомата Мура, возможности этих двух автоматов совпадают.

Теорема. Для любого автомата Милли существует эквивалентный ему автомат Мура.

Рассмотрим автомат Мура с двумя выходными символами 0 и 1.Такой автомат будет для одних входных слов выдавать 1, для других – 0. Будем считать, что в первом случае автомат «распознал» слово, а во втором – нет. Тем самым определяется некоторый язык, состоящий из слов, распознаваемых автоматом.



Разобьем состояния автомата Мура на два класса: класс – выход равен 1, класс – выход равен 0. Это позволяет не рассматривать функцию выходов и определить автомат-распознаватель как систему

.

С каждым таким автоматом свяжем распознаваемый им язык

,

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

Пример. , где , , , , а задается таблицей

 

Вход Состояние

 

Слова, переводящие автомат в состояние 1 – это слова с четным количеством единиц. Поэтому язык .

Теорема анализа. Язык, распознаваемый автоматом, является регулярным.



<== предыдущая лекция | следующая лекция ==>
Понятие формального языка | Определенные интегралы.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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