157 lines
4.4 KiB
Markdown
157 lines
4.4 KiB
Markdown
---
|
|
include_toc: true
|
|
---
|
|
|
|
# winnertakeall.md
|
|
|
|
## WINNERTAKEALL
|
|
Qui comprendiamo i behaviors che associamo al winnertakeall. I comportamenti li consideriamo avvenire di NIGHT. E' un po' una novita' ma ha senso, si tratta di un comportamento a livello di circuiti, e quindi riorganizzazione notturna.
|
|
- Questo e' il nuovo tipo di espansione che permette di specificare un "circuito" di possibilita'. A differenza di BD che espande PRE implicitamente e trattando PRE tutti allo stesso modo.
|
|
- l'espansione determina la forma dei "circuiti" espressi dal winnertakeall.
|
|
- L'eventuale modulazione di winnertakeall, per ora non la prendo in considerazione. Sarebbe creare nuove relations che servirebbero quando si allungano AXON, o addirittura si creano nuovi neuroni.
|
|
- in excitation e inhibition facciamo il binding di PRESYNAPSE, POSTSYNAPSE e ASTROSYNAPSE e implicitamente creaiamo e eliminiamo synapse
|
|
- @XXX e' un'attualita' che viene espressa direttamente, non calcolata dal interprete come per espansione di PRESYNAPSE. L'attualita' espressa viene riferita.
|
|
|
|
```Gen
|
|
WINNERTAKEALL
|
|
|
|
type: comprehension
|
|
|
|
include:
|
|
../../elements/neuron.md
|
|
|
|
expansion:
|
|
@NEU_005: EXPAND [ comp: NEURON ]
|
|
@NEU_006: EXPAND [ comp: NEURON ]
|
|
|
|
instantiation:
|
|
|
|
# Scope
|
|
!NIGHT: SCOPE [ reference: &ORGANISM.!NIGHT]
|
|
|
|
# Behaviour
|
|
|
|
## external
|
|
|
|
@IN-EXCI-001: BEHAVIOUR [ beh: IN_EXCITATION, __GroupPossible: GROUP [
|
|
post: @NEU_001.@AXO_001._presynapse,
|
|
post: @NEU_002.@AXO_001._presynapse ] ]
|
|
|
|
@OUT-EXCI-001: BEHAVIOUR [ beh: OUT_EXCITATION, __GroupPossible: GROUP [
|
|
post: @NEU_001.@D_BRANCH_002._postsynapse,
|
|
post: @NEU_002.@D_BRANCH_002._postsynapse,
|
|
astro: @NEU_001.@D_BRANCH_002._astrosynapse ] ]
|
|
|
|
@IN-INHI-001: BEHAVIOUR [ beh: IN_INHIBITION, __GroupPossible: GROUP [
|
|
post: @NEU_001.@SOMA_001._somasynapse,
|
|
post: @NEU_002.@SOMA_001._somasynapse,
|
|
astro: @NEU_001.@SOMA_001._somasynapse ] ]
|
|
|
|
## internal
|
|
|
|
### Area xxx
|
|
|
|
@: BEHAVIOUR [ beh: EXCITATION, __GroupPossible: GROUP [
|
|
pre: @NEU_001.@AXON-001._presynapse,
|
|
post: @NEU_001.@D_BRANCH_001._postsynapse,
|
|
astro: @NEU_001.@D_BRANCH_001._astrosynapse ] ]
|
|
```
|
|
|
|
### EXCITATION
|
|
|
|
```Gen
|
|
EXCITATION
|
|
|
|
type: container
|
|
|
|
activity_scope: !NIGHT
|
|
|
|
snippets:
|
|
|
|
# *Fixed
|
|
@: CONTEXTOR [snip: Excitation_possible, RF: active 60x]
|
|
|
|
# *ActivateAstroPostPre
|
|
@: BINDER [snip: Excitation_bind, RF: active 6x]
|
|
@: ACCUMULATOR [snip: ClearTraces, RF: active 6x]
|
|
|
|
*DeActivateAstroPost
|
|
@: BINDER [snip: Excitation_unbind, RF: active 6x]
|
|
```
|
|
|
|
#### *Fixed
|
|
|
|
##### Excitation_possible
|
|
|
|
Qui devo capire queste tracce chi le lascia e se sono esclusive?
|
|
|
|
```Gen
|
|
Excitation_possible
|
|
|
|
in_context: &Fixed
|
|
|
|
condition: ???
|
|
out_context: *ActivateAstroPostPre
|
|
|
|
condition: ( BadTraces fullness )
|
|
out_context: *DeActivateAstroPost
|
|
```
|
|
|
|
##### *ActivateAstroPostPre
|
|
|
|
###### Excitation_bind
|
|
|
|
Qui attiviamo la Syn collegando Pre e Post. Lo facciamo per tutte le relazioni fino a quando GoodTraces fullness
|
|
|
|
```Gen
|
|
Excitation_bind
|
|
|
|
in_context: &ActivateAstroPostPre
|
|
|
|
hypothesis: ( GoodTraces fullness ) AND NOT ( _Astrosynapse full ) AND NOT ( _Presynapse full ) AND NOT ( _Postsynapse full)
|
|
bind: [_Presynapse increase, _Postsynapse increase, _Astrosynapse increase]
|
|
trace: None?
|
|
|
|
hypothesis: ( GoodTraces fullness ) AND
|
|
( NOT __GroupPossible.pre full ) AND
|
|
( NOT __GroupPossible.post full ) AND
|
|
( NOT __GroupPossible.astro full)
|
|
bind: [__GroupPossible.pre, __GroupPossible.post, __GroupPossible.astro ]
|
|
trace: None?
|
|
```
|
|
|
|
###### ClearTraces
|
|
|
|
```Gen
|
|
ClearTraces
|
|
|
|
in_context: &ActivateAstroPostPre
|
|
|
|
hypothesis: GoodTraces NOT empty
|
|
action: GoodTraces decrease
|
|
trace: None?
|
|
```
|
|
|
|
##### *DeActivateAstroPostPre
|
|
|
|
###### Excitation_unbind
|
|
|
|
Qui deattiviamo la Syn
|
|
|
|
```Gen
|
|
Excitation_unbind
|
|
|
|
# Devo essere sicuro di eliminare i 3 che sono collegati, non a caso. Qui forse il Bind e' prima della ipotesi, perche' dobbiamo assicurarci ci sia una sinapsi da sciogliere.
|
|
|
|
in_context: &DeActivateSynPostPre
|
|
|
|
hypothesis: (BadTraces fullness) AND (NOT bind_condition[__GroupPossible.pre, __GroupPossible.post, __GroupPossible.astro] empty )
|
|
unbind: [__GroupPossible.pre, __GroupPossible.post, __GroupPossible.astro]
|
|
trace: None?
|
|
|
|
hypothesis: ( NOT _synapse empty )
|
|
action:
|
|
@: UNBIND [ syn: _synapse ]
|
|
|
|
```
|