Это были не просто красивые фракталы, а настоящее программирование.
По сути мы на фестивале исполняли код на графовой вычислительной машине. Упрощённую версию которой я перенёс в браузер и показывал. Графовая машина работает через подстановку подграфов в графе. Она эквивалентна по мощности машине Тьюринга, лямбда-исчислению или комбинаторам. Так как шаблоны и замены это тоже графы, она универсальна. В отличие от лямбд, здесь не любой граф является правилом вывода. Но любое правило вывода выразимо через граф. Графы направленные, могут быть с циклами.
Конкретно фракталы получаются, если в правиле в правой части (замене) есть подграфы из шаблона, разнесенные хотя бы одним ребром с узлами следующего поколения. Поколения узлов нужны для корректной замены подграфов в ширину, чтобы основной граф эволюционировал равномерно.
К слову, на такой эволюции графов даже есть физическая теория всего https://www.wolframphysics.org/
У графов много преимуществ по сравнению со строками или деревьями в контексте перезаписи, но есть и слабые места в виде поиска изоморфного подграфа и комбинаторного взрыва. Именно эти места я и оптимизирую в своём проекте.
Post #610
640



- 🔥 7
- ❤ 5