Научная статья на тему 'Описание алгоритма поиска маршрутов при синтезе таблиц взаимозависимостей по схематическому плану станции'

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

CC BY
241
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТАБЛИЦА ВЗАИМОЗАВИСИМОСТЕЙ (ТВЗ) / АЛГОРИТМ СИНТЕЗА / ЭЛЕКТРОННЫЙ ДОКУМЕНТООБОРОТ / СХЕМАТИЧЕСКИЙ ПЛАН СТАНЦИИ / ЛСА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ковалёв Р.А.

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

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

Description of the algorithm for route search within the interdependency tables synthesis based on the station key plan

The article covers the principal algorithm for generalized route selection by the station key plan, used for synthesis of train (entrance, transmission, exit and make way routes), shunting and complex routes. Generalized route is a sequence of station elements, involved in the moving of the rack. The article provides the description of input data processing into the model, used by the algorithm, and shows the example. Algorithm description is made by algorithm logic chart (LSA), complemented by the author of the article, and can be performed using any Turing complete programming language.

Текст научной работы на тему «Описание алгоритма поиска маршрутов при синтезе таблиц взаимозависимостей по схематическому плану станции»

40

Современные технологии - транспорту

УДК 004.896 Р А. Ковалёв

Петербургский государственный университет путей сообщения Императора Александра I

ОПИСАНИЕ АЛГОРИТМА ПОИСКА МАРШРУТОВ ПРИ СИНТЕЗЕ ТАБЛИЦ ВЗАИМОЗАВИСИМОСТЕЙ ПО СХЕМАТИЧЕСКОМУ ПЛАНУ СТАНЦИИ

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

таблица взаимозависимостей (ТВЗ), алгоритм синтеза, электронный документооборот, схематический план станции, ЛСА.

Введение

Под ТВЗ понимается таблица взаимозависимостей, в которую входят следующие данные:

• таблица маршрутов и показаний светофоров,

• таблица негабаритных секций и охранных стрелок,

• расчет переезда на станции,

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

• таблица стрелок, имеющих замедление на размыкание или оборудованных автовозвратом в исходное положение.

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

от остальных, а также в некоторой степени упрощает тестирование алгоритмов.

1 Модель данных

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

Графическая часть документа упускает часть информации для наглядности (рис. 2). При этом специализированные редакторы позволяют создавать и изменять документы таким образом, как будто пользователь работает с графическим изображением документа и набором атрибутов для каждого отдельного примитива или группы примитивов.

2014/4

Proceedings of Petersburg Transport University

Современные технологии - транспорту

41

<SSP: Светофор id=”39” Парк=”1” ВводПараметров=”с БДКП” МестоУстановки=”справа” Марка=”Св2-карл-Ч-Ж/Б Ф” ТипСветофора=”линзовый” НазначениеСвет=”маневровый”

Т ипМачты=”отсутствует” КолОгней=”2”>

<SSP: Показание Номер=”10” Показ=”синий” Мигание=”нет” ДвухнитеваяЛампа=”нет” Символ=”

“ ИспКакПригл-’нет’7>

<SSP: Показание Номер=”11” Показ=”белый” Мигание-’нет” ДвухнитеваяЛампа=”нет” Символ-’

“ ИспКакПригл-’нет”/>

</SSP: Светофор>

Рис. 1. Фрагмент описания входных данных

Рис. 2. Фрагмент схематического плана станции. Графическое представление

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

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

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

Обозначив орграф первого уровня Gp можно ввести следующие обозначения:

G, = (V, E);

V - множество вершин; (1)

Е - множество пар вершин (u, v) е V, (u, v) Ф (v, u).

Граф G1 служит основой для графа второго уровня G2 (рис. 4) и состоит из вершин, описывающих секции однониточного плана станции и ребер, описывающих изолирующие стыки. Таким образом, каждая вершина графа G2 представляет собой фрагмент графа G1.

Для наглядности G2 Э Gx на рис. 4.

2 Описание алгоритма

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

ISSN 1 81 5-588Х. Известия ПГУПС

2014/4

42

Современные технологии - транспорту

Рис. 3. Отображение фрагмента схематического плана станции в виде графа

7

строенные маршруты. В результате можно составить следующую общую схему алгоритма:

1. Построение графов Gt и G2;

2. Поиск поездных и маневровых маршрутов;

3. Составление маршрутов безостановочного пропуска на основании поездных маршрутов;

4. Составление таблицы показаний светофоров в поездных и маневровых маршрутах;

5. Поиск случаев охранности и негабарит-ности;

6. Поиск переездов и расчет переездной сигнализации;

7. Поиск враждебных маршрутов;

8. Составление таблицы угловых заездов.

2014/4

Proceedings of Petersburg Transport University

Современные технологии - транспорту

43

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

Для описания алгоритма необходимо ввести следующие обозначения:

V1 - множество вершин G^

V2 - множество вершин G2.

Алгоритм описан с помощью ЛСА [3]. Для упрощения восприятия предлагается дополнить описание алгоритма специальными операторами, не входящими в классическое ЛСА:

• оператор привязки «let [name, value]». Этот оператор является эквивалентом математического равенства видаf (value) = name и позволяет явно указать глобальные переменные и алгоритмы в описании взамен их упоминания в описаниях операторов ЛСА;

• «map.a [b, value]» - итеративный оператор накопления по пронумерованному множеству «b»; «a» - i-й элемент множества на i-й итерации. Накапливаемым результатом является множество R = {x}, формируемое на каждой итерации путем вызова оператора A (xi);

• «mapc.a [b, value]» - итеративный оператор накопления, идентичный оператору «map», но объединяющий результаты вызова A (xi) в одно множество.

A (a) - передача аргумента «а» оператору накопления;

B (G, v) - множество ребер графа G вида u [v, к], где v е V, к е V, V- множество вершин графа G;

C (u) - вершина v графа G2, в состав которой входит вершина v2 графа G1 при условии, что u = (v1, v2);

D (S) - проверка множества S на равенство пустому множеству;

p1 (v) - проверка v по критериям начального элемента маршрута;

p2 (v) - проверка v по критериям конечного элемента маршрута;

p3 (v) - критерий продолжения поиска.

Алгоритм в терминах дополненного ЛСА приведен на рис. 5.

Пример работы алгоритма приведен на рис. 6.

Вычислительная сложность алгоритма O = = (V + E). Поиск сначала выполняется по графу G2, затем по полученным результатам строятся маршруты, содержащие вершины графа G1. Это позволяет значительно увеличить производительность поиска, а также дает возможность хранить информацию о секциях, участвующих в маршрутах, необходимую в других алгоритмах синтеза.

Заключение

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

let[V1 ,map.a[V 1, p1(a)|1 A(a)|1.]] let [ U1, mapc.a [V1 ,B(G 1 ,a)]] let[S1, map.a[U 1 ,C(a)]]

let [ Alg i( S ) ,D( S )f map.a [S, p 2|3|4 Alg i( B (G 2 ,a))j3 A (a ) p3 f|2-]] Alg i(S 1)

Рис. 5. Алгоритм поиска маршрутов по графам G2 и G1

ISSN 1815-588Х. Известия ПГУПС

2014/4

44

Современные технологии - транспорту

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

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

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

1. XML 1.0 Spesification / World Wide Web Consortium. - URL : w3.org/TR/REC-xml/ (дата обращения 22.08.2010).

2. Cormen I., Thomas H. Introduction to Algorithms. - 3rd ed. - Cambridge : The MIT Press, 2009. - 1312 p.

3. Синтез управляющих автоматов / В. Г. Лазарев, Е. И. Пийль. - 3-е изд., перераб. и доп. - Москва : Энергоатомиздат, 1989. - 328 с.

2014/4

Proceedings of Petersburg Transport University

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