Структурные и функциональные схемы
На структурной схеме кибернетической системы указывается, из каких подсистем состоит данная система. Часто указывается также, как направлены потоки информации между подсистемами. Тогда структурная схема превращается в граф. В математике называют графом систему точек (вершин графа), некоторые из которых соединены линиями (дугами). Граф называется ориентированным, если на каждой дуге указано определенное направление. Структурная схема с указанием потоков информации есть ориентированный граф, вершины которого изображают подсистемы, а дуги — потоки информации.
Такое описание кибернетической системы не является единственно возможным. Часто нас интересует не столько структура системы, сколько ее функционирование, действие. Еще чаще мы просто ничего не можем сказать толком о структуре, но кое-что можем сказать о функционировании. В таких случаях можно построить функциональную схему. Это тоже ориентированный граф, но вершины здесь изображают различные множества состояний системы, а дуги — возможные переходы между состояниями. Дуга соединяет две вершины в направлении от первой ко второй в том случае, если хотя бы из одного состояния, относящегося к первой вершине, возможен переход в какое-либо состояние, относящееся ко второй вершине. Множества состояний мы будем называть обобщенными состояниями. Следовательно, дуга на схеме указывает возможность перехода из одного обобщенного состояния в другое. Если структурная схема отражает главным образом пространственный аспект, то функциональная — главным образом временной. Формально в соответствии с данным выше определением функциональная схема вообще никак не отражает пространственного аспекта — разделения системы на подсистемы. Однако, как правило, разделение на подсистемы находит отражение в способе определения обобщенных состояний, т. е. разделения множества всех состояний системы на подмножества, «приписанные» к различным вершинам графа. Разберем это на примере системы, структурная схема которой представлена на рис. 2.12.
Это схема управления.
Рис. 2.12. Структурная схема управления
Одна из подсистем, называемая управляющим устройством, получает информацию от «рабочих» подсистем A1, A2, A3, …, перерабатывает ее и посылает подсистемам A1, A2, A3, … приказы (управляющую информацию), вследствие чего эти подсистемы меняют свое состояние. Надо отметить, что, строго говоря, любая информация меняет состояние системы, которая ее получает. Информацию называют управляющей в том случае, когда она меняет некоторые выделенные параметры системы, описываемые как «основные», «внешние», «наблюдаемые» и т. п. Часто бывает, что управляющее устройство по своей информационной емкости и пропускной способности невелико и служит лишь для переключения информационных потоков, а реальная обработка данных и выработка приказов производятся одной из подсистем A1, A2, A3, … или в соответствии с хранящейся в ней информацией. Тогда говорят, что управление переходит в эту подсистему. Так, в частности, обстоит дело в вычислительной машине, где A1, A2, A3, … — это ячейки оперативной памяти. Одни из ячеек содержат пассивную информацию (например, числа), другие — приказы (команды). Когда управление находится в ячейке, содержащей команду, управляющее устройство выполняет эту команду. Затем оно передает управление в другую ячейку и т. д.
Рис. 2.13. Функциональная схема передачи управления
Для систем с передачей управления функциональную схему строят следующим образом. Каждой вершине графа сопоставляют одну из подсистем A, и множество всех состояний системы, при которых управление находится в данной подсистеме. Тогда дуги (стрелки) означают передачу управления от одной подсистемы к другой (рис. 2.13). На такой схеме даже при полной детерминированности каждого следующего состояния предыдущим могут быть разветвления благодаря тому, что каждая вершина соответствует обширному множеству состояний и передача управления может зависеть от состояния управляющего устройства или подсистемы, в которой находится управление.
Функциональные схемы часто рисуют обобщенно, пропуская какие-то несущественные детали и шаги. Тогда может оказаться, что то, по какому пути в разветвлении перейдет управление, зависит от состояния нескольких различных подсистем. Условие, при котором осуществляется данный переход, обычно выписывают рядом со стрелкой. Схему на рис. 2.10 можно понимать в таком именно смысле. Тогда в ней подразумевается, что система имеет две подсистемы: блок проверки и блок выполнения операции, и управление переходит из одной в другую в соответствии со стрелками. У системы могут быть и другие подсистемы (в данном случае — среда), но они никогда не получают управления и поэтому не изображаются на схеме (точнее, те моменты, когда среда меняет состояние системы или меняет свое состояние под действием системы, включаются в процесс действия одного из блоков).
Можно отойти еще дальше от структурной схемы. Передача управления в некоторую подсистему означает ее активацию, т. е. выполнение того действия, для которого подсистема предназначена. Но мы можем и не знать, какая подсистема отвечает за данное наблюдаемое действие. Тогда вершины графа мы будем отождествлять с действиями как таковыми, а другие будут означать переход от одного действия к другому. Понятие «действие как таковое», если определять его строго, надо отождествлять с понятием «обобщенное состояние» («множество состояний»), и это возвращает нас к первому — самому абстрактному — определению функциональной схемы. В самом деле, когда мы говорим, что собака «бежит», «лает» или «вертит хвостом», то под каждое из этих определений подходит множество конкретных состояний собаки. Правда, здесь бросается в глаза одна несообразность: «состояние» есть нечто статическое, в то время как «действие» — нечто явно динамическое, скорее изменение состояния, чем само состояние. Если на мгновенной фотографии хвост собаки не выходит из плоскости симметрии, то еще неизвестно, вертит она им или он застыл в неподвижности. Это противоречие снимается тем замечанием, что в понятие состояния входят не только величины типа «положение», но и величины типа «скорость», «ускорение» и т.д. В частности, указание состояния собаки включает указание напряженности мышц ее хвоста и возбужденности всех нейронов, регулирующих состояние мышц.