Правильная ссылка на статью:
Читалов Д.И., Калашников С.Т..
Разработка графической оболочки для параллельных расчетов на базе платформы OpenFOAM
// Кибернетика и программирование. – 2019. – № 4.
– С. 36-50.
DOI: 10.25136/2644-5522.2019.4.29202.
DOI: 10.25136/2644-5522.2019.4.29202
Читать статью
Аннотация: Графические интерфейсы являются важнейшим элементом человеко-компьютерного взаимодействия. Они обеспечивают формирование входных данные для программ и визуализацию результатов. Коммерческое программное обеспечение преимущественно поставляется со встроенными графическими средствами взаимодействия. При этом некоторые открытые программные решения, в частности, платформа OpenFOAM лишена встроенных средств взаимодействия. Данная проблема сохраняет свою актуальность, поскольку существующие графические интерфейсы имеют недостатки. В настоящей работе представлен поэтапный процесс разработки графической оболочки для реализации взаимодействия пользователя с платформой OpenFOAM – для постановки численных экспериментов применительно к задачам механики сплошных сред (МСС) в режиме параллельного выполнения. Для достижения поставленной цели определен список задач и необходимых инструментов: язык программирования Python 3.5, фреймворк описания элементов интерфейса PyQt5, интегрированная среда разработки PyCharm. Приведены диаграммы, демонстрирующие взаимосвязь модулей программы, и механизм работы программы. Сформулированы результаты разработки и тестирования приложения на примере проекта одной из стандартных задач МСС, входящих в дистрибутив платформы OpenFOAM. Сформулирована научная новизна исследования, в частности: сериализация параметров численного эксперимента с помощью модуля Pickle языка Python и таблиц базы данных в формате SQLite, возможность создания различных версий файлов с параметрами задач МСС, возможность запуска консольных команд с помощью bash-скриптов. Также определена практическая ценность работы и дальнейшие перспективы.
Ключевые слова: численное моделирование, механика сплошных сред, параллельные вычисления, OpenFOAM, открытое программное обеспечение, графический интерфейс пользователя, язык программирования Python, библиотека PyQt, СУБД SQLite, bash-скриптинг
Библиография:
Operating System Interface Design Between 1981-2009 URL: https://www.webdesignerdepot.com/2009/03/operating-system-interface-design-between-1981-2009/ (дата обращения: 25.01.2019).
OpenFOAM. The open source CFD toolbox. URL: https://www.openfoam.com/ (дата обращения: 25.01.2019).
Etrati, A., & Frigaard, I. A. (2018). Viscosity effects in density-stable miscible displacement flows: Experiments and simulations. Physics of Fluids, 30(12) doi:10.1063/1.5065388.
Salome. The Open Source Integration Platform for Numerical Simulation. URL: http://www.salome-platform.org (дата обращения: 25.01.2019).
Visual-CFD for OpenFOAM. URL: https://www.esi-group.com/software-solutions/virtual-environment/cfd-multiphysics/visual-cfd-openfoam (дата обращения: 25.01.2019).
HELYX-OS. The market leading open-source GUI for OpenFOAM. URL: http://engys.com/products/helyx-os (дата обращения: 25.01.2019).
Читалов Д.И., Меркулов Е.С., Калашников С.Т. Разработка графического интерфейса пользователя для программного ком
Правильная ссылка на статью:
Пекунов В.В..
О некоторых свойствах процедур с планированием повторного входа. Язык Planning C
// Кибернетика и программирование. – 2019. – № 1.
– С. 60-65.
DOI: 10.25136/2644-5522.2019.1.25522.
DOI: 10.25136/2644-5522.2019.1.25522
Читать статью
Аннотация: В данной статье анализируются описательные возможности процедур и функций с планированием повторного входа. Процедура/функция с планированием повторного входа отличается от обычной процедуры/функции наличием динамически пополняемого (как изнутри, так и извне) плана исполнения. Это достаточно новый формализм, теоретические и практические свойства которого до сих пор мало освещены в научной литературе. Особое внимание уделяется языку программирования Planning C, в полной мере реализующему процедуры и функции с планированием повторного входа. Описательные возможности процедур/функций с планированием повторного входа рассматриваются как теоретически, с применением расширенных машин Тьюринга, так и конструктивно, путем построения эквивалентов базовых алгоритмических управляющих конструкций на базе данных процедур. Новизна состоит в доказательстве представимости любых последовательных и параллельных алгоритмов с помощью данных процедур. Предлагается применение Planning C, реализующего такие процедуры/функции, для решения трудоемких задач вычислительной математики на параллельных вычислительных системах. Показана возможность его применения при решении задачи обучения глубоких нейронных сетей.
Ключевые слова: процедуры, планирование повторного входа, последовательные алгоритмы, параллельные алгоритмы, алгоритмическая полнота, Planning C, язык программирования, трудоемкие вычисления, глубокие нейронные сети, вычислительная математика
Библиография:
Пекунов В.В. Процедуры с планированием повторного входа в языках высокого уровня при традиционном и параллельном программировании // Информационные технологии.-2009.-№8.-С.63-67.
Пекунов В.В. Новые технологии параллельного и традиционного программирования. Процедуры с планированием повторного входа // Сб. матер. IX межд. конф.-сем. "Высокопроизводительные параллельные вычисления на кластерных системах".-Владимир, 2009.-С.308-311.
Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. — М.: Издательский дом "Вильямс", 2003. — 512 с.
Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. — СПб.: БХВ-Петербург, 2002. — 608 с.
Пекунов В.В. Искусственные нейронные сети прямого рас-пространения. Описание с помощью расширенных машин Тьюринга, вербализация и применение в аэродинамике. — LAP LAMBERT Academic Publishing, 2016.— 177 с.
Растригин Л.А. Адаптация сложных систем. Рига: Зинатие, 1981.-375 с.
Chung, T.J. Computational Fluid Dynamics. — Cambridge University Pres
Правильная ссылка на статью:
Власов А.А., Мамаев Е.И., Маслянский В.М., Шестаков А.С..
Реализация вычислительных операций и элементарных функций системами булевых функций
// Кибернетика и программирование. – 2014. – № 3.
– С. 1-35.
DOI: 10.7256/2306-4196.2014.3.12119.
DOI: 10.7256/2306-4196.2014.3.12119
Читать статью
Аннотация: В статье рассматриваются существующие способы математического описания и представления в ЭВМ алгоритмов операций преобразования данных (арифметические операции, вычисления элементарных функций (ЭФ) и другие). Показано что основными способами их реализации в ЭВМ на различных уровнях организации вычислительного процесса являются- программный, микропрограммный и схемный. В качестве возможных способов математического представления рассматриваются: табличный, на основе СБФ, на основе машины Тьюринга Проводится краткий анализ известных форм представления систем булевых функций (СБФ) с учётом используемых средств реализации и оценка математической и технической сложности в зависимости от вида описания. Представление алгоритмов операций преобразования данных в виде СБФ позволяет максимально распараллеливать преобразование данных. Показано что вычислительная сложность операции определяется мощностью входных и выходных множеств и разрядностью входных данных и результатов.. Представление алгоритмов реализации СБФ в форме СДНФ весьма избыточно и что показано на основе некоторых арифметических операций и ЭФ. Делается вывод о необходимости минимизации сложности на основе минимальной и кратчайшей формы СБФ. В качестве реальных средств реализации СБФ в ПЛИС рассматривается применение универсальных логических модулей (УЛМ), в технических терминах это таблицы перекодировки (LUT). Приводятся способы построения СБФ на основе УЛМ от четырёх переменных и способы декомпозиции СБФ для их реализации схемами из УЛМ. Методы и методология исследований включают методы смешанного анализа, методы теории дискретной математики в частности аппарат анализа и синтеза булевых функций, теории алгоритмов, методы вычислительного эксперимента. В статье рассматривается сложность математического представления операций преобразования данных и их реализации в ЭВМ (арифметические вычисления элементарных функций и некоторые другие). Предлагаются алгоритмы реализации СБФ схемой из УЛМ от четырёх переменных и исследуются алгоритмы построения таких схем на основе разложения Шеннона и Рида. На основе анализа входных и выходных переменных операции преобразования данных, синтеза СБФ для формирования проблемно-ориентированных и специализированных команд в ЭВМ.
Ключевые слова: Сложность операций, Системы булевых функций, Арифметико-логические формы, Декомпозиция СБФ, Разложение Шеннона, Разложение Рида, ПЛИС, Универсальный логический модуль, Таблицы перекодировки, СДНФ
Библиография:
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979
Кузнецов О.П., Андерсон-Вельский Г.М. Дискретная математика для инженера. – 2-е издание. М.: Энергоатомиздат, 1988 – 480 с.
Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. М.: Наука. 1980.-400 с.
Фролов АБ., Андреев А.Е., Болотов А.А., Коляда К.В., Прикладные задачи дискретной математики и сложность алгоритмов. Под ред. Академика АТН РФ В. Б. Кудрявцева. – М.: Изд. МЭИ, 1997 – 312 с.
Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. ¬М.: Наука. Физматлит, 1997. – 192 с.
Власов А.А., Мамаев Е.И. Расширенные арифметико-логические формы для параллельных логических вычислений Параллельные вычисления и задачи управления: Труды Международной конференции (PACO'2001) Москва, 2-4 октября 2001 г. Институт проблем управления им. В. А. Трапезникова 1522c. ISBN 5-201-09559-3 с. 66-73.
http://www.achronix.com/
Shannon C.A. Symbolic analysis of
Правильная ссылка на статью:
Ипатов Ю.А., Новиков П.С., Шургин А.И..
Создание автоматизированной системы анализа изображений полимеразной цепной реакции
// Кибернетика и программирование. – 2013. – № 6.
– С. 1-5.
DOI: 10.7256/2306-4196.2013.6.10323.
DOI: 10.7256/2306-4196.2013.6.10323
Читать статью
Аннотация: В статье рассматривается вопрос автоматической обработки и анализа изображений изображения гелей, получаемых в результате электрофореза образцов содержащих продукты полимеразной цепной реакции (ПЦР). Предложенный подход позволяет значительно повысить скорость проведения ДНК-анализа. Говорится, что одним из ресурсоемких и трудоемких этапов формирования первичных данных, является анализ цифровых изображений результатов химической реакции. В статье рассматривается разработка необходимых теоретических методов и практических реализаций автоматизированного анализа данных. Отмечается, что одним из ресурсоемких и трудоемких этапов формирования первичных данных, является анализ цифровых изображений результатов химической реакции. Предлагаемая разработка автоматизированной системы на базе методов распознавания и анализа цифровых изображений гелей, позволит минимизировать трудоемкие операции выполняемых человеком и повысит качество проводимых работ. Приводится алгоритм автоматического распознавания и назначения уникальных линий, определяющих области праймеров и продуктов ПЦР. Сравнительный анализ ручных методов и созданного подхода выигрывает по времени на полтора порядка. При этом учитывая показатели массовости и точности, повышают экономический эффект от использования данной разработки.
Ключевые слова: автоматизированная система, анализа изображений, полимеразная цепная реакция, ДНК-анализ, праймер, изображения гелей, электрофорез, сигнал, фильтрация, разработчики программного обеспечения
Библиография:
SaikiR.K., GelfandD.H., StoffelS., HiguchiR. // Science. 1988. V.239. N.2. Р.487.
П.С. Новиков, О.В. Шейкина, Т.Н. Милютина Изменчивость плюсовых деревьев сосны обыкновенной на архиве клонов по ISSR-маркерам // Вестник МарГТУ. Радиотехнические и инфокоммуникационные системы. – Йошкар-Ола: МарГТУ– №.3, 2011. – С.82-87.
Самарский, А. А.Численные методы / А. А. Самарский, А. В. Гулин – М.:Наука, 1989. –432 с.
Тихонов, В. И. Оптимальный прием сигналов/ В.И. Тихонов – М.: Радио и связь, 1983. – 320 с.
Прэтт У. Цифровая обработка изображений: в 2 кн. М.: Мир, 1982.– 790 с.
Ипатов Ю.А., Кревецкий А.В., Шмакин В.О. Проектирование распределенной наземной системы мониторинга за лесными пожарами // NB: Кибернетика и программирование. - 2013. - 2. - C. 20 - 28. URL: http://www.e-notabene.ru/kp/article_8309.html
Ю.А. Ипатов, А.В. Кревецкий Обнаружение текстурных переходов на изображениях препаратов клеточной структуры древесины // Программные системы и вычислительные методы. - 2013. - 1. - C. 106 - 115
Правильная ссылка на статью:
Малашкевич И.А., Малашкевич В.Б..
Эффективный алгоритм децимации данных
// Кибернетика и программирование. – 2013. – № 5.
– С. 1-6.
DOI: 10.7256/2306-4196.2013.5.9697.
DOI: 10.7256/2306-4196.2013.5.9697
Читать статью
Аннотация: В работе представлен эффективный алгоритм децимации данных для быстрых дискретных преобразований. Приводится характеристическое уравнение и реализация алгоритма на языке Object Pascal. В практике цифровой обработки сигналов широкое применение находят алгоритмы спектральных преобразований сигналов - быстрые преобразования Фурье, Уолша, Хаара, дискретное вейвлет-преобразование. Одной из ресурсоемких операций этих алгоритмов является децимация данных – группировка данных с четными и нечетными номерами. Традиционно эта операция выполняется с помощью выделения дополнительной памяти. Предлагается алгоритм группировки, не требующий применения дополнительных массивов памяти и решающий задачу децимации за O(N) операций. Показывается, что все необходимые перестановки элементов осуществляются с помощью ряда цепочек перемещений, каждая из которых начинается с нечетных элементов массива данных. Анализ алгоритма при разных N показывает, что количество и длина цепочек варьируется. Тестовые прогоны алгоритма показали высокую скорость их работы.
Ключевые слова: алгоритм децимации данных, эффективность, быстрые дискретные преобразования, характеристическое уравнение, реализация алгоритма, Object Pascal, цифровая обработка сигналов, дискретное вейвлет-преобразование, анализ алгоритма, алгоритм группировки
Библиография:
http://psi-logic.narod.ru/fft/fft3.ht
Малашкевич И.А., Малашкевич В.Б. Применение fortran-библиотек линейной алгебры в среде delphi // NB: Кибернетика и программирование. - 2013. - 1. - C. 1 - 8. URL: http://www.e-notabene.ru/kp/article_8314.html
Коробейников А.Г., Кутузов И.М. Алгоритм обфускации // NB: Кибернетика и программирование. - 2013. - 3. - C. 1 - 8. URL: http://www.e-notabene.ru/kp/article_9356.html
Бондаренко И.Б., Коробейников А.Г., Прохожев Н.Н., Михайличенко О.В. Принятие технических решений с помощью многоагентных систем // NB: Кибернетика и программирование. - 2013. - 1. - C. 16 - 20. URL: http://www.e-notabene.ru/kp/article_8305.html
Харитонов А.В. Обзор биометрических методов идентификации личности // NB: Кибернетика и программирование. - 2013. - 2. - C. 12 - 19. URL: http://www.e-notabene.ru/kp/article_8300.html
Меженин А.В., Извозчикова В.В. Методы построения векторов нормалей в задачах идентификации объектов // NB: Кибернетика и программирование. - 2013. - 4. - C. 51 - 58
Правильная ссылка на статью:
Коробейников А.Г., Кутузов И.М..
Алгоритм обфускации
// Кибернетика и программирование. – 2013. – № 3.
– С. 1-8.
DOI: 10.7256/2306-4196.2013.3.9356.
DOI: 10.7256/2306-4196.2013.3.9356
Читать статью
Аннотация: В данной статье рассмотрен алгоритм Chenxi Wang, приведены основные недостатки, предложены пути модификации для их устранения. В данной работе рассмотрен алгоритм Chenxi Wang's, как один из наиболее известных. Входными данными для алгоритма является обычная процедура, написанная на языке высокого уровня. Описываются три этапа обфускации любой такой процедуры. Рассматриваются основные недостатки алгоритма и указываются возможности разрешения ошибочных ситуаций. В классическом варианте алгоритм "Chenxi Wang's algorithm" обладает плохой устойчивостью. Предлагаются варианты для повышения устойчивости алгоритма. Рассматривается пример использования модифицированного Chenxi Wang's. Проводится анализ полученного результата. Сравнивается исходный текст и полученный, заключается, что установить их функциональную тождественность практически невозможно. Логику работы программы по обфусцированному исходному коду понять очень трудно. Иногда это можно сделать используя примеры запуска полученного исходного кода. Отсюда следует, что при устранении озвученных недостатков, алгоритм является достаточно эффективным.
Ключевые слова: обфускация, технологии, исходный код, алгоритм, Chenxi Wang, граф, переменная, устойчивость, динамический анализ, информационная безопасность
Библиография:
Christian, C. A Taxonomy of Obfuscating Transformations// Christian Collberg, Clark Thomborson. Douglas Low//Technical Report #148. Department of Computer Science. The University of Auckland. July. 1997.
Чернов, Л. В. Анализ запутывающих преобразований программ/Л.В. Чернов//Труды Института системного программирования РАН. Том 3, 2002 г. cтр. 7-38.
Rollcs, R. Unpacking virtualization obfuscators/R. Rollcs.//In Proc. 3rd USENIX Workshop on Offensive Technologies (WOOT'09), August 2009.
Тихонов, А. Ю. Методика извлечения алгоритма из бинарного кода на основе динамического анализа/ А.Ю.Тихонов, Л.И.Аветисян, В.А.Иадарян// Проблемы информационной безопасности. Компьютерные системы. — 2008. — Т. №3. — С. 66-71.