albedo - is a simple neural cellular automata framework written in C
Neural cellular automata learns to draw digit 3
Nowadays there are many models and architectures of neural networks. But more or less they are all based on very similar principles, such as layers of neurons, weights, bias, etc. But what if we try to rethink neural networks into something more organic? What if we combine neural networks and cellular automata?
Most of the cellular machines have very simple rules, such as Game Of Live, Rule 110 have no more than 4 rules. Despite the small number of rules, very complex behavior emerges in such systems.
Albedo is a cellular automaton (similar to Game Of Live) in which each cell is a separate neuron with 9 connections to neighboring neurons (including itself).
albedo is not a new javascript framework btw !
- Live demonstration of a albedo is coming soon maksasj.github.io/albedo
- Source code avaiable at github.com/Maksasj/albedo
- blueberry.h and other C libraries source code github.com/Maksasj/caifu
-
Build manually First of all requirements:
- Cmake (At least version 3.21)
- Ninja (At least version 1.11.1)
- C++ compiler (Have test with Clang 15.0.5 and GCC 12.2.0)
Firstly lets clone albedo locally(note that you also need to clone all albedo git submodules).
Secondly lets configure our Cmake configuration with
cmake -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release
Finally you can simply build project with cmake
cmake --build build/release
Now somewhere in build directory you can find all builded examples
All examples and demos you can find under examples directory
albedo is free, open source model. All code in this repository is licensed under
- MIT License (LICENSE.md or https://opensource.org/license/mit/)