Логическая нейронная сеть — средство пошагового принятия решений
Будут игры беспредельные,
В упоительности цельные…
Задачи пошаговой оптимизации составляют широкий класс задач исследования операций. Это — многочисленные задачи нахождения оптимальных стратегий управления, таких, как вывод космического объекта в заданную точку, минимизация длины пути следования в транспортной сети и др.
Однако высокая сложность задач указанного типа выдвигает проблему запоминания и использования опыта, т.е. применения элементов обучения.
При решении задач оперативного управления и планирования, по-видимому, нецелесообразно каждый раз, например, прокладывать маршрут следования груза по железной дороге с учётом огромного числа динамически возникающих факторов. Конечно, пользуются простыми эвристическими алгоритмами управления, достаточно детализированными и децентрализованными для возможности учёта постоянно изменяющихся условий и обстановки.
В то же время, пошаговая оптимизация примитивно вырождается в последовательно принимаемое решение вида: "я нахожусь в состоянии Х; куда двигаться (что делать) дальше?" Такая простая схема движения к оптимуму и порождает возможность априорного расчёта оптимальных стратегий изменения состояния системы для того, чтобы в рабочем режиме по функции цели и по текущему состоянию системы находить запомнившийся предпочтительный переход в соседнее состояние, уменьшающий значение этой функции.
Такая схема соответствует и идее ситуационного управления, и рассмотренной ранее схеме нейросетевой реализации управления.
К стратегии пошаговой оптимизации следует отнести и тактические игры, заключающиеся в последовательном выполнении противниками (преимущественно, двумя) действий, приводящих к минимизации некоторой целевой функции, например, функции потерь. Здесь перед отдельным игроком стоит проблема выбора наилучшего хода для сложившейся ситуации.
Для этого, несомненно, могут каждый раз рассчитываться все возможные варианты ходов с возможными ответными ходами. Может быть использован и теоретический опыт. Однако такой анализ требует огромной производительности вычислительных средств. Он недостаточно оперативен.
Здесь решение находится на основе анализа действий опытного игрока, помнящего эффективный выход из множества сложившихся ситуаций и эксплуатирующего свои способности ассоциативного мышления. Используется и коллективный опыт, теоретически обобщённый.
Автоматизация подобного анализа может быть произведена на основе разработки "подсказчика", хранящего в памяти большое количество ситуаций и рекомендующего следующий ход в соответствии с опытом экспертов, с историей и с теоретическим анализом.
Всё сказанное выше определяет целесообразность реализации с помощью логической нейронной сети.
Нейросетевая транспортная модель динамической маршрутизации
Транспортная сеть представляет собой конечное множество пунктов (узлов), соединённых между собой линиями связи. Ограничения на топологию связей отсутствуют.
Случайным образом или по некоторому закону (например, по расписанию) в сети возникают заявки на транспортное перемещение, на передачу сообщений или, в общем случае, — на движение объекта из пункта отправления к пункту назначения. Такими пунктами может быть любая пара пунктов сети. Заявки требуют прокладки маршрутов следования. Маршрут может предполагать как непосредственное перемещение из пункта отправления в пункт назначения (если существует связь), так и транзитное перемещение через промежуточные пункты.
При моделировании целесообразно наблюдать единичный акт перемещения по каждому маршруту: из одного пункта в другой. Это позволяет применять динамическое управление реализацией маршрутов и изменять условия продвижения от пункта отправления к пункту назначения.
Модель ориентирована на решение задачи "проникновения" из пункта отправления в пункт назначения кратчайшим или менее загруженным доступным путём, т.е. за минимально возможное время. Решение этой задачи характерно для маршрутизации в компьютерной сети, включая Интернет, для почтовой связи, оптимизации грузовых перевозок всех видов, нефтяных и газовых магистралей и др. В тоже время с помощью этой модели может быть составлено оптимальное транспортное расписание, например, движения поездов.
Для проекции сети на плоскость введём систему координат (х, у), позволяющую однозначно идентифицировать (адресовать) каждый из N пунктов сети. Координаты могут быть декартовыми, географическими и др. В соответствии с их назначением, знание их точного значения не обязательно.
Пусть $$\Delta х$$ — разность координаты х пункта назначения и пункта нахождения (отправления или промежуточного пункта), из которого следует произвести шаг перемещения — смещение; $$\Delta y$$ — аналогичная разность координаты у.
Для полной реализации модели достаточна однослойная логическая нейронная сеть (рис.9.1).
Разобьём весь интервал изменения $$\Delta х$$ для данной транспортной сети на отрезки $$а_1, …, а_m$$. За каждым отрезком закрепим нейрон рецепторного слоя. Возбуждение этого нейрона определяется достоверностью принадлежности найденного текущего значения $$\Delta х$$ соответствующему отрезку.
Весь интервал возможного изменения $$\Delta y$$ также разобьём на отрезки $$b_1, …, b_n$$. За каждым отрезком закрепим нейрон-рецептор. Его возбуждение определяется достоверностью того, что текущее значение $$\Delta y$$ принадлежит соответствующему отрезку.
Закрепим N рецепторов за пунктами сети. Возбуждение этих рецепторов определяет пункт нахождения — пункт отправления или промежуточный пункт, из которого следует произвести смещение.
Выходной слой состоит из N нейронов. Их возбуждение определяет пункты, в которые необходимо или возможно произвести смещение.
(рис 9.1) Нейросеть для пошаговой маршрутизации
Рекомендация по смещению не обязательно однозначна. Могут выдаваться варианты смещения, которые подлежат дополнительному анализу с учётом различных динамических факторов.
Синапсические связи вводятся так, чтобы каждое единичное возбуждение рецепторов всех элементов тройки {ai, bj, <k-й пункт нахождения>} приводил к максимальному возбуждению нейрона выходного слоя, называющего пункт дальнейшего смещения.
Функцию активации целесообразно выбрать, как $$V_i=\xi \left(\sum \limits_j \omega_j V_j - h \right)$$, где знаком $$\xi$$ обозначают замену отрицательных значений нулём, т.е. $$\left(\xi (z)= \begin{cases}
z,{при\ z \ge 0}\\
0,{при\ z < 0}
\end{cases} \right)$$
Таким образом, первоначально по разностям координат х и у пункта отправления и пункта назначения отыскивается промежуточный пункт смещения. Для продолжения имитации движения возбуждается нейрон рецепторного слоя, закреплённый за полученным пунктом смещения, т.е. за новым пунктом нахождения. По его координатам и координатам пункта назначения вновь определяются $$\Delta x$$ и $$\Delta y$$. Возбуждаются соответствующие этим разностям рецепторы, и для данного пункта нахождения вновь по максимальному возбуждению нейрона выходного слоя определяется следующий пункт смещения и т.д.
Координаты каждого полученного пункта смещения сравниваются с координатами пункта назначения, т.к. в случае их совпадения маршрут следования реализован.
Изменение весов связей и порогов позволяет ввести элементы динамического управления движением. Так, увеличение порога нейрона выходного слоя целесообразно связать с нагрузкой соответствующего пункта (узла). Величина возбуждения нейрона, указывающего на этот пункт, может при этом зависеть, например, от количества занятых путей станции (при "железнодорожной" интерпретации) или от количества занятых каналов обслуживания (базы данных).
Такое регулирование величины возбуждения нейронов выходного слоя позволяет строить транспортные сети с использованием резервных, обходных путей, т.к. исходные построения обученной нейросети можно производить с учётом не одного, а более пунктов смещения. Тогда пункт смещения, "возбудившийся" более других, может быть выбран для этого смещения.
Продвижение по сети с каждого пункта должно уменьшать значение соответствующего ему порога (на выходном слое) в зависимости от "физического смысла" задачи.
Регулировка синапсических весов нейрона выходного слоя может быть связана с загруженностью пути, линии передачи данных и других средств перемещения в транспортной сети. Такая регулировка требует введения дополнительного контроля состояния связи, соединяющей пункты. Синапсический вес такой связи должен снижаться при имитации движения. С этим снижением должен быть связан счётчик времени, в течение которого связь невозможна. Например, интервал следования поездов по одному пути обусловлен, в частности, необходимым расстоянием между поездами. В общем случае необходимо учитывать пропускную способность линий связи. По истечении определённого времени (когда счётчик "обнуляется") вес связи увеличивается до максимального (скорее всего, до единицы). Таким образом, даже если величина возбуждения нейрона, указывающего на пункт смещения, высока и позволяет принять движущийся объект, учитывается состояние средства связи.
Так как работа модели тактируется, то при запретах на смещение движущихся объектов нейросеть не подвергается изменению с увеличением модельного времени на такт. Уменьшаются лишь значения счётчиков задержки. При переходе к следующему такту модельного времени вновь исследуется возможность дальнейшего продвижения объектов с новыми значениями синапсических весов и порогов нейронов выходного слоя.
С помощью подобных счётчиков можно организовывать задержки в пунктах сети для имитации остановок движения, например, поездов.
При построении обученной нейронной сети, моделирующей транспортную сеть, целесообразно усилить влияние разностей координат пункта назначения и пункта отправления таким образом, чтобы учесть меньшее количество промежуточных пунктов следования. То есть, рекомендуемый пункт очередного смещения для "дальних" маршрутов может и дальше отстоять от пункта назначения или промежуточного пункта следования.
Модель транспортного маршрутизатора из центрального пункта отправления
Рассмотрим пример транспортного маршрутизатора, планирующего движение из одного, центрального, пункта к периферийным пунктам со специальной топологией связей. Транспортная сеть представлена на рис.9.2, где все пункты заданы своими координатами (х, у) в системе координат, связанной с центром.
По величине и знаку разности координат пункта назначения и исходного или промежуточного пункта нахождения с помощью простейшей однослойной нейросети (рис.9.3) может быть найден пункт смещения, т.е. тот пункт, в который следует переместиться для дальнейшего следования. Целесообразно использовать рассмотренную ранее передаточную функцию, положив все веса равными единице, а пороги — равными двум.
Как рассматривалось выше, нейросеть отображает рекомендуемые смещения для всех возможных ситуаций, складывающихся на основе текущего нахождения объекта и соотношения между его координатами и координатами пункта назначения.
Если координаты найденного пункта смещения совпадают с координатами пункта назначения, маршрут реализован.
В противном случае отыскиваются разности координат пункта назначения и найденного пункта смещения. Они определяют единичное возбуждение соответствующих рецепторов входного слоя. Так же возбуждается рецептор, соответствующий найденному пункту смещения. Эти три возбуждённых рецептора вновь определяют новый пункт смещения.
(рис 9.2) Транспортная сеть с центральным пунктом
Так продолжается до совпадения координат пункта смещения с координатами пункта назначения. В данном примере потребуется сделать не более двух шагов.
Например, при движении из пункта 0 по адресу пункта 6 с координатами (-50, 150) оказывается, что $$\Delta x < 0$$, $$\Delta y \ge 0$$. Тогда нейрону 1 сообщается значение возбуждения, равное 1. Такое же значение сообщается нейрону 4, а также нейрону 5, соответствующему центральному пункту. Тогда$$ V_{26} = 1, V_{27} = … V_{46} = 0$$. То есть, найден промежуточный пункт 1. Тогда возбуждение нейрона 6 полагается равным единице и устанавливается, что относительно пункта 1 координаты пункта назначения определяют неравенства $$\Delta x \ge 0$$, $$\Delta y \ge 0$$. Значит, следует сообщить единичное возбуждение нейронам 2 и 4. Возбуждение всех других рецепторов полагается нулевым. При расчёте функции активации для всех нейронов выходного слоя выдаётся рекомендация следования в пункт 6, т.к. единичное возбуждение приобретает нейрон 32. Маршрут составлен: $$0 \to 1 \to 6$$.
Нейросеть, представленная на рис.9.3, предполагает одностороннее перемещение — от центра к периферии. Поэтому конечные пункты оказались "зависшими", не влияющими на дальнейшее смещение. Однако легко развить эту нейросеть (нецелесообразно усложнять рисунок), предположив возможность возвращения в центральный пункт, или движения через центральный пункт, если задан маршрут из пункта отправления одного сектора в пункт назначения другого сектора. Внутри сектора движение может осуществляться через его локальный центральный пункт также на основе анализа указанной выше разности координат.
Таким образом, моделирование сложной транспортной сети любой природы с помощью логической нейронной сети оказывается исключительно простым и универсальным.
(рис 9.3) Транспортная нейросеть
Нейросетевая маршрутизация с учётом загруженности магистралей
Выше справедливо указывается, что пункт смещения объекта по транспортной сети из данного пункта (начального или текущего) определяется на основе разности координат пункта назначения и данного пункта. Все заранее известные рекомендации записываются в логической нейронной сети – то есть в виде таблицы с ассоциативной выборкой.
Однако реально динамически возникают условия, влияющие на выбор маршрута. При моделировании совместного движения многих объектов (наземных транспортных средств, информационных пакетов и др.) необходимо динамически учитывать их взаимное – прямое или опосредствованное - влияние. Это влияние может быть обусловлено пропускной способностью магистралей, аварийной составляющей, минимально допустимым интервалом движения и др. Значит, необходимо предусмотреть альтернативные действия по выбору маршрута движения.
Разнообразие таких действий связано с конкретным объектом моделирования. Например, на железнодорожном транспорте вступает в действие длина составов. Расписание движения может предполагать длительные стоянки на резервных путях и т.д.
Передача информационных пакетов в значительно более развитой сети передачи данных также имеет свои особенности.
Своими особенностями обладает и обслуживание авиационных линий.
Разнообразие условий движения в транспортной сети определяет целесообразность составления нейросетевого маршрутизатора для каждого пункта отдельно. В таком маршрутизаторе на локальном уровне должны отображаться "местные", динамически формируемые условия движения.
На рис.9.4 дана схема нейросетевого маршрутизатора, учитывающего загруженность или аварийность транспортных магистралей, связанных с пунктом.
(рис 9.4) Схема маршрутизатора с учётом загрузки магистралей
В дополнение информации о указанной ранее разности координат учитываются два новых фактора: приходящая извне информация о загруженности магистралей, в том числе об авариях, и о соблюдении минимального интервала движения.
Предполагается, что пункт текущего нахождения объекта связан с любым пунктом смещения единственной магистралью, т.е. резервных магистралей между ними нет.
Выбор пункта смещения производится, как и раньше, "голосованием" с помощью функции активации, основанной на простом суммировании сигналов на входе нейрона. При этом целесообразно делить эту сумму на число входов нейрона – нормировать сигнал на выходе. Важен выбор порога, исключающего рассмотрение сигналов, от не рекомендуемых пунктов смещения.
Можно было бы управлять этими весами, т.е. ввести динамический приоритет пунктов смещения и таким образом отразить загрузку магистралей. Однако такой способ усложняет модель. Если уж рассматривать логическую нейронную сеть, то нецелесообразно выходить за рамки методов её обработки. Следует воспользоваться механизмом обратных связей, как показано на рисунке.
Введены т нейронов рецепторного слоя. Они могут возбуждаться извне на правах "нормальных" рецепторов Свободная магистраль соответствует сигналу, равному единице, заблокированная – нулю. Однако возбуждение этих нейронов может корректироваться на основе отрицательной обратной связи в случае занятия магистрали при следовании объекта в пункт смещения. Если магистраль оказывается занятой вследствие рекомендации пункта смещения, связанного с ней, то в течение времени, равного минимальному интервалу движения $$\Delta t$$, этот пункт смещения не должен назначаться. Этого легко достичь с помощью переменной величины веса отрицательной обратной связи, поступающей на нейрон-рецептор, "отвечающий" за магистраль.
Пусть $$V_{ВХОДi}$$ – величина возбуждения нейрона i (i = 1, …, m), подаваемого извне с весом единица – от органа управления более высокого уровня;
$$V_{ПУНКТi} $$– величина возбуждения обратной связи, пришедшая от нейрона, соответствующего i-му пункту смещения.
Тогда рекомендуется функция веса обратных связей (красные стрелки), ведущих к нейронам 1 – m:
$$\omega_i= \begin{cases}
k \frac {t-t_{0i}-\Delta t }{\Delta t },\ при\ t_{0i} < t < t_{0i}+ \Delta t\\
0,\ в\ противном\ случае
\end{cases} $$
Здесь:
$$t$$ – текущее время;
$$t_{0i}$$ – момент времени назначения i-го пункта смещения;
$$t_{0i}+ \Delta t $$– момент времени полного снятия ограничения на новое занятие магистрали;
k – некоторый экспериментально подобранный коэффициент, зависящий от совокупности величин сигналов, подаваемых на нейрон входного слоя. Подбирается так, чтобы разумно погасить влияние обратной связи, не доводя её до абсурда.
Конечно, такая дисциплина "нежного" ввода магистрали в действие связана, как говорилось выше, с особенностями движения в транспортной сети. Железнодорожной сети это может быть более свойственно, чем сети передачи данных. В последней просто достаточно закрыть доступ к соответствующему рецептору в течение некоторого времени, после занятия линии связи.
Напомним о циклической работе логической нейронной сети в роли маршрутизатора. Тогда выдача нового задания, приводящая к повторному использованию того же пункта смещения, будет, при необходимости, блокироваться с помощью предыдущего значения веса обратной связи. Для успешного завершения процесса во времени, после нового, неудачного, обращения к пункту должна быть восстановлена текущая величина возбуждения нейрона, соответствующего выбранному пункту смещения, и время t.
Движение транспорта с выбором альтернативного пункта смещения
Выделим для каждого пункта (узла) транспортной сети множество смежных пунктов. Любой маршрут следования из пункта отправления к пункту назначения осуществляется с помощью последовательности смещений между смежными пунктами. Так что маршрут не формируется весь заранее, а реализуется динамически с учётом приоритетного обращения к смежным пунктам и загрузки этих пунктов.
Предполагается, что для каждого пункта назначения на каждом пункте хранятся приоритетные веса смежных пунктов смещения для достижения цели с максимальным качеством – минимум расстояния, минимум времени, минимум опасности циклического движения и др. Для всех возможных пунктов назначения данная информация объединяется в таблицу.
Например, смежными для данного пункта являются пункты $$B_1, …, B_N$$. Тогда для отдельного адреса назначения А указанная информация может иметь вид строки в таблице:
| Пункт (адрес) назначения |
Предпочтительный вес смежного узла в направлении движения |
| А | $$w_{A1}$$ | $$w_{A2}$$ | ..... | $$w_{AN}$$ |
Если в строке указан не единственный вес, отличный от нуля, то этим определяется возможность альтернативного смещения. В этом случае общую маршрутизацию, осуществляемую в сети, следует назвать свободной. Если в строке декларируется единственная единица, то альтернативы не существует. Маршрутизацию, где все смещения для достижения пунктов назначения определены однозначно, следует назвать жёсткой.
Альтернативное смещение в смежный пункт реализует элемент самоуправления, адаптации на основе обратной связи, ведущей от смежных пунктов к пункту текущего нахождения транспорта.
Моделирование совместного движения множества объектов в транспортной сети по испытываемым сценариям необходимо, прежде всего, для выделения маршрутов (поездов, самолётов, информационных пакетов и др.) при поиске оптимальных расписаний движения. В частности, такое моделирование предполагается в рамках общей методики оптимального обслуживания пассажиропотоков.
Каждый пункт (узел) сети характеризуется своей максимальной пропускной способностью и её текущим резервом - для нахождения пункта смещения. Тогда, логическая нейронная сеть, находящаяся на каждом пункте, имеет отрицательные веса связей, ведущих от буферов смежных узлов.
Функция активации: $$V=\sum \limits_j \omega_j V_j$$, если эта сумма больше h, 0 – в противном случае.
В данном случае эта функция имеет вид:
$$V_i = V_A \omega_{ij} – k_i$$, если эта разность превышает порог h, 0 в противном случае.
Порог h выбирается экспериментально так, чтобы предпочтение могло быть выбрано между не полностью загруженными узлами.
На рис.9.5 представлен фрагмент логической нейронной сети, находящейся на каждом узле, в котором отображён выбор смежного пункта смещения при следовании объекта в пункт А.
(рис 9.5) Фрагмент логической нейронной сети, размещённой на узле
В построенной обобщённой модели движения в транспортной сети буфер отображает пропускную способность узла. Конкретно это может быть: количество путей железнодорожной станции, количество взлётно-посадочных полос, максимальное использование радио каналов и т.д. В рамках теории логических нейронных сетей значение коэффициента загрузки буфера можно интерпретировать как достоверность высказывания о том, что буфер заполнен полностью.
Принятую дисциплину использования загрузки буфера для разрешения движения в сторону узла также следует считать достаточно общей: ведь если мы узнаём, что на некотором участке дороги создалась "пробка", то разумно не надеяться на то, что к нашему приезду она рассосётся. Следует изменить маршрут. Такова практика организации полётов и передачи информационных пакетов.
Следует учесть, что прогнозирование ситуации на узле на тот момент, когда поезд до него доберётся, требует согласованного анализа многих маршрутов. Это значительно усложняет динамическое управление движением. Проще запретить движение в сторону перегруженного узла.
Маршрутизация по смежным узлам (технология Wi-Fi) на основе логической нейронной сети с обратными связями
WI-FI - это современная беспроводная технология передачи цифровых данных по радиоканалам.
Телекоммуникационная сеть на основе технологии Wi-Fi, охватывающая значительную территорию, представлена на рис.9.6.
(рис 9.6) Структура телекоммуникационной сети
Т. к. предполагается применение беспроводной связи небольшого радиуса действия, то сеть характеризуется рассмотрением лишь "близких" связей со смежными узлами и исключением транзитивных связей.
Таким образом, предполагается, что каждый узел связан со множеством смежных узлов. Любая передача пакета данных из узла-отправителя узлу-адресату осуществляется с помощью последовательности передач между смежными узлами. Так что маршрут не формируется весь сразу, а реализуется динамически с учётом приоритетного обращения к смежным узлам и загрузки этих узлов.
Первоначально выбор смежного узла для передачи по адресу производится на основе приоритетного направления для данного адреса назначения. Однако окончательный выбор производится динамически в зависимости от текущей загрузки смежных узлов. Каждое "смещение" пакета в смежный узел немедленно ставит вопрос о его дальнейшем "смещении" - до достижения адреса.
На каждом i-м узле есть таблица $$T_i$$ предпочтительного смещения при передаче данных на все прочие узлы (кроме, конечно, смежных). Это предпочтение обусловлено величиной сокращения расстояния до узла – адресата. Такая таблица имеет вид:
| Узел (адрес) передачи |
Вес смежного узла в направлении передачи |
| $$А_1$$ | $$w_{11}$$ | $$w_{12}$$ | ..... | $$w_{1K}$$ |
| ..... | ..... | ..... | ..... | ..... |
| $$А_R$$ | $$w_{R1}$$ | $$w_{R2}$$ | ..... | $$w_{RK}$$ |
Здесь используется упрощённая индексация узлов, где R – количество узлов, в которые возможна передача пакетов из данного узла через один из смежных, K – количество смежных узлов.
Примечание 1: Если адрес передачи в действительности совпадает с одним из смежных узлов, то дальнейшая передача, уже по адресу, выполняется безальтернативно.
Примечание 2: Может быть рассмотрен случай, когда для повышения надёжности передача пакета осуществляется не единственному смежному узлу; в этом случае можно считать, что маршрут резервируется.
На рис.9.7. показано распределение приоритетов смещения из узла $$A_i$$в узел $$A_j$$. Смежные $$A_i$$ узлы для простоты пронумерованы.
При выборе весов $$\omega_{ij}$$ учитывается территориальное взаимное расположение узлов. Так, очевидно, что приоритетной является та передача, при которой пакет приближается к узлу назначения, хотя в динамике загрузки сети может оказаться, что "кружной" путь ближе "прямого".
(рис 9.7) Пример выбора весов приоритетного направления
После выбора предпочтительного смещения пакета в смежный узел, необходим анализ текущей загруженности таких узлов. Только в результате такого анализа может быть окончательно выбран или отвергнут узел смещения.
Предполагается, что каждый узел имеет буфер, в котором накапливаются пакеты для дальнейшей отправки. Перегрузка буферов должна блокировать приём новых пакетов. В этом случае возможна блокировка передач по направлениям или в сети в целом. Так как потерь информации не предполагается, то пользователь должен быть информирован о этой перегрузке для повторения запроса позже.
Управление передачей пакетов производится с помощью логической нейронной сети, которая первоначально использует для каждого адреса предпочтительные направления передачи пакетов смежным узлам, найденные по табл. 9.1. Веса этих смещений используются в качестве весов синапсических связей. С помощью обратных связей, осуществляемых смежными узлами, передаются состояния загрузки этих узлов, которые окончательно влияют на выбор смежного узла для передачи пакета. Нейронная сеть фрагментарно распределена между всеми узлами так, чтобы отражать лишь информацию, связанную только с конкретным узлом. Каждый фрагмент нейронной сети (как и табл. 9.1) реализуется вычислительными средствами узла.
Типовой фрагмент логической нейронной сети, размещённый на i-м узле, представлен на рис.9.7. Здесь $$\omega_{ij}$$ – предпочтительные веса смежных узлов по адресу передачи, - k – отрицательный вес обратной связи (k – коэффициент загрузки буфера смежного узла).
Функция активации в данном случае имеет вид:
$$V_i = V_A \omega_{ij} – k_i$$, если эта разность превышает порог h, 0 в противном случае. Здесь VA = 1 в случае запроса по адресу А; предполагается, что инициализация посылки веса обратной связи смежным узлом равносильна единичному сигналу, подаваемому по обратной связи.
Порог h выбирается экспериментально так, чтобы предпочтение могло быть выбрано между не полностью загруженными узлами.
(рис 9.8) Фрагмент логической нейронной сети, размещённый на узле, во взаимодействии со смежными узлами
Таким образом, в результате обратной связи максимального возбуждения может достичь совсем не тот смежный узел, которому первоначально было оказано предпочтение.
Общим критерием эффективности управления является максимизация пропускной способности сети. Частными критериями являются: 1) Минимум среднего времени выполнения запроса на передачу пакета в сети; 2) минимум времени ожидания пользователем возможности выполнения своих запросов.
Нейросетевой "подсказчик" в тактической игре
Схема пошаговой оптимизации наилучшим образом ложится на схему игры, где последовательные действия одного или нескольких игроков приводят к успеху, обусловленному правилами.
Единичное действие, чаще всего называемое ходом, должно либо статистически, либо комбинационно приводить к увеличению "качества" или к уменьшению "штрафа" на пути к победе (или к поражению). И здесь большое значение имеет не только длительный анализ всех возможных продолжений, грозящий цейтнотом, но и огромный опыт и фактические знания, переродившиеся в интуицию и позволяющие действовать механически в условиях блиц-турнира. Следовательно, должны быть реализованы механизмы запоминания и извлечения опыта и знаний в пошаговых действиях. Основным средством такой реализации является нейросеть — как природная, так и искусственная.
Рассмотрим игру в шахматы. Аналогом пункта в транспортной сети здесь является позиция на шахматной доске, состоящей из 64 клеток. Каждая клетка может быть пустой или иметь значение символа занимаемой фигуры.
То есть, каждая клетка i может принимать значение из множества {$$\varnothing$$, пешка белая, ладья белая, конь белый, слон белый, ферзь белый, король белый, пешка чёрная, ладья чёрная, конь чёрный, слон чёрный, ферзь чёрный, король чёрный}. При этом позиции являются симметричными относительно цвета фигур. Игроку, прибегающему к услугам "подсказчика", главное — указать: "фигуры мои — фигуры противника". Играть можно "самому с собой", как бы поворачивая доску после очередного хода. (Если "подсказчик" играет сам с собой, логично предположить, что такая игра всегда будет сводиться к ничьей?)
Тогда рецепторный слой однослойной логической нейронной сети должен состоять (рис.9.9) из 64 групп нейронов.
Каждая группа закреплена за одной клеткой и, в свою очередь, состоит из 13 нейронов-рецепторов. Каждый рецептор закреплён за одним из возможных значений клетки.
Ясно, что в подавляющем числе случаев значение клетки достаточно задавать с помощью единичного значения возбуждения единственного рецептора из тринадцати, соответствующих этой клетке. Так можно задавать позицию для определения следующего хода. Однако можно предусмотреть и неполную, предполагаемую с некоторой достоверностью информацию о значении клетки. Это справедливо, например, для случая игры "вслепую", тем более в сеансе одновременной игры, когда детали ситуации на отдельной доске могут быть забыты.
Целесообразно использовать приведённую в разделе 9.2 функцию активации с единичными синапсическими весами. Значения порогов несущественны; они могут быть положены равными нулю.
(рис 9.9) Нейросетевой "подсказчик"
Комбинации возбуждения рецепторов должны приводить, в соответствии с непосредственными связями, к максимальному значению возбуждения того нейрона выходного слоя, с которым связан текст — рекомендация следующего хода. Текст может включать исторические ссылки, комментарии, мультимедийные эффекты и др.
Как говорилось, возможно попеременное обращение игроков к нейросети - "подсказчика". Тогда все нечётные обращения соответствуют белым, чётные — чёрным. Однако интереснее игра живого шахматиста с компьютером.
Конечно, анализ колоссального опыта гроссмейстеров и литературы по теории шахмат не способен по всем возможным ситуациям и для белых, и (симметрично) для чёрных определить абсолютно правильные ходы.
Да и объём информации колоссален! Останутся шахматные позиции без рекомендаций. Здесь необходимо исследовать, насколько указание нейрона, наиболее возбудившегося, может быть принято в качестве совета, — то есть, насколько это хотя бы статистически соответствует правильному решению или, по крайней мере, не приводит к снижению качества. Следует ли "учить" нейросеть решению по данной комбинации или достаточно использовать её способности ассоциативного мышления?
На этом пути может производиться совершенствование "подсказчика", что повышает интерес именно игры человека с машиной.
Ключевые термины
Пошаговая оптимизация – последовательные, потактовые, циклические действия по максимизации (минимизации) целевой функции.
Динамическая (пошаговая) маршрутизация – нахождение целесообразного пункта смещения в транспортной сети для достижения конечного пункта назначения.
Wi-Fi-технология – беспроводная технология передачи информационных (в т. ч. голосовых) пакетов по сети смежных узлов от узла передачи до узла назначения.
Подсказчик (в тактической игре) рекомендует очередной ход, максимизирующий целевую функцию на основе текущей ситуации.
Краткие итоги
В условиях динамически меняющейся ситуации решение по минимизации некоторой целевой функции приходится принимать по шагам. Это характерно для задач оперативного планирования, при организации движения многих объектов в транспортной сети (при разделении её ресурсов), при многонаправленной одновременной передаче информационных пакетов в сети Wi-Fi, в тактических игровых задачах и др.
При выборе стратегии поведения на каждом шаге целесообразно использовать опыт, зафиксированный в базе знаний и записанный виде логической нейронной сети.
В транспортных задачах целесообразно находить смещение в смежный узел по разности координат пункта назначения и пункта текущего нахождения.
Занятие магистрали объектом может быть учтено с помощью переменного веса этой магистрали при организации обратной связи. Так могут быть соблюдены интервалы движения по магистралям.
Возможна организация альтернативного смещения в зависимости от загрузки смежных узлов.
Моделирования движения в сети необходимо для составления оптимальных расписаний.
Wi-Fi-технология характеризуется беспроводной связью, но возможной перегрузкой узлов. Альтернативная передача информационных пакетов смежному узлу может учитывать как предпочтительное направление смещения, так и (с помощью обратных связей) текущую загрузку смежных узлов.
На основе логических нейронных сетей могут строиться подсказчики в тактических играх.
Вопросы:
В каких задачах возникает необходимость в пошаговом принятии решений?
Какие факторы порождают неопределённость при совместном движении многих объектов в транспортной сети?
Как строится логическая нейронная сеть для нахождения пункта смещения при следовании объекта к конечному пункту?
Как с помощью переменного веса обратной связи предусмотреть задержку в занятии одного пути разными объектами?
Как производится альтернативное смещение в смежный узел в зависимости от текущей загрузки этих узлов?
Как снизить влияние конфликтов при перегрузке узлов и повысить пропускную способность сети Wi-Fi с помощью адаптивного алгоритма передачи информационного пакета смежному узлу на основе применения логической нейронной сети с обратными связями?
В чём заключается идея подсказчика в тактической игре?
Дополнительные материалы к лекции, Вы можете скачать здесь.