diff --git a/.gitea/workflows/copy_documentation.yml b/.gitea/workflows/copy_documentation.yml deleted file mode 100644 index 0d64a0d..0000000 --- a/.gitea/workflows/copy_documentation.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Copy Documentation to webserver - -on: - push: - branches: - - '**' - pull_request: - branches: - - '**' - -jobs: - copy-documentation: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Pause for debug - run: | - echo "Debug container: sleeping for 300s" - sleep 300 - - name: Install Dependencies - run: | - apt-get update - apt-get install -y rsync # Install required packages - - - name: Check volume - run: | - mount | grep /web/nanobrain || true - ls -la /web || true - cat /proc/self/mounts | grep nanobrain || true - ls -la /web/nanobrain; id; stat -c "%u:%g %n" /volume1/web/passer_life/documentation/nanobrain - - - name: Ensure destination exists - run: | - chown -R $USER:$USER /web/nanobrain - - - - name: Copy html folder - run: | - find / -path '*/web/nanobrain/*' - rsync -av --delete Documentation/html/ /web/nanobrain 2>&1 - echo $HOSTNAME - ps aux | head diff --git a/Documentation/html/PasserLifeLogoLeft_300.png.meta b/Documentation/html/PasserLifeLogoLeft_300.png.meta new file mode 100644 index 0000000..8b11a95 --- /dev/null +++ b/Documentation/html/PasserLifeLogoLeft_300.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: a28c69abf4d3b788885249a638c45a79 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/annotated.html b/Documentation/html/annotated.html index 43c78ab..4a9ea0d 100644 --- a/Documentation/html/annotated.html +++ b/Documentation/html/annotated.html @@ -78,7 +78,7 @@ $(function() {
[detail level 123]
- + diff --git a/Documentation/html/class_nano_brain_1_1_memory_cell-members.html b/Documentation/html/class_nano_brain_1_1_memory_cell-members.html index 9154da1..eceba19 100644 --- a/Documentation/html/class_nano_brain_1_1_memory_cell-members.html +++ b/Documentation/html/class_nano_brain_1_1_memory_cell-members.html @@ -85,6 +85,8 @@ $(function() { + + @@ -101,13 +103,13 @@ $(function() { - - + + - - - - + + + + diff --git a/Documentation/html/class_nano_brain_1_1_memory_cell.html b/Documentation/html/class_nano_brain_1_1_memory_cell.html index 865541b..4069a31 100644 --- a/Documentation/html/class_nano_brain_1_1_memory_cell.html +++ b/Documentation/html/class_nano_brain_1_1_memory_cell.html @@ -160,18 +160,6 @@ Public Member Functions - - - - - - - - - - - - @@ -187,6 +175,18 @@ Static Public Member Functions + + + + + + + + + + + +
 NNanoBrainThe Nanobrain namespace
 NUnity
 CBrainThe NanoBrain Unity Componnent
 CBrainA NanoBrain which can be used to control a gameobject
 CClusterPrefabThe Unity ScriptableObject to implement re-usable Cluster Prefabs
 CClusterA Cluster combines a collection of Nuclei to implement reusable behaviour
 CMemoryCellA MemoryCell stored its value for one update
_outputValueNeuronprotected
_outputValueNeuronprotected
ActivationType enum nameNeuron
Activator(float3 inputValue)Neuronprotected
Activator(Vector3 inputValue)Neuronprotected
activatorNeuron
ActivatorBinary(float3 input)Neuronprotected
ActivatorLinear(float3 input)Neuronprotected
AddSynapse(Neuron sendingNucleus, float weight=1)Neuron
biasNeuron
CloneFields(Neuron clone)Neuronprotectedvirtual
CombinatorNeuronprotected
CombinatorNeuronprotected
Combinator(float3 bias, List< Synapse > synapses)Neuronprotected
Combinator(Vector3 bias, List< Synapse > synapses)Neuronprotected
combinatorNeuron
CombinatorProduct()Neuron
CombinatorProduct()Neuron
CombinatorSum()Neuron
CombinatorSum()Neuron
CombinatorProduct(float3 bias, List< Synapse > synapses)Neuronstatic
CombinatorProduct(Vector3 bias, List< Synapse > synapses)Neuronstatic
CombinatorSum(float3 bias, List< Synapse > synapses)Neuronstatic
CombinatorSum(Vector3 bias, List< Synapse > synapses)Neuronstatic
CombinatorType enum nameNeuron
curveNeuron
curveMaxNeuron
void SleepCheck ()
 Check if the neuron is sleeping.
 
float3 CombinatorSum ()
 Sum the synapse outputs together.
 
Vector3 CombinatorSum ()
 Sum the synapse outputs together.
 
float3 CombinatorProduct ()
 Multiply the synapse outputs together.
 
Vector3 CombinatorProduct ()
 Multiply the synapse outputs together.
 
virtual void AddReceiver (Nucleus receiverToAdd, float weight=1)
 Add a new receiver to this neuron.
 
static void Delete (Nucleus nucleus)
 Delete the give neuron.
 
static float3 CombinatorSum (float3 bias, List< Synapse > synapses)
 Sum the bias and synpase outputs together.
 
static Vector3 CombinatorSum (Vector3 bias, List< Synapse > synapses)
 Sum the bias and synpase outputs together.
 
static float3 CombinatorProduct (float3 bias, List< Synapse > synapses)
 Multiply the synapse outputs together.
 
static Vector3 CombinatorProduct (Vector3 bias, List< Synapse > synapses)
 Multiply the synapse outputs together.
 
@@ -239,6 +239,18 @@ Protected Member Functions + + + + + + + + + + + + @@ -318,14 +330,6 @@ bool  - - - - - - @@ -722,8 +726,8 @@ virtual List< Nucleus< - -

◆ CombinatorSum() [1/2]

+ +

◆ Combinator() [1/2]

@@ -732,26 +736,44 @@ virtual List< Nucleus<
+protectedinherited

Public Attributes

virtual void CloneFields (Neuron clone)
 Copy relevant fields of this neuron to the given neuron.
 
float3 Combinator (float3 bias, List< Synapse > synapses)
 The combinator which combines the bias with the values from all synapses.
 
Vector3 Combinator (Vector3 bias, List< Synapse > synapses)
 The combinator which combines the bias with the values from all synapses.
 
float3 Activator (float3 inputValue)
 Apply the activation function to the input.
 
Vector3 Activator (Vector3 inputValue)
 Apply the activation function to the input.
 
float3 ActivatorLinear (float3 input)
 Linear activation function.
 
isFiring [g virtual bool isSleeping [get]
 True when the neuron is not persisting and has not be updated for timeToSleep seconds.
 
-Func< float3 > Combinator [get]
 The combinator which combines the values from all synapses.
 
-Func< Vector3 > Combinator [get]
 The combinator which combines the values from all synapses.
 
virtual List< Nucleusreceivers [get, set]
 The nuclei which have a synapse to this neuron.
- + - + + + + + + + + + + + +
float3 CombinatorSum float3 Combinator ()float3 bias,
List< Synapsesynapses 
)
-inherited
-

Sum the synapse outputs together.

-
Returns
The sum of the synapse outputs
+

The combinator which combines the bias with the values from all synapses.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
-
-

◆ CombinatorSum() [2/2]

+ +

◆ Combinator() [2/2]

@@ -760,26 +782,44 @@ virtual List< Nucleus< - + - + + + + + + + + + + + +
Vector3 CombinatorSum Vector3 Combinator ()Vector3 bias,
List< Synapsesynapses 
)
-inherited +protectedinherited
-

Sum the synapse outputs together.

-
Returns
The sum of the synapse outputs
+

The combinator which combines the bias with the values from all synapses.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
- -

◆ CombinatorProduct() [1/2]

+ +

◆ CombinatorSum() [1/2]

@@ -788,26 +828,136 @@ virtual List< Nucleus< - + - + + + + + + + + + + + +
float3 CombinatorProduct static float3 CombinatorSum ()float3 bias,
List< Synapsesynapses 
)
-inherited +staticinherited + + +
+ +

Sum the bias and synpase outputs together.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
+ +
+
+ +

◆ CombinatorSum() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Vector3 CombinatorSum (Vector3 bias,
List< Synapsesynapses 
)
+
+staticinherited
+
+ +

Sum the bias and synpase outputs together.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
+ +
+
+ +

◆ CombinatorProduct() [1/2]

+ +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
static float3 CombinatorProduct (float3 bias,
List< Synapsesynapses 
)
+
+staticinherited

Multiply the synapse outputs together.

-
Returns
The mutliplcation of the synapse outputs
+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
The result of the multiplication
- -

◆ CombinatorProduct() [2/2]

+ +

◆ CombinatorProduct() [2/2]

@@ -816,21 +966,109 @@ virtual List< Nucleus< - + - + + + + + + + + + + + +
Vector3 CombinatorProduct static Vector3 CombinatorProduct ()Vector3 bias,
List< Synapsesynapses 
)
-inherited +staticinherited

Multiply the synapse outputs together.

-
Returns
The mutliplcation of the synapse outputs
+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
The result of the multiplication
+ +
+
+ +

◆ Activator() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
float3 Activator (float3 inputValue)
+
+protectedinherited
+
+ +

Apply the activation function to the input.

+
Parameters
+ + +
inputValue
+
+
+
Returns
The result of applying the activation function
+ +
+
+ +

◆ Activator() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector3 Activator (Vector3 inputValue)
+
+protectedinherited
+
+ +

Apply the activation function to the input.

+
Parameters
+ + +
inputValue
+
+
+
Returns
The result of applying the activation function
diff --git a/Documentation/html/class_nano_brain_1_1_neuron-members.html b/Documentation/html/class_nano_brain_1_1_neuron-members.html index 2ce0eb7..701cbcb 100644 --- a/Documentation/html/class_nano_brain_1_1_neuron-members.html +++ b/Documentation/html/class_nano_brain_1_1_neuron-members.html @@ -85,6 +85,8 @@ $(function() { _outputValueNeuronprotected _outputValueNeuronprotected ActivationType enum nameNeuron + Activator(float3 inputValue)Neuronprotected + Activator(Vector3 inputValue)Neuronprotected activatorNeuron ActivatorBinary(float3 input)Neuronprotected ActivatorLinear(float3 input)Neuronprotected @@ -102,12 +104,12 @@ $(function() { biasNeuron CloneFields(Neuron clone)Neuronprotectedvirtual combinatorNeuron - CombinatorNeuronprotected - CombinatorNeuronprotected - CombinatorProduct()Neuron - CombinatorProduct()Neuron - CombinatorSum()Neuron - CombinatorSum()Neuron + Combinator(float3 bias, List< Synapse > synapses)Neuronprotected + Combinator(Vector3 bias, List< Synapse > synapses)Neuronprotected + CombinatorProduct(float3 bias, List< Synapse > synapses)Neuronstatic + CombinatorProduct(Vector3 bias, List< Synapse > synapses)Neuronstatic + CombinatorSum(float3 bias, List< Synapse > synapses)Neuronstatic + CombinatorSum(Vector3 bias, List< Synapse > synapses)Neuronstatic CombinatorType enum nameNeuron curveNeuron curveMaxNeuron diff --git a/Documentation/html/class_nano_brain_1_1_neuron.html b/Documentation/html/class_nano_brain_1_1_neuron.html index 48bf278..6af007b 100644 --- a/Documentation/html/class_nano_brain_1_1_neuron.html +++ b/Documentation/html/class_nano_brain_1_1_neuron.html @@ -90,6 +90,11 @@ $(function() {

Description

A neuron is a basic Nucleus.

+

A neuron combines the weighted input from other neurons and applies an activation function to it to compute the output value:

Vector3 combination = NanoBrain::Neuron::Combinator(bias, synapses);
+
Vector3 output = NanoBrain::Neuron::Activator(combination);
+
float3 Combinator(float3 bias, List< Synapse > synapses)
The combinator which combines the bias with the values from all synapses.
Definition Neuron.cs:463
+
float3 Activator(float3 inputValue)
Apply the activation function to the input.
Definition Neuron.cs:560
+

The synapses are connections to other neurons. Each connection has a weight which is used to multiply the output of that other neuron before it is used by the combinator.

Inheritance diagram for Neuron:
@@ -165,18 +170,6 @@ Public Member Functions override void UpdateStateIsolated ()  Update the state without updating other Nuclei.
  -float3 CombinatorSum () - Sum the synapse outputs together.
-  -float3 CombinatorProduct () - Multiply the synapse outputs together.
-  -Vector3 CombinatorSum () - Sum the synapse outputs together.
-  -Vector3 CombinatorProduct () - Multiply the synapse outputs together.
-  virtual void AddReceiver (Nucleus receiverToAdd, float weight=1)  Add a new receiver to this neuron.
  @@ -192,6 +185,18 @@ Static Public Member Functions static void Delete (Nucleus nucleus)  Delete the give neuron.
  +static float3 CombinatorSum (float3 bias, List< Synapse > synapses) + Sum the bias and synpase outputs together.
+  +static float3 CombinatorProduct (float3 bias, List< Synapse > synapses) + Multiply the synapse outputs together.
+  +static Vector3 CombinatorSum (Vector3 bias, List< Synapse > synapses) + Sum the bias and synpase outputs together.
+  +static Vector3 CombinatorProduct (Vector3 bias, List< Synapse > synapses) + Multiply the synapse outputs together.
+  @@ -244,6 +249,15 @@ Protected Member Functions + + + + + + + + + @@ -265,6 +279,9 @@ Protected Member Functions + + + @@ -323,14 +340,6 @@ bool  - - - - - - @@ -679,83 +688,314 @@ virtual List< Nucleus< - -

◆ CombinatorSum() [1/2]

+ +

◆ Combinator() [1/2]

+

Public Attributes

virtual void CloneFields (Neuron clone)
 Copy relevant fields of this neuron to the given neuron.
 
float3 Combinator (float3 bias, List< Synapse > synapses)
 The combinator which combines the bias with the values from all synapses.
 
Vector3 Combinator (Vector3 bias, List< Synapse > synapses)
 The combinator which combines the bias with the values from all synapses.
 
float3 Activator (float3 inputValue)
 Apply the activation function to the input.
 
float3 ActivatorLinear (float3 input)
 Linear activation function.
 
float3 ActivatorNormalized (float3 input)
 Normalize activation function.
 
Vector3 Activator (Vector3 inputValue)
 Apply the activation function to the input.
 
Vector3 ActivatorLinear (Vector3 input)
 Linear activation function.
 
isFiring [g virtual bool isSleeping [get]
 True when the neuron is not persisting and has not be updated for timeToSleep seconds.
 
-Func< float3 > Combinator [get]
 The combinator which combines the values from all synapses.
 
-Func< Vector3 > Combinator [get]
 The combinator which combines the values from all synapses.
 
virtual List< Nucleusreceivers [get, set]
 The nuclei which have a synapse to this neuron.
+ + + + +
- + - + + + + + + + + + + + +
float3 CombinatorSum float3 Combinator ()float3 bias,
List< Synapsesynapses 
)
+
+protected
-

Sum the synapse outputs together.

-
Returns
The sum of the synapse outputs
+

The combinator which combines the bias with the values from all synapses.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
- -

◆ CombinatorProduct() [1/2]

+ +

◆ CombinatorSum() [1/2]

+ + + + + +
- + - + + + + + + + + + + + +
float3 CombinatorProduct static float3 CombinatorSum ()float3 bias,
List< Synapsesynapses 
)
+
+static
+
+ +

Sum the bias and synpase outputs together.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
+ +
+
+ +

◆ CombinatorProduct() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float3 CombinatorProduct (float3 bias,
List< Synapsesynapses 
)
+
+static

Multiply the synapse outputs together.

-
Returns
The mutliplcation of the synapse outputs
+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
The result of the multiplication
- -

◆ CombinatorSum() [2/2]

+ +

◆ Combinator() [2/2]

+ + + + + +
- + - + + + + + + + + + + + +
Vector3 CombinatorSum Vector3 Combinator ()Vector3 bias,
List< Synapsesynapses 
)
+
+protected
-

Sum the synapse outputs together.

-
Returns
The sum of the synapse outputs
+

The combinator which combines the bias with the values from all synapses.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
- -

◆ CombinatorProduct() [2/2]

+ +

◆ CombinatorSum() [2/2]

+ + + + + +
- + - + + + + + + + + + + + +
Vector3 CombinatorProduct static Vector3 CombinatorSum ()Vector3 bias,
List< Synapsesynapses 
)
+
+static
+
+ +

Sum the bias and synpase outputs together.

+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
+ +
+
+ +

◆ CombinatorProduct() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Vector3 CombinatorProduct (Vector3 bias,
List< Synapsesynapses 
)
+
+static

Multiply the synapse outputs together.

-
Returns
The mutliplcation of the synapse outputs
+
Parameters
+ + + +
biasThe bias of the neuron
synapsesThe synapses of the neuron
+
+
+
Returns
The result of the multiplication
+ +
+
+ +

◆ Activator() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
float3 Activator (float3 inputValue)
+
+protected
+
+ +

Apply the activation function to the input.

+
Parameters
+ + +
inputValue
+
+
+
Returns
The result of applying the activation function
@@ -1002,6 +1242,41 @@ virtual List< Nucleus<
Returns
The normalized vector
+ + +
+

◆ Activator() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector3 Activator (Vector3 inputValue)
+
+protected
+
+ +

Apply the activation function to the input.

+
Parameters
+ + +
inputValue
+
+
+
Returns
The result of applying the activation function
+
diff --git a/Documentation/html/class_nano_brain_1_1_unity_1_1_brain-members.html.meta b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain-members.html.meta new file mode 100644 index 0000000..d08aa13 --- /dev/null +++ b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain-members.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 67059ef99db37889cadce3ccb7931459 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html index 068bea3..a733f33 100644 --- a/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html +++ b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html @@ -84,9 +84,13 @@ $(function() {

Description

-

The NanoBrain Unity Componnent.

-

This implements the top-level NanoBrain Cluster
-

+

A NanoBrain which can be used to control a gameobject.

+

A NanoBrain is a small neural network which can be used to implement functional behaviour. The network consists of neurons which are connected together with synapses. The output values of the neurons are of type Vector3 to support spatial computing.

+

This component is basically a Unity representation of a nanobrain cluster.

See also
+

Inherits MonoBehaviour.

diff --git a/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html.meta b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html.meta new file mode 100644 index 0000000..40aaded --- /dev/null +++ b/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 541aef040730601e195eb6bd6259d774 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab-members.html.meta b/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab-members.html.meta new file mode 100644 index 0000000..4dfcbd5 --- /dev/null +++ b/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab-members.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 500ec32f1b060f323bc4137a6192e4c0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab.html.meta b/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab.html.meta new file mode 100644 index 0000000..47b8b0b --- /dev/null +++ b/Documentation/html/class_nano_brain_1_1_unity_1_1_cluster_prefab.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 25cd7691722c239b6a35d4490aed639e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html.meta b/Documentation/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html.meta new file mode 100644 index 0000000..99450a0 --- /dev/null +++ b/Documentation/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 89a049ec79ac891e1a566bf19eb7a204 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/dir_6eb91f08f66a0985d5fdbcf1bb3077bc.html.meta b/Documentation/html/dir_6eb91f08f66a0985d5fdbcf1bb3077bc.html.meta new file mode 100644 index 0000000..20b706a --- /dev/null +++ b/Documentation/html/dir_6eb91f08f66a0985d5fdbcf1bb3077bc.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eb9748e2b82cf690aa33e55abd1e8b6b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/dir_d65e47d3bdee7106dc8fa911eae7cc33.html.meta b/Documentation/html/dir_d65e47d3bdee7106dc8fa911eae7cc33.html.meta new file mode 100644 index 0000000..f1565e0 --- /dev/null +++ b/Documentation/html/dir_d65e47d3bdee7106dc8fa911eae7cc33.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b373cfbb551c0fcc28877689ce4e0a9e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/functions.html b/Documentation/html/functions.html index 92e8520..748da03 100644 --- a/Documentation/html/functions.html +++ b/Documentation/html/functions.html @@ -82,11 +82,12 @@ $(function() {

- a -

- + diff --git a/Documentation/html/namespace_nano_brain_1_1_breitenberg.html.meta b/Documentation/html/namespace_nano_brain_1_1_breitenberg.html.meta new file mode 100644 index 0000000..0384468 --- /dev/null +++ b/Documentation/html/namespace_nano_brain_1_1_breitenberg.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c035fb3b746df09fc860b0a552e0264b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/namespace_nano_brain_1_1_unity.html b/Documentation/html/namespace_nano_brain_1_1_unity.html index f774aa6..ae3f30e 100644 --- a/Documentation/html/namespace_nano_brain_1_1_unity.html +++ b/Documentation/html/namespace_nano_brain_1_1_unity.html @@ -84,7 +84,7 @@ $(function() { - + diff --git a/Documentation/html/namespace_nano_brain_1_1_unity.html.meta b/Documentation/html/namespace_nano_brain_1_1_unity.html.meta new file mode 100644 index 0000000..583aa4a --- /dev/null +++ b/Documentation/html/namespace_nano_brain_1_1_unity.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 69c0c0dfe90463a72b21f0870b828bcd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/namespace_passer.html.meta b/Documentation/html/namespace_passer.html.meta new file mode 100644 index 0000000..988dc41 --- /dev/null +++ b/Documentation/html/namespace_passer.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d07ed414a0d67b98c846d2981302dc49 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/rtf/PasserLifeLogoLeft_300.png.meta b/Documentation/html/rtf/PasserLifeLogoLeft_300.png.meta new file mode 100644 index 0000000..1663c57 --- /dev/null +++ b/Documentation/html/rtf/PasserLifeLogoLeft_300.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 5c11e7b90a6debaca941bc1043187bcb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/rtf/refman.rtf b/Documentation/html/rtf/refman.rtf index 2e9f8ae..0089480 100644 --- a/Documentation/html/rtf/refman.rtf +++ b/Documentation/html/rtf/refman.rtf @@ -139,13 +139,13 @@ Version v0.1\par\page\page\vertalt Nano Brain for Unity\par \pard\plain {\tc\tcl1 \v Nano Brain for Unity} {\xe \v Nano Brain for Unity} -{\bkmkstart AAAAAAAAET} -{\bkmkend AAAAAAAAET} +{\bkmkstart AAAAAAAAEV} +{\bkmkend AAAAAAAAEV} { \pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \par -{\bkmkstart AAAAAAAAEU} -{\bkmkend AAAAAAAAEU} +{\bkmkstart AAAAAAAAEW} +{\bkmkend AAAAAAAAEW} {{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Table of Contents \par} @@ -206,7 +206,7 @@ Class Hierarchy\par \pard\plain { \par \pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -Brain\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEL \\*MERGEFORMAT}{\fldrslt pagenum}} +Brain\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEN \\*MERGEFORMAT}{\fldrslt pagenum}} \par ClusterPrefab\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAM \\*MERGEFORMAT}{\fldrslt pagenum}} \par @@ -224,7 +224,7 @@ MemoryCell\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAG \\*MERGEFORMAT}{\f \par }\par }\par -Neuron.Presets\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADV \\*MERGEFORMAT}{\fldrslt pagenum}} +Neuron.Presets\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADX \\*MERGEFORMAT}{\fldrslt pagenum}} \par Synapse\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAJ \\*MERGEFORMAT}{\fldrslt pagenum}} \par @@ -240,9 +240,9 @@ Class List\par \pard\plain { \par \pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEL" }{}}{\fldrslt {\cs37\ul\cf2 Brain}}} +{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEN" }{}}{\fldrslt {\cs37\ul\cf2 Brain}}} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} Unity Componnent })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEL \\*MERGEFORMAT}{\fldrslt pagenum}} +A {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} which can be used to control a gameobject })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEN \\*MERGEFORMAT}{\fldrslt pagenum}} \par {\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -264,9 +264,9 @@ A neuron is a basic Nucleus })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAA ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid A Nucleus is a basic element in a brain cluster })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAI \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADV" }{}}{\fldrslt {\cs37\ul\cf2 Neuron.Presets}}} +{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADX" }{}}{\fldrslt {\cs37\ul\cf2 Neuron.Presets}}} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The curve presets for the activation functions })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADV \\*MERGEFORMAT}{\fldrslt pagenum}} +The curve presets for the activation functions })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADX \\*MERGEFORMAT}{\fldrslt pagenum}} \par {\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -333,8 +333,8 @@ The Nanobrain namespace. \par NanoBrain.Breitenberg Namespace Reference\par \pard\plain {\tc\tcl2 \v NanoBrain.Breitenberg} {\xe \v NanoBrain.Breitenberg} -{\bkmkstart AAAAAAAAEJ} -{\bkmkend AAAAAAAAEJ} +{\bkmkstart AAAAAAAAEL} +{\bkmkend AAAAAAAAEL} \par \pard\plain \pard\plain \sect\sbkpage @@ -343,18 +343,18 @@ NanoBrain.Breitenberg Namespace Reference\par \pard\plain NanoBrain.Unity Namespace Reference\par \pard\plain {\tc\tcl2 \v NanoBrain.Unity} {\xe \v NanoBrain.Unity} -{\bkmkstart AAAAAAAAEK} -{\bkmkend AAAAAAAAEK} +{\bkmkstart AAAAAAAAEM} +{\bkmkend AAAAAAAAEM} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Classes\par \pard\plain { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEL" }{}}{\fldrslt {\cs37\ul\cf2 Brain}}} +class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEN" }{}}{\fldrslt {\cs37\ul\cf2 Brain}}} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} Unity Componnent. }}\par} +A {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} which can be used to control a gameobject. }}\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAM" }{}}{\fldrslt {\cs37\ul\cf2 ClusterPrefab}}} { @@ -369,8 +369,8 @@ The Unity ScriptableObject to implement re-usable Cluster Prefabs. }}\par} Passer Namespace Reference\par \pard\plain {\tc\tcl2 \v Passer} {\xe \v Passer} -{\bkmkstart AAAAAAAAES} -{\bkmkend AAAAAAAAES} +{\bkmkstart AAAAAAAAEU} +{\bkmkend AAAAAAAAEU} \pard\plain \sect\sbkpage \s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid @@ -380,21 +380,29 @@ Class Documentation{\tc \v Class Documentation} Brain Class Reference\par \pard\plain {\tc\tcl2 \v Brain} {\xe \v Brain} -{\bkmkstart AAAAAAAAEL} -{\bkmkend AAAAAAAAEL} +{\bkmkstart AAAAAAAAEN} +{\bkmkend AAAAAAAAEN} {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Description\par \pard\plain { \pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} Unity Componnent. \par +A {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} which can be used to control a gameobject. \par } {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -This implements the top-level {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} Cluster \par - \par -}} +A {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAB" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain}}} is a small neural network which can be used to implement functional behaviour. The network consists of neurons which are connected together with synapses. The output values of the neurons are of type Vector3 to support spatial computing.\par +This component is basically a Unity representation of a nanobrain cluster. \par +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +See also\par}\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}}\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} \par} +}}}} \par { Inherits MonoBehaviour.}\par @@ -404,9 +412,9 @@ Static Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEM" }{}}{\fldrslt {\cs37\ul\cf2 UpdateWeight}}} +static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEO" }{}}{\fldrslt {\cs37\ul\cf2 UpdateWeight}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} - {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEN" }{}}{\fldrslt {\cs37\ul\cf2 brain}}} + {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEP" }{}}{\fldrslt {\cs37\ul\cf2 brain}}} , string name, float weight)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -422,8 +430,8 @@ Public Attributes\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAM" }{}}{\fldrslt {\cs37\ul\cf2 ClusterPrefab}}} - {\b brainPrefab}{\bkmkstart AAAAAAAAEO} -{\bkmkend AAAAAAAAEO} + {\b brainPrefab}{\bkmkstart AAAAAAAAEQ} +{\bkmkend AAAAAAAAEQ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -439,8 +447,8 @@ Properties\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} - {\b brain}{\f2 [get]}{\bkmkstart AAAAAAAAEN} -{\bkmkend AAAAAAAAEN} + {\b brain}{\f2 [get]}{\bkmkstart AAAAAAAAEP} +{\bkmkend AAAAAAAAEP} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -459,8 +467,8 @@ Member Function Documentation\par static void UpdateWeight ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\i brain}, string {\i name}, float {\i weight}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAAEM} -{\bkmkend AAAAAAAAEM} +{\bkmkstart AAAAAAAAEO} +{\bkmkend AAAAAAAAEO} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -1537,7 +1545,7 @@ Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} - {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEP" }{}}{\fldrslt {\cs37\ul\cf2 GetNucleus}}} + {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAER" }{}}{\fldrslt {\cs37\ul\cf2 GetNucleus}}} (string nucleusName)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1545,7 +1553,7 @@ Retrieve a nucleus in this cluster. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEQ" }{}}{\fldrslt {\cs37\ul\cf2 EnsureInitialization}}} +void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAES" }{}}{\fldrslt {\cs37\ul\cf2 EnsureInitialization}}} ()\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1561,8 +1569,8 @@ Public Attributes\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} - {\b cluster}{\bkmkstart AAAAAAAAER} -{\bkmkend AAAAAAAAER} + {\b cluster}{\bkmkstart AAAAAAAAET} +{\bkmkend AAAAAAAAET} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1581,8 +1589,8 @@ Member Function Documentation\par {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} GetNucleus (string {\i nucleusName})}} \par -{\bkmkstart AAAAAAAAEP} -{\bkmkend AAAAAAAAEP} +{\bkmkstart AAAAAAAAER} +{\bkmkend AAAAAAAAER} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -1610,8 +1618,8 @@ The Nucleus with the given name or null if no such Nucleus could be found\par {\b void EnsureInitialization ()}} \par -{\bkmkstart AAAAAAAAEQ} -{\bkmkend AAAAAAAAEQ} +{\bkmkstart AAAAAAAAES} +{\bkmkend AAAAAAAAES} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -1781,39 +1789,7 @@ Check if the neuron is sleeping. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACG" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACH" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Multiply the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACI" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Multiply the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACJ" }{}}{\fldrslt {\cs37\ul\cf2 AddReceiver}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 AddReceiver}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} receiverToAdd, float weight=1)\par { @@ -1822,7 +1798,7 @@ Add a new receiver to this neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 RemoveReceiver}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACG" }{}}{\fldrslt {\cs37\ul\cf2 RemoveReceiver}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} receiverToRemove)\par { @@ -1831,7 +1807,7 @@ Remove a receiver to this neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 ProcessStimulus}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACH" }{}}{\fldrslt {\cs37\ul\cf2 ProcessStimulus}}} (Vector3 inputValue)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1845,7 +1821,7 @@ Static Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs37\ul\cf2 Delete}}} +static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACI" }{}}{\fldrslt {\cs37\ul\cf2 Delete}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} nucleus)\par { @@ -1853,6 +1829,50 @@ static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs Delete the give neuron. }{ }\par }\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACJ" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACN" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Multiply the synapse outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACO" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Multiply the synapse outputs together. }{ +}\par +}\par} } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Public Attributes\par @@ -1860,7 +1880,7 @@ Public Attributes\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACN" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} = Vector3.zero\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1871,8 +1891,8 @@ The bias. }{ {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABS" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorType}}} {\b combinator} = {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABT" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorType.Sum}}} -{\bkmkstart AAAAAAAACO} -{\bkmkend AAAAAAAACO} +{\bkmkstart AAAAAAAACP} +{\bkmkend AAAAAAAACP} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1882,8 +1902,8 @@ The type of combinator used for this Neuron. }{ \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 ActivationType}}} - {\b _activator}{\bkmkstart AAAAAAAACP} -{\bkmkend AAAAAAAACP} + {\b _activator}{\bkmkstart AAAAAAAACQ} +{\bkmkend AAAAAAAACQ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1892,8 +1912,8 @@ The activation function. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -AnimationCurve {\b curve}{\bkmkstart AAAAAAAACQ} -{\bkmkend AAAAAAAACQ} +AnimationCurve {\b curve}{\bkmkstart AAAAAAAACR} +{\bkmkend AAAAAAAACR} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1902,8 +1922,8 @@ The curve representing the activation function. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b curveMax} = 1.0f{\bkmkstart AAAAAAAACR} -{\bkmkend AAAAAAAACR} +float {\b curveMax} = 1.0f{\bkmkstart AAAAAAAACS} +{\bkmkend AAAAAAAACS} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1912,8 +1932,8 @@ The maximum value of the curve. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Action {\b WhenFiring}{\bkmkstart AAAAAAAACS} -{\bkmkend AAAAAAAACS} +Action {\b WhenFiring}{\bkmkstart AAAAAAAACT} +{\bkmkend AAAAAAAACT} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1922,8 +1942,8 @@ An action which is called every time the neuron is updated and is firing. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b persistOutput} = false{\bkmkstart AAAAAAAACT} -{\bkmkend AAAAAAAACT} +bool {\b persistOutput} = false{\bkmkstart AAAAAAAACU} +{\bkmkend AAAAAAAACU} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1932,8 +1952,8 @@ When true, the value will not be reset after timeToSleep. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b lastUpdate} = 0{\bkmkstart AAAAAAAACU} -{\bkmkend AAAAAAAACU} +float {\b lastUpdate} = 0{\bkmkstart AAAAAAAACV} +{\bkmkend AAAAAAAACV} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1942,8 +1962,8 @@ The time at which the last update has been done. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -readonly float {\b timeToSleep} = 1f{\bkmkstart AAAAAAAACV} -{\bkmkend AAAAAAAACV} +readonly float {\b timeToSleep} = 1f{\bkmkstart AAAAAAAACW} +{\bkmkend AAAAAAAACW} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1978,7 +1998,7 @@ Protected Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACW" }{}}{\fldrslt {\cs37\ul\cf2 CloneFields}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACX" }{}}{\fldrslt {\cs37\ul\cf2 CloneFields}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} clone)\par { @@ -1987,7 +2007,45 @@ Copy relevant fields of this neuron to the given neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACX" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 Combinator}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The combinator which combines the bias with the values from all synapses. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACZ" }{}}{\fldrslt {\cs37\ul\cf2 Combinator}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The combinator which combines the bias with the values from all synapses. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 Activator}}} + (float3 inputValue)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADB" }{}}{\fldrslt {\cs37\ul\cf2 Activator}}} + (Vector3 inputValue)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1995,7 +2053,7 @@ Linear activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2003,7 +2061,7 @@ Linear activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACZ" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2011,7 +2069,7 @@ Square root activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2019,7 +2077,7 @@ Square root activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADB" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2027,7 +2085,7 @@ Power activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADH" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2035,7 +2093,7 @@ Power activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2043,7 +2101,7 @@ Reciprocal activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADJ" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2051,7 +2109,7 @@ Reciprocal activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorTanh}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADK" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorTanh}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2059,7 +2117,7 @@ Tanh activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorBinary}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADL" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorBinary}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2067,7 +2125,7 @@ Binary activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADH" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorNormalized}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorNormalized}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2082,8 +2140,8 @@ Protected Attributes\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\b _outputValue}{\bkmkstart AAAAAAAADI} -{\bkmkend AAAAAAAADI} +float3 {\b _outputValue}{\bkmkstart AAAAAAAADN} +{\bkmkend AAAAAAAADN} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2092,8 +2150,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\b _outputValue}{\bkmkstart AAAAAAAADJ} -{\bkmkend AAAAAAAADJ} +Vector3 {\b _outputValue}{\bkmkstart AAAAAAAADO} +{\bkmkend AAAAAAAADO} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2109,8 +2167,8 @@ Properties\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} - > {\b synapses}{\f2 [get]}{\bkmkstart AAAAAAAADK} -{\bkmkend AAAAAAAADK} + > {\b synapses}{\f2 [get]}{\bkmkstart AAAAAAAACL} +{\bkmkend AAAAAAAACL} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2120,8 +2178,8 @@ The synapses of the nucleus. }{ \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 ActivationType}}} - {\b activator}{\f2 [get, set]}{\bkmkstart AAAAAAAADL} -{\bkmkend AAAAAAAADL} + {\b activator}{\f2 [get, set]}{\bkmkstart AAAAAAAADP} +{\bkmkend AAAAAAAADP} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2130,8 +2188,8 @@ The activation funtion. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual float3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADM} -{\bkmkend AAAAAAAADM} +virtual float3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADQ} +{\bkmkend AAAAAAAADQ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2140,8 +2198,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual Vector3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADN} -{\bkmkend AAAAAAAADN} +virtual Vector3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADR} +{\bkmkend AAAAAAAADR} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2150,8 +2208,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b outputMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADO} -{\bkmkend AAAAAAAADO} +float {\b outputMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADS} +{\bkmkend AAAAAAAADS} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2160,8 +2218,8 @@ The magnitude of the neuron output. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b outputSqrMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADP} -{\bkmkend AAAAAAAADP} +float {\b outputSqrMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADT} +{\bkmkend AAAAAAAADT} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2170,8 +2228,8 @@ The squared magnitude of the neuron output. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b isFiring}{\f2 [get]}{\bkmkstart AAAAAAAADQ} -{\bkmkend AAAAAAAADQ} +bool {\b isFiring}{\f2 [get]}{\bkmkstart AAAAAAAADU} +{\bkmkend AAAAAAAADU} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2180,8 +2238,8 @@ True if the neuron have a positive value with magnitude > 0.5. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual bool {\b isSleeping}{\f2 [get]}{\bkmkstart AAAAAAAADR} -{\bkmkend AAAAAAAADR} +virtual bool {\b isSleeping}{\f2 [get]}{\bkmkstart AAAAAAAADV} +{\bkmkend AAAAAAAADV} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2190,29 +2248,9 @@ True when the neuron is not persisting and has not be updated for timeToSleep se }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Func< float3 > {\b Combinator}{\f2 [get]}{\bkmkstart AAAAAAAADS} -{\bkmkend AAAAAAAADS} -\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The combinator which combines the values from all synapses. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -Func< Vector3 > {\b Combinator}{\f2 [get]}{\bkmkstart AAAAAAAADT} -{\bkmkend AAAAAAAADT} -\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The combinator which combines the values from all synapses. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - virtual List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} - > {\b receivers}{\f2 [get, set]}{\bkmkstart AAAAAAAADU} -{\bkmkend AAAAAAAADU} + > {\b receivers}{\f2 [get, set]}{\bkmkstart AAAAAAAADW} +{\bkmkend AAAAAAAADW} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -2520,8 +2558,8 @@ This will reset the output value if it is sleeping \par virtual void CloneFields ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} {\i clone}){\f2 [protected]}, {\f2 [virtual]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACW} -{\bkmkend AAAAAAAACW} +{\bkmkstart AAAAAAAACX} +{\bkmkend AAAAAAAACX} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2547,8 +2585,8 @@ Parameters\par} static void Delete ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i nucleus}){\f2 [static]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACM} -{\bkmkend AAAAAAAACM} +{\bkmkstart AAAAAAAACI} +{\bkmkend AAAAAAAACI} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2567,54 +2605,159 @@ Parameters\par} {\row } } }} -{\xe \v CombinatorSum\:MemoryCell} -{\xe \v MemoryCell\:CombinatorSum} +{\xe \v Combinator\:MemoryCell} +{\xe \v MemoryCell\:Combinator} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -float3 CombinatorSum (){\f2 [inherited]}}} +float3 Combinator (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACF} -{\bkmkend AAAAAAAACF} +{\bkmkstart AAAAAAAACY} +{\bkmkend AAAAAAAACY} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par { {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }}\par +The combinator which combines the bias with the values from all synapses. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The sum of the synapse outputs\par +\par +}}}} +{\xe \v Combinator\:MemoryCell} +{\xe \v MemoryCell\:Combinator} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +Vector3 Combinator (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [protected]}, {\f2 [inherited]}}} +\par +{\bkmkstart AAAAAAAACZ} +{\bkmkend AAAAAAAACZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The combinator which combines the bias with the values from all synapses. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +\par }}}} {\xe \v CombinatorSum\:MemoryCell} {\xe \v MemoryCell\:CombinatorSum} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -Vector3 CombinatorSum (){\f2 [inherited]}}} +static float3 CombinatorSum (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACG} -{\bkmkend AAAAAAAACG} +{\bkmkstart AAAAAAAACJ} +{\bkmkend AAAAAAAACJ} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par { {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }}\par +Sum the bias and synpase outputs together. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The sum of the synapse outputs\par +\par +}}}} +{\xe \v CombinatorSum\:MemoryCell} +{\xe \v MemoryCell\:CombinatorSum} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +static Vector3 CombinatorSum (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}, {\f2 [inherited]}}} +\par +{\bkmkstart AAAAAAAACM} +{\bkmkend AAAAAAAACM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +\par }}}} {\xe \v CombinatorProduct\:MemoryCell} {\xe \v MemoryCell\:CombinatorProduct} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -float3 CombinatorProduct (){\f2 [inherited]}}} +static float3 CombinatorProduct (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACH} -{\bkmkend AAAAAAAACH} +{\bkmkstart AAAAAAAACN} +{\bkmkend AAAAAAAACN} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2622,19 +2765,35 @@ float3 CombinatorProduct (){\f2 [inherited]}}} {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid Multiply the synapse outputs together. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The mutliplcation of the synapse outputs\par +The result of the multiplication\par }}}} {\xe \v CombinatorProduct\:MemoryCell} {\xe \v MemoryCell\:CombinatorProduct} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -Vector3 CombinatorProduct (){\f2 [inherited]}}} +static Vector3 CombinatorProduct (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACI} -{\bkmkend AAAAAAAACI} +{\bkmkstart AAAAAAAACO} +{\bkmkend AAAAAAAACO} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2642,10 +2801,83 @@ Vector3 CombinatorProduct (){\f2 [inherited]}}} {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid Multiply the synapse outputs together. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The mutliplcation of the synapse outputs\par +The result of the multiplication\par +}}}} +{\xe \v Activator\:MemoryCell} +{\xe \v MemoryCell\:Activator} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +float3 Activator (float3 {\i inputValue}){\f2 [protected]}, {\f2 [inherited]}}} +\par +{\bkmkstart AAAAAAAADA} +{\bkmkend AAAAAAAADA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i inputValue} \cell }{\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +The result of applying the activation function\par +}}}} +{\xe \v Activator\:MemoryCell} +{\xe \v MemoryCell\:Activator} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +Vector3 Activator (Vector3 {\i inputValue}){\f2 [protected]}, {\f2 [inherited]}}} +\par +{\bkmkstart AAAAAAAADB} +{\bkmkend AAAAAAAADB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i inputValue} \cell }{\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +The result of applying the activation function\par }}}} {\xe \v ActivatorLinear\:MemoryCell} {\xe \v MemoryCell\:ActivatorLinear} @@ -2653,8 +2885,8 @@ The mutliplcation of the synapse outputs\par {\b float3 ActivatorLinear (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACX} -{\bkmkend AAAAAAAACX} +{\bkmkstart AAAAAAAADC} +{\bkmkend AAAAAAAADC} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2682,8 +2914,8 @@ The unchanged value\par {\b Vector3 ActivatorLinear (Vector3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACY} -{\bkmkend AAAAAAAACY} +{\bkmkstart AAAAAAAADD} +{\bkmkend AAAAAAAADD} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2711,8 +2943,8 @@ The unchanged value\par {\b float3 ActivatorSqrt (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACZ} -{\bkmkend AAAAAAAACZ} +{\bkmkstart AAAAAAAADE} +{\bkmkend AAAAAAAADE} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2740,8 +2972,8 @@ The square root of the input\par {\b Vector3 ActivatorSqrt (Vector3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADA} -{\bkmkend AAAAAAAADA} +{\bkmkstart AAAAAAAADF} +{\bkmkend AAAAAAAADF} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2769,8 +3001,8 @@ The square root of the input\par {\b float3 ActivatorPower (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADB} -{\bkmkend AAAAAAAADB} +{\bkmkstart AAAAAAAADG} +{\bkmkend AAAAAAAADG} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2798,8 +3030,8 @@ The input to the power of 2\par {\b Vector3 ActivatorPower (Vector3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADC} -{\bkmkend AAAAAAAADC} +{\bkmkstart AAAAAAAADH} +{\bkmkend AAAAAAAADH} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2827,8 +3059,8 @@ The input to the power of 2\par {\b float3 ActivatorReciprocal (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADD} -{\bkmkend AAAAAAAADD} +{\bkmkstart AAAAAAAADI} +{\bkmkend AAAAAAAADI} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2856,8 +3088,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s {\b Vector3 ActivatorReciprocal (Vector3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADE} -{\bkmkend AAAAAAAADE} +{\bkmkstart AAAAAAAADJ} +{\bkmkend AAAAAAAADJ} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2885,8 +3117,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s {\b float3 ActivatorTanh (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADF} -{\bkmkend AAAAAAAADF} +{\bkmkstart AAAAAAAADK} +{\bkmkend AAAAAAAADK} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2914,8 +3146,8 @@ Tanh(input value)\par {\b float3 ActivatorBinary (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADG} -{\bkmkend AAAAAAAADG} +{\bkmkstart AAAAAAAADL} +{\bkmkend AAAAAAAADL} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2943,8 +3175,8 @@ An uniform vector with magnitude between 0 and 1\par {\b float3 ActivatorNormalized (float3 {\i input}){\f2 [protected]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAADH} -{\bkmkend AAAAAAAADH} +{\bkmkstart AAAAAAAADM} +{\bkmkend AAAAAAAADM} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -2973,8 +3205,8 @@ The normalized vector\par virtual void AddReceiver ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i receiverToAdd}, float {\i weight} = {\f2 1}){\f2 [virtual]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACJ} -{\bkmkend AAAAAAAACJ} +{\bkmkstart AAAAAAAACF} +{\bkmkend AAAAAAAACF} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3006,8 +3238,8 @@ Parameters\par} virtual void RemoveReceiver ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i receiverToRemove}){\f2 [virtual]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACK} -{\bkmkend AAAAAAAACK} +{\bkmkstart AAAAAAAACG} +{\bkmkend AAAAAAAACG} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3032,8 +3264,8 @@ Parameters\par} {\b virtual void ProcessStimulus (Vector3 {\i inputValue}){\f2 [virtual]}, {\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACL} -{\bkmkend AAAAAAAACL} +{\bkmkstart AAAAAAAACH} +{\bkmkend AAAAAAAACH} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3062,8 +3294,8 @@ Member Data Documentation\par {\b Vector3 bias = Vector3.zero{\f2 [inherited]}}} \par -{\bkmkstart AAAAAAAACN} -{\bkmkend AAAAAAAACN} +{\bkmkstart AAAAAAAACK} +{\bkmkend AAAAAAAACK} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3090,6 +3322,17 @@ Description\par { \pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid A neuron is a basic Nucleus. \par +} + +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +A neuron combines the weighted input from other neurons and applies an activation function to it to compute the output value: { +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Vector3 combination = {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain::Neuron::Combinator}}} +(bias, synapses);\par +Vector3 output = {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 NanoBrain::Neuron::Activator}}} +(combination);\par +} + The synapses are connections to other neurons. Each connection has a weight which is used to multiply the output of that other neuron before it is used by the combinator. \par }} Inheritance diagram for Neuron:{ \pard\plain @@ -3101,7 +3344,7 @@ Classes\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADV" }{}}{\fldrslt {\cs37\ul\cf2 Presets}}} +class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADX" }{}}{\fldrslt {\cs37\ul\cf2 Presets}}} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid The curve presets for the activation functions. }}\par} @@ -3156,7 +3399,7 @@ Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADW" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} +{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADY" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAO" }{}}{\fldrslt {\cs37\ul\cf2 parent}}} , string {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABM" }{}}{\fldrslt {\cs37\ul\cf2 name}}} @@ -3221,7 +3464,7 @@ Check if the neuron is sleeping. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid override {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} - {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADX" }{}}{\fldrslt {\cs37\ul\cf2 ShallowCloneTo}}} + {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADZ" }{}}{\fldrslt {\cs37\ul\cf2 ShallowCloneTo}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAO" }{}}{\fldrslt {\cs37\ul\cf2 parent}}} )\par @@ -3231,7 +3474,7 @@ Function to make a partial clone of this nucleus. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -override void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADY" }{}}{\fldrslt {\cs37\ul\cf2 UpdateStateIsolated}}} +override void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEA" }{}}{\fldrslt {\cs37\ul\cf2 UpdateStateIsolated}}} ()\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3239,39 +3482,7 @@ Update the state without updating other Nuclei. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACH" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Multiply the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACG" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACI" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} - ()\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Multiply the synapse outputs together. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACJ" }{}}{\fldrslt {\cs37\ul\cf2 AddReceiver}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 AddReceiver}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} receiverToAdd, float weight=1)\par { @@ -3280,7 +3491,7 @@ Add a new receiver to this neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 RemoveReceiver}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACG" }{}}{\fldrslt {\cs37\ul\cf2 RemoveReceiver}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} receiverToRemove)\par { @@ -3289,7 +3500,7 @@ Remove a receiver to this neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 ProcessStimulus}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACH" }{}}{\fldrslt {\cs37\ul\cf2 ProcessStimulus}}} (Vector3 inputValue)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3303,7 +3514,7 @@ Static Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs37\ul\cf2 Delete}}} +static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACI" }{}}{\fldrslt {\cs37\ul\cf2 Delete}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} nucleus)\par { @@ -3311,6 +3522,50 @@ static void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs Delete the give neuron. }{ }\par }\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACJ" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACN" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Multiply the synapse outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorSum}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +static Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACO" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorProduct}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Multiply the synapse outputs together. }{ +}\par +}\par} } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Public Attributes\par @@ -3318,7 +3573,7 @@ Public Attributes\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACN" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} = Vector3.zero\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3329,8 +3584,8 @@ The bias. }{ {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABS" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorType}}} {\b combinator} = {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABT" }{}}{\fldrslt {\cs37\ul\cf2 CombinatorType.Sum}}} -{\bkmkstart AAAAAAAACO} -{\bkmkend AAAAAAAACO} +{\bkmkstart AAAAAAAACP} +{\bkmkend AAAAAAAACP} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3340,8 +3595,8 @@ The type of combinator used for this Neuron. }{ \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 ActivationType}}} - {\b _activator}{\bkmkstart AAAAAAAACP} -{\bkmkend AAAAAAAACP} + {\b _activator}{\bkmkstart AAAAAAAACQ} +{\bkmkend AAAAAAAACQ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3350,8 +3605,8 @@ The activation function. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -AnimationCurve {\b curve}{\bkmkstart AAAAAAAACQ} -{\bkmkend AAAAAAAACQ} +AnimationCurve {\b curve}{\bkmkstart AAAAAAAACR} +{\bkmkend AAAAAAAACR} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3360,8 +3615,8 @@ The curve representing the activation function. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b curveMax} = 1.0f{\bkmkstart AAAAAAAACR} -{\bkmkend AAAAAAAACR} +float {\b curveMax} = 1.0f{\bkmkstart AAAAAAAACS} +{\bkmkend AAAAAAAACS} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3370,8 +3625,8 @@ The maximum value of the curve. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Action {\b WhenFiring}{\bkmkstart AAAAAAAACS} -{\bkmkend AAAAAAAACS} +Action {\b WhenFiring}{\bkmkstart AAAAAAAACT} +{\bkmkend AAAAAAAACT} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3380,8 +3635,8 @@ An action which is called every time the neuron is updated and is firing. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b persistOutput} = false{\bkmkstart AAAAAAAACT} -{\bkmkend AAAAAAAACT} +bool {\b persistOutput} = false{\bkmkstart AAAAAAAACU} +{\bkmkend AAAAAAAACU} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3390,8 +3645,8 @@ When true, the value will not be reset after timeToSleep. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b lastUpdate} = 0{\bkmkstart AAAAAAAACU} -{\bkmkend AAAAAAAACU} +float {\b lastUpdate} = 0{\bkmkstart AAAAAAAACV} +{\bkmkend AAAAAAAACV} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3400,8 +3655,8 @@ The time at which the last update has been done. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -readonly float {\b timeToSleep} = 1f{\bkmkstart AAAAAAAACV} -{\bkmkend AAAAAAAACV} +readonly float {\b timeToSleep} = 1f{\bkmkstart AAAAAAAACW} +{\bkmkend AAAAAAAACW} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3436,7 +3691,7 @@ Protected Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACW" }{}}{\fldrslt {\cs37\ul\cf2 CloneFields}}} +virtual void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACX" }{}}{\fldrslt {\cs37\ul\cf2 CloneFields}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} clone)\par { @@ -3445,7 +3700,37 @@ Copy relevant fields of this neuron to the given neuron. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACX" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 Combinator}}} + (float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The combinator which combines the bias with the values from all synapses. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACZ" }{}}{\fldrslt {\cs37\ul\cf2 Combinator}}} + (Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 bias}}} +, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 synapses}}} +)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The combinator which combines the bias with the values from all synapses. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 Activator}}} + (float3 inputValue)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3453,7 +3738,7 @@ Linear activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACZ" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3461,7 +3746,7 @@ Square root activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADB" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3469,7 +3754,7 @@ Power activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3477,7 +3762,7 @@ Reciprocal activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorTanh}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADK" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorTanh}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3485,7 +3770,7 @@ Tanh activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorBinary}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADL" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorBinary}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3493,7 +3778,7 @@ Binary activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADH" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorNormalized}}} +float3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorNormalized}}} (float3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3501,7 +3786,15 @@ Normalize activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADB" }{}}{\fldrslt {\cs37\ul\cf2 Activator}}} + (Vector3 inputValue)\par +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }{ +}\par +}\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorLinear}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3509,7 +3802,7 @@ Linear activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorSqrt}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3517,7 +3810,7 @@ Square root activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADH" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorPower}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3525,7 +3818,7 @@ Power activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} +Vector3 {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADJ" }{}}{\fldrslt {\cs37\ul\cf2 ActivatorReciprocal}}} (Vector3 input)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3540,8 +3833,8 @@ Protected Attributes\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float3 {\b _outputValue}{\bkmkstart AAAAAAAADI} -{\bkmkend AAAAAAAADI} +float3 {\b _outputValue}{\bkmkstart AAAAAAAADN} +{\bkmkend AAAAAAAADN} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3550,8 +3843,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Vector3 {\b _outputValue}{\bkmkstart AAAAAAAADJ} -{\bkmkend AAAAAAAADJ} +Vector3 {\b _outputValue}{\bkmkstart AAAAAAAADO} +{\bkmkend AAAAAAAADO} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3567,8 +3860,8 @@ Properties\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} - > {\b synapses}{\f2 [get]}{\bkmkstart AAAAAAAADK} -{\bkmkend AAAAAAAADK} + > {\b synapses}{\f2 [get]}{\bkmkstart AAAAAAAACL} +{\bkmkend AAAAAAAACL} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3578,8 +3871,8 @@ The synapses of the nucleus. }{ \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 ActivationType}}} - {\b activator}{\f2 [get, set]}{\bkmkstart AAAAAAAADL} -{\bkmkend AAAAAAAADL} + {\b activator}{\f2 [get, set]}{\bkmkstart AAAAAAAADP} +{\bkmkend AAAAAAAADP} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3588,8 +3881,8 @@ The activation funtion. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual float3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADM} -{\bkmkend AAAAAAAADM} +virtual float3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADQ} +{\bkmkend AAAAAAAADQ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3598,8 +3891,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b outputMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADO} -{\bkmkend AAAAAAAADO} +float {\b outputMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADS} +{\bkmkend AAAAAAAADS} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3608,8 +3901,8 @@ The magnitude of the neuron output. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b outputSqrMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADP} -{\bkmkend AAAAAAAADP} +float {\b outputSqrMagnitude}{\f2 [get]}{\bkmkstart AAAAAAAADT} +{\bkmkend AAAAAAAADT} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3618,8 +3911,8 @@ The squared magnitude of the neuron output. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual Vector3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADN} -{\bkmkend AAAAAAAADN} +virtual Vector3 {\b outputValue}{\f2 [get, set]}{\bkmkstart AAAAAAAADR} +{\bkmkend AAAAAAAADR} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3628,8 +3921,8 @@ The output value of the neuron. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b isFiring}{\f2 [get]}{\bkmkstart AAAAAAAADQ} -{\bkmkend AAAAAAAADQ} +bool {\b isFiring}{\f2 [get]}{\bkmkstart AAAAAAAADU} +{\bkmkend AAAAAAAADU} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3638,8 +3931,8 @@ True if the neuron have a positive value with magnitude > 0.5. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual bool {\b isSleeping}{\f2 [get]}{\bkmkstart AAAAAAAADR} -{\bkmkend AAAAAAAADR} +virtual bool {\b isSleeping}{\f2 [get]}{\bkmkstart AAAAAAAADV} +{\bkmkend AAAAAAAADV} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3648,29 +3941,9 @@ True when the neuron is not persisting and has not be updated for timeToSleep se }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -Func< float3 > {\b Combinator}{\f2 [get]}{\bkmkstart AAAAAAAADS} -{\bkmkend AAAAAAAADS} -\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The combinator which combines the values from all synapses. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -Func< Vector3 > {\b Combinator}{\f2 [get]}{\bkmkstart AAAAAAAADT} -{\bkmkend AAAAAAAADT} -\par -{ -\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -The combinator which combines the values from all synapses. }{ -}\par -}\par} -\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - virtual List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} - > {\b receivers}{\f2 [get, set]}{\bkmkstart AAAAAAAADU} -{\bkmkend AAAAAAAADU} + > {\b receivers}{\f2 [get, set]}{\bkmkstart AAAAAAAADW} +{\bkmkend AAAAAAAADW} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -3734,8 +4007,8 @@ Constructor & Destructor Documentation\par ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\i parent}, string {\i name})}} \par -{\bkmkstart AAAAAAAADW} -{\bkmkend AAAAAAAADW} +{\bkmkstart AAAAAAAADY} +{\bkmkend AAAAAAAADY} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3931,8 +4204,8 @@ override {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ ShallowCloneTo ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\i parent})}} \par -{\bkmkstart AAAAAAAADX} -{\bkmkend AAAAAAAADX} +{\bkmkstart AAAAAAAADZ} +{\bkmkend AAAAAAAADZ} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3961,8 +4234,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s virtual void CloneFields ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} {\i clone}){\f2 [protected]}, {\f2 [virtual]}}} \par -{\bkmkstart AAAAAAAACW} -{\bkmkend AAAAAAAACW} +{\bkmkstart AAAAAAAACX} +{\bkmkend AAAAAAAACX} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -3988,8 +4261,8 @@ Parameters\par} static void Delete ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i nucleus}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAACM} -{\bkmkend AAAAAAAACM} +{\bkmkstart AAAAAAAACI} +{\bkmkend AAAAAAAACI} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4014,8 +4287,8 @@ Parameters\par} {\b override void UpdateStateIsolated ()}} \par -{\bkmkstart AAAAAAAADY} -{\bkmkend AAAAAAAADY} +{\bkmkstart AAAAAAAAEA} +{\bkmkend AAAAAAAAEA} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4025,34 +4298,87 @@ Update the state without updating other Nuclei. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \par }} -{\xe \v CombinatorSum\:Neuron} -{\xe \v Neuron\:CombinatorSum} +{\xe \v Combinator\:Neuron} +{\xe \v Neuron\:Combinator} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -float3 CombinatorSum ()}} +float3 Combinator (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAACF} -{\bkmkend AAAAAAAACF} +{\bkmkstart AAAAAAAACY} +{\bkmkend AAAAAAAACY} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par { {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }}\par +The combinator which combines the bias with the values from all synapses. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The sum of the synapse outputs\par +\par +}}}} +{\xe \v CombinatorSum\:Neuron} +{\xe \v Neuron\:CombinatorSum} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +static float3 CombinatorSum (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}}} +\par +{\bkmkstart AAAAAAAACJ} +{\bkmkend AAAAAAAACJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +\par }}}} {\xe \v CombinatorProduct\:Neuron} {\xe \v Neuron\:CombinatorProduct} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -float3 CombinatorProduct ()}} +static float3 CombinatorProduct (float3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAACH} -{\bkmkend AAAAAAAACH} +{\bkmkstart AAAAAAAACN} +{\bkmkend AAAAAAAACN} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4060,39 +4386,107 @@ float3 CombinatorProduct ()}} {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid Multiply the synapse outputs together. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The mutliplcation of the synapse outputs\par +The result of the multiplication\par }}}} -{\xe \v CombinatorSum\:Neuron} -{\xe \v Neuron\:CombinatorSum} +{\xe \v Combinator\:Neuron} +{\xe \v Neuron\:Combinator} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -Vector3 CombinatorSum ()}} +Vector3 Combinator (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAACG} -{\bkmkend AAAAAAAACG} +{\bkmkstart AAAAAAAACZ} +{\bkmkend AAAAAAAACZ} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par { {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -Sum the synapse outputs together. }}\par +The combinator which combines the bias with the values from all synapses. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The sum of the synapse outputs\par +\par +}}}} +{\xe \v CombinatorSum\:Neuron} +{\xe \v Neuron\:CombinatorSum} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +static Vector3 CombinatorSum (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}}} +\par +{\bkmkstart AAAAAAAACM} +{\bkmkend AAAAAAAACM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Sum the bias and synpase outputs together. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +\par }}}} {\xe \v CombinatorProduct\:Neuron} {\xe \v Neuron\:CombinatorProduct} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b -Vector3 CombinatorProduct ()}} +static Vector3 CombinatorProduct (Vector3 {\i bias}, List< {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAJ" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} + > {\i synapses}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAACI} -{\bkmkend AAAAAAAACI} +{\bkmkstart AAAAAAAACO} +{\bkmkend AAAAAAAACO} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4100,10 +4494,54 @@ Vector3 CombinatorProduct ()}} {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid Multiply the synapse outputs together. }}\par {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid -\par +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i bias} \cell }{The bias of the neuron\cell } +{\row } +\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i synapses} \cell }{The synapses of the neuron\cell } +{\row } +} {{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 -The mutliplcation of the synapse outputs\par +The result of the multiplication\par +}}}} +{\xe \v Activator\:Neuron} +{\xe \v Neuron\:Activator} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +float3 Activator (float3 {\i inputValue}){\f2 [protected]}}} +\par +{\bkmkstart AAAAAAAADA} +{\bkmkend AAAAAAAADA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i inputValue} \cell }{\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +The result of applying the activation function\par }}}} {\xe \v ActivatorLinear\:Neuron} {\xe \v Neuron\:ActivatorLinear} @@ -4111,8 +4549,8 @@ The mutliplcation of the synapse outputs\par {\b float3 ActivatorLinear (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAACX} -{\bkmkend AAAAAAAACX} +{\bkmkstart AAAAAAAADC} +{\bkmkend AAAAAAAADC} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4140,8 +4578,8 @@ The unchanged value\par {\b float3 ActivatorSqrt (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAACZ} -{\bkmkend AAAAAAAACZ} +{\bkmkstart AAAAAAAADE} +{\bkmkend AAAAAAAADE} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4169,8 +4607,8 @@ The square root of the input\par {\b float3 ActivatorPower (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADB} -{\bkmkend AAAAAAAADB} +{\bkmkstart AAAAAAAADG} +{\bkmkend AAAAAAAADG} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4198,8 +4636,8 @@ The input to the power of 2\par {\b float3 ActivatorReciprocal (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADD} -{\bkmkend AAAAAAAADD} +{\bkmkstart AAAAAAAADI} +{\bkmkend AAAAAAAADI} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4227,8 +4665,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s {\b float3 ActivatorTanh (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADF} -{\bkmkend AAAAAAAADF} +{\bkmkstart AAAAAAAADK} +{\bkmkend AAAAAAAADK} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4256,8 +4694,8 @@ Tanh(input value)\par {\b float3 ActivatorBinary (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADG} -{\bkmkend AAAAAAAADG} +{\bkmkstart AAAAAAAADL} +{\bkmkend AAAAAAAADL} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4285,8 +4723,8 @@ An uniform vector with magnitude between 0 and 1\par {\b float3 ActivatorNormalized (float3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADH} -{\bkmkend AAAAAAAADH} +{\bkmkstart AAAAAAAADM} +{\bkmkend AAAAAAAADM} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4308,14 +4746,43 @@ Parameters\par} Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 The normalized vector\par }}}} +{\xe \v Activator\:Neuron} +{\xe \v Neuron\:Activator} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +Vector3 Activator (Vector3 {\i inputValue}){\f2 [protected]}}} +\par +{\bkmkstart AAAAAAAADB} +{\bkmkend AAAAAAAADB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +Apply the activation function to the input. }}\par +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{\par +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Parameters\par} +\pard\plain \s81\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187 +\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748 +\pard \widctlpar\intbl\adjustright +{{\i inputValue} \cell }{\cell } +{\row } +} +{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \sa60 \sb30 +The result of applying the activation function\par +}}}} {\xe \v ActivatorLinear\:Neuron} {\xe \v Neuron\:ActivatorLinear} \pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { {\b Vector3 ActivatorLinear (Vector3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAACY} -{\bkmkend AAAAAAAACY} +{\bkmkstart AAAAAAAADD} +{\bkmkend AAAAAAAADD} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4343,8 +4810,8 @@ The unchanged value\par {\b Vector3 ActivatorSqrt (Vector3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADA} -{\bkmkend AAAAAAAADA} +{\bkmkstart AAAAAAAADF} +{\bkmkend AAAAAAAADF} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4372,8 +4839,8 @@ The square root of the input\par {\b Vector3 ActivatorPower (Vector3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADC} -{\bkmkend AAAAAAAADC} +{\bkmkstart AAAAAAAADH} +{\bkmkend AAAAAAAADH} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4401,8 +4868,8 @@ The input to the power of 2\par {\b Vector3 ActivatorReciprocal (Vector3 {\i input}){\f2 [protected]}}} \par -{\bkmkstart AAAAAAAADE} -{\bkmkend AAAAAAAADE} +{\bkmkstart AAAAAAAADJ} +{\bkmkend AAAAAAAADJ} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4431,8 +4898,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s virtual void AddReceiver ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i receiverToAdd}, float {\i weight} = {\f2 1}){\f2 [virtual]}}} \par -{\bkmkstart AAAAAAAACJ} -{\bkmkend AAAAAAAACJ} +{\bkmkstart AAAAAAAACF} +{\bkmkend AAAAAAAACF} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4464,8 +4931,8 @@ Parameters\par} virtual void RemoveReceiver ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} {\i receiverToRemove}){\f2 [virtual]}}} \par -{\bkmkstart AAAAAAAACK} -{\bkmkend AAAAAAAACK} +{\bkmkstart AAAAAAAACG} +{\bkmkend AAAAAAAACG} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4490,8 +4957,8 @@ Parameters\par} {\b virtual void ProcessStimulus (Vector3 {\i inputValue}){\f2 [virtual]}}} \par -{\bkmkstart AAAAAAAACL} -{\bkmkend AAAAAAAACL} +{\bkmkstart AAAAAAAACH} +{\bkmkend AAAAAAAACH} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4520,8 +4987,8 @@ Member Data Documentation\par {\b Vector3 bias = Vector3.zero}} \par -{\bkmkstart AAAAAAAACN} -{\bkmkend AAAAAAAACN} +{\bkmkstart AAAAAAAACK} +{\bkmkend AAAAAAAACK} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4578,7 +5045,7 @@ Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAI" }{}}{\fldrslt {\cs37\ul\cf2 Nucleus}}} - {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEE" }{}}{\fldrslt {\cs37\ul\cf2 ShallowCloneTo}}} + {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEG" }{}}{\fldrslt {\cs37\ul\cf2 ShallowCloneTo}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAO" }{}}{\fldrslt {\cs37\ul\cf2 parent}}} )\par @@ -4589,8 +5056,8 @@ Function to make a partial clone of this nucleus. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b UpdateStateIsolated} (){\bkmkstart AAAAAAAAEF} -{\bkmkend AAAAAAAAEF} +void {\b UpdateStateIsolated} (){\bkmkstart AAAAAAAAEH} +{\bkmkend AAAAAAAAEH} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4637,8 +5104,8 @@ Member Function Documentation\par ShallowCloneTo ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAF" }{}}{\fldrslt {\cs37\ul\cf2 Cluster}}} {\i parent}){\f2 [abstract]}}} \par -{\bkmkstart AAAAAAAAEE} -{\bkmkend AAAAAAAAEE} +{\bkmkstart AAAAAAAAEG} +{\bkmkend AAAAAAAAEG} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4668,8 +5135,8 @@ Returns\par}\pard\plain \s82\li720\widctlpar\ql\adjustright \fs20\cgrid {\s17 \s Neuron.Presets Class Reference\par \pard\plain {\tc\tcl2 \v Neuron.Presets} {\xe \v Neuron.Presets} -{\bkmkstart AAAAAAAADV} -{\bkmkend AAAAAAAADV} +{\bkmkstart AAAAAAAADX} +{\bkmkend AAAAAAAADX} {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Description\par @@ -4684,7 +5151,7 @@ Static Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADZ" }{}}{\fldrslt {\cs37\ul\cf2 Linear}}} +static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEB" }{}}{\fldrslt {\cs37\ul\cf2 Linear}}} (float weight)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4692,7 +5159,7 @@ Generate a curve for the linear activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEA" }{}}{\fldrslt {\cs37\ul\cf2 Power}}} +static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEC" }{}}{\fldrslt {\cs37\ul\cf2 Power}}} (float exponent, float weight)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4700,7 +5167,7 @@ Generate a curve for the power activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEB" }{}}{\fldrslt {\cs37\ul\cf2 Reciprocal}}} +static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 Reciprocal}}} (float weight)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4708,7 +5175,7 @@ Generate a curve for the reciprocal activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEC" }{}}{\fldrslt {\cs37\ul\cf2 Tanh}}} +static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEE" }{}}{\fldrslt {\cs37\ul\cf2 Tanh}}} (float weight)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4716,7 +5183,7 @@ Generate a curve for the tanh activation function. }{ }\par }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 Binary}}} +static AnimationCurve {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEF" }{}}{\fldrslt {\cs37\ul\cf2 Binary}}} ()\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4734,8 +5201,8 @@ Member Function Documentation\par {\b static AnimationCurve Linear (float {\i weight}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAADZ} -{\bkmkend AAAAAAAADZ} +{\bkmkstart AAAAAAAAEB} +{\bkmkend AAAAAAAAEB} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4763,8 +5230,8 @@ The curve preset\par {\b static AnimationCurve Power (float {\i exponent}, float {\i weight}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAAEA} -{\bkmkend AAAAAAAAEA} +{\bkmkstart AAAAAAAAEC} +{\bkmkend AAAAAAAAEC} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4798,8 +5265,8 @@ The curve preset\par {\b static AnimationCurve Reciprocal (float {\i weight}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAAEB} -{\bkmkend AAAAAAAAEB} +{\bkmkstart AAAAAAAAED} +{\bkmkend AAAAAAAAED} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4827,8 +5294,8 @@ The curve preset\par {\b static AnimationCurve Tanh (float {\i weight}){\f2 [static]}}} \par -{\bkmkstart AAAAAAAAEC} -{\bkmkend AAAAAAAAEC} +{\bkmkstart AAAAAAAAEE} +{\bkmkend AAAAAAAAEE} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4856,8 +5323,8 @@ The curve preset\par {\b static AnimationCurve Binary (){\f2 [static]}}} \par -{\bkmkstart AAAAAAAAED} -{\bkmkend AAAAAAAAED} +{\bkmkstart AAAAAAAAEF} +{\bkmkend AAAAAAAAEF} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par @@ -4894,9 +5361,9 @@ Public Member Functions\par { \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEG" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} +{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEI" }{}}{\fldrslt {\cs37\ul\cf2 Synapse}}} ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} - nucleus, float {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEH" }{}}{\fldrslt {\cs37\ul\cf2 weight}}} + nucleus, float {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEJ" }{}}{\fldrslt {\cs37\ul\cf2 weight}}} =1.0f)\par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4912,8 +5379,8 @@ Public Attributes\par \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} - {\b neuron}{\bkmkstart AAAAAAAAEI} -{\bkmkend AAAAAAAAEI} + {\b neuron}{\bkmkstart AAAAAAAAEK} +{\bkmkend AAAAAAAAEK} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4922,8 +5389,8 @@ The neuron from which input is received. }{ }\par} \pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b weight}{\bkmkstart AAAAAAAAEH} -{\bkmkend AAAAAAAAEH} +float {\b weight}{\bkmkstart AAAAAAAAEJ} +{\bkmkend AAAAAAAAEJ} \par { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -4943,8 +5410,8 @@ Constructor & Destructor Documentation\par ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAH" }{}}{\fldrslt {\cs37\ul\cf2 Neuron}}} {\i nucleus}, float {\i weight} = {\f2 1::0f})}} \par -{\bkmkstart AAAAAAAAEG} -{\bkmkend AAAAAAAAEG} +{\bkmkstart AAAAAAAAEI} +{\bkmkend AAAAAAAAEI} { \pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \par diff --git a/Documentation/html/search/all_1.js b/Documentation/html/search/all_1.js index 9193b74..a876156 100644 --- a/Documentation/html/search/all_1.js +++ b/Documentation/html/search/all_1.js @@ -1,11 +1,11 @@ var searchData= [ ['activationtype_0',['ActivationType',['../class_nano_brain_1_1_neuron.html#abda2c109ffc1dc92ebde0f4802c37b1f',1,'NanoBrain::Neuron']]], - ['activator_1',['activator',['../class_nano_brain_1_1_neuron.html#a7b44b9201cb62d1778628082f10bb1d8',1,'NanoBrain::Neuron']]], + ['activator_1',['activator',['../class_nano_brain_1_1_neuron.html#a89bb3565b62b372f9a9baad1b4657fc5',1,'NanoBrain.Neuron.Activator(float3 inputValue)'],['../class_nano_brain_1_1_neuron.html#a1d0ff8ec1bf2a0f7a5ee4c4ffad722ca',1,'NanoBrain.Neuron.Activator(Vector3 inputValue)'],['../class_nano_brain_1_1_neuron.html#a7b44b9201cb62d1778628082f10bb1d8',1,'NanoBrain.Neuron.activator']]], ['activatorbinary_2',['ActivatorBinary',['../class_nano_brain_1_1_neuron.html#afd3dff2960a406f480a02db7fa351e68',1,'NanoBrain::Neuron']]], ['activatorlinear_3',['activatorlinear',['../class_nano_brain_1_1_neuron.html#aff1de06241cbc2846468d82203026382',1,'NanoBrain.Neuron.ActivatorLinear(float3 input)'],['../class_nano_brain_1_1_neuron.html#a337e53a6f6aae4d31dc5c5a5d4359213',1,'NanoBrain.Neuron.ActivatorLinear(Vector3 input)']]], ['activatornormalized_4',['ActivatorNormalized',['../class_nano_brain_1_1_neuron.html#a115176d819f6eaa624803c2ee3770f32',1,'NanoBrain::Neuron']]], - ['activatorpower_5',['activatorpower',['../class_nano_brain_1_1_neuron.html#a8ec3807c2e34c26c93bd24364fb86cfd',1,'NanoBrain.Neuron.ActivatorPower(float3 input)'],['../class_nano_brain_1_1_neuron.html#a7e418a2d45b63d8d50bb790686f0180b',1,'NanoBrain.Neuron.ActivatorPower(Vector3 input)']]], + ['activatorpower_5',['activatorpower',['../class_nano_brain_1_1_neuron.html#a7e418a2d45b63d8d50bb790686f0180b',1,'NanoBrain.Neuron.ActivatorPower(Vector3 input)'],['../class_nano_brain_1_1_neuron.html#a8ec3807c2e34c26c93bd24364fb86cfd',1,'NanoBrain.Neuron.ActivatorPower(float3 input)']]], ['activatorreciprocal_6',['activatorreciprocal',['../class_nano_brain_1_1_neuron.html#a9b4e8a447335f2eea7df277b2c27110c',1,'NanoBrain.Neuron.ActivatorReciprocal(float3 input)'],['../class_nano_brain_1_1_neuron.html#a4550fa8adb4d7f967727702a630abb30',1,'NanoBrain.Neuron.ActivatorReciprocal(Vector3 input)']]], ['activatorsqrt_7',['activatorsqrt',['../class_nano_brain_1_1_neuron.html#aad821525adf08cba40407ef1924046a3',1,'NanoBrain.Neuron.ActivatorSqrt(float3 input)'],['../class_nano_brain_1_1_neuron.html#ae17b57e9db94bfd35ba6feba84eb4249',1,'NanoBrain.Neuron.ActivatorSqrt(Vector3 input)']]], ['activatortanh_8',['ActivatorTanh',['../class_nano_brain_1_1_neuron.html#a963c97a182c9e4148146c330182e5389',1,'NanoBrain::Neuron']]], diff --git a/Documentation/html/search/all_3.js b/Documentation/html/search/all_3.js index 0f6a16f..49774be 100644 --- a/Documentation/html/search/all_3.js +++ b/Documentation/html/search/all_3.js @@ -5,9 +5,9 @@ var searchData= ['clusterprefab_2',['ClusterPrefab',['../class_nano_brain_1_1_unity_1_1_cluster_prefab.html',1,'NanoBrain::Unity']]], ['collectreceivers_3',['CollectReceivers',['../class_nano_brain_1_1_cluster.html#aafd42e24f34b91e3c441943e405f14ed',1,'NanoBrain::Cluster']]], ['collectsynapsesto_4',['CollectSynapsesTo',['../class_nano_brain_1_1_cluster.html#a4bcbf4162dcb5d5722f1bcb842194780',1,'NanoBrain::Cluster']]], - ['combinator_5',['combinator',['../class_nano_brain_1_1_neuron.html#a3f5113c3ec0e521ab24c3bdd34c5389e',1,'NanoBrain.Neuron.Combinator'],['../class_nano_brain_1_1_neuron.html#ade3c65b8999bc2caea35a477a890d557',1,'NanoBrain.Neuron.Combinator'],['../class_nano_brain_1_1_neuron.html#adcd8e3279ab63ad98f34485b6403e0c9',1,'NanoBrain.Neuron.combinator']]], - ['combinatorproduct_6',['combinatorproduct',['../class_nano_brain_1_1_neuron.html#acad9a97a8f3b9df50209623e3e50bce3',1,'NanoBrain.Neuron.CombinatorProduct()'],['../class_nano_brain_1_1_neuron.html#a985c9a28b445133460cee6aa23d050ea',1,'NanoBrain.Neuron.CombinatorProduct()']]], - ['combinatorsum_7',['combinatorsum',['../class_nano_brain_1_1_neuron.html#ac336222e6d6f84cfc9f4ea68b5973166',1,'NanoBrain.Neuron.CombinatorSum()'],['../class_nano_brain_1_1_neuron.html#ab7909448ce5cda39c1e786d80a38d357',1,'NanoBrain.Neuron.CombinatorSum()']]], + ['combinator_5',['combinator',['../class_nano_brain_1_1_neuron.html#adcd8e3279ab63ad98f34485b6403e0c9',1,'NanoBrain.Neuron.combinator'],['../class_nano_brain_1_1_neuron.html#a983416d3d4382abb4ef0e4d24d99e732',1,'NanoBrain.Neuron.Combinator(Vector3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#a61f71c8a24ee7a78783648b0147048a5',1,'NanoBrain.Neuron.Combinator(float3 bias, List< Synapse > synapses)']]], + ['combinatorproduct_6',['combinatorproduct',['../class_nano_brain_1_1_neuron.html#a94b65d9e945f73d7e6cebc03acd2e36f',1,'NanoBrain.Neuron.CombinatorProduct(float3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#ab278cb03c9176522b9872b0b3460a0e0',1,'NanoBrain.Neuron.CombinatorProduct(Vector3 bias, List< Synapse > synapses)']]], + ['combinatorsum_7',['combinatorsum',['../class_nano_brain_1_1_neuron.html#a8ec8679939dad6c9ccdd39e7c2cfae04',1,'NanoBrain.Neuron.CombinatorSum(float3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#a0dbc2b80fb98e5e8c219f422f2f7aa73',1,'NanoBrain.Neuron.CombinatorSum(Vector3 bias, List< Synapse > synapses)']]], ['combinatortype_8',['CombinatorType',['../class_nano_brain_1_1_neuron.html#a1b62779c4e520ef73e1e2afe2517d487',1,'NanoBrain::Neuron']]], ['computeorders_9',['computeOrders',['../class_nano_brain_1_1_cluster.html#a3025fcf968634065929ce5e72ba6195b',1,'NanoBrain::Cluster']]], ['contents_10',['Table of Contents',['../index.html#autotoc_md1',1,'']]], diff --git a/Documentation/html/search/all_b.js b/Documentation/html/search/all_b.js index 28e55d5..a00a366 100644 --- a/Documentation/html/search/all_b.js +++ b/Documentation/html/search/all_b.js @@ -5,7 +5,7 @@ var searchData= ['nanobrain_2',['nanobrain',['../namespace_nano_brain.html',1,'NanoBrain'],['../md__2home_2pascal_2_development_2_projects_2_passer_2_nano_brain_2_nano_brain_2_assets_2_nano_brain-unitypackage_2_r_e_a_d_m_e.html',1,'NanoBrain']]], ['nanobrain_3a_3abreitenberg_3',['Breitenberg',['../namespace_nano_brain_1_1_breitenberg.html',1,'NanoBrain']]], ['nanobrain_3a_3aunity_4',['Unity',['../namespace_nano_brain_1_1_unity.html',1,'NanoBrain']]], - ['neuron_5',['neuron',['../class_nano_brain_1_1_neuron.html',1,'Neuron'],['../class_nano_brain_1_1_neuron.html#a2b8cde3a1aa3b920745bba1ccea618a4',1,'NanoBrain.Neuron.Neuron()'],['../class_nano_brain_1_1_synapse.html#a34cfd8ef359b42aec2f7fd77c1d1a37f',1,'NanoBrain.Synapse.neuron']]], + ['neuron_5',['neuron',['../class_nano_brain_1_1_neuron.html',1,'Neuron'],['../class_nano_brain_1_1_synapse.html#a34cfd8ef359b42aec2f7fd77c1d1a37f',1,'NanoBrain.Synapse.neuron'],['../class_nano_brain_1_1_neuron.html#a2b8cde3a1aa3b920745bba1ccea618a4',1,'NanoBrain.Neuron.Neuron()']]], ['nuclei_6',['nuclei',['../class_nano_brain_1_1_cluster.html#a768f118e891942c57022143067ff3c33',1,'NanoBrain::Cluster']]], ['nucleus_7',['Nucleus',['../class_nano_brain_1_1_nucleus.html',1,'NanoBrain']]] ]; diff --git a/Documentation/html/search/functions_0.js b/Documentation/html/search/functions_0.js index 52de758..993359a 100644 --- a/Documentation/html/search/functions_0.js +++ b/Documentation/html/search/functions_0.js @@ -1,13 +1,14 @@ var searchData= [ - ['activatorbinary_0',['ActivatorBinary',['../class_nano_brain_1_1_neuron.html#afd3dff2960a406f480a02db7fa351e68',1,'NanoBrain::Neuron']]], - ['activatorlinear_1',['activatorlinear',['../class_nano_brain_1_1_neuron.html#aff1de06241cbc2846468d82203026382',1,'NanoBrain.Neuron.ActivatorLinear(float3 input)'],['../class_nano_brain_1_1_neuron.html#a337e53a6f6aae4d31dc5c5a5d4359213',1,'NanoBrain.Neuron.ActivatorLinear(Vector3 input)']]], - ['activatornormalized_2',['ActivatorNormalized',['../class_nano_brain_1_1_neuron.html#a115176d819f6eaa624803c2ee3770f32',1,'NanoBrain::Neuron']]], - ['activatorpower_3',['activatorpower',['../class_nano_brain_1_1_neuron.html#a8ec3807c2e34c26c93bd24364fb86cfd',1,'NanoBrain.Neuron.ActivatorPower(float3 input)'],['../class_nano_brain_1_1_neuron.html#a7e418a2d45b63d8d50bb790686f0180b',1,'NanoBrain.Neuron.ActivatorPower(Vector3 input)']]], - ['activatorreciprocal_4',['activatorreciprocal',['../class_nano_brain_1_1_neuron.html#a9b4e8a447335f2eea7df277b2c27110c',1,'NanoBrain.Neuron.ActivatorReciprocal(float3 input)'],['../class_nano_brain_1_1_neuron.html#a4550fa8adb4d7f967727702a630abb30',1,'NanoBrain.Neuron.ActivatorReciprocal(Vector3 input)']]], - ['activatorsqrt_5',['activatorsqrt',['../class_nano_brain_1_1_neuron.html#aad821525adf08cba40407ef1924046a3',1,'NanoBrain.Neuron.ActivatorSqrt(float3 input)'],['../class_nano_brain_1_1_neuron.html#ae17b57e9db94bfd35ba6feba84eb4249',1,'NanoBrain.Neuron.ActivatorSqrt(Vector3 input)']]], - ['activatortanh_6',['ActivatorTanh',['../class_nano_brain_1_1_neuron.html#a963c97a182c9e4148146c330182e5389',1,'NanoBrain::Neuron']]], - ['addinstance_7',['addinstance',['../class_nano_brain_1_1_cluster.html#ab9c2d62634f5ff39eea2fb0d3e1a8bdc',1,'NanoBrain.Cluster.AddInstance()'],['../class_nano_brain_1_1_cluster.html#a898d208c89f585137874873ef48b8c3a',1,'NanoBrain.Cluster.AddInstance(ClusterPrefab prefab)']]], - ['addreceiver_8',['AddReceiver',['../class_nano_brain_1_1_neuron.html#a8aab0c6e45f7d0fc37ce401f7821e567',1,'NanoBrain::Neuron']]], - ['addsynapse_9',['AddSynapse',['../class_nano_brain_1_1_neuron.html#a543786edbba5dd2f46bdf48c7c64987e',1,'NanoBrain::Neuron']]] + ['activator_0',['activator',['../class_nano_brain_1_1_neuron.html#a1d0ff8ec1bf2a0f7a5ee4c4ffad722ca',1,'NanoBrain.Neuron.Activator(Vector3 inputValue)'],['../class_nano_brain_1_1_neuron.html#a89bb3565b62b372f9a9baad1b4657fc5',1,'NanoBrain.Neuron.Activator(float3 inputValue)']]], + ['activatorbinary_1',['ActivatorBinary',['../class_nano_brain_1_1_neuron.html#afd3dff2960a406f480a02db7fa351e68',1,'NanoBrain::Neuron']]], + ['activatorlinear_2',['activatorlinear',['../class_nano_brain_1_1_neuron.html#aff1de06241cbc2846468d82203026382',1,'NanoBrain.Neuron.ActivatorLinear(float3 input)'],['../class_nano_brain_1_1_neuron.html#a337e53a6f6aae4d31dc5c5a5d4359213',1,'NanoBrain.Neuron.ActivatorLinear(Vector3 input)']]], + ['activatornormalized_3',['ActivatorNormalized',['../class_nano_brain_1_1_neuron.html#a115176d819f6eaa624803c2ee3770f32',1,'NanoBrain::Neuron']]], + ['activatorpower_4',['activatorpower',['../class_nano_brain_1_1_neuron.html#a8ec3807c2e34c26c93bd24364fb86cfd',1,'NanoBrain.Neuron.ActivatorPower(float3 input)'],['../class_nano_brain_1_1_neuron.html#a7e418a2d45b63d8d50bb790686f0180b',1,'NanoBrain.Neuron.ActivatorPower(Vector3 input)']]], + ['activatorreciprocal_5',['activatorreciprocal',['../class_nano_brain_1_1_neuron.html#a9b4e8a447335f2eea7df277b2c27110c',1,'NanoBrain.Neuron.ActivatorReciprocal(float3 input)'],['../class_nano_brain_1_1_neuron.html#a4550fa8adb4d7f967727702a630abb30',1,'NanoBrain.Neuron.ActivatorReciprocal(Vector3 input)']]], + ['activatorsqrt_6',['activatorsqrt',['../class_nano_brain_1_1_neuron.html#aad821525adf08cba40407ef1924046a3',1,'NanoBrain.Neuron.ActivatorSqrt(float3 input)'],['../class_nano_brain_1_1_neuron.html#ae17b57e9db94bfd35ba6feba84eb4249',1,'NanoBrain.Neuron.ActivatorSqrt(Vector3 input)']]], + ['activatortanh_7',['ActivatorTanh',['../class_nano_brain_1_1_neuron.html#a963c97a182c9e4148146c330182e5389',1,'NanoBrain::Neuron']]], + ['addinstance_8',['addinstance',['../class_nano_brain_1_1_cluster.html#ab9c2d62634f5ff39eea2fb0d3e1a8bdc',1,'NanoBrain.Cluster.AddInstance()'],['../class_nano_brain_1_1_cluster.html#a898d208c89f585137874873ef48b8c3a',1,'NanoBrain.Cluster.AddInstance(ClusterPrefab prefab)']]], + ['addreceiver_9',['AddReceiver',['../class_nano_brain_1_1_neuron.html#a8aab0c6e45f7d0fc37ce401f7821e567',1,'NanoBrain::Neuron']]], + ['addsynapse_10',['AddSynapse',['../class_nano_brain_1_1_neuron.html#a543786edbba5dd2f46bdf48c7c64987e',1,'NanoBrain::Neuron']]] ]; diff --git a/Documentation/html/search/functions_2.js b/Documentation/html/search/functions_2.js index fbf3bcd..9322238 100644 --- a/Documentation/html/search/functions_2.js +++ b/Documentation/html/search/functions_2.js @@ -4,6 +4,7 @@ var searchData= ['cluster_1',['cluster',['../class_nano_brain_1_1_cluster.html#a7f15db45b7dae643e67e2574ec9c1f8f',1,'NanoBrain.Cluster.Cluster(ClusterPrefab prefab, Cluster parent)'],['../class_nano_brain_1_1_cluster.html#a29fe7b3d8b7b17eebc627f26e364b608',1,'NanoBrain.Cluster.Cluster(ClusterPrefab prefab, ClusterPrefab parent=null)']]], ['collectreceivers_2',['CollectReceivers',['../class_nano_brain_1_1_cluster.html#aafd42e24f34b91e3c441943e405f14ed',1,'NanoBrain::Cluster']]], ['collectsynapsesto_3',['CollectSynapsesTo',['../class_nano_brain_1_1_cluster.html#a4bcbf4162dcb5d5722f1bcb842194780',1,'NanoBrain::Cluster']]], - ['combinatorproduct_4',['combinatorproduct',['../class_nano_brain_1_1_neuron.html#acad9a97a8f3b9df50209623e3e50bce3',1,'NanoBrain.Neuron.CombinatorProduct()'],['../class_nano_brain_1_1_neuron.html#a985c9a28b445133460cee6aa23d050ea',1,'NanoBrain.Neuron.CombinatorProduct()']]], - ['combinatorsum_5',['combinatorsum',['../class_nano_brain_1_1_neuron.html#ac336222e6d6f84cfc9f4ea68b5973166',1,'NanoBrain.Neuron.CombinatorSum()'],['../class_nano_brain_1_1_neuron.html#ab7909448ce5cda39c1e786d80a38d357',1,'NanoBrain.Neuron.CombinatorSum()']]] + ['combinator_4',['combinator',['../class_nano_brain_1_1_neuron.html#a61f71c8a24ee7a78783648b0147048a5',1,'NanoBrain.Neuron.Combinator(float3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#a983416d3d4382abb4ef0e4d24d99e732',1,'NanoBrain.Neuron.Combinator(Vector3 bias, List< Synapse > synapses)']]], + ['combinatorproduct_5',['combinatorproduct',['../class_nano_brain_1_1_neuron.html#a94b65d9e945f73d7e6cebc03acd2e36f',1,'NanoBrain.Neuron.CombinatorProduct(float3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#ab278cb03c9176522b9872b0b3460a0e0',1,'NanoBrain.Neuron.CombinatorProduct(Vector3 bias, List< Synapse > synapses)']]], + ['combinatorsum_6',['combinatorsum',['../class_nano_brain_1_1_neuron.html#a8ec8679939dad6c9ccdd39e7c2cfae04',1,'NanoBrain.Neuron.CombinatorSum(float3 bias, List< Synapse > synapses)'],['../class_nano_brain_1_1_neuron.html#a0dbc2b80fb98e5e8c219f422f2f7aa73',1,'NanoBrain.Neuron.CombinatorSum(Vector3 bias, List< Synapse > synapses)']]] ]; diff --git a/Documentation/html/search/namespaces_1.js.meta b/Documentation/html/search/namespaces_1.js.meta new file mode 100644 index 0000000..2e15d2a --- /dev/null +++ b/Documentation/html/search/namespaces_1.js.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e5f5c27ddc89b1be0bc2f22b0e5a192b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/html/search/properties_2.js b/Documentation/html/search/properties_2.js index 3eb9e55..d71951e 100644 --- a/Documentation/html/search/properties_2.js +++ b/Documentation/html/search/properties_2.js @@ -1,5 +1,4 @@ var searchData= [ - ['combinator_0',['combinator',['../class_nano_brain_1_1_neuron.html#ade3c65b8999bc2caea35a477a890d557',1,'NanoBrain.Neuron.Combinator'],['../class_nano_brain_1_1_neuron.html#a3f5113c3ec0e521ab24c3bdd34c5389e',1,'NanoBrain.Neuron.Combinator']]], - ['computeorders_1',['computeOrders',['../class_nano_brain_1_1_cluster.html#a3025fcf968634065929ce5e72ba6195b',1,'NanoBrain::Cluster']]] + ['computeorders_0',['computeOrders',['../class_nano_brain_1_1_cluster.html#a3025fcf968634065929ce5e72ba6195b',1,'NanoBrain::Cluster']]] ]; diff --git a/Editor/ClusterPrefab_Drawer.cs b/Editor/ClusterPrefab_Drawer.cs new file mode 100644 index 0000000..4fa528e --- /dev/null +++ b/Editor/ClusterPrefab_Drawer.cs @@ -0,0 +1,82 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UIElements; +using UnityEditor; + +namespace NanoBrain.Unity { + + [CustomPropertyDrawer(typeof(ClusterPrefab))] + class ClusterPrefab_Drawer : PropertyDrawer { + public static void Insepctor(SerializedObject serializedObject, string propertyName) { + EditorGUILayout.PropertyField(serializedObject.FindProperty(propertyName)); + } + + // Cache VisualElement per property path to avoid recreating every frame + static Dictionary s_cache = new Dictionary(); + + const float padding = 4f; + const float elementHeight = 64f; // height reserved for the VisualElement + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { + float height = EditorGUIUtility.singleLineHeight; + if (property.objectReferenceValue != null) + height += padding + elementHeight; + return 600; //height; + } + + static Dictionary s_foldouts = new Dictionary(); + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { + label = EditorGUI.BeginProperty(position, label, property); + + // Begin indent block + int indent = EditorGUI.indentLevel; + EditorGUI.indentLevel = 0; + + // Draw the object field on the top line + Rect fieldRect = new(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight); + + EditorGUI.PropertyField(fieldRect, property, label); + if (property.objectReferenceValue is ClusterPrefab prefab) { + // key per field instance + string key = property.propertyPath + "_" + property.serializedObject.targetObject.GetEntityId(); + if (!s_foldouts.TryGetValue(key, out bool isOpen)) isOpen = true; + + // foldout header rect + Rect headerRect = new Rect(fieldRect.x, fieldRect.yMax + 4f, fieldRect.width, EditorGUIUtility.singleLineHeight); + isOpen = EditorGUI.Foldout(headerRect, isOpen, "Graph", true); + s_foldouts[key] = isOpen; + + if (isOpen) { + // content rect below header + Rect drawRect = new Rect(fieldRect.x, headerRect.yMax + 2f, fieldRect.width, 450f); + + // IMGUIContainer should be inserted here + ClusterView.Render(drawRect, prefab.cluster, property); + } + } + + EditorGUI.indentLevel = indent; + EditorGUI.EndProperty(); + } + + // public ClusterViewer.GraphView CreateViewer(Cluster cluster, GameObject gameObject) { + // VisualElement mainContainer = new() { + // style = { + // flexDirection = FlexDirection.Row, + // minHeight = 450 + // } + // }; + // ClusterViewer.GraphView graph = new(cluster); + // graph.style.flexGrow = 1; + + // mainContainer.Add(graph); + // root.Add(mainContainer); + + // graph.SetGraph(gameObject); + + // return graph; + // } + } + +} \ No newline at end of file diff --git a/Editor/ClusterPrefab_Drawer.cs.meta b/Editor/ClusterPrefab_Drawer.cs.meta new file mode 100644 index 0000000..5e136a0 --- /dev/null +++ b/Editor/ClusterPrefab_Drawer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5f43b401b7d59dec7ac7d493cbc4927d \ No newline at end of file diff --git a/Editor/ClusterView.cs b/Editor/ClusterView.cs new file mode 100644 index 0000000..9088006 --- /dev/null +++ b/Editor/ClusterView.cs @@ -0,0 +1,148 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace NanoBrain.Unity { + + public class ClusterView { + + private static readonly float size = 20; + + protected class ViewState { + public string key = null; + public Vector2 scrollPos = Vector2.zero; + public bool expandArray = false; + public Nucleus currentNucleus = null; + } + + static Dictionary viewStates = new(); + private static ViewState GetViewState(SerializedProperty property) { + string key = property.propertyPath + "_" + property.serializedObject.targetObject.GetEntityId(); + if (!viewStates.TryGetValue(key, out ViewState state)) + state = new() { key = key }; + return state; + } + + private static void UpdateViewState(ViewState viewState) { + viewStates[viewState.key] = viewState; + } + + public static void Render(Rect drawRect, Cluster cluster, SerializedProperty property) { + ViewState state = GetViewState(property); + + // background + EditorGUI.DrawRect(drawRect, Color.black); + + const float contentWidth = 1000f; + Rect contentRect = new Rect(0f, 0f, contentWidth, drawRect.height); + + // Begin horizontal-only scroll view + state.scrollPos = GUI.BeginScrollView(drawRect, state.scrollPos, contentRect, true, false); + + // Local content group: draw GUI content using content-local coords (0..contentWidth) + GUI.BeginGroup(new Rect(-state.scrollPos.x, 0f, contentWidth, drawRect.height)); + EditorGUI.DrawRect(new Rect(0f, 0f, contentWidth, drawRect.height), new Color(0.08f, 0.08f, 0.08f, 1f)); + GUI.EndGroup(); + GUI.EndScrollView(); + + // Clip to drawRect so Handles are not drawn outside the black area + GUI.BeginGroup(drawRect); + + // Inner group positions content origin so local coords match content space and respect scroll + GUI.BeginGroup(new Rect(-state.scrollPos.x, 0f, contentWidth, drawRect.height)); + + Handles.BeginGUI(); + DrawNucleus(state, cluster, new Vector2(100, 100), Color.black); + Handles.EndGUI(); + + GUI.EndGroup(); // end inner group + GUI.EndGroup(); // end clipping group + + UpdateViewState(state); + } + + protected static void DrawNucleus(ViewState state, Nucleus nucleus, Vector2 position, Color color) { + if (nucleus == null) + return; + + if (nucleus == state.currentNucleus) { + // The selected nucleus highlight ring + Handles.color = Color.white; + Handles.DrawSolidDisc(position, Vector3.forward, size + 2); + } + + if (nucleus is MemoryCell) { + Handles.color = Color.white; + Handles.DrawWireDisc(position + Vector2.right * 10, Vector3.forward, size); + } + + Handles.color = color; + Handles.DrawSolidDisc(position, Vector3.forward, size); + + Handles.color = Color.white; + // Position the label in front of the disc + //Vector3 labelPosition = position; // + (Vector2.forward * 0.1f); + + GUIStyle style = new(EditorStyles.label) { + alignment = TextAnchor.MiddleCenter, + normal = { textColor = Color.white }, + fontStyle = FontStyle.Bold, + }; + + // if (nucleus.parent is Cluster parentCluster && currentNucleus != null && parentCluster != currentNucleus.parent) + // DrawCluster(parentCluster, position, color, size); + // else if (nucleus is Cluster cluster) + // DrawCluster(cluster, position, color, size); + + if (state.expandArray == false) {// || nucleus != currentNucleus) { + // put name below nucleus + Vector3 labelPos = position - Vector2.down * (size + 5); // below neuron + style.alignment = TextAnchor.UpperCenter; + + if (nucleus.parent != null && state.currentNucleus != null && nucleus.parent != state.currentNucleus.parent && nucleus.parent is Cluster parentCluster1) { + // This neuron is part of another cluster + parentCluster1.name ??= ""; + int colonPos = parentCluster1.name.IndexOf(":"); + string baseName; + if (colonPos > 0 && colonPos < parentCluster1.name.Length - 2) + baseName = parentCluster1.name[..colonPos] + "\n"; + else + baseName = parentCluster1.name + "\n"; + Handles.Label(labelPos, baseName + nucleus.name, style); + } + else { + nucleus.name ??= ""; + int colonPos = nucleus.name.IndexOf(":"); + if (colonPos > 0 && colonPos < nucleus.name.Length - 2) { + // if it is an array, we should not show the :0 of the first element + string baseName = nucleus.name[..colonPos]; + Handles.Label(labelPos, baseName, style); + } + else + Handles.Label(labelPos, nucleus.name, style); + } + } + + // Tooltip + // Rect neuronRect = new(position.x - size, position.y - size, size * 2, size * 2); + + // int id = GUIUtility.GetControlID(FocusType.Passive); + // Event e = Event.current; + // EventType et = e.GetTypeForControl(id); + // if (e != null && neuronRect.Contains(e.mousePosition)) { + // // Process Hover + // HandleMouseHover(nucleus, neuronRect); + // // Process click + // if (e.type == EventType.MouseDown && e.button == 0) { + // // Consume the event so the scene doesn't also handle it + // e.Use(); + // if (nucleus is Cluster parentCluster2) + // OnNeuronClick(parentCluster2); + // else + // OnNeuronClick(nucleus); + // } + // } + } + } + +} \ No newline at end of file diff --git a/Editor/ClusterView.cs.meta b/Editor/ClusterView.cs.meta new file mode 100644 index 0000000..25d397c --- /dev/null +++ b/Editor/ClusterView.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8a7663ccd347fd78dbdba393c03ed7c7 \ No newline at end of file diff --git a/Editor/ClusterViewer.cs b/Editor/ClusterViewer.cs index 37c4f2b..1396890 100644 --- a/Editor/ClusterViewer.cs +++ b/Editor/ClusterViewer.cs @@ -12,7 +12,6 @@ namespace NanoBrain.Unity { public static ClusterPrefab previousPrefab; public class GraphView : VisualElement { - //protected readonly ClusterPrefab prefab; protected Cluster currentCluster; protected SerializedObject serializedBrain; protected Nucleus _currentNucleus; @@ -62,19 +61,13 @@ namespace NanoBrain.Unity { scrollView.style.position = Position.Absolute; scrollView.style.left = 0; scrollView.style.top = 0; scrollView.style.right = 0; scrollView.style.bottom = 0; - //scrollView.style.flexGrow = 1; scrollView.horizontalScrollerVisibility = ScrollerVisibility.Auto; // Auto shows when needed scrollView.verticalScrollerVisibility = ScrollerVisibility.Hidden; - graphContainer = new(OnIMGUI); - //graphContainer.style.position = Position.Relative; // or omit this line - //graphContainer.style.position = Position.Absolute; - // graphContainer.style.left = 0; graphContainer.style.top = 0; - // graphContainer.style.right = 0; graphContainer.style.bottom = 0; - graphContainer.pickingMode = PickingMode.Position; - graphContainer.focusable = true; - //graphContainer.style.width = 1200; - //graphContainer.style.width = new StyleLength(StyleKeyword.Null); // allow content to determine width + graphContainer = new(OnIMGUI) { + pickingMode = PickingMode.Position, + focusable = true + }; scrollView.contentContainer.Add(graphContainer); Add(scrollView); @@ -140,7 +133,7 @@ namespace NanoBrain.Unity { #region Graph - protected virtual void DrawGraph() { + public virtual void DrawGraph() { if (mode == Mode.Focus) DrawFocusGraph(); else diff --git a/Runtime/Scripts/Brain.cs b/Runtime/Scripts/Brain.cs index 2f7ad90..5ac2d82 100644 --- a/Runtime/Scripts/Brain.cs +++ b/Runtime/Scripts/Brain.cs @@ -4,9 +4,17 @@ using UnityEngine; namespace NanoBrain.Unity { /// - /// The NanoBrain Unity Componnent + /// A NanoBrain which can be used to control a gameobject /// - /// This implements the top-level NanoBrain Cluster + /// A NanoBrain is a small neural network which can be used to implement functional behaviour. + /// The network consists of neurons which are connected together with synapses. + /// The output values of the neurons are of type Vector3 to support spatial computing. + /// + /// This component is basically a Unity representation of a nanobrain cluster. + /// \sa + /// - \ref NanoBrain::Cluster "Cluster" + /// - \ref NanoBrain::Neuron "Neuron" + [HelpURL("https://passer.life/documentation/nanobrain/Documentation/html/class_nano_brain_1_1_unity_1_1_brain.html")] public class Brain : MonoBehaviour { /// /// The Cluster prefab from which the cluster is created diff --git a/Runtime/Scripts/Core/MemoryCell.cs b/Runtime/Scripts/Core/MemoryCell.cs index c163762..2296ad8 100644 --- a/Runtime/Scripts/Core/MemoryCell.cs +++ b/Runtime/Scripts/Core/MemoryCell.cs @@ -45,7 +45,7 @@ namespace NanoBrain { /// \copydoc NanoBrain::Nucleus::UpdateStateIsolated public override void UpdateStateIsolated() { // A memorycell does not have an activation function - var result = Combinator(); + var result = Combinator(this.bias, this.synapses); if (initialized) // Output the previous, memorized value diff --git a/Runtime/Scripts/Core/Neuron.cs b/Runtime/Scripts/Core/Neuron.cs index eba9d43..0e52ed5 100644 --- a/Runtime/Scripts/Core/Neuron.cs +++ b/Runtime/Scripts/Core/Neuron.cs @@ -12,6 +12,15 @@ namespace NanoBrain { /// /// A neuron is a basic Nucleus /// + /// A neuron combines the weighted input from other neurons and applies an activation function to it + /// to compute the output value: + /// \code + /// Vector3 combination = NanoBrain::Neuron::Combinator(bias, synapses); + /// Vector3 output = NanoBrain::Neuron::Activator(combination); + /// \endcode + /// The synapses are connections to other neurons. + /// Each connection has a weight which is used to multiply the output of that other neuron + /// before it is used by the combinator. [Serializable] public class Neuron : Nucleus { @@ -436,8 +445,8 @@ namespace NanoBrain { /// \copydoc NanoBrain::Nucleus::UpdateStateIsolated public override void UpdateStateIsolated() { - var result = Combinator(); - this.outputValue = ApplyActivator(result); + var combination = Combinator(this.bias, this.synapses); + this.outputValue = Activator(combination); this.lastUpdate = Time.time; } @@ -446,21 +455,28 @@ namespace NanoBrain { #if UNITY_MATHEMATICS /// - /// The combinator which combines the values from all synapses + /// The combinator which combines the bias with the values from all synapses /// - protected Func Combinator => combinator switch { - CombinatorType.Sum => CombinatorSum, - CombinatorType.Product => CombinatorProduct, - _ => CombinatorSum - }; + /// The bias of the neuron + /// The synapses of the neuron + /// + protected float3 Combinator(float3 bias, List synapses) { + switch (combinator) { + case CombinatorType.Sum: return CombinatorSum(bias, synapses); + case CombinatorType.Product: return CombinatorProduct(bias, synapses); + default: return CombinatorSum(bias, synapses); + } + } /// - /// Sum the synapse outputs together + /// Sum the bias and synpase outputs together /// - /// The sum of the synapse outputs - public float3 CombinatorSum() { - float3 sum = this.bias; - foreach (Synapse synapse in this.synapses) { + /// The bias of the neuron + /// The synapses of the neuron + /// + public static float3 CombinatorSum(float3 bias, List synapses) { + float3 sum = bias; + foreach (Synapse synapse in synapses) { synapse.neuron.SleepCheck(); sum += synapse.weight * synapse.neuron.outputValue; } @@ -470,10 +486,12 @@ namespace NanoBrain { /// /// Multiply the synapse outputs together /// - /// The mutliplcation of the synapse outputs - public float3 CombinatorProduct() { - float3 product = this.bias; - foreach (Synapse synapse in this.synapses) { + /// The bias of the neuron + /// The synapses of the neuron + /// The result of the multiplication + public static float3 CombinatorProduct(float3 bias, List synapses) { + float3 product = bias; + foreach (Synapse synapse in synapses) { synapse.neuron.SleepCheck(); product *= synapse.weight * synapse.neuron.outputValue; } @@ -483,34 +501,45 @@ namespace NanoBrain { #else /// - /// The combinator which combines the values from all synapses + /// The combinator which combines the bias with the values from all synapses /// - protected Func Combinator => combinator switch { - CombinatorType.Sum => CombinatorSum, - CombinatorType.Product => CombinatorProduct, - _ => CombinatorSum - }; + /// The bias of the neuron + /// The synapses of the neuron + /// + protected Vector3 Combinator(Vector3 bias, List synapses) { + switch (combinator) { + case CombinatorType.Sum: return CombinatorSum(bias, synapses); + case CombinatorType.Product: return CombinatorProduct(bias, synapses); + default: return CombinatorSum(bias, synapses); + } + } /// - /// Sum the synapse outputs together + /// Sum the bias and synpase outputs together /// - /// The sum of the synapse outputs - public Vector3 CombinatorSum() { - Vector3 sum = this.bias; - foreach (Synapse synapse in this.synapses) + /// The bias of the neuron + /// The synapses of the neuron + /// + public static Vector3 CombinatorSum(Vector3 bias, List synapses) { + float3 sum = bias; + foreach (Synapse synapse in synapses) { + synapse.neuron.SleepCheck(); sum += synapse.weight * synapse.neuron.outputValue; + } return sum; } /// /// Multiply the synapse outputs together /// - /// The mutliplcation of the synapse outputs - public Vector3 CombinatorProduct() { - Vector3 product = this.bias; - foreach (Synapse synapse in this.synapses) { - //product *= synapse.weight * synapse.neuron.outputValue; - product = Vector3.Scale(product, synapse.weight * synapse.neuron.outputValue); + /// The bias of the neuron + /// The synapses of the neuron + /// The result of the multiplication + public static Vector3 CombinatorProduct(Vector3 bias, List synapses) { + float3 product = bias; + foreach (Synapse synapse in synapses) { + synapse.neuron.SleepCheck(); + product *= synapse.weight * synapse.neuron.outputValue; } return product; } @@ -528,7 +557,7 @@ namespace NanoBrain { /// /// The result of applying the activation function // This does not allocate memory and seems faster than a switch expression - float3 ApplyActivator(float3 inputValue) { + protected float3 Activator(float3 inputValue) { switch (activator) { case ActivationType.Linear: return ActivatorLinear(inputValue); case ActivationType.Sqrt: return ActivatorSqrt(inputValue); @@ -625,15 +654,15 @@ namespace NanoBrain { /// /// The result of applying the activation function // This does not allocate memory and seems faster than a switch expression - Vector3 ApplyActivator(Vector3 inputValue) { + protected Vector3 Activator(Vector3 inputValue) { switch (activator) { case ActivationType.Linear: return ActivatorLinear(inputValue); case ActivationType.Sqrt: return ActivatorSqrt(inputValue); case ActivationType.Power: return ActivatorPower(inputValue); case ActivationType.Reciprocal: return ActivatorReciprocal(inputValue); - case ActivationType.Tanh: return ActivatorTanh(inputValue); - case ActivationType.Binary: return ActivatorBinary(inputValue); - case ActivationType.Normalized: return ActivatorNormalized(inputValue); + // case ActivationType.Tanh: return ActivatorTanh(inputValue); + // case ActivationType.Binary: return ActivatorBinary(inputValue); + // case ActivationType.Normalized: return ActivatorNormalized(inputValue); default: return ActivatorLinear(inputValue); } } diff --git a/Samples/Breitenberg/Breitenberg.asset b/Samples/Breitenberg/Breitenberg.asset new file mode 100644 index 0000000..b0447db --- /dev/null +++ b/Samples/Breitenberg/Breitenberg.asset @@ -0,0 +1,26 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 60a957541c24c57e78018c202ebb1d9b, type: 3} + m_Name: Breitenberg + m_EditorClassIdentifier: Assembly-CSharp::NanoBrain.Unity.ClusterPrefab + cluster: + name: + parent: + rid: -2 + prefab: {fileID: 0} + instanceCount: 0 + nuclei: [] + references: + version: 2 + RefIds: + - rid: -2 + type: {class: , ns: , asm: } diff --git a/Samples/Breitenberg/Breitenberg.asset.meta b/Samples/Breitenberg/Breitenberg.asset.meta new file mode 100644 index 0000000..53dceaa --- /dev/null +++ b/Samples/Breitenberg/Breitenberg.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f6472e5b4459918cab23832c0545c832 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Breitenberg/Scripts/Vehicle.cs b/Samples/Breitenberg/Scripts/Vehicle.cs index 65526ba..1849c45 100644 --- a/Samples/Breitenberg/Scripts/Vehicle.cs +++ b/Samples/Breitenberg/Scripts/Vehicle.cs @@ -22,6 +22,8 @@ namespace NanoBrain.Breitenberg { public Rigidbody rb; public float turnTorque = 5f; // rotational influence + public Unity.ClusterPrefab brain; + void FixedUpdate() { float sL = sensorLeft.output; float sR = sensorRight.output;
 CBrainThe NanoBrain Unity Componnent
 CBrainA NanoBrain which can be used to control a gameobject
 CClusterPrefabThe Unity ScriptableObject to implement re-usable Cluster Prefabs
 CNucleusA Nucleus is a basic element in a brain cluster
 CClusterA Cluster combines a collection of Nuclei to implement reusable behaviour

Classes

class  Brain
 The NanoBrain Unity Componnent. More...
 A NanoBrain which can be used to control a gameobject. More...
 
class  ClusterPrefab
 The Unity ScriptableObject to implement re-usable Cluster Prefabs. More...