All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
osl::ntesuki::NtesukiSimulationSearcher Class Reference

#include <ntesukiSimulationSearcher.h>

Collaboration diagram for osl::ntesuki::NtesukiSimulationSearcher:
Collaboration graph
[legend]

Classes

class  AttackHelperDisproof
 
class  AttackHelperDisproof
 
class  AttackHelperProof
 
class  AttackHelperProof
 
class  DefenseHelperDisproof
 
class  DefenseHelperDisproof
 
class  DefenseHelperProof
 
class  DefenseHelperProof
 

Public Member Functions

 NtesukiSimulationSearcher (state_t &state, NtesukiMoveGenerator *mg, PathEncoding &path, NtesukiTable &table, NtesukiRecord::ISScheme isscheme, bool verbose=false)
 
 ~NtesukiSimulationSearcher ()
 
template<Player P>
bool startFromAttackProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to proof, P as Attacker. More...
 
template<Player P>
bool startFromDefenseProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to proof, P as Defender. More...
 
template<Player P>
bool startFromAttackDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to disproof, P as Attacker. More...
 
template<Player P>
bool startFromDefenseDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to disproof, P as Defender. More...
 
unsigned int nodeCount () const
 

Public Attributes

bool debug
 

Private Member Functions

template<Player P>
bool isSafeMove (const Move move, int pass_left)
 Still cannot see if is safe move. More...
 
template<Player P>
Move adjustMove (Move candidate) const
 
template<Player P>
void attackForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Proof 攻撃に関する計算 More...
 
template<Player P>
void defenseForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 防御に関する計算 More...
 
template<Player P>
void attackForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 攻撃に関する計算 More...
 
template<Player P>
void defenseForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 防御に関する計算 More...
 

Private Attributes

unsigned int node_count
 現在までに何ノード読んだか More...
 
bool verbose
 経過をどこまで表示するか More...
 
unsigned int proof_count
 Simulation 結果の統計 More...
 
unsigned int proof_success_count
 
unsigned int light_proof_success_count
 
unsigned int disproof_count
 
unsigned int disproof_success_count
 
NtesukiResult result
 
state_tstate
 
NtesukiMoveGeneratormg
 
PathEncodingpath
 
NtesukiTabletable
 
NtesukiRecord::ISScheme isscheme
 

Detailed Description

Definition at line 15 of file ntesukiSimulationSearcher.h.

Constructor & Destructor Documentation

osl::ntesuki::NtesukiSimulationSearcher::NtesukiSimulationSearcher ( state_t state,
NtesukiMoveGenerator mg,
PathEncoding path,
NtesukiTable table,
NtesukiRecord::ISScheme  isscheme,
bool  verbose = false 
)

Definition at line 10 of file ntesukiSimulationSearcher.cc.

osl::ntesuki::NtesukiSimulationSearcher::~NtesukiSimulationSearcher ( )

Definition at line 34 of file ntesukiSimulationSearcher.cc.

References verbose.

Member Function Documentation

template<Player P>
Move osl::ntesuki::NtesukiSimulationSearcher::adjustMove ( Move  candidate) const
inlineprivate
template<Player P>
void NtesukiSimulationSearcher::attackForDisproof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
private
template<Player P>
void NtesukiSimulationSearcher::attackForProof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
private
template<Player P>
void NtesukiSimulationSearcher::defenseForDisproof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
private
template<Player P>
void NtesukiSimulationSearcher::defenseForProof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
private
template<Player P>
bool NtesukiSimulationSearcher::isSafeMove ( const Move  move,
int  pass_left 
)
private
unsigned int osl::ntesuki::NtesukiSimulationSearcher::nodeCount ( ) const
inline

Definition at line 153 of file ntesukiSimulationSearcher.h.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackDisproof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Start simulation to disproof, P as Attacker.

Returns
true, if nocheckmate is proven

Definition at line 396 of file ntesukiSimulationSearcherDisproof.tcc.

References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getValue(), osl::checkmate::ProofDisproof::isCheckmateFail(), ntesuki_assert, result, and TRY_DFPN.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseDisproof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Start simulation to disproof, P as Defender.

Returns
true, if nocheckmate is proven

Definition at line 424 of file ntesukiSimulationSearcherDisproof.tcc.

References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getValue(), osl::checkmate::ProofDisproof::isCheckmateFail(), ntesuki_assert, result, and TRY_DFPN.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Member Data Documentation

bool osl::ntesuki::NtesukiSimulationSearcher::debug

Definition at line 30 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::disproof_count
private

Definition at line 27 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::disproof_success_count
private

Definition at line 28 of file ntesukiSimulationSearcher.h.

NtesukiRecord::ISScheme osl::ntesuki::NtesukiSimulationSearcher::isscheme
private

Definition at line 37 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::light_proof_success_count
private

Definition at line 26 of file ntesukiSimulationSearcher.h.

NtesukiMoveGenerator* osl::ntesuki::NtesukiSimulationSearcher::mg
private

Definition at line 34 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::node_count
private

現在までに何ノード読んだか

Definition at line 19 of file ntesukiSimulationSearcher.h.

PathEncoding& osl::ntesuki::NtesukiSimulationSearcher::path
private

Definition at line 35 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::proof_count
private

Simulation 結果の統計

Definition at line 24 of file ntesukiSimulationSearcher.h.

unsigned int osl::ntesuki::NtesukiSimulationSearcher::proof_success_count
private

Definition at line 25 of file ntesukiSimulationSearcher.h.

NtesukiResult osl::ntesuki::NtesukiSimulationSearcher::result
private

Definition at line 32 of file ntesukiSimulationSearcher.h.

state_t& osl::ntesuki::NtesukiSimulationSearcher::state
private

Definition at line 33 of file ntesukiSimulationSearcher.h.

NtesukiTable& osl::ntesuki::NtesukiSimulationSearcher::table
private

Definition at line 36 of file ntesukiSimulationSearcher.h.

bool osl::ntesuki::NtesukiSimulationSearcher::verbose
private

経過をどこまで表示するか

Definition at line 21 of file ntesukiSimulationSearcher.h.


The documentation for this class was generated from the following files: