--- 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 [ comprehension: NEURON ] @NEU_006: EXPAND [ comprehension: NEURON ] instantiation: # Scope !NIGHT: SCOPE [ reference: &ORGANISM.!NIGHT] # Behaviour ## external @OUT-EXCI-001: BEHAVIOUR [ behaviour: OUT_EXCITATION, collection: COLLECTION [ pre: ( @NEU_001.@AXO_001._presynapse, @NEU_002.@AXO_001._presynapse ) ] ] @IN-EXCI-001: BEHAVIOUR [ behaviour: IN_EXCITATION, collection: COLLECTION [ post: ( @NEU_001.@D_BRANCH_002._postsynapse, @NEU_002.@D_BRANCH_002._postsynapse ) astro: &ASTROCYTE._astrosynapse ] ] @IN-INHI-001: BEHAVIOUR [ behaviour: IN_INHIBITION, collection: COLLECTION [ post: ( @NEU_001.@SOMA_001._somasynapse, @NEU_002.@SOMA_001._somasynapse ) astro: &ASTROCYTE._astrosynapse ] ] ## internal ### Area xxx @: BEHAVIOUR [ behaviour: EXCITATION, collection: COLLECTION [ pre: @NEU_001.@AXON-001._presynapse, post: @NEU_001.@D_BRANCH_001._postsynapse, astro: &ASTROCYTE._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 bind: ( collection.pre, collection.post, collection.astro ) trace: #qui possiamo lasciare le tracce di un tentativo di attivare non possibile, che dovrebbe andare all'ASTRO ``` ###### 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 unbind: ( collection.pre, collection.post, collection.astro ) trace: Qui non dovrebbe arrivare se ci sono tracce di BadTraces, generate da synapsi attive ```