Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
teorya_algoritmov (1).doc
Скачиваний:
6
Добавлен:
17.11.2018
Размер:
922.11 Кб
Скачать

Блок-схемы детерминированных алгоритмов.

Связи между шагами конструктивного процесса можно задать вершинно-взвешенным орграфом (блок-схемы), вида:

где вершинам соответствуют шаги (блоки), а дугам – переходы между шагами. Его вершины могут быть двух видов – операторы (из этих вершин выходит одно ребро) и предикаты (или логические условия; из этих вершин выходят два ребра). Кроме того, выделяют операторы начала и конца алгоритма.

В подобных схемах шаги могут быть элементарными или могут представлять собой самостоятельные алгоритмы (блоки).

На блок-схеме хорошо видна разница между описанием алгоритма и процессом его реализации.

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

Отсутствие сходимости алгоритма означает, что в процессе вычисления не появляются условий, ведущих к концу, и процесс идет по бесконечному пути (зацикливается).

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

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

Замечания:

На практике блок-схемы часть имеют предикаты (точки разветвления) не только двоичные, но и многозначные, важно лишь, чтобы верным был, ровно один из возможных ответов.

Примечание:

Блок схема вида:

где блок А1 вычисляют функцию f1(x), а исходными данными для А2 являются результаты А1, называется композицией алгоритмов А1 и А2 (то есть эта блок-схема задает алгоритм, вычисляющий f2(f1(x)), то есть композицию f1 и f2)

Алгоритмический язык

Алгоритмический язык L = <A, S1, S2> предназначен для записи алгоритмов и при этом

Некоторый подалфавит В алфавита А используется для кодирования исходной информации.

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

Языки, с помощью которых строятся алгоритмические системы (абстрактные машины, рекурсивные функции, нормальные алгорифмы), являются универсальными и ориентированы на рассмотрение фундаментальных теоретических вопросов теории алгоритмов.

В этом плане алгоритмические языки являются теоретической основой языков программирования.

Алгоритмическая система а.Тьюринга.

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

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

Машина Тьюринга, как бесконечный автомат <A, Q, > (внешний алфавит А=а0, а1… аm; алфавит внутренних состояний Q=q0, q1… qn; программа ), есть формальная система F.S=<L, D>, порождающая множество L своих конфигураций (машинных слов) 1 qj ai2 (1, 2А*, 1 и 2 могут быть пустыми). {qj aj  ql ap dt}; qj, ql, q0 A; , преобразующая входные слова в выходные , т.е. f: , в том и только том случае, если слово применимо к алгоритму Sf (рассматриваемого как машину Тьюринга с начальной конфигурацией и заключительной конфигурацией ; - соответственно начальное и заключительное состояние машины; ) – пошаговые движения головки – неподвижно, влево, вправо.

Замечание:

  1. Детерминированность МТ означает, что в её программе нет двух команд с одинаковыми левыми частями.

  2. МТ, как акцептор языков типа 0. Является одним из математических определений алгоритма.

  3. Формально поведение МТ описывается в терминах конфигураций (машинных слов), т.е. В частности, если слово допустимо, то говорят о выводе слова : .

  4. Частный случай МТ, т.е когда А = {0, 1}, |Q| = 1, называется машиной поста.

Итак, МТ – алгоритмически полная система побуквенной обработки словарной информации. Эта гипотетическая машина является формой существования и записи алгоритма. Решить задачу по Тьюрингу означает построить МТ, руководствуясь идеей задачи.

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