Що таке алгоритм? – Ч. 2

Алгоритми ставали предметом все більш пильної уваги вчених, і поступово це поняття посіло одне з центральних місць у сучасній математиці. Що ж стосується людей, від математики далеких, то до початку сорокових років це слово вони могли почути хіба що під час навчання в школі, в поєднанні «алгоритм Евкліда». Незважаючи на це, алгоритм все ще сприймався як термін суто спеціальний, що підтверджується відсутністю відповідних статей в менш об'ємних виданнях. Зокрема, його немає навіть в десятитомной Малої Радянської Енциклопедії (1957), не кажучи вже про однотомних енциклопедичних словниках. Але зате через десять років, в третьому виданні Великої радянської енциклопедії (1969) алгоритм вже характеризується як одна з основних категорій математики, «не володіють формальним визначенням у термінах більш простих понять, і абстрагіруемих безпосередньо з досвіду». Відміну навіть від трактування першим виданням Вікіпедія разюча! За сорок років алгоритм перетворився в одне з ключових понять математики, і визнанням цього стало включення слова вже не в енциклопедії, а в словники. Наприклад, воно присутнє в академічному «Словнику російської мови» (1981) саме як термін з області математики.

Одночасно з розвитком поняття алгоритму поступово відбувалася і його експансія з чистої математики в інші сфери. І початок їй поклала поява комп'ютерів, завдяки якому слово «алгоритм» увійшло в 1985 р. під асі шкільні підручники інформатики і знайшло нове життя. Взагалі можна сказати, що його сьогоднішня популярність напряму пов'язана зі ступенем поширення комп'ютерів. Наприклад, у третьому томі «Дитячої енциклопедії» (1959) про обчислювальних машинах говориться чимало, але вони ще не стали чимось звичним і сприймаються скоріше як певний атрибут світлого, але досить далекого майбутнього. Відповідно і алгоритми жодного разу не згадуються на її сторінках. Але вже на початку 70-х рр.. минулого століття, коли комп'ютери перестали бути екзотичною новинкою, слово «алгоритм» стрімко входить в ужиток. Це чуйно фіксують енциклопедичні видання. В «Енциклопедії кібернетики» (1974) у статті «Алгоритм» він вже пов'язується з реалізацією на обчислювальних машинах, а в «Радянській військовій енциклопедії» (1976) навіть з'являється окрема стаття «Алгоритм рішення задачі на ЕОМ». За останні півтора-два десятиліття комп'ютер став невід'ємним атрибутом нашого життя, комп'ютерна лексика стає все більш звичною. Слово «алгоритм» в наші дні відомо, ймовірно, кожному. Воно впевнено зробило крок навіть в розмовну мову, і сьогодні ми нерідко зустрічаємо в газетах і чуємо у виступах політиків вислови на кшталт «алгоритм поведінки», «алгоритм успіху» або навіть «алгоритм зради». Академік М.М. Моїсеєв назвав свою книгу «Алгоритми розвитку», а відомий лікар Н.М. Амосов – «Алгоритм здоров'я» та «Алгоритми розуму». Слово збагачувалося все новими значеннями і смисловими відтінками.

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

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

Важливу роль відіграють рекурсивні алгоритми (алгоритми, що викликають самі себе до тих пір, поки не буде досягнуто деяке умова повернення). Починаючи з кінця XX – початку XXI століття активно розробляються паралельні алгоритми, призначені для обчислювальних машин, здатних виконувати кілька операцій одночасно.

Наявність вихідних даних та деякого результату

Алгоритм – це точно певна інструкція, послідовно застосовуючи яку до вихідних даних, можна отримати рішення задачі. Для кожного алгоритму є деяке безліч об'єктів, допустимих в якості вихідних даних. Наприклад, в алгоритмі розподілу дійсних чисел ділене може бути будь-яким, а дільник не може дорівнювати нулю.

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

Для розробки алгоритмів і програм використовується алгоритмізація – процес систематичного складання алгоритмів для вирішення поставлених прикладних завдань. Алгоритмізація вважається обов'язковим етапом у процесі розробки програм та вирішенні задач на ЕОМ. Саме для прикладних алгоритмів і програм принципово важливі детермінованість, результативність і масовість, а також правильність результатів вирішення поставлених завдань.

Форма алгоритмів

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

Ефективність алгоритмів

Хоча у визначенні алгоритму потрібно лише кінцівку числа кроків, необхідних для досягнення результату, на практиці виконання навіть хоча б мільярда кроків є занадто повільним. Також зазвичай є інші обмеження (на розмір програми, на допустимі дії). У зв'язку з цим вводять такі поняття як складність алгоритму (временнáя, за розміром програми, обчислювальна та ін.) Для кожної задачі може існувати безліч алгоритмів, що призводять до мети. Збільшення ефективності алгоритмів становить одну із завдань сучасної інформатики.

Джерела:

  • Матеріал з Вікіпедії
  • Що таке алгоритм?
  • Матеріал «Що таке алгоритм» в Вікіпідручник

Додатково на Vidpo.net:

  • Звідки взялося слово алгоритм?
  • Де знайти метод (алгоритм) визначення дня тижня по даті?

Category: Медицина і здоров'я

Comments (Прокоментуй!)

There are no comments yet. Why not be the first to speak your mind.

Leave a Reply