⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpm.hpp

📁 这是遗传算法的源代码
💻 HPP
字号:
// -*- c++ -*- 
//
//  File:         mpm.hpp
//
//  Description:  C++ interface to the class mpm.
//                mpm stands for Marginal Product Model (see Harik's paper).
//
//  Author:       Fernando Lobo
//
//  Date:         June/1999
//
//  Extended to deal with chi-ary problems by Luis de la Ossa
//  GCC 3.4 and 4 series compliance by Kumara Sastry 
//
//  Date:         March/2006

#ifndef _mpm_hpp
#define _mpm_hpp

#include <iostream>
#include <fstream>

#include "subset.hpp"
#include "population.hpp"


class mpm
{
  private:
    int     maxSets;      // maximum number of sets in the cache
    int     n_subsets;    // number of subsets
    subset  *subsets;     // the subsets
    double  mc;   // model complexity
    double  cpc;  // compressed population complexity

  public:
    mpm( int n_sets );
    ~mpm();
    int num_subsets() { return n_subsets; }
    subset & operator[](const int i) const { return subsets[i]; }
    void insert( subset &S );
    void remove( int i );
    void merge( int i, int j, subset &S );
    bool converged() { return mc==0; }
    friend std::ostream &operator<< (std::ostream &out, mpm &MPM);
 
    double MC() { return mc; }
    double CPC() { return cpc; }
    double CC() { return mc + cpc; }
    double modelComplexity();
    double compressedPopulationComplexity();
    void combinedComplexity();

    void model( population *pop, std::ofstream &outfile );
    void generate( population *oldpop, population *newpop );
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -