********************* $ loaddefs link d_Qndfs 'callerID-SNNs/callerID-SNNs.ndf' library file, NOT run by itself, run from header eg 'callerID-SNNs- test.ndf' Nomenclature : 08********08 create new [list, sequence, pattern]s - randomness approach +-----+ synFracSeq_nSeq_makeRdm_synSeq IS OP synFracSeq nSeq - random spike sequence of length nSeq synFracSeq = fraction of sequence that is l synFracPat_nSynPat_makeRdm_synPat IS - random bool sequence of length nSynPat synPat@0 = l synPat_in_synSeq IS OP synPat synSeq - checks synPat for presence in synSeq syn[Pat, Seq] must be of same nSeq (length)!! this simplest filter requires an absolute match +-----+ nur-specific synPatA FIFO buffers - 1st timeScale is tSyn, feeds up timescales all operators in this section have synPatA specific to ONE nur only!!! tSyn = smallest delta(time) in callerID-SNN, equal to detectable post-synaptic blurb synSeqA = post-synaptic blurb timeline from all nurInn specific to nur nurSynPatA - if [complete, recognized] in synSeqA indicates that nurInn fired nurSpkA@(nur nurInn tSyn=0) nur's timeScale at tSyn level that nurInn fired firT01L_synSeqA_advance IS - given firT01L, FIFO advance ALL synSeqA of ALL nur advances synSeqA, including "future" synSeqA to come in from firT01L current tSyn is midpoint of synSeqA firT01L_synSeqA_advance IS - for testing, as one wouldn't normally know firT01L in future for simplicity, it is assumed that firing occurs only tFire = nSynPat * tSyn that way, all nSynPat old synSeqA are cleared +-----+ grp-specific synPatA FIFO buffers - [syn, fir] operators with inputs grp is a group of interconnected neurons, including input neurons all operators in this section have synPatA specific to ALL neurons of the group except for the input neurons!!! noise is injected for all processes inn_syn_fire - input neurons, syn[Pat, Seq]s, firing invocation AFTER synPatAL updated for each nur (neuron) except : innNurA, [inn, out] nurLs; fire when firPat satisfied 08********08 [Turing, von Neuman]-like code +-----+ oneDat code : cmdBitShift IS cmdLn IS cmdExp IS cmdOpp IS cmdInvert IS cmdSin IS cmdCos IS cmdTan IS cmdArcSin IS cmdArcCos IS cmdInvert IS cmdArcTan IS cmdInvert IS +-----+ twoDat code : cmdAdd IS cmdMinus IS cmdMultiply IS cmdDivide IS cmdInvert IS +-----+ threeDat code : cmdInvert IS cmdInvert IS cmdInvert IS cmdInvert IS cmdInvert IS +-----+ locate seq, find [cmd, dat], not sure [same, diff]*[DNA, RNA, mRNA, etc] : DNA_transcribe_RNA IS - for program [, segment]? RNA_microTube_addr IS - for program [, segment]? RNA_get_seq IS RNA_cut_seq IS +-----+ baseLoop : cmdInvert IS baseLoop IS - specify program code baseLoop IS - run program code, [run, build] subCod