УДК 004.056
РАЗРАБОТКА СИСТЕМЫ ВЫЧИСЛЕНИЯ СТЕПЕНИ СОГЛАСОВАННОСТИ МНЕНИЙ ЭКСПЕРТОВ В СФЕРЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ МЕТОДОМ НАХОЖДЕНИЯ КОЭФФИЦИЕНТА КОНКОРДАЦИИ
И.Е. Кузьмин, A.A. Сафронов, Е.М. Баранова, С.Ю. Борзенкова
В статье приведено описание основных этапов проектирования системы по определению показателя степени согласованности мнений экспертов в области обеспечения информационной безопасности путём определения коэффициента конкорда-ции.
Ключевые слова: информационная безопасность, информационная автоматизированная система, экспертная оценка, согласованность мнений, коэффициент кон-кордации.
На практике в экспертизе учувствует группа экспертов, согласованность которой необходимо выявить для корректировки данных, так как даже незначительное рассогласованность в мнениях может привести к кардинальным изменениям в точности промежуточных и конечных результатов. В данном случае компетентность экспертов не играет роли, поскольку она либо уже определена самими экспертами, либо определяется ранее на стадии отбора кандидатов на экспертизу.
При анализе мнений экспертов можно применять самые разнообразные статистические методы, описывать их — значит описывать всю прикладную статистику. Тем не менее можно выделить основные широко используемые в настоящее время методы математической обработки экспертных оценок — это проверка согласованности мнений экспертов (или классификация экспертов, если нет согласованности) и усреднение мнений экспертов внутри согласованной группы [4]. Необходимо понимать, что согласованность мнений является важной характеристикой качества результатов экспертной оценки [2]. Существует определённый ряд способов определения согласованности мнений, например, методом оценки по величине коэффициента корреляции Спирмера, коэффициентом вариации, парной ранговой конкордации или коэффициентом ассоциации. Причём часть методов подразумевает парное сравнение и оценку мнений экспертов.
Итак, в статье рассмотрена разработка программного обеспечения (ПО) для определения согласованности мнений экспертов путём анализа входных данных с помощью вычисления коэффициента конкордации W Кендалла-Смита.
При строгом ранжировании оценок (в случае отсутствия равных рангов) экспертов формула вычисления коэффициента конкордации представлена следующим образом:
где т - число экспертов; п - число оцениваемых параметров (направлений); Гц - ранг ьго параметра, присвоенный ]-ым экспертом.
В случае наличия равных рангов формула вычисления коэффициента конкордации имеет вид:
У Ё,-1г^т(п+1)1 ^ = 1 ; -, (2)
где т - число экспертов; п - число оцениваемых параметров (направлений); Гц - ранг ьго параметра, присвоенный ]-ым экспертом; и - число повторений каждого ранга для ьго эксперта; к - число повторяющихся рангов для ьго эксперта.
Постановка задачи:
ПО не позиционируется как информационная система (база данных о факторах/направлениях и экспертах не используется в связи с тем, что главная цель - вычисление степени согласованности мнений экспертов методом оценки коэффициента конкордации);
создание графической оболочки для лучшего визуального контакта с системой;
возможность ввода оценок экспертов от 0 до + оо;
корректное вычисление коэффициента конкордации с ранжированием исходных данных;
корректное формирование оценки степени согласованности мнений экспертов, согласно алгоритму вычислений.
Обобщенный алгоритм работы программы. Предполагается, что информация о факторах собирается ранее, поэтому на вход ПО подаётся априорная информация. Ввод данных осуществляется посредством формы, которая формируется исходя из указанных данных о количестве экспертов и факторах.
В разрабатываемом ПО применяется метод с ранжированием экспертных оценок, поэтому после обработки данных производится обработка данных оценок на выявление идентичных групп оценок (число связок в оценках ьго эксперта), так как от этого зависит последующий алгоритм действий программы. В зависимости от количества повторяющихся элементов в оценках (в случае, когда повторяющихся оценок не обнаруживается ПО не производит подсчёт показателя равных рангов) производится вычисление коэффициента конкордации по формулам 1 и 2 и делается вывод на основе полученных данных.
На рис.1 представлена ШЕБО модель, контекстная диаграмма и дочерняя диаграмма верхнего уровня, отображающие структуру и функции ПО определения степени согласованности мнений экспертов.
Описание принципа создания графической оболочки. Для создания графической оболочки в в приложении применяются два элемента БртВох и РиБИВиКоп. Два элемента БртВох задают количество экспертов и факторов, вторая группа элементов РизИВиИоп предназначена для
12
построения таблицы для ввода данных. Построенная таблица содержит объекты QLineEdit. Кнопки позволяют запустить алгоритм построения таблицы ввода данных и рассчитать коэффициент конкордации. На рис.2 представлен пример графического интерфейса, разработанного ПО.
Требования к Нормативные
результативности документы
Рис. 1. Структурно-логическая схема в нотациях 1ВЕ¥0 модели определения степени согласованности мнений экспертов
■ MainWindow
□
X
Кол-во экспертов Кол-во направлений
2 ;
Эксперты I Факторы ■
Построить таблицу ввода
Рассчитать W
Рис. 2. Графический интерфейс приложения
На рис. 3 представлен листинг кода, демонстрирующий принцип создания таблицы ввода данных.
Описание принципа создания программного кода. На рис.4 представлен листинг кода расчётного алгоритма программы.
Принцип работы расчётного алгоритма заключается в том, что вводится переменная типа bool для первоначальной оценки введённых данных. Далее вводятся две переменные типа int, которые служат для присваивания им введённых данных: количество экспертов и факторов. На основе вышеперечисленных первоначальных данных создаются две матрицы одинакового размера.
whil^ item^ ) {
Рис. 3. Листинг кода создания таблицы для ввода данных
void MainWindow::on_pushButton_clicked() {
boot repeat = false;
int m = ui->spinBox->value(), ri = ui ->spinBox_2->value () ; //n J//иол-во направлений/столбиков //т;//кол-во экспертов/строк int **B_m = new int*[n]();
for (int i = O; i < m; i++) B_m[i] = new int[n](); int **rang = new int*[n]();
for (int i = i < m; i++) rang[i] = new int[n]();
int vcount = 0;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
B_m[i][j] = Ved[vcount]->text().toInt(); vcount++;
}
3
for(int i = O; i < m; i++){ if(repeat) break; QList<int> list; QSet<int> set; for(int j = 0; j < n; j++){ list.append(B_m[i][j]);
}
//set = QSeteints flnst.begin(), list.end()); set - list.toSet{) ;
if(set.size() != list.size()) repeat = true;
}
if ( repeat) -£
Wi thRepeat (m, ri, B_m, rang);
3
el: ef
Wi thoutRepeat (m, n} rang)\
3
Рис. 4. Листинг работы расчётного алгоритма
Матрица B_m служит для размещения в ней введённых пользователем значений из таблицы, представленной на рис.3 с помощью вектора Ved, хранящего данные типа QLineEdit. Далее производится построчный
перебор матрицы и с помощью объектов типа QList и QSet устанавливается приготовленный флаг в нужное положение в зависимости от повторяющихся значений в строке. Соответственно, в зависимости от значения repeat вызывается функция WithRepeat() или WithoutRepeat().
Случай, когда алгоритм определил повторяющиеся значения, вызывается функция WithRepeat(). Данная функция принимает четыре значения: количество экспертов, количество факторов и два указателя на ранее созданные массивы. В данном случае необходима матрица с нестрогим ранжированием, которую необходимо объявить.
Далее изначальная матрица построчно анализируется для заполнения матрицы со строгим ранжированием. Для того, чтобы записывать строки начальной матрицы объявляется вспомогательный массив tmp и через два вложенных цикла определяются максимальные значения в строке. После каждым значениям присваиваются ранги с помощью вспомогательного счётчика на свои индексы в матрицу со строгим индексированием.
Следующим этапом созданы массивы О и S, которые заполняются расчётными данными, согласно формулам 3,4:
где О; - показатель обобщённого мнения экспертов; m - количество экспертов; Вт - величина оценки.
S — Хт=1 ^Ш) (4)
где S - сумма рангов оценок экспертов по факторам; Rm - ранги.
После заполнения массивов подсчитываются суммы О и S - osum и SUMRANG соответственно.
Для вычисления коэффициента конкордации в случае равных рангов необходимо дополнительно определить величину показателя равных рангов, поэтому с помощью объектов QList и QSet, вложенным циклам и вспомогательному массиву L (размерность массива L равна set), подсчиты-вается количество повторяющихся элементов. Определяется ti - число повторений и суммирует их в SUMT. Все необходимые значения известны и, соответственно, считается коэффициент конкордации W.
На рис. 5 представлен листинг кода функции WithRepeatQ.
В случае отсутствия в строке значений с повторениями вызывается функция WithoutRepeat(). Набор параметров идентичен функции WithRepeatQ. Изначально, заполняется массив со строгим ранжированием, так как иные массивы не требуется в виду того, что значения не повторяются, следовательно, производится расчёт только SUMRANG (считать osum не нужно, так как в конечной формуле данное значение не понадобиться). Производиться подсчёт dsum с помощью массива S. Все значения известны, поэтому производится вычисление коэффициента конкордации W.
На рис. 6 представлен листинг кода функции WithoutRepeatQ.
void NoiinWiiridew: :WithRepeat{int mr int fij int. **B_mr int. **rang> ;
double **rnrgED = new double* [n] О j-
for {int i = 0; Hi < m; 1++} rnrgEDM] = new double[n]{); for{int i = 0; i < n; i++>{ ■ nt *tmp = new int[in]{)-; <JLi st<int> list; qs«t<iin» set:;.
for{int j = 0;. j < n; 3++}{ tmp[jj = E.Wi] [j] ■ li st. e pper d itmp [ j ] > ;.
}
¿/set = {JSetc-intxClist. begin{>, li st. erd С > > ; set - list.toSetf);
"int тик = -Вrnnxjj = 0r count = 1; for{int j = 0; j < n; j++>{
for{int k = 0; kin; k+-t-}{ l f (tmp[k] > max} [ Tie x = tnp[k]j. max | = k;
}
}
rerg[ij [mnxjj = count;. count++;. tmp[mnxji] = 0; тих = тих | = 0;.
i
count = 0;.
Tint S UN-Count = 0;
for {int k S; k < set. size{} j. k+-+){
for {int 1 = 0;. I < list.sixe{); l++}{
if ( = et.vn,l.ues{>. tnkeAt{k) == list[!]>{ count++;
£U"CourTt f= rerg[i] [I] ;
}
}
for {int. 1 = 0;. I i li bit. size* >; !++}{
if (set. 'jHluesO .takeAt{k} == list[l]}{
rnrgEDri] [I] = double (5-uvcourrt'i } double {count);
}
}
count = SUV Count = 0;.
i
j
double = new double[n]{>; double *S = new double[n]{>; for{int i = 0; i < n; i++}{ •doucle tmp = 0; for (int j = 0; j i m; 3+-+-}{
s[-": -= ™gED[-; ;;
:■
0[i] = tmp / m;
}
double suhrakc = 0;
for { int. i = 0; i < n; i++> sumkakgi += s[ i]|; B4MRAH6 /= n; double osum = 0;.
for {лfit i = 0; i < n; i++>{
osum += pew((SUHRAKG - double{S[i])), 2};
}
int S-UHT = 0;
for {int. i = 0; i < m; !++)■{ <JListiint> list; qs«t<inU set;
for {lint j = 0; j < n; j++>{ li st.и pper d i B_n[i][j]>;
}
set - list. toSetQ;
int *L = new int[set.size{>]{>;
for {int k = 0; k < set. k++){
for {int I = 0; I < list.si£e{); !++>{
if{set.vnluesO. tnkeAt{k) == list[l]>{ L[k]++;
}
}
SUMT += int(pow{L[k]rJ>> - L[k];
}
}
double W = 0;
w = 12 / {pow(mr 2} * (powfn, l> - n) - m * sumt> * osum; qDebug:) << w;
void MainWn ndow: : WnthoutRepeat ("int m, int n, int **B_m, int **rarig) {
for(int i = a; i < m; i++){
int *tmp = new int[n]();
for(int j = j < n; j++){ tmp[j] = B_m[i][j];
}
irt max = ©, maxj = 0, count = 1; for (int j = 0; j < n; j++H
for(int k = 0; k < n; k++){ if(tmp[k] > max) { max = tmp[k]; maxj = k;
}
}
rarg[i][maxj] = court;
count++;
tmp[maxj] = ©;
max = maxj = 0J
3
}
double *Q = new double[n](); int *S = new int[n](); for(irt i = Э; i < n; i++){ double tmp = 0; for (int j = 0; j < m; j++){ tmp += B_m[j][i]; S[i] += rang[j][i];
)
0[i] = tmp / m;
>
double SUMRANG = 0;
for(int i = 9; i < n; i++) SUMRANG += S[i];
SUMRANG /= n;
double W = 0f dsum = 0;
for (int i = 0; i < n; i++){|
dsum += pow((SUMRANG - double(S[i])), 2);
}
W = dsum t 12 / (pow(mf 2) * (pow(n, 3) - n)); qDebug() << W;
Рис. 5. Листинг кода функции Рис. 6. Листинг кода функции
1¥ИНЯервМ0 WithoutRepeat()
Выводы. Спроектированная система вполне применима в реальных условиях эксплуатации. Совершено функциональное тестирование системы, которое направлено на выявление и последующее устранение ошибок,
16
то есть протестированы все необходимые компоненты согласно поставленной задаче разработки ПО. В ходе тестирования проекта не было выявлено ошибок, что полностью соответствует предъявляемым требованиям.
Список литературы
1. Р 50.1.028-2001. Информационные технологии поддержки жизненного цикла продукции. Методология функционального моделирования. М.: ИПК Издательство стандартов, 2001. 49 с.
2. Басовский Л.Е., Лунёва A.M., Басовский А. Л. Теория экономического анализа: учебное пособие. М.: Инфра-М, 2008. С. 32 - 34.
3. Баранова Е.М. Учебное пособие по дисциплине Информационные процессы и системы (Направления «Информационная безопасность»). Тула, ТулГУ, 2008. С. 12 - 15.
4. Орлов А.И. Экспертные оценки: учебное пособие. М., 2002. 31 с.
5. Шлее М. Qt 5.10. Профессиональное программирование на С++. М.: БХВ-Петербург, 2018. 1072 с.
6. Qt Documentation // Qt | Cross-platform software development for embedded & desktop. [Электронный ресурс] URL: https://doc.qt.io/ (дата обращения: 05.02.2020).
Кузьмин Илья Евгеньевич, студент, ea.naxukamail.ru, Россия, Тула, Тульский государственный университет,
Сафронов Алексей Александрович, студент, alekseysafronovOagmail.com, Россия, Орёл, Орловский государственный университет,
Баранова Елизавета Михайловна, канд. техн. наук, доцент, elisaf-ineayandex.ru, Россия, Тула, Тульский государственный университет,
Борзенкова Светлана Юрьевна, канд. техн. наук, доцент, tehnolaramhler. ru, Россия, Тула, Тульский государственный университет
DEVELOPMENT OF A COMPUTING SYSTEM DEGREE OF CONSISTENCY OF EXPERT OPINIONS IN THE FIELD OF INFORMATION SECURITY BY FINDING THE
CONCORDANCE COEFFICIENT
I.E. Kuzmin, A.A. Safronov, E.M. Baranova, S. Yu. Borzenkova
The article describes the main stages of system design to determine the degree of consistency of opinions of experts in the field of information security hy determining the concordance coefficient.
Key words: information security, information automated system, expert assessment, consistency of opinions, concordance coefficient.
Kuzmin Ilya Evgenievich, student, ea. naxuka mail. ru, Russia, Tula, Tula State University,
Safronov Aleksey Aleksandrovich, student, alekseysafronovOagmail. com, Russia, Oryol, Oryol State University,
Baranova Elizaveta Mikhailovna, candidate of technical science, docent, elisaf-ine@yandex.ru, Russia, Tula, Tula State University,
Borzenkova Svetlana Yurievna, candidate of technical science, docent, tehnol@rambler. ru, Russia, Tula, Tula State University
УДК 69.051
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ПРОИЗВОДСТВА ЗИМНЕГО БЕТОНИРОВАНИЯ ПОСРЕДСТВОМ ПРИМЕНЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ «POTENCIAL-CWC»
А. А. Лапидус, А. О. Хубаев
Данная научная работа посвящена изучению и решению проблем организации процессов в области монолитного строительства, осуществляемого в зимний период. Актуальность темы исследования обоснована географическим положением и климатическими условиями нашей страны. Предметом исследования являются организационно-технологические решения при производстве зимнего бетонирования. Целью исследования являлось создание инструмента, позволяющего повысить эффективность производства зимнего бетонирования. И как положительный результат решения поставленных нами задач в данной работе представлено созданное программное обеспечение.
Ключевые слова: зимнее бетонирование, организационно-технологический потенциал, математическая модель, электронно-вычислительные машины, монолитное строительство.
В настоящее время производство монолитных железобетонных конструкций является неотъемлемой частью строительства, более того оно занимает лидирующие позиции на строительном рынке. Темпы строительства в России диктуют необходимость круглогодичного производства строительно-монтажных работ. В связи с чем, мы сталкиваемся с производством работ при отрицательных температурах окружающей среды. Это связано не только с климатическими особенностями в нашей стране, но и с ее географическим расположением.
Всем известен факт, что монолитные работы, проводимые при отрицательной температуре окружающей среды, сопровождаются различными сложностями и проблемами. Согласно нормативным документам, производство бетонных работ при среднесуточной температуре окружающей среды менее +5 градусов и суточной температуре ниже 0 градусов необходимо принимать специальные меры по выдерживанию уложенного в конструкции и сооружения бетона [1]. В связи с этим, происходит увеличение трудоемкости строительных работ, отставание от графика производства работ и увеличение сметной стоимости производимых работ, в сравнении с нормальными условиями окружающей среды.