[Func_Models] = Find_Fitness_Approx(AllModels,ParetoPop,ParetoVals) Find_Fitness_Approx: Find the probabilistic model with the highest correlation for each of the objectives in the given Population (e.g. a Pareto set approximation) INPUTS AllModels: Cell array containing the Bayesian networks learned by EDAs b ParetoPop: Population ParetoVals: Evaluation of each of the objectives for all solutions. OUTPUTS Func_Models: Func_Models{i} is the model with the highest correlation for objective i. Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es)
0001 function[Func_Models] = Find_Fitness_Approx(AllModels,ParetoPop,ParetoVals) 0002 % [Func_Models] = Find_Fitness_Approx(AllModels,ParetoPop,ParetoVals) 0003 % Find_Fitness_Approx: Find the probabilistic model with the highest 0004 % correlation for each of the objectives in the 0005 % given Population (e.g. a Pareto set approximation) 0006 % 0007 % INPUTS 0008 % AllModels: Cell array containing the Bayesian networks learned 0009 % by EDAs b 0010 % ParetoPop: Population 0011 % ParetoVals: Evaluation of each of the objectives for all 0012 % solutions. 0013 % OUTPUTS 0014 % Func_Models: Func_Models{i} is the model with the highest correlation for 0015 % objective i. 0016 % 0017 % Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es) 0018 0019 0020 nmodels = size(AllModels,2); 0021 n_objectives = size(ParetoVals,2); 0022 0023 for i=1:nmodels, % The correlations between the probabilities of each BN and each of 0024 bnet = AllModels{i}; % the problem objectives are computed using the Pareto Set 0025 All_BN_Fit_Corr(i,:) = BN_Fitness_Corr(bnet,ParetoPop,ParetoVals) 0026 end 0027 0028 [BestCorr,BestCorrModelsIndex] = max(All_BN_Fit_Corr(i,:)); % The indices of the models with the best correlation are found 0029 0030 for i=1:n_objectives, 0031 Func_Models{i} = AllModels{BestCorrModelsIndex(i)}; 0032 end, 0033