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

ТПР_ЛР4_Ибрагимова_МО417

.docx
Скачиваний:
2
Добавлен:
14.09.2022
Размер:
835.74 Кб
Скачать

Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Уфимский государственный авиационный технический университет»

Факультет информатики и робототехники

Кафедра вычислительной математики и кибернетики

Отчет по лабораторной работе №4

«Метод построения рейтингов»

по дисциплине 

«Теория принятия решений»

Выполнил:

студент группы МО-417

Ибрагимова К.Б.

Проверила:

Николаева М. А.

Уфа 2021

Задание:

Необходимо освоить способы построения рейтинга объектов с помощью программного продукта (ПП) «Автоматизированная система построения рейтингов».

Теоретические сведения:

ПП «Автоматизированная система построения рейтингов» предназначен для построения рейтингов объектов, если информация об объектах представлена в виде:

− набора индивидуальных ранжирований (1-ая группа методов);

− значений набора критериев (2-ая группа методов). 

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

К 1-ой группе методов относятся метод Борда и «медиана Кемени», ко 2-ой группе относятся метод анализа иерархий Саати и алгоритм Мамдани.

ПП может использоваться для решения как практических, так и исследовательских задач.

Алгоритм работы с ПП «Автоматизированная система построения рейтингов»:

1. ввод участников рейтинга;

2. если для построения рейтинга используется метод Саати или алгоритм Мамдани, то их настройка;

3. ввод данных для соответствующего метода(ов);

4. просмотр результатов соответствующего метода(ов)

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

Описание исходных данных

Для освоения способов построения рейтинга объектов с помощью ПП «Автоматизированная система построения рейтингов» рассмотрена задача ранжирования интегрированных сред разработки (IDE) для разработки веб-приложения. Были выбраны 5 основных интегрированных сред разработки.

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

NetBeans – свободная интегрированная среда разработки приложений на языках программирования Java, Python, PHP, JavaScript, C, C++, Ада и ряда других.

Geany – среда разработки программного обеспечения, написанная с использованием библиотеки GTK+. Доступна для следующих операционных систем: BSD, GNU/Linux, Mac OS X, Solaris и Windows.

Ligh Tablet – легковесная интегрированная среда разработки, написанная на ClojureScript с использованием node.js.

JetBrains – международная компания, которая разрабатывает инструменты для разработки на языках Java, Kotlin, C#, F#, C++, Ruby, Python, PHP, JavaScript и многих других, а также средства командной работы.

Данные занесены в таблицу 1 (источник – URL: https://proglib.io/p/webdev-editors?comment=0908990c-e17a-4c6c-b354-f0dbf4d6dbd5 ).

Таблица 1

Название

Работа с базами данных

Профилирование

Рефакторинг

Статический анализ кода

Отладка программы

Поддержка Git

Eclipse

2

1

2

2

2

2

NetBeans

2

2

2

2

2

2

Geany

0

0

0

2

1

2

Light Table

0

0

0

0

2

1

JetBrains IDE’s

2

2

2

2

2

2

Сравнение производилось по следующим критериям:

Работа с базами данных – возможность выполнения операций с базой данных в разрабатываемом приложении.

Профилирование – возможность оценки времени, затрачиваемого на выполнение отдельных операций в разрабатываемом приложении.

Рефакторинг – возможность проведения изменения исходного кода разрабатываемого приложения без изменения его внешнего поведения.

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

Отладка программы – возможность во время выполнения проведения остановки разрабатываемого приложения по заданным условиям с последующим просмотром ресурсов (например, значением переменных), пошаговым выполнением для локализации и исправления ошибок.

Поддержка Git – возможность использования системы контроля версий, которая помогает отслеживать историю изменений в файлах разрабатываемого приложения.

Значения в таблице внесены из соображения:

0 – если возможность отсутствует;

1 – если возможность присутствует с помощью расширения;

2 – если возможно доступна сразу после установки.

Описание работы

При первом запуске программы необходимо внести объекты, для которых будет строиться рейтинг. Полученное окно программы показано на рис. 1.

Рис. 1. Окно программы со списком объектов

Применение метода Борда и «медианы Кемени»

Для работы с 1-ой группой методов (метод Борда, «медиана Кемени») необходимо открыть окно для ввода данных, выбрав пункт меню «Данные», подпункт «Медиана Кемени».

Далее необходимо добавить экспертов, которые будут ранжировать объекты. На рис. 2 показаны введенные значения ранжирования объектов экспертами.

Рис. 2. Данные о ранжировании экспертами

Результат работы метода Борда и «медианы Кемени» приведен на рис. 3.

Рис. 3. Окно просмотра результатов

Метод Саати

Для работы с методом Саати необходимо:

1. представить проблему исследования в виде иерархии;

2. ввести данные для определения «важности» подцелей и критериев, а также значений критериев для объектов.

На примере выбора интегрированных сред разработки (IDE) для разработки веб-приложения, можно представить данную задачу в виде иерархии. Имеется список критериев и подкритериев, по которым необходимо выбрать IDE:

  1. Работа с базами данных

  2. Работа с приложением

  • Профилирование

  • Отладка программы

  1. Работа с исходным кодом

  • Рефакторинг

  • Статистический анализ кода

  1. Поддержка Git

Занесем выше представленный список критериев в программу и построим иерархию. Для этого в пункте меню «Настройки» выберем «Метод Саати».

На рис. 4 представлена иерархия критериев для рассматриваемого примера.

Рис.4. Иерархия для выбора IDE для разработки веб-приложения

На рис. 5-6 приведены примеры сравнения объектов по критериям «Отладка программы» и «Поддержка Gitt».

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

Рис.5. Ввод значений матриц сравнений для критерия «Отладка программы»

Рис.6. Ввод значений матриц сравнений для критерия «Поддержка Git»

Результат работы метода Саати приведен на рис. 7.

Рис.7. Окно просмотра результатов

Алгоритм Мамдани

Данный алгоритм можно использовать не только для построения рейтингов, но также для исследования любой проблемы, знания о которой можно представить в виде правил вида «если …, то…».

Для работы с алгоритмом Мамдани необходимо в главном окне программы выбрать пункт меню «Настройки» подпункт «Алгоритм Мамдани».

Рассмотрим работу алгоритма Мамдани на описанном выше примере. В качестве входных переменных рассмотрим отладку программы и профилирование.

Для каждого критерия необходимо определить тип функции принадлежности:

  • Отладка программы – трапециевидная (рис.8),

  • Профилирование – трапециевидная (рис. 9),

Рис. 8. Нечеткая переменная «Отладка программы»

Рис. 9. Нечеткая переменная «Профилирование»

Выходной переменной будет являться рейтинг, функции принадлежности которой − трапецеивидная и треугольная (рис. 10).

Рис. 10. Нечеткая переменная «Рейтинг»

Примеры правил приведены на рис. 11.

Рис. 11. Окно алгоритма Мамдани

Рис. 12 Окно ввода данных для алгоритма Мамдани

Результаты работы алгоритма приведены на рис. 13.

Рис. 13 Просмотр результатов алгоритма Мамдани

Просмотр результатов

Для просмотра результатов работы всех методов необходимо в окне «Просмотр результатов» поставить флажки для необходимых методов и нажать на кнопку «Пересчитать» (рис. 14). По данной диаграмме и таблице можно сделать окончательные выводы.

Рис. 14. Просмотр результатов всех результатов

Вывод

В ходе выполнения данной лабораторной работы были изучены метод построения рейтингов с помощью программного «Автоматизированная система построения рейтингов» для задачи выбора сервиса для поиска по лицу человека.