Looking at SF's code it seems to be ordering captures & promotions using MVV only + CaptureHistory, and according to this pull the LVA part is insignificant or even useless, unfortunately I don't have the resources to test such a -"is (such a) right here or should it be just (such)"- subtle difference in Elo, has anyone else tried using MVV only? and if so, how consisting were the results with SF's one?
Also in case of MVV only ordering do you consider the Victim in promotion=V-(promoted piece), or just V ?
is LVA as in MVV-LVA useless ?
Moderators: hgm, chrisw, Rebel
-
- Posts: 1603
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: is LVA as in MVV-LVA useless ?
I don't see any reason why Stockfish prefers MVV over MVV-LVA, they talk about code complexity but to me it seems that one additional subtraction is not very complex at all, probably it tested 0.1 Elo better.
-
- Posts: 2622
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: is LVA as in MVV-LVA useless ?
Exactly, LVA serves a sole purpose to resolve ties. A couple of instructions and 70k games later, big mouth arrogant idiots "debunk myths", give me a breakJoost Buijs wrote: ↑Tue Jun 04, 2019 7:26 pm I don't see any reason why Stockfish prefers MVV over MVV-LVA, they talk about code complexity but to me it seems that one additional subtraction is not very complex at all, probably it tested 0.1 Elo better.
-
- Posts: 952
- Joined: Fri Mar 10, 2006 4:29 pm
- Location: Germany
- Full name: Jörg Oster
Re: is LVA as in MVV-LVA useless ?
LOLmar wrote: ↑Tue Jun 04, 2019 9:58 pmExactly, LVA serves a sole purpose to resolve ties. A couple of instructions and 70k games later, big mouth arrogant idiots "debunk myths", give me a breakJoost Buijs wrote: ↑Tue Jun 04, 2019 7:26 pm I don't see any reason why Stockfish prefers MVV over MVV-LVA, they talk about code complexity but to me it seems that one additional subtraction is not very complex at all, probably it tested 0.1 Elo better.
Jörg Oster
-
- Posts: 1926
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: is LVA as in MVV-LVA useless ?
I would make the argument that Stockfish as an engine is powerful enough to not rely on relatively simple methods of move sorting. I joined the chess world a bit late to see the massive elo gains from adding various continuation histories to Stockfish, but I think it would be naive to not consider the possibility that Stockfish's move history for captures may far exceed trivial tie breaking rules of MVV-LVA.
Personally, I still use MVV-LVA, with only some minor nuance for dealing with promotions and enpassant. Although, I have not tried capture history in any form, as I have plenty of other ideas to play around with before taking something so non-ubiquitous from Stockfish.
Personally, I still use MVV-LVA, with only some minor nuance for dealing with promotions and enpassant. Although, I have not tried capture history in any form, as I have plenty of other ideas to play around with before taking something so non-ubiquitous from Stockfish.
When you can't win an argument, you censor it.
When you can't win an election, you remove your opponents.
Just because you've been doing something for a long time, does not mean you are any good at it.
When you can't win an election, you remove your opponents.
Just because you've been doing something for a long time, does not mean you are any good at it.
-
- Posts: 1494
- Joined: Thu Mar 30, 2006 2:08 pm
Re: is LVA as in MVV-LVA useless ?
Capture move ordering has changed a few times in Komodo. The last version before a recent change used a form of MVV - LVA, but did it without a subtraction. It merely generated all pawn capturing things first, scoring the move a value equivalent as MVV, then all knight capturings, then bishop, rook, queen and king in that order. Then do a stable sort, which automatically keeps the LVA first as a tie break. Of course stable sorts can sometimes be slower, but few captures are possible in most positions and the time savings of having to do the subtraction did speed it up a bit.MahmoudUthman wrote: ↑Tue Jun 04, 2019 12:24 pm Looking at SF's code it seems to be ordering captures & promotions using MVV only + CaptureHistory, and according to this pull the LVA part is insignificant or even useless, unfortunately I don't have the resources to test such a -"is (such a) right here or should it be just (such)"- subtle difference in Elo, has anyone else tried using MVV only? and if so, how consisting were the results with SF's one?
Also in case of MVV only ordering do you consider the Victim in promotion=V-(promoted piece), or just V ?
Mark
-
- Posts: 182
- Joined: Sun Jun 12, 2016 5:44 pm
- Location: London
- Full name: Vincent
Re: is LVA as in MVV-LVA useless ?
It's strange that SEE is still used to differentiate good captures from bad captures, yet its score somehow isn't useful in ordering the moves.
-
- Posts: 1603
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: is LVA as in MVV-LVA useless ?
SEE is perfectly useable for ordering captures, the problem is that you have to calculate SEE for all captures before you can sort them and this is somewhat slower than calculating MVV-LVA for all captures. In my main search I use SEE throughout for ordering captures, in quiescence I use MVV-LVA for ordering and SEE to determine if a capture is worth playing or not.
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: is LVA as in MVV-LVA useless ?
Same for meJoost Buijs wrote: ↑Sun Jun 09, 2019 9:41 pm SEE is perfectly useable for ordering captures, the problem is that you have to calculate SEE for all captures before you can sort them and this is somewhat slower than calculating MVV-LVA for all captures. In my main search I use SEE throughout for ordering captures, in quiescence I use MVV-LVA for ordering and SEE to determine if a capture is worth playing or not.
-
- Posts: 373
- Joined: Thu Jan 22, 2015 3:21 pm
- Location: Zurich, Switzerland
- Full name: Jonathan Rosenthal
Re: is LVA as in MVV-LVA useless ?
I recently tried using my full blown move ordering (just without SEE) in QSearch, but it scored something like -8.5 +- 6 at the end of my test. I would imagine the reason was simply how expensive the calculation is.
I am currently intending to train a set of weights on only root QS (as in the first call to QS, not any of the recursive QS calls) to figure out which features are most relevant to predict whether each respective move will either fail high or improve on standing pat. I don't know what we care about more in QS, as while we want to fail high, it also seems counterintuitive for prior move ordering to depend on parts of the search independent of the current board position. Based on the features I have, it could learn MVV-LVA or something much more complicated.
I will get back to this thread with my findings once I have done this.
I am currently intending to train a set of weights on only root QS (as in the first call to QS, not any of the recursive QS calls) to figure out which features are most relevant to predict whether each respective move will either fail high or improve on standing pat. I don't know what we care about more in QS, as while we want to fail high, it also seems counterintuitive for prior move ordering to depend on parts of the search independent of the current board position. Based on the features I have, it could learn MVV-LVA or something much more complicated.
I will get back to this thread with my findings once I have done this.
-Jonathan