A discrete grid with embedded truth tables
This presentation will mainly focus on representing the natural numbers N (including zero) in a discrete binary 2-dimensional grid by radial combinations. No formal proofs will be presented since this only is an overview (the proofs are however mostly very simple induction proofs)���Some properties:���*The grid is based on bounded areas rather then points. ��*The grid can ”wander” by combining binary strings ��* Binary strings can represent truth tables internally in the grid. ��* The grid can be mapped onto a Cartesian coordinate system��* The derivative of a binary string representing a path can easily be calculated ��* The normal to a radial combination can be found by adding a 1 to the second most significant bit in a binary string���
* The reverse path given by a set of radial combinations can be found by flipping the most significant bit in ever string �
* Inner parts of the grid can be uniquely addressed by binary strings�
* A grid can be nested within another grid��* There is a potential to let the inner part of the grid be used in multiple ways since each compartment is an area �
Content
Draw a diagonal of length 2r in a quadrant.
Construction
Extend the diagonal with r on either side of the quadrant
Draw an octagon with a diagonal of length 4r
Draw lines from the quadrant to the closest corner on the octagon
Draw an 16-gon with an diagonal of length 6r
Draw lines from the octagons corners to the closest corners on the 16-gon
The procedure can be continued by creating a 32-gon, 64-gon etc.
We denote every created n-gons area as a shell
The first shell will contain 2 compartments, the second shell 4 compartments, the third shell 8 compartments, and so on. Hence the n:th shell will contain 2^n compartment.
We denote arrows that either points to or away from the center as Radial Combinations (RC):
We can achieve a corresponding compartmentalization using circles instead by just letting the corners in each shell define a circle and then remove the corresponding n-gon
Below is another way to represent the same system but such a representation gets very compact and it’s harder to visually represent the different compartments so we avoid this approach for the time being.
Give the compartments in the inner shell the value 0 and 1.
Give the compartments in the next shell the values 0 and 1 alternating in a anti-clockwise manner. Continue this process for the next shells as well, as the animation below shows:
A radial combination from one compartment in the center to an arbitrary compartment will then have an unique address. The radial combination below give the compartment in the fourth shell the unique address (0010)
Let the inner shell represent the number 2^n if there’s a one in that compartment and 0 if compartment is occupied by a 0. Let the next shell represent the number 2^(n-1) if there’s a one in that compartment and 0 if the compartment is occupied by a 0 and so on.
A binary string can represent a naturals number N If we draw a radial combination from to the outer shell
00101 is 5 in dec
All Natural numbers N ranging from 0 to (2^n)-1 can then be represented by radial combinations
Subtraction using two’s complement
4-7=-3
Integers Z can be represented by finding the two’s complement by adding a 1 to the first complement. But we will focus on the natural numbers N in this presentation
Inner rotation of Radial Combination
You can find the 180 degree representation to a given radial combination by flipping the most significant bit in a binary string.
Finding the normal is almost as simple - you just add a one to the second most significant bit. To find the radial combination corresponding to a 45° rotation you add a 1 to the third most significant bit – and so on.
An interesting symmetry is the fact that a binary strings complement can be found using the polarity line as a mirror line. The two’s complement can found by adding a one to the least significant bit to the RC.
Polarity line
Translation and rotation
A discreet grid based on radial combinations representing the natural numbers has many similarities with a polar coordinate system in the way it handle rotation but the key difference is that the polar system use real numbers to represent the direction of an object and is hence a continuous system – a coordinate system based on natural numbers can only describe discreet steps. This is of course a limitation in the sense that an angle in a polar coordinate system will be more exact. But an angle can be arbitrary exact by extending the bound of the natural number by adding more shells.
Rotation
Let a radial combination be fixed. The grid can then rotate x steps around the center, as shown below, so that the radial combination is pointing at an object..
Another option is to rotate a given radial combination so that it points to the object keeping the polarity line fixed.
Polarity line
A path can be described by letting the grid “wander” based on an a set of radial combinations in a vector like manner .
The grid can find it’s way back by flipping the most significant bit in every segment
A normal to a radial combination in a path can be found by adding one to the next most significant bit (you can then find the second normal by flipping the first normals most significant bit).
The path of a discreet wave can be achieved by letting a radial combination oscillating between two numbers step wise as shown below:
"Damped oscillation" can be illustrated by following the path of descending ranges
The path of a star combining rotations and translations in an algorithm
You can get the same result if you want to keep constant polarity
Compartment can be found by using inner Radial Combinations (RC)
Step 1 01000
Step 2 0100
Step 3 010
Step 4 011
RC inner path
Inner grid
Truth tables
A grid can also represent truth tables
The complementary radial combinations will describe the NAND truth value,:
A truth table can also be represented both by inward and outward arrows and have starting and ending point in different shells.
A Boolean function can also wander around.
Possible usage to describe ant path integration that might be useful in biorobotic
Foraging desert ants, Cataglyphis fortis, continually keep track of their own positions relative to home i.e. integrate their tortuous outbound routes and return home along fairly straight routes. Vectors in cartesian or polar coordinate system are usually used to describe this behavior. This presentation present an alternative stepwise discrete binary approach that are much more frugal but perhaps as effective. The simplicity compared to using vectors in a cartesian or a polar coordinate system might be useful in biorobotics. ����
Say that an ant/robot finds food following the route below using a fixed polarity grid. The route can then be described with the following binary strings
The robot/ant can then find it’s way back to the nest by flipping the most significant bit in every string
Alternative paths can be arranged by shifting the order of the binary strings around making different paths from the nest to the food. There are 7!=5040 permutations possible in the example below. Generally n! permutations are possible for a path consisting of n binary strings
Say that the path is blocked by an obstacle. The robot/ant can then bypass the obstacle by rearranging the order of two or many of the remaining binary strings
The complements of the binary string in a path will generate a mirror path
The reflection line can lead the robot/ant to the nest in a straight line
More crossing points on the mirror line can be made by making several alternative paths and corresponding mirror paths.
The ant/robot can use an alternative route if there is an obstacle on the mirror line as shown below
Mapping paths to a Cartesian coordinate system
Given a circle with n-shells. Let the grids center lie in the origin of a Cartesian coordinate system so that the polarity line lies on the x-axes. A rotation in anticlockwise direction from one radial combination to the next will in a given shell then correspond to a 2π/2^n rotation.. The radial combination (0,0,0,0.....n) will correspond to a rotation of half of that, that is to say 2π/2^(n+1)=π/2^n.. We can then use this information to convert to a Cartesian coordinate system by adding a 1 in front of the least significant bit in all radial combinations that describes a path (see next slide).
Example, a rotation from the x-axis to (00000) correspond to a rotation of π/2^5=π/32 as shown below, corresponding to (000001) where 1 has been added:
The positions of the radial combinations can be converted into Cartesian coordinates by adding them up
x=2,725
y=1,023
Position
The derivative of a radial combination can easily be found
Some more speculative ideas�
A grid can be nested within another grid
Truth tables and internal processes inside a grid can hook up to other grids
Processes can be nested
We can make a variant of Conway's game of life by using square binary grids implementing Conway's set of rules. Truth tables can be represented with radial combinations within the grids that might respond to what's happening in surrounding squares and let the internal state of one new born cell mutate depending on the internal state of it’s neighbors.
Conway's game of life
A blinker:
A glider:
The grid can also internally follow the rules of Conway's game of life.
An internal blinker
An And function with an internal blinker.
An interesting property is that leaving the outer shells compartments blank will isolate the oscillator, but the state will altered if the grid come in contact with another grid. The blank third shell isolates the second and inner shell.
Two oscillators can coexist in the same grid. The inner oscillator is shielded from the outer oscillator by the blank compartments in the third shell and the outer oscillator is shielded from the environment by the blank compartment in the outer most shell.
Oscillators within oscillators
Blocks can form complex nested blinkers etc.