Requirements
Requirements for JFCM library are quite simple:
- Java Runtime or JDK 1.5 (also known as 5.0) and above;
- Jakarta Commons Lang 2.4. Previous version of 2.x branch should work, but have not been tested yet; of course volunteers are always welcome!
Disk occupation is very small: less than 30 KB for the library jar, plus 256 KB for commons-lang.jar (version 2.4).
Memory and algorithmic performance
When it comes to graphs usually there are to main choices for data structure: adjacency matrices and adjacency lists. The choice have fallen on the latter (adjacency lists), mainly because of memory consumption; adjacency lists indeed use less memory of adjacency matrices when the graph is sparse.
Moreover, adjacency lists are used also to store information about incident connections, so the memory cost is effectively doubled.
The core (and most expensive) algorithm of the evaluation phase is in the activate() method of BaseConceptActivator class:
[O(1) operations] for each input connection accumulate output end for [more O(1) operations] call to protected method internalActivate()
As you can see the overall time performance is influenced by the average number of incident connections to a concept.
- Login to post comments
-
