Алгоритмизация

Алгоритмическая система

Понятие «алгоритмическая система» дает формальный ответ на вопрос, что должно быть известно, и доступно разработчикам алгоритмов. Алгоритмическая система - набор средств и понятий, позволяющих строить некоторое множество алгоритмов для решения определенного класса задач. Алгоритмическая система определяется наличием четырех составляющих ее частей:

1) множеством входных объектов или исходных данных, подлежащих обработке алгоритмами данной системы;

2) множеством выходных объектов или результатов выполнения алгоритмов данной системы;

3) системой команд исполнителя, т.е. набором тех действий, которые может выполнять исполнитель, и которое мы можем описывать в алгоритмах, что является ориентацией алгоритмической системы на конкретного исполнителя;

4) языком описания алгоритмов - языком исполнителя; язык, на котором описан алгоритм, должен быть понятен и не должен включать в свой состав указания на невозможные для исполнителя действия, а также обращения к входным или выходным объектам, не принадлежащих к множеству входных или выходных объектов данной алгоритмической системы.

Алгоритмизация - процесс разработки и описания алгоритма решения какой-либо задачи.

Процесс разработки конкретного алгоритма, в соответствии с определением самого понятия «алгоритм», заключается в последовательном выполнении следующих пунктов:

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

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

3) полное и точное описание содержания каждого шага алгоритма на языке выбранной алгоритмической системы.

4) проверка составленного алгоритма на предмет: действительно ли он реализует выбранный метод и приводит к искомому результату.

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

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

1) множество допустимых исходных данных одного из них является множеством допустимых исходных данных и другого; из применимости одного алгоритма к каким-либо исходным данным следует применимость и другого алгоритма к этим данным;

2) применение этих алгоритмов к одним и тем же исходным данным дает одинаковые результаты.