Файл: Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 87

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

 

о о о о о о о о о о о о о о о о о о о < о о о о

Ч Э

о о о о о о о о о о о о о о о о о о о о о о о о о

Ъд

о о о о о о о о о о о о о о о о о о о о о о г—1о о о

Чц

о о о о о о о о о о о о о о о о о о о о о о - о о о о

Ч Э

о о о о о о о о о о о о о о о о о о о о - о о о о о о

Чц

с о о о о о о о о о о о о о о о о о о о о о о о о о

Ч Э

о о о о о о о о о о о о о о о о о о о

- о о о о о о -

Чц

о о о о о о о о о о о о о о о о о f—« -

о о о о о = о о

ЯЭ о о о о о о о о о о о о о о о о о »—< о о о о о о о о о

чэ о о о о о о о о о о о о о о « о о о о о о => о о о о о

Ьд

о о о о о о о о о о о о о о о о о с о о о о о о о о

ч и

о о о о о о о о о о о о о о 1—» с о о о о о о о о о о о

Ч Э

о о о о о о о о о о о о о о о о о о о - о о о о о ~ о

2Л о о о о о о о о о о о о о о о о о о о о о о о о о

ZA о о о о о о о о о о о < о о о о о о о о с о о о о о

lV о о о о о о о о о о о о о о о о о о о о о о о о о о

fD

о о о о о о о о о о о о о о о о о о о о о о -

о о ~

-

4D

о о о о о о о о " о о о о о о о о о о о о о о о о о о

еэ

о о о о о о о t—< о о о о о о о о о о о о о о о о о о о

 

 

 

 

 

 

 

 

 

 

' Л

 

lA

о о о о о о о о о о о о о о о о о о о о о о о о о о

ZD

о о о о о о о о о о о о о о о о о о о о о о о о о о о

lD

о о

-

о

о т—' о о о о о о о о о о о о о о о о

о о о о

4U

о о о

-

о о о о о о о о о о о о о о о о о о о

- о о о

4D

о о

~

о

о о

о о о о о

о

о о

-

о о о с о о о

о о о

о

 

 

 

 

ч—4

 

 

 

ч э

т—* о о о

- о о о о о о о о о о о о о о о о о о о о о

ч и

т—< о о <=>

о о о о о о о о о о о о о о о о о о о о о о о

 

о о о о о о о о о о о о о о о о о о о о о о о о о

с* со

о

 

СО

so

-*

00 со

05 о

ft.

-*

а-

« 1 ft.

а-а-

0Q

<5

 

с» со

 

 

 

со

 

II

12ft


 

 

 

Т а б л и ц а 2

Разыер

 

 

 

—«^матрицы

4X4

12X12

36X36

Метод ^^"--^^^

 

 

 

К

31

45

137

г

60

62

68

График зависимости стоимости обработки от размера матрицы приведен на рис. 24.

9

10 12

36

Размер матрицы

Рис. 24. График зависимости стоимости обработки от размера матрицы по раз­ личным методам

Данные экспериментальной проверки показывают, что для матриц размерностью свыше 12X12 по времени и по стоимости выгоднее использовать алгоритм синтеза, основанный на примене­ нии графов.

Глава V О Ц Е Н К А С Л О Ж Н О С Т И

А Л Г О Р И Т М О В

§ 5. 1. ОЦЕНКА с л о ж н о с т и с п о м о щ ь ю СИГНАЛИЗИРУЮЩИХ ФУНКЦИЙ

 

 

Одной из важных задач анализа алгоритмов, связан­

ного

с эквивалентными преобразованиями и установлением опти­

мальности,

является задача определения сложности алгоритмов.

Эта

задача

возникает в связи с тем, что при составлении алгорит­

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

В качестве меры сложности алгоритма рассматривается функ­ ционал, соотносящий каждому из алгоритмов Л = {Ль Л 2 , . . . } не-

.которое число М г-), характеризующее его громоздкость, напри­ мер число команд в Л*, длину записи или какой-либо другой пара­ метр, характеризующий объем информации, содержащейся в Л*.

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

В качестве меры сложности вычислений рассматривается функ­

ционал, соотносящий

каждой

паре

{Л,-, 3*},

где Л; — алгоритм,

Зг — индивидуальная

задача из

бесконечного

класса задач,

кото­

рые алгоритм Л* решает, некоторое

число р

(Л{, 3*). Это

число

характеризует сложность работы алгоритма Л* применительно к исходным данным задачи 3* до выдачи соответствующих резуль­ татов.

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

128


Поскольку для каждого алгоритма Л* однозначно определен класс задач 3,, который он решает, то в качестве меры сложности работы алгоритма (вычисления) можно принять некоторый опе­ ратор, сопоставляющий с каждым алгоритмом Л» соответствую­

щую функцию

(3i).

Такой подход

к оценке сложности вычислений содержится в

работе Б. А. Трахтенброта [70]. Б. А. Трахтенброт ввел специаль­ ные функции, измеряющие объем памяти, необходимый для вы­ полнения заданных вычислений, и назвал их сигнализирующими функциями.

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

сматривается ли мера

сложности алгоритма или мера сложности

его работы. Поскольку

сложность алгоритма измеряется действи­

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

Если рассматривать меру сложности вычислений, то необходи­ мо учитывать возможные пути реализации алгоритма при обра­

ботке конкретных данных задачи. В этом случае

меру сложности

вычислений

оценивают

на

базе

нижней pmin

и

верхней рШ ах

оценок, удовлетворяющих следующим условиям:

 

 

 

1) существует алгоритм

Ai реализации задачи

со сложностью

Рг, не превосходящей р ш а х;

 

реализации задачи A i t его

 

2) каков

бы ни был

алгоритм

слож­

ность р» не менее рт ш.

 

и нижней оценок

сложности

мера

При сближении верхней

сложности вычислений может быть охарактеризована более точно. В том случае, когда получение верхних и нижних оценок за­ труднено, оценка сложности может производиться с помощью со­ ответствующих сигнализирующих функций. Мера сложности опи­ сания алгоритма зависит от концепции алгоритма. Под слож­ ностью нормального алгоритма понимают длину его изображения. Под сложностью машины Тьюринга понимается произведение числа внутренних состояний на число символов внешнего алфави­ та. А. Н. Колмогоров предложил меру сложности, не зависящую от концепции алгоритма. Под сложностью объекта А. Н. Колмо­ горов понимает минимальную длину программы, позволяющей

восстановить слово X.

Наиболее часто в качестве модели алгоритма используются машины Тьюринга. Применительно к машинам Тьюринга в теории алгоритмов определены соответствующие сигнализирующие функ­ ции. Рассмотрим эти функции применительно к вычислительным

9 Заказ 4239

129



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

Определим

основные

сигнализирующие функции

применитель­

но к вычислительным

машинам.

Тм

(п) определяет

 

Сигнализирующая

времени

длительность

процесса вычислений и рассчитывается по формуле

 

 

 

Тм(п) = т а х

Тм{р),

 

 

 

 

 

\р\<п

 

 

где М — некоторая вычислительная

машина, на которой реализу­

ется

алгоритм;

 

 

 

 

р — произвольное слово, обрабатываемое машиной М;

\р \ — длина слова р\

 

 

 

 

Тм(р)—время

обработки

самого короткого слова р

в машине М.

п — произвольное натуральное число.

 

Под словом будем понимать исходную информацию, необходи­

мую для одноразового решения задачи.

 

Чтобы найти Тм

(п),

нужно,

как

видно из формулы, для каж­

дого слова, по длине не превосходящего п, определить наименьшее

время его обработки. Затем среди всех этих времен берется мак­

симальное. Оно и будет значением функции

Тм (п).

Таким образом, Тм (п)—это время, с

одной стороны, заведо­

мо достаточное для обработки слова р длиной п, а с другой сто­ роны, необходимое, так как среди слов длиною п имеется хотя бы

одно, которое нельзя обработать меньше чем за время Тм

(п).

Сигнализирующая

емкости

Ем

(п)

определяет объем

требуе­

мой памяти и рассчитывается по формуле

 

 

 

 

 

Ем{п) = т а х £ м ( р ) ,

 

 

 

 

 

 

| р | < "

 

 

 

 

где Ем

(р) — объем

памяти,

необходимый для

обработки

самого

 

короткого слова р в машине

М.

 

 

 

Сигнализирующая колебаний Км (X) определяет число изме­

нения направлений движения лент за время Тм

(р):

 

 

 

 

Км(п)

= т а х

Км

(р),

 

 

 

где Км

(р)—число

изменения направлений движения

лент при

 

обработке самого короткого слова.

 

 

 

Сигнализирующая

режима

RM

(п) определяет максимальное

число

случаев использования

дополнительной

памяти

за

время

Тм(р):

 

Ям(п)

= т а х # м

(р),

 

 

 

 

 

 

 

 

\<П

130