
книги из ГПНТБ / Клыков, Ю. И. Ситуационное управление большими системами
.pdfнотипных задач в качестве модулей выбираются эле ментарные операторы, из 'которых компонуются блоки для решения задач определенного типа.
В системе программного обеспечения ситуационного управления можно выделить системную и проблем но-ориентированную части (рис. 5-2). Системная часть программного обеспечения включает: системный мони тор, или диспетчер, СМ, ассемблер А, библиотеку про
граммных модулей БПМ |
и несколько проблемно-ориенти |
|
рованных языков (#<. |
Яп) с соответствующим |
набо |
ром трансляторов. Проблемно-ориентированная |
часть |
программного обеспечения состоит из проблемно-ориенти рованного монитора ПОМ, проблемно-ориентированного языка ситуационного управления Я СУ и синтаксически ориентированного транслятора с этого языка. Проблем
но-ориентированный монитор |
выполняет |
следующие |
функции: расшифровка директив трансляции |
с ЯСУ, вы |
|
зов необходимого транслятора |
из системной |
части и уп |
равление процессом трансляции входного текста. Рабо та системы происходит следующим образом. Моду ли-блоки или модули-операторы, представленные на одном из проблемно-ориентированных язьжов програм мирования, подаются на вход системной части програм много обеспечения, с помощью которой осуществляются трансляция модулей и формирование библиотеки, не обходимой для построения рабочей программы конкрет ной ситуационной модели управления. Текст программы, описывающей конкретную модель, а также пакет дире ктив трансляции поступают на вход проблемно-ориенти рованной части программного обеспечения. Директивы расшифровываются проблемно-ориентированным дис петчером, который^вызывает требуемый уровень транс лятора через системную часть программного обеспече ния и управляет процессом трансляции входного текста. На выходе транслятора образуются рабочая программа ситуационной модели управления и программа-админи стратор, с помощью которой осуществляется временная синхронизация работы различных блоков модели. Биб лиотека программных модулей может расшиояться по желанию пользователя. Реализация описанной системы •программного обеспечения возможна лишь на машинах с развитой операционной системой. Наибольшая эффе ктивность реализации достигается при использовании мультипроцессорных или мультипрограммных вычисли-
тельных машин, имеющих запоминающие устройств.! с прямым доступом. Исходя из вышесказанного, основны ми операторами-модулями языка программирования си туационного управления должны быть: операторы реа лизации случайных процессов, пересчета характеристик объектов, построенные по принципу макрогенератора, операторы эффективного образования и поиска списко вых структур и операторы реализации выводов в поро ждающих грамматиках. Основными блоками проблем но-ориентированной части языка должна быть: ДСС, Анализатор, Коррелятор, Классификатор и Экстраполятор.
5-2. ЯЗЫК ВНЕШНЕГО ОПИСАНИЯ
Анализ функциональной структуры ситуационного управления показывает, что среди существующих язы ков программирования подходящей базой для построе ния проблемно-ориентированного языка ситуационного управления являются языки символьной обработки, на
иболее |
известные из которых IPL-V, SNOBOL, |
LISP, |
||
РЕФАЛ |
[Л. |
37—40]. |
IPL-V —машинно-независимый |
|
язык низкого |
уровня. По |
структуре программы |
он 'бли |
зок к ассемблеру с разветвленным аппаратом макроопераций, имеет хорошо продуманную структуру дан ных. Однако использование рекурсии в IPL-V затруд нено. Поэтому он может применяться при реализации неграмматических блоков модели. Другим недостатком
языка IPL-V является зависимость |
качества програм |
мы от квалификации программиста |
и высокая слож |
ность программ, затрудняющая обмен информацией меж ду пользователями. LISP — язык „ высокого уровня, ориентированный на решение задач, связанных с обра боткой списковых структур. Программа на этом языке состоит из произвольного числа обращений к LISP-грунк- циям как стандартным (встроенным), так и определен ным самим пользователем. Основным достоинством язы ка LISP является наличие в нем рекурсий, широко ис пользуемых при реализации грамматических конструк ций в блоках Анализатор, Коррелятор и Экстраполятор
ситуационного управления. Кроме того, в числе стандарт ных функций имеется полный набор арифметических и логических операторов. Существенным недостатком это го языка является необходимость определения сложных
П 2
функций непосредственно через более и более простые, пока не будет достигнут уровень стандартных, что зна чительно снижает наглядность LISP-программ и услож няет реализацию языка. Интересным способом увеличе ния наглядности описания алгоритмов является приме нение в программах образцов для распознавания, по добных тем, которые использованы в языке SNOBOL. Однако из-за -отсутствия понятия рекурсии языки типа SNOBOL непригодны для реализации грамматических конструкций, что существенно ограничивает их использо вание при программировании ситуационных моделей управления. Отмеченные недостатки отсутствуют в язы ке РЕФАЛ.
Основным* понятиями языка РЕФАЛ являются понятие синтак сического отождествления и понятие подстановки. Эти понятия реа лизуются РЕФАЛ-машиной, имеющей поле зрения и. поле общей памяти неограниченной емкости. В поле зрения помещается выраже ние, подлежащее обработке (конкретизации), которое ограничивает ся символами k и О. Выражение между kji О называется областью
действия символа конкретизации.
В поле общей памяти помещается набор предложений, с по мощью которого осуществляется обработка поля зрения. РЕФАЛ-ма- шина работает по шагам. Каждый шаг соответствует преобразова нию поля зрения. Выполнение шага начинается с поиска выражения, подлежащего конкретизации. Для этого машина просматривает поле зрения слева — направо, определяя первый символ k, в области дей ствия которого нет других символов k. Этот символ называется ве дущим символом конкретизации. Область действия ведущего симво ла £ -соответствует выражению, подлежащему обработке в первую очередь. Преобразование этого выражения осуществляется либо с по мощью предложений общей памяти, либо- с помощью внешних опе раций.
Функцию внешних операций выполняют действия, реализация
которых неудобна |
в языке РЕФАЛ. К таким действиям относятся: |
1) арифметические |
операции, используемые при оптимизации выво |
дов в моделях ситуационного управления; 2) процедуры, формирую щие законы функционирования истоков D-сети; 3) процедуры, пред ставляющие D-сеть с дискретными событиями, и др. Описание внеш них операций осуществляется либо на алгоритмическом языке СИМУЛА, либо на языке конкретной машины.
Композиция языков РЕФАЛ и СИМУЛА (или машинного язы ка) осуществляется следующим образом. Каждой, внешней операции присваивается идентификатор. Предполагается, что РЕФАЛ-машина содержит список идентификаторов всех внешних операций. Выполне ние внешней операции осуществляется тогда, когда в области дей ствия ведущего символа конкретизации появляется выражение
•«^идентификатор |
внешней операвдш>, |
<аргументы> . |
Описание |
внешних операций на языке СИМУЛА осуществляется в |
соответст |
||
вии с правилами, |
изложенными в [Л. |
40]. Рассмотрим |
принципы |
работы РЕФАЛ-машины. Если непосредственно за ведущим симво лом конкретизации не стоит идентификатор внешней операции, то
113
РЕФАЛ-машппа обращается к полю общей памяти. Предложения просматриваются слева — направо и предпринимается попытка отождествить область действия ведущего символа k с левой частью предложений. Область действия ведущего символа конкретизации является полностью определенным выражением, в котором каждый символ имеет конкретное значение. Левая часть предложений содер жит свободные переменные. В языке РЕФАЛ используются три типа свободных переменных: значащий символ S, терм W и выражение Е-
Синтаксическое отождествление состоит в том, что каждой сво бодной переменной из левой части предложения ставится в соответ ствие некоторый значащий символ, терм или выражение из области действия ведущего символа конкретизации. Если это возможно, отождествление считается удачным. В случае неудачного отождеств ления машина обращается к следующему предложению и повторяет описанную последовательность действий до тех пор, пока среди предложений общей памяти не будет найдено подходящее. Если такого предложения нет, задача с данным набором предложений не решается.
После удачного отождествления производится замена левой ча сти на правую в соответствии с найденным предложением из общей памяти. Операция замены завершает работу очередного шага, и ма шина переходит к выполнению следующего шага. Если же в поле зрения нет ни одного символа k, преобразование поля зрения счи тается выполненным и машина останавливается. Из приведенного описания принципов функционирования языка РЕФАЛ видно, что понятия подстановки и синтаксического отождествления структур, используемые при построении выводов в моделях ситуационного управления, являются фундаментальными понятиями языка РЕФАЛ. Это обусловливает возможность использования языка РЕФАЛ для описания процессов построения выводов в моделях ситуационного управления.
В качестве примера рассмотрим реализацию в языке РЕФАЛ правила корреляционной грамматики
(VJCiZDfs) |
(V*jIDXp) |
(V*sZ)Xi) (xtrxxj |
Л W^-* |
х^Хь), |
где Xi, Xj, xh |
— некоторые |
объекты; хд, xv, |
Xi — классы |
объектов, |
а г у—заданное |
отношение. |
|
|
|
РЕФАЛ-предложение, |
соответствующее |
этому правилу в РЕ- |
ФАЛ-скорописи, предложенной В. Ф. Турчииым [Л. 39], выглядит следующим образом:
где через П обозначена рекурсивная функция «правила корреля ционной грамматики», через е в w — свободные переменные, а сим волы и и 1 служат для ограничения левой и правой частей пред ложения. Для пояснения работы программы, в составе которой
имеется предложение § |
1, предположим, |
что исходная информация |
П <цепочка символов> |
(х))) ((XJ) |
(п) ( л ь ) ) . ! . |
Очевидно, что эта информация является частным случаем левой части предложения § 1, если через ei обозначить -Сцепочка симво-
114
л о в > , |
через wq—(xi), |
W^-(XJ), |
|
Wi—(xk), |
а через |
e 2 — < п у с т о > . |
||||
Тогда, в силу возможности такого |
представления, производится |
за |
||||||||
мена левой |
части |
предложения |
§ |
1 на правую. В результате |
такой |
|||||
замены |
получается |
выражение |
П |
<цепочка |
символов> |
((*,) |
(п) |
X |
||
X(Xk))l-, |
|
которе |
отождествляется |
как частный случай левой части |
||||||
одного |
из |
предложений |
программы. Преобразование |
информации |
происходит до тех пор, пока выражение, получаемое в результате
замены, содержит |
функциональные |
скобки |
П и |
± . |
|
Аналогичным |
|||
образом могут быть описаны процессы образования |
и изменения |
||||||||
списковых |
структур, которые используются |
при |
реализации блока |
||||||
ДСС. |
Реализация |
вычислительных |
процедур |
пересчета |
характери |
||||
стик объектов |
в блоке. Экстраполятор более |
удобна |
в |
операторных |
|||||
языках, |
а |
описание |
Классификатора |
тесно |
связано |
с |
эффективной |
||
организацией |
данных. |
|
|
|
|
|
Использование разных языков программирования для описания различных блоков ситуационной модели при водит к необходимости форматных преобразований при стыковке этих блоков. Реализация всей модели связана с настройкой блоков и временной синхронизацией их ра боты. Эти функции выполняет- программа-администра тор, с помощью которой осуществляется управление ра ботой модели. При этом структура программы анало гична структуре класса МОДЕЛИРОВАНИЕ в языке СИМУЛА.
Язык программного обеспечения ситуационного уп равления, как указывалось выше, является многоуровне вым. Верхний уровень — язык табличного типа, использо вание которого значительно облегчает реализацию типо вых' моделей ситуационного управления. Программиро вание при этом' сводится к заполнению соответствую щих граф таблицы, где указываются перечень исполь зуемых блоков, связей между ними и форматы входной информации. Если пользователь программирует на уров не таблиц, трансляция исходной программы на язык конкретной машины осуществляется по правилам, уста новленным общей грамматикой проблемно-ориентиро ванного языка. При помощи специальных указаний транслятору может быть задан тот уровень детализации, ниже которого трансляция не производится, и програм ма компонуется из модулей, имена которых присутству ют в терминальной для данного уровня детализации цепочке языка. Если программирование ведется на опе раторном уровне, при трансляции компонуются стан дартные модули, реализующие операторы ситуационно го управления, либо осуществляется перевод этих one •раторов на язык конкретной машины. В функцш транслятора и в том и в другом случае входит создан»
115
программы-администратора, под управлением которой происходит работа различных блоков ситуационной мо дели. Принцип функциональной избыточности учитыва ется с помощью специальных указаний транслятору, по средством которых пользователь выделяет наиболее важные параметры оптимизации рабочей программы. Такими параметрами являются 'быстродействие рабочей программы, ее объем, количество обращений к внешним устройствам и др. Время трансляции исходной програм мы не существенно, так как эксплуатация ситуационной модели управления и процесс ее формирования во време ни не совпадают. Поэтому возможна оптимизация рабо чей программы путем просмотра нескольких ветвей трансляции.
В связи с тем что развитие средств вычислительной техники имеет поэтапный характер и в настоящее время промышленность базируется в основном на машинах вто рого поколения, с практической точки зрения представ ляет интерес поэтапное внедрение ситуационного управ ления.
На первом этапе разработки программного обес печения ситуационного управления основное внимание уделяется проблемно-ориентированной части, которая должна разрабатываться с учетом ограничений, накла дываемых операционной системой существующего пар ка вычислительных машин. На этом этапе могут исполь зоваться в качестве языка программирования наряду с языком РЕФАЛ, для которого имеются эффективные интерпретаторы для ряда машин (серия «Минск», БЭСМ и др.), также и другие языки, менее эффективные, чем РЕФАЛ, но находящиеся в эксплуатации, например КОБОЛ, а также язык символических кодов машины.
В настоящее время разработан ряд проблемно-ориен тированных ситуационных моделей управления, 'бази рующихся на языках РЕФАЛ, КОБОЛ, а также симво лических кодах машин серии «Минск» и имеющих еди ную систему программных модулей (Л. 41—50]. Подроб ное описание системы программных модулей ситуацион ного управления содержится в работе [Л. 30].
Несмотря на то, что структура современных вычисли тельных машин накладывает существенные ограничени-я на возможности ситуационного управления, полученные результаты говорят об эффективности метода. Экономи ческая эффективность ситуационного управления оце-
116
нивается по выигрышу, который получается за счет кор рекции по ситуациям эвристического плана функциониро вания объекта, разработанного человеком. Например, анализ результатов функционирования ситуационной модели управления крупным морским портом, реализо ванной на ЦВМ «Минск-22», показал, что в среднем за каждые трое суток обрабатывалось дополнительно одно судно по сравнению с календарным планом, разработан ным диспетчерской службой. Возможность обработки дополнительных судов появилась за счет коррекции исходного плана, обусловившей уменьшение времени простоя судов, вагонов, людей, портальных кранов и т. д.
Другим примером эффективного использования си туационного управления для принятия решений являет ся АСУ канала им. Москвы. Критерием качества функ ционирования является минимизация среднего времени нахождения судов на управляемом участке канала. Пос ле обучения модели, которое происходило на комплекте реальных ситуаций, зафиксированных диспетчерской службой на протяжении нескольких месяцев, модель работала на уровне опытного диспетчера, но не лучше его. Это объясняется тем, что интенсивность движения судов на канале им. Москвы достаточно мала и диспет чер имеет время для выработки эффективного решения по шлюзованию. Однако при проверке работы модели и диспетчера в утяжеленном режиме (при интенсивности движения, предполагаемой в 1980 г.) модель справля лась с задачей управления лучше диспетчера. Более подробно вопросы практического применения ситуацион ного управления рассмотрены в [Л. 41—50]. Таким образом:
1. Система математического обеспечения ситуацион ного управления базируется на принципе модульности. Роль модулей играют либо операторы анализа, корреля ции, обобщения и экстраполяции ситуаций, либо проб лемно-ориентированные блоки. Настройка системы на конкретную ситуационную модель управления осущестляется с помощью операционной системы вычислитель ной машины, которая формирует рабочую программу ситуационной модели'и программу-администратор, коор-
. динирующую работу различных блоков модели. Модуль ная система программного обеспечения ситуационного управления реализуется наиболее эффективно на мульти процессорных и мультипрограммных вычислительных
117
машинах, имеющих запоминающие устройства большой
емкости с прямым |
доступом. |
|
|
|
||
2. |
Основными |
языками |
'проблемно-ориентированной |
|||
части |
программного |
обеспечения |
являются |
РЕФАЛ |
||
и СИМУЛА. С практической |
точки |
зрения .представляет |
||||
интерес использование |
и других языков программирова |
|||||
ния на первых этапах развития (программного |
обеспече |
|||||
ния. |
|
|
|
|
|
|
|
|
Г л а в а ш е с т а я |
|
|
||
|
П Р А К Т И Ч Е С К О Е |
П Р И М Е Н Е Н И Е |
|
|||
|
С И Т У А Ц И О Н Н О Г О У П Р А В Л Е Н И Я |
|
В предыдущих главах мы показали, что теория си-
~туационного управления и базирующийся на ней модель ный метод решения задач эффективно используются для решения задач управления большими системами, в отно шении которых испытывают принципиальные трудности современные методы математического программирова ния. Характерными особенностями этих задач являются:
|
задание исходного описания управляемого объекта |
и |
цели управления на естественном языке; |
|
априорное отсутствие оптимальной модели структуры |
и |
законов функционирования управляемого объекта; |
|
формулировка критерия управления в неявном виде; |
необходимость активного взаимодействия со средой на естественном языке в процессе управления;
многоуровневость и миогоцелевость принимаемых обобщенных решений.
Такими свойствами обладает достаточно широкий класс задач управления большими техническими, ин формационными, организационными и другими сложны ми системами:
разработка прогнозов и программ развития отраслей промышленности;
краткосрочное и среднесрочное технико-экономиче ское планирование производства по всему комплексу предприятий отрасли;
оперативное управление отраслями с контролем и анализом выполнения планов и результатов производ ственно-хозяйственной деятельности;
планирование и управление капитальным строитель ством и научно-исследовательскими работами;
оперативное управление крупными речными, морски ми, железнодорожными и воздушными транспортными
118
узлами* энергосистемами, сетями связи, вычислитель ными системами и др.
Ситуационное управление открывает путь к созданию принципиально нового класса кибернетических роботов,
которые умеют распознавать и анализировать |
возни |
|
кающие в их деятельности |
ситуации, формировать в сво |
|
ей памяти модели внешней |
обстановки («модели |
мира») |
и принимать решения об |
эффективных управляющих |
воздействиях на среду с помощью моделей [Л. 59]. Со временные промышленные- роботы-манипуляторы пред назначены для автоматизации ручного физически тяже лого, вредного, опасного и монотонного труда, характе ризуемого выполнением однообразных последовательно стей операций при обслуживании станков, прессов, сва рочных аппаратов и другого технологического оборудо вания. Переход от механических роботов первого поко ления к электронным роботам второго поколения, по строенным на базе современных ЦВМ, фактически не внесли ничего нового в принципы функционирования ро ботов. В настоящее время делаются первые шаги в созда^ нии интегральных роботов-исследователей третьего и по следующих поколений, базирующихся на семиотических системах, порождающих моделей, способных восприни мать достаточно сложные сцены в трехмерном простран стве, формировать в своей памяти модели внешней сре ды, вырабатывать планы решения задач с помощью этих моделей, осуществлять гибкое контролирование выпол нения планов с использованием совокупности анализа торов (зрительного, тактильного и др.) и взаимодейство вать с человеком на естественном языке. Роботы-исслеЗ дователи в отличие от роботов манипуляторов предна-1 значены для автоматизации интеллектуального труда,'! связанного с принятием решений и выработкой целесо образного поведения при непредусмотренных обстоя^ тельствах.
Другим примером практического применения ситуа ционного управления является создание автоматизиро ванных человеко-машинных систем проектирования, способных формировать в своей памяти динамические модели проектируемых объектов и вырабатывать эф фективный план проектирования в соответствии с этими моделями.
В этих системах решение задачи проектирования осу ществляется при активном взаимодействии системы со
119
средой, при котором обеспечивается возможность эф фективной коррекции априорно построенных моделей, в отличие от существующих алгоритмически замкнутых систем проектирования, лишенных этой возможности.
Ситуационное управление стимулирует развитие ра бот в области создания вычислительных машин и систем семиотического типа с языками высокого уровня, близ кими по своей структуре и функционированию к есте ственному языку [Л. 17, 18]. Принципиальное отличие семиотической машины от существующих вычислитель ных машин состоит в том, что в процессе своего функ ционирования она строит в своей памяти модель среды (класса задач) и синтезирует программу действий в соот ветствии с заложенными целями, сообразуясь с этой моделью. При этом в модели отображается сама семиртическая система, ее структура и все известные из опыта функционирования в данной среде взаимоотношения между машиной и средой. Это дает возможность маши не анализировать не только мир, в котором она функ ционирует, но и свое функционирование в этой мире. Се миотическая машина в отличие от обычной вычислитель ной машины существенно хуже решает задачи, требую щие оперирования с языками низкого уровня (автомат ными, контекстно-свободными и др.). В этих случаях: она, как, впрочем, и человек, проигрывает в сравнении;
собычной вычислительной машиной.
Впоследние годы образовалась еще одна область практического применения ситуационного управления — создание автоматизированных систем управления раз витием интеллекта учащихся. Современные автоматизи рованные системы контроля знаний позволяют регистри
ровать лишь результаты усвоения учебного материала,
вчастности результаты решения той или иной задачи. Содержательная сторона познавательного процесса,
связанная с изучением свойств элементов, составляющих задачу, установлением связей между элементами, по строением моделей ситуаций, обобщением и экстраполя цией ситуаций, остается вне поля зрения этих систем.
Возможность управления познавательным процессом возникает лишь на семиотическом уровне развития авто матизированных систем обучения. Эксперименты в этом направлении проводятся в настоящее время в одной из московских экспериментальных школ по методу, разра ботанному В. В. Давыдовым и Д. Б. Элькониным (Л. 57]..
120