--- include_toc: true --- # winnertakeall.md ## WINNERTAKEALL Expansions and modulations: - is expanded by: organs - expands: [NEURON](../../elements/neuron/neuron.md) - tunes: [PRESYNAPSE](../../elements/neuron/presynapse.md), [POSTSYNAPSE](../../elements/neuron/postsynapse.md), [ASTROSYNAPSE](../../elements/astrocyte/astrosynapse.md) Qui comprendiamo i behaviors che associamo al 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 ```Gen WINNERTAKEALL include: ../../elements/neuron.md type: comprehension // Expansion @NEU_005: EXPAND [ comprehension: NEURON ] @NEU_006: EXPAND [ comprehension: NEURON ] // Intrication // Scope !NIGHT: INTRICATE [ scope: &ORGANISM.!NIGHT] // Container Instantiation // external $OUT-EXCI-001: INSTANTIATE [ container: OUT_EXCITATION, argument: COLLECTION [ pre: ( @NEU_001.@AXO_001._presynapse, @NEU_002.@AXO_001._presynapse ) ] ] $IN-EXCI-001: INSTANTIATE [ container: IN_EXCITATION, argument: COLLECTION [ post: ( @NEU_001.@D_BRANCH_002._postsynapse, @NEU_002.@D_BRANCH_002._postsynapse ) astro: &ASTROCYTE._astrosynapse ] ] $IN-INHI-001: INSTANTIATE [ container: IN_INHIBITION, argument: COLLECTION [ post: ( @NEU_001.@SOMA_001._somasynapse, @NEU_002.@SOMA_001._somasynapse ) astro: &ASTROCYTE._astrosynapse ] ] // internal Area xxx void: INSTANTIATE [ container: EXCITATION, argument: 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 void: INCLUDE [ contextor: ExcitationPossible, event: act 12x ] // snippet: *ActivateAstroPostPre void: INCLUDE [ binder: ExcitationBind, event: act 12x, cost: act 3x ] void: INCLUDE [ accumulator: ClearTraces, event: act 12x, cost: act 3x ] // snippet: *DeActivateAstroPost void: INCLUDE [ binder: ExcitationUnbind, event: act 12x, cost: act 3x ] ``` #### *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 ```