dfpn.cc File Reference
`#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>`

Go to the source code of this file.

## Classes

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 >

## Namespaces

namespace | osl
namespace | osl::checkmate

## Macros

#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

## Enumerations

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

## Functions

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)

## Variables

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

## Macro Definition Documentation

## ADHOC_SUM_RESTRICTION

#define ADHOC_SUM_RESTRICTION

Definition at line 54 of file dfpn.cc.

## AGGRESSIVE_FIND_DAG

#define AGGRESSIVE_FIND_DAG

Definition at line 55 of file dfpn.cc.

## AGGRESSIVE_FIND_DAG2

#define AGGRESSIVE_FIND_DAG2

Definition at line 56 of file dfpn.cc.

## CHECKMATE_A3_GOLD

#define CHECKMATE_A3_GOLD

Definition at line 57 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack().

## CHECKMATE_A3_SIMULLATION

#define CHECKMATE_A3_SIMULLATION

Definition at line 58 of file dfpn.cc.

## CHECKMATE_D2

#define CHECKMATE_D2

Definition at line 46 of file dfpn.cc.

## DISPROOF_AVERAGE

#define DISPROOF_AVERAGE

Definition at line 49 of file dfpn.cc.

## GRAND_PARENT_DELAY

#define GRAND_PARENT_DELAY

Definition at line 37 of file dfpn.cc.

## GRAND_PARENT_SIMULATION

#define GRAND_PARENT_SIMULATION

Definition at line 36 of file dfpn.cc.

## IGNORE_MONSTER_CHILD

#define IGNORE_MONSTER_CHILD

Definition at line 52 of file dfpn.cc.

## INITIAL_DOMINANCE

#define INITIAL_DOMINANCE

Definition at line 39 of file dfpn.cc.

## KAKINOKI_FALSE_BRANCH_SEARCH

#define KAKINOKI_FALSE_BRANCH_SEARCH

Definition at line 51 of file dfpn.cc.

## KISHIMOTO_WIDEN_THRESHOLD

#define KISHIMOTO_WIDEN_THRESHOLD

Definition at line 53 of file dfpn.cc.

## MEMORIZE_SOLVED_IN_BITSET

#define MEMORIZE_SOLVED_IN_BITSET

Definition at line 61 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::defense().

## PROOF_AVERAGE

#define PROOF_AVERAGE

Definition at line 48 of file dfpn.cc.

## ROOT_DISPROOF_TOL

#define ROOT_DISPROOF_TOL 65536ul*1024

root で打切る反証数の閾値

Definition at line 43 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::Dfpn::hasEscapeMove(), and osl::checkmate::Dfpn::tryProofMain().

## ROOT_PROOF_TOL

#define ROOT_PROOF_TOL 65536ul*1024

root で打切る証明数の閾値

Definition at line 41 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::Dfpn::hasEscapeMove(), and osl::checkmate::Dfpn::tryProofMain().

## Variable Documentation

## AdHocSumScale

const int AdHocSumScale = 128

static

Definition at line 84 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().

## DagFindThreshold

const unsigned int DagFindThreshold = 64

static

Definition at line 81 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().

## DagFindThreshold2

const unsigned int DagFindThreshold2 = 256

static

Definition at line 82 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().

## debug_time_start

const size_t debug_time_start = 3851080

Definition at line 92 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().

## EnableGCDepth

const int EnableGCDepth = 512

static

Definition at line 83 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::setTable().

## GrowthLimitInfty

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

static

Definition at line 85 of file dfpn.cc.

Referenced by osl::checkmate::DfpnTable::DfpnTable(), and osl::checkmate::Dfpn::setTable().

## IgnoreUpwardDisproofThreshold

const unsigned int IgnoreUpwardDisproofThreshold = 100

static

Definition at line 74 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack().

## IgnoreUpwardProofThreshold

const unsigned int IgnoreUpwardProofThreshold = 100

static

Definition at line 73 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::defense().

## InitialDominanceDisproofMax

const unsigned int InitialDominanceDisproofMax = 110

static

Definition at line 80 of file dfpn.cc.

Referenced by osl::checkmate::DfpnTable::List::probe().

## InitialDominanceProofMax

const unsigned int InitialDominanceProofMax = 35

static

Definition at line 76 of file dfpn.cc.

Referenced by osl::checkmate::DfpnTable::List::probe().

## LongDropCount

const int LongDropCount = 1

static

Definition at line 65 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack().

## MaxDagTraceDepth

const int MaxDagTraceDepth = 1600

static

Definition at line 69 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::findDagSource().

## NoPromoeIgnoreDisproofThreshold

const unsigned int NoPromoeIgnoreDisproofThreshold = 200

static

Definition at line 72 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack().

## NoPromoeIgnoreProofThreshold

const unsigned int NoPromoeIgnoreProofThreshold = 100

static

Definition at line 71 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack().

## ProofSimulationTolerance

const int ProofSimulationTolerance = 1024

Definition at line 86 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::proofOracleDefense(), and osl::checkmate::Dfpn::tryProofMain().

## root_proof_simulation_limit

const size_t root_proof_simulation_limit = 999999999

static

Definition at line 1408 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::tryProofMain().

## SacrificeBlockCount

const int SacrificeBlockCount = 0

static

Definition at line 65 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::defense().

## timer

size_t timer = 0

static

Definition at line 91 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::defense(), and osl::checkmate::Dfpn::Tree::dump().

## UpwardWeight

const int UpwardWeight = 2

static

Definition at line 65 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().