Platform for testing:
log base 2 of 1000 is 9.965784 x 1000 = 10,000 searches compared to 1000 x 1000 = 1,000,000.
Entry : using a quad tree as a neural network.
Before: Creating all the child quads at once.
15% faster with lists for data and child quads. Quad resolution is good with capacity = 1.
With a capacity of one, and modifying the quad tree to transfer ownership (Max).
Genetic models don't use back propagation!
Food for thought!
Using Log base 2 for heights:1 = 0, 2 = 1, 4 = 2, 8 = 3
Order information (sequence) is gained.
Free Avoidance using quad tree heights (depths). Just UP and Down commands for air traffic control for drones. Capacity is 1.
Air Traffic Control: first view
100 balls avoiding each other using quad tree. Lots of movement though!
Using a quad tree with capacity = 1, one quad is created for each ball, as the quad tree is re-initialized each frame. As each ball is inserted into the quad tree, the order of insertion determines the quad tree level and the size of the quad. The top level quad is initialized to "screen size", empty with capacity = 1. The first ball matches the top level quad, and is added to it. The second ball first matches the top level quad (all balls will). It finds that it's at capacity (1), and creates a quarter size quad in the quadrant that it matches at second quad level. The third ball, depending on its location, will match the top level quad finding it full, tests the quadrant that it matches. If a sub-quad already exists, the ball tries to join it. If the matching sub-quad doesn't exist, one is created for that quadrant and joined.
A new quad is created empty with no points joined to it. With capacity = 1, each quad can only hold one ball. Therefore, 1000 balls will create 1000 quads, with capacity = 1. Each quad is created by a "parent" quad, is one quarter its parent's size. Each quad can have up to four children or sub-quads. Each quad can also be associated with one ball (capacity = 1).
If we associate quad level with height, we see capacity = 1 means that there will be only one ball per quad level. The height can be the safe vertical distance between balls at speed.
Top view: every ball maintains its course.
Side View: 1000 balls avoiding each, side view: interesting. Level height can be 3 times ball/drone height, for example. Information Loss: each quad starts from scratch. Up Down movements can be optimized to minimize level changes.
In plan, everything is 100%. The vertical movement (up / down) needs to be tracked per individual.