Лекция 1. Введение в теорию автоматов
.pdf
Автоматы. Предмет теории автоматов
Иными словами Предметом теории автоматов является изучения возможности и
способов построения цифровых устройств которые:
i.Генерируют последовательность сигналов (символов, действий) с заданными свойствами.
ii.Или преобразуют последовательность входных сигналов (символов) в последовательность выходных сигналов (символов, действий).
Автоматы. Зачем нам это все?
Появление сначала радиоламп, а потом полупроводниковых приборов дало новую элементную базу для построения цифровых автоматов.
Началось бурное развитие средств электронной вычислительной техники , что и потребовало разработки теоретической базы для решения проблем, возникавших при проектировании реальных цифровых ЭВМ, процессоров, контроллеров и т.п.
Цифровые автоматы являются основой на которой построены все компьютеры от микропроцессоров до супер ЭВМ.
Теория автоматов дает теоретическую базу для решения проблем, возникавших при проектировании реальных цифровых устройств и вычислительных систем, а также в процессе построения и исследования гипотетических систем, таких как нейронные сети. В качестве моделей последних рассматривались конечные автоматы.
Основные задачи теории автоматов. Подробнее:
Задача анализа.
По заданному автомату описать его поведение.
Вариант постановки: по неполному описанию автомата установить некоторые его свойства.
Задача синтеза.
Построить автомат с наперед заданным поведением (алгоритмом функционирования).
Задачу синтеза принято рассматривать двояко: абстрактный синтез как построение математической модели автомата и структурный синтез как разработку функциональной логической схемы автомата.
Основные задачи теории автоматов
Задача эквивалентных преобразований.
Определить полную систему правил,
позволяющую преобразовывать произвольный автомат в любой эквивалентный ему автомат. Частным случаем данной задачи является переход от одной модели автомата к другой.
Два автомата функционально эквивалентны, если их поведение одинаково при воздействии одних и тех же последовательностей входных сигналов. В таком случае говорят о совпадении моделей поведения двух автоматов.
Основные задачи теории автоматов
Задача полноты.
Требуется определить, обладает ли некая совокупность автоматов M’, являющаяся подмножеством другой совокупности М свойством полноты. Иными словами, если ко всем автоматам подмножества M’ конечное число раз применить операцию суперпозиции, совпадет ли это множество с M?
Задача минимизации.
Построить автомат, минимальный заданному. <Из минимального количества элементов>
Основные задачи теории автоматов
Задача построения.
Построение вычислительных устройств, как композиции цифровых автоматов.
При этом опираемся на решение задачи полноты и задачи минимизации.
Перед нами не стоит задача ответить на все, стоящие перед теорией автоматов, вопросы.
Плотно мы коснемся тех сторон ТА, которые необходимы и (могут быть) интересны программистам при работе с операционными системами, трансляторами, языками программирования
Абстрактный автомат. И при чем тут вообще языки?!
Графически автомат можно изобразить как черный ящик, который получает символ и выдает некоторый другой символ в зависимости от своего состояния s.
xX |
s S |
yY |
|
|
|
|
|
|
Абстрактный автомат – модель устройства преобразующего последовательно входящую информацию в выходящую.
Входная информация задается с помощью множества элементов
Х={x1,x2,…,xm} ,
которое будем называть входным алфавитом.
Другое множество элементов
Y={y1,y2,…yn}
будем называть выходным алфавитом с его помощью представляются результат работы автомата.
Ну, раз появились алфавит и слова – можно говорить о языке
Конечную упорядоченную последовательность букв алфавита будем называть словом в данном алфавите.
Автомат преобразует слово во входном алфавите в слово в выходном алфавите.
Не требуется, чтобы любое слово входного алфавита могло быть воспринято автоматом.
Пример:
Х={x1,x2 } – алфавит, состоящий из двух символов (букв)
x1 ; x1x2 ; x2x2x2x2x2x2x2 ; – слова из алфавита Х
y10 ; y2y2 ; y5 y1 y2y1 ; y10 y2y2 y5 y1 y2y1 слова из алфавита Y
х1 y1 – не является словом алфавита Х ( и алфавита Y ) х1 y1 – является словом алфавита X Y
Но подробнее о языках мы начнем говорить уже на следующей лекции
Как мы все это станем изучать
№ |
Наименование раздела (темы) |
|
|
п/п |
|
||
дисциплины |
Содержание раздела |
||
|
фааыЫЫ |
|
|
|
|
||
|
Раздел 1. |
Цели и задачи дисциплины. История развития теории языков и теории автоматов. |
||||
1 |
||||||
Введение в дисциплину. |
|
|
||||
|
|
|
|
|
||
|
|
|
|
|
||
2 |
Раздел 2. |
Языки и формальные языки. Алфавит и слова. |
||||
|
|
|
Формальные языки. |
Определения. |
|
|
3 |
Раздел 3. Грамматики. |
Грамматики, определения и классификация. Порождающие грамматики Хомского. |
||||
|
Классификация грамматик и языков. |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
4 |
Раздел 4. Автоматы. |
Абстрактные и конечные автоматы. Представления конечных автоматов. |
||||
|
Определения. Свойства конечных автоматов. |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
5 |
|
Определение и свойства регулярных языков. Связь с конечными автоматами. |
||||
Раздел 5. Регулярные языки. |
Детерминированные и недетерминированные |
|||||
|
|
|
||||
|
|
|
|
КА |
||
|
|
|
|
|
|
|
6 |
Раздел 6. Регулярные выражения. |
Регулярные выражения как важный способ описания регулярных языков. |
||||
|
Определения. Практическая ценность регулярных |
|||||
|
|
|
|
|||
|
|
|
|
выражений. |
||
|
|
|
|
|
|
|
7 |
Раздел 7. |
Определение и свойства |
||||
Контекстносвободные языки. |
контекстносвободных языков. Грамматика в нормальной форме. |
|||||
|
|
|
||||
|
|
|
|
|
|
|
8 |
Раздел 8. |
Автоматы с магазинной памятью, определения и свойства. Связь с |
||||
Автоматы с магазинной памятью. |
контекстносвободными грамматиками |
|||||
|
|
|
||||
|
|
|
|
|
|
|
9 |
Раздел 9. Синтаксический |
Определение синтаксического разбора. Алгоритмы разбора. Дерево разбора |
||||
разбор. |
грамматики. |
|||||
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Раздел 10. |
Машина Тьюринга, определение и свойства. Машина Тьюринга с бесконечной, |
||
10 |
Машины Тьюринга и грамматики без |
полубесконечной и ограниченной лентой. |
||||
ограничений. |
Контекстно-зависимые грамматики. |
|||||
|
|
|
||||
|
|
|
|
Грамматики без ограничений. |
||
|
|
|
|
|
|
|
И что в итоге?
фааыЫЫ
Программой предусмотрено:
Лекций – 20 часов; практических занятий – 16 часов; лабораторных работ – 14 часов
В результате изучения дисциплины вы узнаете:
О формальных языках и грамматиках, о их основных свойствах;
Об основных понятиях теории автоматов;
О связи автоматов с формальными языками и грамматиками.
Научитесь практически:
-Разрабатывать грамматики и строить реализующие их автоматы;
-Производить лексический и синтаксический анализ языков, строить лексеры и парсеры;
-Создавать простые компиляторы.
Сдадите экзамен – и получите заслуженную отметку ☺
Конспект – спасательный круг на экзамене
