Why is stockfish so smart?

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

Moderators: hgm, Rebel, chrisw

TShackel
Posts: 313
Joined: Sat Apr 05, 2014 12:09 am
Location: Neenah, WI, United States

Why is stockfish so smart?

Post by TShackel »

Hi all,

Maybe someone who knows how to read stockfish's code could answer this. But why is stockfish so smart? Despite looking a little bit dumb without a book in the king's indian against nakamura, which stockfish ended up winning that game after a blunder, stockfish in most games against other engines looks like a grandmaster on steroids. It finds very good strategy against other computers and I think Garry Kasparov would be "very" impressed of stockfish's games.

Just because a program is high rated doesn't mean it's smart. I mean if you look at strelka 6.0, and fire 4.0 they're very high rated but don't leave the impression on me that they're smart. Stockfish does however. It finds good knight maneuver's probably due to good outpost code. It finds pawn breaks in many positions (though not all) probably because it gives weight to rook mobility and pawn breaks are good ways to increase mobility for all the pieces. It has good pawn storm code and king safety values so that it wins in m many strong attacks against other engines, and also doesn't "lose" to an attack from another engine becaues it detects it. I realize stockfish's good search techniques may account for a lot of this too, not just evaluation. But the programmers of stockfish have done a great job to make stockfish smart. There are times when Stockfish exchanges too early as if to say I won't fight this game but rather go to a drawn endgame which is disappointing, but I have to say no other engine are nearly as smart as stockfish. Komodo and Houdini are the only ones that come close. I've been impressed by Texel getting better too, but I don't think it finds as many smart moves as stockfish.

Does anybody have ideas as to why it's so smart, or how to program it to be even smarter?

Sincerely,

Tim.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Why is stockfish so smart?

Post by cdani »

I would say the obvious, that is the consequence of big amount of things. Fast deepening, very good tuning, smart move ordering, ...
In every line of code you find a reason.
TShackel wrote: ...how to program it to be even smarter?
For a breakthrough, I think it will be needed some more competence that plays different, to be able to see clearly the weaknesses, that are there but not very visible.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Why is stockfish so smart?

Post by Dirt »

TShackel wrote:Does anybody have ideas as to why it's so smart, or how to program it to be even smarter?
Perhaps Lyudmil's comments have helped.
Deasil is the right way to go.
Uri
Posts: 473
Joined: Thu Dec 27, 2007 9:34 pm

Re: Why is stockfish so smart?

Post by Uri »

Stockfish is good but Garry Kasparov is still better than Stockfish.

Top GMs are still much better than chess engines when it comes to things like planning, opening tactics, memory, endgame understanding etc. There is still a very long way to go until artificial intelligence will outsmart a Top Grandmaster at chess.
shrapnel
Posts: 1339
Joined: Fri Nov 02, 2012 9:43 am
Location: New Delhi, India

Re: Why is stockfish so smart?

Post by shrapnel »

Uri wrote:There is still a very long way to go until artificial intelligence will outsmart a Top Grandmaster at chess.
Uhh.... what have you been smoking ?
Even top GMs are no match for even an average chess program.
i7 5960X @ 4.1 Ghz, 64 GB G.Skill RipJaws RAM, Twin Asus ROG Strix OC 11 GB Geforce 2080 Tis
nabildanial
Posts: 126
Joined: Thu Jun 05, 2014 5:29 am
Location: Malaysia

Re: Why is stockfish so smart?

Post by nabildanial »

Uri wrote:Stockfish is good but Garry Kasparov is still better than Stockfish.

Top GMs are still much better than chess engines when it comes to things like planning, opening tactics, memory, endgame understanding etc. There is still a very long way to go until artificial intelligence will outsmart a Top Grandmaster at chess.
Keep telling yourself that.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Why is stockfish so smart?

Post by zullil »

Uri wrote: Top GMs are still much better than chess engines when it comes to things like planning, opening tactics, memory, endgame understanding etc.
But not better at winning chess games. :wink:
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Why is stockfish so smart?

Post by michiguel »

TShackel wrote:Hi all,

Maybe someone who knows how to read stockfish's code could answer this. But why is stockfish so smart? Despite looking a little bit dumb without a book in the king's indian against nakamura, which stockfish ended up winning that game after a blunder, stockfish in most games against other engines looks like a grandmaster on steroids. It finds very good strategy against other computers and I think Garry Kasparov would be "very" impressed of stockfish's games.

Just because a program is high rated doesn't mean it's smart. I mean if you look at strelka 6.0, and fire 4.0 they're very high rated but don't leave the impression on me that they're smart. Stockfish does however. It finds good knight maneuver's probably due to good outpost code. It finds pawn breaks in many positions (though not all) probably because it gives weight to rook mobility and pawn breaks are good ways to increase mobility for all the pieces. It has good pawn storm code and king safety values so that it wins in m many strong attacks against other engines, and also doesn't "lose" to an attack from another engine becaues it detects it. I realize stockfish's good search techniques may account for a lot of this too, not just evaluation. But the programmers of stockfish have done a great job to make stockfish smart. There are times when Stockfish exchanges too early as if to say I won't fight this game but rather go to a drawn endgame which is disappointing, but I have to say no other engine are nearly as smart as stockfish. Komodo and Houdini are the only ones that come close. I've been impressed by Texel getting better too, but I don't think it finds as many smart moves as stockfish.

Does anybody have ideas as to why it's so smart, or how to program it to be even smarter?

Sincerely,

Tim.
"Looks" smart, mimics to be smart, but... the answer is search. I do not think it looks smarter than Komodo. It certainly did not in the last TCEC, quite the opposite.

Miguel
TShackel
Posts: 313
Joined: Sat Apr 05, 2014 12:09 am
Location: Neenah, WI, United States

Re: Why is stockfish so smart?

Post by TShackel »

cdani wrote:I would say the obvious, that is the consequence of big amount of things. Fast deepening, very good tuning, smart move ordering, ...
In every line of code you find a reason.
TShackel wrote: ...how to program it to be even smarter?
For a breakthrough, I think it will be needed some more competence that plays different, to be able to see clearly the weaknesses, that are there but not very visible.
I think you may have a point. That the stockfish team may find it hard to improve until another engine comes alone that scores well against stockfish and shows weaknesses in stockfish's game. If the stockfish team spends more time on how to handle closed positions, and stockfish properly handles them, then no human has a chance to even draw against it! And that's saying something!

Thanks for your opinion.

Sincerely,

Tim.
TShackel
Posts: 313
Joined: Sat Apr 05, 2014 12:09 am
Location: Neenah, WI, United States

Re: Why is stockfish so smart?

Post by TShackel »

Dirt wrote:
TShackel wrote:Does anybody have ideas as to why it's so smart, or how to program it to be even smarter?
Perhaps Lyudmil's comments have helped.
Yea, Perhaps. I've tried to add my own suggestions to the stockfish team as welll. But I'm not a programmer who can get in there and create a patch.

Sincerely,

Tim.