Безкоштовно

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аліса пожала плечима:

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

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

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

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

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

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

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

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

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

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

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

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

Код Життя

На початку — хаос, сплеск і грім,

Вогнем киплячий водоймище.

Але в цьому полум'ї і мглі

Народжувався код у живій землі.

В спіралі скрученій, як нитка,

Він навчився бути і жити.

В узорах хвиль, в кільці вітрів,

В паростку, що тягнеться без слів.

Помилки? Лише на перший погляд —

Вони кують нестійке,

Але в них зберігається цінний скарб,

Він перетворює все на затишок

І ось результат — ти тут, живий!

Твій код, як зоряне світло, незгасимий.

Ти — частина узору, частина шляху,

І цей код — у твоїй грудях

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Весна малює перший штрих,

Вплітає літо в шовк галявин,

А осінь ховає світло в сухих

Листках, що кружаться, граючи.

Зима заковує в лід

Покрив і трави, і струмки,

І в склянках цих дрімає код

Щоб весною зацвісти

Вчора схожий на узор,

З року в рік, від роду в рід

Між ними невидимий спорт тече

І вдосконалюється код,

Але не пером і не рукою —

Письменник-час, програміст.

Закони світла, пітьми земної

Запрограмовані в життя.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Иллюстрация

Иллюстрация

Ще одне завдання з книги

Його виконують без вікна з кодом: у зошиті або в полі нижче. Уважно прочитай текст — у кожній главі завдання своє.

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

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

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

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