Нейросетевая транспортная модель динамической маршрутизации
"- Вперед! - скомандовал сам себе бравый солдат Швейк. - Долг зовет. Я должен попасть в Будейовицы.
Но по несчастной случайности, вместо того чтобы идти от Противина на юг - к Будейовицам, стопы Швейка направились на север - к Писеку".
Я. Гашек. "Похождения бравого солдата Швейка"
Транспортная сеть представляет собой конечное множество пунктов (узлов), соединенных между собой линиями связи. Ограничения на топологию связей отсутствуют.
Случайным образом или по некоторому закону (например, по расписанию) в сети возникают заявки на транспортное перемещение, на передачу сообщений или, в общем случае, - на движение объекта из пункта отправления к пункту назначения. Такими пунктами может быть любая пара пунктов сети. Заявки требуют прокладки маршрутов следования. Маршрут может предполагать как непосредственное перемещение из пункта отправления в пункт назначения (если существует связь), так и транзитное перемещение через промежуточные пункты.
При моделировании целесообразно наблюдать единичный акт перемещения по каждому маршруту: из одного пункта в другой. Это позволяет применять динамическое управление реализацией маршрутов и изменять условия продвижения от пункта отправления к пункту назначения.
Модель ориентирована на решение задачи "проникновения" из пункта отправления в пункт назначения кратчайшим или менее загруженным доступным путем, т.е. за минимально возможное время. Решение этой задачи характерно для маршрутизации в компьютерной сети, включая Интернет, для почтовой связи, оптимизации грузовых перевозок всех видов, нефтяных и газовых магистралей и др. В то же время с помощью этой модели может быть составлено оптимальное транспортное расписание, например, движения поездов.
Для проекции сети на плоскость введем систему координат (х, у), позволяющую однозначно идентифицировать (адресовать) каждый из N пунктов сети. Координаты могут быть декартовыми, географическими и др. В соответствии с их назначением, знание их точного значения не обязательно.
Возбуждаются соответствующие этим разностям рецепторы, и для данного пункта нахождения вновь по максимальному возбуждению нейрона выходного слоя определяется следующий пункт смещения и т.д.
Координаты каждого полученного пункта смещения сравниваются с координатами пункта назначения, т.к. в случае их совпадения маршрут следования реализован.
Изменение весов связей и порогов позволяет ввести элементы динамического управления движением. Так, увеличение порога нейрона выходного слоя целесообразно связать с нагрузкой соответствующего пункта (узла). Величина возбуждения нейрона, указывающего на этот пункт, может при этом зависеть, например, от количества занятых путей станции (при "железнодорожной" интерпретации) или от количества занятых каналов обслуживания (базы данных).
Такое регулирование величины возбуждения нейронов выходного слоя позволяет строить транспортные сети с использованием резервных, обходных путей, т.к. исходные построения обученной нейросети можно производить с учетом не одного, а более пунктов смещения. Тогда пункт смещения, "возбудившийся" более других, может быть выбран для этого смещения.
Продвижение по сети с каждого пункта должно уменьшать значение соответствующего ему порога (на выходном слое) в зависимости от "физического смысла" задачи.
Регулировка синапсических весов нейрона выходного слоя может быть связана с загруженностью пути, линии передачи данных и других средств перемещения в транспортной сети. Такая регулировка требует введения дополнительного контроля состояния связи, соединяющей пункты. Синапсический вес такой связи должен снижаться при имитации движения. С этим снижением должен быть связан счетчик времени, в течение которого связь невозможна. Например, интервал следования поездов по одному пути обусловлен, в частности, необходимым расстоянием между поездами. В общем случае необходимо учитывать пропускную способность линий связи. По истечении определенного времени (когда счетчик "обнуляется") вес связи увеличивается до максимального (скорее всего, до единицы).
Таким образом, даже если величина возбуждения нейрона, указывающего на пункт смещения, высока и позволяет принять движущийся объект, учитывается состояние средства связи.
Так как работа модели тактируется, то при запретах на смещение движущихся объектов нейросеть не подвергается изменению с увеличением модельного времени на такт. Уменьшаются лишь значения счетчиков задержки. При переходе к следующему такту модельного времени вновь исследуется возможность дальнейшего продвижения объектов с новыми значениями синапсических весов и порогов нейронов выходного слоя.
С помощью подобных счетчиков можно организовывать задержки в пунктах сети для имитации остановок движения, например, поездов.
При построении обученной нейронной сети, моделирующей транспортную сеть, целесообразно усилить влияние разностей координат пункта назначения и пункта отправления таким образом, чтобы учесть меньшее количество промежуточных пунктов следования. То есть рекомендуемый пункт очередного смещения для "дальних" маршрутов может и дальше отстоять от пункта назначения или промежуточного пункта следования. Например, скорый поезд, следующий в Астрахань, первую остановку делает в Рязани, и прокладывать ему маршрут, указывая Малаховку как пункт смещения, уместный для электропоезда, вряд ли целесообразно.
Пусть ?х - разность координаты х пункта назначения и пункта нахождения (отправления или промежуточного пункта), из которого следует произвести шаг перемещения - смещение; ?у - аналогичная разность координаты у.
Для полной реализации модели достаточна однослойная логическая нейронная сеть (рис. 14.1).
Рис. 14.1. Нейросеть для пошаговой маршрутизации
Разобьем весь интервал изменения ?х для данной транспортной сети на отрезки а1, …, аm. За каждым отрезком закрепим нейрон рецепторного слоя. Возбуждение этого нейрона определяется достоверностью принадлежности найденного текущего значения ?х соответствующему отрезку.
Весь интервал возможного изменения ?у также разобьем на отрезки b1, …, bn. За каждым отрезком закрепим нейрон-рецептор. Его возбуждение определяется достоверностью того, что текущее значение ?у принадлежит соответствующему отрезку.
Закрепим N рецепторов за пунктами сети. Возбуждение этих рецепторов определяет пункт нахождения - пункт отправления или промежуточный пункт, из которого следует произвести смещение.
Выходной слой состоит из N нейронов. Их возбуждение определяет пункты, в которые необходимо или возможно произвести смещение.
Рекомендация по смещению не обязательно однозначна. Могут выдаваться варианты смещения, которые подлежат дополнительному анализу с учетом различных динамических факторов.
Синапсические связи вводятся так, чтобы каждое единичное возбуждение рецепторов всех элементов тройки {ai, bj, <k-й пункт нахождения>} приводил к максимальному возбуждению нейрона выходного слоя, называющего пункт дальнейшего смещения.
Передаточную функцию целесообразно выбрать как
Таким образом, первоначально по разностям координат х и у пункта отправления и пункта назначения отыскивается промежуточный пункт смещения. Для продолжения имитации движения возбуждается нейрон рецепторного слоя, закрепленный за полученным пунктом смещения, т.е. за новым пунктом нахождения. По его координатам и координатам пункта назначения вновь определяются ?х и ?у.
Возбуждаются соответствующие этим разностям рецепторы, и для данного пункта нахождения вновь по максимальному возбуждению нейрона выходного слоя определяется следующий пункт смещения и т.д.
Координаты каждого полученного пункта смещения сравниваются с координатами пункта назначения, т.к. в случае их совпадения маршрут следования реализован.
Изменение весов связей и порогов позволяет ввести элементы динамического управления движением. Так, увеличение порога нейрона выходного слоя целесообразно связать с нагрузкой соответствующего пункта (узла). Величина возбуждения нейрона, указывающего на этот пункт, может при этом зависеть, например, от количества занятых путей станции (при "железнодорожной" интерпретации) или от количества занятых каналов обслуживания (базы данных).
Такое регулирование величины возбуждения нейронов выходного слоя позволяет строить транспортные сети с использованием резервных, обходных путей, т.к. исходные построения обученной нейросети можно производить с учетом не одного, а более пунктов смещения. Тогда пункт смещения, "возбудившийся" более других, может быть выбран для этого смещения.
Продвижение по сети с каждого пункта должно уменьшать значение соответствующего ему порога (на выходном слое) в зависимости от "физического смысла" задачи.
Регулировка синапсических весов нейрона выходного слоя может быть связана с загруженностью пути, линии передачи данных и других средств перемещения в транспортной сети. Такая регулировка требует введения дополнительного контроля состояния связи, соединяющей пункты. Синапсический вес такой связи должен снижаться при имитации движения. С этим снижением должен быть связан счетчик времени, в течение которого связь невозможна. Например, интервал следования поездов по одному пути обусловлен, в частности, необходимым расстоянием между поездами. В общем случае необходимо учитывать пропускную способность линий связи. По истечении определенного времени (когда счетчик "обнуляется") вес связи увеличивается до максимального (скорее всего, до единицы).
Таким образом, даже если величина возбуждения нейрона, указывающего на пункт смещения, высока и позволяет принять движущийся объект, учитывается состояние средства связи.
Так как работа модели тактируется, то при запретах на смещение движущихся объектов нейросеть не подвергается изменению с увеличением модельного времени на такт. Уменьшаются лишь значения счетчиков задержки. При переходе к следующему такту модельного времени вновь исследуется возможность дальнейшего продвижения объектов с новыми значениями синапсических весов и порогов нейронов выходного слоя.
С помощью подобных счетчиков можно организовывать задержки в пунктах сети для имитации остановок движения, например, поездов.
При построении обученной нейронной сети, моделирующей транспортную сеть, целесообразно усилить влияние разностей координат пункта назначения и пункта отправления таким образом, чтобы учесть меньшее количество промежуточных пунктов следования. То есть рекомендуемый пункт очередного смещения для "дальних" маршрутов может и дальше отстоять от пункта назначения или промежуточного пункта следования. Например, скорый поезд, следующий в Астрахань, первую остановку делает в Рязани, и прокладывать ему маршрут, указывая Малаховку как пункт смещения, уместный для электропоезда, вряд ли целесообразно.