package Ġwe . r ash ch enko . ne urons . inputs Ċ Ċ import Ġwe . r ash ch enko . base . Feedback Ċ import Ġwe . r ash ch enko . base . Hidden Activity Ċ import Ġwe . r ash ch enko . networks . Neural Network Ċ import Ġwe . r ash ch enko . ne urons . Neuron Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof Ġthe Ġ[ Input Neuron ] Ġthat Ġcopies Ġvalue Ġof Ġthe Ġinternal Ġ[ base Neuron ] Ċ Ġ* Ġ Ġignoring Ġthe Ġ[ external Activity ]. Ċ Ġ* ĠThat Ġ[ external Activity ] Ġis Ġused Ġto Ġcalculate Ġ[ get Internal Feedback ]. Ċ Ġ* ĠInternal Ġfeedback Ġis Ġbased Ġon Ġthe Ġmismatch Ġof Ġthese Ġinternal Ġand Ġexternal Ġactivities . Ċ Ġ* ĠThat Ġ[ Input Neuron ] Ġis Ġgood Ġfor Ġtraining , Ċ Ġ* Ġ Ġbut Ġdoes Ġnot Ġallow Ġexternal Ġactivity Ġto Ġinitially Ġappear Ġat Ġ[ Neural Network ]. Ċ Ġ*/ Ċ class ĠSuper vised Neuron ( ĊĠĠĠ Ġoverride Ġval Ġexternal Activity : ĠHidden Activity , Ġoverride Ġval Ġbase Neuron : ĠNe uron Ċ ) Ġ: ĠInput Neuron Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġupdate ( feedback : ĠFeedback , Ġtime Step : ĠLong ) Ġ= Ġbase Neuron . update ( ĊĠĠĠĠĠĠĠ Ġif Ġ( external Activity . hidden ) Ġfeedback Ġelse Ġget Internal Feedback (), Ġtime Step ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Internal Feedback (): ĠFeedback Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( external Activity . hidden ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeedback . NE UT R AL ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( external Activity . active Ġ== Ġbase Neuron . active ) ĠFeedback . VERY _ POSITIVE Ġelse ĠFeedback . VERY _ NEGATIVE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch ( source Id : ĠInt , Ġtime Step : ĠLong ) Ġ= Ġbase Neuron . touch ( source Id , Ġtime Step ) ĊĠĠĠ Ġoverride Ġfun Ġforget Source ( source Id : ĠInt ) Ġ= Ġbase Neuron . for getSource ( source Id ) ĊĠĠĠ Ġoverride Ġfun Ġget Feedback ( source Id : ĠInt ): ĠFeedback Ġ= Ġbase Neuron . get Feedback ( source Id ) ĊĊĠĠĠ Ġoverride Ġval Ġactive : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbase Neuron . active Ċ }