Алгоритм Печать

Вернуться к оглавлению

Алгоритм это предписание, определяющее содержание и последовательность операций, переводящих исходные данные в искомый результат.algorithm
 
12 февраля 1535 года в итальянском городе Болонье царило оживление. Со всех концов Италии, даже из других стран Европы сюда съехались математики, искусные вычислители и любители интересных состязаний. В этот день начинался математический турнир.

«Математик Фиоре вызывает на поединок каждого, кто желает состязаться с ним в искусстве решения кубических уравнений. Побеждает тот, кто решит больше задач из числа предложенных его противником», гласило объявление о правилах состязаний. Вызов Фиоре принял Николо Тарталья, мало известный преподаватель математики. Он оказался победителем турнира, решив все 30 задач, предложенных Фиоре. Последний же не сумел решить ни одной задачи Тартальи!  Каким же образом Николо Тарталье удалось одержать столь блестящую победу, не оставляющую никаких сомнений в его превосходстве? Ответ на вопрос дают события, предшествовавшие турниру. Примерно за десять лет до этого скончался профессор математики Болонского университета Сципион дель Ферро. Незадолго до смерти ему удалось найти общий метод решения труднейшей задачи. Об успешном результате многолетнего труда он сообщил только своему зятю и преемнику по должности Анабеллу делла Нове. Но об этом методе неведомыми путями узнал и неведомый Фиоре. Получив в свои руки правило решения задачи, с которой не могли справиться ни арабы, ни греки, ни ученые средневековой Европы, Фиоре бросил вызов математикам.
 
Обладание алгоритмом, казалось, гарантировало Фиоре победу, но его уверенность не оправдалась. Против него выступил ярко одаренный Тарталья. Приняв вызов, он решил, что легко победит Фиоре. Но всего за десять дней до турнира узнал, что Фиоре известен метод умершего Сципиона дель Ферро. Тогда Тарталья огромным напряжением ума самостоятельно нашел еще более совершенный метод. С его помощью он одержал блестящую победу на турнире. Алгоритм Тартальи, усовершенствованный потом итальянским математиком Кардано, сохранился до наших дней в виде общего метода решения кубических уравнений.

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

В XVI веке Рудольф возвел алгоритм в основной принцип арифметики. Хорошим примером алгоритма, может служить правило сложения «столбиком» натуральных чисел, записанных в десятичной системе.

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

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

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

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

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

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

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

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

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

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

Существуют и алгоритмически неразрешимые проблемы. Ученые доказали, что универсального алгоритма для решения любой задачи не может быть. Это принципиально важный вывод и предостережение: математик должен выяснить, не является ли задача, за которую он берется, не разрешимой.

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

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

Следует только добавить, что теорию алгоритмов разделяют на качественную и количественную метрическую.

Качественная теория исследует алгоритмы с позиций устанавливаемого ими соответствия между исходными данными и результатами.

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

Сейчас трудно найти область знания, в той или иной мере связанную с математикой, где бы не пользовались алгоритмами. Это почти все разделы математики, математическая логика, теория моделей.

В последние десятилетия алгоритмы вошли в практику лингвистов, психологов, экономистов. Без теории алгоритмов не обходятся при решении задач управления, искусственного интеллекта, машинного перевода.

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

Вернуться к оглавлению