<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; Романчук Виталий Александрович</title>
	<atom:link href="http://web.snauka.ru/issues/author/virom/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Инновационный программный комплекс моделирования вычислительных систем на базе нейропроцессоров &#8220;НейроКС&#8221;</title>
		<link>https://web.snauka.ru/issues/2012/12/19407</link>
		<comments>https://web.snauka.ru/issues/2012/12/19407#comments</comments>
		<pubDate>Wed, 26 Dec 2012 05:30:34 +0000</pubDate>
		<dc:creator>Романчук Виталий Александрович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[моделирование]]></category>
		<category><![CDATA[нейропроцессор]]></category>
		<category><![CDATA[система]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=19407</guid>
		<description><![CDATA[Основные общенаучные принципы, положенные в основу разработки, описание достигнутых технических решений и их новизна Идея состоит в разработке программного комплекса для полноценной работы с нейропроцессорными устройствами и нейропроцессорными системами в части разработки программ (среда разработки программ), доступа к реальным устройствам (как минимум терминальный доступ), проектирования систем, моделирования программы и системы и обучения языкам нейроассемблера для [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Основные общенаучные принципы, положенные в основу разработки, описание достигнутых технических решений и их новизна</strong></p>
<p style="text-align: justify;">Идея состоит в разработке программного комплекса для полноценной работы с нейропроцессорными устройствами и нейропроцессорными системами в части разработки программ (среда разработки программ), доступа к реальным устройствам (как минимум терминальный доступ), проектирования систем, моделирования программы и системы и обучения языкам нейроассемблера для особого класса процессоров &#8211; процессоров 6-го поколения, широко используемых в настоящее время в военной и космической промышленности. Программный комплекс должен работать на любом компьютере как с использованием нейропроцессора, так и без него (с использованием эмулятора). Планируется использование всевозможных нейропроцессоров (в настоящее время реализовано семейство нейропроцессоров NM6403, NM6404, NM6405+эмулятор+плата МЦ4.31).</p>
<p style="text-align: justify;">    В процессе разработки данного программного обеспечения решались задачи:</p>
<ul>
<li>
<div style="text-align: justify;">Адаптация общей технологии проектирования многопроцессорных систем для систем на базе нейропроцессора NM6403;</div>
</li>
<li>
<div style="text-align: justify;">Разработка структуры комплекса в соответствии с технологией проектирования;</div>
<p style="text-align: justify;">    В программном комплексе реализованы все возможности для обеспечения всего цикла проектирования нейропроцессорных систем в соответствии технологией проектирования. Структура комплекса состоит из 5-ти основных модулей.</p>
</li>
<li>
<div style="text-align: justify;">Разработка структур на базе нейропроцессоров;</div>
<p style="text-align: justify;">    Были предложены базисные структуры: конвейерная, векторная, векторно-конвейерная, конвейерно-векторная. Выбор структуры представлен модулем &#8220;Конструктор систем&#8221;, где можно задать описание структуры.</p>
</li>
<li>
<div style="text-align: justify;">Разработка метода структурно-параметрического синтеза структур;</div>
<p style="text-align: justify;">Данный метод выбора рациональной структуры по входному алгоритму основан на теории классов эквивалентности и понятии параллелизма выполнения подпрограмм, для которых выполняется отношение равенства.</p>
</li>
<li>
<div style="text-align: justify;">Разработка модели процессора NM6403 для исследования кода и программных затрат;</div>
<p style="text-align: justify;">    Был разработан класс в виде dll-библиотеки, позволяющий моделировать выполнение любой команды процессора NM6403 с описанием характеристик команды: время работы команды, описание команды, программные затраты, методы оптимизации и т.п. данная библиотека может подключаться и использоваться в других программах.</p>
</li>
<li>
<div style="text-align: justify;">Разработка моделей нейропроцессорных структур;</div>
<p style="text-align: justify;">    В соответствии с разработанными структурами были разработаны модели данных архитектур. Моделирование происходит без участия реального процессора, что позволяет решить проблему отсутствия аппаратных средств для разработки вычислительных систем.</p>
</li>
<li>
<div style="text-align: justify;">Разработка интерфейса и функциональной части комплекса.</div>
<p style="text-align: justify;">    Была выбрана многодокументная модель интерфейса. Интерфейс был разработан с соблюдением стандартов проектирования программного обеспечения такого типа и напоминает интерфейс среды разработки программ Visual Studio 2010.</p>
</li>
<li>
<div style="text-align: justify;">Разработка функциональной части комплекса</div>
<p style="text-align: justify;">    Программный комплекс был разработан на языке C# с использованием среды разработки Visual Studio 2010. Программный код разработки составляет около 150 тыс. строк. Включает 2 внешних библиотеки (для моделирования и терминального доступа модуля, 27 форм), модуля, 27 форм.</p>
<p>&nbsp;</p>
<p><strong>Рыночные преимущества проекта;<br />
</strong></p>
<p style="text-align: justify;">Рассмотрим существующие аналоги проекта:</p>
<p style="text-align: justify;">Полнофункциональных аналогов данного программного комплекса не существует. Функция моделирования векторного сопроцессора реализована в программе NMCalculator, кроме этого никаких функций там нет. Нейропроцессора ранее не рассматривались как отдельный класс процессоров и не было программных средств для класса нейропроцессоров. Программные средства для конкретных нейропроцессоров касаются лишь средств разработки программ и терминальных средств компиляции. Таким образом, проект имеет преимущества в области работы с классом нейропроцессорных устройств и практически не имеет аналогов в данной сфере, что делает его единственным товаров такого рода. При установлении не слишком большой цены на продукцию можно получить значительную прибыль.</p>
<p>&nbsp;</p>
<p><strong>Стадия разработки<br />
</strong></p>
<p style="text-align: justify;">В настоящее время проект находится на этапе завершения. Программный комплекс находится в стадии альфа-тестирования. Но планируется добавление новых подсистем в частности: управления системой с целью безотказной работы и диагностики нейропроцессорной системы, а также загрузки программного кода в нейропроцессор с целью создания простой операционной системы (опытный образец уже разработан и используется в других проектах). Также планируется подсистема полуавтоматического распараллеливания кода на языках нейроассемблера и улучшение анализа эффективности из-за внутреннего параллелизма нейропроцессора.</p>
<p>&nbsp;</p>
<p><strong>Перспективы реализации<br />
</strong></p>
<p style="text-align: justify;">Рассмотрим потенциальных потребителей продукции, получаемой в результате реализации проекта:</p>
</li>
<li>
<div style="text-align: justify;">ВУЗы, участвующие в университетской программе НТЦ &#8220;Модуль&#8221; (их около 50); Отечественные и зарубежные заводы, фирмы и компании &#8211; разработчики аппаратного и программного обеспечения на базе нейропроцессоров (в России около 100, иностранных около 500, включая IBM, Siemens, Texas Instruments).</div>
</li>
<li>
<div style="text-align: justify;">Разработчики, работающие с нейропроцессорными устройствами и языками нейроассемблера;</div>
</li>
<li>
<div style="text-align: justify;">Разработчики, интересующиеся проблемами искусственного интеллекта и нейросетей.</div>
<p style="text-align: justify;">Таким образом, может быть продано более 100 копий. Большой набор функциональных возможностей будет способствовать более широкому применению комплекса для различного применения а актуальность проекта будет возрастать с распространением нейропроцессорных и нейросетевых технологий. В дальнейшем на базе данного проекта планируется развитие нескольких проектов, таких как шифрование, сжатие и обработка информации на базе нейропроцессоров (Программный комплекс &#8220;НейроКС&#8221; входит в состав программных средств для реализации данных проектов).</p>
<p>&nbsp;</p>
<p><strong>Предполагаемая социальная эффективность реализации проекта<br />
</strong></p>
<p style="text-align: justify;">Проект позволит разрабатывать новые перспективные устройства и программное обеспечения с использованием нейропроцессорных устройств гораздо легче, быстрее, надежнее и качественнее.</p>
<p>&nbsp;</p>
<p><strong>Графические материалы<br />
</strong></p>
<p style="text-align: justify;">Архитектура программного комплекса представлена на рисунке 1.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2012/12/122312_1637_1.png" alt="" /><strong><br />
</strong></p>
<p style="text-align: center;">Рисунок 1 Архитектура программного комплекса</p>
<p>Подсистема моделирования векторного сопроцессора представлена на рисунке 2.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2012/12/122312_1637_2.png" alt="" /></p>
<p style="text-align: center;">Рисунок 2 &#8211; Моделирование векторного сопроцессора</p>
<p>Подсистема моделирования скалярного процессора представлена на рисунке 1.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2012/12/122312_1637_3.png" alt="" /></p>
<p style="text-align: center;">Рисунок 3 &#8211; Моделирование скалярного процессора</p>
<p>Подсистема проектирования многопроцессорной системы на базе нейропроцессоров представлена на рисунке 2.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2012/12/122312_1637_4.png" alt="" /></p>
<p style="text-align: center;">Рисунок 4 &#8211; Конструирование системы</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2012/12/19407/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Логическое проектирование вычислительных систем на базе нейропроцессоров</title>
		<link>https://web.snauka.ru/issues/2014/12/41496</link>
		<comments>https://web.snauka.ru/issues/2014/12/41496#comments</comments>
		<pubDate>Sat, 06 Dec 2014 15:05:30 +0000</pubDate>
		<dc:creator>Романчук Виталий Александрович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[equivalence classes]]></category>
		<category><![CDATA[fuzzy clustering]]></category>
		<category><![CDATA[neuroprocessor systems]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[pipeline-vector]]></category>
		<category><![CDATA[reflexivity]]></category>
		<category><![CDATA[set-theoretic model]]></category>
		<category><![CDATA[transitivity]]></category>
		<category><![CDATA[vector]]></category>
		<category><![CDATA[vector-pipeline or etcetera fuzzy processing]]></category>
		<category><![CDATA[классы эквивалентности]]></category>
		<category><![CDATA[кластеризация]]></category>
		<category><![CDATA[нейропроцессорная система]]></category>
		<category><![CDATA[нечеткая кластеризация]]></category>
		<category><![CDATA[рефлективность]]></category>
		<category><![CDATA[симметричность]]></category>
		<category><![CDATA[теоретико-множественная модель]]></category>
		<category><![CDATA[транзитивность]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=41496</guid>
		<description><![CDATA[Введение. В настоящее время становится ясно, что архитектура современных вычислительных систем, основанных на принципах Дж. фон Неймана имеет ряд существенных недостатков [1]. Последовательная организация вычислительного процесса предполагает относительно низкую производительность системы. Другой недостаток обусловливает низкую эффективность использования дорогостоящей памяти при наличии одного процессора-ядра. Это связано с тем, что подавляющее большинство ячеек памяти в процессе работы [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span><strong>Введение</strong>.<br />
</span></p>
<p style="text-align: justify;"><span>В настоящее время становится ясно, что архитектура современных вычислительных систем, основанных на принципах Дж. фон Неймана имеет ряд существенных недостатков [1]. Последовательная организация вычислительного процесса предполагает относительно низкую производительность системы. Другой недостаток обусловливает низкую эффективность использования дорогостоящей памяти при наличии одного процессора-ядра. <span style="background-color: white;">Это связано с тем, что подавляющее большинство ячеек памяти в процессе работы бездействует и поэтому коэффициент использования аппаратуры будет очень низким [2]. Третий недостаток &#8211; разработчик вынужден подстраивать алгоритм решения задачи под «жесткую» структуру вычислительной системы.<br />
</span></span></p>
<p style="text-align: justify;"><span><span style="background-color: white;">С другой стороны, инженерная реализация нейронного компьютера У. МакКаллока и У. Питтса , описанная в «Логическом исчислении идей, имманентных нервной активности» [2] в виде комплекса нейропроцессоров позволяет избавиться от перечисленных недостатков. Кроме того,</span> преимуществом является то, что нейропроцессорные системы (НПС) различаются также по принципу взаимодействия структуры машины и решаемой задачи [2]. При использовании НПС уже разработчик подстраивает её структуру под решаемую задачу.<br />
</span></p>
<p style="text-align: justify;"><span>С появлением кластерных систем появилась проблема кластеризации вычислительных систем, т. е. эффективного разбиения на кластеры [1,2], что на практике решается не всегда оптимально или рационально. Такая же проблема видна и при использовании нейропроцессорных систем, преимуществом которых является высокая степень распараллеливания, близкая к 100% при решении определенных классов задач.<br />
</span></p>
<p style="text-align: justify;"><span><strong>Цель работы -</strong> логическая организация и проектирование современных нейропроцессорных структур, на базе которых может появиться новый класс интеллектуальных систем [3]. Работа проводилась в рамках гранта РФФИ №14-07-00261 &#8220;Кластеризация и организация облачных и распределенных вычислительных систем на основе нейропроцессоров&#8221;.<br />
</span></p>
<p style="text-align: justify;"><strong>Постановка задачи</strong>. Разработать фундаментальную методику организации и проектирования нейропроцессорной системы на основе кластеризации и анализа получаемых структур по различным техническим характеристикам.</p>
<p style="text-align: justify;"><strong>Продукционная модель экспертной системы выбора НПС</strong>.</p>
<p style="text-align: justify;">Предлагаемая модель выбора аппаратных и программных средств НПС базируется на функциональном принципе, согласно которому главную роль играет множество операций в отношении многопроцессорных структур [3].</p>
<p style="text-align: justify;">На начальном этапе согласно функциональному принципу нейропроцессорная система рассматривается как взаимосвязанный набор устройств, реализованный на основе выбранной элементной базы, которая характеризуется: набором схем – чипсетов; набором команд; производительностью и стоимостью [4]. Эта задача зависит от множества факторов и рассматриваться не будет.</p>
<p style="text-align: justify;"><span>Проектируемая вычислительная структура НПС функционирует по некоторому алгоритму обработки и передачи информации <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_1.png" alt="" />, который представляет собой кортеж операций <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_2.png" alt="" /> длиной <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_3.png" alt="" /><br />
<span style="color: black;">и, по сути, представляет собой множество искусственных нейронных сетей, запускаемых в нужном порядке. Тогда, с учетом задачи исследования, </span>объектом теоретико-множественного анализа является вычислительная система на базе нейропроцессора для реализации алгоритма <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_4.png" alt="" /><span style="color: black;">.<br />
</span></span></p>
<p style="text-align: justify;"><span style="color: black;">Тогда некоторый алгоритм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_5.png" alt="" />, реализующий множество нейронных сетей, представляет собой кортеж нейросетевых операций вида <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_6.png" alt="" /> и операций управления. Введем множество операций <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_7.png" alt="" />. С учетом введенного множества операций этот алгоритм нейросетевой обработки информации представляет собой кортеж операций <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_8.png" alt="" /> длиной <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_9.png" alt="" />, где <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_10.png" alt="" />:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_11.png" alt="" /><span style="color: black;">.    (1)<br />
</span></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;">На этапе разработки программы каждой операции ставится в соответствие микрокоманда нейропроцессора <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_12.png" alt="" />, то есть:</span><br />
</span></p>
<p style="text-align: justify;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_13.png" alt="" /><span style="color: black;">,    (2)<br />
</span></p>
<p style="text-align: justify;"><span style="color: black;">где <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_14.png" alt="" /> &#8211; множество нейромикрокоманд, написанных на внутреннем языке нейропроцессора; <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_15.png" alt="" /> &#8211; минимальное количество нейромикрокоманд, необходимое для реализации некоторой операции <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_16.png" alt="" /><br />
</span></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;">Далее, решая задачу (2), необходимо каждому <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_17.png" alt="" />-му алгоритму нейрообработки <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_18.png" alt="" /> поставить в соответствие некоторую нейросетевую программу <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_19.png" alt="" />, то есть определить отношение:</span><br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_20.png" alt="" /><span><span style="color: black;">.    (3)</span><br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Таким образом, под программой <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_21.png" alt="" /> понимается кортеж нейромикрокоманд:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_22.png" alt="" /><span style="color: black;">,    (4)<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">где <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_23.png" alt="" />.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Далее производится разделение кода программы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_24.png" alt="" /><span style="color: black;"><br />
</span>на множество подпрограмм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_25.png" alt="" /><span style="color: black;"> и з</span>агрузка подпрограмм на каждый нейропроцессорный модель (ПМ).<span style="color: black;"><br />
</span></span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Математически данный этап можно описать следующим образом:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_26.png" alt="" /><span style="color: black;">.    (5)<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Введем понятие структуры <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_27.png" alt="" />, под которым понимается отношение параллельности выполнения подпрограмм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_28.png" alt="" /> и <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_29.png" alt="" /> между соответствующими <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_30.png" alt="" />-м и <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_31.png" alt="" />-м процессорными модулями, то есть <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_32.png" alt="" />. Отношение параллельности понимается как выполнение одновременно двух или нескольких нейросетевых подпрограмм на разных, параллельно работающих нейропроцессорных модулях.<br />
</span></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;">Тогда необходимо определить некоторую структуру <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_33.png" alt="" /> из множества всевозможных структур <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_34.png" alt="" />, позволившую некоторой <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_35.png" alt="" />-й программе <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_36.png" alt="" /> (4) поставить в соответствие множество подпрограмм нейросетевой обработки:</span><br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_37.png" alt="" /><span style="color: black;">.        (6)<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Введем понятие равенства подпрограмм нейросетевой обработки информации <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_38.png" alt="" />, под которым будет подразумеваться равенство их длин <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_39.png" alt="" />, под которым в свою очередь понимается равенство числа нейромикрокоманд подпрограмм, и совпадение подпрограмм с точностью до нейромикрокоманды <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_40.png" alt="" />, т.е:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_41.png" alt="" /><span>,        (7)<br />
</span></p>
<p style="text-align: justify; background: white;"><span>где <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_42.png" alt="" />.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Рассмотрим отношение <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_43.png" alt="" /> структуры <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_44.png" alt="" />, которое указывает на то, что любые две произвольно взятые подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_45.png" alt="" /> и <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_46.png" alt="" />, удовлетворяющие (7), могут выполняться одновременно на разных ПМ, то есть:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_47.png" alt="" /><span>.        (8)<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Тогда справедливо утверждение о том, что отношение структуры обработки <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_48.png" alt="" /> есть отношение эквивалентности [3].<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Введенное отношение структуры нейросетевой обработки позволяет разбить всю программу <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_49.png" alt="" />, определяемую согласно (4) на классы эквивалентности, т.е. классы неравных между собой нейросетевых подпрограмм согласно (5). Число классов эквивалентности обозначим через <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_50.png" alt="" />, а порядок класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_51.png" alt="" />. Каждый класс эквивалентности имеет своего представителя в виде подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_52.png" alt="" />, имеющей число нейромикрокоманд равное порядку подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_53.png" alt="" />.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Таким образом, структура <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_54.png" alt="" /> по определению ставит в соответствие некоторой <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_55.png" alt="" />-й программе обработки информации <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_56.png" alt="" /><span style="color: black;"><br />
</span>совокупность подпрограмм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_57.png" alt="" />, число которых равно числу классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_58.png" alt="" />, а кратность <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_59.png" alt="" /> определяется порядком класса эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_60.png" alt="" />:<br />
</span></p>
<p style="text-align: justify; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_61.png" alt="" /><span> .    (9)<br />
</span></p>
<p style="text-align: justify;"><span>Если рассмотреть возможные структуры, полученные в результате решения задачи (9), то могут получиться структуры обработки: векторная, конвейерная, векторно-конвейерная, конвейерно-векторная,.<br />
</span></p>
<p style="text-align: justify;"><span>Если число классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_62.png" alt="" /> и порядок класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_63.png" alt="" />. Тогда <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_64.png" alt="" />-му алгоритму нейросетевой обработки информации соответствует набор <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_65.png" alt="" /> совершенно одинаковых подпрограмм. Если выходная информация каждой подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_66.png" alt="" /> является входной для следующей <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_67.png" alt="" />; входная первой программы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_68.png" alt="" /> является входной, а последней <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_69.png" alt="" /> &#8211; выходной всего устройства, тогда назначая <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_70.png" alt="" /> процессорных модулей на обработку информации, имеем конвейерную структуру НПС. Если входная информация требуется одновременно для всех подпрограмм, тогда назначая <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_71.png" alt="" /> процессорных модулей на обработку информации, получаем векторную структуру НПС, в которой все <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_72.png" alt="" /> ПМ будут одновременно функционировать по одной и той же подпрограмме <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_73.png" alt="" />. Число ПМ в этом случае <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_74.png" alt="" />. Аналогичные рассуждения для случая, когда число классов эквивалентности равно <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_75.png" alt="" />, порядок каждого класса равен <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_76.png" alt="" />. Число ПМ в этом случае <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_77.png" alt="" />.<br />
</span></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;">Объединим все подпрограммы, в которых информация передается параллельно, в <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_78.png" alt="" /></span><br />
<span style="color: black;">множеств</span>. Тогда<span style="color: black;"><br />
<img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_79.png" alt="" /></span>, <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_80.png" alt="" />. Число подпрограмм в каждой группе различно для каждого множества <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_81.png" alt="" />. Т<span style="color: black;">огда, если все подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_82.png" alt="" /> внутри множеств <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_83.png" alt="" /></span>, <span style="color: black;">обмениваются информацией последовательно, то структура является конвейерно-векторной и представляет собой структуру, в которой по принципу конвейера обрабатываются векторные потоки. Число ПМ будет равно <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_84.png" alt="" /></span>. <span style="color: black;">Если в каждом множестве <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_85.png" alt="" /></span> число подпрограмм равно 1, т.е. <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_86.png" alt="" /> то имеем конвейерную структуру.<span style="color: black;"><br />
</span></span></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;">Объединим все подпрограммы, в которых информация передается последовательно, в <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_87.png" alt="" /></span><br />
<span style="color: black;">множеств</span>. Тогда<span style="color: black;"><br />
<img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_88.png" alt="" /></span>, <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_89.png" alt="" />. Число подпрограмм в каждой группе различно для каждого множества <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_90.png" alt="" />. Тогда,<span style="color: black;"> если всем подпрограммам <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_91.png" alt="" /> внутри множества <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_92.png" alt="" /> информация необходима одновременно, то структура является векторно-конвейерной и представляет собой структуру, в которой параллельно обрабатываются подпрограммы по принципу конвейера. Число ПМ будет равно <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_93.png" alt="" /></span>. <span style="color: black;">Если в каждом множестве <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_94.png" alt="" /></span> число подпрограмм равно 1, т.е. <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_95.png" alt="" /> то имеем векторную структуру.<span style="color: black;"><br />
</span></span></p>
<p style="text-align: justify;"><span><strong>Экспертная система выбора НПС</strong>.<br />
</span></p>
<p style="text-align: justify;"><span>Нечеткий выбор структуры нейрокомпьютерной системы представляет собой сложный и трудоемкий процесс с большим объемом исходной информации. Поэтому для сокращения сроков проектирования таких систем была разработана экспертная система (ЭС) [1]. Исходными данными базы знаний являются характеристики алгоритмов: число классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_96.png" alt="" />, порядок каждого класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_97.png" alt="" />, механизм обмена данными между подпрограммами классов, входные и выходные данные, множество нейромикрокоманд для выбранного на первом этапе нейропроцессорного набора.<br />
</span></p>
<p style="text-align: justify;"><span>В качестве практических исследований была разработана программная подсистема &#8220;Конструктор нейропроцессорных систем&#8221; в разрабатываемой программной системе &#8220;NP-Studio&#8221; (рисунок 1).<br />
</span></p>
<p style="text-align: justify;"><span>Возможными элементами нейропроцессорной структуры могут быть: процессоры NM6403, NM6404, NM6405, NM6406, а также их эмуляторы. Также реализована возможность использования в одной нейпроцессорной системе реальных нейропроцессоров и одного эмулятора нейропроцессора той же модели.<br />
</span></p>
<p style="text-align: justify;"><span>Логическая организация вычислительной системы на базе нейропроцессоров реализуется за несколько этапов:<br />
</span></p>
<p style="text-align: justify;"><span>1.     Выбор количества нейропроцессорных модулей.<br />
</span></p>
<p style="text-align: justify;"><span>2.    Выбор структуры: конвейерная, векторная, конвейерно-векторная (несколько параллельных векторных потоков обрабатываются по принципу конвейера), векторно-конвейерная (параллельно обрабатываются несколько потоков, которые, в свою очередь, обрабатываются по принципу конвейера) или произвольная.<br />
</span></p>
<p style="text-align: justify;"><span>3.     Если была выбрана произвольная структура, то необходим выбор активных связей между нейропроцессорными модулями.<br />
</span></p>
<p style="text-align: justify;"><span>4.     Выбор используемого обеспечения (реальный нейропроцессор или эмулятор той же модели) для логического нейропроцессорного модуля.<br />
</span></p>
<p style="text-align: justify;"><span>После логической организации и проектирования нейропроцессорной системы, ее можно использовать для модулей контроля, управления и анализа программного комплекса NP-Studio&#8221;.<br />
</span></p>
<p style="text-align: justify;"><span>Важной особенностью разрабатываемого программного обеспечения является то, что реализована поддержка связей между распределенными вычислительными модулями системы, которые отличаются относительно медленной скоростью передачи информации. Также реализована поддержка нейропроцессорных модулей, работающих в облаке согласно принципам модели PaaS, IaaS. Такие модули отличаются тем, что доступ к ним реализуется посредством веб-сервисов различного назначения.<br />
</span></p>
<p style="text-align: justify;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_98.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1 &#8211; Подсистема &#8220;Конструктор нейропроцессорных систем&#8221; в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>Архитектура классов адаптирована для возможности добавления различных нейропроцессорных устройств. В основе диаграммы классов лежит следующая модель (рисунок 2).<br />
</span></p>
<p style="text-align: justify;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_99.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 2 &#8211; Диграмма классов в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>Добавление нового нейропроцессорного устройства реализовано специальными элементами управления в интерфейсе комплекса. Максимальное количество нейропроцессорных устройств на данный момент равно 10<br />
</span></p>
<p style="text-align: justify;"><span>Исходя из вводимых значений может быть получен тот или иной вид структуры, а также пользователем может быть реализован произвольный вид системы (рисунок 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_100.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3 &#8211; Произвольная нейропроцессорная структура из семи процессорных модулей в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>В случае выбора произвольной структуры может быть произведен экспертный анализ вида системы на основе описанного математического аппарата (рисунок 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_101.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4 &#8211; Анализ нейропроцессорной структуры в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>В качестве базы знаний была выбрана продукционная модель представления знаний, в которой связи между фактами представлены эвристическими правилами — выражениями декларативного знания об отношениях между объектами. Каждое такое правило имеет составляющую «ЕСЛИ» (предпосылка) и компонент «ТО» (заключение), которые определяют прямую и обратную причинно-следственную связь. Работа экспертной системы выбора нейропроцессорной структуры сводится к следующей последовательности действий.<br />
</span></p>
<ol>
<li>
<div style="text-align: justify;"><span>Если число классов эквивалентности равно <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_102.png" alt="" />, И порядок каждого класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_103.png" alt="" />, И<br />
</span></div>
<p style="text-align: justify;"><span>- обмен данными между подпрограммами в классах осуществляется последовательно, – ТО &#8220;конвейерная структура&#8221; (рисунок 5).;<br />
</span></p>
<p style="text-align: justify;"><span>- информация требуется одновременно всем подпрограммам классов, ТО – &#8220;векторная структура&#8221;<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_104.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 5 &#8211; Конвейерная нейропроцессорная структура из шести процессорных модулей в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>Если в системе присутствуют распределенные связи, то есть нейропроцессорные модули удалены друг от друга, то в разработанной программной подсистеме линии между модулями выделяются пунктиром. В случае наличия облачного нейропроцессорного модуля, подключение к которому происходит через веб-сервис, он выделяется красным цветом (рисунок 6).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_105.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 6 &#8211; Конвейерная нейропроцессорная структура из шести процессорных модулей с распределенными связями и облачным модулем в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
</li>
<li>
<div style="text-align: justify;"><span>Если число классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_106.png" alt="" /> равно единице И порядок каждого класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_107.png" alt="" /> равен <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_108.png" alt="" />, И<br />
</span></div>
<p style="text-align: justify;"><span>- обмен данными между подпрограммами в классах осуществляется последовательно, ТО – &#8220;конвейерная структура&#8221; (рисунок 7);<br />
</span></p>
<p style="text-align: justify;"><span>- информация требуется одновременно всем подпрограммам классов, ТО–&#8221;векторная структура&#8221;.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_109.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 7 &#8211; Векторная нейропроцессорная структура из пяти процессорных модулей в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
</li>
<li>
<div style="text-align: justify;"><span>Если число классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_110.png" alt="" />, И порядок каждого класса <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_111.png" alt="" />, И<br />
</span></div>
<p style="text-align: justify;"><span>- обмен данными между подпрограммами в классах осуществляется последовательно, ТО – &#8220;конвейерная структура&#8221;;<br />
</span></p>
<p style="text-align: justify;"><span>- обмен данными между подпрограммами в классах осуществляется последовательно c небольшим исключением подпрограмм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_112.png" alt="" />-го класса, ТО – &#8220;почти конвейерная структура&#8221;;<br />
</span></p>
<p style="text-align: justify;"><span>- обмен данными между подпрограммами в классах, кроме <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_113.png" alt="" />-го, осуществляется последовательно, а <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_114.png" alt="" />-му классу информация требуется одновременно, ТО – &#8220;конвейерно-векторная структура&#8221;;<br />
</span></p>
<p style="text-align: justify;"><span>- подпрограммы обмениваются информацией последовательно, однако в некоторых классах информация требуется одновременно, ТО – &#8220;вроде конвейерно-векторная структура&#8221; (рисунок 8).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_115.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 8 &#8211; Конвейерно-векторная нейропроцессорная структура из девяти процессорных модулей в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
</li>
<li>
<div style="text-align: justify;"><span>Если порядок каждого класса равен числу классов эквивалентности <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_116.png" alt="" />, ТО – &#8220;матричная структура&#8221;;<br />
</span></div>
<p style="text-align: justify;"><span>- информация сразу требуется подпрограммам всех классов, но в некоторых классах требуется последовательный обмен, ТО – &#8220;вроде векторно-конвейерная структура&#8221;;<br />
</span></p>
<p style="text-align: justify;"><span>- информация требуется одновременно подпрограммам всех классов, но подпрограммы <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_117.png" alt="" />-го класса обмениваются последовательно, ТО – &#8220;векторно-конвейерная структура&#8221; (рисунок 9);<br />
</span></p>
<p style="text-align: justify;"><span>- информация требуется одновременно подпрограммам всех классов, кроме некоторых подпрограмм <img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_118.png" alt="" />-го класса, ТО – &#8220;почти векторная структура&#8221;;<br />
</span></p>
<p style="text-align: justify;"><span>- информация требуется одновременно всем подпрограммам классов, ТО – &#8220;векторная структура&#8221;.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/12/113014_2005_119.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 9 &#8211; Векторно-конвейерная нейропроцессорная структура из семи процессорных модулей в программной системе &#8220;NP-Studio&#8221;<br />
</span></p>
<p style="text-align: justify;"><span>Таким образом, ыыходными данными предложенной методики являются полученные в результате классификации структуры нейропроцессорной системы в виде нечетких переменныхв: конвейерная, почти-конвейерная, конвейерно-векторная, вроде конвейерно-векторная, матричная, вроде векторно-конвейерная, векторно-конвейерная, почти векторная, векторная.<br />
</span></p>
<p style="text-align: justify;"><span><strong>Заключение</strong>.<br />
</span></p>
<p><span>В статье предложена обобщенная модель проектирования нейропроцессорной системы на основе нечеткой кластеризации. Разработана экспертная система анализа получаемых нечетких структур по различным техническим характеристикам согласно стратегии проектирования. Предложенная модель не зависит от конкретных алгоритмов и не определяет класс задач. Тогда как получение конкретной структуры НПС будет зависеть от алгоритмов, т.е. класса задач.</span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/12/41496/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
