Алгоритмическое направление в кибернетике

Представление о возможностях кибернетики будут неполными без понятия «алгоритм».

Алгоритм (algorithm) – это любая корректно определённая вычислительная процедура, на вход (input) которой подается некоторая величина или набор величин, и результатом выполнения которой является выходная (output) величина или набор значений. Алгоритм может быть представлен на обычном языке, на котором разговаривает человек или на псевдокоде. Алгоритм можно рассматривать как инструмент для решения корректно поставленной вычислительной задачи.

Вопросу алгоритмизации из сборника статей «Кибернетика. Современное состояние» посвящена статья В. К. Кабулова «Алгоритмическое направление в кибернетике», выдержки из которой приводятся ниже.

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

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

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

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

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

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

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


Рисунок - Алгоритм управления

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

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

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

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

В вычислительной математике для приближенного решения классов уравнений разработано множество алгоритмов. Для решения задач на ЭВМ необходимо предварительно установить применимость алгоритмов к решению уравнений. Применимость связана с доказательством сходимости и устойчивости алгоритма. Так, какой-нибудь одной модели ставится в соответствие подмножество алгоритмов. Для выбора единственного алгоритма надо ставить условия оптимальности алгоритма и проверить эти условия. Описанный здесь круг проблем решается на этапе «алгоритмы».

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

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

Таковы вкратце этапы алгоритмизации.

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

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

Но самый главный выход от алгоритмизации мы ожидаем в направлении автоматизации проектирования АСУ различных типов. Если бы удалось рационально построить банки данных объектов (вспомните этап «опыт»), банк законов, банк признаков и банк пакетов программ, решить самую трудную проблему, связанную с автоматизированным выбором оптимальных алгоритмов для счета, то можно было бы поставить на индустриальную основу процесс создания автоматизированных систем управления.

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

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

Известно, что многие задачи управления технологическими процессами приводятся к решению задач механики. Таковы, например, процессы химической технологии, обработки металлов и др. Поэтому в нашем институте намечаются пути перехода от алгоритмизации в механике сплошных сред к автоматизации проектирования АСУ технологическими процессами.

При этом этапы алгоритмизации конкретизируются, и создается стройная схема проектирования (рис. 2).


Рисунок - Схема проектирования

Банк данных, который строится на этапе «опыт», включает параметры деталей, операций и агрегатов. Это то, что сейчас называют нормативной базой.

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

В процессе математического обеспечения разрабатываются программы для аналитических и логических преобразований при переходе от основных законов к математическим моделям задач, а также пакеты прикладных программ.

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

Опыт показывает, что при переходе к автоматизации проектирования АСУ на первый план выдвигается построение банка данных и банка признаков, дополнение банка законов и выбор набора рационального пакета прикладных программ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: