Глава 2 з 27

Безкоштовно

1: Світ програмування навколо нас

⏱️ 35-50 хвилин
📊 beginner

Розділ 2: "Програми природи"

Аліса, Професор Біт і Байт розташувались на галявині в парку. Був теплий весняний день, і навколо них кипіло життя.

— Алісо, ти виконала завдання з командами для Байта? — запитав Професор, розкладаючи на траві невеликий мікроскоп.

— Так! — радісно відповіла дівчинка. — Хоча спочатку у мене вийшов не квадрат, а якась дивна фігура. Я забула вказати, на скільки кроків Байт повинен рухатися.

Професор Біт кивнув:

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

— Природа? — здивувалась Аліса. — Але ж у лісі немає комп'ютерів і програмістів.

Логік, що сиділа на гілці найближчого дерева, спустилась нижче:

— У природі програми записані не в комп'ютерах, а в ДНК — молекулах, які є в кожній живій клітині. ДНК містить інструкції для всього живого.

Професор дістав з кишені маленький проектор, і на білому аркуші з'явилось зображення подвійної спіралі.

— Це ДНК, — пояснив він. — Уяви, що це величезна книга рецептів. У ній записано, якого кольору будуть твої очі, як влаштоване твоє серце, і навіть коли квіти повинні розкривати свої пелюстки!

Професор проектує спіраль ДНК на аркуш, поруч — Аліса, Байт і мурахи

Байт раптом оживився і вказав на групу мурах, що рухалися ланцюжком:

— Дивіться! Мурахи слідують програмі!

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

— Вони всі йдуть по одній доріжці. Ніби хтось намалював їм лінію.

— Влучно підмічено, — сказав Професор. — Мурахи слідують простому алгоритму. Коли мураха-розвідник знаходить їжу, він повертається в мурашник, залишаючи після себе спеціальний запах — феромон. Інші мурахи відчувають цей запах і йдуть по ньому. Чим більше мурах проходить по доріжці, тим сильніший запах і тим більше мурах його відчуває.

— Це як... цикл! — здогадалась Аліса. — Чим більше мурах йде по шляху, тим сильніший шлях, і тим більше мурах по ньому йде!

— Саме так! — зрадів Професор. — Природа використовує цикли, умови та інші прийоми, які ми знаходимо в програмуванні.

Логік вказала крилом на зграю птахів, що пролітала повз:

— Подивись на цих птахів. Як ти думаєш, чому вони летять клином?

Аліса знизала плечима:

— Напевно, так їм зручніше?

— Правильно, — кивнула Логік. — Цей стрій допомагає їм економити енергію. Кожен птах, крім провідного, летить у висхідному потоці повітря, що створюється птахом попереду. Коли провідний птах втомлюється, він поступається місцем іншому. Це як програма з ротацією завдань.

Професор Біт дістав з сумки невелику шишку:

Професор показує Алісі шишку з візерунком Фібоначчі

— А ось ще приклад природного програмування. Бачиш візерунок на шишці? Це не випадкові лінії. Луска шишки розташована по спіралі, і кількість цих спіралей завжди відповідає числам Фібоначчі — особливій математичній послідовності.

— Числа Фі... що? — перепитала Аліса.

— Фібоначчі, — повторив Професор. — Це послідовність чисел, де кожне наступне число дорівнює сумі двох попередніх: 1, 1, 2, 3, 5, 8, 13... Природа використовує цю послідовність скрізь — у розташуванні пелюсток квітів, гілок дерев, навіть у формі галактик!

Байт підняв із землі осінній листок:

— А дерева? Вони теж слідують програмі?

— Звичайно! — підтвердив Професор. — Кожної осені листя змінює колір і опадає, а навесні виростає нове. Це сезонний цикл. А всередині дерева є умовні алгоритми: "ЯКЩО мало води, ТО скинь частину листя, щоб зменшити випаровування".

Аліса широко розкрила очі:

— Виходить, уся природа працює як величезний комп'ютер!

— Певною мірою, так, — погодився Професор. — Тільки природа "програмувала" свої творіння мільйони років через еволюцію.

Він підняв погляд на крони дерев і тихо прочитав:

Спочатку — хаос, буря й грім,
Вогонь, що вирував у нім.
Та в цьому полум'ї і млі
Код народився на землі.

Скрутившись у спіраль, як нить,
Він вчився існувати й жить.
У шумі хвиль і у вітрах,
В зелених молодих гілках.

Весна малює новий цвіт,
А літо гріє цілий світ,
Осіння щедрість — наче плід,
Зима ж ховає все під лід.

Із року в рік, із віку в вік
Прискорює свій час облік.
Природа пише точний код,
Щоб захистити від негод.

Не на екрані світить він,
Цей код — основа всіх клітин.
Письменник-час — це програміст,
А світ — немов порожній лист.

Помилки? Здасться лиш на мить,
Що щось неправильно біжить.
Та кожен збій дає життя
Новому виду в майбуття.

І ось фінал — ти тут, живий!
Твій код — це спадок віковий.
Ти — візерунка світла мить,
І код цей у грудях горить!

— Дивовижно, — прошептала Аліса, розглядаючи візерунки на листках. — Я ніколи не думала, що природа може бути так схожа на комп'ютерну програму.

— Природа — найкращий програміст з усіх, — підморгнув Професор. — Її програми вдосконалювалися мільярди років!

Логік розправила крила:

— І ще одна важлива річ, Алісо. Як і в програмуванні, у природі все взаємопов'язане. Зміна одного параметра може вплинути на роботу всієї системи.

— Ніби я припустилася помилки в коді? — запитала дівчинка.

— Саме так! — кивнув Професор. — Наприклад, якщо температура на планеті зміниться лише на кілька градусів, це може призвести до зміни багатьох природних "програм" — термінів міграції птахів, цвітіння рослин, танення льодів.

Байт, який увесь цей час вивчав мурашник, раптом вигукнув:

— Професоре, дивіться! Мурахи перебудовують свої стежки! Хтось поклав гілочку поперек їхньої доріжки.

Всі підійшли до мурашника. Справді, маленькі трудівники швидко знаходили обхідний шлях навколо перешкоди.

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

— А я знаю ще один приклад! — вигукнула Аліса. — Мій кіт Рудий! Коли приходить час обіду, він завжди треться об ноги й нявкає. Це теж програма?

— Ти права, — посміхнувся Професор. — Це поведінковий алгоритм: "ЯКЩО хочеш їсти І господар вдома, ТО нявкай і трися об ноги, ПОКИ не отримаєш їжу". Тварини інстинктивно слідують таким алгоритмам.

— А що з рослинами? — запитала Аліса, дивлячись на високі дерева. — Вони ж не можуть рухатися, як тварини.

— Але у них є свої дивовижні програми, — відповів Професор. — Візьмемо соняшник. Ти помічала, що він завжди повертається до сонця?

— Так! Моя бабуся вирощує соняшники, і вони ніби стежать за сонцем протягом дня.

— Це явище називається "геліотропізм", — пояснив Професор. — Соняшник запрограмований реагувати на світло і повертати свої листки та суцвіття до джерела світла. А тепер уяви, що ми запишемо це як комп'ютерну програму:

Соняшник і алгоритм геліотропізму: Професор, Аліса і Байт

text
ПОВТОРЮВАТИ КОЖНУ ГОДИНУ:
ВИМІРЯТИ напрямок найяскравішого світла
ЯКЩО поточний напрямок суцвіття != напрямок світла:
ПОВЕРНУТИ суцвіття до світла

— Ого, я розумію цей код! — здивувалась Аліса. — Це ж так просто!

— Вірно, — кивнув Професор. — Багато природних програм можна описати простими алгоритмами, хоча їх реалізація може бути дуже складною.

Логік вказала крилом на небо:

— А тепер давайте подумаємо про найбільшу природну програму — зміну пір року. Це класичний приклад циклу в природі.

— Точно! — підхопив Професор. — Земля обертається навколо своєї осі і одночасно рухається навколо Сонця. Це створює цикли дня і ночі, а також сезонні цикли.

— Як у пісеньці про рік? — запитала Аліса. — "Зима змінюється весною, весна — літом"?

— Абсолютно вірно! Це нескінченний цикл, який повторюється знову і знову. У програмуванні ми називаємо такі цикли "нескінченними", і вони можуть виглядати приблизно так:

text
ПОКИ Земля_існує:
ВИКОНАТИ зима()
ВИКОНАТИ весна()
ВИКОНАТИ літо()
ВИКОНАТИ осінь()

Байт раптом завмер зі спантеличеним виглядом:

— А що, якщо б у природній програмі була помилка? Як у комп'ютерних програмах?

Професор задумливо потер підборіддя:

— Цікаве питання, Байт. У природі теж трапляються "помилки" — наприклад, мутації в ДНК. Іноді вони шкідливі, іноді нейтральні, а іноді... призводять до появи нових можливостей і навіть нових видів! Природа використовує ці "помилки" як частину процесу еволюції — своєрідної програми покращення програм.

— Значить, еволюція — це як оновлення програмного забезпечення? — запитала Аліса.

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

Аліса уважно оглянулась навколо, ніби бачила парк вперше:

— Тепер я буду дивитись на природу зовсім по-іншому. Як на величезну бібліотеку програм!

— Ось чому багато сучасних технологій натхненні природою, — додала Логік. — Вчені та інженери часто вивчають природні алгоритми, щоб створювати кращі технології.

— Це називається "біомімікрія", — пояснив Професор. — Наприклад, літаки створені за принципом польоту птахів, липучки-застібки винайдені після вивчення реп'яха, а багато алгоритмів штучного інтелекту імітують роботу нейронів у мозку.


Завдання

1. Обери, за ким спостерігатимеш: тварина, птах, комаха чи рослина (можна за вікном, у парку або за чітким фото чи відео).

2. Дивись близько 15 хвилин і записуй у зошит: що повторюється знову і знову? Чи змінюється поведінка від сонця, вітру, звуку чи людей поруч?

3. Склади короткий список спостережень — достатньо 5–7 фраз.

4. Спробуй оформити це як «природний алгоритм» словами з розділу: ЯКЩО …, ТО …, ПОВТОРЮВАТИ, ПОКИ (не обов’язково ідеально — важливо, щоб було зрозуміло, що спочатку, що потім і що повторюється).