Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №3 по курсу ТВП

.doc
Скачиваний:
11
Добавлен:
27.01.2015
Размер:
336.9 Кб
Скачать

8

Министерство образования Российской Федерации

Саратовский государственный технический университет

ПОСТРОЕНИЕ УНАРНЫХ РЕКУРСИВНЫХ

ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

Методические указания к выполнению лабораторной работы

по курсу «Теория вычислительных процессов и структур»

для студентов специальности ПВС

Составил доцент кафедры ПВС Сайкин А.И.

Саратов, 2001 г.

1. Введение.

Данная лабораторная работа рассчитана на 6 аудиторных часов и ещё 6 часов самостоятельной работы по изучению литературы, программирование и составление отчёта.

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

Цель исследования состоит в переходе от двух параметрической рекурсии к однопараметрической (унарной) рекурсии.

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

2. Содержание работы.

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

Но при вычисления важно количество рекурсивных обращений функции самой к себе. Часто это количество оказывается столь большим, что говорят об экспоненциальной сложности рекурсивного алгоритма. Так, например, вычислений чисел ФИБОНАЧЧИ с помощью рекурсии приводит к простенькой программе:

fibonacci (0) = 0

fibonacci (1) =1

fibonacci (n) = fibonacci (n-1) + fibonacci (n-2)

Но каждый уровень рекурсии в функции fibonacci удваивает количество рекурсивных обращений, которое должно быть выполнено для n числа Фибоначчи, оказывается 2n . Объём вычислений будет резко возрастать с увеличением n. Вычисление 20 числа Фибоначчи потребовало бы около миллиона обращений, а вычисление числа 30 потребует около миллиарда вызовов.

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

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

G(N, M) = G(N-[j], M) + j G(N, M-1) (2.1)

где: G(N, M) - нормирующий множитель для сети, состоящей из

N СМО и обслуживающей М заявок;

[j] - означает, что из N узлов исключён узел j;

j - коэффициент загрузки узла (СМО) j сети.

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

При больших М эта задача становится достаточно трудоёмкой. Поэтому желательно один из параметров исключить. Поскольку, обычно N больше М, то исключая N, получим новую расчётную формулу:

G(1+2+3+...+N, M) = z1N G(1+2+3+..(N-1), M) - zN1G(2+3+...+N, M) (2.2)

где: G(1+2+3+...+N, M)- означает, что нормирующий множитель вычи-

след для сети, состоящей из 1, 2, 3,..., N СМО и обслуживающей N

заявок;

zi j - некоторые коэффициенты.

Вновь полученная формула выгодно отличается от предыдущей, поскольку она однопараметрическая и рекурсивный процесс от М не зависит.

В общем случае в соответствии с теоремой Чандра, класс много параметрических рекурсий не сводим к классу унарных рекурсий, что доказано в теории схем программ. Но если в отдельном случае это удаётся сделать, то теорема Чандра этого не запрещает.

В данной работе, таким образом, представлены две рекурсивные формулы и предлагается сравнить их эффективность по времени выполнения и по допустимым пределам изменений М и N.

3. Задание по работе.

1. Запрограммировать вычисления по рекурсивным формулам (2.1) и (2.2), используя рекурсивные функции.

2.Оценить количество рекурсивных обращений в каждом случае.

3. Оценить время счёта по каждой из формул для достаточно больших М и N.

4. Оценить максимально допустимые значения для М и N, которые позволяют получить достоверный результат.

5. Составить отчёт по работе.

4. Варианты заданий.

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

5. Методические указания.

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

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

Размерность сетевых моделей вычислительных систем на практике может достигать больших значений. Поскольку N число СМО - в вычислительной системе это количество машин. Для сетей ЭВМ может иметь большое значение. М- число заявок, в сети ЭВМ - это количество пользователей, которое может достигать ещё больших значений.

Вычисление нормирующего множителя с помощью двухпараметрической рекурсии (2.1) рассматривалось нами в лабораторной работе №5. Перейдём теперь к однопараметрической рекурсии, задаваемой формулой (2.2).

Некоторые коэффициенты z[i,j] определяются по формулам:

z[i,j] = α[i]*μ[j]/(α[i]*μ[j] - α[j]*μ[i]),

ź[i,j] = -α[j]*μ[i]/(α[i]*μ[j] - α[j]*μ[i]), (5.1)

где: α[i] - коэффициент передачи (α[i] = λ[i]/λ[1], λ[i] - интенсивность потока заявок в узел i);

μ[i] - интенсивность обслуживания в узле i.

Выражение (2.2) задаёт однопараметрическую рекурсию, в которой параметром является количество узлов сети N, но эта рекурсия применима только для случая:

α[i]*μ[j] - α[j]*μ[i] ≠ 0, (5.2)

который означает отсутствие в сети узлов с одинаковой загрузкой.

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

Рекурсия (2.2) позволяет вычислить нормирующий множитель по шагам, начиная с N = 1, 2, ... , для сетей со всеми разными коэффициентами загрузок.

Рассмотрим графовую интерпретацию однопараметрической рекурсии.

Пусть все коэффициенты загрузок различны. Построим граф (рис.1). Значения индексов нормирующих множителей в вершинах графа и индексы весов z[i, j], приписываемых дугам графа, строго упорядочены. Значения G(1), G(2), ... стоящие в крайнем правом столбце легко вычисляются.

G(1)

z[1,2]

z[1,3] G(1+2) ź[1,2]

z[1,4] G(1+2+3) G(2)

ź[1,3] z[2,3]

G(1+2+3+4)

z[1,5] ź[1,4] z[2,4] G(2+3) ź[2,3]

G(1+2+3+4+5) ź[1,5] z[2,5] G(2+3+4) G(3)

ź[2,4] z[3,4]

G(2+3+4+5)

ź[2,5] z[3,5] G(3+4) ź[3,4]

G(3+4+5) G(4)

ź [3,5] z[4,5]

G(4+5) ź[4,5]

G(5)

Рис.1. Граф вычисления норми рующего множителя

для случая пяти узлов и всех разных загрузок.

Т ак, для случая: G(N) = RN **M,

G(1+2) = z[1,2]*G(1) + ź[1,2]*G(2)

. . .

G(1+2+3+4+5) = z[1,5]*G(1+2+3+4) +

+ ź[1,5]*G(2+3+4+5)

То есть в полном соответствии с графом. Граф также позволяет легко определить индексы у коэффициентов z[i,j] и G(.). Вычисления следует производить справа налево.

Рассмотрим теперь случай сети с группами узлов с одинаковой загрузкой внутри каждой группы.

Пусть все коэффициенты загрузок одинаковы для всей сети и равны R. Тогда все веса состояний будут равны между собой и нормирующий множитель G(N,M) найдётся тривиально:

G(N,M) = QRM ,

где Q - число состояний сети.

Заметим, что рекурсивная формула (2.2) неприменима в этом случае, так как она даёт неопределённость вида 0/0.

Пусть в сети из пяти узлов две группы узлов с равными коэффициентами загрузок: R1 = R2 = R3 и R4 = R5 , R1 ≠ R4. Построим новый граф вычисления нормирующего множителя в этом случае (см. рис. 2).

Нормирующие множители в крайнем правом столбце вычисляются тривиально:

G(1) = G(2) = G(3) = R1**M

(5.1)

G(4) = G(5) = R 4**M .

Также просто определяются нормирующие множители в вершинах, отмеченных звёздочкой, здесь в рекурсии нет необходимости:

M

G(1+2) = G(2+3) = CM+n1-1 R1**M

M (5.2)

G(4+5)= CM+n2-1 R.4**M

Количество состояний Q в этом случае вычисляется для фрагмента сети, в котором все загрузки улов одинаковы, содержащем n1 и n2 узлов соответственно.

Для вычисления оставшихся нормирующих множителей применим формулу (2.2), поскольку:

G(1+2+3) ≠ G(2+3) ≠ G(3) ≠ G(4) ≠ G(4+5)

и однопараметрическая рекурсия здесь может быть выполнена.

Анализируя результаты, легко сделать обобщения: все нормирующие множители G(**), вычисляются через равные между собой, предшествующие им в графе, нормирующие множители G(*), рассчитываются по формуле (5.1), а те, которым предшествуют неравные G(*) - по формуле (2.2). Таким образом, в случае наличия узлов сети с совпадающими коэффициентами загрузок, вычисления G(N,M) упрощаются. Граф опять позволяет легко вычислить все индексы для G(.) и z[i, j].

G(1)*

G(1+2+3)* G(1+2)*

G(2)*

G(1+2+3+4) G(2+3)*

G(1+2+3+4+5)

G(2+3+4) G(3)*

G(2+3+4+5) G(3+4)

G(3+4+5) G(4)**

G(4+5)**

G(5)**

Рис.2. Граф вычисления нормирующего множителя для

случая групп узлов с равной загрузкой.

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

6. Содержание отчёта.

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

7. Контрольные вопросы.

1. Какие способы вычисления нормирующего множителя Вы знаете?

2. Как вычсляются маргинальные распределения через нормирующий

множитель?

3. Как определить граничные элементы при вычислении нормирующего

множителя по формуле двух параметрической рекурсии?

4. Как находятся коэффициенты передач в замкнутой сети?

5. В чём суть теоремы Чандра?

6. Что означает экспоненциальная сложность вычислений?

7. В чём отличие рекурсий и итераций?

8. Как задать рекурсивный процесс?

9. Условие завершения рекурсивного процесса?

8. Литература.

1. Авен О.И., Гурин Н.Н., Коган Я.А. Оценка качества и оптимизация вычислительных систем. -М.: Наука, Главная редакция физико-математической литературы, 1982, -466 с.

2. Основы теории вычислительных систем/ Под ред. С.А.Майорова.-М.: Высшая школа, 1978, -408 с.

3. Сайкина О.А. Однопраметрический алгоритм вычисления нормирующего множителя для замкнутой экспоненциальной сети систем массового обслуживания. Сарат.гос.техн. ун-т.-Саратов, 1996.-13 с. Деп в ВИНИТИ 07.03.97, №704-В97.

4. Сайкина О.А. Графовая интерпретация рекурсии вычисления нормирующего множителя для произвольной замкнутой сети систем массового обслуживания большой размерности. Сарат.гос.техн.ун-т.-Саратов,1997.-13 с. Деп. в ВИНИТИ 29.05.97 №1769-В97.