Example #1
0
        //  public const string databaseAccessesPath = @"C:\Users\Yuval\Desktop\Data\Traffic of Database Accesses\trimmed.csv";

        private static void RunMilanoPhonesSecondMomentSketch(Random random)
        {
            //int numOfNodes     = 25;
            // var dimensions     = new[] { (9, 9)};
            var window = 24;

            // foreach (var numOfNodes in ArrayUtils.Init(16, 36, 64, 100, 144, 13 * 13, 14 * 14))
            foreach (var numOfNodes in ArrayUtils.Init(4)
                     .Select(x => x * x))
            {
                var distributingMethod = new GridDistributing(1, 10000, numOfNodes);
                //var approximation  = new MultiplicativeUpperLowerApproximation(0.3, 3.0);
                //var approximation  = new ThresholdApproximation(2700000);
                //var approximation = new CombinedApproximation(new MultiplicativeUpperLowerApproximation(0.5, 2.0),
                //                                              new AdditiveApproximation(100000));
                //  foreach (var approximation in ArrayUtils.Init(100000, 200000, 300000, 400000, 500000, 700000, 900000, 1100000, 1300000, 1600000, 1900000, 2200000, 2500000).Select(x => new AdditiveApproximation(x)))
                {
                    var width         = 14;
                    var height        = 11;
                    var approximation = new AdditiveApproximation(0.5E06);
                    //foreach (var (width, height) in ArrayUtils
                    //                             .Init(2, 5, 10, 14, 18, 22, 27, 31, 36, 40, 45, 50, 54, 59, 63, 68, 72, 77, 81, 86, 90)
                    //                           .Select(x => (14, x)))
                    SecondMomentRunner.RunMilanoPhoneActivity(random, numOfNodes, window, approximation, width, height, distributingMethod, phoneActivitiesBaseFolder, resultDir);
                }
            }
        }
        public void Test1()
        {
            var gridDistributing = new GridDistributing(1, 81, 9);

            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(1));
            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(2));
            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(3));
            Assert.AreEqual(2, 1 + gridDistributing.NodeOf(4));
            Assert.AreEqual(2, 1 + gridDistributing.NodeOf(5));
            Assert.AreEqual(2, 1 + gridDistributing.NodeOf(6));
            Assert.AreEqual(3, 1 + gridDistributing.NodeOf(7));
            Assert.AreEqual(3, 1 + gridDistributing.NodeOf(8));
            Assert.AreEqual(3, 1 + gridDistributing.NodeOf(9));
            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(10));
            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(11));
            Assert.AreEqual(1, 1 + gridDistributing.NodeOf(12));
            Assert.AreEqual(2, 1 + gridDistributing.NodeOf(13));
            Assert.AreEqual(9, 1 + gridDistributing.NodeOf(81));
            Assert.AreEqual(9, 1 + gridDistributing.NodeOf(80));
            Assert.AreEqual(9, 1 + gridDistributing.NodeOf(79));
            Assert.AreEqual(8, 1 + gridDistributing.NodeOf(78));
            Assert.AreEqual(8, 1 + gridDistributing.NodeOf(77));
            Assert.AreEqual(8, 1 + gridDistributing.NodeOf(76));
            Assert.AreEqual(7, 1 + gridDistributing.NodeOf(75));
        }