comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: "accessibility check failed" on Node
Date: Thu, 27 Jun 2013 09:49:54 +0200
Date: 2013-06-27T09:49:54+02:00	[thread overview]
Message-ID: <5m42cze63eb5.zbsqkhivilnh.dlg@40tude.net> (raw)
In-Reply-To: kqfrrv$lsb$1@news2.open-news-network.org

On Thu, 27 Jun 2013 01:01:19 +0200, Thomas Schmidt wrote:

> I'm new to Ada. I'm trying to write some kind of neural net software. 
> Therefore I've written a small library to implement the neural graph. 
> All nodes are collected in a Hashed_Set. Neurons are specialized Nodes 
> of the graph.

I don't think that is a good approach. I have a comparable project which
deployed fuzzy decision trees. DT's are not really trees but rather
directed graphs. The properties of such graphs are much alike to ones of
NN's. E.g. layers, waterfall navigation upon classification etc.

Building a hash function for nodes of such a graph is a problem. Especially
if you want to factor out repeating subgraphs, which I did because I had a
huge number of nodes. If the hash function takes into account the edges and
weights, and it should, any modification of the graph will kill it.

As others have pointed out, do not use anonymous access types.

On top of that. You should carefully design the strategy of memory
collection. It will have a great impact on how easy or difficult would be
to implement graph management operations, especially in a concurrent
environment when many tasks access the graph, e.g. one does training,
another pulls the MVC's model of the GUI, third does storing it into the
persistent storage.

For my project I used reference counting with weak and strong references
and cloning shared nodes upon update.

P.S. I am afraid one cannot do it in a simple way without much upfront
design, and then gradually evolve it to deal with complicated issues like
above.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  parent reply	other threads:[~2013-06-27  7:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-26 23:01 "accessibility check failed" on Node Thomas Schmidt
2013-06-26 23:45 ` Shark8
2013-06-26 23:58 ` Jeffrey Carter
2013-06-27  7:36 ` Georg Bauhaus
2013-06-27  7:49 ` Dmitry A. Kazakov [this message]
2013-06-27  8:24 ` Simon Wright
2013-06-27 11:19   ` Thomas Schmidt
2013-06-27 12:49     ` Frédéric Praca
2013-06-27 14:36     ` Eryndlia Mavourneen
2013-06-27 17:31       ` Jeffrey Carter
2013-06-27 17:45         ` Simon Wright
2013-06-27 23:26           ` Randy Brukardt
2013-06-28  0:52             ` Jeffrey Carter
2013-06-27 18:33         ` Eryndlia Mavourneen
2013-06-27 20:31           ` Jeffrey Carter
2013-06-27 23:29             ` Randy Brukardt
2013-06-27 14:51     ` Shark8
2013-06-27 17:29     ` Jeffrey Carter
2013-06-27 10:46 ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox