Попов А.А. Popov A.A.
кандидат технических наук, Сибирский государственный университет науки и технологий имени академикаМ.Ф. Решетнева, г. Красноярск, Российская Федерация
Овсянкин А.К. Ovsyankin А.К.
студент, Сибирский
государственный университет науки и технологий имени академика М.Ф. Решетнева, г. Красноярск, Российская Федерация
Юринский Ю.А. УиптШ Yu.A.
студент, Сибирский
государственный университет науки и технологий имени академика М.Ф. Решетнева, г. Красноярск, Российская Федерация
УДК 004 DOI: 10.17122/1999-5458-2019-15-2-57-62
ПРОЕКТИРОВАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ В ВИДЕ МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ ДИАГНОСТИРОВАНИЯ НЕИСПРАВНОСТЕЙ В РАБОТЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Экспертная система - это комплекс программ, аккумулирующий знания специалистов в конкретной предметной области и тиражирующий этот эмпирический опыт для консультаций менее квалифицированных специалистов.
Экспертные системы могут выступать в роли ассистента эксперта-человека в процессах анализа вариантов решений, а также могут быть консультантами для неопытных специалистов в какой-либо предметной области.
Мобильное приложение - современное программное обеспечение, предназначенное для работы на планшетах, смартфонах и других мобильных устройствах.
С каждым днем разрабатываются новые приложения для мобильных устройств, которые помогают обычным пользователям и приносят определенную выгоду разработчикам или заказчикам.
В данной статье представлены результаты проектного решения мобильного приложения для диагностирования неисправностей в работе вычислительной техники. Данное приложение планируется реализовать в виде экспертной системы, которая будет иметь свою базу знаний и правила вывода.
В работе приведено подробное описание работы экспертной системы, сформированы правила и факты работы. Разработан вывод решений диагностирующей экспертной системы.
Использован предыдущий опыт в разработке мобильных приложений, представлены методы и средства программной реализации, разработан прототип приложения.
Ключевые слова: экспертная система, база знаний, мобильное приложение, база данных, факты, диагностика, информационная система, мобильное устройство, диагностика, android-платформа.
DESIGNING THE EXPERTS SYSTEM AS A MOBILE APPLICATION FOR DIAGNOSTIC TROUBLESHOOTING IN COMPUTING TECHNOLOGY
An expert system is a set of programs that accumulates the knowledge of specialists in a specific subject area and replicates this empirical experience for consultations of less qualified specialists.
Expert systems can act as an assistant to a human expert in the process of analyzing decision options, and can also be consultants for inexperienced specialists in any subject area.
Mobile application - modern software designed to work on tablets, smartphones and other mobile devices.
Every day, new applications for mobile devices are being developed that help ordinary users and bring some benefit to developers or customers.
This article presents the results of the design solution of a mobile application for diagnosing malfunctions in the operation of computing equipment. This application is planned to be implemented as an expert system, which will have its own knowledge base and inference rules.
The paper provides a detailed description of the work of the expert system, the rules and facts of work are formed. The derivation of solutions of the diagnosing expert system is developed.
Previous experience in developing mobile applications was used, methods and tools for software implementation were presented, and a prototype of the application was developed.
Key words: expert system, knowledge base, mobile application, mobile device, database, facts, diagnostics, information system, diagnostics, Android platform.
Введение
В современном обществе трудно представить любую деятельность без использования средств вычислительной техники и сети Интернет. Ежедневно приходится обмениваться информацией по электронной почте, пользоваться поисковыми системами и другими развитыми сервисами, которые сейчас предоставляются конечным пользователям.
К сожалению, не все пользователи современной техники обладают необходимыми навыками, если случается сбой в работе оборудования или программного обеспечения. Обычные пользователи вынуждены обращаться за помощью в сервисные центры, к провайдерам или знакомым, обладающим соответствующими знаниями. На это все требуется время, которое может быть ограничено. А зачастую проблема решается перезагрузкой устройства или проверкой соединения, только пользователь должен знать, в каком «узле» искать неисправность.
В настоящее время практически у каждого человека есть современный смартфон. С помощью смартфонов люди узнают новости, информацию о пробках, погоду и другие вещи, которые сейчас можно перечислять бесконечно. Каждый день разрабатываются новые приложения для мобильных устройств,
которые помогают обычным пользователям и приносят определенную выгоду разработчикам или заказчикам.
Процесс диагностирования неисправности и её устранение можно решить без обращения к кому-либо, что позволит сэкономить время. В этом случае разрабатываемое программное средство способствует существенному упрощению данного процесса. Конечно, мобильное приложение не сможет заменить квалифицированную техническую помощь или произвести сложный ремонт оборудования, но в большинстве случав поможет решить проблему или установить причину неисправности.
Главная цель проектируемого мобильного приложения - упростить процесс диагностирования для конечного пользователя, за счет автоматизации и систематизации накопленного специалистами опыта в виде базы знаний экспертной системы.
Применение экспертных систем
Экспертная система (ЭС) - это комплекс программ, накапливающий знания специалистов в конкретной предметной области и копирующий этот эмпирический опыт для консультаций менее квалифицированных специалистов [5].
ЭС могут быть представлены в виде прикладных информационных систем или быть независимыми отдельными оболочками с универсальными функциями в роли человека-эксперта или консультанта, который предложит варианты решения проблемной ситуации в конкретной предметной области.
В ходе проектирования любой информационной системы (ИС) важным моментом является продумать организацию интерфейсной части, а именно организовать диалог ИС с пользователем. Особенно это важно при проектировании ЭС, потому что задаваемые вопросы пользователю должны быть понят-
Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемым также режимом консультации, или режимом использования ЭС).
Если рассмотреть режим приобретения знаний, то ведение диалога с ЭС осуществляется с помощью инженера по знаниям. Проблемная ситуация описывается экспертом в виде совокупности правил и фактов. В любой предметной области, представленной для изучения проблемной ситуации, есть свои объекты, которые обладают своими характеристиками и значениями - это есть факты. Манипулирование фактами для разрешения проблемной ситуации в предметной области - есть правила. Для решения проблемной ситуации эксперту необходимо приобрести знания и наполнить ими систему. Количество выявленных экспертом фактов и правил напрямую влияет на правильность решения задачи из проблемной области.
Задано множество фактов
ными и поступать в нужное время при определенной сложившейся ситуации. Поэтому техника ведения диалога должна быть тщательно продумана на стадии проектирования ЭС.
Типичная ЭС состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов (рис. 1)
[5].
которое состоит из элементов двух типов. Элементы а., определяют обычные декларативные знания из конкретной предметной области. Элементы qi определяют вид взаимодействия с внешней средой. В проектируемой ЭС в диалоговом окне пользователю предоставляются вопросы, касающиеся конкретной возникшей проблемной ситуации. Пользователь может согласиться с данным фактом или нет, в зависимости от выбора ЭС представит следующий вопрос:
^=/¿^■■■'4- (2)
Продукции в данной системе имеют вид
Множество фактов и продукций собраны в некоторую систему, представленную в виде диагностирующего графа «ИЛИ» с терминальными вершинами q q2, q3, q4,q5. На рисунке 2 приведен фрагмент такого графа.
Рисунок 1. Типовая структура ЭС
Рисунок 2. Диагностирующий граф
В графе «ИЛИ» ориентация дуг показы- / в рабочее поле и попадаем в новую вер-вает направление вывода. Естественное раз- шину — вопрос q2:
биение вершин графа по ярусам отражает глубину вывода.
Принцип работы проектируемой ЭС заключается в следующем. После обращения пользователя к ЭС мы попадаем в вершину q1 , инициирующую вопрос пользователю в виде соответствующего диалогового меню:
ql={/1,/2}. (4)
Допустим, на вопрос системы: «Какой из фактов // имеет место?» пользователь ответил: / В результате мы переходим по ссылке
Ч2={/3,/<}, (5)
где данная процедура повторяется.
В конце концов мы оказываемся в одной из терминальных вершин, где пользователь получает сообщение о результате.
Для проектируемой ЭС были выявлены часто встречающиеся проблемы и составлены вопросы q которые помогут разрешить проблемную ситуацию (рис. 3).
Рисунок 3. Вывод решений диагностирующей экспертной системы
Средства и методы разработки
На основе проведенных исследований, самыми частыми являлись вопросы, связанные с Интернетом и прочей интернет-периферией, были выявлены основные причины обращения к инженерам, составлены схемы диагностирования. В основу экспертной системы была заложена база знаний, которая содержит наиболее частые вопросы для обращения к инженерам используемого провайдера.
В качестве основной среды для разработки мобильного приложения было решено использовать IDE Android Studio, так как данное IDE создано специально для разработки приложений для устройств под управлением ОС Android [2].
В приложении планируется использовать базу данных (БД) SQLite, так как она включается по умолчанию в состав ОС Android. SQLite поддерживает стандартные возможности реляционных баз данных - синтаксис, транзакции. Кроме того, SQLite требует
Ш ы В 9:26
Диагностика PC
Нестабильная работа интернета по Wi-Fi
Пробовали перезагружать компьютер?
I д» ~1 I Нет ~1
После перезагрузки интернет появился?
1 Да ~П I Нет
Другие подключенные устрйоства к точке доступа работают стабильно?
( Да I
При подключении кабеля напрямую к устройству интернет появился?
[ Да | [ Нет |
Позвоните вашему провайдеру. Возможны технические неполадки на сервере провайдера. Либо проверьте баланс на лицевом счете
очень небольшого количества памяти для работы. Использование SQLite в ОС Android не требует установки БД или администрирования [3]. Вы указываете SQL-запрос для работы с БД, и необходимые операции администрирования выполняются автоматически.
Разработанное с помощью IDE Android Studio мобильное приложение состоит из трех активных окон.
Главное окно - строится на основании таблицы из базы данных, состоящей из ключевых вопросов о том или ином симптоме.
Опросное окно - строится путем вывода пользователю наводящих вопросов по его симптому, где пользователь взаимодействует с системой путем согласия или несогласия с предоставленным вопросом посредством простых ответов «Да» и «Нет», на основании которых система делает выводы и либо задает дополнительный вопрос, либо информирует пользователя о возможном диагнозе (рис. 4).
Й N •Ii 0 9:4i
Диагностика PC
Низкая скорость интернета
Подключение к интернету осуществляется напрямую?
I Да ~] I ~)
Перезагрузите роутер. Перезагрузка решила вашу проблему?
I Да ~1 I Нет
Проблема в роутере. Рекомендуется диагностика устройства
Рисунок 4. Представления опросного окна
Окно «О программе» - содержит инфор- названием диагностической схемы и фикси-
мирующий характер о разработчике и назна- руется в верхней части опросного окна. Ниже
чении программы. данного блока пользователю выводится
В соответствии с диагностической схемой, начальный наводящий вопрос, соответству-
выбранной в главном окне информационной ющий данной диагностической схеме с вари-
системы, на опросное окно выводится блок с антами ответов в виде кнопок «Да» и «Нет».
При выборе пользователем какого-либо варианта экспертная система обрабатывает результат и принимает решение в соответствии с диагностической схемой предоставить пользователю следующий наводящий вопрос или же вывести возможный диагноз. Блок вывода возможно диагноза визуально выделен в красную рамку с целью привлечения внимания для упрощения взаимодействия с пользователем.
Вывод
В результате выполнения работы была спроектирована экспертная системы в виде мобильного приложения для диагностики
неисправностей в работе вычислительной техники и разработан его прототип.
В настоящее время ведется наполнение базы данных, проводится исследовательская работа с интернет-провайдерами города Красноярска, предоставляющими услуги. Обрабатываются все обращения клиентов, у которых произошел какой-либо сбой в работе оборудования, программного обеспечения или сети.
В дальнейшем можно расширять базу знаний экспертной системы в других направлениях, связанных с работой вычислительной техники.
Список литературы
1. Android Design Principles. URL: http:// developer.android.com/design/get-started/ principles.html (дата обращения 18.11.2018).
2. Android Developers. URL: http:// developer.android.com/ (дата обращения 25.11.2018).
3. Болотова Л.С. Системы искусственного интеллекта: модели и технологии, основанные на знаниях. - М., 2012. - 664 с.
4. Гаврилова Т.А. Базы знаний интеллектуальных систем. - Питер, 2000. - 383 с.
5. Основы работы с SQLite в Андроид. URL: http://vlad8.com/tech/android-sqlite-database/ (дата обращения 27.11.2018).
6. Релиз свободной среды разработки Android Studio 1.0. URL: http://www.opennet. ru/opennews/art.shtml?num=41218 (дата обращения 19.11.2018).
7. Спицын В.Г. Представление знаний в информационных системах. - Томск, 2006. - 146 с.
8. Якубов С.Х. Алгоритмические методы построения баз знаний в интеллектуальных системах // Современные материалы, техника и технологии. - 2016. - № 1 (4). - С. 238-243.
References
1. Android Design Principles. URL: http:// developer.android.com/design/get-started/ principles.html (data obrashcheniya 18.11.2018).
2. Android Developers. URL: http:// developer.android.com/ (data obrashcheniya 25.11.2018).
3. Bolotova L.S. Sistemy iskusstvennogo intellekta: modeli i tekhnologii, osnovannyje na znanijah. - Moskva, 2012. - 664 p.
4. Gavrilova T.A. Bazy znanij intellektual'nyh sistem. - Piter, 2000. - 383 p.
5. Osnovy raboty s SQLite v Android. URL: http://vlad8.com/tech/android-sqlite-database/ (data obrashcheniya 27.11.2018).
6. Reliz svobodnoj sredy razrabotki Android Studio 1.0. URL: http://www.opennet.ru/ opennews/art.shtml?num=41218 (data obrashcheniya 19.11.2018).
7. Spicyn V.G. Predstavlenije znanij v informacionnyh sistemah. - Tomsk, 2006. -146 p.
8. Jakubov S.H. Algoritmicheskije metody postrojenija baz znanij v intellektual'nyh sistemah // Sovremennyje materialy, tekhnika i tekhnologii. - 2016. - № 1 (4). - P. 238-243.