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

6. Основы теории алгоритмов

6.1. Интуитивное понятие об алгоритме

Крупнейшим достижением науки ХХ века является теория алгоритмов – новая математическая дисциплина.

Слово «алгоритм» происходит от имени узбекского ученого-математика Хорезми (Ал-Хорезми), который в IX веке н.э. разработал правила 4-х арифметических действий над числами в десятичной системе счисления.

В 30-е годы ХХ в. Понятие алгоритма стало объектом математического изучения, а с появлением ЭВМ получило широкую известность. Разработка алгоритмов является необходимым этапом автоматизации.

Алгоритм – это правило, сформированное на некотором языке и определяющее процесс переработки допустимых исходных данных в искомые результаты. Допустимыми исходными данными для этого правила являются предложения языка исходных данных.

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

Правила описания алгоритмов:

  • Понятность для исполнителя

  • Массовость (т.е. допустимость для него всех предложений языка исходных данных)

  • Определенность (все шаги алгоритма детерминированы и четко определены)

  • Результативность

Говорят, что алгоритм применим к допустимому исходному данному, если с его помощью, отправляясь от этого исходного данного, можно получить искомый результат. При этом алгоритмический процесс оканчивается после конечного числа шагов, и если на каждом шаге нет препятствий для его выполнения.

Поскольку требование завершения алгоритмического процесса за конечное число шагов не учитывает реальных возможностей, связанных с затратами времени и ресурсов, то говорят, что при этом алгоритм потенциально выполним.

Основные требования, предъявляемые к алгоритмам:

  • Алгоритм имеет дело с данными и выдает результат, т.е. алгоритм имеет вход и выход

  • Данные для своего размещения требуют памяти. Единицы измерения объема данных и памяти согласованы

  • Алгоритм состоит из отдельных элементарных шагов или действий (дискретность) , причем, множество этих шагов конечно.

  • Последовательность шагов алгоритма детерминирована

  • Алгоритм применяется не к одной задачи, а к классу задач (массовость).

Связь между шагами можно представить в виде ориентированного графа, называемого блок-схемой алгоритма. В этом орграфе вершины соответствуют шагам, а дуги – переходам между шагами. Вершины блок-схем могут быть двух видов: 1) вершины, из которых выходит одна дуга, так называемые операторы , 2) вершины, их которых выходят две дуги, так называемые предикаты или логические условия

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

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

Как и в повседневной жизни, роль алгоритмов в науке и технике очень велика. Алгоритм – это братство науки и техники. Каждый новый алгоритм немедленно вписан в золотой фонд науки. При этом интересны как новые алгоритмы, так и алгоритмы для решения вновь поставленных проблем. Охота за алгоритмами увлекательное и важное дело, которому отдают большую часть времени многие ученые.