92 lines
2.8 KiB
Markdown
92 lines
2.8 KiB
Markdown
# BEH-WTA.md
|
|
|
|
## BEH-WTA: Container
|
|
|
|
**Winner Take All**: 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:
|
|
|
|
- dichiara NEU-x i neuroni
|
|
- dichiara AST-x gli astrociti
|
|
- collega un NEU-x con un altro NEU-y e con un AST-x
|
|
- specifica che tipologia: excitation o inhibition
|
|
- se inhibition il TRG e'SOMA, se exhitation il TRG e' BDx
|
|
- specifica il BEH-EXH, ad esempio, che e' il comportamento di ciascuna riga espansiva. E serve a gestire l'accoppiamento atttuale fra NEU-x, NEU-y e AST-x.
|
|
specifica INC-x, OUT-x, @ che sono dei placeholders per neuroni e astrorcita che verranno specificati da un'espansione piu' in alto, tipo BEH-ORG.
|
|
- i template servono solo a semplificare l'espressione dell'espansione, senza appesantirla troppo.
|
|
- posso pensare di produrre il circuito in ambiente visuale tipo DrawIO, e avere un parser che me lo trasforma in questa sintassi.
|
|
|
|
---
|
|
|
|
**When parser sees**:
|
|
|
|
- boundary-inh-001: NEU-003, OUT-001, @
|
|
|
|
Template lookup:
|
|
|
|
- boundary-inh-001: BEH-INC, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST}
|
|
|
|
Substitution:
|
|
|
|
- behaviour = BEH-INC # loaded from BEH-INC.md
|
|
- {SRC} = NEU-003 # presynaptic neuron
|
|
- {TGT} = OUT-001 # outgoing port
|
|
- {x} = not required # template targets SOMA, no {x}
|
|
- {AST} = @ # unknown, specified from above
|
|
|
|
Result:
|
|
|
|
- NEU-003.BEH-AXO -[inhibits]-> OUT-001.BEH-SOMA ~@
|
|
behaviour: BEH-INC from BEH-INC.md
|
|
|
|
```Gen
|
|
container: BEH-WTA
|
|
|
|
include:
|
|
- BEH-EXT.md
|
|
- BEH-INH.md
|
|
- BEH-INC.md
|
|
- BEH-OUT.md
|
|
|
|
components:
|
|
|
|
templates:
|
|
|
|
internal-exh-001: BEH-EXT, {SRC}.BEH-AXO -[excites]-> {TGT}.BEH-BD({x}) ~{AST}
|
|
|
|
internal-inh-001: BEH-INH, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST}
|
|
|
|
boundary-exh-001: BEH-EXT, {SRC}.BEH-AXO -[excites]-> {TGT}.BEH-BD({x}) ~{AST}
|
|
|
|
boundary-inh-001: BEH-INC, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST}
|
|
|
|
elements:
|
|
NEU-001: BEH.N from N.md
|
|
NEU-002: BEH.N from N.md
|
|
NEU-003: BEH.N from N.md
|
|
NEU-004: BEH.N from N.md
|
|
AST-001: AST from AST.md
|
|
AST-002: AST from AST.md
|
|
|
|
incoming_elements:
|
|
INC-001 # Neurone che sara' specificato piu' in "alto" perche' alla frontiera
|
|
INC-002
|
|
|
|
outgoing_elements:
|
|
OUT-001 # Neurone che sara' specificato piu' in "alto" perche' alla frontiera
|
|
OUT-002
|
|
|
|
expansion:
|
|
|
|
# AREA-001
|
|
- internal-exh-001: NEU-001, NEU-003.(1), AST-001
|
|
- internal-inh-001: NEU-002, NEU-003, AST-002
|
|
|
|
# AREA-002
|
|
- internal-exh-001: NEU-003, NEU-003.(3), AST-001
|
|
- internal-exh-001: NEU-004, NEU-002.(1), AST-002
|
|
|
|
# AREA-003
|
|
- boundary-exh-001: INC-001, NEU-001.(1), @
|
|
- boundary-inh-001: NEU-003, OUT-001, @
|
|
```
|