True or false? Chess will never be solved! why?

Sort:
Akatsuki64

False, it has already been solved because P = NP.

DiogenesDue

Perl scripting is called "scripting" for a reason.  If Perl is your idea of "development", then there's nothing else I can tell you ;).  It's a glorified parser.  Awesome for what it does, but a nightmare if you try to use it for something substantial.

Maybe you should learn C#, or Ruby on Rails, or even Python or something could help make the jump from Perl to something robust.

Perl scripts and testers, huh?  Where do you work...QA?  A sysadmin team?  That is not development.  That's like comparing the guy that chops carrots for the soup of the day with the chef.

P.S. Of course coding is a verb...who said it wasn't?  Never assume.

DiogenesDue
Mathemagics wrote:
btickler wrote:

The fact that you think chess rating would have much to do with understanding the infrastructure required for a chess engine just shows again how ignorant of software you are.

You really are an imbecile aren't you...

Look at any chess engine ever made and it was coded by an GM, IM, FM, CM or some other chess master or with the help of chess masters... you're so moronic.

Rybka: "Rybka is a computer chess engine designed by International Master Vasik Rajlich"

Houdini: "Houdini is a UCI chess engine developed by Belgian programmer Robert Houdart"

Fide Rating 2101

Deep Fritz: "Fritz is a German chess program developed by Gyula Horváth and published by ChessBase."

Gyula Fide rating: 2341

 

shall I go on?

You still fail to understand.  It doesn't take a GM, and IM, or an FM to create a chess UI, or to create an engine (or easier still, to branch from someone else's source, like Stockfish), or to access a database, or a tablebase of moves.  Does it help?  Sure.  Are developers that are strong chess players more motivated to build engines?  Sure.  Are developers that are also strong chess players an advantage when developing engines?  Sure.  

None of that means that it requires a titled player to understand how chess engines work ;).  Not even close.  The chess knowledge comes in the form of building and tweaking the value sets that the engines use for evaluation, for working with static datasets like the opening databases and tablebases, etc.  The rest of the engine is just software.  Any halfway decent chess player could work on it without issue.

Would it have helped IBM if Joel Benjamin were also the head developer on the Deep Blue team?  Yes.  Is it required?  Not at all.  Any consulting titled player can do the tweaking required.

We're not even talking on the same level here.  This is like talking to a security guard at a wafer fab laboratory and seeing what he will say about how many transistors can be packed on a single wafer.  Go back to tech support and ask someone if they have rebooted their PC...

MNMSkyBlue

I wonder who revived this thread. But at least it changed into a jungle gym...

DiogenesDue
Mathemagics wrote:

When two of the same engines play against eachother with the same CPU and depth search the game will draw because it did not look at any deeper weaknesses and flaws in the position due to it's limited depth search it equally set the values of weaknesses of it's own position with the limited depth search... since both sides are searching at x depth and protecting at the same depth they will be unable to look any deeper and find weaknesses in the position because the remedies at x depth have already been calculated and protected against at that depth...

This is so obvious that it's ridiculous I must explain.

You don't know what you are talking about.  The openings played already have imbalances built into them...these have existed during the entire history of modern chess.  The engines cannot see past their horizon to solve this any more than a GM can, so they are incapable of equalizing every position such that they will always draw.

You only think this stuff is obvious because you have reduced the complexity of the subject to match your understanding of it.

DiogenesDue
LongIslandMark wrote:

LOL with you on the "No...really?"

I think we are talking old-timers v. new-timers.

I've heard "code the programs" most of my professional life. Personally, I usually say "I'm writing code" or "doing development" - or just " I'm coding".

As you might guess I'm doing what folks nowadays call "procedural" code - mostly Fortran. Lots of divying up into modules, flexible, not monolithic, but by functional decomposition. I know that is not the OO model.

It pays the bills.

Understood, and no offense meant. :)

watcha
Irontiger wrote:

Unless you're unaware (sic)... No combination of computer+ software currently existing on Earth can tree-search 500+ plies.

Tablebases are generated backwards (from evaluated positions to the ones that lead to them).

If there is a combination of hardware and software which can build a 6 men tablebase, the same combination of hardware and software will be able to perform exhaustive tree search from any given position involving 6 chessmen, in less time than it takes to build the 6 men tablebase itself. This simply follows from the fact that a given 6 men position only involves a particular legal collection of 6 chessmen, while the whole tablebase will include positions with all possible legal collections of 6 chessmen and you simply can't reach all those positions from the given particular 6 men position ( for example from a position with two kings and 4 black pawns you can never reach a position with two kings and 4 white queens ).

TBentley

The program FinalGen can generate tablebases from a position with no more than one piece on each side with (I believe) up to the maximum number of pawns. (It may take an impractical amount of time and space, of course.)

TBentley
Mathemagics wrote:
btickler wrote:

You keep on posting your 10-ply engine vs. engine PGNs, and we'll see who gets laughed out of town ;)...

Exactly! x depth vs x depth doesn't matter.. as long as they are the same depth! Which shows your rudimentary grasp of chess equally displayed by your rating.

I'll try one last time...

You win chess by looking deeper than your opponent (positional blunder) or by him blundering (tactical blunder)

I'm speaking purely of the positional blunder as computers don't make tactical blunders unless forced by a positional blunder.

When two of the same engines play against eachother with the same CPU and depth search the game will draw because it did not look at any deeper weaknesses and flaws in the position due to it's limited depth search it equally set the values of weaknesses of it's own position with the limited depth search... since both sides are searching at x depth and protecting at the same depth they will be unable to look any deeper and find weaknesses in the position because the remedies at x depth have already been calculated and protected against at that depth...

This is so obvious that it's ridiculous I must explain.

Hmm...Rybka 2.2, Houdini 1.5, and Stockfish all played each other at 1 ply per move, and black won all three games. (You also conveniently ignored the 12 ply and 14 ply games earlier in the thread.) Granted, no reasonable games that would actually mean anything have been posted, but the truth is obvious to most.

DiogenesDue
Mathemagics wrote:

IBM did in fact pay the top GM's in the world to help create deep blue...

They got the 6-7th strongest chess players in the world to help them...

They had like Karpov, Tal, Korchnoi, Smyslov and others (I don't remember the exact people but I know they had Karpov and abunch of extremely strong GMs)

I'm sure this is as well-researched as all your other facts and opinions ;).  I already named the main GM that the Deep Blue team worked with.  The opening book was also worked on by GMs Miguel Illescas, John Fedorowicz, and Nick de Firmian.

No Karpov.

DiogenesDue
LongIslandMark wrote:

The recent exchange of old-timer programmer v. new-timer programmer got me reminiscing. Back when I was a boy, "code the program" was actually a new usage. We use to "program the computer". And I mean that literally.

The first computer I ever programmed was a PDP/8e. Those switches on the front panel are how you could toggle in the machine instructions. It had 8K of memory. The OS used 4K. It sold for over $100K. No hard disk - we had a paper tape (I liked it - you could see the bits), a tape drive (which was accessed for system subroutines when programs ran - things like sine or square root), and later those 8" floppy disks.

I learned Unix on a PDP11/70.  My father was a programmer in the Air Force in the late 50s.  Their storage was a giant 2k spinning drum the size of a barrel that could kill someone if it came off the spindle ;).  I also worked with some punched card stuff in the Air Force myself (sadly, there were still systems using punched cards even in the late 80s).

Paramjeet_Yadav

It's a matter of time.We are waiting for a genius who can write better algorithms for limiting branch searches.I hope in next 100  years it may be solved!

EscherehcsE
TBentley wrote:
 

Hmm...Rybka 2.2, Houdini 1.5, and Stockfish all played each other at 1 ply per move, and black won all three games. (You also conveniently ignored the 12 ply and 14 ply games earlier in the thread.) Granted, no reasonable games that would actually mean anything have been posted, but the truth is obvious to most.

I played Rybka 2.3.2a x64 (no opening book, 5-piece Nalimov TB) at 8 ply and did indeed get the exact game Mathemagics played using Rybka 2.3.2 in Post #973 (except that Mathemagics left off the move pair for Move 107 that invokes the 3-position repetition).

However, under the same conditions but with 1-ply depth, it is indeed a win for Black...And with 7-ply depth, it is also a win for Black.

1-ply game:

 

7-ply game:

 

8-ply game:





EscherehcsE

One interesting side comment: I also ran 100 games with Komodo 5 x64 (no opening book, 13-ply depth). The result was 75 draws, 15 White wins, and 10 Black wins. And none of the games was a duplicate game.

sapientdust

Here's how an engine, even if it had perfect ability up to some ply comparable to current engines, would still sometimes lose to itself.

White sees and evaluates perfectly up to ply N and plays what both sides would agree to be the best move.

Black also sees perfectly up to ply N (by hypothesis), but after White has moved, the game is now half a move further along when Black decides which move to make, and so Black's "N-ply vision" sees half a move deeper into the game than White's did.

There will necessarily be some cases where one side was just half a move short of being able to revise a faulty evaluation, and in those cases, if the other player can see just as many moves past the new current position (one move greater than when the other player analyzed the position), the evaluation of that player will be much better because the half-ply difference will allow them to see a game-deciding move that the other player couldn't see because it was outside of its vision.

sapientdust

No, "up to N-ply" means "N (half-)moves from the current position", but the "current position" when Black moves is not the same as the "current position" when White moves. Each player starts their "N plies" of analysis one half-move later than the other player started theirs on their previous move.

That window of perfect analysis only sees so far, but the boundary between what is seen and what is not inches forward after each player makes a move, so one of them will be the first to see a critical move when it just passes the boundary.

ifoody2

it's overall kind of an obvious answer, the number of chess games is not infinite, and if there will be a strong enough computer which will probably exist in a couple of decades, he can just find all the different chess variations that exist. That is solving chess.

watcha
ifoody2 wrote:

it's overall kind of an obvious answer, the number of chess games is not infinite, and if there will be a strong enough computer which will probably exist in a couple of decades, he can just find all the different chess variations that exist. That is solving chess.

It is not enough to state that the number of chess positions ( rather than games, as was pointed out in this thread several times ) is finite. This finite number could be so big that the solution would require computational resources that exceed the computational capacity of the observable universe. As I pointed out in one of my earlier posts, chess played on 20 x 20 board will never be solvable using the resources of the entire observable universe. It is just the fact that it is played on a 8 x 8 board that makes the solution theoretically possible rendering this thread viable.

watcha

Analyzing games of engines played against themselves at shallow depths will not get us any closer to determining whether chess is solvable or not.

Engines at large also have nothing to do with solving chess, because solving chess involves presenting a proof and engines are just practical tools for practical purposes and the way they play proves nothing ( it only reflects what humans think about the value of positions, since evaluation functions are programmed into the engines by humans - human guesses coupled with shallow imperfect searches mean nothing in terms of solving chess ).

sapientdust

1. In many cases it won't be a big enough advantage to win, but in some it will, because there are so many positions where a certain move looks like the best move but it has strong refutation that is very difficult to see (too difficult to see in fact until the game has gotten closer to that position). The discussion was about whether it will ALWAYS be a draw with best play, and my argument shows that's not the case given the assumptions.

2. No, I don't think it means the game is fundamentally flawed. You seem to believe that it SHOULD be a draw with best play, and I think it probably IS a draw with perfect play, but the best engines of today and the best human chess players are so far away from perfect play that whether it is ultimately a draw or not doesn't have much relevance for us.

Anyway, thanks for the discussion. Am off to bed for now.