В середине двадцатого века, американский учёный Норберт Винер изучал разные технические и биологические системы. Он заметил, что, несмотря на все их различия, они работают одинаково. В 1948 году вышла его книга «Кибернетика, или управление и связь в животном и машине». Дата выхода этой книги стала днём рождения науки об управлении – кибернетики.
Посмотрим, как же работают разные системы управления. Но сначала разберёмся, что же такое управление. Итак, управлением называется воздействие на объект, с целью заставить его работать определённым образом. При этом объект, на который оказывается воздействие, называется управляемым объектом, а объект или система, который оказывает воздействие, называется управляющим объектом или управляющей системой.
Так, например, футболист бьёт по мячу, чтобы он влетел в ворота. В этом случае управляющий объект– это футболист, а управляемый – мяч. Управляющее воздействие – это удар футболиста по мячу. Важно, что воздействие должно быть целенаправленным. В нашем случае цель воздействия – это попадание мяча в ворота.
Управляющим объектом может быть человек, группа людей, или какое-нибудь устройство, например компьютер. Управляемым объектом тоже может быть любой предмет, устройство, человек, животное или группа людей.
Водитель, управляя автомобилем, оказывает на него различные управляющие воздействия, передавая ему таким образом целые последовательности команд о том, каким образом тот должен двигаться. Последовательность команд для управления объектом, которая приводит к поставленной цели, называется управляющим алгоритмом. Важно, чтобы цель управления была известна еще до начала управления. Так, водитель должен заранее знать, куда он должен добраться, чтобы начать управлять автомобилем.
Есть простые алгоритмы управления, которые состоят всего из одной команды. Например, команда «сидеть» собаке. А есть более сложные алгоритмы, которые могут содержать ветвления, циклы или даже рекурсию. Например, сигнал будильника устанавливается на определённое время. То есть условием подачи сигнала будет наступление определённого момента времени.
Для того, чтобы управление было эффективным, управляющая система должна подавать команды для управления, учитывая при этом свойства управляемого объекта. Например, чтобы передвинуть стул, нужно знать, где он находится и нет ли каких-нибудь преград для этого перемещения. Для того, чтобы управляющая система учитывала состояние управляемого объекта, существует обратная связь. Так называется передача информации от управляемого объекта в управляющую систему.
Так, например, футболист знает, где находится мяч и куда он должен попасть, прежде чем по нему ударить. Водитель видит показания скорости и другой информации об автомобиле и управляет им так, как считает нужным.
В наше время роль управляющей системы часто выполняет компьютер, в программу которого заложена обработка всех вариантов обратной связи.
Пример сразу нескольких таких процессов управления – система «Умный дом». В ней компьютер получает сигналы о состоянии объектов от множества датчиков. И в зависимости от состояния даёт команды механизмам дома. Например, если сейчас тёмное время суток, а детектор движения показал в комнате присутствие человека, компьютер даёт команду «включить освещение». Или в определённое время дня компьютер даёт команду «открыть окна», пока температура в помещениях не достигнет определённого уровня. Часто для того, чтобы облегчить труд человека, используют множество роботов под управлением компьютеров. Например роботы-сварщики или роботы-упаковщики. Как правило, они повторяют одну и ту же последовательность действий, то есть управляются с помощью циклических управляющих алгоритмов.
Алгоритм - это предписание исполнителю (человеку или автомату) выполнить точно определенную последовательность действий, направленных на достижение заданной цели. Значение слова алгоритм очень схоже со значением слов рецепт, процесс, метод, способ. Однако любой алгоритм, в отличие от рецепта или способа, обязательно обладает следующими свойствами.
Свойства алгоритма (отличающие его от любых других предписаний):
- понятность (для конкретного исполнителя);
- дискретность (команды последовательны, с точной фиксацией моментов начала и конца выполнения команды);
- точность (после выполнения каждой команды точно известно, завершено ли исполнение алгоритма или же какая команда должна выполниться следующей);
- результативность (после конечного числа шагов задача решается или же становится ясно, что процесс решения не может быть продолжен):
- массовость (алгоритм единым образом применяется к любой конкретной формулировке задачи, для которой он разработан).
На практике наиболее распространенными являются следующие формы записи алгоритмов:
1) графическая запись (блок-схемы) – Графическая форма записи, называемая также схемой алгоритма, представляет собой изображение алгоритма в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Графическая запись является более компактной и наглядной по сравнению со словесной. В схеме алгоритма каждому типу действий соответствует геометрическая фигура. Фигуры соединяются линиями переходов, определяющими очередность выполнения действий.
2) словесная запись (псевдокоды) – Словесная форма записи алгоритма представляет собой описание на естественном языке последовательных этапов обработки данных.
3) язык программирования. Язык программирования – язык, используемый для формальной записи алгоритмов. Большинство языков программирования относятся к алгоритмическим языкам. Запись алгоритма на алгоритмическом языке называют программой.
Важно запомнить:
· Управлением называется воздействие на объект для того, чтобы заставить его работать определённым образом.
· Алгоритм управления - это последовательность команд управления объектом, приводящая к достижению заранее поставленной цели.
· Обратная связь – это передача информации от управляемого объекта управляющей системе.