During ACCA, CC told TT that Romi has many bugs

Discussion of chess software programming and technical issues.

Moderator: Ras

Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

During ACCA, CC told TT that Romi has many bugs

Post by Michael Sherwin »

It would have been nice if CC would tell me what they are.

Well, I think that I found one.

I do an aspiration search and when it fails, an 'Infinity' window is used for the research.

The bug would be to timeout and therefore not to have an accurate score for the iteration. How bad is this bug?

So temporarily, I just got rid of the aspiration window. And then I got PVS Zero window (or something close :oops: ) working. The performance is back up and surpasses the aspiration window search.

So, not only was the aspiration search buggy it was also causing the PVS Zero window search to flownder.

Then I wanted to redo the aspiration search to get the speed back that it offers. But, then it dawned on me that if the search spends most of its time in zero-window searches then how can anything be gained by using an aspiration window.

What should I do?
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: During ACCA, CC told TT that Romi has many bugs

Post by Dann Corbit »

Michael Sherwin wrote:It would have been nice if CC would tell me what they are.

Well, I think that I found one.

I do an aspiration search and when it fails, an 'Infinity' window is used for the research.

The bug would be to timeout and therefore not to have an accurate score for the iteration. How bad is this bug?

So temporarily, I just got rid of the aspiration window. And then I got PVS Zero window (or something close :oops: ) working. The performance is back up and surpasses the aspiration window search.

So, not only was the aspiration search buggy it was also causing the PVS Zero window search to flownder.

Then I wanted to redo the aspiration search to get the speed back that it offers. But, then it dawned on me that if the search spends most of its time in zero-window searches then how can anything be gained by using an aspiration window.

What should I do?
You don't search the main pv move with zero window, so you need aspiration search for that. IOW: You don't search the pv node with +/- INF do you?

Generally, all the zero window searches will finish in about the same time (or less) as the one pv node aspiration window search. If you are spending most of your time in zero window searches then probably something is wrong (unless it is some sort of MTD(f) approach).
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: During ACCA, CC told TT that Romi has many bugs

Post by Michael Sherwin »

Dann Corbit wrote:You don't search the main pv move with zero window, so you need aspiration search for that. IOW: You don't search the pv node with +/- INF do you?

Generally, all the zero window searches will finish in about the same time (or less) as the one pv node aspiration window search. If you are spending most of your time in zero window searches then probably something is wrong (unless it is some sort of MTD(f) approach).
I was using an aspiration search to narrow the window for the pv (whole search actually) and it made the search faster. I dropped the aspiration search when I found the bug(?). At this moment in time the pv is starting out with +/- INF. And the search is faster, but only because, zero-window search is now working. I have tried on and off for three years to get zero-window searchs working. I never thought about disabling the aspiration window, to do so.

I repeat.

How bad is the bug that I found?

And what is there if anything about an aspiration window that would cause a zero-window search to act really funky?

It must be a bug or zero-window search is really efficient, because, RomiChess is testing about 75 elo stronger since the changes. If I can get the aspiration window working and IID working then it should be more.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: During ACCA, CC told TT that Romi has many bugs

Post by Dann Corbit »

Michael Sherwin wrote:
Dann Corbit wrote:You don't search the main pv move with zero window, so you need aspiration search for that. IOW: You don't search the pv node with +/- INF do you?

Generally, all the zero window searches will finish in about the same time (or less) as the one pv node aspiration window search. If you are spending most of your time in zero window searches then probably something is wrong (unless it is some sort of MTD(f) approach).
I was using an aspiration search to narrow the window for the pv (whole search actually) and it made the search faster. I dropped the aspiration search when I found the bug(?). At this moment in time the pv is starting out with +/- INF. And the search is faster, but only because, zero-window search is now working. I have tried on and off for three years to get zero-window searchs working. I never thought about disabling the aspiration window, to do so.

I repeat.

How bad is the bug that I found?

And what is there if anything about an aspiration window that would cause a zero-window search to act really funky?
A bad aspiration window (one that is too narrow) can do bad things because it should cause re-searches. One common technique I have seen for widening the aspiration window is to use a fairly narrow window (e.g. +/- 1/2 pawn) and then on fail high or fail low, add one pawn to the window and if it fails again add one piece and if it fails again make the window infinite.
It must be a bug or zero-window search is really efficient, because, RomiChess is testing about 75 elo stronger since the changes. If I can get the aspiration window working and IID working then it should be more.
Zero window search is really efficient. I guess that maybe you made the window to narrow or did something funny when you widened the window.
Tony

Re: During ACCA, CC told TT that Romi has many bugs

Post by Tony »

Michael Sherwin wrote:It would have been nice if CC would tell me what they are.

Well, I think that I found one.

I do an aspiration search and when it fails, an 'Infinity' window is used for the research.

The bug would be to timeout and therefore not to have an accurate score for the iteration. How bad is this bug?


What should I do?
It can be very bad. I have played games where I would get a fail low ( phew, luckily my engine saw that) and then still have it play the crappy move (Oops, timeout) while it was still finding out, how crappy the move was.

Solution is on a faillow (fe >0.5 pawn), set the timeout to half the available time.

Other solution is to drop the aspiration window. It's not that good, most testing is flawed.

It will shorten the time for the first move, but no aspiration window ( with fail soft) is faster for the remaining moves. All in all, not much difference.

Tony
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: During ACCA, CC told TT that Romi has many bugs

Post by Michael Sherwin »

Tony wrote:
Michael Sherwin wrote:It would have been nice if CC would tell me what they are.

Well, I think that I found one.

I do an aspiration search and when it fails, an 'Infinity' window is used for the research.

The bug would be to timeout and therefore not to have an accurate score for the iteration. How bad is this bug?


What should I do?
It can be very bad. I have played games where I would get a fail low ( phew, luckily my engine saw that) and then still have it play the crappy move (Oops, timeout) while it was still finding out, how crappy the move was.

Solution is on a faillow (fe >0.5 pawn), set the timeout to half the available time.

Other solution is to drop the aspiration window. It's not that good, most testing is flawed.

It will shorten the time for the first move, but no aspiration window ( with fail soft) is faster for the remaining moves. All in all, not much difference.

Tony
Thanks,

There seems to be a difference of opinion from Dann. I guess that I will be doing some testing. Maybe have an aspiration window only if there is enough time left, so that half the remaining time is not required.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: During ACCA, CC told TT that Romi has many bugs

Post by Edsel Apostol »

Hi Mike,

This is my suggestion. Do not use aspiration window. Just use pure PVS.

For the first move in the root, use (-INF, INF) and update alpha by the score, the next moves after that use zero window (-alpha, -alpha+1). If the score on zero window is greater than alpha, research with this window (-INF, -alpha). Use also fail soft inside the main search, for example: if (score >= beta) return score.

That's basically it for the root. I hope it helps.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: During ACCA, CC told TT that Romi has many bugs

Post by Michael Sherwin »

Edsel Apostol wrote:Hi Mike,

This is my suggestion. Do not use aspiration window. Just use pure PVS.

For the first move in the root, use (-INF, INF) and update alpha by the score, the next moves after that use zero window (-alpha, -alpha+1). If the score on zero window is greater than alpha, research with this window (-INF, -alpha). Use also fail soft inside the main search, for example: if (score >= beta) return score.

That's basically it for the root. I hope it helps.
Hi Edsel,

Thanks, that does help! It helps to make me realize that I am in another quandry. :lol: (if I do not laugh, I'll cry :cry: ) Anyway, using (-alpha, -alpha + 1) slows the search way down. It works very well though if I use (-alpha - 1, -alpha) instead. :? And it is being used for the main search as well as at the root. But it works!! :roll:
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Tony

Re: During ACCA, CC told TT that Romi has many bugs

Post by Tony »

Michael Sherwin wrote:
Edsel Apostol wrote:Hi Mike,

This is my suggestion. Do not use aspiration window. Just use pure PVS.

For the first move in the root, use (-INF, INF) and update alpha by the score, the next moves after that use zero window (-alpha, -alpha+1). If the score on zero window is greater than alpha, research with this window (-INF, -alpha). Use also fail soft inside the main search, for example: if (score >= beta) return score.

That's basically it for the root. I hope it helps.
Hi Edsel,

Thanks, that does help! It helps to make me realize that I am in another quandry. :lol: (if I do not laugh, I'll cry :cry: ) Anyway, using (-alpha, -alpha + 1) slows the search way down. It works very well though if I use (-alpha - 1, -alpha) instead. :? And it is being used for the main search as well as at the root. But it works!! :roll:
Hmm, using (-alpha, -alpha + 1) doesn't make sense.

You should call with (-beta,-alpha) and since beta==alpha +1 that equals
(-(alpha+1),-alpha) == (-alpha-1,-alpha)

Tony
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: During ACCA, CC told TT that Romi has many bugs

Post by Michael Sherwin »

Tony wrote:
Michael Sherwin wrote:
Edsel Apostol wrote:Hi Mike,

This is my suggestion. Do not use aspiration window. Just use pure PVS.

For the first move in the root, use (-INF, INF) and update alpha by the score, the next moves after that use zero window (-alpha, -alpha+1). If the score on zero window is greater than alpha, research with this window (-INF, -alpha). Use also fail soft inside the main search, for example: if (score >= beta) return score.

That's basically it for the root. I hope it helps.
Hi Edsel,

Thanks, that does help! It helps to make me realize that I am in another quandry. :lol: (if I do not laugh, I'll cry :cry: ) Anyway, using (-alpha, -alpha + 1) slows the search way down. It works very well though if I use (-alpha - 1, -alpha) instead. :? And it is being used for the main search as well as at the root. But it works!! :roll:
Hmm, using (-alpha, -alpha + 1) doesn't make sense.

You should call with (-beta,-alpha) and since beta==alpha +1 that equals
(-(alpha+1),-alpha) == (-alpha-1,-alpha)

Tony
You mean that I did something right for once. :D
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through