Моделювання складних систем у Python
Передмова
Не дивлячись на очікувані прогнози стати 21-му століттю століттям біології (за аналогією з 20-м століттям фізики), з легкої руки геніального британського астрофізика Стівена Гокінга (Stephen William Hawking, 1942-2018) його безумовно можна вважати століттям складності. Дійсно, виявилось, що складні системи різної природи проявляють схожі паттерни складності і можуть бути схарактеризовані універсальними міждисциплінарними кількісними методами і алгоритмами. Свідченням тому є Нобелівська премія з фізики 2021 р. “за новаторський внесок у наше розуміння складних фізичних систем” була присуджена італійському фізику Джорджіо Паризі “за відкриття взаємозв’язку безладу та флуктуацій у фізичних системах від атомного до планетарного масштабів” і японсько-американському кліматологу Шюкуро Манабе та німецькому вченому Клаусу Гассельманну “за фізичне моделювання клімату Землі, кількісну оцінку мінливості та надійне прогнозування глобального потепління”.
Незважаючи на те, що визначення складних систем історично широко обговорювалося, навряд чи зараз існує широка згода щодо єдиного конкретного визначення: складна система утворена багатьма взаємодіючими елементами, які породжують явища, що виникають [1]. Однак при цьому залишаються невизначеними деякі терміни. Наприклад: скільки елементів достатньо для відображення складних емерджентних явищ? Цікаво, що ця кількість може бути великою, як кількість нейронів і синапсів у мозку людини, але також може бути відносно невеликою: мінімальна клітина також утворена лише кількома сотнями генів і вже жива. З цих прикладів стає зрозуміло, що справжня складність і нові явища вимагають ряду елементів, які можуть бути дуже далекими від великих чисел, які зазвичай розглядаються у фізиці (кількість молекул в молі газу визначається числом Авогадро, тобто приблизно \(6 \times 10^{23}\)). Здається дуже загальноприйнятою ідея, що складність виникає внаслідок конкуренції між випадковістю та порядком і що топологія складної системи за своєю суттю пов’язана з певною часткою випадковості в мережі взаємодій між її елементами (так званий, мережний підхід) або за знаком їх взаємодії (підхід спінового скла).
Точкою відліку, яку часто цитують у контексті колективних ефектів складних систем, є стаття “More is different”, написана Філіппом Андерсоном (1923-2020) [2], лауреатом Нобелівської премії з фізики 1977 р. Наука про складні системи розглядає способи, якими складові частини породжують колективну поведінку цілої системи. Однак виявилось, що така інтерпретація має обмежену корисність, оскільки охоплює занадто широкий набір обставин.
Історично деякий час тому у фізиці з’явився інший більш корисний крок у визначенні складних систем: система є складною, якщо її поведінка суттєво залежить від її деталей [3]. У цьому контексті маються на увазі такі явища, як детермінований хаос, квантова заплутаність, згортання білків, спінові стекла тощо. Колективна складна поведінка може виникати під впливом фрустрації та структурного безладу. Як наслідок, важко досягти стану рівноваги, реакції на зовнішні збурення повільні і дуже часто випадкові. Такі різні явища вивчаються в різних областях фізики: динамічні системи, квантова механіка та статистична фізика. Їх спільною рисою є те, що нескінченно малі зміни початкових умов (хоча й дуже різної природи) призводять до кардинально різних сценаріїв часової еволюції цих систем.
Є другий компонент, важливий для визначення складних систем. З одного боку, взаємодії між складовими частинами призводять до колективної поведінки та визначають макростан, але з іншого боку, взаємодії змінюються в ході еволюції системи та піддаються впливу макростану. Іншими словами, макростан і мікростани динамічно оновлюють один одного. Аналіз таких ефектів призвів до створення методів і розвитку концепцій, які були успішно застосовані для опису формально подібних явищ, що відбуваються в хімічних, біологічних, соціальних та інших системах, утворених агентами нефізичного походження.
Незважаючи на вражаючий прогрес науки про складність, якого було досягнуто за останні 50 років, ми все ще далекі від повного розуміння складності, оскільки ще не визначили необхідні умови для того, щоб система відображала складні емерджентні явища. Наприклад, ми досить далекі від повного розуміння роботи мозку. У результаті цього галузь може виглядати фрагментованою в порівнянні з іншими більш традиційними науковими галузями, наприклад, фізикою. Для вирішення проблеми складності нам дійсно потрібно досліджувати різні аспекти складних систем, і ми повинні прийняти відкриту точку зору, яка здатна описувати та прогнозувати дані складних систем, уникаючи попередньо визначених догм зверху вниз.
Наука про складність також є ключовою для розуміння та прогнозування еволюції великих пандемій та для інформування політиків та широкої громадськості про ризики поширення епідемії. Дійсно, мережна наукова спільнота вже задовго до Covid усвідомлювала небезпеку глобальних пандемій, які використовують переваги безмасштабних глобальних транспортних систем. На жаль, пандемія застала більшість країн зненацька, оскільки плани на випадок надзвичайних ситуацій насправді не були готові до епідемії такого масштабу, як Covid-19. Для моніторингу розвитку цієї пандемії та будь-якої майбутньої пандемії вчені, ймовірно, поєднають велику кількість даних про соціальну мобільність із моделями прогнозування, які є ключовими для моніторингу пандемії та інформування політиків, незважаючи на багато невизначеностей щодо біологічної еволюції вірусів.
У майбутньому прогрес на стику між складністю та біологією стане ключовим для досягнення настільки необхідних успіхів у прецизійній медицині. Ця велика складна проблема вимагатиме справді міждисциплінарного підходу, який поєднує мережну науку, машинне навчання та штучний інтелект з молекулярною біологією та неврологією. Дійсно, в той час як біологія в останні десятиліття широко застосовувала одномолекулярний підхід або значною мірою покладалася на центральну догму молекулярної біології, тепер добре визнано, що більшість захворювань є складними, і для розуміння цих захворювань важливо прийняти складність і неоднорідність взаємодіючих мереж клітини. Нарешті, найближчим часом складність стане ключовою для створення фундаменту для квантового Інтернету, який вимагатиме поєднання прогресу квантової інформації з нашим розумінням класичних складних комунікаційних систем, таких як поточний Інтернет.
Іншим важливим викликом щодо надійності мережі є дослідження мозку, оскільки мозок, безсумнівно, є надійною складною системою, однак дуже важливо розуміти, як на його функцію впливають захворювання. Щоб відповісти на це питання, я вважаю, що нам потрібно прийняти стохастичну природу мозкової активності та отримати подальше розуміння взаємодії між функціями мозку та топологією мозкової мережі. Завдяки фундаментальним досягненням науки про мережі ми вже знаємо, що стійкість мереж до випадкових пошкоджень сильно залежить від статистичних властивостей мережі. Дійсно, безмасштабний розподіл ступенів мереж різко змінює фазову діаграму перколяції, демонструючи критичну поведінку, яка різко відрізняється від перколяції на регулярних решітках або на випадкових графах. Ці результати були ключовими для розуміння взаємодії між основною мережною структурою складних систем та їх динамікою.
Прогнозування складних систем є складним завданням і, звичайно, обмежене повсюдною нелінійністю їх динаміки. Проте за останні двадцять років було досягнуто важливого прогресу в прогнозуванні складних систем (наприклад, безпрецедентний прогрес у прогнозуванні поширення епідемії). Покращення потужності прогнозування складних систем здебільшого пов’язано з великою кількістю даних, доступних для розробників моделей, і важливим прогресом, якого може досягти наука про складність у поєднанні з наукою про дані та штучним інтелектом (ШІ). Підтвердженням цьому є революційні зрушення у матеріалознавстві [4] чи фінансах [5].
Підвищення наших можливостей прогнозування складних систем, які врешті-решт поєднають мережну науку, науку про дані та алгоритми штучного інтелекту, є справді ключовим для різноманітних застосувань, зокрема для забезпечення можливих сценаріїв зміни клімату. Однак потужність простих моделей для розуміння складних систем має надзвичайно важливе значення для інтерпретації результатів: прості моделі можуть не охопити всі деталі складних систем, але дозволяють зрозуміти та приборкати складність, що може мати вирішальне значення при розробці кращих алгоритмів ШІ. Теорія спінового скла вчить нас, що модель, яка насправді є досить простою (лише додавання випадкової суміші позитивних і негативних взаємодій до моделі Ізінга в повністю зв’язній мережі), може бути вже дуже складною.
Методам моделювання складних систем присвячені наші попередні монографії та навчально-методичні посібники, орієнтовані на систему комп’ютерної математики Матлаб [6-9]. З урахуванням домінування Python у прикладних дослідженнях складних систем поява даного посібника на думку авторів є виправданою.
У навчальному посібнику висвітлюються основні теоретичні та інструментальні аспекти моделювання складних систем різної природи з використанням інтерактивного веб-додатку Jupyter Notebook. Для дискретних даних у вигляді часових рядів розроблено і адаптовано сучасні міждисциплінарні методи кількісної оцінки складності: (мульти-)фрактальний, рекурентний, інформаційний, ентропійний та ін. види аналізу. Запропоновано відповідні міри складності. Показано, що більшість із них можна використовувати у якості індикаторів чи передвісників критичних або кризових явищ у складних системах.
Посібником зможуть скористатися як здобувачі другого (магістр) рівня вищої освіти спеціальності 014 Середня освіта (Фізика та астрономія; Інформатика; Математика; Природничі науки), так і інших спеціальностей закладів вищої освіти, наукові працівники й особи, які цікавляться методами моделювання складних систем.
Дана онлайн-книга буде часто оновлюватись і редагуватись. Її вміст є вільним для використання. Метою авторів даної книги було забезпечення:
- доступності вивчення моделювання складних систем різної природи та складності;
- можливість постійого оновлення даної книги, що дозволяє динамічний характер покращення мови програмування Python і web-інтерактивного середовища Jupyter Notebook.
Читачам рекомендується посилатися як на цю книгу, так і на дотичні до неї джерела, коли вони використовують викладені тут методології та ідеї. При цитуванні слід дотримуватися точності деталей, особливо URL-адреси, щоб спрямувати читачів до правильної Інтернет сторінки.
Нижче наведено один із варіантів цитування:
Соловйов В.М., Бєлінський А.О. (2023). Моделювання складних систем у Python: Навчально-методичний посібник для самостійного вивчення дисципліни. Черкаси: Видавець О.Ю. Вовчок https://butman2099.github.io/Complex-systems-book/
Посилання
- Bianconi G. et al Complex systems in the spotlight: next steps after the 2021 Nobel Prize in Physics (2023) J. Phys. Complex. 4 010201 https://iopscience.iop.org/article/10.1088/2632-072X/ac7f75
- Anderson P.W. More is different. New Series, Vol. 177, No. 4047. (Aug. 4, 1972), pp. 393-396. https://cse-robotics.engr.tamu.edu/dshell/cs689/papers/anderson72more_is_different.pdf
- Holovatch Y., Kenna R., Thurner S. Complex systems: physics beyond physics (2017) Eur. J. Phys. 38 023002. https://doi.org/10.1088/1361-6404/aa5a87
- Merchant A. et al. Scaling deep learning for materials discovery (2023) Nature. Vol 624 (7 December 2023), pp.80-90. https://doi.org/10.1038/s41586-023-06735-9
- Chu, Z., Guo, H., Zhou, X., Wang, Y., Yu, F., Chen, H., Xu, W., Lu, X., Cui, Q., Li, L. and Zhou, J., 2023. Data-centric financial large language models. arXiv preprint arXiv:2310.17784. https://doi.org/10.48550/arXiv.2310.17784
- Соловйов В. М. Математична економіка: навч.-метод. посіб. для самостійного вивч. / В. М. Соловйов. – Черкаси: Видавництво ЧНУ ім. Б. Хмельницького, 2008. – 136 с. http://elibrary.kdpu.edu.ua/handle/0564/1049 https://doi.org/10.31812/0564/1049
- Дербенцев В. Д. Синергетичні та еконофізичні методи дослідження динамічних та структурних характеристик економічних систем: монографія / В. Д. Дербенцев, О. А. Сердюк, В. М. Соловйов, О. Д. Шарапов. – Черкаси: Брама-Україна, 2010. – 300 с. http://elibrary.kdpu.edu.ua/handle/0564/1045 https://doi.org/10.31812/0564/1045
- Ганчук А. А. Методи прогнозування: навчальний посібник / А. А. Ганчук, В. М. Соловйов, Д. М. Чабаненко. – Черкаси: Брама-Україна, 2012. – 140 с. http://elibrary.kdpu.edu.ua/handle/0564/1186 https://doi.org/10.31812/0564/1186
- Соловйов В. М. Моделювання складних систем : навчально-методичний посібник для самостійного вивчення дисципліни / В. М. Соловйов, О. А. Сердюк, Г. Б. Данильчук. – Черкаси: Видавець О. Ю. Вовчок, 2016. – 204 с. http://elibrary.kdpu.edu.ua/handle/0564/1065 https://doi.org/10.31812/0564/1065