![]() |
| If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|||||||
| Tags: chess, program, testing |
|
|
|
Thread Tools | Display Modes |
|
#11
|
|||
|
|||
|
Simon Krahnke wrote:
* Noah Roberts (19:18) schrieb: I could be wrong, but I don't believe iterative deepening actually works unless there is a transposition table to record results of previous iterations. Iterative deepening is meant to increase the likelihood of perfect move ordering for the search by filling the TTable with good moves. Unless you are recording results somehow, and the ttable is the most direct method, you are simply wasting time. Actually the asymptotic complexity of iterative deepeing is the same as of fixed depth, it's b^d, b being the branching factor and d being the final/fixed depth. That's because the non-final depth calculations are far less expensive. Certainly. But unless you are recording the results they are not informative. I did it the same way, when i started my own lame engine: I started with fixed depth and then went to iterative deepening. There was no slowdown at all. My engines both actually sped up, but I recorded the results of my former searches in the ttable. -- "I'm a war president. I make decisions here in the Oval Office in foreign policy matters with war on my mind." - Bush |
| Ads |
|
#12
|
|||
|
|||
|
Dr. David Kirkby wrote:
Assuming you don't want to put a GUI on it (why waste time when they exist), would it not be better to write it in standard C++ (if such a thing exists), It does. rather than a Microsoft version of it ?? Personally I think standard C is better , as its much more portable than C++, but I guess I'm showing my age in prefering C. C++ has become pretty portable. I write things in Linux and can also compile them on windows with no additional stuff. I have written chess engines that way. You can do more with the C++ stdlib than you can with the C stdlib. [snip several truths] -- "I'm a war president. I make decisions here in the Oval Office in foreign policy matters with war on my mind." - Bush |
|
#13
|
|||
|
|||
|
"Noah Roberts" wrote I could be wrong, but I don't believe iterative deepening actually works unless there is a transposition table to record results of previous iterations. Iterative deepening is meant to increase the likelihood of perfect move ordering for the search by filling the TTable with good moves. Unless you are recording results somehow, and the ttable is the most direct method, you are simply wasting time. I do not agree! (you can still apply some move ordering (at the root) and then iterative deepning allows a depth-first approach like minimax to be stopped after a certain amount of time). Tommy |
|
#14
|
|||
|
|||
|
* Noah Roberts (18:23) schrieb:
Actually the asymptotic complexity of iterative deepeing is the same as of fixed depth, it's b^d, b being the branching factor and d being the final/fixed depth. That's because the non-final depth calculations are far less expensive. Certainly. But unless you are recording the results they are not informative. As I mentioned it's informative for timing and guessing which depth to go for. I did it the same way, when i started my own lame engine: I started with fixed depth and then went to iterative deepening. There was no slowdown at all. My engines both actually sped up, but I recorded the results of my former searches in the ttable. Of course, recodirng the best move improves iterative deepening a lot (if the search is stable), but at the time i implemented iterative deepeing there wasn't any transposition table yet. Trying to use mtd(f) without ttable is suicide, but iterative deepening isn't. mfg, simon .... l |
|
| Thread Tools | |
| Display Modes | |
|
|