Порядок выполнения работы
1. Из табл.1 выбирается логическая схема алгоритма (ЛСА) в соответствии с вариантом. По ЛСА изображается графическая схема алгоритма. В ЛСА символам Нач. и Кон. соответствуют начальный и конечный операторы алгоритма. Символами A, B, C, D, E, K, M обозначены функциональные операторы алгоритма. Символами x1, x2, x3, x4 обозначены логические условия. Если логическое условие равно единице, то выполняется следующий по порядку оператор в ЛСА. Если логическое условие равно нулю, то осуществляется переход по стрелке с соответствующим индексом. У логического условия стрелка направлена вверх. Например, i . У места перехода стрелка направлена вниз - i.
Для схемы алгоритма, изображенной на рис.1 ЛСА имеет вид :
Нач. Ax11Bx332C1D3Ex22M4Kx44 Кон.
Из табл.2 выбираются вероятности переходов при единичных логических условиях. Из табл.3 находятся количества процессорных операций в операторах алгоритма. Из табл.4 по последней цифре варианта выбираются количество обращений и длина записи в килобайтах при обращении к файлам F1, F2, F3.
2. Изображается схема алгоритма, граф алгоритма и минимальный граф алгоритма.
3. Определяется трудоемкость алгоритма методами теории марковских цепей.
4. Определяется средняя трудоемкость алгоритма с помощью сетевого подхода.
5. Вычисляется минимальная и максимальная трудоемкость алгоритма.
-
Полученные результаты анализируются и оформляются в виде отчета.
Контрольные вопросы
-
Что такое трудоемкость алгоритма ?
-
Что такое сложность алгоритма ?
-
Как определяется сложность алгоритма и в каких случаях требуется эта оценка ?
-
Как определяется трудоемкость алгоритма и с какой целью вычисляется эта величина ?
-
Почему трудоемкость алгоритма является, как правило, случайной величиной ?
-
Какие параметры могут быть использованы для характеристики трудоемкости алгоритма ?
-
Как выполнить эффективную нумерацию состояний в графе алгоритма для сетевого анализа ?
-
Что такое стохастическая матрица ?
-
Как определить вероятности выхода из логической вершины ? Привести примеры.
-
Что такое марковский процесс ?
-
Зачем делается допущение о вычислительном процессе как марковском при оценке трудоемкости алгоритма ?
-
Докажите правильность формулы (4).
-
Докажите правильность тождества (5).
-
Докажите правильность выражения (6).
-
Существует ли разность в оценке средней трудоемкости при использовании методов теории марковских цепей и сетевого подхода ? Объясните ее.
Таблица 1 -Варианты схем алгоритмов
Вариант |
Логическая схема алгоритма. |
1 |
Нач. Ax11Bx22C3x33D2E4Mx44K1 Кон. |
2 |
Нач. Ax22Bx33x11D3E13M2x33K Кон. |
3 |
Нач. Ax22B32Cx331Dx11Ex44MK4 Кон. |
4 |
Нач. A21Bx11Cx22Dx445Ex33M4K Кон. |
5 |
Нач. 1Ax11Bx22Ex33C23Mx44D4K Кон. |
6 |
Нач. 4Bx22Cx33D23Ex44Mx11K1 Кон. |
7 |
Нач. Ax22Cx44Dx33E234Kx44MB Кон. |
8 |
Нач. Dx11Ex22M23Ax22Mx33K1D Кон. |
9 |
Нач. x11A12Bx22C4Dx33K3Mx44 Кон. |
10 |
Нач. x11A42Bx22Cx33E3Dx44K1M Кон. |
11 |
Нач. 3Ax11Bx22C2D1Ex33Kx44M4 Кон. |
12 |
Нач. x44Ax11B2Cx22D1Ex33K4M3x11 Кон. |
13 |
Нач. Ax11Bx22C21D34EKx44Mx33 Кон. |
14 |
Нач. 5Ax11Bx22C2D3Ex33C1DEx33Kx44M4 Кон. |
15 |
Нач. 2Ax11B1Cx22DEx33K3Mx22 Кон. |
16 |
Нач. 1Ax11B42Cx22Dx44Ex22Kx33M3 Кон. |
17 |
Нач. 1Ax11Bx33C3Dx44E2Kx22M4 Кон. |
18 |
Нач. 4Ax44Bx11C1Dx33Ex22K2M3 Кон. |
19 |
Нач. x11A3Bx22Cx44D24Ex33KM4 Кон. |
20 |
Нач. 4Ax11B1C23Dx11Ex22Kx33Mx44 Кон. |
21 |
Нач. x11A3Bx22Cx44D4E2K1Mx33 Кон. |
22 |
Нач. x22A3Bx11C2Dx44E14KMx33 Кон. |
23 |
Нач. x11Ax22B21Cx44D3Ex33KM4 Кон. |
24 |
Нач. x11A2B1Cx22D3Ex334Mx44 Кон. |
25 |
Нач. x33Ax221Bx11C23D4Ex44MK Кон. |
Таблица 2 - Вероятности перехода ( по Х=1 )
Вариант |
P1 |
P2 |
P3 |
P4 |
1 |
0.1 |
0.3 |
0.6 |
0.9 |
2 |
0.2 |
0.2 |
0.7 |
0.8 |
3 |
0.3 |
0.1 |
0.8 |
0.7 |
4 |
0.4 |
0.2 |
0.9 |
0.6 |
5 |
0.5 |
0.3 |
0.8 |
0.5 |
6 |
0.6 |
0.4 |
0.7 |
0.4 |
7 |
0.7 |
0.5 |
0.6 |
0.3 |
8 |
0.8 |
0.6 |
0.5 |
0.2 |
9 |
0.9 |
0.7 |
0.4 |
0.1 |
10 |
0.8 |
0.8 |
0.3 |
0.2 |
11 |
0.7 |
0.9 |
0.2 |
0.3 |
12 |
0.6 |
0.8 |
0.1 |
0.4 |
13 |
0.5 |
0.7 |
0.2 |
0.5 |
14 |
0.4 |
0.6 |
0.3 |
0.4 |
15 |
0.3 |
0.5 |
0.4 |
0.3 |
16 |
0.2 |
0.4 |
0.5 |
0.2 |
17 |
0.1 |
0.3 |
0.6 |
0.1 |
18 |
0.2 |
0.2 |
0.7 |
0.2 |
19 |
0.3 |
0.1 |
0.8 |
0.3 |
20 |
0.4 |
0.2 |
0.9 |
0.4 |
21 |
0.5 |
0.3 |
0.8 |
0.5 |
22 |
0.6 |
0.4 |
0.7 |
0.6 |
23 |
0.7 |
0.5 |
0.6 |
0.7 |
24 |
0.8 |
0.6 |
0.5 |
0.8 |
25 |
0.9 |
0.7 |
0.4 |
0.9 |
Таблица 3 - Количество процессорных операций в операторах (в тысячах)
№ п/п |
A |
B |
C |
D |
E |
M |
K |
1 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
2 |
8 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
3 |
2 |
1 |
2 |
3 |
4 |
5 |
4 |
6 |
7 |
8 |
9 |
8 |
7 |
6 |
5 |
5 |
4 |
3 |
2 |
1 |
2 |
3 |
6 |
4 |
5 |
6 |
7 |
8 |
9 |
8 |
7 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
8 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
10 |
2 |
1 |
2 |
3 |
4 |
5 |
6 |
11 |
7 |
8 |
9 |
8 |
7 |
6 |
5 |
12 |
4 |
3 |
2 |
1 |
2 |
3 |
4 |
13 |
5 |
6 |
7 |
8 |
9 |
8 |
7 |
14 |
6 |
5 |
4 |
3 |
2 |
1 |
2 |
15 |
5 |
3 |
4 |
2 |
1 |
5 |
4 |
16 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
17 |
1 |
3 |
5 |
7 |
9 |
8 |
6 |
18 |
4 |
2 |
2 |
4 |
6 |
8 |
9 |
19 |
7 |
5 |
3 |
1 |
1 |
3 |
5 |
20 |
7 |
9 |
8 |
6 |
4 |
2 |
2 |
21 |
4 |
6 |
8 |
9 |
7 |
5 |
3 |
22 |
1 |
4 |
7 |
9 |
8 |
7 |
6 |
23 |
5 |
4 |
3 |
9 |
7 |
6 |
8 |
24 |
9 |
4 |
3 |
7 |
8 |
8 |
6 |
25 |
2 |
4 |
9 |
7 |
8 |
6 |
2 |
Таблица 4 - Количество обращений к файлам (числитель) и длина записи в килобайтах (знаменатель)
№ |
A |
|
|
B |
|
|
C |
|
D |
|
|
E |
|
|
M |
|
K |
|
п/п |
F1 |
F2 |
F1 |
F2 |
F3 |
F1 |
F2 |
F3 |
F1 |
F2 |
F1 |
F2 |
F3 |
F1 |
F2 |
F3 |
F1 |
F2 |
0 |
0/0 |
1/1 |
2/2 |
3/3 |
4/4 |
3/5 |
2/6 |
1/7 |
0/0 |
1/8 |
2/9 |
3/8 |
4/7 |
3/6 |
2/5 |
1/4 |
0/0 |
1/3 |
1 |
2/2 |
3/1 |
4/2 |
3/3 |
2/4 |
1/5 |
0/0 |
1/6 |
2/7 |
3/6 |
4/9 |
3/8 |
2/7 |
1/6 |
0/0 |
1/5 |
2/4 |
3/3 |
2 |
4/2 |
0/0 |
1/1 |
2/2 |
3/3 |
4/4 |
3/5 |
2/6 |
1/7 |
0/0 |
1/8 |
2/9 |
3/8 |
4/7 |
3/6 |
2/5 |
1/4 |
0/0 |
3 |
1/3 |
2/2 |
3/1 |
4/2 |
3/3 |
2/4 |
1/5 |
0/0 |
1/6 |
2/7 |
3/8 |
4/9 |
3/8 |
2/7 |
1/6 |
0/0 |
1/5 |
2/4 |
4 |
3/3 |
4/2 |
3/1 |
2/2 |
1/3 |
0/0 |
1/4 |
2/5 |
3/6 |
4/7 |
3/8 |
2/9 |
1/1 |
0/0 |
1/2 |
2/3 |
3/4 |
4/5 |
5 |
1/6 |
0/0 |
1/7 |
2/8 |
3/9 |
4/8 |
3/7 |
2/6 |
1/5 |
0/0 |
2/4 |
3/3 |
4/2 |
3/1 |
2/2 |
1/3 |
0/0 |
1/4 |
6 |
2/5 |
1/6 |
0/0 |
1/7 |
2/8 |
3/9 |
4/8 |
3/7 |
2/6 |
1/5 |
0/0 |
1/4 |
2/3 |
3/2 |
4/1 |
3/2 |
2/3 |
1/4 |
7 |
0/0 |
2/5 |
3/6 |
1/7 |
2/8 |
3/9 |
4/8 |
3/7 |
2/6 |
1/5 |
0/0 |
1/4 |
2/3 |
3/2 |
4/1 |
3/2 |
2/3 |
1/4 |
8 |
4/5 |
3/6 |
2/7 |
1/8 |
0/0 |
1/9 |
2/8 |
3/7 |
4/6 |
3/5 |
2/4 |
1/3 |
0/0 |
1/2 |
2/1 |
3/2 |
4/3 |
3/4 |
9 |
2/5 |
1/6 |
0/0 |
1/7 |
2/8 |
3/9 |
4/8 |
0/0 |
1/7 |
2/6 |
3/5 |
4/4 |
3/3 |
2/2 |
1/1 |
0/0 |
1/2 |
2/3 |