3.1 Интерфейс блока качественной оценки
Блок качественной оценки гипотез (БКО) – это законченный программный продукт в виде динамически подключаемой библиотеки. В блоке качественной оценки был реализован интерфейс с решателем открытых задач. Это позволяет избавить пользователя от рутинной работы занесения гипотез в базу удачных и неудачных фактов.
Подключение БКО осуществляется в меню «Настройка» –> «Параметры работы» –> вкладка «Блок качественной оценки». Если БКО успешно подключен, после генерации гипотез и нажатия на кнопку «OK» в окне, которое представлено на рисунке 2.13, на экране появляется окно программы блока качественной оценки. Оно представлено на рисунке 3.1.
Рис. 3.1
Большую часть окна занимает область, где отображается список выдвинутых гипотез. Для всех гипотез показано значение каждого из параметров, а так же название гипотезы и её вес.
В правой части экрана находятся органы управления оценкой гипотез. В разделе «Оценивать гипотезы» можно выбрать, оценивать все гипотезы, либо оценивать только некоторые.
Ниже отображается, сколько гипотез оценено положительно, сколько отрицательно, сколько оценок подтвердились, т.е. совпали с предположением решателя открытых задач (строка «Подтверждений»), а также, сколько не подтвердились (строка «Противоречий»).
После нажатия на кнопку «Оценить», гипотезы проходят оценку блоком качественной оценки и строки тех из них, которые были оценены положительно, окрашиваются в зелёный цвет. Те, которые оценены отрицательно, окрашиваются в синий цвет. Это представлено на рисунке 3.2.
Рис. 3.2
После того, как гипотезы оценены, нажимаем кнопку «OK» и они направляются в решатель открытых задач, где они добавляются в удачные либо неудачные факты, в зависимости от полученной в БКО оценки. Решатель открытых задач выдаёт окно, показанное на рисунке 3.3.
Рис. 3.3
3.2 Логика работы блока качественной оценки
Блок качественной оценки оценивает гипотезы в соответствии со всеми внешними показателями качества.
Листинг программы представлен в «приложении Б».
Необходимо отметить, что в блок качественной оценки могут попадать гипотезы, содержащие запрещенные комбинации. Такие комбинации будут всегда оценены отрицательно.
Обучение решателя открытых задач
Проведем обучение решателя открытых задач. Для этого подключаем к нему блок качественной оценки. Оценивать будем все гипотезы. Это позволит не «запутать» решатель открытых задач.
За время решения задачи было произведено 43 итерации. Протокол обучения решателя открытых задач представлен в таблице 4.1. В ней, сокращение «содерж. ЗК», означает количество сгенерированных гипотез, содержащих запрещенные комбинации (ЗК). «Полож.» и «Отриц.» означает количество положительно и отрицательно оцененных гипотез, соответственно.
На рисунке 4.1 изображены графики изменения количества нелинейностей, количества выдвинутых гипотез и количества гипотез, содержащих запрещенные комбинации.
На рисунке 4.2 изображены графики изменения количества подтверждений и противоречий оценки гипотез между решателем открытых задач и блоком качественной оценки.
Таблица 4.1:
№ итерации |
Нелинейностей |
Локальных максимумов |
Локальных минимумов |
Кол-во сгенерированных решателем открытых задач гипотез |
Оценено блоком качественной оценки |
Подтверждений |
Противоречий | |||||||
Всего |
Полож. |
Отриц. |
Содерж. ЗК |
Полож. |
Отриц. |
|
| |||||||
1 |
0 |
4 |
1 |
152 |
121 |
31 |
24 |
5 |
147 |
26 |
126 | |||
2 |
2 |
1 |
1 |
62 |
31 |
31 |
9 |
1 |
61 |
30 |
32 | |||
3 |
5 |
1 |
1 |
62 |
31 |
31 |
15 |
0 |
62 |
31 |
31 | |||
4 |
6 |
1 |
3 |
122 |
31 |
91 |
19 |
22 |
100 |
73 |
49 | |||
5 |
20 |
1 |
1 |
62 |
31 |
31 |
8 |
9 |
53 |
40 |
22 | |||
6 |
20 |
3 |
1 |
122 |
91 |
31 |
26 |
15 |
107 |
46 |
76 | |||
7 |
28 |
5 |
2 |
212 |
149 |
63 |
15 |
44 |
168 |
91 |
121 | |||
8 |
46 |
1 |
1 |
62 |
31 |
31 |
17 |
0 |
62 |
31 |
31 | |||
9 |
53 |
5 |
1 |
182 |
151 |
31 |
84 |
55 |
127 |
86 |
96 | |||
10 |
52 |
4 |
8 |
362 |
121 |
241 |
58 |
42 |
320 |
249 |
113 | |||
11 |
95 |
1 |
1 |
62 |
31 |
31 |
19 |
2 |
60 |
29 |
33 | |||
12 |
101 |
1 |
1 |
62 |
31 |
31 |
15 |
7 |
55 |
36 |
26 | |||
13 |
110 |
3 |
2 |
152 |
91 |
61 |
62 |
13 |
139 |
74 |
78 | |||
14 |
134 |
1 |
6 |
212 |
31 |
181 |
56 |
16 |
196 |
177 |
35 | |||
15 |
122 |
1 |
2 |
92 |
61 |
31 |
28 |
0 |
92 |
61 |
31 | |||
16 |
150 |
2 |
2 |
122 |
61 |
61 |
12 |
19 |
103 |
80 |
42 | |||
17 |
145 |
1 |
6 |
212 |
31 |
181 |
44 |
18 |
149 |
163 |
49 | |||
18 |
144 |
3 |
7 |
302 |
91 |
211 |
41 |
55 |
246 |
205 |
97 | |||
19 |
184 |
2 |
2 |
122 |
61 |
61 |
24 |
33 |
89 |
72 |
50 | |||
20 |
182 |
2 |
2 |
122 |
61 |
61 |
48 |
25 |
97 |
80 |
42 | |||
21 |
193 |
5 |
1 |
182 |
151 |
31 |
15 |
86 |
96 |
107 |
75 |
Таблица 4.1 (продолжение):
№ итерации |
Нелинейностей |
Локальных максимумов |
Локальных минимумов |
Кол-во сгенерированных решателем открытых задач гипотез |
Оценено блоком качественной оценки |
Подтверждений |
Противоречий | |||||||
Всего |
Полож. |
Отриц. |
Содерж. ЗК |
Полож. |
Отриц. |
|
| |||||||
22 |
216 |
3 |
8 |
332 |
91 |
241 |
98 |
63 |
269 |
258 |
74 | |||
23 |
204 |
3 |
1 |
122 |
31 |
91 |
38 |
22 |
100 |
97 |
25 | |||
24 |
229 |
1 |
1 |
62 |
31 |
31 |
16 |
15 |
47 |
44 |
18 | |||
25 |
212 |
6 |
2 |
242 |
181 |
61 |
38 |
60 |
182 |
105 |
137 | |||
26 |
219 |
4 |
6 |
302 |
121 |
181 |
64 |
26 |
276 |
175 |
127 | |||
27 |
276 |
1 |
9 |
302 |
31 |
271 |
34 |
98 |
204 |
211 |
91 | |||
28 |
262 |
1 |
6 |
212 |
31 |
181 |
90 |
30 |
182 |
151 |
61 | |||
29 |
281 |
4 |
4 |
242 |
121 |
121 |
35 |
77 |
165 |
146 |
96 | |||
30 |
314 |
1 |
3 |
122 |
31 |
91 |
14 |
39 |
83 |
74 |
48 | |||
31 |
320 |
5 |
12 |
512 |
151 |
361 |
85 |
220 |
292 |
267 |
245 | |||
32 |
368 |
2 |
10 |
362 |
61 |
301 |
61 |
116 |
246 |
249 |
113 | |||
33 |
342 |
3 |
1 |
122 |
91 |
31 |
33 |
52 |
70 |
75 |
47 | |||
34 |
335 |
5 |
4 |
272 |
151 |
121 |
64 |
134 |
138 |
147 |
125 | |||
35 |
336 |
1 |
4 |
152 |
31 |
121 |
89 |
16 |
136 |
111 |
41 | |||
36 |
329 |
1 |
1 |
62 |
31 |
31 |
8 |
27 |
35 |
36 |
26 | |||
37 |
402 |
1 |
5 |
182 |
31 |
151 |
32 |
63 |
119 |
122 |
60 | |||
38 |
402 |
1 |
6 |
212 |
31 |
181 |
31 |
75 |
137 |
124 |
88 | |||
39 |
406 |
1 |
1 |
62 |
31 |
31 |
0 |
33 |
29 |
38 |
24 | |||
40 |
372 |
1 |
17 |
542 |
31 |
511 |
199 |
169 |
373 |
388 |
154 | |||
41 |
425 |
2 |
1 |
92 |
61 |
31 |
12 |
40 |
52 |
41 |
51 | |||
42 |
456 |
1 |
2 |
92 |
31 |
61 |
0 |
50 |
42 |
41 |
51 | |||
43 |
418 |
1 |
2 |
92 |
31 |
61 |
0 |
46 |
46 |
45 |
47 |
Рис. 4.1
Рис. 4.2
Как видно из таблицы и графиков, представленных выше, количество гипотез, сгенерированных решателем открытых задач, скачкообразно нарастало до 18 итерации и достигло значения 302. Затем, резко снизилось и несколько итераций держалось на уровне 122, 182. На 22 итерации произошел скачок до значения 332, а после, спад до предыдущих 122 и даже 62 гипотез. Но затем количество сгенерированных гипотез стало расти и к 31 итерации достигло значения 512. На следующих итерациях вновь установилось значение около 122, 182, а на 39 итерации вовсе упало до 62 гипотез. Затем на 40 итерации произошел резкий скачок до значения 542, но уже на следующей итерации снова установилось низкое значение – 92 гипотезы, после чего в течение трёх последующих итераций уже не менялось. Содержание запрещённых комбинаций в сгенерированных гипотезах свелось к нулю.
Количество нелинейностей росло и к 38 комбинации установилось на уровне 402, после чего незначительно снизилось и вновь вернулось на установившийся уровень. На 43 количество нелинейностей равнялось 418.
Количество противоречий колебалось в пределах от 20 до 100, на некоторых итерациях появлялись скачки до 121, 137. Последний резкий скачок случился на 31 итерации, значение здесь достигло 245. На следующих итерациях среднее значение количества противоречий было около 50, а на 39 шаге достигло значения 24. Далее, на 40 итерации произошёл скачок до 154 и установилось значение 51, после чего держалось на этом уровне ещё одну итерацию и на 43 итерации снизилось до 47. Это является хорошим показателем, так как составляет около 50% от выдвинутых гипотез.
Скачки количества выдвигаемых гипотез, противоречий и нелинейностей ещё возможны на следующих итерациях, но после них значения с большой вероятностью будут возвращаться на уровень установившихся в данный момент.
Из всего сказанного можно сделать вывод о том, что решатель успешно обучился и к 41 итерации уже сформировал базу знаний. Эту итерацию и будем далее рассматривать.
На рисунке 4.3 показан локальный максимум, полученный на 41 итерации. На рисунках 4.4, 4.5 и 4.6 показаны ещё три удачных комбинации систем из сформированной базы знаний.
Рис.4.3
Рис. 4.4
Рис. 4.5
Рис. 4.6
Обратим внимание на локальный максимум, представленный на рисунке 4.3.
Так как параметры кластерных систем, используемых в частных компаниях, не афишируются, а КВС установленные в крупных исследовательских центрах имеют высокую степень неоднородности, в отличие от спроектированной нами, был произведен поиск системы с подобными параметрами у поставщиков оборудования [7]. Построение и заказ такой системы возможен и отвечает критериям оценки, определенным нами выше.
Система составлена из 2000 вычислительных узлов, что обеспечивает хорошую производительность и при этом не завышает её стоимость, как в случае если бы она состояли из 4000 или 5000 узлов. Выбраны модули памяти 24GB и сеть cLAN с невысокой, но достаточной скоростью для исполнения задач разных классов. В каждом вычислительном узле установлено по 8 процессоров Intel Pentium 4, что компенсирует их невысокую производительность.
Система хорошо сбалансирована и отвечает всем необходимым критериям.
КВС на рисунке 4.4 имеет среднее количество вычислительных узлов. Установлены популярные на данный момент процессоры Intel Xeon средней производительности. Развернутая сеть cLAN и большие емкости оперативной памяти и жестких дисков позволяют решать на ней задачи разных классов, в частности, она подходит и для решения сильносвязанных задач.
В системе, параметры которой представлены на рисунке 4.5, развернута сеть SCI, которая подходит для решения на ней слабосвязанных задач. Это полностью соответствует соображениям, изложенным в пункте 2.1. В каждом вычислительном узле данной системы стоит по 2 процессора Intel Xeon, которые имеют неплохую для КВС тактовую частоту 2.8GHz. Также, установлены оперативная память и жесткие диски большой ёмкости. Можно сделать вывод о том, что система имеет хорошую производительность, хорошо сбалансирована, а также отвечает критерию стоимости системы, так как имеет в своём составе 32 вычислительных узла.
Параметры системы на рисунке 4.6 схожи с параметрами системы на рисунке 4.3, но в данном случае в каждый вычислительный узел было установлено всего по 2 процессора. Это процессоры Intel Pentium 4. Малое количество процессоров компенсировалось их более высокой, по сравнению с первой системой, производительностью 3.4GHz. В целом система так же хорошо сбалансирована и отвечает всем критериям, учитываемым в данной работе.
Отметим, что для большинства представленных систем, выбрана сеть cLAN, которая позволяет выполнять задачи как слабой, так и сильной связанности без особых задержек при передачах.
Как видим из представленных рисунков, удалось сформировать системы, которые хорошо сбалансированы и при этом отвечают критериям стоимости и производительности. Можно заметить, что во всех системах установлено разумное количество вычислительных узлов и жесткие диски средней емкости, что позволяет снизить стоимость КВС. В вычислительных узлах нет маленького количества процессоров с малыми производительностями, что отвечает критерию производительности.
Перейдем к рассмотрению нелинейных компонент, полученных при составлении базы знаний. На 41 итерации их количество составило 418, но мы рассмотрим лишь некоторые из них. В таблице 4.2 представлено 5 нелинейных компонент и приведены пояснения к ним.
В таблице 4.3 указаны веса значений параметров, которые сложились к 41 итерации. Из таблицы видно, что решатель открытых задач верно интерпретировал наши намерения, руководствуясь набором удачных и неудачных фактов, а также оцененными блоком качественной оценки гипотезами, которые расширили списки фактов.
Таблица 4.2:
№ компоненты |
Вес |
Параметр |
Значение |
Пояснение |
1 |
-6690137 |
Емкость оперативной памяти |
24GB |
Слишком высокоскоростная сеть QsNetII для этой системы. |
Класс задач |
Слабосвязанные | |||
Операционная система |
Windows NT | |||
Сеть |
QsNetII | |||
Тип процессора |
Intel Xeon | |||
Число процессоров в узле |
8 | |||
2 |
-6058559 |
Емкость жесткого диска |
2000GB |
Емкость жесткого диска слишком велика. Это серьёзно удорожит систему. |
Емкость оперативной памяти |
24GB | |||
Класс задач |
Слабосвязанные | |||
Операционная система |
Windows NT | |||
Сеть |
cLAN | |||
Число процессоров в узле |
8 | |||
3 |
-7414421 |
Емкость жесткого диска |
512GB |
Слишком высокопроизводительная сеть Gigabit Ethernet для системы, на которой будут решаться слабосвязанные задачи. |
Емкость оперативной памяти |
24GB | |||
Класс задач |
Слабосвязанные | |||
Операционная система |
Windows NT | |||
Сеть |
Gigabit Ethernet | |||
Число процессоров в узле |
8 | |||
4 |
-6694457 |
Емкость жесткого диска |
512GB |
Слишком большое количество вычислительных узлов. Стоимость системы будет непомерно высока. |
Класс задач |
Слабосвязанные | |||
Количество узлов |
5000 | |||
Операционная система |
Windows NT | |||
Сеть |
cLAN | |||
Тип процессора |
Intel Xeon | |||
Частота процессора |
2.4GHz | |||
Число процессоров в узле |
8 | |||
7 |
-4999515 |
Емкость жесткого диска |
20GB |
Слишком маленькая ёмкость жесткого диска. Это затруднит работу системы. |
Емкость оперативной памяти |
24GB | |||
Класс задач |
Слабосвязанные | |||
Операционная система |
Windows NT | |||
Сеть |
cLAN | |||
Тип процессора |
Intel Xeon | |||
Число процессоров в узле |
8 |
Таблица 4.3:
Параметр
№ Значения |
Количе-ство узлов |
Количество процессоров в узле |
Тип процессора |
Частота процессора |
Сеть |
Емкость жесткого диска |
Емкость оперативной памяти |
Операционная система |
Класс задач |
1 |
-447564 |
-989352 |
1113758 |
-599772 |
220214 |
-1431480 |
-712116 |
1009930 |
207242 |
2 |
173666 |
-344524 |
-1501748 |
-545412 |
763440 |
129948 |
15482 |
-1009930 |
-286526 |
3 |
-226076 |
-477260 |
135482 |
602138 |
165252 |
325798 |
978496 |
|
-106640 |
4 |
122256 |
1675370 |
-172252 |
-104672 |
40676 |
-6198 |
395910 |
|
|
5 |
62198 |
|
12768 |
232530 |
-606600 |
1171234 |
-231346 |
|
|
6 |
214438 |
|
|
186140 |
-559032 |
78970 |
-530044 |
|
|
7 |
9674 |
|
|
147362 |
-23950 |
288900 |
|
|
|
8 |
87832 |
|
|
96384 |
|
-630576 |
|
|
|
9 |
64264 |
|
|
22600 |
|
|
|
|
|
10 |
162068 |
|
|
-36736 |
|
|
|
|
|
11 |
247236 |
|
|
-67116 |
|
|
|
|
|
12 |
-543600 |
|
|
-114180 |
|
|
|
|
|
13 |
-597960 |
|
|
-35400 |
|
|
|
|
|
14 |
|
|
|
-33572 |
|
|
|
|
|
Глубина целеполагания:
где:
n – количество входных параметров;
L – количество внешних показателей качества;
I – количество параметров, непосредственно связанных с внешними показателями качества.
, что является хорошим показателем.
Коэффициент достоверности:
где:
–количество сгенерированных гипотез на последнем шаге;
–количествово всех сгенерированных гипотез в процессе решения.
что говорит о хорошей достоверности решения.
Коэффициент новизны:
где:
n – количество параметров,
i – номер параметра,
|T(1)| – количество удачных фактов в начальной базе,
q – номер удачного факта в начальной базе,
tiq – значение i-го параметра в q-ом удачном факте,
Ki – количество значений i-го параметра в начальной базе.
Это говорит о высокой степени новизны найденного решения.
Коэффициент ранговой корреляции:
В полученном решении эксперт скорректировал параметр «Количество узлов». Учитывая это, рассчитаем коэффициент ранговой корреляции.
Это является достаточно хорошим показателем. И говорит о высокой степени обученности решателя.
На основании вышеизложенных фактов и подсчетов, можно сделать вывод о том, что решатель успешно обучился, и были получены хорошие результаты.