Codename Brutus: Chess-Playing FPGA PCI Card
rockville writes "Brutus, a FPGA add-in PCI card developed by ChessBase and Dr. Christian Donnegar, just dominated a strong field of human players at a tournament in Germany. It's the first serious chess-playing FPGA architecture since Deep Blue was disassembled after its victory over Kasparov in 1997. Pictures of the card and a short description are here."
Now, maybe I can get my friends to stop planting knives in my back during chess matches... ..oh wait. Damn.
thats pretty sweet.
How long till chess players are banned from wearing watches, because Deep Blue et al will be shrunken to the size of a pea?
I havent been able to beat gnuchess....:(
NO SIG
I want one.......I have an empty PCI slot in my computer. I wonder if DivX encoding would benefit from FPGA's. That would be uber-neato!
>>>>>> Chewie, take the professor in the back and plug him into the hyperdrive.
I wonder how much of this AI crap festers around on freechess.org
You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
I for one welcome our new chess playing overlords!
mod me -1 Redundant, dammit!
a beowulf cluster of em....
Make it idiot-proof and someone will build a better idiot.
I bet they'd make another billion.
Feh.
As the power of computer "thinking" increases, I personally believe that a computer will soon be able to beat any human player by pure power alone. Chess will fail to be dominated by people.
But what stands in its place? Forever I have thought of chess as THE place where the mind can still beat the computer in a game environment.
What will be the next challenge? Where is there a game that requires the uniqueness of human thought over the pure power of computer calculations?
Davak
Look at that guy, he looks like a mad scientist.
Guess this thing won't fit into my Shuttle PC...
Especially on March 15th.
I was almost giving up on /.
It's been days since we had an article about something that is really cool but useless for all practical tasks
I used to get high on life, but I developed a tolerance. Now I need something stronger.
A note from the webpage (before it gets slashdotted) on why this implementation is "better":
"An additional benefit of using FPGAs is that it is not just the search routines that are speeded up dramatically. Due to the sturcture of the code you can add chess knowledge in any quantity without slowing down the process. In regular PC programs each new quantum of knowledge is expensive - it is bought at the price of search speed. The FPGA program does not slow down when you add new knowledge modules."
Beyond speculation, further development could involve a server version for a 64-bit PCI bus. Another solution would be to join multiple cards as was done with the Voodoo 2 way back in the day...
Deep Blue was disassembled after its victory over Kasparov in 1997
Kinda makes you shudder to think what they would've done to Kasparov if he had won...
Gentlemen! You can't fight in here, this is the War Room!
Twister.
You can't take the sky from me...
How to use the CPU to handle the slashdotting?
The game Go, where computers have not yet come close to intermediate level players, mostly due to the huge search space.
More details.
Been a while since I saw a full length pci card...
For home pc use that is...
Didn't they ever watch Popeye??? The only way to defeat Brutus is to eat a can of spinach!!!!! Oh wait....or was it Bluto? Damn, nevermind.
I think these are the coolest things to come around since high level languages.
I've done some reading on VHDL and other languages used to program them. It would also be a fun hobby and a great way for open source to venture into the hardware realm.
VHDL compilers are platform specific, so as the FPGA platform evolves the code written can be tweeked and recompiled to run faster on new chips. You could also take the compiled result and do additional tweeking to create an IC. It could also be possible to re-compile on the fly if the industry got standard enough, even running through an emulator if need be.
FPGAs can even load new code as they are running, pretty fast to. So you could have librarys in memory and move them into the processors as they are needed. This allows for a much more complex program to be in hardware.
Memory bandwith and memory in general seem to be some limiting factors, but are being addresses as they evolve. I think eventually they will be like a normal CPU, surrounding the FPGA.
FPGA designs ( the fpga itself ) are usually a lot simpler then a normal CPU, so manufactoring them on smaller processes like 90 nm and lower will be easier, of course not a cake walk either.
Check out http://www.xilinx.com for some products, they seem to be affordable for the average joe. I've read "Programmable Logic: PLDs and FPGAs" ( look on Amazon or your favorite reseller ), it was outdated, but a good introduction. There are some new books that I'm looking to get my hands on as well.
I've done quite a bit of google searching, but haven't found a good "getting started with fpga" site. If anyone has some please reply with them.
This makes my thoughts return to Dr. Hyatt and his amateur program, Crafty. Under his personal operation he runs a copy on a Quad Xeon box, and apperently has been developing a Beo-Crafty rendition to play chess on a Beowulf cluster.
It would be particularly interesting if this Beo-Crafty could be taylored to operate on a set of these cards. One nice hefty machine at the top level, and a slew of these PCI cards to do the real crunchy work.
Computational Madness in a round package.
Deep Blue was disassembled after its victory over Kasparov in 1997 Anyone know why Deep Blue was disassembled?
http://threetechguys.info Come, discuss Technology. Got a technology question? Come ask!
Was Chrilly Donninger ever employed by 3dfx? Possibly during the developmend of the voodoo6?
That thing is the size of a motherboard!
Jebus!
Most people are exceedingly bad at Go as well. The top Go players are invariably those who have been doing essentially nothing but playing Go since they were 3 years old, leading many to hypothesize that the root of good Go play is essentially astoundingly good pattern recognition.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
In soviet Russia, CHESS plays YOU!
--- to swing on the spiral...
Like, if you put Deep Blue against Gnuchess... or even Sargon II on the Vic-20... would Deep Blue win *every single time* in a trouncing defeat? Would some programs give Deep Blue/Thought a real challenge or just a good run on a fluke of the random number generator?
I really want to know what you think FPGA actually stands for, and how you think it can be a PCI card.
I think that eventually, the question won't be if a machine can beat a human at chess, it will be who's computer can beat the other computer that can obviously beat a computer. And the pride will be in the design of the hardware and software that beats the reinging computer.
--- to swing on the spiral...
que the anti-voodoo5 and anti-geforce5800 zealiots.
"but but but.. it takes an ENTIRE PCI slot... where will i put my porn stash now?"
It's in the Smithsonian and the hardware is more or less intact. It's in the typical condition of a decommissioned computer, i.e. you can't just flip a switch and start using it, but there's some chance that the folks who built it could get it working again sometime. This is described in the book "Behind Deep Blue: Building the Computer That Defeated the World Chess Champion" by Deep Blue's designer F.-H. Hsu. Hsu later got interested in building a Shogi (Japanese chess) machine using FPGA's. He says with today's custom VLSI, the equivalent of Deep Thought could be built on one chip and mounted in a compact flash card. You'd put the card into your Zaurus or Ipaq PDA and have a grandmaster-strength pocket chess machine. He put some effort into commercializing such a device but couldn't get enough backing so he went off to greener pastures.
Chess grandmasters do not tune their skills by playing lots of games, how could the best player ever get better? The interesting part only occurs in the middle game. Most GMs learn by reading books and replaying of important games. Its about seeing the pattern and knowing how to counter it. This is exactly the kind of thing computers are good at. They don't have to be taught how to understand the game or how to put to getter some new stratagy, just want to do when something happens. This is why Gary Kasparov was so upset at loosing, the computer had been programmed to recognise all know plays and knew how to counter them. So it simply waited for Gary to make a mistake.
James
The only interesting chess matches will take place between the latest models of casio graphing calculators. Which will be a change from the previous millenium when there when the word interesting never appeared in conjunction with "chess matches."
what? where's the oversized heatsink/fan and external power connector?
You're forgetting game shows. I'm betting it'll be at least until after we've beaten the Zentradi that computers will routinely be competative with humans at idol singing.
Aki Ross might have done ok on Hot Or Not, but there were two gay guys and a chick. And before someone says Larenzo Lamas isn't gay, I'd like to point out that while formerly married to a former playmate there's no proof of sex, and he did wear a neckerchief, in public no less.
--Jimmy has fancy plans; and pants to match.
While I'm sure it's a good program, none of the humans was in the top 100 human players.
That said, it is almost certain that computers will dominate humans in chess at some point.
No electrons were harmed creating this post, though some may have been subjected to electrical and/or magnetic fields.
... when bender kicks your ass
I used to but then I quit.
what's the real point of this? really. "WOO HOO! I've made a computer even more smarter than a human!" big deal. Really, Where's the real need to this? I mean, if you have a chip that possibly cannot be beaten, then, why have it around? where's the fun in that? What use will it bring? If they created a board that could fix storage and resource issues in a machine, or created perfect voice recognition? It's neat that they created this, but for what real reason? to play some world chess champ, and that's it? where will these go into production? the average person doesnt play chess, The people that do usually cant beat it right and left, and there are very few people that could even give this some challenge, to make it appealing they would have to dumb it down. So, what's the use of such a device?
it was due to the "sturcture" of the code
As a (very low-level) Go player, everything I've seen, and been told by higher-level players, says that it's all about pattern recognition. By playing games upon games upon games, you apparently learn to recognize certain combinations of stones and the optimal sequences of moves from them. All the high-level players are very good at this sort of reading ahead, and it's how good you are at reading ahead that primarily determines your skill at such levels.
Or so I hear, anyway.
... you insensitive clod!
John Hancock
I, for one, welcome our new chess-playing overlords. I'd like to remind them that as a trusted Slashdot poster, I can be helpful in rounding up others to toil in their underground card factories.
I know this sounds pretty neat, but does anyone else remember this article?
Deep blue wasn't FPGA (floating point gate array). It was made from ASICs (Application specific integrated circuits.)
There's a big difference, performance-wise. ASICs are a fair bit faster since they are custom circuitry, with datapaths and logic designed specifically around the problem being solved.
I've got a special chess-playing chip implanted in my brain
Who moved my sig?
I co-wrote a chess program on a miserably tiny piece of hardware once, so I looked into this.
For representing the moves, the simple 12-bit scheme (from-square, to-square) handles en passants and castling.
En passant example: white pawn on e5, black pawn moves f7-f5, white moves e5-f6. Unambiguous.
Castling example, even easier: o-o is e1-g1 or e8-g8; o-o-o is e1-c1 or e8-c8.
You can even do pawn promotion with 12 bits, if you adopt some clever encoding when the source square contains a pawn that is going to promote. If the source square has a pawn in it, then the second 6 bits are not a square. They are: two bits to specify left-ahead-right (instead of 6 bits of destination) and two bits to specify queen-rook-bishop-knight.
In fact you can take this further and always encode the destination in 5 bits instead of 6, because given the source square you know what piece is on it, and there are at most 27 moves which a piece can make (queen in the center).
That's 11 bits for encoding a move.
Grab a few unused bit patterns for "offer draw" and the like.
For encoding a board, you can use 4 bits per square to encode what is on the square. There are 13 things that can go on a square so you lose a little to rounding. You have to encode whose move it is. You have to record 1 bit each for the a1, e1, h1, a8, e8, and h8 squares to indicate if the piece on them has ever moved, for castling. You have to encode en passant information. That is 4 bits off the top of my head (once you know whose move it is, there are eight possible last-pawn moves that could be e.p.'ed, plus the possibility of no e.p., so 9 things to encode). You need the 50-move counter or whatever the limit is in FIDE rules these days, that's another 6 bits. And you need three-fold repetition counter, another 2 bits. And you need a bit to indicate whether the side that just moved offered a draw.
So for the board: 4*64 (position) + 1 (move) + 6 (castling state) + 4 (en passant state) + 6 (50-move counter) + 2 (3-fold repetition) + 1 (draw offer) = 276 bits.
Reminded me of this.
How long before an FPGA is standard issue on motherboards? From Photoshop filters, to Audio work, this could be something very, very powerful.
IBM Mainframes have enormous abilities to work with data with very little in the way of MIPS. They do this by having processors that can do math on data going over I/O channels without the CPU ever dealing with it. A motherboard FPGA, programmed at the application level could change the way we think about computing, allowing us to deal with data, treating it as signals, processed simultaneously, instead of as numbers, processed sequentially.
-twb
Chess defied computers as real masters for so long because the problem space /used to be/ too large to take a good look at, so intuition and finely honed skills at determining positional strength (as opposed to just calculating plies of moves) kept the top humans the top of the field.
However, as computers get more powerful, being able to look far ahead/prune less will slowly be able to simulate true positional understanding, because the computer will be able to "see" farther reaching strategies.
That was the magic of Deep Blue. Lots of custom designed chess chips (like Brutus, except even faster because it was on a single chip and there were more of them) running in an IBM SP cluster. It just had enough cycles to look far enough ahead that it simulated positional understanding at the level of a grand master.
I'm not putting Deep Blue down - it took an amazing amount of thought to design those chips, I'm in awe of it.
Coming back to Brutus, computer speeds have been doing their normal Moore's law increase. What used to take a huge number of custom chips, you can now do on much fewer.
Their are games where the search space is even larger, and not just by a few orders of magnitude. Go is one of these, and is often touted as the next fronteir of man's superiority over machine.
Man will maintain that for a time, as computers get faster and ground down the difference. Maybe they'll never "get it". Or maybe they'll be able to play all possible games in 3 minutes.
The joy of discovery.
=Blue(23)
LITTLE GIRL: But which cookie will you eat FIRST? C. MONSTER: Me think you have misconception of cookie-eating process.
Thanks for the link, I haven't read that before.
My thought is this - grand masters in chess used to be so far above computer players, because the computer players could not handle the huge number of possible positions.
Computers have advanced enough that now they can deal with positions on the level of a grand master, at least with a powerful enoguh computer (a la Deep Blue).
I would expect that the same will eventually hold true of Go. Currently, computers can't hold a match to high dan players (or is it high kyu players, I haven't checked out rankings in a while).
However, I would expect that as computers get faster, that even the massive positional space of Go will eventually be able to be calcuated in a period of time given for moves to a deep enough level to emulate human players.
I don't think a computer will ever have human elegance, for lack fo a btter term, while playing, but it may have it's own, unique brand of play that is quite effective.
=Blue(23)
LITTLE GIRL: But which cookie will you eat FIRST? C. MONSTER: Me think you have misconception of cookie-eating process.
But is it really the computer that's winning? It's one thing if all we do is give a computer the rules of Chess, and then see how it does. However, the computer is being told how to think and what to compute by humans. The computer is just automating (via opening/closing/midgame books, brute force, etc.) a human created algorithm. All that the computer has over the human is the speed of number crunching.
It's an interesting point. Depends on what you define winning as.
If you are comparing the ability of own human to do something unaided vs. the ability of another human to build a tool to do the same, then the tool builders win.
If you are comparing chess skill, then the designers need not have more chess knowledge then the master, they just have a different way of approaching the probelm. In that case, as a matter of pure chess skill, hte master "wins" over the human designers.
*shrug*
I don't think the question is all that important, except to illustrate that "the computer" doesn't win, it's merely a tool.
=Blue(23)
P.S. Of course, the computer is your friend, keep your laser handy.
LITTLE GIRL: But which cookie will you eat FIRST? C. MONSTER: Me think you have misconception of cookie-eating process.
Karpov saw this coming and competitive as he is, one day he asked me to try to fold him down to PCI form size. This was the first time in my life that knowing origami helped and although his ears were a big problem, somehow I managed to fold him down to PCI form size. OMG, he's still in PCI slot 5! No wonder I'm so good at Quake all of a sudden. Hmm, I wonder if I should get a heatpipe for him.
I am willing to bet that a lot of /.ers had no idea that FPGA stood for Field Programmable Gate Array, I only knew this because I took a digital logic class during my undergrad.
/.ers have no idea what PCI stands for. Oh well I for one love our acronym oriented Engineering culture, I also like acronymfinder.com
Hmm come to think of it I bet 85% of
Thank God, I was beginning to worry that there would be no idiotic, token Beowulf comment in this thread.
"Wow look at that (insert object here)"
"How about a Beowulf cluster of em!"
"Wow look at that piece of backbacon"
"How about a Beowulf cluster of em!"
"Wow look at that drunk man vomiting in the street"
"How about a Beowulf cluster of em!"
"Wow look at the high-beams on that chick!"
"How about a Beowulf cluster of em!"
No Limit Texas Hold'em poker. I'm serious.
How cool would that be!
Almost as cool as FPGA strip poker.
Once upon a time, people used to have a thing that brains and brawn were of roughly equal value. Then, in the industrial era, smart people made machines to replace brawn. Now, smarter people are making machines to replace smart people, so, that brawny people won't need smart people any more.
At the end of the day, we'll all be like John Henry, maybe beating this year's steam shovel and dying for it, but, next year, they will make a better model.
This is my sig.
It's IMPOSSIBLE to beat.
I think the key to winning has something to do with the center square, but I'm not sure.
Perhaps we'll never know.
Chess is only marginally a game, as the RULES very poorly define the (non-losing)LAWS of play. As yet, NO ( n-o) unaided computer abscent human input other than the RULES-of-CHESS has beaten a strong human player. Presumptuous & ignorant hooknosed weenier_dudes-cum-byteboyz may RTFM Nimzowitch & Godel for details.
Why not visit Deep Blue's homepage?
3-D Holographic Clippy?
If you can think of a good pr0n application, I am sure there is plenty of capital for your application/idea in xxx-land
The Singularity is closer than you think
Quant
Take away the computers opening book. Let's face it, the GM's aren't allowed to have a copy of Modern Chess Openings sitting by their elbow.
Or if you like, let the computers have a limited repertoire, similar to a GM. So many lines to a certain depth. You could even change it for each tournament based on the opponent.
This would at least put the emphasis back on calculation and stop the situations where the GM (notably Kasparov in the Deep Blue match) tries a very weak opening move just to get the computer out of book.
just take a look at the mentioned hardware suppier's site. The only new fact is this guy wrote a chess program for a fpga chip/card.
fpga's will play a big role for simulating neural networks that do something usefull, playing chess is not.
This space is intentionally staring blankly at you
Brute force decryption uses a 'simple' algoritm and a lot of trial and error. You could gain some speed by implementing your algoritm in hardware, but you'd still be looking at billion's of tries before you have a solution. Remember this card can do only 66MHz, while a good computer can do much more. /. reader can do.
Programming an FPGA is not something an average
This space is intentionally staring blankly at you
> My first thought would be Diplomacy, since success in that game is based on communication, deal-making and -breaking, and manipulating others for personal gain.
Which AI agents already do.
> There is currently a Diplomacy AI project based on negotiation-free (nopress) play
You're a bit behind the times.
When I did my B.Sc. (85-88), there was a computerized Diplomacy game run by Sarit Kraus that included AI agents as well as human players. All negotiantions were done on-line using a formal language that proved to be surprisingly expressive. One did not know who the other players were (or even whether they were human) until the game ended.
I only participated in one game. At the end, we found out that there were 4 human players and 3 AI agents (playing independently), one of which won the game.
I believe that Sarit and others made some progress in the 15 or so years that passed since then.
There was a time, when computer chess was considered as one of the many options to understand(artificial) intelligence better. These ambitions have gone a long time ago, it seems. Humans are beaten by the mere velocity, not by the intelligence of computers.
In fact, the velocity of the machines may have been counterproductive in development of a real understanding of the game, of its semantic, its sense. Maybe chess computers have meanwhile developed primitive kinds of pattern recognition, but they still rely on (improved) forms of brute force computations, or (in the endgame) on completely computed endings (rook+pawn vs. rook).
What I would like to see are self-learning algorithms and a "verbal" representation of a strategy ("build up pressure on the queen side by gaining more room", or something like that).
Men at some time are masters of their fates: The fault, dear Brutus, is not in our stars, But in ourselves, that we are underlings.
Or, reflecting on a loss:
He reads much; He is a great observer, and he looks Quite through the deeds of men.
oh brave new world, that has such people in it!
As an at least average chess player, I feel that the better the computer, the better for me. BTW, by average I mean I win as often as I lose. I usually lose when I play the computer. Yet that is not the only reason, or even the best reason to teach a computer to play chess.
Even better than playing a computer, is using the computer to analyze the game afterwards. The best way to get better is to learn from your own mistakes and those of your opponents. By having a stong, even grand master level, computer program look over the game you can learn a lot about why you lost or won. Imagine someone who can beat the world champion willing to go over your game with you.
Humans will always have an advantage over computers until chess becomes "solvable". Until then, there will always be people who can keep the machines on their toes. Also, by giving the rest of us opponents of great skill to play, who are also patient enought to teach, we can all improve our game and improve the general playing level of chess
Your friend and well-wisher
m0smithslash
http://www.ferociousflirting.com
Correct me if im wrong, but isnt pattern recognition one of the things a computer is really really good at?
Facts do not cease to exist because they are ignored. - Aldous Huxley
Nope, humans are still much better at that. Computers are better only in the special case where you're recognizing exact patterns -- then a huge lookup table on the computer's part beats human performance. But in more "fuzzy" situations, humans do a much better job. One often-cited example is face recognition -- humans can do it nearly instantly, while computers have a very difficult time of it.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
As long as it's not LPGA strip poker :)
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
ok... why do I get a -1 overerated mod for this? i can understand the offtopic one but overrated??
Warning: This sig contains a small bug. ==> *
Damn! I'm sure I was really close to enlightenment for a moment there. But it's gone now. Ho hum.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
Whoa that clicky clicky does my head in.
Has anyone seen any IP cores for chess? couldn't find any on opencores. It'd be great to put these designs on some real kickass hardware, like a Nallatech system, we use a BenNUEY board with 3 BenBLUE2 daughter boards a total of 32000000 gates for our AES stuff