Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A distributed implementation for the Growing Neural Gas algorithm
Erlang Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
DATAPLOT
oldversions
API
Makefile
Pipe
PseudoCode
README.md
ciao.dat
cluster.dat
coo_reader.erl
coo_reader.erl.bak
coo_writer.erl
coo_writer.erl.bak
data.dat
engine.erl
engine.erl.bak
erlang.xml
err_man.erl
err_man.erl.bak
example.erl
example.erl.bak
experiment.dat
hi.bla
hilo.dat
input_gen.erl
input_gen.erl.bak
int.dat
log
max_man.erl
max_man.erl.bak
mutex
node.erl
node.erl.bak
nodes.png
plotter
starter.sh
treegrowing
treegrowth.erl
treegrowth.erl.bak
un2
uni.dat
win_man.erl
win_man.erl.bak
writing.erl
writing.erl.bak

README.md

An distributed implementation of the Growing Neural Gas algorithm

An Erlang implementation that adds distribution and parallelization to the famous algorithm from "A growing Neural gas Network Learns Topologies" by Bernd Fritze.

How it works

The algorithm is decomposed in 3 main task: – Winner election – Neighbourhood updates – Error analysis and network Growth

Two different tree strucutres connect the nodes and work in parallel: – win_man, performing the winner election. – err_man, performing the max_error decision and controlling the tree growth

These two trees will always have the same network representation. err_man performs the addition or deletion of leaf nodes and intermediate nodes. Every time this happens this is communicated to win_man which will update its structure accordingly.

Requirements

  • Erlang
  • gnuplot
  • linux

Usage

Something went wrong with that request. Please try again.