--- 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 @OUT-EXCI-001: BEHAVIOUR [ behaviour: OUT_EXCITATION, __GroupPossible: GROUP [ pre: @NEU_001.@AXO_001._presynapse, pre: @NEU_002.@AXO_001._presynapse ] ] @IN-EXCI-001: BEHAVIOUR [ behaviour: IN_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 [ behaviour: 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 [ behaviour: 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 snippet: # *Fixed @: CONTEXTOR [snip: ExcitationPossible, RF: active 60x] # *ActivateAstroPostPre @: BINDER [snippet: ExcitationBind, RF: active 6x] @: ACCUMULATOR [snippet: ClearTraces, RF: active 6x] *DeActivateAstroPost @: BINDER [snippet: ExcitationUnbind, RF: active 6x] ``` #### *Fixed ##### ExcitationPossible Qui devo capire queste tracce chi le lascia e se sono esclusive? ```Gen ExcitationPossible in_context: &Fixed condition: ??? out_context: *ActivateAstroPostPre condition: ( BadTraces fullness ) out_context: *DeActivateAstroPost ``` ##### *ActivateAstroPostPre ###### ExcitationBind Qui attiviamo la Syn collegando Pre e Post. Lo facciamo per tutte le relazioni fino a quando GoodTraces fullness ```Gen ExcitationBind 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 ###### ExcitationUnbind Qui deattiviamo la Syn ```Gen ExcitationUnbind # 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? ```