Jump to content
IGNORED

Any of you know any CHESS?


A2600

Recommended Posts

What is IIRC?

 

And you say no one has tried it?

 

(50 moves x 5 years = 250 years)

 

YOUR VCS COULD EXPLODE IF LEFT ON FOR ONLY 250 HOURS!

NOW IMAGINE YEARS! :D

 

Actually, I thought someone had left a 2600 running the Video Clock cart on for over a year straight before it finally seized up and quit, correct me if I'm wrong.

Link to comment
Share on other sites

IIRC == if I recall correctly (I think)

 

I mentioned this in a much older thread about 2600 Chess..but would it be feasible to speed up the processing rate within an emulator to perhaps make it possible to play 2600 chess on it's highest level without taking a couple of years for a game? :)

Link to comment
Share on other sites

I was always under the impression that the highest setting in Video Chess implemented an artificial intentional delay, hence the postal-chess name it has.

 

Can anyone confirm or deny that?

 

I'm assuming now that that was a way to make an excuse for it, but you have to admit that the benchmark on that game is far beyond all the other settings, so it makes you wonder.

Link to comment
Share on other sites

It just doesn't make any sense at all to give an AI strategy game an intentional delay to make it slower than it already is, especially when it is already agonizingly slow without it. Why piss off the customer?

 

A much more likely explanation for the extreme sluggishness of level 7 (Postal Chess) is that the basic move search algorithm is taken to as deep a lookahead as the programmer wanted to take it -- just to see how good the basic search algorithm really is. Could it have been a great chess playing program if the computing hardware was faster? Just give it the time, let 'er rip and you've got your answer.

 

Dubbing Level 7 "Postal Chess" was a good call. I wonder how many chess players went postal waiting for the damn thing to make a move.

 

 

Ben

Link to comment
Share on other sites

I was always under the impression that the highest setting in Video Chess implemented an artificial intentional delay, hence the postal-chess name it has.

 

Can anyone confirm or deny that?

 

I'm assuming now that that was a way to make an excuse for it, but you have to admit that the benchmark on that game is far beyond all the other settings, so it makes you wonder.

 

 

I've written a few chess programs, including one in 6502, as it happens. The problem with Chess as usually implemented (via a tree search) is that the average expansion of your tree is by a factor of roughly 33 per move (that is, each player has around that many moves available). A tree search is an exponential process, so to analyse ALL the board positions of a tree branching at 33 moves/level (ply) is 33^n, where n is the depth of your search. For just two moves ahead, you're already into astronomical figures.

 

Chess programs restrict this branching factor through various methods, including some nifty pruning algorithms (minimax pruning, and alpha-beta pruning) which are a bit complex to delve into in this reply. Suffice to say, they employ assumptions about what one player would choose given what he would know about the game situation at the point at which the tree is currently being searched - and then decide not to look at subsections of that tree based on those assumptions.

 

Right, so with alpha-beta pruning you can expect your branching factor to shrink down to 7 or 8 moves per ply. Sounds do-able, right? That's just 8^n positions to analyse, to choose a move. Let's consider where a chess program is looking 4 moves ahead. That's the program's next move, my reply, the program's move after that, and my reply. How many board positions (on average) would the program need to analyse?

 

8^4 = 8 * 8 * 8 * 8

= 4096 positions.

 

OK, that does seem reasonable. But remember, the Atari 2600 has a 1.2MHz 6502-ish processor, and just 128 bytes of RAM. So you can store very little about your traversal through the tree, and you probably need to regenerate the board for any position as you march down the tree. It all takes time (for example, at each node you need to generate a list of all legal moves from that node). This takes memory, or it takes time.

 

Now, a 4-ply search in a Chess program would give what most would consider an EXTREMELY weak chess game. The strength of a computer chess game depends on the depth to which it can carry the search (number of plys) and the 'intelligence' encoded into the evaluation algorithm which 'scores' the terminal (leaf) nodes of the search tree, for the purposes of comparing scores between various positions, and choosing the best of the worst of the best of the worst... (that's the minimax algorithm - look it up, it's quite interesting).

 

Now, that evaluation algorithm takes time, too. Especially if you have to do it at thousands of nodes (which you do!). A typical algorithm would keep track of material (ie: what pieces you have), giving a value for each, adding them all up. It might add points for keeping knights off the edge, and points for good pawn structure, etc., etc. It's in this evaluation algorithm that the programmer tries to encode good chess 'knowledge'.

 

You need to put some stuff in there to have the computer know stuff like what pieces are worth, what things to avoid, etc. But each bit of 'knowledge' you add costs more time for the evaluation to analyse any particular board position. And if you have tens of thousands of these, then every single cycle you add to the evaluation costs dearly.

 

The fact that the '2600 manages to play Chess at all is a minor miracle. The fact that it 'cheats' is kind of quaint and I certainly wouldn't remove the bug if I found it - (read this.. http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?Mel for a similar example of programmer ethics). The reason the high levels of Chess take so long is that each 'ply' they add makes the task *AT LEAST* 8 times more complex. Given the '2600 has little RAM, it probably isn't handling alpha-beta pruning too well (if at all), and so it may even be a factor of 33 or so.

 

If that were the case, then a simple 5-ply search (his/mine/his/mine/his) would examine roughly 39135393 positions - and let's be generous and assume the good old '2600 could analyse 100 positions a second, that would take only 391354 seconds, or roughly 109 hours per move.

 

Postal Chess, anyone?

 

Cheers

A

Link to comment
Share on other sites

Interesting stuff..

 

I was almost convinced that the program would already have the move selected and just wait the alloted time before making the moves, until i ran into level 5..

 

Playing the same set of moves each time, I went from level one on up to level four, check-mating the same way each time.. Right at a critical point near the end of the game on level 5 the program went with a more intelligent move and staved off check-mate for a little bit longer! I was kind of fascinated though at the change in thought it had..

 

A question about the colors when the computer thinks - Are all the possible colors represented? There are some pretty cool colors that flash up at times..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...