8#ifndef DESIGNLAB_GRAPH_SEARCH_EVALUATOR_H_
9#define DESIGNLAB_GRAPH_SEARCH_EVALUATOR_H_
53 const std::vector<Tag>& evaluation_priority_list);
65 bool return_true_case_of_equal =
true)
const;
75 bool return_true_case_of_equal =
true)
const;
83 const std::map<Tag, EvaluationMethod> evaluation_method_map_;
86 const std::vector<Tag> evaluation_priority_list_;
bool LeftIsBetterWithTag(const GraphSearchEvaluationValue &left, const GraphSearchEvaluationValue &right, Tag tag, bool return_true_case_of_equal=true) const
2つの評価値を比較する.左側の評価値が良い場合は true を返す.
GraphSearchEvaluator(const std::map< Tag, EvaluationMethod > &evaluation_method_map, const std::vector< Tag > &evaluation_priority_list)
コンストラクタ.
~GraphSearchEvaluator()=default
bool LeftIsBetter(const GraphSearchEvaluationValue &left, const GraphSearchEvaluationValue &right, bool return_true_case_of_equal=true) const
2つの評価値を比較する.左側の評価値が良い場合は true を返す.
GraphSearchEvaluator()=delete
デフォルトコンストラクタは禁止.
GraphSearchEvaluationValue InitializeEvaluationValue() const
評価値を初期化する. 自身の持つ評価方法を用いて,評価値を初期化する.
static constexpr float kMaxEvaluationValue
std::map< Tag, float > value
static constexpr float kMinEvaluationValue
float margin
この値よりも違いが小さい場合は,評価値が同じとみなす.
bool is_lower_better
評価値が小さいほど良い場合は true.