📄 solver_8c.html
字号:
<a class="el" href="group__mac.html#gga59a135">WDL_SCORE</a>, <a class="el" href="group__mac.html#gga59a136">WD_SCORE</a>, <a class="el" href="group__mac.html#gga59a137">DL_SCORE</a> }</td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>unsigned long </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga0">hash_random</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pseudo-random number generator. <a href="group__hash.html#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga1">hash_init</a> (<a class="el" href="structHashTable.html">HashTable</a> *hash_table, int n_bits)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Initialise the hashtable. <a href="group__hash.html#ga1"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga2">hash_clear</a> (<a class="el" href="structHashTable.html">HashTable</a> *hash_table)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the hashtable. <a href="group__hash.html#ga2"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga3">hash_free</a> (<a class="el" href="structHashTable.html">HashTable</a> *hash_table)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Free the hashtable. <a href="group__hash.html#ga3"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga4">hash_update</a> (<a class="el" href="structHashTable.html">HashTable</a> *hash_table, const <a class="el" href="structBoard.html">Board</a> *board, int alpha, int beta, int score, int move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Update an hashtable entry. <a href="group__hash.html#ga4"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structHash.html">Hash</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__hash.html#ga5">hash_get</a> (<a class="el" href="structHashTable.html">HashTable</a> *hash_table, const <a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Find an hash table entry according to the evaluated board hash codes. <a href="group__hash.html#ga5"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga0">board_set</a> (<a class="el" href="structBoard.html">Board</a> *board, const char *string)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set a board from a string description. <a href="group__board.html#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga1">board_check_move</a> (const <a class="el" href="structBoard.html">Board</a> *board, int x, int player)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Check move validity. <a href="group__board.html#ga1"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga2">board_count_flips</a> (const <a class="el" href="structBoard.html">Board</a> *board, int x, int player)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Count flippable discs. <a href="group__board.html#ga2"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga3">board_do_flip</a> (<a class="el" href="structBoard.html">Board</a> *board, int x, <a class="el" href="structMove.html">Move</a> *move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Flip discs on the board. <a href="group__board.html#ga3"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga4">board_get_move</a> (const <a class="el" href="structBoard.html">Board</a> *board, int x, <a class="el" href="structMove.html">Move</a> *move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Compute a move. <a href="group__board.html#ga4"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga5">board_update_move</a> (<a class="el" href="structBoard.html">Board</a> *board, const <a class="el" href="structMove.html">Move</a> *move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Update a board. <a href="group__board.html#ga5"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga6">board_restore_move</a> (<a class="el" href="structBoard.html">Board</a> *board, const <a class="el" href="structMove.html">Move</a> *move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Restore a board. <a href="group__board.html#ga6"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga7">board_update_pass</a> (<a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Passing move. <a href="group__board.html#ga7"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga8">board_restore_pass</a> (<a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Un-passing. <a href="group__board.html#ga8"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga9">board_get_movelist</a> (const <a class="el" href="structBoard.html">Board</a> *board, <a class="el" href="structMoveList.html">MoveList</a> *start)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get a list of legal moves. <a href="group__board.html#ga9"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga10">board_get_mobility</a> (const <a class="el" href="structBoard.html">Board</a> *board, int player)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Estimate the mobility. <a href="group__board.html#ga10"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga11">board_get_corner_stability</a> (<a class="el" href="structBoard.html">Board</a> *board, int player)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Estimate corner stability. <a href="group__board.html#ga11"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__board.html#ga12">board_print</a> (<a class="el" href="structBoard.html">Board</a> *board, FILE *f)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize the local parity counters. Print out the board. <a href="group__board.html#ga12"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__move.html#ga0">move_print</a> (int x, int player, FILE *f)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Print out a move. <a href="group__move.html#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__move.html#ga1">line_print</a> (<a class="el" href="structBoard.html">Board</a> *board, <a class="el" href="structHashTable.html">HashTable</a> *hash_table, int depth, FILE *f)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Print a PV. <a href="group__move.html#ga1"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__move.html#ga2">movelist_sort_bestmove</a> (<a class="el" href="structMoveList.html">MoveList</a> *movelist, int move)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Sort a move as best. <a href="group__move.html#ga2"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__move.html#ga3">movelist_sort_fastfirst</a> (<a class="el" href="structMoveList.html">MoveList</a> *movelist, <a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Sort a list of move, fastest-first. <a href="group__move.html#ga3"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga0">board_get_final_score</a> (const <a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the final score. <a href="group__search.html#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga1">board_get_final_score_0</a> (const <a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the final score. <a href="group__search.html#ga1"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga2">board_get_final_score_1</a> (<a class="el" href="structBoard.html">Board</a> *board)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the final score. <a href="group__search.html#ga2"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga3">board_get_final_score_2</a> (<a class="el" href="structBoard.html">Board</a> *board, int alpha, int beta, int passed)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the final score. <a href="group__search.html#ga3"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga4">alphabeta_shallow</a> (<a class="el" href="structBoard.html">Board</a> *board, int alpha, int beta, int passed)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate a position using a shallow Alphabeta. <a href="group__search.html#ga4"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga5">PVS_deep</a> (<a class="el" href="structBoard.html">Board</a> *board, <a class="el" href="structHashTable.html">HashTable</a> *hash_table, int alpha, int beta, int passed)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate a position with a deep Principal Variation Search algorithm. <a href="group__search.html#ga5"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga6">PVS_root</a> (<a class="el" href="structBoard.html">Board</a> *board, <a class="el" href="structHashTable.html">HashTable</a> *hash_table, int alpha, int beta, <a class="el" href="structMoveList.html">MoveList</a> *movelist)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Principal Variation Search algorithm at the root of the tree. <a href="group__search.html#ga6"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__search.html#ga7">solve</a> (<a class="el" href="structBoard.html">Board</a> *board, <a class="el" href="structHashTable.html">HashTable</a> *hash_table, int mode, <a class="el" href="structMove.html">Move</a> *bestmove)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Search the bestmove of a given board. <a href="group__search.html#ga7"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__main.html#ga0">usage</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Print program usage. <a href="group__main.html#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__main.html#ga1">main</a> (int argc, char **argv)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Program main function. <a href="group__main.html#ga1"></a><br><br></td></tr><tr><td colspan=2><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>const int </td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga0">FLIPPING_DIRECTION_ID</a> [BOARD_SIZE]</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>const int </td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga1">QUADRANT_ID</a> [BOARD_SIZE]</td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Mon Apr 12 19:31:51 2004 for Othello Solver by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.5 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -