« Excitation propagation model » : différence entre les versions

De Assothink Wiki
Aller à la navigation Aller à la recherche
Contenu ajouté Contenu supprimé
Aucun résumé des modifications
Ligne 111 : Ligne 111 :
As a result numerous EPMs are allowed and should be tested.
As a result numerous EPMs are allowed and should be tested.


==== Parameters ====
==== Parameters ====


Some numerical (real values) parameters affect the behavious of the EPM
Some numerical (real values) parameters affect the behavious of the EPM


*fuzzy propagation factor (''fuzzyfactor'')
*fuzzy propagation factor (''fuzzyfactor'')
*node exctinction factor (''nodefactor'')
*node exctinction factor (''nodefactor'')
*link excitation erosion factor (''linkfactor'')
*link excitation erosion factor (''linkfactor'')
*average node excitation value (''excAver'')
*minimal node excitation value (''excMin'')

<br>


==== Functions ====
==== Functions ====

Version du 1 novembre 2012 à 17:08

Definition

The excitation propagation model (EPM) is a component in the Assothink global model.

It is the dynamic part of the global model.

It defines how excitation is propagated across concepts during propagation cycles.

It is described in this page.

What EPM does NOT cover

This page is about a propagation model. It describes how the jelly works, but not how it has been built. The jelly construction is described elsewhere, in the resourceBuilder part of Assothink.

This page is about a propagation model on concepts. It does not handle words (percepts, variants, linguistic issues...).

This page is about a model. It does not discuss implementations modes (hardware and software issues) which are discussed elsewhere. All assothink architectures are typically organized to implement the EPM.

Components: jelly, nodes and links

The EPM describes nodes and links.

 A large set of connected nodes and links form a jelly.

Nodes and links are all excitable.

Nodes

One may think of a node as a excitable representation of a concept.

One may think of a node as a (far) equivalent of a neuron.

The formal representation of a node includes:

  • an excitation level, highly dynamic (excit)
  • a set of incoming links (inLinks[i])
  • a set of outgoing links (outLinks[i])
  • a set of connecting links (conLinks[i])

There is at least 1 incoming link.

There is at least 1 outgoing link.

Nodes know (are in touch with) links, only links. Nodes do not know directly other nodes.

Nodes are known (accessible) by components external to the EPM. These external components may

  • read node excitation levels
  • modify excitation levels using external signals

Links

One may think of a link as something linking concepts.

One may think of a node as a (far) equivalent of an axone or a dendritis.

The formal representation of a link includes:

  • an excitation level, highly dynamic (excit)
  • a permeability (value from 0 to 1), static of slowly dynamic (permea)
  • a signal (outgoing) (signal)
  • an incoming node (inNode)
  • an outgoing node (outNode)
  • a set of connecting nodes (conNodes[i])

Link are defined statically: their definition and values are not modified during or between cycles. Permeability figures are occasionnaly updated, but only when cycles are suspended or not started.

A link is fuzzy when its permeability is non zero.

A link is qualified when teh set of connecting nodes is not empty.

A link has to be either fuzzy or qualified. It may be both.

Links are nit bidirectionnal. It is possible to have one link from node A to node B, and another link from node B to node A: the two links are separated and independent.

Links know (are in touch with) nodes, only nodes. Links do not know directly other links.

Links are normally not directly known by components external to the EPM.

Excitation

Excitation values are scalar.

They range from 0 to 1.

The excitation is never negative.

The excitation goes up to (approximatively) 1, where it cannot grow (saturation effect).

Permeability rules

Permeability figures are positive or null.

Given all outgoing links of a given node, the sum of their permeability values is 1.

Note : For practical reasons linked to data structure, permeabilities are often represented by integer values ranging from 1 to 16384, i.e. 16384 times their real value.

External excitation source

As a side component of the EPM, nodes excitation may be modified (increased or decreased) by external sources.

The external signal may be punctual in time, or have some duration.

Many EPMs are possible

An EPM includes various functions and parameters that may be arbitrarely chosen, although they must satisfy some constraints.

This define the qualitative behaviour of the EPM.

As a result numerous EPMs are allowed and should be tested.

Parameters

Some numerical (real values) parameters affect the behavious of the EPM

  • fuzzy propagation factor (fuzzyfactor)
  • node exctinction factor (nodefactor)
  • link excitation erosion factor (linkfactor)
  • average node excitation value (excAver)
  • minimal node excitation value (excMin)


Functions

The functions (used in the propagation cycle, see below) are:

  • The node excitation rule Fne()
  • The link excitation rule Fle()
  • The outgoing signal rule Fos()

Propagation cycle

The propagation cycle includes several steps performed cyclically.

Step 1 external input

Node excitation are modified (increased, possibly decreased) by external sources.

Step 2 node excitation update

During this step, node excitation are updated according to signal from incoming links.

(node) excit(t+dt) = nodefactor * excit(t) + Fne(inLinks[i].signal, ...i...)

Step 3 node excitation normalization

Node excitation are all modified by the same scaling factor, in order to reach a target value for the average node excitation level.

During this step, saturation effects are also handled: the resulting node excitation may not exceed (approximatively) 1.

Step 4 link excitation update

Foar each link having connecting nodes, the excitation level is updated according to excitation levels from connecting nodes

(link) excit(t+dt) = linkfactor * excit(t) + Fle(conLinks[i].excit, ...i...)

During this step,  saturation effects are also handled: the resulting link excitation may not exceed (approximatively) 1.

Step 5 signal computation

The outgoing signal is build from local excitation, incoming node excitation and local permeability

(link) signal = Fos(excit,inNode.excit,permea,fuzzyfactor)

OBSOLETE : Fuzzy propagation rule

The fuzzy propagation uses a table of couples {concept, permeability}. Each concept node has such a table. This table is static. It is not changed during successive cycles. For each concept node, the sum of the permeabilties of its table is 1.


For each target node in the table, the INP value of the target node is increased as:

INPtgt += PERM * FUZZYFACTOR * EXCsrc

OBSOLETE : Qualified propagation rule

Let EXCsrc be the excitation of the source node, and let EXCcon be the excitation level of the connecting node.

The INP value of the target node is increased as:

INPtgt += EXCsrc x EXCcon x (EXCsrc + EXCcon) / (EXCsrc2 + EXCcon2)

This function was carefully chosen.

Note that if

f(a,b) = a.b.(a+b)/(a2+b2)

then

f(a,b) = f(b,a)
f(a,0) = f(0,b) = 0
f(a,a) = a
f(a,b) < max(a,b)

Discussions and comments

Sizing

A good jelly should include 105... 106... 107... nodes, and 106... 107... 108 links.

Asymptotic effect

Nodes and links exchange signals and see their excitation levels evolve.

After a large number of cycles, one may expect to see an asymptotic state stabilized.

This is especially true if there is no more external input, or when external input is itself stable.

Another hypothesis would be to see chaotic effects. Instead of an asymptotic state, the system would show a sequence of very different states, probably cycling. But this should be considered as a pathologic situation for an EPM, resulting from bad choices for parameters or functions.

Focus and resonance effect

At a given time, most nodes and most links have few or no excitation.

A limited number of nodes and links are highly excited, and their excitation is maintained by resonance effect in the jelly network.

As a result only a small proportion of the nodes and links perform significant computations (signal handling) whereas most of them mostly handle operations which may be considered as 0+0=0.

The proportion of active nodes is likely to be 10-2, 10-3 or maybe even less.

Implementation and focus effect

The focus effect should be considered as critical when analyzing possible implementations.

On highly parallel systems, with millions of simple processor units working for 1 node or 1 link, the focus effect has no significant impact on speed, because inactive nodes and links doe not slow down active nodes and active links.

On serialized system (one of few CPUs), and on serialized emulation software, node cycles and link cycles are processed sequentially. Thus inactive nodes and links might require 99%... 99.9% of the processing power, and this has a dramatic effect on cycling speed. In this case it is necessary to set up prioritization rules for nodes and links, in order to give more processing capacity to active nodes and links. This is especially true for steps 4 and 5, occuring within links.

Emulation software

Emulation software is just one of various possible architectures.

The emulation library provided for this is in epm.java and in epm.c.

They both strictly implement the above computations, and they also include montoring functions and reporting functions.