DANN:Hyperassociative Map
From Syncleus Wiki
A Hyperassociative Map is a new type of algorithm that organizes an arbitrary graph of interconnected nodes according to its associations to other nodes. Once a new Hyperassociative Map has been associated and aligned nodes that are most closely associated will be closest to each other. This can be used to determine how similarly associated two nodes are to each other. Since the algorithm doesn't depend on the immediate neighbors of a node, similarity will still be matched even when such similarity exists several degrees of separation from the nodes.
Contents |
Practical Example
| Description | An Artificial Intelligence Library written in Java. |
| Last Activity | Today |
| License | OSCL Type C |
| IRC Room | #dANN on irc.freenode.org |
| Homepage | dANN |
| Distributions | Binary ZIP w/JavaDoc Binary Tarball w/JavaDoc Source ZIP Source Tarball |
| Documentation | Javadoc repository Javadoc for GIT master Javadoc for stable release |
| Development | git://git.syncleus.com/dANN.git TRAC Bug Tracking Hudson Continuous Integration |
| Mailing Lists | dANN Announcements dANN Development Syncleus Announcements |
In case you are still not following, we will provide a few examples of how you might want to use a Hyperassociative Map. One possible dataset would be the various topics (pages) represented in wikipedia. One could represent Wikipedia as a Hyperassociative Map where each topic/page is a node in the map and each link from one topic to another would be an association between their respective nodes in the map. Once this is entered into a Hyperassociative Map and then aligned it would be possible to calculate the similarity between two topics as well as see how well covered a particular category of topics is covered. For example the topic regarding dolphins and whales would be relatively close on the Hyperassociative Map; the nodes for dolphins and spiders would be slightly farther away; the nodes for dolphins and helicopters would be on opposite sides of the map. Similarly all the nodes on wildlife would be clustered in the same general region of the map and all the nodes on aircraft would also be clustered in its own region of the map. In this way one can quantify the similarity of the various nodes as well as how well covered the various topic categories are.
Underlying Algorithm
At this point you should have a good understanding of what a Hyperassociative Map is and the kind of problems it can be used for. We want to explain now exactly how it works, specifically, how the map aligns itself.
The algorithm is based on the idea of repulsive and attractive forces between nodes. These forces are designed that over time the various nodes reach an equilibrium till they settle into their final positions. The forces between nodes are different depending on if the two nodes are associated or non-associated.
Unlike other force-based algorithms like the spring algorithm no kinetic energy is retained between steps. The forces are applied for each step, new positions of each node is calculated but the kinetic force isn't retained between steps. This means the nodes have no apparent momentum and allows them to settle to their equilibrium point without oscillation.
Unassociated Nodes
Unassociated nodes always exert a repulsive force against each other as an inverse square of their distance; the farther two nodes are from each other the weaker the repulsive force will be on an exponential scale. The formula for calculating the repulsive force between two unassociated nodes is as follows:

where:
x = Distance between nodes
Associated Nodes
Associated nodes exert a combination of repulsive and attractive forces amongst one another depending on whether they are farther or closer than the equilibrium distance. This is done such that the nodes always want to try to reach their equilibrium distance.
If two nodes are closer together than the equilibrium distance then they exhibit a repulsive force against each other according to the arc hyperbolic tangent. Another words the repulsive force approaches infinity as the distance between nodes approaches 0 and the repulsive force approaches 0 as the distance approaches the equilibrium distance.
If two nodes are farther apart than the equilibrium distance than they exert an attractive force on each other which is the square of their distance past the equilibrium distance. Another words the attraction gets stronger the farther away two nodes are on an exponential scale.
The function representing the force between two associated nodes can be represented by the following equation:

Where:
E = Equilibrium distance
x = Distance between nodes
Screenshots
Here are some screenshots of the Hyperassociative Map after it has finished aligning for various problem sets:
















