Сейчас начал читать “Determined” Роберта Сапольски. Смотрю, у него там в какой-то главе впереди (еще не дочитал до туда) есть отсылка к Cellular automata. И я понял, что я забыл поделиться интересной находкой — книжкой “Новый вид науки” Стивена Вольфрама. Я еще в начале года ее купил и где-то на 60% прочитал.
“Новый вид науки” — это объемный том более тысячи страниц, рассматривающий все, от физики до биологии и нейронауки. Его автор, Стивен Вольфрам, доктор физико-математических наук, является создателем и основным автором научного ПО Mathematica ну и wolframalpha тоже его. Став почти невероятно богатым, он посвятил свою интеллектуальную карьеру исследованию того, что происходит, когда простые правила применяются к ячейкам на плоскости или пространстве.
Он обнаружил, что даже такие простые правила, как “если квадрат справа черный, будь черным, а если белый, будь белым”, при миллионном повторении могут породить удивительно сложные структуры. Для человека эта сложность плохо укладывается с простотой правил, потому что везде в нашем мире на первый взгляд оно не так: простые правила порождают простое, а сложные правила — сложное. То есть, главная его идея, что часто простые правила могут порождать очень сложные результаты.
По сути, в нас так ДНК работает. Ведь ДНК это программа, которая на вход получает а) собственно программный код — последовательность аминокислот б) результат предыдущего выполнения (ферменты, плавающие в клетке и подавляющие некоторые фрагменты программного кода, а также некоторое начальное состояние ферментов, плавающее в яйцеклетке мамы). В итоге, через 10 итераций один и тот же программный код рождает структуры, которых до десяти итераций просто не существовало. А условной на сотой итерации включается что-то еще. И рассчитать, что там включится, если в начале что-то пойдет слегка не так — какого-то фермента в нужный момент не будет в клетке, вообще нереально. Это делает генетику очень сложной областью.
У Вольфрама есть для таких штук целая система. Например, дял простого алгоритма – выбираем цвет клетки в следующей итерации на основе цвета клетки текущей итерации и цветов клеток-непосредственных соседей. Такие правила формулируются как 8 трансформаций три бита в один, что дает по сути программу, которой достаточно 8 бит для полного описания ее логики. Эти 8 бит и определяют программу. Например, правило Rule 22, которое может быть сформулировано так: каждая клетка в следующем поколении будет черной, если ровно одна из её двух соседних клеток или она сама черные в текущем поколении. Так вот, если запустить это правило супротив некоторого начального состояния, то строка за строкой на протяжении миллионов и миллиардов поколений будет формироваться случайный узор, состоящий из больших и маленьких треугольников, которые одновременно и случайны, и нет. Самое интересное, что предсказать это по начальному состоянию и по правилу нельзя — по крайней мере, наука не знает как, и сделать какие-то выводы можно только запустив симуляцию и разглядывая результат. Например, может оказаться, что где-то на миллиардном поколении узор начнет повторяться. Или не начнет. Или вылезет какая-то хитрая трапеция в узоре, которой еще не было. Или вообще после определенного шага все схлопнется в полностью белый или черный фон.
Но что интересно, что вот эта сложность детерминирована с самого начала. По сути, число (правило) + начальная комбинация определяет бесконечные терабайты получившегося узора. Немного меняешь правило или начальную комбинацию, и меняется вообще все на что-то другое, но также детерминированное.
Кстати, почти 100% из находок Вольфрама поняли бы даже в древней Греции, и ничего не мешало в той же Древней Греции это сформулировать и передать следующим поколениям. Но только почему-то за тысячи лет не было ни одной попытки. Только в 20 веке стали потихоньку копать тему. Ну вот попробуйте придумать любую другую ветвь науки, которая теоретически могла бы быть придумана в Древней Греции, а придумана только сейчас.
Вот в книге он анализирует биологию этих получившихся существ, и даже неплохо их систематизирует. Выделяет какие-то общие характеристики — те же треугольники в паттерне, хотя ни он, ни другие не могут объяснить откуда они там берутся.
В общем, книжка очень занимательная.
Теперь про странности.
Вольфрам утверждает, что это новый способ заниматься наукой: вместо математического моделирования физических процессов ученые могут просто наблюдать за компьютерно сгенерированными паттернами, которые точно моделируют явления. И что во многих случаях это открывает новые горизонты. Ну эмм это спорно. Ну ок.
Еще немного раздражает стиль речи “одно из самых важных открытий, которое я сделал”. Это практически в каждой главе. Нужно признать, что тема, которую Вольфрам запустил в 2002 что-ли году этой книжкой, уже давно была в ходу, но никто ее так, как он не систематизировал. И нужно признать, что с 2002 года она тоже особо не популярна среди ученых. Возможно, что глубже, чем Вольфрам, копать там особо нечего, а может быть его так все не любят, что никто не хочет ее трогать 🙂
Так что, без сомнения, эта книга должна безумно раздражать практиков индустрии, которые, читая её, кажется, практически не существуют по сравнению с самопровозглашенным великолепным умом господина Вольфрама. Иногда это почти переходит в пародию. Я еще со школьных времен помню программирование “Игры жизни” Конвея и конечно тогда был поражен, откуда, черт возьми, берется информация для описания всего этого. Но согласно г-ну Вольфраму, он был первым, кто так подумал. То есть, конечно он ссылается на Конвея, но так, неохотно, обложив все ссылки хвалебными стейтментами про себя самого. Возможно, Вольфрам действительно самостоятельно совершил множество открытий и помог оживить этот предмет, но даже если это так, он должен больше признавать заслуги других в своих текстах и не хвастаться тем, какой он умный парень.
Книжка, кстати, лежит в публичном доступе — Вольфрам ее выложил на своем вебсайте, хорошо приспособив для веба. В бумажной версии она тоже удивительно недорогая. Так что если вдруг интересуетесь — советую глянуть и составить собственное мнение.
