Страница 12 из 75
Открытие алгоритмирования
Народная мудрость предостерегает нас: «Не говори „гоп“, пока не перепрыгнешь!». В этой нехитрой рекомендации заключен глубокий смысл, если подходить к ней с научных позиций. Выполнение любой работы требует от человека четкой последовательности действий. Сегодня в развитых странах повсеместно происходит активный процесс автоматизации труда, т. е. замены человека на тяжелых и вредных производствах машинами. Несложно догадаться, что данное незыблемое правило распространяется и на автоматы, а потому играет исключительно важную роль в развитии промышленности.
Описание последовательности действий мы называем указаниями или руководством. Наука использует название алгоритма. Прыгай, а потом говори «гоп» — типичный пример алгоритма, поскольку это руководство содержит описание оптимальной последовательности действий. Выполняя действия в указанной последовательности, можно добиться желаемого результата.
Само слово «алгоритм» имеет арабское происхождение. Это латинизированная форма от имени великого среднеазиатского математика прошлого аль-Хорезми. Он первым рассмотрел поиск решения задачи в качестве системы операций, осуществляемых в полном соответствии с правилами математического вычисления. Впоследствии составление приемов решения задач получило название алгоритмирования, а раздел математики, занимающийся данным направлением, был назван теорией алгоритмов.
Математика лежит в основе всех точных и технических наук, а также тесно сотрудничает с науками естественными. Невозможно назвать такую отрасль знания, которая не опиралась бы на математику. Оказывается, даже гармонию искусства можно «поверить алгеброй». Наверное, оттого столь величественны и прекрасны египетские пирамиды, что их творили любящие свое ремесло геометры. Для современного человека наиболее значимым достижением этой науки явилось начало изучения информации математическими методами.
Связь алгоритмов с трудовыми действиями, последовательностью чего-либо и с математическими величинами была установлена не сразу. Сначала математика взялась за проблему установления количественных законов доказательств и опровержений. Прежде чем изобрести научное алгоритмирование, требовалось заложить основы математической логики. Ее создателем выступил английский математик Дж. Буль, отчего долгое время, почти до 1950-х гг., данную дисциплину именовали «булевой алгеброй». Буль создал свою алгебру в 1854 г., указав на возможность применять математические законы для решения практических задач.
В начале XX в. трудами многих экономистов были сформулированы базовые положения менеджмента как науки управления производством. Особым направлением менеджмента стало возникшее в 1900–1910 гг. учение Ф. Гилбрета о последовательности рабочих операций. Оно позволило разбить деятельность рабочих на отдельные психомоторные элементы — т. н. терблиги (от обратного прочтения имени первооткрывателя).
Нахождение оптимальной последовательности терблигов способствовало повышению эффективности выполнения заданий. Таким образом, Гилбрет фактически нашел способ алгоритмизировать труд. Потребность в управлении возрастала, причем само понятие управления непрерывно расширялось. Это не просто контроль за рабочими, но исследование самых разных процессов (технологических, социальных, психологических, экономических и т. д.) и умелое направление этих процессов в нужное русло.
В 1940-х гг. под влиянием растущего интереса к проблемам менеджмента американский математик Н. Винер создает науку об общих законах управления процессами и системами — кибернетику. Становление и дальнейшее развитие кибернетики было связано с развитием вычислительных машин, которые в середине 1940-х гг. как раз претерпевали бурную эволюцию: на смену электромеханическим счетным устройствам приходили электронные машины (ЭВМ). Эти устройства были построены таким образом, что выполняли анализ информации по программе, являвшейся алгоритмом, записанным на машинном языке.
Прогресс кибернетической науки, ее успехи тесно связаны с дальнейшим развитием информатики и вычислительной техники. По иронии судьбы оказалось, что управление разнообразными процессами возможно полноценно, всесторонне изучать лишь посредством компьютеров — устройств, работа которых всецело подчиняется кибернетическим алгоритмам. Кибернетика по своему содержанию и совокупности методов напоминает Уроборос — змею, заглатывающую свой хвост, поскольку эта наука движется по замкнутому кругу.
Исследования управленческих задач упираются в использование электронно-вычислительных машин. Их программирование сводится к необходимости изучать начала теории управления. Таким образом, развитие теории предполагает параллельное развитие технологий. Объединение теоретических основ кибернетики и созданной благодаря им вычислительной техники облегчает дальнейшие исследования управления процессами и анализ систем.
Может возникнуть вопрос, как алгоритмирование связано с механикой. Оказывается, самым непосредственным образом. Дело в том, что кибернетика была призвана усовершенствовать работу механических, электромеханических, тепловых и прочих машин. Высокая производительность этих устройств, их возможности, оптимальный режим работы и многое другое определяется, естественно, кибернетикой. В наше время такие параметры рассчитываются исключительно на ЭВМ.
Однако расчет проводится с учетом данных классической физики, кибернетика опирается на формулы механики.
Динамика находит траекторию движения деталей и величины приложенных сил, статика находит сопротивление, податливость, пластичность и хрупкость материалов и т. д. Полученные формулы приобретают благодаря кибернетике вид универсального алгоритма для станков и прочих автоматических и полуавтоматических устройств. Следовательно, прикладная кибернетика выступает естественным продолжением и дополнением прикладной механики. Более того, вся история механических устройств представляет собой историю совершенствования способов алгоритмирования.
Изобретение автоматов и роботов
Слово «автомат» в переводе с греческого означает самодвижущийся. Так называется механическое или электромеханическое устройство, способное без помощи мускульной силы человека или животного выполнять действие или цикл действий, производя при этом полезную работу. Автомат не синонимичен аппарату, который представляет собой любое техническое средство, оборудование, в т. ч. и неавтоматическое. Древние греки явились создателями первых самодвижущихся приспособлений.
Наиболее ранний автомат в истории человечества — это, видимо, водяное колесо. Оно приводилось в движение речным потоком и в результате этого выполняло какую-нибудь простейшую работу. Знаменитые александрийские механики и геометры создавали более хитроумные приспособления, которые, однако, не нашли практического применения. Преимущественно это были механические игрушки, очень популярные в античности. Некоторые автоматы устанавливались в храмах, где открывали двери или приводили в движение статуи богов.
Самым прославленным создателем игрушек и прочих автоматов эпохи эллинизма был изобретатель Герон Александрийский (III в. до н. э.). После падения Рима интерес к механике надолго пропадает, только удобное водяное колесо сохранилось с античности. Оно все чаще применяется в водяных мельницах. Ветряные мельницы появляются в Европе в X–XI вв., а наибольшее их распространение приходится на время последних крестовых походов на Восток. Ветряную мельницу тоже допустимо рассматривать в качестве автомата.
Новый виток развития принесло позднее средневековье, когда в эпоху первого промышленного переворота механические приспособления получили широкое распространение. Ткацкие станки, часы, музыкальные и прочие устройства представляли собой примитивные механизмы, предназначенные для выполнения работы в автоматическом или, чаще всего, полуавтоматическом режимах. Конструирование полуавтоматических станков началось в XVI столетии. Действие этих устройств по большей части контролировалось работниками.