УДК 00.004

Реализация ДСМ-метода на Python

Файзрахманова Регина Радиевна – магистрант МИРЭА – Российского технологического университета

Аннотация: В данной статье рассматриваются системы поддержки принятия решений, какие задачи они решают и его применение в промышленной сфере. Был рассмотрен ДСМ-метод как основной метод для работы системы поддержки принятия решений. Предложена реализация ДСМ-метода на языке программирования Python.

Ключевые слова: JSM-метод, системы поддержки принятия решений, применение DSS, метод автоматической генерации гипотез.

Применение систем поддержки принятия решений

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

Системы поддержки принятия решений (СППР) применяются в различных областях, включая бизнес, экономику, финансы, науку, медицину, инженерное дело и т.д.

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

Средства проведения расчетов и прогнозирования включают расчетные задачи и математические модели.

Расчетные и расчетно-информационные задачи включают:

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

ДСМ-метод

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

Метод автоматического порождения гипотез в СППР основан на использовании различных алгоритмов машинного обучения, статистических методов и техник искусственного интеллекта. Он позволяет автоматически анализировать большие объемы данных, выделять важные признаки и зависимости, а также формулировать новые гипотезы на основе этих данных [1].

Процесс автоматического порождения гипотез в СППР включает следующие шаги:

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

Анализ данных – на этом этапе происходит анализ данных с помощью различных алгоритмов машинного обучения и статистических методов. В результате анализа выделяются важные признаки и зависимости между ними.

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

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

Теоретическая основа для применения логического программирования в ДСМ-методе была заложена в работах Д.В. Виноградова [2], [3]; наиболее известная практическая реализация ДСМ-метода на языке логического программирования описана в работе М.А. Михеенковой и Т.Л. Феофановой [4].

Имплементация ДСМ-метода

Последовательность исполнения ДСМ-алгоритма представлена на рисунке 1. Данный метод на вход получает матрицу данных.

image001

Рисунок 1. Функция вызова ДСМ-метода.

Первая функция разделяет данные на 3 различные группы, в зависимости от значения и возвращает многомерный массив с рассортированными объектами. Далее для каждого объекта с неизвестным свойством будет создана гипотеза на основе правил первого и второго рода.

Каждый объект является представителем класса Entity, и имеющий следующие атрибуты представленные на рисунке 2.

image002

Рисунок 2. Класс Entity.

Вторым этапом идет порождение гипотез о возможных причинах свойств объектов на основе правил первого рода. На рисунке 3 представлена функция нахождения множеств причин являющихся «+»-причиной или «-»-причиной.

image003

Рисунок 3. Функция нахождения множеств.

Далее идет проверка соответствия множества правилам первого рода (рисунок 4), данное множество – это:

возможная причина наличия свойства, если оно вкладывается в два и более «+»-примера, не более чем в один «-»-пример и не более чем в один «0»-пример;

возможная причина отсутствия свойства, если оно вкладывается в два и более «+»-примера, не более чем в один «-»-пример и не более чем в один «0»-пример.

В данной реализации была использована стратегия без использования контрпримеров, соответственно «0»-примеров в нашей матрице данных нет.

image004

Рисунок 4. Проверка соответствия правилам первого рода.

Третий этап, используя полученные множества создается гипотеза наличия свойства у объекта по правилам второго рода (рисунок 5). На этом этапе после получения гипотезы относительно заданного объекта исходная таблица достраивается. Этот процесс продолжается до тех пор, пока не будут доопределены все «?»-примеры.

image005

Рисунок 5. Функция вывода гипотезы.

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

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

Таблица 1. Матрица данных.

Объект

Свойство

П1

П2

П3

П4

П5

П6

П7

П8

1

+

+

+

+

+

-

-

+

-

2

?

+

+

-

+

+

-

+

-

3

-

+

+

+

-

+

-

-

+

4

-

+

-

-

-

+

+

-

+

5

+

-

+

-

+

-

+

-

+

6

-

-

+

+

-

-

+

-

+

7

+

-

+

+

-

-

+

+

-

8

?

+

-

-

+

+

-

-

+

9

-

+

-

+

-

+

-

-

+

Результаты работы программы показали следующий вывод:

o2 +

o8 -

Abduction

o1 + +

o5 + +

o7 + +

o2 + +

o3 - -

o4 - -

o6 - -

o9 - -

o8 - -

Список литературы

  1. Федотова Марина Александровна. Технологии искусственного интеллекта при прогнозировании эффективности командной работы: опыт, проблемы и перспективы практических исследований. Научный результат. Социология и управление – 2019. № 2.
  2. Виноградов Д.В. Логические программы для квазиаксиоматических теорий // НТИ. Cер 2. – № 1-2. – 1999. – C. 61-64.
  3. Виноградов Д.В. Корректные логические программы для правдоподобных рассуждений // НТИ. Cер. 2. – 2001. – № 5. – C. 25-28.
  4. Михеенкова М.А., Феофанова Т.Л. Обучающая ДСМ-система для анализа социологических данных // Вестник Российского государственного гуманитарного университета. Серия «Информатика. Информационная безопасность. Математика», 2009, вып. 10, с. 152 -169.

Интересная статья? Поделись ей с другими: