subset.hpp

来自「这是遗传算法的源代码」· HPP 代码 · 共 59 行

HPP
59
字号
// -*- c++ -*- 
//
//  File:         subset.hpp
//
//  Description:  C++ interface to the class subset.
//                (a subset of the MPM)
//
//  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 _subset_hpp
#define _subset_hpp

#include <iostream>
#include "intlist.hpp"
#include "population.hpp"

class subset
{
  private:
    intList L;         // a subset 
    long num_counts;   // number of possible combinations of values.
    double mc;   // model complexity
    double cpc;  // compressed population complexity
  public:
    subset();
    ~subset();
    subset & operator=(subset &S);
    int size() { return L.length(); }
    long numCounts() { return num_counts; }
    long *counts;      // the frequency counts   
    void space_for_counts( int popsize );
    void insert( int elem );
    void asArray( int *A ) { L.asArray( A ); }
    void merge( subset &S1, subset &S2 );
    friend std::ostream &operator<< (std::ostream &out, subset &S);    

    double MC() { return mc; }
    double CPC() { return cpc; }
    double CC() { return mc + cpc; }
    double modelComplexity( int popsize );
    double compressedPopulationComplexity( int popsize );
    void combinedComplexity( int popsize );

    void compute_freq_counts( population &pop );
	
};

#endif



⌨️ 快捷键说明

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