Ejemplo n.º 1
0
        private void DrawLearningDataSetButton_Click(object sender, RoutedEventArgs e)
        {
            if (data != null)
            {
                ValuesA.Clear();
                ValuesB.Clear();
                ValuesC.Clear();
                ValuesD.Clear();

                data.ForEach(i =>
                {
                    switch (i.ObjClass)
                    {
                    case 0: ValuesA.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1])); break;

                    case 1: ValuesB.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1])); break;
                    }
                });

                stolp.stolp(data, int.Parse(deltaTextBox.Text), int.Parse(l0TextBox.Text)).ForEach(i =>
                {
                    ValuesC.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1]));
                });

                List <Data> standarts = new List <Data>();
                standarts.AddRange(stolp.findStandard(stolp.emissionСutOff(data, int.Parse(deltaTextBox.Text))));
                //standarts.AddRange(stolp.findStandard(data));

                standarts.ForEach(i =>
                {
                    ValuesD.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1]));
                });
            }
        }
Ejemplo n.º 2
0
        private void ClassificateButton_Click(object sender, RoutedEventArgs e)
        {
            if (data != null)
            {
                ValuesA.Clear();
                ValuesB.Clear();
                ValuesC.Clear();
                ValuesD.Clear();

                List <Data> newData      = new List <Data>();
                List <Data> omega        = stolp.stolp(data, int.Parse(deltaTextBox.Text), int.Parse(l0TextBox.Text));
                int         maxItemCount = int.Parse(count.Text);

                for (int i = 0; i < maxItemCount; i++)
                {
                    for (int j = 0; j < maxItemCount; j++)
                    {
                        Data obj = new Data(new double[] { i / (double)maxItemCount, j / (double)maxItemCount }, -1);
                        obj.ObjClass = stolp.classifier(omega, obj);
                        switch (obj.ObjClass)
                        {
                        case 0: ValuesA.Add(new ObservablePoint(obj.Attributes[0], obj.Attributes[1])); break;

                        case 1: ValuesB.Add(new ObservablePoint(obj.Attributes[0], obj.Attributes[1])); break;
                        }
                        newData.Add(obj);
                    }
                }

                stolp.stolp(data, int.Parse(deltaTextBox.Text), int.Parse(l0TextBox.Text)).ForEach(i =>
                {
                    ValuesC.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1]));
                });

                List <Data> standarts = new List <Data>();
                //standarts.AddRange(stolp.findStandard(data));
                standarts.AddRange(stolp.findStandard(stolp.emissionСutOff(data, int.Parse(deltaTextBox.Text))));
                standarts.ForEach(i =>
                {
                    ValuesD.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1]));
                });
            }
            else
            {
                MessageBox.Show("Сперва Выберите Файл c обучающей выборкой");
            }

            /*data.ForEach(i =>
             * {
             *  switch (i.ObjClass)
             *  {
             *      case 0: ValuesA.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1])); break;
             *      case 1: ValuesB.Add(new ObservablePoint(i.Attributes[0], i.Attributes[1])); break;
             *  }
             * });
             *
             */
        }
Ejemplo n.º 3
0
        static void GetPeriod(ValuesA a, ValuesC c, ValuesM m, ValuesX0 x0)
        {
            var generator = new RandomSequenceGenerator
                            (
                EnumValuesParser.GetValueA(a),
                EnumValuesParser.GetValueC(c),
                EnumValuesParser.GetValueM(m),
                EnumValuesParser.GetValueX0(x0)
                            );

            //FileWriter.WritePartOfSequenceToFile(filePath, generator.GetNextSequencePart());

            while (!generator.IsEnded)
            {
                generator.GetNextSequencePart();
            }

            Console.WriteLine($"{count++}) Period: {generator.Period}");
            Console.WriteLine();
        }
Ejemplo n.º 4
0
        public static long GetValueC(ValuesC val)
        {
            switch (val)
            {
            case ValuesC.val0:
            {
                return(0);
            }

            case ValuesC.val1:
            {
                return(1);
            }

            case ValuesC.val2:
            {
                return(2);
            }

            case ValuesC.val3:
            {
                return(3);
            }

            case ValuesC.val5:
            {
                return(5);
            }

            case ValuesC.val8:
            {
                return(8);
            }

            case ValuesC.val13:
            {
                return(13);
            }

            case ValuesC.val21:
            {
                return(21);
            }

            case ValuesC.val34:
            {
                return(34);
            }

            case ValuesC.val55:
            {
                return(55);
            }

            case ValuesC.val89:
            {
                return(89);
            }

            case ValuesC.val144:
            {
                return(144);
            }

            case ValuesC.val233:
            {
                return(233);
            }

            case ValuesC.val377:
            {
                return(377);
            }

            case ValuesC.val610:
            {
                return(610);
            }

            case ValuesC.val987:
            {
                return(987);
            }

            case ValuesC.val1597:
            {
                return(1597);
            }

            case ValuesC.val2584:
            {
                return(2584);
            }

            case ValuesC.val4181:
            {
                return(4181);
            }

            case ValuesC.val6765:
            {
                return(6765);
            }

            case ValuesC.val10946:
            {
                return(10946);
            }

            case ValuesC.val17711:
            {
                return(17711);
            }

            case ValuesC.val28657:
            {
                return(28657);
            }

            case ValuesC.val46368:
            {
                return(46368);
            }

            case ValuesC.val75025:
            {
                return(75025);
            }

            default: throw new Exception("Unknown value");
            }
        }