Page 228 - 4505
P. 228
рецепт приготування блюда також є алгоритмом, у такому разі виконавцем є людина. Проте
найчастіше як виконавець виступає комп'ютер.
Існує багато тлумачень алгоритму. Наприклад:
«Алгоритм — це всяка система обчислень, що виконуються по строго заданим правилам,
яка після якого-небудь числа кроків свідомо приводить до рішення поставленої задачі.» (А.
Колмогоров)
«Алгоритм — це точне розпорядження, що визначає обчислювальний процес, що йде від
варійованих початкових даних до шуканого результату.» (А. Марков)
«Алгоритм — строго детермінована послідовність дій, що описує процес перетворення
об'єкту з початкового стану в кінцевий, записана за допомогою зрозумілих виконавцеві
команд.» (Угріновіч Микола Дмитрович)
«Алгоритм — це послідовність дій, направлених на отримання певного результату за
кінцеве число кроків.» (Roxanstudio)
«Алгоритм є формалізована послідовність дій (подій). Алгоритм може бути записаний
словами і зображений схематично. Практично будь-яка невипадкова повторювана дія
піддається опису через алгоритм.» ([grey_olli])
«Алгоритм — однозначно, доступно і коротко (умовні поняття — назви етапу) описана
послідовність процедур для відтворення процесу з обумовленим завданням алгоритму
результатом за заданих початкових умов. Універсальність (або спеціалізація) алгоритму
визначається застосовністю і надійністю даного алгоритму для вирішення нестандартних
завдань.»
«Алгоритм — це система операторів, узятих з безлічі операторів деякого виконавця, яка
повністю визначає деякий клас алгоритмічних процесів, тобто процесів, які: дискретні;
детерміновані; потенційно кінцеві; перетворюють деякі конструктивні об'єкти.
Виконавець алгоритму
Виконавець алгоритму — це деяка абстрактна або реальна (технічна, біологічна або
біотехнічна) система, здатна виконати дії, що наказують алгоритмом.
Виконавця характеризують:
середовище;
елементарні дії;
система команд;
відмови.
Середовище — це "житло" виконавця. Наприклад, для виконавця Робот зі шкільного
підручника середовище — це нескінченне клітинне поле. Стіни і закрашені клітки теж частина
середовища. А їх розташування і положення самого Робота задають конкретний стан
середовища.
Система команд. Кожен виконавець може виконувати команди тільки з деякого строго
заданого списку — системи команд виконавця. Для кожної команди мають бути задані умови
застосовності (у яких станах середовища може бути виконана команда) і описані результати
виконання команди. Наприклад, команда Робота "вгору" може бути виконана, якщо вище за
Робота немає стіни. Її результат — зсув Робота на одну клітку вгору.
Після виклику команди виконавець здійснює відповідну елементарну дію.
Відмови виконавця виникають, якщо команда викликається при неприпустимому для неї
стані середовища.
Властивості алгоритмів
Основні властивості алгоритмів наступні:
1. Зрозумілість для виконавця — виконавець алгоритму повинен розуміти, як його
виконувати. Іншими словами, маючи алгоритм і довільний варіант початкових даних,
виконавець повинен знати, як треба діяти для виконання цього алгоритму.
2. Дискретність (переривчатість, нарізність) — алгоритм повинен представляти процес
рішення задачі як послідовне виконання простих (або раніше визначених) кроків (етапів).
224