コード例 #1
0
        //private static Mutex sendMessageMutex = new Mutex();


        public DifferentCarbox(GlobalSettings settings) : base(settings)
        {
            RequireSeed         = true;
            RequiredNumRuleSets = 1;
            AutoPlay            = true;

            Seed = new candidate(OBFunctions.tagconvexhullpoints(settings.seed), settings.numOfRuleSets);

            _runDirectory = Path.Combine(settings.OutputDirAbs, "RandomRuleApplication", CARBOXTYPE);

            if (Directory.Exists(_runDirectory))
            {
                Directory.Delete(_runDirectory, true);
            }
            Directory.CreateDirectory(_runDirectory);

            jobBuffer = new JobBuffer(_runDirectory);

            var learnDirectory = Path.Combine(settings.OutputDirAbs, "morfLearn");

            computation = new Computation(_runDirectory, learnDirectory, "point", "stiff");
            writer      = new StreamWriter(Path.Combine(_runDirectory, CARBOXTYPE + ".txt"));

            System.Random rnd = new System.Random();

            var port = rnd.Next(1, 65535);

            //port = 9999;
            server = new LearningServer(learnDirectory, port, _runDirectory);
            client = new MessageClient(port);
        }
コード例 #2
0
        public RandomBaseline(GlobalSettings settings) : base(settings)
        {
            RequireSeed         = true;
            RequiredNumRuleSets = 1;
            AutoPlay            = true;
            Seed          = new candidate(OBFunctions.tagconvexhullpoints(settings.seed), settings.numOfRuleSets);
            _runDirectory = Path.Combine(settings.OutputDirAbs, "RandomBaseline");
            if (Directory.Exists(_runDirectory))
            {
                Directory.Delete(_runDirectory, true);
            }
            Directory.CreateDirectory(_runDirectory);
            var learnDirectory = Path.Combine(settings.OutputDirAbs, "morfLearn");

            computation = new Computation(_runDirectory, learnDirectory, "point", "stiff");
            writer      = new StreamWriter(Path.Combine(_runDirectory, "RandomBaseline.txt"));
            jobBuffer   = new JobBuffer(_runDirectory);
            agent       = new Algorithms.Random(settings);
        }
コード例 #3
0
        public InMemoryPersistenceProvider(ILoggerFactory loggerFactory)
        {
            _valueBuffer = new HistoryBuffer <string, Value>
            {
                DefaultMaxHistoryEntries  = 200,
                DefaultMaxHistoryLivetime = TimeSpan.Zero
            };

            _deviceInfos   = new Dictionary <DeviceId, DeviceInfo>();
            _messageBuffer = new MessageBuffer();
            _jobBuffer     = new JobBuffer();
            Logger         = loggerFactory.CreateLogger <InMemoryPersistenceProvider>();


            // FIXME Persistence

            var devices = "devices";
            var dirname = Path.Combine(Directory.GetCurrentDirectory(), devices);

            if (Directory.Exists(dirname))
            {
                foreach (var fullFileName in Directory.GetFiles(dirname))
                {
                    var lines = File.ReadAllLines(fullFileName);

                    if (lines != null && lines.Length > 0)
                    {
                        var filename = Path.GetFileName(fullFileName);

                        var jsonString = string.Join("", lines);
                        var deviceInfo = JsonConvert.DeserializeObject <DeviceInfo>(jsonString, new JsonSerializerSettings
                        {
                            NullValueHandling = NullValueHandling.Ignore
                        });

                        _deviceInfos.Add(new DeviceId(filename), deviceInfo);
                    }
                }
            }
        }