public void Update(TransportTruck transportTruck)
        {
            var translatedData = Parse(transportTruck.Changes.Cast <RecordData>());

            var itemModel = _learner.Learn(translatedData.x, translatedData.y);

            if (!_bayesianModel.ContainsKey(transportTruck.Id))
            {
                _bayesianModel.Add(transportTruck.Id, itemModel);
                return;
            }

            _bayesianModel[transportTruck.Id] = itemModel;
        }
Exemple #2
0
        public static List <TransportTruck> CreateRandomFleet(int size)
        {
            // By IoC
            IWiseActor wiseActor = new WiseActor();

            var random = new Random();

            Func <int, bool, string> randomString = (int length, bool lowerCase) =>
            {
                var builder = new StringBuilder(length);

                // Unicode/ASCII Letters are divided into two blocks
                // (Letters 65–90 / 97–122):
                // The first group containing the uppercase letters and
                // the second group containing the lowercase.

                // char is a single Unicode character
                char      offset        = lowerCase ? 'a' : 'A';
                const int lettersOffset = 26; // A...Z or a..z: length = 26

                for (var i = 0; i < length; i++)
                {
                    var @char = (char)random.Next(offset, offset + lettersOffset);
                    builder.Append(@char);
                }

                return(lowerCase ? builder.ToString().ToUpper() : builder.ToString());
            };

            var fleet = new List <TransportTruck>();

            for (var i = 0; i < size; i++)
            {
                var truck = new TransportTruck(
                    Guid.NewGuid(),
                    randomString(6, false),
                    50,
                    90,
                    wiseActor
                    );

                // Bind optional logger domain action
                truck.DomainLog = DemoLogger.DomainLog;

                fleet.Add(truck);
            }
            return(fleet);
        }