public RLayer(int neuronCount, int m, double speed) : base(neuronCount, m, speed) { neurons = new RNeuron[neuronCount]; for (var j = 0; j < neuronCount; j++) { neurons[j] = new RNeuron(m); } }
public void WriteLog() { var logger = Logger.Instance; logger.WriteMessage("========================================================================"); //logger.WriteMessage("=============================== STEP ==============================="); logger.WriteMessage(string.Format("============================== STEP {0} ===============================", _stepNo++)); logger.WriteMessage("======================================================================"); for (var i = 0; i < _workingFieldNofRows; i++) { for (var j = 0; j < _workingFieldNofColumns; j++) { var element = _map.GetElement(i, j) as ICrossroad; if (element == null) { continue; } logger.WriteMessage(""); logger.WriteMessage(string.Format("CROSSROAD [{0},{1}] DATA", i, j)); logger.WriteMessage(""); logger.WriteMessage("MATRIX W0:"); logger.WriteMessage(""); var ccr = element.CrossroadController as CrossroadControllerReinforcement; if (ccr != null) { var m0 = ((CrossroadControllerReinforcement)element.CrossroadController).W0; for (var k = 0; k < 12; k++) { var str = string.Format( "{0,9:0.0000} {1,9:0.0000} {2,9:0.0000} {3,9:0.0000} {4,9:0.0000} {5,9:0.0000} {6,9:0.0000} {7,9:0.0000} {8,9:0.0000} {9,9:0.0000} {10,9:0.0000} {11,9:0.0000}", m0[k, 0], m0[k, 1], m0[k, 2], m0[k, 3], m0[k, 4], m0[k, 5], m0[k, 6], m0[k, 7], m0[k, 8], m0[k, 9], m0[k, 10], m0[k, 11]); logger.WriteMessage(str); } } logger.WriteMessage(""); logger.WriteMessage(string.Format("TRAFFIC LIGHTS STATUSES:{0}", GetCrossroadTrafficLightsStatusesAsString(element))); logger.WriteMessage(""); logger.WriteMessage(string.Format("LEFT TO UP TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.LeftToUpTrafficData.TrafficSpeed, element.LeftToUpTrafficData.TrafficDensity, element.LeftToUpNofPassedCars)); logger.WriteMessage(string.Format("LEFT TO RIGHT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.LeftToRightTrafficData.TrafficSpeed, element.LeftToRightTrafficData.TrafficDensity, element.LeftToRightNofPassedCars)); logger.WriteMessage(string.Format("LEFT TO DOWN TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.LeftToDownTrafficData.TrafficSpeed, element.LeftToDownTrafficData.TrafficDensity, element.LeftToDownNofPassedCars)); logger.WriteMessage(string.Format("UP TO LEFT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.UpToLeftTrafficData.TrafficSpeed, element.UpToLeftTrafficData.TrafficDensity, element.UpToLeftNofPassedCars)); logger.WriteMessage(string.Format("UP TO DOWN TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.UpToDownTrafficData.TrafficSpeed, element.UpToDownTrafficData.TrafficDensity, element.UpToDownNofPassedCars)); logger.WriteMessage(string.Format("UP TO RIGHT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.UpToRightTrafficData.TrafficSpeed, element.UpToRightTrafficData.TrafficDensity, element.UpToRightNofPassedCars)); logger.WriteMessage(string.Format("RIGHT TO UP TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.RightToUpTrafficData.TrafficSpeed, element.RightToUpTrafficData.TrafficDensity, element.RightToUpNofPassedCars)); logger.WriteMessage(string.Format("RIGHT TO LEFT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.RightToLeftTrafficData.TrafficSpeed, element.RightToLeftTrafficData.TrafficDensity, element.RightToLeftNofPassedCars)); logger.WriteMessage(string.Format("RIGHT TO DOWN TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.RightToDownTrafficData.TrafficSpeed, element.RightToDownTrafficData.TrafficDensity, element.RightToDownNofPassedCars)); logger.WriteMessage(string.Format("DOWN TO LEFT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.DownToLeftTrafficData.TrafficSpeed, element.DownToLeftTrafficData.TrafficDensity, element.DownToLeftNofPassedCars)); logger.WriteMessage(string.Format("DOWN TO UP TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.DownToUpTrafficData.TrafficSpeed, element.DownToUpTrafficData.TrafficDensity, element.DownToUpNofPassedCars)); logger.WriteMessage(string.Format("DOWN TO RIGHT TRAFFIC SPEED:{0,7:0.0000}; TRAFFIC DENSITY:{1,7:0.0000}; NOF PASSED CARS:{2,7:0.0000}", element.DownToRightTrafficData.TrafficSpeed, element.DownToRightTrafficData.TrafficDensity, element.DownToRightNofPassedCars)); logger.WriteMessage(""); if (ccr != null) { for (var k = 0; k < ccr.HNeurons.Length; k++) { var hNeuron = ccr.HNeurons[k]; logger.WriteMessage(string.Format("H NEURON [{0,2}] DENDRITS:{1}", k, GetNeuronDendritsAsString(hNeuron))); logger.WriteMessage(string.Format("H NEURON [{0,2}] AXON:{1,7:0.0000}", k, hNeuron.axon)); } logger.WriteMessage(""); for (int k = 0; k < ccr.RNeurons.Length; k++) { RNeuron rNeuron = ccr.RNeurons[k]; logger.WriteMessage(string.Format("R NEURON [{0,2}] DENDRITS:{1}", k, GetNeuronDendritsAsString(rNeuron))); logger.WriteMessage(string.Format("R NEURON [{0,2}] AXON:{1,7:0.0000}", k, rNeuron.axon)); } } } } logger.WriteMessage(""); }