Ejemplo n.º 1
0
        // Tạo bộ ba xác suất từ chuỗi text
        public ProbTriple(string V)
        {
            try
            {
                this.Value   = new List <object>();
                this.MinProb = new List <double>();
                this.MaxProb = new List <double>();

                if (!V.Contains("||") && !V.Contains("{") && !V.Contains("}") && !V.Contains("[") && !V.Contains("]"))
                {
                    V = String.Format("{{{0}}}[ 1, 1]", V);
                }

                string[] seperator = { "||" };
                string[] value     = V.Split(seperator, StringSplitOptions.RemoveEmptyEntries);

                int j1, j2, j3, j4, j5;
                for (int i = 0; i < value.Length; i++)
                {
                    j1 = value[i].IndexOf('{');
                    j2 = value[i].IndexOf('}');
                    j3 = value[i].IndexOf('[');
                    j4 = value[i].IndexOf(',');
                    j5 = value[i].IndexOf(']');
                    Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1));
                    MinProb.Add(Convert.ToDouble(value[i].Substring(j3 + 1, j4 - j3 - 1)));
                    MaxProb.Add(Convert.ToDouble(value[i].Substring(j4 + 1, j5 - j4 - 1)));
                }
            }
            catch
            { }
        }
Ejemplo n.º 2
0
        public ProbTriple(string V, string typeName)
        {
            try
            {
                this.Value   = new List <object>();
                this.MinProb = new List <double>();
                this.MaxProb = new List <double>();

                if (!V.Contains("||") && !V.Contains("{") && !V.Contains("}") && !V.Contains("[") && !V.Contains("]"))
                {
                    V = String.Format("{{{0}}}[ 1, 1]", V);
                }



                string[] seperator = { "||" };
                string[] value     = V.Split(seperator, StringSplitOptions.RemoveEmptyEntries);

                int j1, j2, j3, j4, j5;
                for (int i = 0; i < value.Length; i++)
                {
                    j1 = value[i].IndexOf('{');
                    j2 = value[i].IndexOf('}');
                    j3 = value[i].IndexOf('[');
                    j4 = value[i].IndexOf(',');
                    j5 = value[i].IndexOf(']');


                    if (typeName != "String")
                    {
                        Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1).Replace(" ", ""));
                    }
                    else
                    {
                        Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1));
                    }

                    MinProb.Add(Convert.ToDouble(value[i].Substring(j3 + 1, j4 - j3 - 1)));
                    MaxProb.Add(Convert.ToDouble(value[i].Substring(j4 + 1, j5 - j4 - 1)));
                }
            }
            catch
            {
                MessageBox.Show("Syntax Error! Cannot convert to Probabilistic Triple!");
            }
        }