* Implement subnetworks assignations algorithm with tests
* Remove main block
* Make shrinking work
* Fix tests, add random increasing decreasing test
* Adapt docs
* Reorg functions
* Cleanup
* Typos
* Add randomness to balance subnetworks
* Fit tests and adapt documentation
* Define shuffling
* Naming fixed
* Raise error on too small network