構成 | ネームスペース | マクロ定義 | 列挙型 | 関数 | 変数

dfpn.cc

#include "osl/checkmate/dfpn.h"
#include "osl/checkmate/dfpnParallel.h"
#include "osl/checkmate/dfpnRecord.h"
#include "osl/checkmate/immediateCheckmate.h"
#include "osl/checkmate/fixedDepthSolverExt.h"
#include "osl/checkmate/libertyEstimator.h"
#include "osl/checkmate/pieceCost.h"
#include "osl/checkmate/proofPieces.h"
#include "osl/checkmate/disproofPieces.h"
#include "osl/checkmate/oracleAdjust.h"
#include "osl/checkmate/pawnCheckmateMoves.h"
#include "osl/checkmate/proofTreeDepthDfpn.h"
#include "osl/move_generator/escape_.h"
#include "osl/move_generator/addEffectWithEffect.h"
#include "osl/move_classifier/check_.h"
#include "osl/move_classifier/moveAdaptor.h"
#include "osl/move_classifier/pawnDropCheckmate.h"
#include "osl/csa.h"
#include "osl/stat/ratio.h"
#include "osl/hash/hashRandomPair.h"
#include "osl/bits/align16New.h"
#include "osl/oslConfig.h"
#include <tuple>
#include <unordered_map>
#include <vector>
#include <forward_list>
#include <iostream>
#include <iomanip>
#include <bitset>
dfpn.ccのインクルード依存関係図

ソースコードを見る。

構成

struct  osl::checkmate::SimpleTwinList
struct  osl::checkmate::DfpnPathRecord
struct  osl::checkmate::DfpnVisitLock< Enabled >
struct  osl::checkmate::DfpnPathList
class  osl::checkmate::DfpnPathTable
struct  osl::checkmate::Dfpn::NodeBase
struct  osl::checkmate::Dfpn::Node
struct  osl::checkmate::Dfpn::Tree
struct  osl::checkmate::DfpnTable::List
struct  osl::checkmate::DfpnTable::Table
struct  osl::checkmate::Dfpn::CallAttack< P >
struct  osl::checkmate::Dfpn::CallDefense< P >
struct  osl::checkmate::Dfpn::CallProofOracleAttack< P, UseTable >
struct  osl::checkmate::Dfpn::CallProofOracleDefense< P, UseTable >

ネームスペース

namespace  osl
namespace  osl::checkmate

マクロ定義

#define GRAND_PARENT_SIMULATION
#define GRAND_PARENT_DELAY
#define INITIAL_DOMINANCE
#define ROOT_PROOF_TOL   65536ul*1024
 root で打切る証明数の閾値
#define ROOT_DISPROOF_TOL   65536ul*1024
 root で打切る反証数の閾値
#define CHECKMATE_D2
#define PROOF_AVERAGE
#define DISPROOF_AVERAGE
#define KAKINOKI_FALSE_BRANCH_SEARCH
#define IGNORE_MONSTER_CHILD
#define KISHIMOTO_WIDEN_THRESHOLD
#define ADHOC_SUM_RESTRICTION
#define AGGRESSIVE_FIND_DAG
#define AGGRESSIVE_FIND_DAG2
#define CHECKMATE_A3_GOLD
#define CHECKMATE_A3_SIMULLATION
#define MEMORIZE_SOLVED_IN_BITSET

列挙型

enum  osl::checkmate::LoopToDominance { osl::checkmate::NoLoop = 0, osl::checkmate::BadAttackLoop }

関数

int osl::checkmate::log2 (uint32_t n)
int osl::checkmate::slow_increase (uint32_t n)
int osl::checkmate::attackProofCost (Player attacker, const NumEffectState &state, Move move)

変数

static const int UpwardWeight = 2
static const int SacrificeBlockCount = 0
static const int LongDropCount = 1
static const int MaxDagTraceDepth = 1600
static const unsigned int NoPromoeIgnoreProofThreshold = 100
static const unsigned int NoPromoeIgnoreDisproofThreshold = 200
static const unsigned int IgnoreUpwardProofThreshold = 100
static const unsigned int IgnoreUpwardDisproofThreshold = 100
static const unsigned int InitialDominanceProofMax = 35
static const unsigned int InitialDominanceDisproofMax = 110
static const unsigned int DagFindThreshold = 64
static const unsigned int DagFindThreshold2 = 256
static const int EnableGCDepth = 512
static const int AdHocSumScale = 128
static const size_t GrowthLimitInfty = std::numeric_limits<size_t>::max()
const int ProofSimulationTolerance = 1024
static size_t timer = 0
const size_t debug_time_start = 3851080
static const size_t root_proof_simulation_limit = 999999999

マクロ定義

#define ADHOC_SUM_RESTRICTION

dfpn.cc54 行で定義されています。

#define AGGRESSIVE_FIND_DAG

dfpn.cc55 行で定義されています。

#define AGGRESSIVE_FIND_DAG2

dfpn.cc56 行で定義されています。

#define CHECKMATE_A3_GOLD

dfpn.cc57 行で定義されています。

参照元 osl::checkmate::Dfpn::attack().

#define CHECKMATE_A3_SIMULLATION

dfpn.cc58 行で定義されています。

#define CHECKMATE_D2

dfpn.cc46 行で定義されています。

#define DISPROOF_AVERAGE

dfpn.cc49 行で定義されています。

#define GRAND_PARENT_DELAY

dfpn.cc37 行で定義されています。

#define GRAND_PARENT_SIMULATION

dfpn.cc36 行で定義されています。

#define IGNORE_MONSTER_CHILD

dfpn.cc52 行で定義されています。

#define INITIAL_DOMINANCE

dfpn.cc39 行で定義されています。

#define KAKINOKI_FALSE_BRANCH_SEARCH

dfpn.cc51 行で定義されています。

#define KISHIMOTO_WIDEN_THRESHOLD

dfpn.cc53 行で定義されています。

#define MEMORIZE_SOLVED_IN_BITSET

dfpn.cc61 行で定義されています。

参照元 osl::checkmate::Dfpn::defense(), と osl::checkmate::Dfpn::Tree::dump().

#define PROOF_AVERAGE

dfpn.cc48 行で定義されています。

#define ROOT_DISPROOF_TOL   65536ul*1024

root で打切る反証数の閾値

dfpn.cc43 行で定義されています。

参照元 osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::Dfpn::hasEscapeMove(), と osl::checkmate::Dfpn::tryProofMain().

#define ROOT_PROOF_TOL   65536ul*1024

root で打切る証明数の閾値

dfpn.cc41 行で定義されています。

参照元 osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::Dfpn::hasEscapeMove(), と osl::checkmate::Dfpn::tryProofMain().


変数

const int AdHocSumScale = 128 [static]

dfpn.cc84 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::defense().

const unsigned int DagFindThreshold = 64 [static]

dfpn.cc81 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::defense().

const unsigned int DagFindThreshold2 = 256 [static]

dfpn.cc82 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::defense().

const size_t debug_time_start = 3851080

dfpn.cc92 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::defense().

const int EnableGCDepth = 512 [static]

dfpn.cc83 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::setTable().

const size_t GrowthLimitInfty = std::numeric_limits<size_t>::max() [static]

dfpn.cc85 行で定義されています。

参照元 osl::checkmate::Dfpn::setTable().

const unsigned int IgnoreUpwardDisproofThreshold = 100 [static]

dfpn.cc74 行で定義されています。

参照元 osl::checkmate::Dfpn::attack().

const unsigned int IgnoreUpwardProofThreshold = 100 [static]

dfpn.cc73 行で定義されています。

参照元 osl::checkmate::Dfpn::defense().

const unsigned int InitialDominanceDisproofMax = 110 [static]

dfpn.cc80 行で定義されています。

参照元 osl::checkmate::DfpnTable::List::probe().

const unsigned int InitialDominanceProofMax = 35 [static]

dfpn.cc76 行で定義されています。

参照元 osl::checkmate::DfpnTable::List::probe().

const int LongDropCount = 1 [static]

dfpn.cc65 行で定義されています。

参照元 osl::checkmate::Dfpn::attack().

const int MaxDagTraceDepth = 1600 [static]

dfpn.cc69 行で定義されています。

参照元 osl::checkmate::Dfpn::findDagSource().

const unsigned int NoPromoeIgnoreDisproofThreshold = 200 [static]

dfpn.cc72 行で定義されています。

参照元 osl::checkmate::Dfpn::attack().

const unsigned int NoPromoeIgnoreProofThreshold = 100 [static]

dfpn.cc71 行で定義されています。

参照元 osl::checkmate::Dfpn::attack().

const int ProofSimulationTolerance = 1024

dfpn.cc86 行で定義されています。

参照元 osl::checkmate::Dfpn::proofOracleDefense(), と osl::checkmate::Dfpn::tryProofMain().

const size_t root_proof_simulation_limit = 999999999 [static]

dfpn.cc1408 行で定義されています。

const int SacrificeBlockCount = 0 [static]

dfpn.cc65 行で定義されています。

参照元 osl::checkmate::Dfpn::defense().

size_t timer = 0 [static]

dfpn.cc91 行で定義されています。

const int UpwardWeight = 2 [static]

dfpn.cc65 行で定義されています。

参照元 osl::checkmate::Dfpn::attack(), と osl::checkmate::Dfpn::defense().

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義