My Project
Classes | Namespaces | Macros | Enumerations | Functions | Variables
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.

◆ 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.

◆ 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.

◆ ROOT_PROOF_TOL

#define ROOT_PROOF_TOL   65536ul*1024

root で打切る証明数の閾値

Definition at line 41 of file dfpn.cc.

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::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

◆ root_proof_simulation_limit

const size_t root_proof_simulation_limit = 999999999
static

◆ 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

◆ 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().