
4 Тема
1.Конечный автомат — абстрактный автомат без выходного потока, число возможных состояний которого конечно. Результат работы автомата определяется по его конечному состоянию.
Существуют
различные способы задания конечного
автомата. Например, конечный автомат
может быть задан в виде упорядоченной
пятерки: ,
где
— входной алфавит (конечное множество входных символов), из которого формируются входные цепочки, допускаемые конечным автоматом;
— множество состояний;
— начальное состояние
;
— множество заключительных состояний
;
— функция переходов, определенная как отображение
, такое, что
, т.е. значение функции переходов на упорядоченной паре (состояние, входной символ или пустая цепочка) есть множество всех состояний, в которые из данного состояния возможен переход по данному входному символу или пустой цепочке (λ).
Конечный автомат начинает работу в состоянии q0, считывая по одному символу входной цепочки. Считанный символ переводит автомат в новое состояние в соответствии с функцией переходов. Читая входную цепочку x и делая один такт за другим, автомат, после того как он прочитает последнюю букву цепочки, окажется в каком-то состоянии q'. Если это состояние является заключительным, то говорят, что автомат допустил цепочку x.
Конечные автоматы широко используются на практике, например, в синтаксических и лексических анализаторах, тестировании программного обеспечения на основе моделей.
Универсальной машиной Тью́ринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа была дана на вход.
Опред.Программу
любой детерминированной машины Тьюринга
можно записать, используя некоторый
конечный алфавит, состоящий из символов
состояния, скобок, стрелки и т. п.;
обозначим этот машинный алфавит как .
Тогда универсальной машиной Тьюринга U для
класса машин с алфавитом
и kвходными
лентами называется машина Тьюринга
с k+1 входной
лентой и алфавитом
такая,
что если подать на первые k лент
входное значение, а на k+1 —
правильно записанный код некоторой
машины Тьюринга
,
то U выдаст
тот же ответ, какой выдала бы на этих
входных данных
,
или будет работать бесконечно долго,
если
на
этих данных не остановится.
Теорема об универсальной машине Тьюринга утверждает, что такая машина существует и моделирует другие машины с не более чем квадратичным замедлением (то есть если исходная машина произвела t шагов, то универсальная произведёт не более ct²). Доказательство у этой теоремы конструктивное (такую машину несложно построить, надо только аккуратно её описать). Теорема была предложена и доказана Тьюрингом в 1947 г.
2. -||-
3. Проблема отсановки
-Для машин с ∞ памятью не существует программы, которая для любой заданной программы А будет выходить со значением 0.
-Для машины с ∞ памятью не существует программы, которая по произв. входным данным будет определять: останавливаеться программа или нет.
Неразр.:
-остановиться иили нет произвольная программа, если входное значение 0.
-остановиться или нет программа при любых входных данных.
4.Расширенаая машина
поддерживает ряд следующий свойств:
бОльшее количество базовых операций
поддержка более широкого спектра внешних типов данных
поддержка стеков
поддержка
общий механизм управления
поддержка рекурсии
5.
Детерминированный
конечный автомат (ДКА) —
набор из пяти элементов ,
где
—
алфавит,
—
множество состояний,
—
начальное (стартовое) состояние,
—
множество допускающих состояний,
—
функция переходов.
представление:
Диаграмма переходов — граф, вершины которого соответствуют состояниям автомата, а рёбра — переходам между состояниями.
Таблица переходов
, дающая табличное представление функции
.
Конечные автоматы удобно изображать графически. На рисунке 1 приведён несложный ДКА, допускающий цепочки из 0 и 1, заканчивающиеся символом 0. Начальное состояние помечено входящей в него стрелочкой (да, этот здоровенный треугольник в душе – стрелочка), допускающее (в данном случае оно одно) – двойным кружком.
Второй вариант изображения автоматов – таблица переходов.
По горизонтали отложены символы входного алфавита, по вертикали – состояния, начальное состояние отмечено стрелочкой, а допускающие – звёздочками. Этот способ изображения менее нагляден, и приведён только в качестве примера, использовать его «для дела» я не буду.