«Алгоритмы управления в реализации»

Вид материалаСтатья

Содержание


Логическое управление.
Алгоритмы логического управления.
Алгоритм планирования
Алгоритмы поведения
Языки логического управления.
Подобный материал:

Российская академия государственной службы

при Президенте Российской Федерации


Статья


на тему «Алгоритмы управления в реализации»


Выполнила

студентка гр. №50

Боева Тамара Владимировна


Москва


2006 год

Алгоритм управления - предписание, последовательность шагов при реализации проекта на различных этапах выполнения, точно определенный порядок выработки управленческих решений, формирования планов, обмена информацией в процессе управления.

Он отражает порядок выработки решений от начала проекта до его завершения. В алгоритме управления прослеживается логика процесса преобразования исходных данных и конечный результат проекта. Тщательная отработка алгоритма управления – необходимый этап проектирования любой автоматизированной системы управления.

Задача разработки программного обеспечения автоматизированных систем управления технологических процессов, как правило, состоит из двух последовательных этапов:
  • реализация информационных функций системы;
  • реализация алгоритмов управления.

Информационная подсистема отвечает за формирование и поддержание достоверной информационной базы, используемой в дальнейшем для решения задач управления и за человеко-машинный интерфейс, включающий в себя динамические интерактивные видеокадры, тренды, отчетные формы, сообщения для оператора. Информационная подсистема должна обеспечивать простое создание, конфигурацию и реконфигурацию вышеперечисленных компонент для конкретной задачи автоматизации, как на этапе создания, так и на этапах эксплуатации, модернизации, комплексирования с другими системами. Алгоритмы управления строятся на базе принятой модели объекта, стратегии управления и используют данные информационной подсистемы для выработки управляющих воздействий.

Алгоритмы управления применимы в любой сфере деятельности человека.

Доктор психологических наук, профессор Олег Жданов с программой «Власть над стрессом» разработал универсальный алгоритм управления стрессом. В своей программе он говорит о стрессе, как об одном из главных факторов риска для жизненного успеха, благополучия и здоровья современного человека. «Бизнесмен, испытывающий постоянное давление со стороны клиентов и служащих; муж, потерявший работу и не способный обеспечить материальные запросы семьи; спортсмен, безумно жаждущий победы, — все они испытывают стресс. В итоге существенно снижается работоспособность, ухудшается здоровье, увеличивается вероятность принятия ошибочных решений, провоцируются конфликтные ситуации. Когда мы попадаем в стрессовую ситуацию, организм рассматривает ее как угрозу и начинает работать в состоянии «повышенной готовности». Первый ответ организма на стресс — реакция тревоги: «дерись или убегай». Когда вы находитесь в стрессовой ситуации, сознание как бы говорит телу: «Опасность приближается. Полная готовность». И тело соответствующим образом реагирует, мобилизуя все свои резервы для немедленной физической деятельности. Состояние, которое столетия назад было важным защитным механизмом, в современном мире превратилось в основной источник заболеваний. Существует мнение, что большинство наших болезней «от нервов». Если жить вне стресса, вне переживаний, удастся сохранить здоровье. Но реальность нашей жизни такова, что без стрессовых ситуаций не обойтись. Получается замкнутый круг, стресс порождает ухудшение здоровья, что, в свою очередь, ведет к еще большему стрессу. Как из него вырваться? Накопленный мной практический опыт психологической защиты человека от экстремальных воздействий позволил создать тренинговую программу, где участникам предлагается к практическому освоению комплекс эффективных технологий стресс-менеджмента, направленных на работу с энергетическим компонентом стресса и его последствий — болезней, неврозов и хронической усталости. Новизна моего подхода заключается в использовании мощной энергии стресса в интересах дела, а не в изнуряющем противодействии этой энергии, как в большинстве практикуемых ныне методов. Ведь стресс из врага можно сделать помощником, если научиться им управлять. »

Его программа состоит из последовательных действий.

Первое действие направлено на своевременное распознавание стресса. Цель его — своевременный поиск причины стресса и ее изменение.

Второе действие состоит в выборе оптимального поведения. Цель — овладеть стрессовой ситуацией.

Третье действие включает в себя использование приемов антистрессовой самозащиты. Цель — преобразовать стресс из разрушительной силы в созидательную.

Четвертое действие направлено на восстановление израсходованного ресурса, противодействие хронической усталости. Цель — предотвратить болезни стресса.

Коллектив Концепции Общественной Безопасности выявил алгоритм управления Россией вопреки ее интересам и о путях высвобождения из него.

Были выявлены претенденты на «мировое господство» и показаны их цели и средства. Разработан алгоритм управления Россией вопреки ее интересам. Их открыто видимая цель — сделать Россию донором сырья для процветающей западной экономики — вроде бы хорошо всем известна как в России, так и на Западе.

А.Д. Закревский в своей книге «Параллельные алгоритмы логического управления» рассматривает задачи описания алгоритмов логического управления, их верификации и технической реализации. Они решаются на основе оригинальной формальной модели, сочетающей достоинства аппарата сетей Петри, обеспечивающего проверку корректности алгоритмов, и теории дискретных автоматов, привлекаемой при логическом проектировании управляющих устройств. Для описания таких алгоритмов был предложен формальный язык ПРАЛУ, использованный затем в качестве входного языка в нескольких системах автоматизированного проектирования. Были разработаны также методы кодирования таких состояний, преобразующие параллельный автомат в секвенциальный -- систему выражений типа продукций "если ..., то ...". Наконец, были предложены методы трансляции секвенциального автомата в систему булевых функций и реализации последней на программируемых логических матрицах.

Рассматриваемая проблема весьма актуальна и по ней проводятся исследования в разных странах. Среди них наиболее близкими по духу и результатам оказались исследования, проводимые профессором Адамским (Польша), начатые почти одновременно с исследованиями автора. В опубликованных им работах вводятся и развиваются аналогичные понятия параллельного алгоритма и параллельного автомата, решаются комбинаторные задачи кодирования частичных состояний последнего, используются средства секвенциального описания параллельного алгоритма логического управления и рассматривается задача его реализации на программируемых логических матрицах.

Логическое управление. Современное производство становится все более дискретным: технологический процесс расчленяется на последовательность разнообразных операций, выполняемых комплексом различных технических устройств и систем, станков, роботов, средств контроля, станочных линий, четко взаимодействующих между собой. Это взаимодействие организуется с помощью многочисленных датчиков, расположенных в устройствах и сигнализирующих об их состояниях, а также, возможно, о состоянии внешней среды, в которой функционирует система, или о фазе самого технологического процесса, например о степени приближения формы обрабатываемой на станке детали к требуемой. Сигналы с датчиков поступают на вход системы управления, которая должна анализировать текущую ситуацию и вырабатывать адекватную реакцию, посылая на компоненты комплекса воздействия, непосредственно управляющие исполнительными механизмами: переключателями, клапанами, двигателями, насосами, электромоторами. Как сигналы с датчиков, так и управляющие воздействия дискретны, а чаще всего двоичны (например, включено-выключено), т.е. управление становится логическим, и в этом случае системы управления называются системами логического управления. Системы логического управления находят широкое применение не только на производстве, но также на транспорте и в сетях связи, в информационно-справочных системах, в компьютерах и бытовой аппаратуре, включая автоматические игрушки.

Проектирование систем логического управления представляет собой сложную проблему, решаемую с использованием богатого арсенала современной дискретной математики, в первую очередь алгебры логики. Проектирование систем логического управления удобно разбить на три крупных этапа.

На первом этапе определяется, как должны взаимодействовать компоненты технического комплекса, реализующего заданную технологию. Другими словами, разрабатывается алгоритм взаимодействия этих компонент, алгоритм управления ими. Его выполнение будет затем возложено на систему логического управления. Это - этап алгоритмического проектирования.

На втором этапе проектируется логическая структура системы управления, в результате чего определяется ее состав, перечисляются элементы с указанием их функций и связи между ними. Технические средства, на которых выполняется затем система управления, могут оказаться различными. Так, в качестве элементов логической структуры могут использоваться и простейшие логические элементы, реализующие элементарные булевы функции типа И, ИЛИ, НЕ, и существенно более сложные изделия микроэлектроники типа программируемых логических матриц и микропроцессоров, и даже целые вычислительные машины, специализированные или универсальные. При этом синтез схем из логических элементов может заменяться разработкой программ, выполняемых затем на микропроцессоре или на ЭВМ и реализующих аналогичные функции. Второй этап называется этапом логического проектирования.

Третий этап - заключительный. На нем учитываются свойства реальных технических элементов, производится их компоновка и размещение по конструктивным единицам (ячейкам, платам, блокам и т.п.), решаются задачи трассировки соединяющих элементы электрических цепей и выполняется масса другой работы, необходимой при технической реализации логического проекта и при подготовке к производству реальных систем логического управления. Это - этап технического проектирования.

Технической базой современных систем логического управления служит микроэлектроника. Она позволяет создавать мощные вычислительные комплексы, эффективные сети связи, сложные системы управления производственными процессами, содержащие тысячи и миллионы простейших логических элементов (или команд в управляющих программах). В то же время она предъявляет и более жесткие требования к методам проектирования дискретных систем. Чем сложнее эти системы, тем очевиднее становится необходимость автоматизации процессов их проектирования на базе ЭВМ.

В проектных организациях автоматизацией охвачен, как правило, лишь этап технического проектирования и, в гораздо меньшей степени, этап логического проектирования. Здесь автоматизация ограничивается моделированием на ЭВМ уже заданных логических структур и полуавтоматической разработкой проверяющих и диагностических тестов для них.

Между тем специфика микроэлектронной технологии такова, что малейшая ошибка на начальных этапах проектирования, если только она не будет своевременно обнаружена и исправлена, может привести к необходимости полного повторения всего цикла проектирования.

Повысить надежность проектов до требуемого уровня можно лишь при надлежащей автоматизации всех этапов проектирования. А автоматизация, как известно, должна опираться на формализацию: разработку формальных моделей объектов проектирования и формальных методов проектирования. Такая формализация уже десятки лет расшивается в рамках логической теории дискретных устройств, включающей, в частности, теорию автоматов, теорию булевых функций и теорию логических сетей. Здесь накоплено много полезных результатов, но большинство из них относится к первому этапу развития теории, когда она ориентировалась на разработку сравнительно несложных логических устройств, конструируемых из элементов И, ИЛИ, НЕ, НЕ ИЛИ, и реализующих последовательные алгоритмы, вычисляющие или управляющие.

К настоящему времени элементный базис существенно изменился: роль элементов играют большие и сверхбольшие интегральные схемы, выполненные на одном кристалле и составленные из тысяч и миллионов элементарных вентильных схем. Яркими представителями сверхбольших интегральных схем служат микропроцессоры и программируемые логические интегральные схемы, хорошо дополняющие друг друга. Микропроцессор подобен универсальной вычислительной машине (без терминальных устройств) и может решать практически любую задачу, если только для нее составлена программа, хотя и не всегда достаточно быстро. А, например, разновидность программируемых логических интегральных схем - программируемая логическая матрица - представляет собой специализированное однокристальное устройство, с высокой скоростью (десятки наносекунд) реализующее любую заданную систему булевых функций, ограниченную лишь тремя параметрами: числом функций, числом аргументов и общим числом элементарных конъюнкций.

Изменился и класс проектируемых дискретных устройств. Однопроцессорные ЭВМ вытесняются многопроцессорными, все большее внимание уделяется дискретным системам, управляющим взаимодействующими производственными процессами, переплетающимися в пространстве и времени, Реализуемые при этом алгоритмы оказываются параллельными, в них предусматривается одновременное выполнение нескольких операций.

Алгоритмы логического управления. Приступая к проектированию системы логического управления, нужно прежде всего выяснить, что должна делать система, задать условия ее работы, определить ее функции, выразив их в некотором формальном языке, не допускающем неоднозначности толкования. Лучше всего это можно сделать, описав алгоритм решения поставленной перед системой задачи, т.е. алгоритм управления. Моделирование любой управляющей системы всегда начинается с алгоритмического описания процесса управления. Лишь после четкого описания алгоритма, его проверки, отладки и приведения к надлежащему виду можно перейти к конструированию технической системы, реализующей этот алгоритм. Если в описание алгоритма вкрадутся ошибки, дальнейшая его реализация может оказаться бессмысленной. Отсюда становится ясной важность качественной разработки и отладки алгоритма управления, который подлежит реализации на проектируемом устройстве.

Алгоритмическое описание полезно не только на этапе разработки функций управляющей системы. При наличии соответствующих средств в используемом алгоритмическом языке возможно выполнение таких формальных преобразований в рамках языка, которые приближают описание вплотную к схеме или программе - конечной цели проектирования. После этого получение схемы или программы сводится в основном к смене интерпретации формул, описывающих алгоритм, например: операторы преобразования значений переменных трактуются как аппаратурные блоки с соответствующими функциями, а операторы следования и информационного обмена - как проводные связи между блоками. Такой подход получил название стандартной реализации алгоритма.

Но чтобы такие преобразования в рамках алгоритмического языка были возможны, надо чтобы в нем могли описываться алгоритмы двух типов, которые назовем алгоритмами планирования и алгоритмами поведения. Четкой границы между ними нет, и функции планирования и поведения могут переплетаться в едином формальном описании. Именно это и позволяет проводить указанные преобразования.

Алгоритм планирования соответствует более привычному представлению об алгоритме как инструкции, содержащей указания о том, что и в каком порядке надо делать, чтобы достичь некоторой цели. Это, так сказать, план без исполнителей. Кто конкретно будет его выполнять считается не таким уж важным, требуется лишь чтобы исполнитель четко придерживался заданных инструкций.

Алгоритмы поведения, получившие развитие преимущественно в теории автоматов, представляют функциональные свойства реально существующих (а также мыслимых, например при проектировании) технических систем, описывая реакции системы на внешние воздействия. Впрочем, алгоритмы этого типа годятся и для описания поведения естественных систем, в том числе и живых. Это можно увидеть из следующего определения, где вместо термина "алгоритм" используется "программа": "Под программой следует понимать определенную последовательность изменения системы (или ее подсистемы), которая заложена в ее структуре и реализуется при определенном входном воздействии. Совокупность программ системы характеризует, следовательно, совокупность ее возможных изменений во времени, присущих системе потенциально, определяемых ее структурой и реализующихся при поступлении на ее вход тех или иных воздействий".

Разработка и уточнение понятия алгоритм долгое время велись исключительно с точки зрения планирования. "Вообще под алгоритмом мы интуитивно понимаем некоторое формальное предписание, действуя согласно которому можно получить нужное решение задачи". Причем "алгоритмом традиционно называют лишь строго определенную систему правил Определение алгоритма зафиксировано в Математической энциклопедии: "АЛГОРИТМ,  - точное предписание, которое задает вычислительный процесс (называемый в этом случае алгоритмическим), начинающийся с произвольного исходного данного (из некоторой совокупности возможных для данного А. исходных данных) и направленный на получение полностью определяемого этим исходным данным результата". Ясно, что здесь речь идет об алгоритме планирования, который задает разложение во времени задачи в целом на серию подзадач, решаемых на отдельных шагах. С появлением ЭВМ и других устройств и систем дискретной переработки информации алгоритмы стали реализовываться автоматически. Саму машину, а точнее ее функциональные свойства, также можно описывать посредством алгоритмов, но такие описания лучше рассматривать не как алгоритмы планирования, а как алгоритмы поведения. Такими формальными описаниями представляются как функциональные свойства отдельных частей машины, которые могут при этом дробиться вплоть до логически неделимых элементов, так и способ их взаимодействия. С точки зрения классических представлений об алгоритме такие формы кажутся непривычными, однако они хорошо согласуются с новыми воззрениями, получившими развитие в связи с исследованиями алгоритмов управления.

Приведенные выше определения направлены, по существу, на вычислительные алгоритмы. Однако алгоритмы управления, в том числе и логического, принципиально отличаются от вычислительных. Они описывают способ общения гипотетической управляющей системы с некоторой средой, или объектом управления, такой способ, при котором ведется постоянный обмен информацией между системой и объектом управления. При этом теряет смысл понятие исходного данного, поскольку обрабатываемые алгоритмом управления данные могут поступать на его вход нескончаемым потоком. Целью алгоритма является уже не получение некоторого конкретного искомого результата в концентрированной форме, а выдача ответной последовательности управляющих сигналов, регулирующих поведение объекта управления.

Алгоритм управления естественно понимать в широком смысле, интерпретируя его иногда как алгоритм выполнения некоторой сложной операции, а иногда - как алгоритм регулирования определенных параметров объекта управления или как алгоритм поведения некоторой системы в окружающей среде. Формально можно определить его как схему разложения во времени некоторой сложной операции управления на более простые, играющие роль базисных в данном алгоритмическом разложении.

Языки логического управления. Для описания алгоритмов логического управления нужен язык. Прежде всего, он должен быть формальным, не допуская неоднозначности толкования представленных в нем алгоритмов, нежелательной и при "ручном" проектировании, а при автоматизированном - особенно вредной. Кроме того, язык должен быть достаточно универсален, чтобы с его помощью можно было описывать широкий класс алгоритмов логического управления. Наконец, он должен быть и достаточно простым, чтобы можно было рассчитывать на успешное его внедрение в инженерную практику, а также для того, чтобы облегчить развитие теории формальных преобразований в рамках этого языка, способствуя тем самым автоматизации процессов проектирования.

При всем при том алгоритмический язык должен быть эффективным. Это значит, что алгоритмы должны представляться сжато и понятно, в форме, удобной для обозрения. Предпочтительно наличие в языке двух форм: графической и символьной. Как показывает практика, графическая форма удобна при обучении, когда описываются сравнительно простые алгоритмы, а символьная - при представлении более сложных алгоритмов, при выполнении формальных преобразований над алгоритмами и, конечно, при работе с ЭВМ. Добиться высокой эффективности языка поможет его проблемная ориентация, учет особенностей алгоритмов рассматриваемого класса.

Характерными особенностями алгоритмов логического управления являются параллелизм и асинхронность. В самом общем виде параллельный алгоритм можно определить как такой алгоритм, в котором допускается и предусматривается возможность одновременного выполнения нескольких операций. Присущий техническим системам параллелизм объекта управления обычно неразрывно связан с асинхронностью. Она выражается в некоторой неопределенности в затрате времени на выполнение входящих в алгоритм операций. Как известно, последовательные алгоритмы некритичны к такой неопределенности, поскольку последняя не оказывает никакого влияния на выполнение алгоритма, кроме влияния на скорость выполнения.

Разработаны и реализованы алгоритмы динамического управления памятью. При динамическом выделении памяти запросы на выделение памяти формируются во время исполнения задачи. Динамическое выделение, таким образом, противопоставляется статическому, когда запросы формируются на этапе компиляции программы. В конечном итоге, и те, и другие запросы нередко обрабатываются одним и тем же алгоритмом выделения памяти в ядре ОС. При динамическом распределении часто требуется предоставить возможность отказываться от запрошенных блоков так, чтобы освобожденная память могла использоваться для удовлетворения последующих запросов. Таким образом, динамический распределитель вместо простой границы между занятой и свободной памятью (которой достаточно в простых случаях статического распределения) вынужден хранить список возможно несвязных областей свободной памяти, называемый пулом или кучей.

Многие последовательности запросов памяти и отказов от нее могут привести к тому, что вся доступная память будет разбита на блоки маленького размера, и попытка выделения большого блока завершится неудачей, даже если сумма длин доступных маленьких блоков намного больше требуемой. Это явление называется фрагментацией памяти (см рис.).



Рис.


Разработчик программы динамического распределения памяти обязан решить важную проблему, а именно — объединение свободных блоков.



 

Наилучшим из известных универсальных алгоритмов динамического распределения памяти является алгоритм парных меток с объединением свободных блоков в двунаправленный кольцевой список и поиском по принципу first fit. Этот алгоритм обеспечивает приемлемую производительность почти для всех стратегий распределения памяти, используемых в прикладных программах.

Алгоритм парных меток был предложен Дональдом Кнутом в начале 60-х. В современных системах используются и более сложные структуры дескрипторов, но всегда ставится задача обеспечить поиск соседей блока по адресному пространству за фиксированное время. В этом смысле, практически все современные подпрограммы динамического выделения памяти используют аналоги алгоритма парных.

Таким образом, в статье мною были рассмотрены вопросы реализации алгоритмов управления в области медицины, в области истории, в области информатизации, рассмотрены системы логического управления и их применение.


Литература:
  • Степанченко И.В. Исследование дискретных систем управления при влиянии ограниченности параметров технических средств // Наука Кубани. Библиотека журнала: Сб. науч. тр. – Краснодар, 2001.
  • Закревский А.Д Параллельные алгоритмы логического управления. Изд.2.. 2003.
  • Управление организацией: Энциклопедический словарь. Москва, 2001