|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
#include <cstdint>#include <memory>#include <stdexcept>#include <string>#include <gtest/gtest.h>#include <ah-errors.H>#include <State_Search.H>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) | |
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaApplyExceptionDoesNotCallUndo | |||
| ) |
Definition at line 1227 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::SearchLimits::max_depth.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaHeuristicMoveOrderingReducesNodes | |||
| ) |
Definition at line 441 of file adversarial_search_test.cc.
References Aleph::Alpha_Beta< Domain >::default_policy(), Aleph::divide_and_conquer_partition_dp(), and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaIncrementalEvaluatorMatchesLegacy | |||
| ) |
Definition at line 1360 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::ExplorationPolicy::move_ordering.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaIncrementalEvaluatorUsesEvaluateAfter | |||
| ) |
Definition at line 1337 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, Aleph::SearchLimits::max_depth, and Aleph::ExplorationPolicy::move_ordering.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaIterativeDeepeningAspirationPreservesValue | |||
| ) |
Definition at line 541 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), Aleph::AdversarialIterativeDeepeningOptions< Score >::initial_depth, Aleph::iterative_deepening_alpha_beta_search(), Aleph::SearchLimits::max_depth, and options.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaIterativeDeepeningPVReplayMatchesValue | |||
| ) |
Definition at line 853 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::AdversarialIterativeDeepeningOptions< Score >::initial_depth, Aleph::iterative_deepening_alpha_beta_search(), Aleph::SearchLimits::max_depth, options, and r.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaIterativeDeepeningTTPreservesValueAndReducesNodes | |||
| ) |
Definition at line 594 of file adversarial_search_test.cc.
References Aleph::Alpha_Beta< Domain >::default_policy(), Aleph::divide_and_conquer_partition_dp(), Aleph::AdversarialIterativeDeepeningOptions< Score >::initial_depth, Aleph::iterative_deepening_alpha_beta_search(), Aleph::SearchLimits::max_depth, options, and TT.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaPostApplyExceptionCallsUndo | |||
| ) |
Definition at line 1257 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::SearchLimits::max_depth.
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaPVReplayMatchesReportedValue | |||
| ) |
Definition at line 743 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaTracingRecordsIterationsAndCutoffs | |||
| ) |
| TEST | ( | AdversarialSearchFramework | , |
| AlphaBetaTranspositionTablePreservesResultAndReducesNodes | |||
| ) |
Definition at line 490 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, Aleph::Alpha_Beta< Domain >::search(), and TT.
| TEST | ( | AdversarialSearchFramework | , |
| ArtificialGameAlphaBetaMatchesNegamaxAndPrunes | |||
| ) |
Definition at line 375 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| ArtificialGameDepthLimitUsesHeuristicEvaluation | |||
| ) |
Definition at line 386 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| ArtificialGameNegamaxFindsKnownValueAndPath | |||
| ) |
Definition at line 364 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| DepthLimitedNegamaxPVReplayMatchesReportedValue | |||
| ) |
Definition at line 754 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| EmptySuccessorsInNonTerminalTreatedAsLeaf | |||
| ) |
Definition at line 1293 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| ExtremePositiveScoreDoesNotOverflow | |||
| ) |
Definition at line 1315 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| ForcedDrawReturnZeroScore | |||
| ) |
Definition at line 1274 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| InvalidBestFirstPolicyIsRejected | |||
| ) |
Definition at line 429 of file adversarial_search_test.cc.
References Aleph::Negamax< Domain >::default_policy(), Aleph::divide_and_conquer_partition_dp(), and Aleph::ExplorationPolicy::strategy.
| TEST | ( | AdversarialSearchFramework | , |
| IterativeDeepeningPVReplayMatchesValueAtEachDepth | |||
| ) |
Definition at line 823 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::iterative_deepening_negamax_search(), and Aleph::SearchLimits::max_depth.
| TEST | ( | AdversarialSearchFramework | , |
| NegamaxApplyExceptionDoesNotCallUndo | |||
| ) |
Definition at line 1214 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::SearchLimits::max_depth.
| TEST | ( | AdversarialSearchFramework | , |
| NegamaxIterativeDeepeningCollectsPerDepthPV | |||
| ) |
Definition at line 513 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::iterative_deepening_negamax_search(), Aleph::SearchLimits::max_depth, and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| NegamaxPostApplyExceptionCallsUndo | |||
| ) |
Definition at line 1244 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::SearchLimits::max_depth.
| TEST | ( | AdversarialSearchFramework | , |
| NegamaxPVReplayMatchesReportedValue | |||
| ) |
Definition at line 732 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| NegamaxTranspositionTablePreservesResultAndReducesNodes | |||
| ) |
Definition at line 467 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, Aleph::Negamax< Domain >::search(), and TT.
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowExactWindowReturnsCorrectValue | |||
| ) |
Definition at line 651 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowFailHighReturnsLowerBound | |||
| ) |
Definition at line 674 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowFailLowReturnsUpperBound | |||
| ) |
Definition at line 663 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowNarrowPrunesMoreNodes | |||
| ) |
Definition at line 717 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search_with_window().
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowPVReplayMatchesValue | |||
| ) |
Definition at line 888 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), and engine.
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowTicTacToeMatchesFullSearch | |||
| ) |
Definition at line 685 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowTTPreservesResult | |||
| ) |
Definition at line 698 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, Aleph::Alpha_Beta< Domain >::search(), and TT.
| TEST | ( | AdversarialSearchFramework | , |
| SearchWithWindowWideWindowMatchesFullSearch | |||
| ) |
Definition at line 639 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and Aleph::Alpha_Beta< Domain >::search().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeAlphaBetaMatchesNegamaxAndVisitsFewerNodes | |||
| ) |
Definition at line 413 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeAlphaBetaPVReplayMatchesValue | |||
| ) |
Definition at line 780 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeFindsImmediateWinningMove | |||
| ) |
Definition at line 399 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeNegamaxPVReplayMatchesValue | |||
| ) |
Definition at line 768 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeWinningPositionPVReplay | |||
| ) |
Definition at line 792 of file adversarial_search_test.cc.
References Aleph::alpha_beta_search(), Aleph::divide_and_conquer_partition_dp(), and Aleph::negamax_search().
| TEST | ( | AdversarialSearchFramework | , |
| TicTacToeWithTTPVReplayMatchesValue | |||
| ) |
Definition at line 806 of file adversarial_search_test.cc.
References Aleph::divide_and_conquer_partition_dp(), engine, and TT.