🆓 Безкоштовні глави
Глава 2 з 3
1: Світ програмування навколо нас
Розділ 2: "Програми природи"
Аліса, Професор Біт і Байт розташувались на галявині в парку. Був теплий весняний день, і навколо них кипіло життя.
— Алісо, ти виконала завдання з командами для Байта? — запитав Професор, розкладаючи на траві невеликий мікроскоп.
— Так! — радісно відповіла дівчинка. — Хоча спочатку у мене вийшов не квадрат, а якась дивна фігура. Я забула вказати, на скільки кроків Байт повинен рухатися.
Професор Біт кивнув:
— Відмінне спостереження! У програмуванні дуже важливо бути точним. Але знаєш, не тільки люди пишуть програми. Подивись навколо — природа сповнена програм, які працюють мільйони років!
— Природа? — здивувалась Аліса. — Але ж у лісі немає комп'ютерів і програмістів.
Логік, що сиділа на гілці найближчого дерева, спустилась нижче:
— У природі програми записані не в комп'ютерах, а в ДНК — молекулах, які є в кожній живій клітині. ДНК містить інструкції для всього живого.
Професор дістав з кишені маленький проектор, і на білому аркуші з'явилось зображення подвійної спіралі.
— Це ДНК, — пояснив він. — Уяви, що це величезна книга рецептів. У ній записано, якого кольору будуть твої очі, як влаштоване твоє серце, і навіть коли квіти повинні розкривати свої пелюстки!
Байт раптом оживився і вказав на групу мурах, що рухаються ланцюжком:
— Дивіться! Мурахи слідують програмі!
Аліса присіла, щоб краще розглянути маленьких трудівників:
— Вони всі йдуть по одній доріжці. Ніби хтось намалював їм лінію.
— Правильно помічено, — сказав Професор. — Мурахи слідують простому алгоритму. Коли мураха-розвідник знаходить їжу, він повертається в мурашник, залишаючи після себе спеціальний запах — феромон. Інші мурахи відчувають цей запах і йдуть по ньому. Чим більше мурах проходить по доріжці, тим сильніший запах і тим більше мурах його відчуває.
— Це як... цикл! — здогадалась Аліса. — Чим більше мурах йде по шляху, тим сильніший шлях, і тим більше мурах по ньому йде!
— Саме так! — зрадів Професор. — Природа використовує цикли, умови та інші прийоми, які ми знаходимо в програмуванні.
Логік вказала крилом на пролітаючий зграю птахів:
— Подивись на цих птахів. Як ти думаєш, чому вони летять клином?
Аліса пожала плечима:
— Напевно, так їм зручніше?
— Правильно, — кивнула Логік. — Цей стрій допомагає їм економити енергію. Кожен птах, крім провідного, летить у висхідному потоці повітря, що створюється птахом попереду. Коли провідний птах втомлюється, він поступається місцем іншому. Це як програма з ротацією завдань.
Професор Біт дістав з сумки невелику шишку:
— А ось ще приклад природного програмування. Бачиш узор на шишці? Це не випадкові лінії. Луска шишки розташована по спіралі, і кількість цих спіралей завжди відповідає числам Фібоначчі — особливій математичній послідовності.
— Числа Фі... що? — перепитала Аліса.
— Фібоначчі, — повторив Професор. — Це послідовність чисел, де кожне наступне число дорівнює сумі двох попередніх: 1, 1, 2, 3, 5, 8, 13... Природа використовує цю послідовність скрізь — у розташуванні пелюсток квітів, гілок дерев, навіть у формі галактик!
Байт підняв з землі осінній листок:
— А дерева? Вони теж слідують програмі?
— Звичайно! — підтвердив Професор. — Кожну осінь листя змінює колір і опадає, а весною виростають нові. Це сезонний цикл. А всередині дерева є умовні алгоритми: "ЯКЩО мало води, ТО скинь частину листя, щоб зменшити випаровування".
Аліса широко розкрила очі:
— Виходить, вся природа працює як величезний комп'ютер!
— У якомусь сенсі, так, — погодився Професор. — Тільки природа "програмувала" свої створення мільйони років через еволюцію.
Код Життя
На початку — хаос, сплеск і грім,
Вогнем киплячий водоймище.
Але в цьому полум'ї і мглі
Народжувався код у живій землі.
В спіралі скрученій, як нитка,
Він навчився бути і жити.
В узорах хвиль, в кільці вітрів,
В паростку, що тягнеться без слів.
Помилки? Лише на перший погляд —
Вони кують нестійке,
Але в них зберігається цінний скарб,
Він перетворює все на затишок
І ось результат — ти тут, живий!
Твій код, як зоряне світло, незгасимий.
Ти — частина узору, частина шляху,
І цей код — у твоїй грудях
— Дивовижно, — прошептала Аліса, розглядаючи узори на листках. — Я ніколи не думала, що природа може бути так схожа на комп'ютерну програму.
— Природа — найкращий програміст з усіх, — підморгнув Професор. — Її програми відлагоджувались мільярди років!
Логік розправила крила:
— І ще одна важлива річ, Алісо. Як і в програмуванні, у природі все взаємопов'язане. Зміна одного параметра може вплинути на роботу всієї системи.
— Як якщо б я допустила помилку в коді? — запитала дівчинка.
— Саме так! — кивнув Професор. — Наприклад, якщо температура на планеті зміниться лише на кілька градусів, це може призвести до зміни багатьох природних "програм" — термінів міграції птахів, цвітіння рослин, танення льодів.
Байт, який увесь цей час вивчав мурашник, раптом вигукнув:
— Професоре, дивіться! Мурахи перебудовують свої стежки! Хтось поклав гілочку поперек їх доріжки.
Всі підійшли до мурашника. Справді, маленькі трудівники швидко знаходили обхідний шлях навколо перешкоди.
— Ось це адаптивний алгоритм в дії, — пояснив Професор. — Мурахи не тільки слідують програмі "іди за феромоном", але й здатні перебудовувати свої дії при зміні умов. Це схоже на те, як сучасні програми вміють підлаштовуватись під різні ситуації.
— А я знаю ще один приклад! — вигукнула Аліса. — Мій кіт Рудий! Коли приходить час обіду, він завжди треться об мої ноги й нявкає. Це теж програма?
— Ти права, — посміхнувся Професор. — Це поведінковий алгоритм: "ЯКЩО хочеш їсти І господар вдома, ТО нявкай і трися об ноги, ПОКИ не отримаєш їжу". Тварини інстинктивно слідують таким алгоритмам.
— А що з рослинами? — запитала Аліса, дивлячись на високі дерева. — Вони ж не можуть рухатися, як тварини.
— Але у них є свої дивовижні програми, — відповів Професор. — Візьмемо соняшник. Ти помічала, що він завжди повертається до сонця?
— Так! Моя бабуся вирощує соняшники, і вони ніби стежать за сонцем протягом дня.
— Це явище називається "геліотропізм", — пояснив Професор. — Соняшник запрограмований реагувати на світло і повертати свої листки та суцвіття до джерела світла. А тепер уяви, що ми запишемо це як комп'ютерну програму:
ПОВТОРЮВАТИ КОЖНУ ГОДИНУ:
ВИМІРЯТИ напрямок найяскравішого світла
ЯКЩО поточний напрямок суцвіття != напрямок світла:
ПОВЕРНУТИ суцвіття до світла— Ого, я розумію цей код! — здивувалась Аліса. — Це ж так просто!
— Вірно, — кивнув Професор. — Багато природних програм можна описати простими алгоритмами, хоча їх реалізація може бути дуже складною.
Весна малює перший штрих,
Вплітає літо в шовк галявин,
А осінь ховає світло в сухих
Листках, що кружаться, граючи.
Зима заковує в лід
Покрив і трави, і струмки,
І в склянках цих дрімає код
Щоб весною зацвісти
Вчора схожий на узор,
З року в рік, від роду в рід
Між ними невидимий спорт тече
І вдосконалюється код,
Але не пером і не рукою —
Письменник-час, програміст.
Закони світла, пітьми земної
Запрограмовані в життя.
Логік вказала крилом на небо:
— А тепер давайте подумаємо про найбільшу природну програму — зміну пір року. Це класичний приклад циклу в природі.
— Точно! — підхопив Професор. — Земля обертається навколо своєї осі і одночасно рухається навколо Сонця. Це створює цикли дня і ночі, а також сезонні цикли.
— Як у пісеньці про рік? — запитала Аліса. — "Зима змінюється весною, весна — літом"?
— Абсолютно вірно! Це нескінченний цикл, який повторюється знову і знову. У програмуванні ми називаємо такі цикли "нескінченними", і вони можуть виглядати приблизно так:
ПОКИ Земля_існує:
ВИКОНАТИ зима()
ВИКОНАТИ весна()
ВИКОНАТИ літо()
ВИКОНАТИ осінь()Байт раптом замер з озадаченим виглядом:
— А що, якщо б у природній програмі була помилка? Як у комп'ютерних програмах?
Професор задумливо потер підборіддя:
— Цікаве питання, Байт. У природі теж трапляються "помилки" — наприклад, мутації в ДНК. Іноді вони шкідливі, іноді нейтральні, а іноді... приводять до появи нових можливостей і навіть нових видів! Природа використовує ці "помилки" як частину процесу еволюції — своєрідної програми покращення програм.
— Значить, еволюція — це як оновлення програмного забезпечення? — запитала Аліса.
— У якомусь сенсі, так, — розсміявся Професор. — Тільки це оновлення відбувається дуже повільно, протягом багатьох поколінь.
Аліса уважно оглянулась навколо, ніби бачила парк вперше:
— Тепер я буду дивитись на природу зовсім по-іншому. Як на величезну бібліотеку програм!
— Ось чому багато сучасних технологій натхненні природою, — додала Логік. — Вчені та інженери часто вивчають природні алгоритми, щоб створювати кращі технології.
— Це називається "біомімікрія", — пояснив Професор. — Наприклад, літаки створені за принципом польоту птахів, липучки-застібки винайдені після вивчення реп'яха, а багато алгоритмів штучного інтелекту імітують роботу нейронів у мозку.


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