このドキュメントのSFS
アルゴリズムpages 11-12
を実装しようとしています。
私がこれまでに持っているものC++
は次のとおりです。
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
struct Features
{
int m_f1;
int m_f2;
int m_f3;
int m_f4;
Features(int a, int b, int c, int d) :
m_f1(a),
m_f2(b),
m_f3(c),
m_f4(d)
{
}
};
int criterionFunction(Features const& features)
{
return -2 * features.m_f1 * features.m_f2 +
3 * features.m_f3 +
5 * features.m_f4 +
-2 * features.m_f1 * features.m_f2 * features.m_f3 +
7 * features.m_f3 +
4 * features.m_f4 +
-2 * features.m_f1 * features.m_f2 * features.m_f3 * features.m_f4;
}
int main(){
Features feature,
vector<Features> listOfFeatures(4);
listOfFeatures.push_back(Features(1,0,0,0));
listOfFeatures.push_back(Features(0,1,0,0));
listOfFeatures.push_back(Features(0,0,1,0));
listOfFeatures.push_back(Features(0,0,0,1));
vector<int> listOfCriterion;
}
私の質問は次のとおりです。
-criterionFunction()
渡された機能 (つまり、m_f1) が値を取り、渡されなかった機能が値1
を持つように呼び出す方法は何0
ですか?
- ここでは、最良の機能の組み合わせを選択 (出力) しthree
ます。どうやってやるの?