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