Table of contents
System requirements: Windows XP and onwards.
OVideo v.5.0 is based on the essential functionalities of OtoomCM. Despite its complex behaviour the interface is simple. The program represents a simulation of mind dynamics. The main matrix nodes stand for the neurons in the brain, the element matrix nodes for the protein formations inside each neuron, the connections between the main matrix nodes simulate the dendrites, and the processing algorithm acts as the neurotransmitters across the synapses with their own combinatorial variance.
In- and output can be treated as its equivalents in the brain, such as sensory input via the relevant organs and/or data sources, and output from the brain to muscles and other receptors and/or external devices.
In terms of chaos-type attractor relationships the principle dynamics are the same; in the brain they are based on the electro-chemical states and their mutual influences within the wetware, in OVideo the means are integers which get processed through the algorithm (for the details see The AI matrix).
The purpose of OVideo is to show that even only accessing the node states of the AI system provides the means for a variety of displays based on the states themselves, without linking the system to any outside devices (see Further references -> OWorm for a previous example of just that). Input is provided through a webcam, and the screen display shows either the state of the output nodes or the similarities between the inner matrix nodes, in other words, their affinity relationships.
Like its predecessors the program is restricted to linear processing.
Technical changes from OtoomCM: OVideo has been written in C# under the .NET framework, thereby enabling the operating system to take advantage of threading through multiple processors. The .NET environment also enhanced the program's interoperability on various Windows-based platforms including hardware devices. Since C# uses Int32 integers as opposed to 2-byte integers under C/C++ in OtoomCM, the chaos-inducing algorithm (see The AI matrix) had to be slightly modified to accommodate 4-byte numbers. Separate arrays were used for the matrix-related data containers rather than the pointer structures employed previously.
Overall data flow
The video stream from the webcam is diverted to the AI matrix where it is presented to its input nodes. The output nodes send their data to rejoin the video stream in the form of bitmaps for display on the screen.
The illustration below shows a main matrix with 5 rows and 4 columns (a 5x4 main matrix), where each node consists of an element matrix with 3 rows and 2 columns (a 3x2 element matrix).
Data to the input nodes (blue) is sent to the inner matrix nodes (green) in accordance with the level of connectivity used in setup. Inner matrix nodes process the data across their own connections and through the algorithm which induces attractor-type behaviour. From the inner matrix nodes the data, ie. the nodes' representative states, are sent to the output nodes (red).
Some general comments
As can be seen from the setup screen all the parameters have maximum limits (see A sample run).
While the arrays needed for using the matrices have their in-built checks in case they use too much memory, another factor is processing time.
Since OVideo runs in linear mode (and not in parallel mode) larger configurations are accompanied by an exponential increase in calculations.
To demonstrate the problem, take the following maximum values:
main matrix rows
and columns: 50
This means that there are 2,500 main matrix nodes, each matrix node is connected to 2,304 other nodes and in itself consists of 2,500 element nodes, there are 98 input nodes and 98 output nodes to be accessed in total, and a 50% connectivity means each inner matrix node is linked to 1,152 other nodes within the inner matrix.
That's the starting point for calculating the total number of nodes at the 10th level of connection depth, where each inner matrix node is a parent node connected to 1,152 child nodes (== connection level 1), each child node is connected to another 1,152 child-child nodes (== connection level 2), and so on.
All in all it means that over 23,731,476,392,729,300,000,000,000,000,000,000,000 integers need to be processed by the algorithm (see A sample run).
In order to work out the affinity relationships between the nodes the entire amount has to be processed once again in order to establish the comparative values.
Clearly, parallel processing is the way to go - which is of course what happens in nature. Consider further that a simple sea slug possesses approximately 20,000 neurons (our main matrix nodes here), but the human brain has around 100,000,000,000 neurons. At that point we can expect what we understand by intelligence.
Despite all that, in principle the cognitive dynamics can be observed even at that low level of configuration (see Further references for all the details).
... and one more thing:
There may be users who look at the affinity relations and ask themselves, "So what?"
It's a reasonable question if one is not familiar with the program and especially with the phenomenon of chaos in nature.
What the screen demonstrates, particularly when the setup configuration lies at the higher end of the scale, is the interaction between the members of a system (in this case the matrix) as they play the role of attractor within the framework of interdependent relationships.
Driven by the same principle (the program's algorithm) they are constantly subject to enhancing and/or mitigating influences which either expand their influence or diminish it.
The content of those influences (in this case integers) is really besides the point.
The influence is positive if there exists an affinity between its representative member (a node) and its target; it will be negative if the degree of affinity is surpassed by some other. There is no other rule.
In principle this is what happens among the brain's neurons, giving rise to the system of mind and its conscious, but most of all, subconscious manifestations in terms of thought structures and patterns.
The description of the algorithm and its sample output (see The AI matrix > Processing) tells us what happens to the integers. When it comes to the entire system however the first impression could be almost misleading. Rather than following a seemingly haphazard trajectory the value of any number only changes under particular conditions. Mostly the overall effect of a multitude of chaos-type outcomes is not unpredictable at all; together they produce a solid fabric of mutual relationships that only the destruction of a sufficient number of participating elements can undo. Just how strong that fabric actually is can be gleaned from the innate stability of organisms which stood the tests of time - not only measured in generations but millennia. The perturbations are confined within highly stable patterns; for example, no oak tree is exactly the same as any other, but never amongst the many millions of them did a single - healthy - one escape their template. Evolution does occur, but only in terms of a multilateral shift of affinity relationships. Seen from this perspective the label 'chaos' is effectively a misnomer.
Therefore the little ellipses on the screen portray the constantly changing representative states of complex, dynamic systems, albeit on a tiny scale.
Users who are sufficiently familiar with chaos and the dynamics of its attractors to internally visualise such a system and, because of their familiarity can do so almost on an intuitive level, will see much more than the little dots changing their colour and size. They will perceive an abstract rendition of life, played out through a complex weave of mutual relationships that never stand still.