SOG/ISOM Applet Usage
What the heck is this applet doing?
If you don't have any idea what this applet is doing please return to
the
Self-Organizing Graph homepage and
have a look at one of the papers referenced there.
Quick Start
If you just want to play around,
here is what to do. Just go back to the
applet page, hit the start button, sit back and
watch. You can hit the stop button anytime to
interrupt the applet. Use the initialize button to reinitialize the
learning algorithm and restart with the start button.
If you want to see other canned examples you can load some by entering
a valid example name in the "input" field and hitting the "load" button.
Current examples are:
- circle
- double-ring
- double-square
- double-triangle
- example3
- example4
- free-tree
- K6-fullscreen (will only work if your browser/appletviewer
allows to resize the applet window to aprox. 1000 x 700)
Each example will initially load with a finished layout and preset
parameters. You can generate a random layout with the
"scramble" and "shake" buttons and generate a new layout by pressing
"initialize" and then "start".
If you don't understand how to
set the applet parameters properly, it is quite likely that
it will not really do what you expect it to do...
So it might be a good idea to continue reading.
Full Instructions
You need to have read at least one of the papers referenced
on the
Self-Organizing Graph homepage to fully understand what the
meaning of the parameters mentioned in the instructions is.
Here is a snapshot of the applet
Entering a new graph can be done in two ways:
you can either draw a graph manually or load it from
a file. Since this is a Java 1.0.X applet you can only load a file
that resides on the server, so you might have to download the applet
to use this function.
While the algorithm is running, some colors are used to indicate the
current role of the nodes.
The small jumping black dot indicates the current input stimulus.
The winner node is colored red and the topological neighborhood that
is updated is colored brown.
Yellow nodes remain unchanged in the current epoch.
The controls in detail:
- Graph-Editor Modes: The check-boxes on the right-hand side control the
interaction mode of the graph editor. Their function should be obvious.
- In +node mode a new graph node will be generated
with every
mousclick in the layout area. The node label will be the text in the
input field at the time of the mouse-click.
- In -node mode every node on which a mouse click
is issued will be deleted.
- In +edge mode new edges are drawn. The mouse must first
clicked over the "from" node, then over the "to" node.
(Currently all edges are undirected).
- In -edge mode edges can be deleted by first
clicking on the one adjacent node, then on the other node.
- The area mode is different. It allows to define the
active area for input stimuli according to the shape of the
input area currently selected in the controls window. This is simply
done by dragging the mouse while pressing button-1. Caution: Pressing the
initialize button will reset the area to the largest area
possible. When this mode is selected, the active input area will be
indicated by a thin black frame in layout window.
- Algorithm controls:
- Buttons:
- Scramble: Generates a random layout of the current graph.
- Shake: Applies a single random jump with the probability
and maximum jump length defined in the parameter controls to
every node.
- Start: Starts or restarts the learning/layout algorithm
(without initializing).
- Stop: Stops or interrupts the learning/layout algorithm.
- Initialize: Resets all algorithm paramters to the values
given in the parameter control window. Also reset the stimulus area
to the maximal area possible in the current window and with the
correct shape.
- Save: "Saves" the current graph with layout and paramters.
Since this is a Java 1.0.X applet, real saving is not possible. Instead
a textual description which can be stored in a savefile and loaded again
is written to the Java console.
- Load: Loads a new graph and its layout parameters from an
ascii-file with the structure that is generated by "save".
Since this is a Java 1.0.X applet all load-files must reside on the same
server (and in the same directory) as the applet code. So you may have to
download the applet if you want to use this funtion. The filename of the
load-file must be entered in the "input" field before pressing the button.
Entering an invalid filename or leaving the filename
blank and then pressing "load" can be used clear the editor window.
- Controls: Opens the parameter
control window or brings it to the foreground.
- Checkboxes:
- Clip: If this box is checked, only nodes in the currently active
stimulus area (see above) will be updated. Nodes outside the stimulus area
remain unchanged even if they belong to the relevant topological neighborhood.
- Taboo: (Obsolete) For testing taboo areas. When this box is checked
each node updated will be checked for violation of another node's taboo
area as defined in the parameter controls. If it penetrates a foreign
taboo area it will bounce back along its update trajectory just to the border of
this taboo area. This mode was used to test how a simple
(and relatively inexpensive) taboo check would behave which is not
required to be complete. This functionality does not seem to improve the
layout.
- Random Jumps: (Obsolete) While this box is checked a single random
jump with the probability
and maximum jump length defined in the parameter controls is applied
to every node in each epoch. This was used to test whether the system
could be driven to a different attactor by using random jumps.
(Note: There is no cooling used for the random jump probability, but the
functionality can be switched on and of interactively while the
algorithm is running.)
This functionality does not seem to improve the
layout and is obsolete.
- Trace:If checked trace information about current radius,
current adaption factor, and epoch number is generated in the Java console
window while the algorithm is running.
- Input Field: Used for various interactive text inputs in conjunction
with functions such as generating a new graph node (enter the
label here) or loading a file (enter the filename here).
The other window is the parameter control window.
Here is a snapshot of this window which consists of one
pop-up selector and a number of sliders described below.
- Distribution: Slects the shape of the active area for input
stimuli. The area proper is defined interactively by using the area mode
of the graph editor in the main window.
- Max. Epochs: The number of epochs (stimuli) after which the
learning is stopped.
- Max. Radius: The initial radius of the topological neighborhood to
be updated.
- Min. Radius: The minimum radius of the topological neighborhood to
be updated at which the narrowing is stopped.
- Narrowing Interval: The number of epochs (stimuli) for which the
radius is held constant.
- Max. Adaption: The initial adaption factor alpha.
- Min. Adaption: The minimum adaption factor alpha at which the
cooling is stopped.
- Cooling Factor: The cooling factor c.
- Taboo Size: (Obsolete) The size of the taboo area around each node in pixel
(see above)
- Max. Jump Radius: (Obsolete) The maximum length of
a node's random jump (see above).
- Temperature: (Obsolete) The probability of a node to
perform a random jump (see above).
- Delay: Applies a delay of X msecs. between sucessive epochs so that
the animation can be watched more easily.
Caution: On some older JVMs setting
the delay to 0 msec. might cause threading problems.
Take me back to the applet page.
updated 2/8/98 Bernd Meyer