Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
adversarial_search_test.cc File Reference
#include <cstdint>
#include <memory>
#include <stdexcept>
#include <string>
#include <gtest/gtest.h>
#include <ah-errors.H>
#include <State_Search.H>
Include dependency graph for adversarial_search_test.cc:

Go to the source code of this file.

Functions

 TEST (AdversarialSearchFramework, ArtificialGameNegamaxFindsKnownValueAndPath)
 
 TEST (AdversarialSearchFramework, ArtificialGameAlphaBetaMatchesNegamaxAndPrunes)
 
 TEST (AdversarialSearchFramework, ArtificialGameDepthLimitUsesHeuristicEvaluation)
 
 TEST (AdversarialSearchFramework, TicTacToeFindsImmediateWinningMove)
 
 TEST (AdversarialSearchFramework, TicTacToeAlphaBetaMatchesNegamaxAndVisitsFewerNodes)
 
 TEST (AdversarialSearchFramework, InvalidBestFirstPolicyIsRejected)
 
 TEST (AdversarialSearchFramework, AlphaBetaHeuristicMoveOrderingReducesNodes)
 
 TEST (AdversarialSearchFramework, NegamaxTranspositionTablePreservesResultAndReducesNodes)
 
 TEST (AdversarialSearchFramework, AlphaBetaTranspositionTablePreservesResultAndReducesNodes)
 
 TEST (AdversarialSearchFramework, NegamaxIterativeDeepeningCollectsPerDepthPV)
 
 TEST (AdversarialSearchFramework, AlphaBetaIterativeDeepeningAspirationPreservesValue)
 
 TEST (AdversarialSearchFramework, AlphaBetaTracingRecordsIterationsAndCutoffs)
 
 TEST (AdversarialSearchFramework, AlphaBetaIterativeDeepeningTTPreservesValueAndReducesNodes)
 
 TEST (AdversarialSearchFramework, SearchWithWindowWideWindowMatchesFullSearch)
 
 TEST (AdversarialSearchFramework, SearchWithWindowExactWindowReturnsCorrectValue)
 
 TEST (AdversarialSearchFramework, SearchWithWindowFailLowReturnsUpperBound)
 
 TEST (AdversarialSearchFramework, SearchWithWindowFailHighReturnsLowerBound)
 
 TEST (AdversarialSearchFramework, SearchWithWindowTicTacToeMatchesFullSearch)
 
 TEST (AdversarialSearchFramework, SearchWithWindowTTPreservesResult)
 
 TEST (AdversarialSearchFramework, SearchWithWindowNarrowPrunesMoreNodes)
 
 TEST (AdversarialSearchFramework, NegamaxPVReplayMatchesReportedValue)
 
 TEST (AdversarialSearchFramework, AlphaBetaPVReplayMatchesReportedValue)
 
 TEST (AdversarialSearchFramework, DepthLimitedNegamaxPVReplayMatchesReportedValue)
 
 TEST (AdversarialSearchFramework, TicTacToeNegamaxPVReplayMatchesValue)
 
 TEST (AdversarialSearchFramework, TicTacToeAlphaBetaPVReplayMatchesValue)
 
 TEST (AdversarialSearchFramework, TicTacToeWinningPositionPVReplay)
 
 TEST (AdversarialSearchFramework, TicTacToeWithTTPVReplayMatchesValue)
 
 TEST (AdversarialSearchFramework, IterativeDeepeningPVReplayMatchesValueAtEachDepth)
 
 TEST (AdversarialSearchFramework, AlphaBetaIterativeDeepeningPVReplayMatchesValue)
 
 TEST (AdversarialSearchFramework, SearchWithWindowPVReplayMatchesValue)
 
 TEST (AdversarialSearchFramework, NegamaxApplyExceptionDoesNotCallUndo)
 
 TEST (AdversarialSearchFramework, AlphaBetaApplyExceptionDoesNotCallUndo)
 
 TEST (AdversarialSearchFramework, NegamaxPostApplyExceptionCallsUndo)
 
 TEST (AdversarialSearchFramework, AlphaBetaPostApplyExceptionCallsUndo)
 
 TEST (AdversarialSearchFramework, ForcedDrawReturnZeroScore)
 
 TEST (AdversarialSearchFramework, EmptySuccessorsInNonTerminalTreatedAsLeaf)
 
 TEST (AdversarialSearchFramework, ExtremePositiveScoreDoesNotOverflow)
 
 TEST (AdversarialSearchFramework, AlphaBetaIncrementalEvaluatorUsesEvaluateAfter)
 
 TEST (AdversarialSearchFramework, AlphaBetaIncrementalEvaluatorMatchesLegacy)
 

Function Documentation

◆ TEST() [1/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaApplyExceptionDoesNotCallUndo   
)

◆ TEST() [2/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaHeuristicMoveOrderingReducesNodes   
)

◆ TEST() [3/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaIncrementalEvaluatorMatchesLegacy   
)

◆ TEST() [4/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaIncrementalEvaluatorUsesEvaluateAfter   
)

◆ TEST() [5/39]

◆ TEST() [6/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaIterativeDeepeningPVReplayMatchesValue   
)

◆ TEST() [7/39]

◆ TEST() [8/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaPostApplyExceptionCallsUndo   
)

◆ TEST() [9/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaPVReplayMatchesReportedValue   
)

◆ TEST() [10/39]

◆ TEST() [11/39]

TEST ( AdversarialSearchFramework  ,
AlphaBetaTranspositionTablePreservesResultAndReducesNodes   
)

◆ TEST() [12/39]

TEST ( AdversarialSearchFramework  ,
ArtificialGameAlphaBetaMatchesNegamaxAndPrunes   
)

◆ TEST() [13/39]

TEST ( AdversarialSearchFramework  ,
ArtificialGameDepthLimitUsesHeuristicEvaluation   
)

◆ TEST() [14/39]

TEST ( AdversarialSearchFramework  ,
ArtificialGameNegamaxFindsKnownValueAndPath   
)

◆ TEST() [15/39]

TEST ( AdversarialSearchFramework  ,
DepthLimitedNegamaxPVReplayMatchesReportedValue   
)

◆ TEST() [16/39]

TEST ( AdversarialSearchFramework  ,
EmptySuccessorsInNonTerminalTreatedAsLeaf   
)

◆ TEST() [17/39]

TEST ( AdversarialSearchFramework  ,
ExtremePositiveScoreDoesNotOverflow   
)

◆ TEST() [18/39]

TEST ( AdversarialSearchFramework  ,
ForcedDrawReturnZeroScore   
)

◆ TEST() [19/39]

TEST ( AdversarialSearchFramework  ,
InvalidBestFirstPolicyIsRejected   
)

◆ TEST() [20/39]

TEST ( AdversarialSearchFramework  ,
IterativeDeepeningPVReplayMatchesValueAtEachDepth   
)

◆ TEST() [21/39]

TEST ( AdversarialSearchFramework  ,
NegamaxApplyExceptionDoesNotCallUndo   
)

◆ TEST() [22/39]

TEST ( AdversarialSearchFramework  ,
NegamaxIterativeDeepeningCollectsPerDepthPV   
)

◆ TEST() [23/39]

TEST ( AdversarialSearchFramework  ,
NegamaxPostApplyExceptionCallsUndo   
)

◆ TEST() [24/39]

TEST ( AdversarialSearchFramework  ,
NegamaxPVReplayMatchesReportedValue   
)

◆ TEST() [25/39]

TEST ( AdversarialSearchFramework  ,
NegamaxTranspositionTablePreservesResultAndReducesNodes   
)

◆ TEST() [26/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowExactWindowReturnsCorrectValue   
)

◆ TEST() [27/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowFailHighReturnsLowerBound   
)

◆ TEST() [28/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowFailLowReturnsUpperBound   
)

◆ TEST() [29/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowNarrowPrunesMoreNodes   
)

◆ TEST() [30/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowPVReplayMatchesValue   
)

Definition at line 888 of file adversarial_search_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and engine.

◆ TEST() [31/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowTicTacToeMatchesFullSearch   
)

◆ TEST() [32/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowTTPreservesResult   
)

◆ TEST() [33/39]

TEST ( AdversarialSearchFramework  ,
SearchWithWindowWideWindowMatchesFullSearch   
)

◆ TEST() [34/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeAlphaBetaMatchesNegamaxAndVisitsFewerNodes   
)

◆ TEST() [35/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeAlphaBetaPVReplayMatchesValue   
)

◆ TEST() [36/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeFindsImmediateWinningMove   
)

◆ TEST() [37/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeNegamaxPVReplayMatchesValue   
)

◆ TEST() [38/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeWinningPositionPVReplay   
)

◆ TEST() [39/39]

TEST ( AdversarialSearchFramework  ,
TicTacToeWithTTPVReplayMatchesValue   
)

Definition at line 806 of file adversarial_search_test.cc.

References Aleph::divide_and_conquer_partition_dp(), engine, and TT.