public void Entrada(IVariavelLinguistica variavel, Object valor)
 {
     foreach (Regra regra in BaseConhecimento)
     {
         regra.Entrada(variavel, valor);
     }
 }
示例#2
0
        public float Saida(IVariavelLinguistica variavel, String termo)
        {
            foreach (Proposicao p in Consequente)
                if (p.Variavel == variavel && p.Termo == termo)
                    return p.Ativavao;

            return 0;
        }
示例#3
0
 public void Entrada(IVariavelLinguistica var, Object value)
 {
     foreach (Proposicao p in Antecedente)
     {
         if (p.Variavel == var)
         {
             p.Entrada(value);
         }
     }
 }
示例#4
0
        public float Saida(IVariavelLinguistica variavel, String termo)
        {
            foreach (Proposicao p in Consequente)
            {
                if (p.Variavel == variavel && p.Termo == termo)
                {
                    return(p.Ativavao);
                }
            }

            return(0);
        }
示例#5
0
        public object Saida(IVariavelLinguistica variavel)
        {
            float saida = 0;
            foreach (Regra regra in BaseConhecimento)
            {
                regra.Implicacao();

                foreach (String termo in variavel.Termos)
                {
                    float ativacao = regra.Saida(variavel, termo);
                    float centroide = variavel.Centroide(termo);
                    saida += ativacao * centroide;
                }
            }

            return saida;
        }
        public object Saida(IVariavelLinguistica variavel)
        {
            float saida = 0;

            foreach (Regra regra in BaseConhecimento)
            {
                regra.Implicacao();

                foreach (String termo in variavel.Termos)
                {
                    float ativacao  = regra.Saida(variavel, termo);
                    float centroide = variavel.Centroide(termo);
                    saida += ativacao * centroide;
                }
            }

            return(saida);
        }
示例#7
0
 public void Entrada(IVariavelLinguistica variavel, Object valor)
 {
     foreach (Regra regra in BaseConhecimento)
         regra.Entrada(variavel, valor);
 }
示例#8
0
 public Proposicao(IVariavelLinguistica var, String termo, Conector con)
 {
     Variavel = var;
     Termo = termo;
     Conector = con;
 }
示例#9
0
 public Regra Se(IVariavelLinguistica var, String termo, Conector con)
 {
     AddAntecedente(new Proposicao(var, termo, con));
     return this;
 }
示例#10
0
 public void Entrada(IVariavelLinguistica var, Object value)
 {
     foreach(Proposicao p in Antecedente)
         if(p.Variavel == var)
             p.Entrada(value);
 }
示例#11
0
 public Regra Entao(IVariavelLinguistica var, String termo, Conector con)
 {
     AddConsequente(new Proposicao(var, termo, con));
     return this;
 }
示例#12
0
 public Regra Entao(IVariavelLinguistica var, String termo, Conector con)
 {
     AddConsequente(new Proposicao(var, termo, con));
     return(this);
 }
示例#13
0
 public Regra Se(IVariavelLinguistica var, String termo, Conector con)
 {
     AddAntecedente(new Proposicao(var, termo, con));
     return(this);
 }
 public Proposicao(IVariavelLinguistica var, String termo, Conector con)
 {
     Variavel = var;
     Termo    = termo;
     Conector = con;
 }