Which of the many chess engines in this forum use b strategy ?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
mclane
Posts: 18755
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Which of the many chess engines in this forum use b strategy ?

Post by mclane »

Means they do only follow a few interesting or important branches and not those they should have calculated...

How many b strategy programs do we have ?

What about a list ?!

https://www.chessprogramming.org/Type_B ... B_programs

Btw. in the list above david broughtons engine vega/ philidor / MkV and MKVI are missing

https://www.chessprogramming.org/David_Broughton
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
syzygy
Posts: 5566
Joined: Tue Feb 28, 2012 11:56 pm

Re: Which of the many chess engines in this forum use b strategy ?

Post by syzygy »

mclane wrote: Sat Oct 03, 2020 3:44 pm Means they do only follow a few interesting or important branches and not those they should have calculated...
You mean they make blind guesses and just hope for the best.

Modern alpha-beta engines have reductions and extensions to select the interesting/important branches that need to be searched deeper. They just don't make the mistake (or only rarely make the mistake) of ignoring an entire branch altogether. They are not "Type A" like Deep Blue still was (at a time when most engines already had embraced the null move heuristic).
jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Which of the many chess engines in this forum use b strategy ?

Post by jdart »

The A/B distinction has been blurred a lot over time, because almost all alpha-beta searchers now use aggressive forms of forward pruning.
User avatar
Rebel
Posts: 6997
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Which of the many chess engines in this forum use b strategy ?

Post by Rebel »

Rebel started as B because brute force was not an option in the 80, it was replaced with Null-move, much much better.
90% of coding is debugging, the other 10% is writing bugs.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Which of the many chess engines in this forum use b strategy ?

Post by Daniel Shawul »

MCTS is the ultimate type-B and is applicable to games with large branching factors.
It iteratively widens the search and is proven to converge to min-max.
User avatar
mclane
Posts: 18755
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Which of the many chess engines in this forum use b strategy ?

Post by mclane »

I would call b strategy the educated guess.

Why do programmers continue to make chess programs perfect when they begin a new engine ?
Isn’t it more interesting to create interesting engines instead of engine that lose to stockfish ?
Whatever you try out , it is losing against Stockfish or LC0.
And in the moment you reach the same strength, it’s clear you almost clones them.


Instead I would create a different path because at the top there is no space anymore.


I would create an engine that is different.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
mclane
Posts: 18755
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Which of the many chess engines in this forum use b strategy ?

Post by mclane »

jdart wrote: Sat Oct 03, 2020 5:07 pm The A/B distinction has been blurred a lot over time, because almost all alpha-beta searchers now use aggressive forms of forward pruning.
And ? They play boring machine chess

The only exception is LC0, never programmed by humans.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
BrendanJNorman
Posts: 2529
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

Re: Which of the many chess engines in this forum use b strategy ?

Post by BrendanJNorman »

mclane wrote: Sat Oct 03, 2020 10:17 pm I would call b strategy the educated guess.

Why do programmers continue to make chess programs perfect when they begin a new engine ?
Isn’t it more interesting to create interesting engines instead of engine that lose to stockfish ?
Whatever you try out , it is losing against Stockfish or LC0.
And in the moment you reach the same strength, it’s clear you almost clones them.
I agree with this somewhat.

And its why I mostly use old school engines with unique style (and weaker strength) like Gandalf, Zarkov, Thinker, Ktulu, Amyan, Baron (old versions), The King, Crafty (old versions), Quark, Rebel and others...

...as well as my Rodent personalities and another engine project with Pawel.

Stockfish vs Stockfish gets boring pretty quick if you're actually WATCHING the games and not collecting stats.
User avatar
mclane
Posts: 18755
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Which of the many chess engines in this forum use b strategy ?

Post by mclane »

At least we have one area where we can agree Brendan.
That makes me hope that one day we could be friends,
and that we can see many interesting new engines,
Such as corona chess engine by a known programmer who began on 8 bit hardware...
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: Which of the many chess engines in this forum use b strategy ?

Post by Cornfed »

BrendanJNorman wrote: Sat Oct 03, 2020 10:41 pm
mclane wrote: Sat Oct 03, 2020 10:17 pm I would call b strategy the educated guess.

Why do programmers continue to make chess programs perfect when they begin a new engine ?
Isn’t it more interesting to create interesting engines instead of engine that lose to stockfish ?
Whatever you try out , it is losing against Stockfish or LC0.
And in the moment you reach the same strength, it’s clear you almost clones them.
I agree with this somewhat.

And its why I mostly use old school engines with unique style (and weaker strength) like Gandalf, Zarkov, Thinker, Ktulu, Amyan, Baron (old versions), The King, Crafty (old versions), Quark, Rebel and others...

...as well as my Rodent personalities and another engine project with Pawel.

Stockfish vs Stockfish gets boring pretty quick if you're actually WATCHING the games and not collecting stats.
Yes.

Truly the 'future' of chess engine programming should be about giving the end-user variety. 'Programmers' pushing for a few elo here and there is kind of a dead end in the real world of human chess (in particular).

For me, something which looks at say, move 12 in a line for YOUR SIDE, ranking the top few moves like I show below. However, in addition to generating a simple objective evaluation for each.... also, shows how many/what percentage of the time reasonable replies to those moves will give your opponent more chances to go wrong. How narrow a rope they must walk, you might say.

For Example (and I hope there is no formatting issue, so I'll keep it short):

Move + eval--- 'good replies' --- 'bad replies'--- '% for future success'
12. Nf4 +.35--- 5--------------------1---------------.25%
12. Bg5 +.31--- 4------------------- 2---------------.27%
12. Qe2 +.15--- 2--------------------6---------------.72%

In other words, with a pretty deep search and good evaluation the engine tells you 12.Nf4 is objectively 'best'...

HOWEVER...the 3rd best move, 12. Qe2 lets you keep a small edge with best play from your opponent while giving your opponent far more chances to go wrong. This idea of 'wrong' would need to be within a reasonable 'human evaluation' of those replies. In other words it would not count a queen drop or a move which allowed a 2 move mate among the 6 - things no human would intentionally do as 'bad' replies for your opponent. It might give 6 humanly reasonable 'bad' replies that lead to a range of +.50 to +1.25 or something along those lines. Understand? THAT is how a human might like to evaluate a position as chess is a 'game of mistakes'.

To me, this is variety (and if you think about it...equates to 'personality' for an engine).

Right now, when preparing an opening repertoire (for OTB or online play), I try to do this manually - looking at engine evals then looking at multi-pv and seeing how many lines let me keep an edge and how many weak replies within those likes might be out there for my opponent. I make a note of what is objectively best...but may incorporate what is worth a punt (as in 12 Qe2 above) because it gives my opponent enough chances to go wrong more often. It is one reason I was looking at Komodo MCTS...but so much is 'hidden' that I'm not sure it really gives me what I am really after.

Automating that process....oh, that would be a truly wonderful thing for the end user!