Алгоритм

Алгоритм це заздалегідь визначена точна послідовність дій, яка задає дискретний (покроковий) процес, що починається певним чином й приводить до отримання результату за кінцеве число кроків. Також, алгоритм може бути визначеним, як задана послідовність кроків, виконання якої гарантовано призведе до отримання очікуваного результату.

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

Алгоритм відноситься до вихідних математичних понять, які не можуть бути визначені через інші, більш прості поняття. Іноді таке або подібне визначення називають інтуїтивним, тобто зрозумілим з досвіду.

Можна виділити декілька специфічних властивостей алгоритмів.

Властивості алгоритмів

Дискретність алгоритму визначає те, шо він виконується за кінцеву кількість простих кроків. При цьому, всі кроки алгоритму виконуються послідовно, виконання наступного кроку починається тільки після завершення попереднього.

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

Визначеність алгоритму говорить про те, що кожний з етапів його виконання повинний бути чітко прописаним та не припускати вільного трактування. Кожна з команд, які використовуються при описі етапів алгоритму, повинна бути зрозумілою кінцевому виконавцю. Ця властивість дозволяє формалізувати опис алгоритму та запровадити його машинне виконання.

Точність алгоритму задає припустимий діапазон похибки вхідних даних та результату.

Детермінованість алгоритму означає, що при однакових вхідних даних алгоритм завжди повинний виконуватися з однією і тією же послідовністю операцій та видавати один і той самий результат.

Масовість алгоритму вказує на те, що він може виконуватися нескінчену кількість разів з різними вхідними даними. При цьому вхідних дані повинні задовольняти обмеженням типів та діапазонів заданим у описі алгоритму.

Приклад циклічного алгоритмуТаким чином, кожний алгоритм повинен задаватися:

– безліччю припустимих вихідних даних; початковим станом;

– безліччю припустимих проміжних станів;

– правилами переходу з одного стану в інший;

– безліччю кінцевих результатів;

– кінцевим станом.

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

При розробці алгоритму завжди повинен передбачатися його виконавець або виконавці.

Слово «алгоритм» — похідне від імені середньоазіатського вченого Аль Хорезмі, уродженця Хіви, що жив в IX в.

Математичне визначення алгоритму є уточнення поняття алгоритму в інтуїтивному змісті й представляється у вигляді машини Тьюринга, машини Поста, нормального алгоритму Маркова та інших.

Попередня стаття
Наступна стаття