public SIMONIntelligence(AlgorithmForAI algorithm, SIMONAlgorithm algorithmCls, AsyncCallback learnCallback)
 {
     IntelligenceAlgorithm = algorithm;
     AlgorithmPerformer = algorithmCls;
     AlgorithmInvoker = new AlgorithmDelegate(AlgorithmPerformer.Implementation);
     AlgorithmLearnInvoker = new AlgorithmLearningDelegate(AlgorithmPerformer.Implementation);
     AlgorithmLearnPropInvoker = new AlgorithmLearnPropDelegate(AlgorithmPerformer.Implementation);
     LearnCallbackInvoker = new AsyncCallback(learnCallback);
     LearnPropCallbackInvoker = new AsyncCallback(LearnPropertyAsyncCallback);
     LearnResult = null;
 }
        public SIMONIntelligence()
        {
            IntelligenceAlgorithm = AlgorithmForAI.GENETIC;
            AlgorithmPerformer = new SIMONGeneticAlgorithm();

            AlgorithmInvoker = new AlgorithmDelegate(AlgorithmPerformer.Implementation);
            AlgorithmLearnInvoker = new AlgorithmLearningDelegate(AlgorithmPerformer.Implementation);
            AlgorithmLearnPropInvoker = new AlgorithmLearnPropDelegate(AlgorithmPerformer.Implementation);
            LearnCallbackInvoker = new AsyncCallback(LearnAsyncCallback);
            LearnPropCallbackInvoker = new AsyncCallback(LearnPropertyAsyncCallback);
            LearnResult = null;
        }