コード例 #1
0
        public float Implicacao()
        {
            float      tmp      = 0;
            Proposicao anterior = null;

            foreach (Proposicao p in Antecedente)
            {
                if (anterior != null)
                {
                    if (anterior.Conector == Conector.AND)
                    {
                        tmp = Math.Min(tmp, p.Ativavao);
                    }
                    else if (anterior.Conector == Conector.AND)
                    {
                        tmp = Math.Max(tmp, p.Ativavao);
                    }
                }
                else
                {
                    tmp = p.Ativavao;
                }
                anterior = p;
            }

            foreach (Proposicao p in Consequente)
            {
                p.Ativavao = Math.Max(p.Ativavao, tmp);
            }

            return(tmp);
        }
コード例 #2
0
ファイル: Regra.cs プロジェクト: petroniocandido/IA
 public void AddConsequente(Proposicao p)
 {
     Consequente.Add(p);
 }
コード例 #3
0
ファイル: Regra.cs プロジェクト: petroniocandido/IA
 public void AddAntecedente(Proposicao p)
 {
     Antecedente.Add(p);
 }
コード例 #4
0
 public void AddConsequente(Proposicao p)
 {
     Consequente.Add(p);
 }
コード例 #5
0
 public void AddAntecedente(Proposicao p)
 {
     Antecedente.Add(p);
 }