MVV/LVA versus SEE

Discussion of chess software programming and technical issues.

Moderator: Ras

Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: MVV/LVA versus SEE

Post by Henk »

lucasart wrote:
Henk wrote:Some people use Most Valuable Victim/Least Valuable Aggressor to improve capture moves order. But is Static Exchange Evaluation not always better.

So when to use SEE and when to use MVV/LVA ?

I can imagine MVV/LVA takes less time to compute.
The key thing to understand is that there is no 'right' or 'wrong' way, and the choice of either MVV/LVA or SEE is the result of a tradeoff.

SEE
better predictor of best capture. the capture with the highest SEE is not always the best capture, but it's more often a good predictor than MVV/LVA. Both methods are local (only lookng at what happens on the target square) so they are both blind to many other things.

MVV/LVA
Trying to capture the biggest pieces first, also means that the subtree has a lower branching factor (less big pieces on the board means less legal moves on average).

[*] You need to experiment this for yourself to really understand it. This will be a good opportunity to put your own brain at work rather than asking people to do things for you:
- create a position that gives you a qsearch() explosion.
- try SEE sorting in your qsearch()
- try MVV/LVA
- which is best? have a look at the deep lines that are exploding the tree, and try to understand why.

Of course, MVV/LVA is also faster to compute. But that's trivial and uninteresting. Look at node count rather than time.

I've done quite a bit of experiment in my engine, and have concluded that, as far as DiscoCheck is concerned:
- SEE is best for ordering captures in the search()
- MVV/LVA is best for ordering captures in the qsearch()

PS: To demonstrate that you are not a Troll, you need to do your homework [*] before you answer to this post. So please do your homework before to answer any nonsense.
Thank you for answering my question.

What do you mean with homework [*] ? And why does it all be made so difficult to ask questions. I also do not mind short answers.
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: MVV/LVA versus SEE

Post by Henk »

Henk wrote:
lucasart wrote:
Henk wrote:Some people use Most Valuable Victim/Least Valuable Aggressor to improve capture moves order. But is Static Exchange Evaluation not always better.

So when to use SEE and when to use MVV/LVA ?

I can imagine MVV/LVA takes less time to compute.
The key thing to understand is that there is no 'right' or 'wrong' way, and the choice of either MVV/LVA or SEE is the result of a tradeoff.

SEE
better predictor of best capture. the capture with the highest SEE is not always the best capture, but it's more often a good predictor than MVV/LVA. Both methods are local (only lookng at what happens on the target square) so they are both blind to many other things.

MVV/LVA
Trying to capture the biggest pieces first, also means that the subtree has a lower branching factor (less big pieces on the board means less legal moves on average).

[*] You need to experiment this for yourself to really understand it. This will be a good opportunity to put your own brain at work rather than asking people to do things for you:
- create a position that gives you a qsearch() explosion.
- try SEE sorting in your qsearch()
- try MVV/LVA
- which is best? have a look at the deep lines that are exploding the tree, and try to understand why.

Of course, MVV/LVA is also faster to compute. But that's trivial and uninteresting. Look at node count rather than time.

I've done quite a bit of experiment in my engine, and have concluded that, as far as DiscoCheck is concerned:
- SEE is best for ordering captures in the search()
- MVV/LVA is best for ordering captures in the qsearch()

PS: To demonstrate that you are not a Troll, you need to do your homework [*] before you answer to this post. So please do your homework before to answer any nonsense.
Thank you for answering my question.

What do you mean with homework [*] ? And why does it all be made so difficult to ask questions. I also do not mind short answers.
I did not see [*] so you do not need to answer it again
syzygy
Posts: 5874
Joined: Tue Feb 28, 2012 11:56 pm

Re: MVV/LVA versus SEE

Post by syzygy »

Henk wrote:
syzygy wrote:
Henk wrote:
Michel wrote:Such basic issues have been discussed an infinite number of times already. Please read up on prior discussions. The CPW is also a good start.
I don't want to search for days getting answers to my questions.
Searching is exhausting. And at the end you may find that no good answer was present.
How do you prefer that we do the work for you?

Do you want us to use google and the search function of this forum to find the relevant threads and post links here so that you only have to click them?

Or do you prefer that we simply repeat here what has already been written many times on this forum and elsewhere?
If you know the answer right away, you may consider if you would like to answer the question, if you do not want to keep the answer [as] [a] secret.
I know the answer and it is not a secret, but I am not willing to take away from you the enriching experience of doing a tiny bit of research. I therefore stick to the above didactic reply.

Besides, I really don't see why I or anyone else should make an effort to help someone who explicitly states that he himself does not want to make an effort. Why should I type something out that you could have found anywhere on the internet if you only had tried?

There is such a thing as forum etiquette. It is not only about using civil language. It is also about showing respect to other forum members in the sense of only asking them to spend time on helping you out if you have first made a genuine effort yourself.
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: MVV/LVA versus SEE

Post by lucasart »

Henk wrote: What do you mean with homework [*] ? And why does it all be made so difficult to ask questions. I also do not mind short answers.
If I gave you a yes/no answer, it would not teach you anything. You can only learn by scratching your brain and experimenting yourself.

If you just want answers, and people to do all the work for you, then you have demonstrated once more than you are indeed a troll.

Now, I would like to ask anyone here who has some common sense to not reply to his posts. ALready his trolling on LMR triggered 100 replies...

As Marco said: Do not feed the troll.

Thank you for your understanding and cooperation.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: MVV/LVA versus SEE

Post by Henk »

syzygy wrote:
Henk wrote:
syzygy wrote:
Henk wrote:
Michel wrote:Such basic issues have been discussed an infinite number of times already. Please read up on prior discussions. The CPW is also a good start.
I don't want to search for days getting answers to my questions.
Searching is exhausting. And at the end you may find that no good answer was present.
How do you prefer that we do the work for you?

Do you want us to use google and the search function of this forum to find the relevant threads and post links here so that you only have to click them?

Or do you prefer that we simply repeat here what has already been written many times on this forum and elsewhere?
If you know the answer right away, you may consider if you would like to answer the question, if you do not want to keep the answer [as] [a] secret.
I know the answer and it is not a secret, but I am not willing to take away from you the enriching experience of doing a tiny bit of research. I therefore stick to the above didactic reply.

Besides, I really don't see why I or anyone else should make an effort to help someone who explicitly states that he himself does not want to make an effort. Why should I type something out that you could have found anywhere on the internet if you only had tried?

There is such a thing as forum etiquette. It is not only about using civil language. It is also about showing respect to other forum members in the sense of only asking them to spend time on helping you out if you have first made a genuine effort yourself.
It doesn't make sense to reinvent the wheel. If you are far behind you want quick answers to common questions. Of course there is always the lack of time and energy. Chess programming is not always the most important thing to do.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

let me google it for you

Post by Daniel Shawul »

I think this is what you meant to give him

http://googleitfor.me/?q=MVV%2FLVA&l=1

Thank me later Henk :) No wait, Thank Gerd!
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: MVV/LVA versus SEE

Post by Henk »

lucasart wrote:
Henk wrote: What do you mean with homework [*] ? And why does it all be made so difficult to ask questions. I also do not mind short answers.
If I gave you a yes/no answer, it would not teach you anything. You can only learn by scratching your brain and experimenting yourself.

If you just want answers, and people to do all the work for you, then you have demonstrated once more than you are indeed a troll.

Now, I would like to ask anyone here who has some common sense to not reply to his posts. ALready his trolling on LMR triggered 100 replies...

As Marco said: Do not feed the troll.
Some people like to feed the troll. Don't give them plastic. It's bad for their stomach.
syzygy
Posts: 5874
Joined: Tue Feb 28, 2012 11:56 pm

Re: MVV/LVA versus SEE

Post by syzygy »

Henk wrote:It doesn't make sense to reinvent the wheel.
And that's why we have Google and the forum search function.
If you are far behind you want quick answers to common questions. Of course there is always the lack of time and energy. Chess programming is not always the most important thing to do.
No reasons to bother us with RTFM-type questions.

You'll have to adjust to how this forum works, which means not posting this type of questions in rapid succession while showing unwillingness to invest some effort yourself.
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: MVV/LVA versus SEE

Post by Henk »

syzygy wrote:
Henk wrote:It doesn't make sense to reinvent the wheel.
And that's why we have Google and the forum search function.
If you are far behind you want quick answers to common questions. Of course there is always the lack of time and energy. Chess programming is not always the most important thing to do.
No reasons to bother us with RTFM-type questions.

You'll have to adjust to how this forum works, which means not posting this type of questions in rapid succession while showing unwillingness to invest some effort yourself.
Ok i'll stop. I regret posting this question.
Chan Rasjid
Posts: 588
Joined: Thu Mar 09, 2006 4:47 pm
Location: Singapore

Re: MVV/LVA versus SEE

Post by Chan Rasjid »

Henk wrote:
Michel wrote:Please stop this trolling!!!!

Such basic issues have been discussed an infinite number of times already. Please read up on prior discussions. The CPW is also a good start.
I don't want to search for days getting answers to my questions.
Searching is exhausting. And at the end you may find that no good answer was present.
Come off it!!!

I don't want to spend years learning to write a chess program. Take stockfish, add your ancestors name Henry Von The Belt, Son of Von Von, former king of Austria in 1000 BC!!!!