Матричный способ представления алгоритма | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №6 (110) март-2 2016 г.

Дата публикации: 16.03.2016

Статья просмотрена: 1361 раз

Библиографическое описание:

Поляков, В. С. Матричный способ представления алгоритма / В. С. Поляков. — Текст : непосредственный // Молодой ученый. — 2016. — № 6 (110). — С. 159-164. — URL: https://moluch.ru/archive/110/26901/ (дата обращения: 19.11.2024).



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

Ключевые слова: алгоритм, предикат, матрица, таблица, граф.

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

В графическом виде алгоритм изображается последовательностью связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое представление называется схемой алгоритма, или блок-схемой, или граф-схемой алгоритма (ГСА).

В настоящее время алгоритмы рассматриваются как последовательностные структуры, то есть выполнение операций осуществляется последовательно.

Рассмотрим произвольную ГСА (рис. 1).

Здесь:

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

– вершины, определяющие логику (порядок) выполнения алгоритма, будем называть предикативными или логическими блоками.

Рис. 1. Граф-схема алгоритма

Задание алгоритма в виде ГСА имеет ряд недостатков:

 переход от выполнения одной операции к выполнению другой в некоторых случаях ничем не обозначен, например, вершины А0 — А1 — А2, здесь подразумевается, что после выполнения операции А1 следует переход к выполнению операции А2, хотя такой переход ничем не фиксируется;

 условия, определяющие порядок выполнения алгоритма, часто задаются несколькими логическими функциями, например α4–α40, что усложняет рассмотрение алгоритма.

Первый из этих недостатков устраняется путём объединения двух или нескольких операторов действия в один, например, вершины А0 — А1 — А2, заменяют на оператор А012, или окончание каждого из функциональных операторов действия фиксируется окончанием зоны их действия.

Второй из этих недостатков устраняется путём объединения нескольких логических функций одной известными приёмами алгебры логики.

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

Пунктиром выделены модули алгоритма, а на рисунке (рис. 3) приведено изображение алгоритма в модульном исполнении, которое представляет собой граф Бержа

Рис. 2. «Доопределённая» граф-схема алгоритма

Рис. 3. Изображение алгоритма в модульном исполнении

Алгоритм можно задать в виде графа (рис. 4), вершины которого делятся на два непересекающихся множества, то есть граф будет дуальным.

Рис. 4. Задание алгоритма в виде дуального графа

Использование матрично-предикатного способа представления графа [1–3] и представление алгоритма модулями (рис. 3), позволяет задать алгоритм в виде матрицы (рис. 5).

Рис. 5. Модульное представление алгоритма в матрично-предикатном виде

Такое представление алгоритма будем называть модульнымвматрично-предикатном виде.

Квадратная матрица алгоритма МA, заданная в матрично-предикатном виде, обладает неизменностью свойств описываемого объекта при одновременной замене строки и столбца с одинаковыми номерами на соответствующую пару с другим номером [4].

Проведём такую операцию с матрицей МA, разнеся функциональные и предикативные вершины алгоритма в противоположные стороны. В итоге получим описание того же алгоритма в виде МA* в несколько иной форме (рис. 6).

Такое представление алгоритма будем называть в матрично-предикатной форме.

Задание алгоритмов в матрично-предикатном виде позволяет проводить практически любые операции над ними. Недостатком является то, что при большом количестве компонентов вывод результатов на экран или бумагу получается очень громоздким. Это происходит из-за большой разреженности исходных матриц. Например, квадратная матрица (рис. 5) содержит 324 элемента, а значащих (ненулевых) всего 47.

Рис. 6. Функционально-предикативноепредставление алгоритма в матрично-предикатном виде

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

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

Второе, третье и четвёртое места определяют процесс функционировния компонента. Места с 4-го по 12-е определяют свойства, положение, время функционировния и другие характеристики объекта в данной точке процесса.

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

Таблично-предикатная форма задания рассматриваемого алгоритма представлена ниже.

Рис. 7. Фрагмент задания алгоритма в таблично-предикатной форме

Рассмотрим матрично-предикатное представление алгоритма в модульном виде (рис. 5) и переход к таблично-предикатной форме. На рисунке (рис. 8) представлена таблично-предикатная форма задания рассмотренного алгоритма.

На рисунке (рис. 8) пунктиром выделены модули, 1–4 строчки — это первый модуль — I, 6–9 — это второй -II. После выполнения модуля I происходит выполнение перехода μ0μ01А1 (строка 5) и переход к выполнению модуля II.


Рис. 8. Таблично-предикатная форма алгоритма заданного в модульном виде

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

Литература:

  1. Построение формального описания технологического процесса в матрично-предикатной форме / В. С. Поляков, С. В. Поляков, П. В. Федченков // Известия ВолгГТУ. Серия «Прогрессивные технологии в машиностроении». Вып. 9: межвуз. сб. науч. ст. / ВолгГТУ. — Волгоград, 2013. — № 7 (110). — C. 105–108.
  2. Поляков В. С., Поляков С. В. Запись алгоритма матрицей инцидентора // Инновации на основе информационных и коммуникационных технологий. Инфо 2014: матер. XI междунар.научн.-практ. Конф. (г. Сочи, 1–10 окт. 2014) /Национальный исследовательский ун-т «Высшая школа экономики» [и др.]. — М., 2014. — с. 149–152.
  3. Использование нагруженных матриц инцидентора (операторов) для моделирования сложных систем / В. С. Поляков, С. В. Поляков // Контроль. Диагностика. — 2013. — № 3. — C. 57–62.
  4. Поляков С. В., Сластинин С. Б., Поляков В. С. Исключение изоморфизма при операциях над графами, описывающими технологический процесс. // Контроль. Диагностика — 2006.– № 1
Основные термины (генерируются автоматически): представление алгоритма, матрично-предикатный вид, алгоритм, таблично-предикатная форма, выполнение модуля, выполнение операции, матрично-предикатная форма, модульное исполнение, модульный вид, таблично-предикатная форма задания.


Похожие статьи

Структурный метод нахождения Z-образа дискретной последовательности

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

Многочлены от одной переменной над булевым кольцом

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

Алгоритм построения простых чисел

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

Построение локально оптимальных систем с использованием проекционного метода

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

Решение начальной задачи для линейных рекуррентных соотношений первого порядка в случае одношагового расщепления

Рассматривается начальная задача для неоднородного линейного рекуррентного соотношения первого порядка с операторными коэффициентами A,B, задаваемыми квадратными числовыми матрицами. Оператор A необратим, вследствие чего задача имеет решение не при к...

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

Разработка программного метода генерации псевдослучайных чисел

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

Разработка алгоритма быстрого преобразования Фурье на базе модели акторов

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

К расчёту переходных процессов в линейных электрических цепях с помощью графов переменных состояния

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

Линейное программирование

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

Похожие статьи

Структурный метод нахождения Z-образа дискретной последовательности

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

Многочлены от одной переменной над булевым кольцом

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

Алгоритм построения простых чисел

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

Построение локально оптимальных систем с использованием проекционного метода

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

Решение начальной задачи для линейных рекуррентных соотношений первого порядка в случае одношагового расщепления

Рассматривается начальная задача для неоднородного линейного рекуррентного соотношения первого порядка с операторными коэффициентами A,B, задаваемыми квадратными числовыми матрицами. Оператор A необратим, вследствие чего задача имеет решение не при к...

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

Разработка программного метода генерации псевдослучайных чисел

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

Разработка алгоритма быстрого преобразования Фурье на базе модели акторов

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

К расчёту переходных процессов в линейных электрических цепях с помощью графов переменных состояния

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

Линейное программирование

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

Задать вопрос