Отправляет email-рассылки с помощью сервиса Sendsay

Алгоритмы для всех

  Все выпуски  

Служба Рассылок Городского Кота


Служба Рассылок Городского Кота

Итак, вы читаете прервый номер расылки "Алгоритмы вокруг нас"...

О чем пойдет речь в данной рассылке? Конечно, об алгоритмах.
Но что означает "вокруг нас"? Читайте дальше... :-)

Скажу, правда, сразу, что про коллекционирование марок в этом
выпуске ничего нет. :-(

И какие же задачи я пытаюсь решить созданием данной рассылки? Ну,
наверное, прежде всего, просветить читателя ("вот какие еще
вещи на свете есть!"), потом заинтересовать его ("может, и мне это
пригодится?"), а дальше я не знаю что... Надеюсь, сами читатели
подскажут. :-)

А пока к себе на помощь я привлеку отрывки из книги
Н.А.Криницкого "Алгоритмы вокруг нас" (1984), у которой я уже
позаимствовал название для данной рассылки.

Для начала попробуем внушить читателю уважение к алгоритмам.

  "Двадцатый век в области науки и техники принес человечеству много
крупных достижений: радио, звуковое кино, телевидение, атомная энергия,
космические полеты, электронные вычислительные машины - это только
главные вехи, известные каждому.
  Но не всем известно, что крупнейшим достижением науки ХХ в. является
теория алгоритмов - новая математическая дисциплина." (с.3)

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

Дадим объяснение понятию "алгоритм":

"Среди разнообразных правил, с которыми приходится сталкиваться
ежедневно и ежечасно, особую роль играют правила, предписывающие
последовательность действий, ведущих к достижению некоторого
необходимого результата. Нередко их называют алгоритмами. С научной
точки зрения к этому названию нужно добавить слова "в интуитивном
смысле". (с.6)

А вот научное определение:

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

Ну, как, почувствовали уважение к алгоритмам? Нет еще? :-) Тогда знайте,
что хотя только

"В 30-х годах ХХ в. понятие алгоритма стало объектом математического
изучения (прежде им только пользовались), а с появлением
электронно-вычислительных машин получило широкую известность." (с.3-4)

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

"Слово "алгоритм происходит от имени узбекского математика Хорезми (по
арабски ал-Хорезми), который в IX в.н.э. разработал правила четырех
арифметических действий над числами в десятичной системе счисления.
Совокупность этих правил в Европе стали называть "алгоризм".
Впоследствии это слово переродилось в "алгоритм" и сделагось
собирательным названием отдельных правил определенного вида (и не только
правил арифм. действий). В течение длительного времени его употребляли
только математики, обозначая правила решения различных задач." (с.3)

Но

"В настоящее время слово "алгоритм" вышло за пределы математики. Его
стали применять в самых различных областях, понимая под ним точно
сформулированное правило, назначение которого - быть руководством для
достижения необходимого результата." (с.4)

Итак, что вокруг нас является или не является алгоритмами?

"К числу алгоритмов не относятся правила, что-либо запрещающие,
например: "Вход посторонним запрещен", "Не курить"... Не относятся
к ним и правила, что-либо разрешающие, такие как "Разрешена стоянка
автотранспорта", "Вход"... А вот "Уходя, гасите свет", "Идти
слева,
стоять справа" (на эскалаторе в метрополитене) - это уже алгоритмы,
хотя и очень примитивные." (с.6)

Алгоритмы - это и инструкции на телефоне-автомате, и советы по кормлению
ребенка, и медицинские или кулинарные рецепты и многое-многое другое...

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

"Приготовление отбеливающего раствора.

Содержимое пакета "Д" растворить в 500 мл воды при темп-ре 18-20
градусов Цельсия, затем осторожно добавить содержимое пакета "Е". Объем
раствора довести до 1000 мл. Раствор профильтровать."

Это опять алгоритм." (с.9)

"Как и в повседневной жизни, роль алгоритмов в науке и технике очень
велика. Мы знаем, что в каждой научной или тхнической области почетное
место занимают всевозможные справочники. Каждый такой справочник - это в
значительной его части сборник алгоритмов, накопленных данной научной
или технической дисциплиной. ... Алгоритмы - это богатство науки и
техники." (с.22)

Уверен, что дочитав до этого места, вы уже не раз примерили алгоритмы к
соим делам. И не исключено, что где-то в глубине души почувствовали
некое тоскливое чувство, - ощущение, что вас пытаются чем-то связать,
что покушаются на вашу свободу поступков, творчества и т.п. - В книге
Голдовского и Вайнермана "Комплексный метод..." (1990) есть забавная
иллюстрация: дорога под названием "Алгоритм", огражденная колючей
проволокой, - "шаг влево, шаг вправо считается за побег"... Предоставим
опять слово Криницкому:

"Всюду алгоритмы. Они окружают нас, переплетаются, проникают друг в
друга; шага нельзя ступить, не наталкиваясь на них. Но как разительно
отличаются "алгоритмические джунгли" от настоящих, в котрых густые
спутавшиеся растения стесняют на, цепко держат в плену. Удивительным
образом алгоритмы не связывают нас, а ведут самыми надежными путями к
решению сложнейших проблем." (с.9)

"Обратим внимание еще на одну особенность, присущую каждому алгоритму.
Исполнитель алгоритма не только не нуждается в какой-либо фантазии или
сообразительности, но, более того , алгоритм не оставляет места для
проявления этих качеств, если исполнитель ими обладает. Выполняя
алгоритм, люди действуют механически. Может быть, по мнению читателя это
плохо? Может быть, эта черта алгоритма в какой-то мере подавляет
творческие способности людей? Ни в коем случае! Люди могут в полной мере
проявлять свои творческие способности, разрабатывая алгоритмы." (с.18)

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

"Но после того как они созданы, такое проявление творческих
способностей было бы неоправданным расходом психической энергии.
Алгоритмы позволяют ее экономить. Таким образом, формулировка алгоритма
так точна, что полностью определяет все действия испонителя." (с.18-19)

А само творчество, между прочим, алгоритмами только усиливается!
Например, изобретательские (и не только) способности - при использовании
известного Алгоритма решения иобретательских задач (АРИЗ). (Он есть во
многих публикациях и в интернете. См., например, книгу "Рождение
изобретения", 1995) Происходит это за счет того, что, во-первых, не
приходится заново придумывать методы и приемы решения задач, тратя
время на пробы и ошибки, а, во-вторых, мозг разгружается от рутинных
операций, - они записаны на бумаге, и нет необходимости помнить их.

Итак, чем являются алгоритмы для тех, кто их использует?

"Алгоритмы являются: 1) формой изложения ... результатов; 2)
руководством к действию при решении уже изученных проблем и, как
следствие: 3) средством, позволяющим экономить умственный труд; 4)
необходимым этапом при автоматизации решения задач; 5) средством
(инструментом), используемым при исследовании и решении новых проблем
(особенно это касается математических алгоритмов); 6) одним из средств
обоснования математики ... ; 7) одним из средств описания сложных
процессов ..." (с.22)

Но

"Нужно сразу подчеркнуть, что алгоритмы составляют важную часть каждой
науки, но не исчерпывают ее содержания. Не менее важны, конечно, понятия
и определения, входящие в данную науку, установленные ею факты (в
математике - это доказанные теоремы), выработанный наукой подход к
изучаемым объектам и явлениям." (с.22)

И откуда же берутся алгоритмы?

"Одним из источников алгоритмов является практика, которая предоставляет
нам две основные возможности: наблюдение и эксперимент (а также любые их
комбинации).

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

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

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

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

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

Наконец, четвертым источником алгоритмов может быть изобретательность их
разработчика. алгоритмы кодирования и декодирования по заданному ключу
происходят из этого источника." (с.23-24)

Всего доброго!

Сергей Пушкарев, push@orc.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное