コード例 #1
0
        public Expression Visit(LogicOr op)
        {
            var left  = (LogicExpression)op.Left.Accept(this);
            var right = (LogicExpression)op.Right.Accept(this);

            return(new LogicOr(left, right));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: fpommerening/KNN-Project
        static void Main(string[] args)
        {
            double adjust = 0.01;
            int    rounds = 2000;

            var scenario = new LogicOr();
            //var scenario = new LogicXor();
            //var scenario = new LogicAnd();
            //var scenario = new Letters();
            //var scenario = Helper.ReadScenarioFromFile("sample.json");
            //Helper.WriteScenarioToFile(scenario, "sample.json");

            var network = Helper.CreateAndTrainNetwork(scenario, adjust, rounds);

            try
            {
                CreateOutput(scenario, network, adjust, rounds);
                //CreateOutputSideBySide(scenario, network, adjust, rounds);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.WriteLine("Programmende");
            Console.ReadLine();
        }
コード例 #3
0
        public SortedSet <string> Visit(LogicOr op)
        {
            var vars = Run(op.Left);

            vars.UnionWith(Run(op.Right));
            return(vars);
        }
コード例 #4
0
        public async Task <Value> Visit(LogicOr op)
        {
            Task <Value> left       = op.Left.Accept(this);
            Task <Value> right      = op.Right.Accept(this);
            Task <Value> resultTask = await Task.WhenAny <Value>(left, right);

            BoolValue result = (BoolValue)await resultTask;

            if (result.Value)
            {
                // The value is true, so return it
                return(result);
            }
            else
            {
                // The value is false, so the return value is given by the other task
                if (resultTask == left)
                {
                    return(await right);
                }
                else
                {
                    return(await left);
                }
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            try
            {
                Func <double, double> activationFunction = x => x >= 1 ? 1 : 0;

                double adjust = 0.01;
                int    rounds = 500;

                //var scenario = new LogicAnd();
                //var scenario = new LogicXor();
                var scenario = new LogicOr();
                //var scenario = Helper.ReadScenarioFromFile("sample.json");
                //Helper.WriteScenarioToFile(scenario, "sample.json");

                var perceptron = Helper.CreateAndTrainPerceptron(scenario, activationFunction, adjust, rounds);

                CreateOutput(scenario, perceptron, adjust, rounds);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.WriteLine("Programmende");
            Console.ReadLine();
        }
コード例 #6
0
 public T Visit(LogicOr op)
 {
     op.Left.Accept(this);
     op.Right.Accept(this);
     return(default(T));
 }