Что такое алгоритм?

Еще одно таинственное понятие, используемое математиками, информатиками, кибернетиками и прочими «-атиками» — алгоритм. В наборе букв явно прослеживается словосочетание, но его суть не совсем понятна — если вторая часть этого сложного слова — «ритм» объяснима, то вступление — «алго» вызывает если не недоумение, то ощущение полного непонимания.

Тем не менее, исходя из того, то мы живем в начале XXI века, никто не будет возражать, что необъяснимого для современного человека и цивилизованного человечества в целом не существует. Попробуем выяснить — что же такое — «алгоритм», и откуда это словечко появилось в нашем лексиконе.

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

Итак, во-первых, выясняем — что же означает слово «алгоритм» для тех людей, которые часто его употребляют, то бишь — для ученых, математиков, кибернетиков и инженеров. Оказывается, что алгоритм — строго определенная последовательность (или порядок) действий, который необходимо соблюсти для получения (или неполучения) желаемого (или не желаемого) результата. Как видим, получилось хоть и слегка запутанное, но вполне понятное объяснение исследуемого нами слова и его смыслового значения.

Чтобы получить результат, необходимо выполнить определенные действия, последовательность которых и есть алгоритм. При этом совершенно не обязательно, чтобы результат имел отношение к мудрым и замысловатым наукам. Простой пример: алгоритмом можно назвать процесс приготовления банальной яичницы — разогрел сковороду — плеснул смазки (масла) — разбил яйца — посолил — выждал определенное время — выложил на тарелку — посыпал приправами (зелень, тертый сыр или что-то вроде майонеза) и вот он — желаемый результат перед вами! Можно приступать к оценке алгоритма при помощи вилки и вкусовых рецепторов.

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

Стохастические алгоритмы

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

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

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

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

Немного углубляясь в теорию отметим, что умные люди (те самые математики и кибернетики) различают два типа стохастических алгоритмов:

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

***

Происхождение слова алгоритм

Ну а теперь попробуем разобраться — откуда же к нам явилось столь необычное и чрезвычайно важное для научно-технического прогресса слово.

Современная трактовка этого термина, приведенная выше, появилась в научном лексиконе в 30-50-е годах прошлого века. Однако, считается, что само слово исходит из глубины веков и связано с именем великого хорезмского учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми.

По мнению лингвистов, слово алгоритм происходит от «аль-Хорезми», и в современном виде к нам пришло благодаря искажению звуков европейцами. Достоверно известно, что Аль-Хорезми сформулировал правила вычислений в десятичной системе, придуманной индийцами, и изложил их в одной из своих книг, которая попала в Европ в виде перевода весьма ограниченной достоверности.что такое алгоритм?

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

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

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

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

***

Тест по информатике



Rambler's Top100