Научная статья на тему 'Развитие графовых и матричных способов представления алгоритмов'

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

CC BY
145
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
THE ALGORITHM GRAPH-DIAGRAM / BIPARTITE GRAPH / SET / MATRIX / PREDICATE / LOGICAL OPERATOR / CIRCUIT / АЛГОРИТМ / ГРАФ-СХЕМА / ДВУДОЛЬНЫЙ ГРАФ / МНОЖЕСТВО / МАТРИЦА / ПРЕДИКАТ / ЛОГИЧЕСКИЙ ОПЕРАТОР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Поляков В. С., Поляков С. В., Авдеюк О. А., Наумов В. Ю., Павлова Е. С.

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

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

The development of graph and matrix ways of representing algorithms

In the article we consider serial hipping-chart of the abstract algorithm and a bipartite graph. Led the detailed algorithm of such a transformation. We gave an example of the ability to specify the algorithms in the matrix-predicate form. In conclusion, we indicated that the resulting matrix-predicate form is completely identical graphic form, however, allows you to work with algorithms much more efficient, since it is possible to ask them in the matrix predicate and partially automate the heuristic methods of their construction.

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

Развитие графовых и матричных способов представления алгоритмов

В.С. Поляков, С.В.Поляков, О.А. Авдеюк, В.Ю. Наумов,

Е.С. Павлова, М.Г. Скворцов

Волгоградский государственный технический университет

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

Ключевые слова: алгоритм, граф-схема, двудольный граф, множество, матрица, предикат, логический оператор.

Известно, что алгоритм - это конечный набор правил, позволяющий чисто механически решить поставленную задачу. Большинство алгоритмов, применяемых в настоящее время, являются последовательными. Запись алгоритма осуществляется в следующем виде: словесная или вербальная (языковая, формульно-словесная и т.д.); графическая (например, блок-схемы, ДРАКОН-схемы, диаграммы Насси- Шнейдермана); в виде псевдокодов, представляющие собой частично формализованные описания алгоритмов, которое состоит из отдельных фраз естественного языка и некоторых элементов языка программирования; - программная - тексты алгоритма записывается на языке программирования (программа). Разработка алгоритмов осуществляется, как правило, человеком и носит эвристический характер. Процессы разработки алгоритмов и формализации взаимодействия их между собой сложны и трудоёмки, поэтому плохо поддаются автоматизации. Поэтому актуальной задачей является разработки такой формы представления алгоритма, которая позволит автоматизировать эвристические методы их построения.

Организацию взаимодействия алгоритмов между собой (например, параллельную их работу) можно разбить на два этапа:

- представление алгоритма в виде удобном для обработки в ЭВМ,

- разработка операций над алгоритмами.

Рассмотрим произвольный алгоритм, заданный в виде граф-схемы (рис. 1). При таком задании выделяются два типа вершин:

- вершины, определяющие выполнение отдельных операций (множество А = { А0, А1, А2, А3, АА^+1, Ак } , операторы действия);

- вершины, определяющие логику (порядок) перемещения от выполнения одной операции к выполнению следующей

(а = { а1-1, а1-2 2-1, а2-2 },операторы логики).

Рис. 1. - Граф-схема произвольного алгоритма

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

проблем предлагается доопределить соответствующие операторы следующим образом и использовать указанную ниже последовательность действий:

1. Будем задавать конец выполнения каждого оператора действия Аj с помощью соответствующего оператора логики аj (рис. 2).

Рис. 2. - Доопределение оператора действия Аj оператором логики аj 2. Различные композиции операторов логики заменим на один многозначный оператор. На рис. 3 а приведены две логические функции а и в , а на рис. 3б реализующий аналогичную функцию многозначный оператор а-р.

Рис. 3. - Замена двух операторов логики одним многозначным оператором

3. Доопределяем каждый оператор действия исходного алгоритма Ах алгоритма А как показано на рисунках 4а, б, в, г, д.

4. Введем следующие обозначения:

Таблица № 1

Композиция и логические значения функций

Композиция функций Логические значения функций

«00 =Ц° Т 0 I- Ц 0 т 0 I- Ц 1

ол'а =Ц а01 =Ц10 а01 а1-1 =Ц11 а01 а1-1 а1-2 =Ц2 а01 а1-1 а1-2=Ц3

а 02"а2-1"а2-2=Ц2 а02 =Ц20 а02 а2-1 =Ц21 а02 а2-1 а2-2=Ц22 а02 а2-1 а2-2=Ц23

3 а з=Ц а3 =Ц30 3 а з=Ц 1

4 а 4 =ц «4 =Ц40 4 а 4 =Ц 1

Рис. 4. - Доопределение оператора действия Аi алгоритма А

5. Применим доопределённые операторы действия (рис.4) и новые обозначения (таблица 1) для исходного алгоритма (рис. 1) и получим новый доопределённый алгоритм (рис. 5).

Рис. 5 - Доопределённый алгоритма А с новыми обозначениями

6. Доопределённый алгоритм (рис. 5), можно представить двудольным графом, то есть ориентированным графом с двумя типами

непересекающихся вершин (рис. 6) [3]. При этом вводятся обозначения: ц\2

1 \/ 1 2 2 ,, 2

= Ц ^ Ц 2 и Ц 0,1 = Ц oV Ц 1

Рис. 6 - Двудольный граф алгоритма А

7. Двудольный граф (рис. 6) запишем оператором действия исходного

алгоритма Ор в матрично-предикатном виде :

ОрА =

ц

0 0 0 0

0 0 0 0 а

0 0 0 0

1 ц1 0 0 0

0 2 ц2 0 3 0

0 0 ц3 0

0 0 0 4 ц4

0 0 0 0

11 А1^ц 0 0 0

0 22 А2ц оц 0 33 0

0 0 А3ц оц 0

0 0 0 44 А4ц40ц4

0 0 0 0

0 0 0 0

ц V 0 А1 ц1ц1,2 А2 ц^ 3 Аз

0 ц 2ц М А2

0

0

22 Ц Ц 3 А4

0 0 0

0 0 0

0 А1ц|,А1 0

0 0 А2Ц^А2

0 0 0

0 0 0

0 0 0

Ц3Ц3аЗ

0 ц 4ц 0 А4 00 00 00

А3ц 3 А3 0

0 А4Ц 0 А4 00

0 0

ц 1ц 2 А ц 1ц3 Ак ц 4ц4 Ак --■¡0 —

\0 0

0

0

I_

.Ак.^Ак.

00

0

0

0

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

Литература

1. Поляков В.С., Поляков С.В., Муха Ю.П. Представление транспортно-информационного потока взаимодействием операторов трассы и движущихся по ней объектов // Телекоммуникации. 2013. № 7. С. 3-7.

2. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая Линия - Телеком, 2007. 452 с.

3. Дворецкий С.И., Муромцев Ю.Л. и др. Моделирование систем. М.: Academia, 2009. 320 с.

4. Поляков С.В., Поляков В. С. Моделирование параллельно протекающих процессов блоками взаимодействующих компонентов. // Контроль. Диагностика. 2008. № 8. С. 70-72.

5. Астанин С.В., Драгныш Н.В., Жуковская Н.К. Вложенные метаграфы как модели сложных объектов // Инженерный вестник Дона, 2012, №4. URL: ivdon.ru/magazine/archive/n4p2y2012/1434/.

6. Поляков В.С., Поляков С.В., Муха Ю.П. Применение совокупности новых установок, представлений и терминов при моделировании информационных потоков в сложных системах // Телекоммуникации. 2013. № 1. С. 2-5.

7. Поляков В.С., Поляков С.В., Нефедьев А.И. Математическая модель подвески подвижной части электроизмерительного прибора.// Инженерный вестник Дона, 2013. №3. URL: ivdon.ru/magazine/archive/n3y2013/1788.

8. Лацис А.О. Параллельная обработка данных. М.: Academia, 2010. 336 с.

9. Voevodin V.V. Information structure of sequential programs // Russ. J. of Num. An. and Math. Modelling. 1995. V.10. №3. P. 279286.

10. Voevodin V.V. Mathematical foundations of parallel computing. World Scientific Publishing Co., Series in computer science. 1992. V.33. 343 p.

References

1. Poljakov V.S., Poljakov S.V., Muha Ju.P. Telekommunikacii. 2013. № 7. pp. 3-7.

2. Rutkovskaja D., Pilin'skij M., Rutkovskij L. Nejronnye seti, geneticheskie algoritmy i nechetkie sistemy [Neural networks, genetic algorithms and fuzzy systems]. M.: Gorjachaja Linija. Telekom, 2007. 452 p.

3. Dvoreckij S.I., Muromcev Ju.L. i dr. Modelirovanie system [Modeling systems]. M.: Academia, 2009. 320 p.

4. Poljakov S.V., Poljakov V.S. Kontrol'. Diagnostika. 2008. № 8. pp. 70-72.

5. Astanin S.V., Dragnysh N.V., Zhukovskaja N.K. Inzenernyj vestnik Dona (Rus), 2012, №4. URL: ivdon.ru/magazine/archive/n4p2y2012/1434.

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

6. Poljakov V.S., Poljakov S.V., Muha Ju.P. Telekommunikacii. 2013. № 1. pp. 2-5.

7. Poljakov V.S., Poljakov S.V., Nefed'ev A.I. Inzenernyj vestnik Dona (Rus), 2013. №3. URL: ivdon.ru/magazine/archive/n3y2013/1788.

8. Lacis A.O. Parallel'naja obrabotka dannyh [Parallel processing of data]. M.: Academia, 2010. 336 p.

9. Voevodin V.V. Information structure of sequential programs. Russ. J. of Num. An. and Math. Modelling. 1995. V.10. №3. pp. 279286.

10. Voevodin V.V. Mathematical foundations of parallel computing. World Scientific Publishing Co., Series in computer science. 1992. V.33. 343 p.

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