Файл: Основы теории алгоритмов учеб. пособие.pdf

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

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

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

Добавлен: 24.10.2024

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

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

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

 

 

 

- 134

-

 

 

 

Приведен (5.18)

к системе (5 .1 6 ), тогда

 

So,

Si, S t ,

S i > 2 ~ g 1

 

 

 

 

5/,

- 2

' “

>

 

 

 

 

S s

= 2 " и

J

 

Отсюда следует, что для достижения заданной точности

достаточно провести

три итерации с одинарной точностью, одну -

с удвоенной и одну -

о учетверенной.

 

 

 

Если выбрать в качестве начального приближения линейное

 

ч . -

н

32 зС-

 

 

п

1 7

 

 

 

то можно записать систему

 

 

 

 

 

 

&> = 0 ,059

 

>

2 ~ g

 

 

6< =0, О0348

> 2 ЧС

I

 

$ 1 = 0,12 -10 -*'>

2-~2*

[

 

S i = 0.15-10'*

>

2-~*г

 

Преобразуем данную оиотему к виду

 

 

 

 

S c , S t = 2'*

 

 

 

*

Sc. = 2 Н«

 

 

 

 

 

6 ,

-

2 ' зг

 

 

 

 

Данная систола содержит одну итерацию с одинарной точностью ,

одну - о удвоенной я одну -

о учетверенной.

 

Оценим время реализация метода итераций.

Бели все р -

итерации вычислять с

к

-значной точностью,

то

Т

- ptum ,

(5.19)

4*

 

 

к -значной

где Ъитц - время выполнения одной итерации с

точностью.

 

 

Для систеш

(5.15)

 


135 -

 

 

Т

-

£ т Л

 

 

(5.20)

где

W - число итераций в

t -й строчке оиотемн

(5 .15).

 

Для быотрооходящихоя итераций ( х >

-\[~

) из

(S .I6)

 

 

 

 

 

 

к

 

 

 

 

 

Т

ш Д м т ч

+

2 - tu r n

,

 

(5.21)

Определим показатель

 

Т

ва примере обратной величины.

 

Одна итерация о

к

-значной точностью,

согласно форму­

ле итерации

 

 

 

 

 

 

 

 

 

имеет

 

У i+< ~

 

а^ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1*ищ -

i w

+

2

i *«« -

к 1Ьо + 2 £ т

ь •

 

Для

I * 3 и

да = 7

 

 

 

 

 

 

 

t « 4 - ( S K M 4 K * ) l . .

Из (5.18) следует, что Wt = 2, •% = i , (tls = 0,

2.

4; огц = ( 5 + й } -*®

■^.^ытц = ( б + 5G) "t® = 6 2 (>о

■ f c « m - 0 i + 2 2 4 ) i e * 2 5 6 t « . -

4

Выполняя все итерации о четырехзначной точностью (У®*з), получим из (5.19)

T - S - 2 3 6 - t o - Ш < Н * .

 

 

 

Для системы (5.15) имеем из (5.20)

 

 

T

= 2 i7 i . + 6 2 io 4 2 - 236to - 5 6 8 ^ .

 

 

Согласно (5 ,1 6 ),

из (5.21) для w<= з ,

т г = I, ж **

0,

i

Т

-

3 * < 7 Ь + 62io + 2Ъ6*~

« 3 4 9 -to .

_______ J

 


- 136 -

5 .2 . Полиномо-выборочные алгоритмы

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

5ВМ.

\

 

Один из методов уменьшения времени реализации алгорит­

мов рассмотрен в работах Гб5,6бЛ , в которых предлагается раз­

бить

интервал [ а , в ] , на котором отыскивается значение функ­

ции,

на систему непересекающихся подинтервалов. На каждом

подинтервале строится свой аппроксимирующий полином о меньшей

степенью,

чем полином на интервале [а ,

в ] , при сохранении

той же точности. Для отыскания необходимого подинтервала по­

требуется

loq^K операций сравнения

(

К - число подинтервалов).

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

дить (

К - I) операций сравнения.

 

 

 

Объем памяти, отводимый для хранения вычислительных

конотант,

определяется как

 

 

 

 

 

3 ) “

**)*(*-*)>

 

где

P j

- порядок полинома

^ -го

подынтервала.

 

Из

[6 5 ,ббЗследует,

что непосредственно вычислению поли­

нома предшествует логическая схема отыскания необходимого под­ интервала (соответствующего полинома). При этом объем логичес­

кой схемы (число сравнений)

прямо пропорционально зависит

от

числа подинтервалов ( К ),

а время реализации "t ~

К

.

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

обходимого подинтервала

было бы также независимо от

К

,

Такие алгоритмы,

у которых осуществляется последователь­

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


 

- 137 -

I

Расомотрим оущнооть метода построения полиномо-выбороч­

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

I

I .

Сущность метода.

 

 

 

 

 

 

Предположим, что аргумент

£

функции

£ (об) изменяет­

ся в

интервале [ 0 * 1 ] .

Разобьем этот интервал на 2 равных

подинтервала:

0

^

$

<

о,5;

 

1-

й

 

2 -

й

0,5

^

ОС

<

I

Для системы счисления о основанием

CJ, =

2

имеем

 

 

1-й подинтервал

0

^ ОС

v

0 ,0 П ...1 1

;

2 -й подинтервал

0,1000...О

 

ЭС <

I .

 

Отскда видно, что значение первого двоичного разряда после за­ пятой определяет номер подинтервала: "О" - первый, "I" - второй.

Для определенности первый и второй учаотки функции при­ близим полиномами третьей степени:

Р з (эе) = а н я * + о л £ г+ а < * я + а « ,

р аа (ос) = а г1Л 5+ а « э с Ч а г5^ + б ( г 4 .

Коэффициенты полиномов Р 4($)и Рз*С ^) разместим в’ следующих уоловных ячейках памяти с условными (относительными) адресами:

<С000> = Он

<0001>

=

<0010 > = О н

<00П >

Оаг

<0100>

=

<0Ю1> = Ога

< ОНО >

=Oii4

<0111 >

= Cfz4.

Ьдесь скобка:,ш ( <

>

) обозначено содержимое ячейки.

Функциональная зависимость между кодовым числом аргу­

мента и относительными адресами коэффициентов будет:

 

A d j r ' =

ос

 

A c i j z '• = A O j i + 2 А


 

 

 

138

 

 

 

 

А а р ; = А а ^ + 2 а

 

 

 

 

A<V**- А cip + 2A,

 

где

А

-

относительный адрес ;

 

 

j

-

номер подинтервала;

 

 

2 А -

две адресные единицы (0010).

X . t

Если оценивать номер подинтервала по 2-м первым разрядам

после запятой,

то можно весь интервал [0 + I]разбить на 4

под­

интервала. При атом 00 - первый подинтервал,

 

 

01 - второй подинтервал,

 

 

10 - третий подинтервал,

 

 

I I -

 

четвёртый подинтервал.

 

Пусть каждый подинтервал аппроксимируется полиномом 3-й сте­ пени. Константы полиномов распределим в условных ячейках памя­ ти так, что их относительные адреса

S а ^ - к г 4 - 1,

Да ^ : = Да^ + 4 А ,

Да р *•- Aaj4+ 4 A , A a j 4 * « A o j » + 4 A ,

где 4А - четыре адресные единицы (0100).

В общем олучае,

если номер подинтервала оценивать по

к разрядам, то получим

 

к

- 2

К

*

л

(5.22)

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

Д с 1 р ; = Х 2 ~ (н' к ) ,