Научная статья на тему 'Интерфейс экспертной системы распараллеливания и анализа нейропроцессорных структур'

Интерфейс экспертной системы распараллеливания и анализа нейропроцессорных структур Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
237
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРФЕЙС ЭКСПЕРТНОЙ СИСТЕМЫ / АНАЛИЗ НЕЙРОПРОЦЕССОРНЫХ СТРУКТУР / TYPESCRIPT / JAVASCRIPT / ПРИНЯТИЕ РЕШЕНИЙ / ПРОДУКЦИОННАЯ МОДЕЛЬ / EXPERT SYSTEM INTERFACE / ANALYSIS OF NEUROPROCESSOR STRUCTURES / DECISION MAKING / PRODUCT MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Костров Борис Васильевич, Ручкин Владимир Николаевич, Фулин Владимир Андреевич, Пикулин Дмитрий Романович

Предлагается интерфейс экспертной системы распараллеливания и анализа возможных нейропроцессорных структур. Разрабатывается программа реализации интерфейса на современном языке TypeScript, который является надмножеством языка JavaScript. Предлагается класс NeuralComputerSystemStructure и метод getStructureType, которые выявляют нужный тип нейро-компьютерной сети в условиях неопределенности с использованием нечетких множеств посредством нейронных сетей.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Костров Борис Васильевич, Ручкин Владимир Николаевич, Фулин Владимир Андреевич, Пикулин Дмитрий Романович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTERFACE OF THE EXPERT SYSTEM OF DISSOLVING AND ANALYSIS OF NEUROPROCESSOR STRUCTURES

The interface of the expert system of parallelization and analysis of possible neuroprocessor structures is proposed. A program for implementing the interface in the modern TypeScript language is being developed, which is a superset of the JavaScript language. The NeuralComputerSystemStructure class and the getStructureType method are proposed that identify the type of neural computer network under uncertainty conditions using fuzzy sets through neural networks.

Текст научной работы на тему «Интерфейс экспертной системы распараллеливания и анализа нейропроцессорных структур»

Key words: linguistic text processing, local search, statistical processing of the words, the hash for the signature algorithm of the search zone search, vector search model.

Kostrov Boris Vasilevich, doctore of technicale scienses, professor, head of chair, kostrov. b. v@evm. rsreu. ru, Russia, Ryazan, Ryazan state radio engineering University,

Khrunichev Robert Vjacheslavovich, senior lecturer, the lead eng. center of distance learning, hrunichev_robert@,mail. ru, Russia, Ryazan, Ryazan state radio engineering University

УДК 681.142.2

ИНТЕРФЕЙС ЭКСПЕРТНОЙ СИСТЕМЫ РАСПАРАЛЛЕЛИВАНИЯ И АНАЛИЗА НЕЙРОПРОЦЕССОРНЫХ СТРУКТУР

В.Н. Ручкин, Б.В. Костров, В.А. Фулин, Д.Р. Пикулин

Предлагается интерфейс экспертной системы распараллеливания и анализа возможных нейропроцессорных структур. Разрабатывается программа реализации интерфейса на современном языке TypeScript, который является надмножеством языка JavaScript. Предлагается класс NeuralComputerSystemStructure и метод getStructureType, которые выявляют нужный тип нейро-компьютерной сети в условиях неопределенности с использованием нечетких множеств посредством нейронных сетей.

Ключевые слова: интерфейс экспертной системы, анализ нейропроцессорных структур, TypeScript, JavaScript, принятие решений, продукционная модель.

Для автоматизации вычислений определения оптимальной нейро-компьютерной сети (НКС) была разработана экспертная система [2, 8]. Программа была написана на современном языке TypeScript, который является надмножеством языка JavaScript. Выбор данного языка обусловлен его относительной простотой в использовании и мощной системой типов. Любое приложение TypeScript компилируется в JavaScript, что позволяет данную экспертную систему запускать на многих платформах и операционных системах, например Windows, Linux, MacOS, Android и так далее. Пользовательский интерфейс использует библиотеку React.js для рендера и Redux для работы с состоянием приложения, что упрощает работу с графом результирующей сети с использованием библиотеки 'storm-react-diagrams', которая существенно облегчает графический вывод структур НКС пользователю.

Математический аппарат разработки экспертной системы выбора НКС был ранее описан авторами в ряде работ [1,3-7, 9-11] и позволяет представить знания о данной предметной области в виде продукционной модели. Здесь связи между фактами представлены эвристическими правилами - выражениями декларативного знания об отношениях между объектами [12-16]. Для реализации и инкапсулирования логики приложения был написан класс NeuralComputerSystemStructure, который может определить нужный тип нейро-компьютерной сети. Сам класс состоит из методов, каждый из которых состоит из правил продукционной модели знаний и имеет составляющую «ЕСЛИ» (предпосылка) и компонент «ТО» (заключение), которые определяют прямую и обратную причинно-следственную связь. Именно эта информация базы знаний и обрабатывается с помощью пользовательского интерфейса ввода-вывода, которая использует эмпирические ассоциации в виде правил «ЕСЛИ - ТО» для формирования и проверки возможных решений [17]. Результат работы экспертной системы пользователь получает в виде схематического изображения сети и ее типа (рис.1).

Входными данными для класса NeuralComputerSystemStructure является объект со следующими полями:

- equivalenceClassesCount - число классов эквивалентности

- information - тип востребованности информации

- orderOfEachClass - порядок каждого класса

- dataExchange - тип обмена данных между фрагментами

- multiplicity - кратность.

export interface InputData {

equivalenceClassesCount: number; orderOfEachClass: number; dataExchange: DataExchange; information: Information; multiplicity: number;

}

Метод getStructureType предназначен для реализации продукционной модели выбора подходящей структуры. Если таковой не нашлось то метод возвращает тип структуры 'Unknown'.

public getStructureType(input: InputData) { if (this.isPipelineStructure(input)) {

return Structures.Pipeline; } else if (this.isNearPipelineStructure(input)) {

return Structures.NearPipeline; } else if (this.isVectorStructure(input)) {

return Structures.Vector; } else if (this.isPipelineVectorStructure(input)) { return Structures.PipelineVector;

} else if (this.isNearPipelineVectorStructure(input)) {

return Structures.NearPipelineVector; } else if (this.isMatrixStructure(input)) {

return Structures.Matrix; } else if (this.isNearVectorPipelineStructure(input)) {

return Structures.NearVectorPipeline; } else if (this.isVectorPipelineStructure(input)) {

return Structures.VectorPipeline; } else if (this.isNearVectorStructure(input)) {

return Structures.NearVector; } else { return Structures.Unknown;

}

Реализация некоторых методов определения структур включает в себя описание некоторых характерных возможных структур НПС:

isPipelineStructure - проверка является ли структура конвейерной private isPipelineStructure(input: InputData) { return (

(input.equivalenceClassesCount == input.orderOfEachClass && input.orderOfEachClass == 1 && input.dataExchange == DataExchange.Sequentially)

II (

input.equivalenceClassesCount == in-

put.equivalenceClassesCount

&& input.orderOfEachClass == input.multiplicity && input.dataExchange == DataExchange.Sequentially)

II (

input.equivalenceClassesCount == input.equivalenceClassesCount && input.orderOfEachClass == 1 && input.dataExchange == DataExchange.Sequentially)

);

}

isNearPipelineStructure - проверка является ли структура почти конвейерной

private isNearPipelineStructure(input: InputData) { return (

(input.equivalenceClassesCount == input.equivalenceClassesCount && input.orderOfEachClass == 1 && input.dataExchange == DataEx-change.SequentiallyWithSmallFragmentsExclusionOfLClass) ); } isVectorStructure - проверка является ли структура векторной private isVectorStructure(input: InputData) {

return (

(input.equivalenceClassesCount == input.equivalenceClassesCount && input.orderOfEachClass == 1 && input.information == Information.AllFragments)

II (

input.equivalenceClassesCount == input.equivalenceClassesCount && input.orderOfEachClass == input.multiplicity && input.information == Information.AllFragments

)

)

}

isPipelineVectorStructure- проверка является ли структура конвейер-но-векторной

private isPipelineVectorStructure(input: InputData) { return (

(input.equivalenceClassesCount == in-

put.equivalenceClassesCount

&& input.orderOfEachClass == 1

&& input.dataExchange == DataExchange.SequentiallyExceptL && input.information == Information.AllFragmentsForL)

);

}

isNearPipelineVectorStructure- проверка является ли структура почти конвейерно-векторной

private isNearPipelineVectorStructure(input: InputData) { return (

(input.equivalenceClassesCount == input.equivalenceClassesCount && input.orderOfEachClass == 1 && input.dataExchange == DataEx-change.SequentiallyButSomeClassesWantInformationSimultaneously)

); }

isMatrixStructure- проверка является ли структура матричной private isMatrixStructure(input: InputData) { return (

(input.orderOfEachClass == input.equivalenceClassesCount)

); }

isNearVectorPipelineStructure - проверка является ли структура почти векторно - конвейерной

private isNearVectorPipelineStructure(input: InputData) { return (

(input.information == Informa-tion.AllFragmentsButSomeClassesRequiresSequential)

); }

isVectorPipelineStructure - проверка является ли структура векторно-конвейерной

private isVectorPipelineStructure(input: InputData) { return (

(input.information == Informa-tion.AllFragmentsButSomeClassesRequiresSequential)

); }

isNearVectorStructure - проверка является ли структура почти векторной

private isNearVectorStructure(input: InputData) { return (

(input.information == Information.ALlFragmentsExceptSomeL) ) }

Экспертная система выбора НКС

equivalenceClassesCount

3

orderOfEachClass

3

multiplicity

0

dataExchange iïj Sequentially

1 Sequentially WithSmallFragmerttsExclusionOfLCIass SequentiallyExceptL

SequentiailyButSomeClassesWantlnformationSimultaneousfy information ® AI Fragments AIIFragmentsForL

AIIFragmentsButSomeClassesRequiresSequential ALI Fragments ExceptSo me L

Интерфейс ЭС выбора НКС

Заключение. Теоретико-множественный подход позволяет представить знания о предметной области анализа нейропроцессорной сети в виде продукционной модели с целью разработки экспертной системы выбора НКС. Современный язык TypeScript надмножества языка JavaScript позволяет упростить выбор наилучшей структуры НКС с использованием мощной системы типов. Любое приложение TypeScript компилируется в JavaScript и способствует запуску предложенной экспертной системы на многих платформах и операционных системах: Windows, Linux, MacOS, Android и так далее. Разработанный пользовательский интерфейс использует библиотеку React.js для рендера и Redux и упрощает работу с графом результирующей сети с использованием библиотеки 'storm-react-diagrams', которая существенно облегчает вывод структур НКС.

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

1. Ручкин В.Н., Костров Б.В., Колесенков А.Н. Киберфизические технологии мониторинга чрезвычайных ситуаций// Известия Тульского государственного университета. Технические науки. 2016. Вып. 2. С. 252260.

2. Экспертная система нечеткой кластеризации нейропроцессорных систем / В.Н.Ручкин, В.А.Романчук, В.А.Фулин, А.А.Пролыгина // Известия Тульского государственного университета. Технические науки. 2014. Вып. 6. С. 162-167.

3. Колесенков А.Н., Костров Б.В., Ручкин В.Н. Методика интеллектуального обнаружения, моделирования и сопровождения пожаров // Известия Тульского государственного университета. Технические науки. 2015. Вып. 5. Ч. 2. С. 266-274.

4. Ручкин В.Н., Романчук В. А., Фулин В. А. Представление явного и неявного параллелизма на основе кластеризации компьютерных систем// Известия Тульского государственного университета. Технические науки. 2015. Вып. 5. Ч. 2. С. 274-284.

5. Ивутин А.Н., Ларкин Е.В. Обобщенная полумарковская модель алгоритма управления цифровыми устройствами // Известия Тульского государственного университета. Технические науки. 2013. Вып. 1. С. 221227.

6. Ивутин А.Н., Ларкин Е.В. Прогнозирование времени выполнения алгоритма// Известия Тульского государственного университета. Технические науки. 2013. Вып. 3. С. 301-315.

7. Аршакян А. А., Ларкин Е.В. Оценка координат точечных источников сигналов// Известия Тульского государственного университета. Технические науки. 2013. Вып. 2. С. 3-10.

8. Expert system of multi-criterion fuzzy management in selection of computing resources / B.V.Kostrov, V.N.Ruchkin, M.N.Makhmudov, V.A.Romanchuk, V.A.Fulin // International Conference on Mechanical, System and Control Engineering. 2017. P. 348-351.

9. Frame model of a compiler of cluster parallelism for embedded computing systems / V.Ruchkin, V.Romanchuk, V.Fulin, V.Lukashenko, B.Kostrov, E.Ruchkina // 6th Mediterranean Conference on Embedded Computing, MECO 2017 - Including ECYPS. 2017. Proceedings.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

10. Parallelism in embedded microprocessor systems based on clustering / V.Ruchkin, V.Romanchuk, V.Fulin, B.Kostrov, E.Ruchkina // Proceedings -2015 4th Mediterranean Conference on Embedded Computing, MECO 2015 -Including ECyPS-2015, BioEMIS-2015, BioICT-2015, MECO-Student Challenge, 2015. P. 45-50.

11. Anthropogenic situation express monitoring on the base of the fuzzy neural networks / A.Kolesenkov, B.Kostrov, E.Ruchkina, V.Ruchkin // Proceedings - 2014 3rd Mediterranean Conference on Embedded Computing, MECO 2014 - Including ECyPS, 2014. P. 166-168.

12. Ручкин В.Н., Романчук В.А., Фулин В.А. Проектирование ней-ропроцессорных систем на основе нечеткой кластеризации// Вестник Рязанского государственного радиотехнического университета. 2014. № 50-1. С. 87-93.

13. Анализ явного и неявного параллелизма на основе кластеризации вычислительных систем / В.Н.Ручкин, Б.В.Костров, В.А.Романчук, В.А. Фулин // Динамика сложных систем - XXI век. 2015. Т. 9. № 2. С. 20-28.

14. Бабаев С.И., Елесина С.И., Костров Б.В. Сравнение модифицированного поискового и генетического алгоритмов нахождения глобального экстремума в системах навигации// Вопросы радиоэлектроники. 2010. Т. 1. № 1. С. 145-152.

15. Костров Б.В., Саблина В. А. Адаптивная фильтрация изображений со структурными искажениями // Цифровая обработка сигналов. 2008. № 4. С. 49-53.

16. Колесенков А.Н., Костров Б.В., Саблина В. А. Применение ве-щественно-диадной свертки для идентификации аэрокосмических изображений// В мире научных открытий. 2011. Т. 13. № 1. С. 122-127.

17. Ларкин Е.В., Привалов А.Н. Проектирование программного обеспечения вычислительных средств тренажерных систем. Тула, 2010.

Костров Борис Васильевич, д-р техн. наук, проф., зав. кафедрой, kostrov. b.v@evm.rsreu.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Ручкин Владимир Николаевич, д-р техн. наук, проф., v.ruchkinarsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина,

Фулин Владимир Андреевич, старший преподаватель, v.fulin@,365.rsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина,

Пикулин Дмитрий Романович, асп., v.fulin@,365.rsu.eduru, Россия, Рязань, Рязанский государственный университет имени С.А. Есенина

INTERFACE OF THE EXPERT SYSTEM OF DISSOLVING AND ANALYSIS OF NEUROPROCESSOR STRUCTURES

V. N. Ruchkin, B. V. Kostrov, V.A. Fulin, D.R. Pikulin

The interface of the expert system of parallelization and analysis of possible neuro-processor structures is proposed. A program for implementing the interface in the modern TypeScript language is being developed, which is a superset of the JavaScript language. The NeuralComputerSystemStructure class and the getStructureType method are proposed that identify the type of neural computer network under uncertainty conditions using fuzzy sets through neural networks.

Key words: expert system interface, analysis of neuroprocessor structures, TypeScript, JavaScript, decision making, product model.

Kostrov Boris Vasilevich, doctor of technical science, professor, head of chair, kostrov. b. v@evm. rsreu. ru, Russia, Ryazan, Ryazan state radio engineering University,

Ruchkin Vladimir Nikolaevich, doctor of technical science, professor, v. ruchkin@rsu. edu. ru, Russia, Ryazan, Ryazan State University,

Fulin Vladimir Andreevich, senior teacher, v.fulin@,365. rsu. edu. ru, Ryazan, Ryazan State University,

Pikulin Dmitry Romanovich, postgraduate, v.fulin@,365rsu.edu.ru, Ryazan, Ryazan State University

УДК 004.274

БУФЕРИЗАЦИЯ ДАННЫХ В СИСТЕМАХ УПРАВЛЕНИЯ РОБОТАМИ

Е.В. Ларкин, А.В. Богомолов, М.А. Антонов

Рассматривается модель буферизации данных в системах управления роботами. Получены зависимости для определения времени между двумя последовательными опросами исходного дискретного сигнала, между двумя последовательными выводами сжатого сигнала в аппаратуру передачи данных и задержки в обработке сигнала между вводом и выводом и между выводом и вводом. Показано, что адекватная модель функционирования буферизированных систем - это сложный Марковский процесс, каждое состояние которого представляет собой 2-параллельный Марковский процесс, который описывает «соревнование» источника сигнала, заполняющего буфер, и приемника сигнала, опорожняющего буфер. Сложный Марковский процесс преобразован в ординарный процесс, состояния которого моделируют количество заполненных в текущий момент ячеек буфера. Анализ ординарного процесса позволил получить зависимость, описывающую связь вероятности отказа, объема буферной памяти и соотношения между математическими ожиданиями времени заполнения и опорожнения буфера.

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

Буферизация данных и программное сжатие в системах управления роботами в настоящее время довольно широко распространено в системах передачи данных [1, 2].

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

117

i Надоели баннеры? Вы всегда можете отключить рекламу.