Помощь в написании студенческих работ
Антистрессовый сервис

Алгоритм решения задачи

РефератПомощь в написанииУзнать стоимостьмоей работы

Experts — массив результатов ранжирования экспертов. Представляет собой ряд одномерных массивов, количество элементов ряда равняется количеству экспертов. Каждый член ряда закреплен за конкретным экспертом и имеет свой индекс. Массив содержит ранги параметров, заданные экспертами. Длина массива равна количеству оцениваемых параметров. Индекс ранга соответствует индексу параметра в массиве… Читать ещё >

Алгоритм решения задачи (реферат, курсовая, диплом, контрольная)

В ходе проектирования информационной системы была разработана структурная схема информационной системы по методам обработки экспертной информации. Схема представлена на рисунке 5.1.

Структурная схема программного обеспечения системы.

Рисунок 5.1. Структурная схема программного обеспечения системы.

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

Схема состоит из 10 модулей и базы данных.

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

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

Модуль эксперта имеет доступ к модулю прохождения задачи.

Модуль обработки информации включает в себя 4 подмодуля: модуль обработки данных методом ранжирования, модуль обработки данных методом парного сравнения, модуль обработки данных методом множественного сравнения, модуль обработки данных методом непосредственной оценки.

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

Программирование и реализация программных модулей системы

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

  • 1) установка списка экспертов;
  • 2) установка списка оцениваемых параметров;
  • 3) формирование окна создания и редактирования задачи;
  • 4) формирование окна прохождения задачи;
  • 5) установка результатов экспертной оценки;
  • 6) формирование отчета.

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

Также все модули реализуют функцию установки списка экспертов, которая получает массив целых чисел. Каждое из этих чисел является идентификатором существующего эксперта.

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

Все остальные методы в каждом модуле требуют разного набора входных данных и имеют различную реализацию.

Функция установки результатов экспертной оценки для метода ранжирования получает массив номеров оцениваемых параметров, которые должны быть отсортированы в порядке убывания важности. Также для ранжирующих экспертов метод должен принимать массив идентификаторов экспертов, отсортированных в порядке убывания компетентности. Блок-схема алгоритма обработки данных методом ранжирования представлена на рисунке 5.2.

Сначала получается информация из базы данных. Для вычисления результата необходимы следующие данные:

  • 1) questions — массив вопросов. Представляет собой ряд оцениваемых параметров. Каждый вопрос имеет свой индекс;
  • 2) experts — массив результатов ранжирования экспертов. Представляет собой ряд одномерных массивов, количество элементов ряда равняется количеству экспертов. Каждый член ряда закреплен за конкретным экспертом и имеет свой индекс. Массив содержит ранги параметров, заданные экспертами. Длина массива равна количеству оцениваемых параметров. Индекс ранга соответствует индексу параметра в массиве questions;
  • 3) ranking — массив результатов ранжирования экспертов. Представляет собой ряд одномерных массивов, количество элементов ряда равно количеству оценивающих экспертов. Массив содержит ранги экспертов, заданные ранжирующими экспертами. Длина массива равна количеству экспертов. Индекс ранга соответствует индексу эксперта в массиве experts.

Далее необходимо выполнить ранжирование экспертов и вычислить их вес. Для этого в цикле выполняется сложение рангов экспертов для каждого результата из массива ranking.

Далее выполняется вычисление средней суммы рангов по формуле:

(5.1).

(5.1).

где m и n — количество ранжирующих и ранжируемых экспертов соответственно.

После этого выполняется проверка согласованности ранжирующих экспертов. Для этого сначала в цикле вычисляется сумма Разность между суммой рангов и средней суммой рангов рассчитывается по формуле:

. (5.2).

После ввода уровня значимости б рассчитывается табличное значение с помощью функции chi2inv (б, k) и расчетное значение по формуле:

. (5.3).

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

Далее выполняется расчет весов экспертов. Веса экспертов распределены на промежутке от 1 до 2 включительно. Поэтому можно рассчитать разность между ближайшими весами по формуле:

(5.4).

(5.4).

где n — количество различных рангов. Далее для каждого эксперта рассчитывается значение его веса в соответствии с его рангом. После расчета весов, рассчитывается их сумма.

Далее выполняется ранжирование параметров. Для этого в цикле выполняется сложение рангов параметров для каждого результата из массива experts.

Затем выполняется вычисление средней суммы рангов по формуле:

(5.5).

(5.5).

где n — количество оцениваемых параметров, — сумма рангов экспертов.

Далее проверяется согласованность экспертов. Для это сначала в цикле вычисляется сумма. Затем после ввода уровня значимости б рассчитывается табличное значение с помощью функции chi2inv (б, k) и расчетное значение. После проверки условия согласованности выводится соответствующий результат.

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

Блок-схема алгоритма обработки данных методом ранжирования.

Рисунок 5.2. Блок-схема алгоритма обработки данных методом ранжирования.

Блок-схема алгоритма обработки данных методом парного сравнения представлена на рисунке 5.3.

Блок-схема алгоритма обработки данных методом парного сравнения.

Рисунок 5.3. Блок-схема алгоритма обработки данных методом парного сравнения.

В первую очередь получается информация из базы данных. Для вычисления результата необходимы следующие данные:

  • 1) questions — массив вопросов. Представляет собой ряд оцениваемых параметров. Каждый вопрос имеет свой индекс;
  • 2) experts — массив результатов оценивания экспертами. Представляет собой массив матриц, количество элементов которого равно количеству экспертов. Каждый член ряда имеет индекс и закреплен за конкретным экспертом. Матрица имеет размер N на N, где N — количество оцениваемых параметров. Она содержит оценки параметров, заданные экспертами. Номер строки, как и номер столбца, соответствует индексу оцениваемого параметра из массива questions.

Далее в цикле выполняется расчет массива sumByParam и переменной allSum. Массив sumByParam — массив длиной, равной количеству оцениваемых параметров, содержащий сумму оценок параметра с учетом результатов каждого эксперта. Индекс массива соответствует индексу оцениваемого параметра из массива questions. Переменная allSum хранит сумму всех оценок всех параметров.

Далее в цикле рассчитывается массив важности параметров. Индекс массива соответствует индексу оцениваемого параметра из массива questions. Расчет выполняется по формуле:

(5.6).

(5.6).

где — важность параметра с индексом i, — сумма оценок параметра с индексом i, s — сумма оценок всех параметров.

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

Блок-схема алгоритма обработки данных методом множественного сравнения и сам алгоритм соответствует алгоритму и блок-схеме алгоритма обработки данных методом парного сравнения.

Блок-схема алгоритма обработки данных методом непосредственной оценки приведена на рисунке 5.4.

Блок-схема алгоритма обработки данных методом непосредственной оценки.

Рисунок 5.4. Блок-схема алгоритма обработки данных методом непосредственной оценки.

Алгоритм обработки данных методом непосредственной оценки аналогичен алгоритму обработки данных методом парных сравнений. Отличие заключается в том, что при получении результатов в массиве experts содержится ряд оценок параметров, заданных соответствующим экспертом. Индекс ряда соответствует индексу оцениваемого параметра в questions.

Показать весь текст
Заполнить форму текущей работой