Thursday, March 17, 2005
It happened again!
I corrected a bug and the program went worse...
What does that indicate? I suppose that there is another bug that interference with the other. So now I will start a big test. Described below.
The bug
In the Quiescense I should have something like this:
pmove=GenMoves(....) // will set pointer to first pmove
while (pmove->ok) {
....MakeMove(pmove)
....pmove=GenMoves(....) // will set next pmove pointer
}
the bug was that I had MakeMove(pmove++) meaning that every second capture was removed from Quiescense!
When I fixed this bug the program went worse. At least in my first tests.
The big test
I suspect that one of my extensions/prunings are the source for this. The tournament will consist of:
What does that indicate? I suppose that there is another bug that interference with the other. So now I will start a big test. Described below.
The bug
In the Quiescense I should have something like this:
pmove=GenMoves(....) // will set pointer to first pmove
while (pmove->ok) {
....MakeMove(pmove)
....pmove=GenMoves(....) // will set next pmove pointer
}
the bug was that I had MakeMove(pmove++) meaning that every second capture was removed from Quiescense!
When I fixed this bug the program went worse. At least in my first tests.
The big test
I suspect that one of my extensions/prunings are the source for this. The tournament will consist of:
- AlaricAll (Everything on)
- AlaricClean (No nothing on. Just search)
- AlaricHa (Hashtab on - nothing else)
- AlaricSt (Statistical prune on - nothing else)
- AlaricTo (Tords Prob FH pruning on - nothing else)
- AlaricIID (IID on - nothing else)
- AlaricSEE (SEE on - nothing else)
- AlaricPV (FullPV on - nothing else) No prune if (beta-alpha>1)
- AlaricDr (Draw detection on - nothing else) Detect eternal draws
- AlaricNoHa (Everything on except Hashtabs)
- AlaricNoSt (Everything on except Statistical pruning)
- AlaricNoTo (Everything on except Tords ProbFH pruning)
- AlaricNoIID (Everything on except IID)
- AlaricNoSEE (Everything on except SEE)
- AlaricNoPV (Everything on except Full PV)
- AlaricNoDr (Everything on except Draw detection)