ВВЕДЕНИЕ
Работа с компьютером практически невозможна без устройства вывода – монитора. Несмотря на всё большее распространение смартфонов и ноутбуков, персональные компьютеры в формате системного блока всё также пользуются спросом из-за своей модульности и мощности. Люди, чья профессиональная деятельность связана с компьютером часто используют два и более мониторов, а пользователи ноутбуков используют отдельный монитор как дополнительный, либо «домашний» больший дисплей.
Однако современные мониторы значительно усложнились с технической точки зрений, а число неочевидных характеристик возросло. Помочь в данном случае может специальная экспертная система, разновидность системы искусственного интеллекта, которая может заменить эксперта-человека при решении задач узкоспециализированной сферы.
ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
Создание экспертной системы начинается с анализа предметной области. В данном случае, в результате этого анализа была создана семантическая сеть. Семантическая сеть – это один из способов представления знаний. Она имеет вид ориентированного графа, вершины которого это объекты предметной области, а стрелки — это связи между ними.
Она представлена на рисунке ниже. Была отображены только часть экземпляров и значений некоторых критериев, для удобства восприятия.
Рис. 1 Семантическая сеть
Была разработана собственная экспертная система. Алгоритм ее работы представлен на рисунке 2.
Рис. 2 Алгоритм работы экспертной системы
В процессе опроса (вопросы, задаваемые системой представлены в виде схемы на рисунке 3) программа собирает предпочтения пользователя. После последнего вопроса, исходя из собранных значений составляется запрос для базы данных для того, чтобы получить список мониторов, полностью подходящих под предпочтения пользователя. Если таковые не находятся, пользователю предлагается выбрать и исключить наименее важный критерий, после чего запрос вновь формируется и отправляется в базу данных, и так, до тех пор, пока результат не будет найден, либо пока критерии (предпочтения) не закончатся, тогда будет выведено сообщения, что подходящих мониторов на нашлось.
Рисунок 3 – Схема опроса экспертной системы
На схеме, в каждому блоке вопроса сверху полужирным шрифтов расписан текст вопроса, а ниже его варианты ответа. Стрелками показаны вопросы, которые будут следующими при выборе соответствующего варианта ответа, или просто следующего вопроса, если исходящая стрелка одна.
Над некоторыми стрелками обозначено, какие предпочтения они определяют, если пояснений нет, значит либо ответ не добавляет кое-либо предпочтение, либо оно очевидно следует из текста варианта ответа.
Стоит уточнить, что после вопроса о соотношении сторон, пользователю будет дан выбор из разрешений дисплея, соответствующих выбранному соотношению сторон, т.е. список вопросов строится динамически, в зависимости от предыдущего ответа. В случае, если пользователь пропустит этот вопрос, ему будет предложено выбрать разрешения из полного перечня.
На схеме, в трех последних вопросах не описан список вариантов ответа для краткости. На самом деле, они имеют список вариантов ответа аналогичный вопросу про регулировку высоты подставки («Да», «Нет», «Не важно»).
Все вопросы, и некоторые варианты ответа в системе имеет дополнительное описание, с пояснениями. Например, в вопросе о типе дисплея, при наведении на вариант ответа выводится информация об особенностях этого типа дисплея.
Стоит подробнее рассказать о функциональных классах, которые были спроектированы и реализованы при разработке экспертной системе.
В первую очередь это класс вопроса. Он содержит собственно текст вопроса, описание и массив вариантов ответа.
Следующий класс, это класс варианта ответа. Его структура примечательнее, так как кроме собственно текста ответа и опциональной поясняющей информации он содержит еще нескольку важных полей – это сообщение для трассировки, название следующего вопроса и действие, которое будет выполняться при выборе этого варианта ответа.
Изначально, поле действие было предназначено для заполнения пользовательских предпочтений (для хранения которых также был разработан класс, но о нем позднее), однако тот факт, что данное поле представляет собой полноценную функцию, позволил реализовать динамическое изменение вариантов ответа следующего вопроса.
Тем не менее, возможности, которое дает такое архитектурное решение сложно переоценить, и можно смело сказать, что в данной статье представлены лишь самые очевидные варианты ее использования.
Класс предпочтений пользователя содержит массивы, соответствующие критериям, которые имеет монитор согласно семантической сети, описанной во второй главе, методы получения списка непустых критериев, и их «обнуления» для реализации исключения критерия из поиска в завершающей стадии программы, а также метод, строящий и возвращающий запрос для базы данных в соответствии выясненными в ходе опроса предпочтениями.
В системе все объекты вопросов записаны в словарь, где названию вопроса ставится в соответствие ссылка на экземпляр класса. Каждый раз, при переходе к следующему вопросу, используется его название из соответствующего поля выбранного ответ, с помощью словаря программа получает ссылку на объект с этим вопросом и ставит его текущим.
Кроме того, в конце работы системы, при выводе результатов, если таковые имеются, подсчитывается уверенность в том, насколько найденные модели мониторов подходят предпочтениям пользователя. Если подходящий результат был найден сразу, то уверенность равна .
В противном случае, если прошла одна или несколько итераций исключения критериев поиска, уверенность высчитывается по формуле:
где ККК – конечное количество критериев,
ИКК – изначальное количество критериев.
Программная реализация экспертной системы была создана на языке программирования C# с использование NET.Framework 4.6. Для создания интерфейса использовалась технология WPF (Windows Presentation Foundation).
При запуске программы пользователя встречает приветственное окно, на котором расположена небольшая инструкция к программе и кнопка для начала опроса (рисунок 4).
Рис. 4 Преветственное окно и окно опросника (слева-направо)
После нажатия на кнопку «Выбрать монитор» пользователю откроется окно с вопросами (рисунок 5).
При наведении на некоторые варианты ответа появляется всплывающая подсказка, с пояснениями или дополнительной информацией помогающей сделать выбор.
После вопроса о соотношении сторон, будет предложен выбор соответствующих разрешений экрана. Пример разных вариантов ответа вопросе представлен на рисунке 5.
а) б)
Рис. 5 Разрешение при выборе соотношения сторон 16:9 (а) и 4:3 (б)
Для тестирования исключения вариантов были выбраны следующие характеристики: Цвет корпуса – Белый, Тип дисплея – TN+film и Покрытие экрана – Матовое. Так как этому сочетанию не соответствует на одна модель в базе данных, пользователю предлагается исключить критерии (рисунок 6). В данном окне действуют те же правила управления, что в предыдущих окнах, т.е. можно использовать клавишу Enter и двойное нажатие левой клавишей мыши.
Рис. 6 Окно исключения критериев
При исключении «Цвет корпуса» будет выведен список моделей, соответствующих критериям поиска Тип дисплея – TN+film и Покрытие экрана – Матовое (рисунок 7). Однако, как видно в верхней части окна результатов произошла корректировка уверенности, и так как мы исключили один из трех критериев, уверенность стала равна
Рис. 7 Пример вывода окна результатов
В окне результата подходящие модели представлены в виде таблицы содержащей название модели, и ссылку на сайт, где можно подробнее ознакомиться с ней, уточнить цену и места, где можно купить данный монитор. Скопировать содержание ячейки таблицы можно стандартными клавиатурными сочетаниями.
По нажатию на кнопку «Вывести трассировку» появится дополнительное окно (рисунок 7). В нем будет последовательно отражены все выборы, которые сделал пользователь.
ВЫВОД
Созданная система может использоваться как часть интернет-магазина электронной техники, либо локально, в терминалах торговых залов.
Стоит отметить, что текущая версия экспертная система может называться лишь демонстрационной. Для ее использования в реальном проекте необходимо расширение базы знаний, и, в частности, например подключение системы к базе данных магазина, возможно, углубление либо уточнение схемы опросов.
СПИСОК ЛИТЕРАТУРЫ
Барашко, Е. Н. Средства отображения информации. Мониторы. Сравнительная характеристика [Текст]/ Е. Н. Барашко, К. Р. Товстореброва, И. А. Корытько // Cовременная наука: актуальные вопросы, достижения и инновации. – 2019. – С. 215-218.
Ильин, И. В. Типы современных ЖК-дисплеев [Текст] / И. В. Ильин //Вестник современных исследований. – 2017. – №. 2-1. – С. 146-150.
Учебное пособие по разработке экспертных систем [Электронный ресурс]. – Режим доступа:http://window.edu.ru/catalog/pdf2txt/741/79741/60180?p_page=2 – (дата обращения: 14.12.2019).
Халин, В. Г., Методологические аспекты создания и функционирования систем поддержки принятия решений [Текст] / В. Г. Халин, Г. В. Чернова, А. В. Юрков //Экономический анализ: теория и практика. – 2015. – №. 7 (406).