Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchebnoePosobie.doc
Скачиваний:
69
Добавлен:
11.11.2019
Размер:
6.36 Mб
Скачать

5.4 Сложность вычислений

При реализации алгоритма с привлечением одной из трех моделей возникает задача оценки сложности алгоритма. Выделяют сложность в описании алгоритма и сложность в вычислении алгоритма.

Сложность описания алгоритма есть величина, характеризующая длину описания алгоритма. Для рекурсивных функций — это число букв и символов, используемых в описании операторов. Для машин Тьюринга — это число команд. Для нормального алгоритма Маркова — это число правил подстановки.

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

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

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

Вопросы и задачи

5.1. Доказать, что следующие функции есть примитивно рекурсивные:

a) f(х)= х+n;

б) f(x)= n;

в) f(x)= x!

5.2. Какие функции могут быть получены по схеме примитивной рекурсии:

а) g(х)= J1,1; h(х, у, f(х, у))= f+(J3,1, J3,3);

б) g(х)= J1,1; h(х, у, f(х, у))= f+(J3,1, J3,2);

в) g(х)= J1,1; h(х, у, f(х, у))= f+(J3,2, J3,3);

5.3. Применить оператор минимизации к функции f по переменной у. Найти области определения и значения функции .

a) f(a, y) = [y/2];

б) f(x, y) = (x - 2y);

в) f(x, y) = (x2 - 2y).

5.4. Построить машину Тьюринга для вычисления функций:

a) f(x)= x/2;

б) f(x)= Sg x;

в) f(x)= [x/2].

5.5. Какую функцию вычисляет машина Тьюринга со следующей программой команд:

Т : qо #  q1 # П ;

qо|  q1 # П ;

q1 #  q2 # с ;

q1 |  q1 | П .

5.6. Построить машины Тьюринга, выполняющие служебные функции:

a) T1: #|x - 1qo|#  qk|x# ;

б) T2: #|x - 1qo|#  |x# qk |x# ;

в) T3: qo|x# qk|x/2 #.

5.7. Написать протокол, таблицу и построить граф для машины Тьюринга:

T: #|x # |y - 1qo|# #|x#|y#|(x + y) - 1qk|#.

5.8. Какие слова могут быть получены при использовании в нормальном алгоритма Маркова правил подстановки: 1) авва; 2) ас  са из слов: а) Ро = ававав ; б) Ро = авсавс; в) Ро = васвас .

Глава 6. Конечные автоматы

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

Единый подход в описании технических и программных средств определил понятие "автомат", как математическую модель системы, обеспечивающей прием, хранение и обработку информации. Ограничение числа параметров математической модели определило другое понятие – “конечный автомат”.

При анализе автоматов изучают их поведение при различных возмущающих воздействиях и минимизируют число состояний автомата для работы по заданному алгоритму. Такой автомат называют абстрактным.

При синтезе автоматов формируют систему из элементарных автоматов, эквивалентную заданному абстрактному автомату. Такой автомат называют структурным.

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