Що таке алгоритм, ти, я і інформатика

Ще одне таємниче поняття, яке використовується математиками, інформатика, кібернетика та іншими «-атікамі» - алгоритм. У наборі букв явно простежується словосполучення, але його суть не зовсім зрозуміла - якщо друга частина цього складного слова - «ритм» з'ясовна, то вступ - «алго» викликає якщо не подив, то відчуття повного нерозуміння.

Проте, виходячи з того, то ми живемо на початку XXI століття, ніхто не буде заперечувати, що незрозумілого для сучасної людини і цивілізованого людства в цілому не існує. Спробуємо з'ясувати - що ж таке - «алгоритм», і звідки це слівце з'явилося в нашому лексиконі.

Отже, по-перше, з'ясовуємо - що ж означає слово «алгоритм» для тих людей, які часто його вживають, чи то пак - для вчених, математиків, кібернетиків і інженерів. Виявляється, що алгоритм - строго певна послідовність (або порядок) дій, який необхідно дотримати для отримання (або неотримання) бажаного (або не бажаного) результату. Як бачимо, вийшло хоч і злегка заплутане, але цілком зрозуміле пояснення досліджуваного нами слова і його смислового значення.

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

Що таке алгоритм, ти, я і інформатика

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

стохастичні алгоритми

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

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

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

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

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

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

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

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

Сучасне трактування цього терміна, наведена вище, з'явилася в науковому лексиконі в 30-50-е роках минулого століття. Однак, вважається, що саме слово походить з глибини століть і пов'язане з ім'ям великого хорезмського вченого Абу Абдуллах Мухаммеда ібн Муса аль-Хорезмі.

На думку лінгвістів, слово алгоритм походить від «аль-Хорезмі», і в сучасному вигляді до нас прийшло завдяки спотворення звуків європейцями. Достовірно відомо, що Аль-Хорезмі сформулював правила обчислень в десятковій системі, придуманої індійцями, і виклав їх в одній зі своїх книг, яка потрапила в Європ у виді переведення вельми обмеженою достовірності.

Що таке алгоритм, ти, я і інформатика

По-арабськи книга хорезмського вченого іменувалася «Кітаб аль-джебр валь-мукабала» ( «Книга про складання і віднімання»). До речі, з оригінальної назви книги відбувається настільки улюблене студентами слово «алгебра» (алгебра - «аль-джебр» - «заповнення»). Таким чином, злегка спотворене ім'я азіатського вченого було винесено в заголовок книги, і в даний час вважається, що слово «алгоритм» потрапило в європейські мови саме завдяки цьому наукової праці.

Однак питання про його сенс тривалий час викликав запеклі суперечки в науковому світі і серед лінгвістів. Протягом багатьох століть походженням слова «алгоритм» давалися найрізноманітніші пояснення. Славу «винаходи» слова намагалися оскаржити і греки, і італійці, і індійці і навіть єгиптяни. Втім, такі суперечки жодним чином не хвилювали математиків, для яких поняття алгоритму довгий час пов'язували з математичними розрахунками та обчисленнями, і коріння словотворення на ці розрахунки не впливали.

в українській мові це слово з'явилося, на думку лінгвістів, в кінці XVII століття. Використав це поняття в своїх працях і великий український вчений, соратник М.В. Ломоносова, Леонард Ейлер, одна з робіт якого носить назву «Використання нового алгоритму для вирішення проблеми Пелля». Але надалі в російськомовній науковому середовищі слово «алгоритм» замінило слово «алгорифм», яке широко вживалося аж до початку минулого століття і використовувалося, як одне з суто математичних понять. І лише в 30-х роках минулого століття «алгорифм» в нашій країні стали підміняти «алгоритмом».

З розвитком поняття алгоритму поступово відбувалося і його поширення з чистої математики в інші сфери наукової діяльності людини розумної. І початок цьому процесу поклало поява комп'ютерів, завдяки якому слово «алгоритм» увійшло в 1985 році в усі радянські (а потім - українські) шкільні підручники інформатики і знайшло нове життя. Взагалі можна сміливо стверджувати, що сьогоднішня популярність і популярність цього терміна безпосередньо пов'язана динамікою поширення комп'ютерів.