Iconic numbers can be expressed as networks suitable for a fine-grain silicon implementation. Network numbers have a top and a bottom. Addition is connecting top-to-top and bottom-to-bottom. Multiplication is connecting bottom-to-top. The Image shows the binary simplification rule for these numbers. Two wires, which represent two units, become one wire with a loop. The loop stands in place of a doubler (shift-right in a hardware register). Network numbers follow the same rules as unit ensemble arithmetic with binary depth-value. The binary iconic calculator follows the same evaluation sequence but with numbers expressed in the container variety of iconic arithmetic. Decimal networks are illustrated at the end of the page. The following content is updated from a 1987 internal whitepaper I wrote at Advanced Decision Systems.
Network numbers are a formal redefinition of the concept of number. Rather than being inert objects that are operated upon, network numbers are active objects that compute themselves. This is a fundamental refocusing of the concepts of object and operator. Rather than building arithmetic from easily stated and relatively useless numerical objects coupled with computationally intensive operators, network numbers are active objects that dynamically compute their value coupled with easily stated and relatively inert operators. Adding and multiplying network numbers is a trivial process. Addition is independent of the magnitude of the numbers being added; multiplication requires at most
The computational effort in using network numbers is in determining the value of a network number rather than in adding or multiplying them. Reading a network number is strongly parallel and is more efficient than traditional computation. Reading a value is
This video shows that the binary number
Binary 14 in one, two and three dimensions
A boundary number has a top and a bottom. We will call the bottom of a network number the bot. The magnitude of the number,
The network top and bot bound a parallel computational space. The wires form a network of connectivity that represents the value of a number. This network can be converted into a standard form that can be recognized as a conventional binary value by the network top.
The parallel standardization process is rather like compiling the network representation. Standardization is desirable for input and output, and for resource management during transformation. Standardization minimizes the effort of reading a network number. Here are the standardized network numbers from
The standardization process uses the same two operations implemented in the binary iconic calculator, Group and Merge. The Group operation transforms a pair of simple connections into a binary multiplier represented by a loop. The Merge operation combines loops that share the same bot. Merging generalizes to any number of rings at the same time, and it is independent of the base. In the textual notation of depth-value unit ensembles, the two standardization operations are
In the notation of network numbers, these rules are
Both Group and Merge apply to any level in the boundary number, not just the top and bot, and all operations can occur in parallel.
Here is an animation showing the simple binary group operation.
Group two wires
Here is an animation showing the simple merge operation.
Merge any number of rings
In the following animation the two operations are put together to standardize four unit wires.
Standardize four wires
The same network number has many different representations, that is, many different networks of connectivity. The example shows several different networks for the number
A network number reader would return the same conventional number for each representation. There is only one canonical minimal form, the lower right form above. Successive application of Group and Merge will produce the minimal form. Standardization rules can be applied in parallel since every node is top to its lower neighbors and every node is bot to its upper neighbors. The above eight representations of
Reading Network Numbers
To read a network number, start at the bot (the most deeply nested unit). Passing upward through a loop (crossing a boundary outward) doubles the value of the current upward tally (i.e. the lower network). When two subnetworks branch out from a common loop, their values add when the subnetworks reach the top. For example, to read the network form of the number
The process is the same for base-10, except that the grouping operation collects ten units to form one ring.
In iconic arithmetic, the operations of addition and multiplication are achieved simply by putting numbers together. For network numbers, putting together side-by-side achieves addition, while putting together bot-to-top achieves multiplication. In computational terms, changing two pointers is sufficient to perform each elementary operation.
Addition is implemented by merging tops with tops and bots with bots. Any number of additions can occur at the same time.
Here is an animation showing
Add 7 and 5
Negative numbers are defined by reversing top and bot. When tops and bots are connected, networks then have a gradient. Networks flowing upward (bot to top) are positive, networks flowing downward (top to bot) are negative. Subtraction is then the addition of networks with gradients. One additional standardization rule is necessary, the network analogy of the unit Cancel rule.
Characteristic of iconic notation, the canceling pair disappears completely. The network notation for the Cancel transformation is
Multiplication is implemented by joining tops with bots. This is achieved simply by stacking the network numbers. Removing the combined top/bot bar achieves multiplication of the upper number by the lower number. Stacking is a form of substitution, for which the outputs of the top bar for the lower number gets connected to the inputs of the bot bar for the upper number.
When there is more than one wire attached to the top or bot bar, the multiplied networks must be cross-connected. To cross-connect, connect all top wires of the lower network to all bot wires of the upper network. The complete cross-connection of one network with another is a physical model of the Multiplicative Principle, that each unit/wire in one group is converted into an entire other group.
As an example, the following two animations show
Multiply 7 by 5
Multiply 5 by 7
Reading a network number involves traversing all available paths. The cross-connected wiring generated by multiplication is in factored form. By separating the multiple connections, the factored form is converted into the polynomial form of the product. Cross-connection is thus a succinct embodiment of what must be done to multiply polynomials (of which numbers area subcase).
In conventional notation,
Obviously the commutativity, associativity and identity rules of conventional algebra are not relevant to the network model. The inverse rule for addition is expressed by a network gradient. The distributive rule for network numbers is the Merge operation.
which would be written in symbolic form as
The variables in the algebraic networks stand in place of any network of connectivity between top and bot. That is, any network can be inserted in place of a network variable, just like any symbolic expression can be inserted in place of a symbolic variable.
In the network model, a form at any level can propagate up the network, exchanging positions with other forms. Whenever the moving form encounters a branch, to continue to propagate upwards, the form must be replicated once for each upward path. This is another form of network distribution.
Network number notation provides an elegant representation of the binomial theorem (i.e. the powers of sums):
The right-hand-side represents eight paths from bot to top. One path passes through
Finally, abutting and stacking network numbers provides a new perspective on the Sum and Product (i.e. factorial) operations.
Although the network model was not designed for decimal computation, decimal networks can be constructed using the same principles as binary networks. The primary difference is that rings group ten unit connections. There is also a pragmatic difference. Grouping must be extended to include the sums of digits (commonly called the addition tables). The examples below show addition and multiplication of decimal networks.
Here is a larger addition,
Next is a larger multiplication. The first figure shows
The next figure shows