#include <fringesearch.h>
Inheritance diagram for PathFind::FringeSearch< MARKER >:
This avoids re-expansion of interior nodes at each new iteration.
Statistics (see Search::createStatistics and Search::getStatistics):
Definition at line 99 of file fringesearch.h.
Public Member Functions | |
FringeSearch () | |
StatisticsCollection | createStatistics () |
Create a StatisticsCollection. | |
bool | findPath (const Environment &env, int start, int target) |
Find a path. | |
const vector< int > & | getPath () const |
const StatisticsCollection & | getStatistics () const |
Get statistics of last search. | |
const vector< char > & | getVisitedNodes () const |
Get a vector with char labels for each visited node. | |
long long int | getNodesLimit () const |
void | setNodesLimit (long long int nodesLimit) |
Set nodes limit for search engine. | |
Public Attributes | |
long long int | m_nodesLimit |
Private Member Functions | |
void | addCache (int nodeId, int gValue, int iteration, int parent) |
bool | checkCache (int nodeId, int gValue, int iteration) const |
void | constructPath (int start) |
void | getFromCache (int nodeId, int &gValue, int &parent) const |
void | doIteration (int iteration, int fLimit, int &fMin) |
void | init (int numberNodes) |
void | markVisitedNode (int nodeId, int iteration) |
Private Attributes | |
int | m_nodesExpanded |
int | m_nodesVisited |
int | m_target |
const Environment * | m_env |
Fringe | m_fringe |
StatisticsCollection | m_statistics |
vector< CacheElement > | m_cache |
MARKER | m_isCacheValid |
vector< char > | m_visitedNodes |
vector< int > | m_path |
|
Definition at line 179 of file fringesearch.h. |
|
|
Definition at line 196 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::CacheElement::m_gValue, PathFind::FringeSearch< MARKER >::m_isCacheValid, and PathFind::FringeSearch< MARKER >::CacheElement::m_iteration. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
Definition at line 209 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::m_isCacheValid, PathFind::FringeSearch< MARKER >::m_path, and PathFind::FringeSearch< MARKER >::m_target. Referenced by PathFind::FringeSearch< MARKER >::findPath(). |
|
Create a StatisticsCollection. Contains Statistics instances for all values tracked. Useful for keeping accumulated statistics by creating the collection and merging the statistics of a search as returned by getStatistics(). Implements PathFind::Search. Definition at line 226 of file fringesearch.h. References PathFind::StatisticsCollection::create(). |
|
|
|
Definition at line 324 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::CacheElement::m_gValue, PathFind::FringeSearch< MARKER >::m_isCacheValid, and PathFind::FringeSearch< MARKER >::CacheElement::m_parent. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
Definition at line 48 of file search.h. References PathFind::Search::m_nodesLimit. |
|
Implements PathFind::Search. Definition at line 109 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_path. |
|
Get statistics of last search.
Implements PathFind::Search. Definition at line 334 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_statistics. |
|
Get a vector with char labels for each visited node. Space char means not visited, otherwise the char can have different values and meanings depending on the concrete search engine. Implements PathFind::Search. Definition at line 116 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_visitedNodes. |
|
|
Definition at line 351 of file fringesearch.h. References PathFind::getVisitedNodeLabel(), and PathFind::FringeSearch< MARKER >::m_visitedNodes. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
Set nodes limit for search engine. The default is -1 and means unlimited search. The nodes limit is a hint only, the search engine may ignore it. Reimplemented in PathFind::AStar< MARKER, CLOSED >. Definition at line 71 of file search.h. References PathFind::Search::m_nodesLimit. |
|
|
Definition at line 140 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
Definition at line 142 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), PathFind::FringeSearch< MARKER >::findPath(), and PathFind::FringeSearch< MARKER >::init(). |
|
|
Definition at line 134 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
Definition at line 78 of file search.h. Referenced by PathFind::Search::getNodesLimit(), PathFind::Search::Search(), PathFind::IDAStar::searchPathIdaStar(), PathFind::Search::setNodesLimit(), and PathFind::AStar< MARKER, CLOSED >::setNodesLimit(). |
|
Definition at line 136 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
Definition at line 152 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::constructPath(), PathFind::FringeSearch< MARKER >::findPath(), and PathFind::FringeSearch< MARKER >::getPath(). |
|
Definition at line 144 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), PathFind::FringeSearch< MARKER >::findPath(), PathFind::FringeSearch< MARKER >::getStatistics(), and PathFind::FringeSearch< MARKER >::init(). |
|
Definition at line 138 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::constructPath(), PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
Definition at line 150 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::getVisitedNodes(), PathFind::FringeSearch< MARKER >::init(), and PathFind::FringeSearch< MARKER >::markVisitedNode(). |