Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

ПРОЕКТИРОВАНИЕ ИНСТРУМЕНТАЛЬНОЙ ПРОГРАММНОЙ СИСТЕМЫ ПОДДЕРЖКИ МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ СЛОЖНЫХ СИСТЕМ НА ОСНОВЕ АВТОМАТНЫХ МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ АЛГЕБРЫ ГИПЕРРАЗМЕРНЫХ ВЕКТОРОВ

Мартышкин А.И. 1 Трокоз Д.А. 1 Пащенко Д.В. 1 Калашников В.А. 1 Синев М.П. 2
1 ФГБОУ ВО «Пензенский государственный технологический университет»
2 ФГБОУ ВО «Пензенский государственный университет»
В данной статье рассматривается проблема развития микроэлектроники из-за физического и экономического предела по закону Мура. В качестве решения данной проблемы приводятся алгоритмы на базе алгебры гиперразмерных векторов, так как алгоритмы на базе алгебры гиперразмерных векторов устойчивы к появлению в разрядах регистров мусорных значений, которые критичны при вычислениях классическими алгоритмами. Использование алгоритмов на базе гиперразмерных векторов позволяет увеличить частоты вычислительного устройства, не изменяя токопотребления, и способно давать верный результат несмотря на появление мусорных значений в регистрах вычислительного устройства. В статье поднимается вопрос малой изученности методов кодирования сложных систем в формате автоматов на базе алгебры гиперразмерных векторов. В данной работе представлена инструментальная программная система поддержки методологии проектирования сложных систем на основе автоматных моделей с использованием алгебры гиперразмерных векторов. Предложены методы формализованного описания систем в виде систем канонических уравнений для кодирования в гиперразмерный вектор и описание алгоритмов трансформации формализованного описания с использованием алгебры гиперразмерных векторов, а также алгоритмы вычисления текущего состояния графа, представленного как гиперразмерный вектор. Продемонстрирована работа программной инструментальной среды путем кодирования и симуляции целевой системы.
гиперразмерные векторы
алгебра гиперразмерных векторов
моделирование систем
программная среда моделирования
закон Мура
1. Kanerva P. Hyperdimensional computing: An introduction to computing in distributed representation with high-dimensional random vectors. Cognitive Computation 1 (2). 2009. P. 139–159.
2. Пащенко Д.В., Трокоз Д.А., Мартышкин А.И., Синев М.П. Использование алгебры гиперразмерных векторов для эвристического представления данных при обучении широких нейронных сетей // Проблемы управления и моделирования в сложных системах: материалы XXI Международной конференции (Самара, 3–6 сентября 2019 г.). Самара: Издательство ООО «Офорт», 2019. С. 301–305.
3. Трокоз Д.А., Исхаков Н.В., Синев М.П., Митрохин М.А., Сивишкина Н.О. Темпоральный анализ киберфизических систем с использованием теории автоматов // XXI век: итоги прошлого и проблемы настоящего плюс. 2019. Т. 8. № 3. С. 113–117.
4. Вашкевич Н.П., Бикташев Р.А. Недетерминированные автоматы и их использование для реализации систем параллельной обработки информации: монография. Пенза: ПГУ, 2016. 391 с.
5. Захаров Н.Г., Рогов В.Н. Синтез цифровых автоматов. Ульяновск: Ульяновский государственный технический университет, 2003. 135 с.
6. Скиена C. Алгоритмы. Руководство по разработке. СПб.: БХВ-Петербург, 2017. 720 с.
7. Синев М.П., Мартышкин А.И., Трокоз Д.А. Исследование и анализ подходов к организации параллельных вычислений в распределенных системах // XXI век: итоги прошлого и проблемы настоящего плюс. 2020. Т. 9. № 2. С. 95–104.
8. Новосельцев В.Б., Соколова В.В. Обработка рекурсивных данных конечными автоматами // Известия Томского политехнического университета. 2006. Т. 309. № 7. С. 130–133.
9. Прохоренко Н. JavaFX. СПб.: БХВ-Петербург, 2020. 768 с.
10. Блох Д.. Java: эффективное программирование, 3-е изд. СПб.: ООО «Диалектика», 2019. 464 с.
11. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы. Построение и анализ, 2-е изд. М.: Издательский дом «Вильямс», 2013. 1296 с.
12. Макконнелл С. Совершенный код: Практическое руководство по разработке программного обеспечения. М.: Русская редакция БХВ, 2017. 896 с.

В настоящее время четко прослеживается вектор развития индустрии вычислительной техники. С каждым годом вычислительные машины становятся всё более производительными, а их габариты уменьшаются. Вместе с последними экспоненциально растут вычислительные мощности, позволяющие обрабатывать все большие объемы информации. Однако сегодня производители высокопроизводительных вычислительных систем подошли к пределу по закону Мура. Дальнейшее уменьшение размеров транзисторов будет невозможно физически и нецелесообразно экономически. Уже сейчас производители центральных процессорных устройств (ЦПУ) увеличивают производительность за счет увеличения потребляемой энергии и оптимизации в архитектуре. Попытки снизить токопотребление при сохранении высокой производительности приводят к росту числа ошибок в значимых битах регистров ЦПУ и последующему критическому сбою всей системы. Однако алгоритмы, построенные на алгебре гиперразмерных векторов, способны справляться с такими ошибками, так как потеря значимости нескольких бит не влияет на валидность результата вычислений [1]. Данное обстоятельство позволяет создать вычислительное устройство с аппаратной поддержкой алгебры гиперразмерных векторов, которое будет работать на высоких частотах, но с низким токопотреблением, что, в свою очередь, увеличит показатель полезных вычислений на ватт потребленной энергии.

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

Материалы и методы исследования

В качестве способа кодирования целевых систем используется автоматная модель. Абстрактные автоматы – вычислительные машины, представленные в виде математических моделей, осуществляющие обработку информации по заданному алгоритму [3–6]. Самым распространённым способом представления абстрактных автоматов является графический способ. Автомат представляется как граф, где вершинами представляются все возможные состояния автомата, а стрелками – переходы между состояниями [7, 8]. В качестве примера графического представления автомата на рис. 1 продемонстрирован граф автомата D-триггера.

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

missing image file

Рис. 1. Графическое представление работы D-триггера

Гиперразмерный вектор представляет собой двоичный вектор высокой размерности, который содержит случайную последовательность нулей и единиц, полученную с использованием равномерного закона распределения. Основной метрикой, которая используется при сравнении двух гиперразмерных векторов, является расстояние Хэмминга. Считается, что два гиперразмерных вектора не пересекаются, если расстояние Хэмминга ≥ 0,5. Если расстояние Хэмминга < 0,5, то это говорит о том, что сравниваемый HD-вектор входит в результирующий.

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

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

Описание элементов интерфейса

Интерфейс программы состоит из окна ввода блока управления, окна ввода системы канонических уравнений и окна симуляции, где отображается граф автомата целевой системы [9, 10]. Окно программы продемонстрировано на рис. 2.

Блок управления программой состоит из следующих кнопок:

1) кнопка сохранения закодированной целевой системы в файл;

2) кнопка загрузки целевой системы из файла;

3) кнопка запуска кодирования системы уравнений в граф автомата;

4) таблица сигналов для установки их значений.

На рис. 3 продемонстрирован блок кнопок управления программой.

missing image file

Рис. 2. Окно системы моделирования систем

missing image file

Рис. 3. Кнопки управления программой

Блок управления симуляцией состоит из следующих кнопок:

1) кнопка запуска симуляции;

2) кнопка пошаговой симуляции;

3) кнопка остановки симуляции, если симуляция была запущена по кнопке 1;

4) кнопка сброса системы в исходное состояние.

На рис. 4 продемонстрирован блок кнопок управления симуляцией

missing image file

Рис. 4. Кнопки управления симуляцией

Описание и демонстрация работы среды моделирования

Были разработаны алгоритмы кодирования целевой системы путём парсинга системы канонических уравнений (СКУ) [11, 12]. СКУ задаются как набор формул в нормальной дизъюнктивной форме (ДНФ). В качестве операндов самого уравнения выступают конъюнкты, состоящие из предыдущего состояния и выходного сигнала предыдущего состояния, само же уравнение приравнивается к новому состоянию. Количество конъюнктов определяет количество вершин графа автомата, из которых осуществляется переход.

После ввода СКУ пользователем происходит кодирование в векторно-символьную архитектуру. Для каждого состояния Si и сигнала Xi генерируются случайные гиперразмерные вектора, далее происходит расчет вектора всего автомата А по формуле (1). При этом операции конъюнкции и дизъюнкции заменяются на операции умножения и сложения соответственно. Для кодирования однонаправленного перехода из первоначального состояния в следующее в представлении векторно-символьной архитектуры, используется операция циклического битового сдвига вправо, обозначенного в формулах как функция sr(V, n), где V – входной n – количество бит, на которое сдвигается входной вектор V.

missing image file. (1)

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

missing image file (2)

Sn – следующее состояние автомата;

Sn–1 – предыдущее состояние автомата;

xin – входной сигнал, по которому автомат переходит в состояние Sn.

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

missing image file (3)

Qn – результирующий вектор с активными состояниями;

Qn–1 – множество предыдущих состояний автомата;

Si – предыдущее состояние;

xi – входной сигнал, по которому автомат переходит в состояние missing image file.

∑in – множество входных сигналов, при которых недетерминированный автомат входит в активные состояния Qn.

Для демонстрации взаимодействия пользователя с системой на рис. 5 представлена UML-диаграмма последовательности.

missing image file

Рис. 5. Диаграмма последовательности работы системы

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

missing image file

Рис. 6. Граф автомата системы

Граф целевой информационной системы можно представить в виде СКУ, описанной формулами

missing image file (4)

missing image file (5)

После трансформации в векторно-символьную архитектуру у нас выходит следящая СКУ, представленная формулами

missing image file (6)

missing image file. (7)

Но для симуляции необходимо найти вектор всего автомата A, вычисляемый по формуле

missing image file (8)

После ввода уравнения в систему и кодирования в векторно-символьную архитектуру, программа вывела граф, продемонстрированный на рис. 7.

missing image file

Рис. 7. Граф автомата системы в программе

missing image file

Рис. 8. Симуляция системы на шаге 2

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

missing image file +

missing image file. (9)

Результат перехода продемонстрирован на рис. 8.

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

missing image file

Рис. 9. Симуляция системы на последнем шаге

Выводы

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

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

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 19-07-00516 А.


Библиографическая ссылка

Мартышкин А.И., Трокоз Д.А., Пащенко Д.В., Калашников В.А., Синев М.П. ПРОЕКТИРОВАНИЕ ИНСТРУМЕНТАЛЬНОЙ ПРОГРАММНОЙ СИСТЕМЫ ПОДДЕРЖКИ МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ СЛОЖНЫХ СИСТЕМ НА ОСНОВЕ АВТОМАТНЫХ МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ АЛГЕБРЫ ГИПЕРРАЗМЕРНЫХ ВЕКТОРОВ // Современные наукоемкие технологии. – 2021. – № 12-1. – С. 60-66;
URL: https://top-technologies.ru/ru/article/view?id=38955 (дата обращения: 21.11.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674