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

5. Универсальные алгоритмические модели

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

Такой же подход используется и для данных: уточнением понятия “данные” в дальнейшем будем считать множество слов в конечных алфавитах.

    1. Понятие конструктивного объекта

«Во всем современном математическом мышлении большое место занимает различение между „конструктивным" и „неконструктивным"», - писал А. Н. Колмогоров. Далее он отмечает: «Любое натуральное число может быть в принципе задано конструктивно в виде

1 + 1 + 1 + ... + 1.

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

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

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

Итак, конструктивный объект имеет дискретное строение и состоит из отдельных элементов. Также будем считать, что для конструктивного объекта заданная некоторая "внутренняя система координат", которая разрешает однозначно локализовать любой его элемент (определить место нахождения его элементов).

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

  • слова, которые составлены из букв некоторого алфавита A;

  • матрицы с целочисленными коэффициентами, записанными в любой системе счисления.

Внутреннюю систему координат, например, имеет слово, поскольку можно говорить о первой букве слева, второй и т.д.; в матрице положение любого ее элемента определяется пересечением соответствующей строки и столбика. Говоря о системе координат, естественно требовать наличие "начала координат". Ведь в каждом конструктивном объекте некоторый его элемент должен быть определенный как начальный - это тот элемент, из которого начинается "чтение" всего объекта (первая буква слова, первый элемент строки матрицы и т.д.). Именно наличие у конструктивного объекта внутренней системы координат обеспечивает возможность его введения в память компьютера.

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