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

Sort:
Avatar of DiogenesDue

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.

Avatar of DiogenesDue
LongIslandMark wrote:
Well, to be fair, just about anything non-trivial takes time to make a good program. If you were making fun of the phrasing "code the programs", using "code" as a verb is not uncommon.

No...really? ;)

Developers do not say "it would take me some time to code the programs".  In fact, even using the word "programs" at all is laughable.  In the age of object oriented programming and event-driven architecture, monolithic "programs" are pretty much extinct.  You compile objects and methods, which respond to events; it's all much more adaptive, more modular, and code is divied up at lot more than in the past.  Describing how you are going to code something is therefore not something you impart as easily anymore, so referencing a program is unlikely.  Rather, you'd just use an informal pronoun "it", or "this".

Seriously, if you were sitting in a room whiteboarding some new software release and your new hire said "it will take me some time to code the programs", your whole team would be looking at each other nervously wondering who had screwed up the interviews.

Avatar of Akatsuki64

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

Avatar of 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.

Avatar of 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...

Avatar of MNMSkyBlue

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

Avatar of 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.

Avatar of 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. :)

Avatar of 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 ).

Avatar of 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.)

Avatar of 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.

Avatar of 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.

Avatar of 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).

Avatar of 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!

Avatar of 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:





Avatar of 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.

Avatar of 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.

Avatar of 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.

Avatar of 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.

Avatar of 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.