Distributed Chess Computing Project
jcarley writes "Just found an interesting project that is looking to capitalise on the power of unused computing cycles to develop a strong chess playing computer. Given the power in single and dual CPU chess programmes these days, if they can find a good way to efficiently parallel the anaysis this could be interesting. "
Prawn to e4
Can my modem give me a first post by chance?
another first post? damn i'm good. FUCK
Imagine a Beowulf... wait.. nevermind.
Feel the fear and do it anyway.
Isn't this one of the logical precursors to a global, thinking, machine?
How long will it be before the unused cycles are used to become self-aware? How will the new intelligence defend itself from human interference?
I don't know much about chess, but I thought this would be a good time to ask. Is it possible to solve chess such that the 1st player will always win? I know that it would take a huge amount of resources, if possible at all, so it would be a good distributed project.
I used to think that they'd solved Checkers, but while googling for my answer, I found that it hasn't been perfectly solved yet either.
I don't know about the author of the article, but I'm pretty sure I'm using more than 10% of my brain.
If playing a game (albeit an interesting one) isn't what you'd like to spend your spare CPU cycles on, there's a lot more than Seti@Home out there. Check out the Internet-based Distributed Computing Projects for more options...
The project looks interesting, but the guy brings up the whole "we only use 10% of our brain" myth
Writers imply. Readers infer.
I have thought of this myself, although I'm too lazy to implement it.
Chess is extremely parallelizable, since each of your N possible moves must be evaluated seperately, you can divide them among your K cpus which are participating... (Deep Blue had 256 CPUS, if I recall correctly)
The only major penalty for a distrubuted venture such as this that I can think of is that cached board information can't be shared across nodes... Most chess computers cache the results of evaluating different board positions, so that you don't need to (re-)evaluate everything for different move orders which end up with the same board position.
you need to get a serial number to participate... get the command line version, no registration required.
__________________________________________
Take comfort in your ignorance.
Grandmaster Plague
It's an old mistake.. Most everyone uses most of their brain. The misconception comes from some old paper where it said that people only use about 10% of their brain at any one time. You don't need that part that lets you ride a bike or that part that lets you talk when you're sitting down and typing in front of a computer.. Unless you have a really weird voice activated unicycle for a chair...
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
It is a sad state of affairs. A new article, as of now (13:33 MDT [GMT - 7]) the comments are 100% noise. It is truely an accomplishment. What the fuck am I doing here on a Sunday morning? I have homework due tommorow in my networking class, like I fucking care. I already know more than the teacher. Another easy A. It sucks getting a piece of paper to validate you in your own field.+- j a c k - o f f - j a c k - o f f -+ | | \ \ | j | \ \ __ j a \ \ \/__|__,,..---v--. a c |__,,\.--"""K_' | \ c k | \ _> k o | _ _ _ _ | / o f | /_v_v_v_\..---""'`-' f
f | __,,.| |_| | | f
| / \ \_h_h_h_/ |
j | | j
a | | a
c |\ | c
k | \___/ k
o | o
f | f
f | f
| | |
+- j a c k - o f f - j a c k - o f f -+
Proof of the gay-linux conspiracy!
While i apreciate these distributed processing projects, wouldn't the time/cpu usage be better used at something like United Devices?
www.ud.com
Do something good for humanity and contribute to the different projects available.
http://members.ud.com/projects/cancer/
Although there is no linux version there is a Microsoft version and I know, at least in my case, my Windows machine is more idle than my linux ones. At least they are "in the process" of making a linux/unix version.
I, for one, would love to see how many Athlons it takes to stomp Deeper Blue. (or whatever the current monolithic champion is) Guesses? Guessing this would be an interesting lottery/raffle idea. :)
This too shall pass.
Background information
.3DS and .DXF files into Flash movies. This would allow me to render each 3D chess piece model at various angles while applying lighting and a camera view to create a Flash movie for each piece. One of the issues that surfaced was that a 64 frame movie (a piece rendered at each square) would yield a rather large movie file. Wanting to keep the size of the Flash based chess viewer small made this approach unusable. I decided that I would have to resort to an old game programming trick. The technique in question involved rendering an object at several fixed angles and then scaling the object in size to give the illusion of movement within a larger 3D space. This technique allowed me to render an 8 frame movie (one frame per eight positions). While not perfect this technique produces a pleasing effect.
I'm passionate about the chess. My love for the game goes back to my early childhood when my mother taught me to play. During my youth, I played chess obsessively, and my devotion to chess study had an adverse affect on my school grades. I can recall playing chess in place of lunch, and between classes. It became clear to me that I would have to attend to things other than chess.
In the early 1980's I developed an interest in computing. The first software program that I purchased was of course a chess program, Sargon for the Commodore Vic 20. As I learned the fine art of computer programming, my desire to build chess related software grew. My focus, however remained primarily on building a career, and a family... chess work would have to wait. Nearly five years ago I started working on components for what would become the ChessBrain project. The project changed in scope during the past three years, affected in large part by the work that was being done on the Seti@Home project and in the peer-to-peer distributed computing space.
The Seti@Home project was created to aid in the Search for Extraterrestrial Intelligence. Seti@Home allows users to download a small program which is able to communicates with the SETI computer to retrieve small blocks of data that will be processed on the users machine. The data in question consist of small segments of data collected via the radio telescope on the island of Puerto Rico. Once the data is processed the results are then submitted back to the Seti computer. In this way, millions of users donate the use of their computers processing power to aid the Seti effort.
Seti@Home inspired me to apply the distributed computing model toward the goal of creating a massive chess computer that uses the processing power of networked machines to calculate its moves.
Primary Servers
I use many computers on the ChessBrain project (eleven at one point). Most of the computers are used for testing, however, two computers are currently in fulltime service.
The first is a computer which I do not own, but rent time and space on, it's a computer at a web site hosting facility in Arizona. That is the current home of the chessbrain.net site.
The second computer is one of four PIII-1 ghz machines I own and has been dispatched to Corona, California. This machine hosts the distributedchess.net domain and a software application called the SuperNode server.
I have limited space available at home and thus rely heavily on the use of five laptop computers. These computers support my testing efforts. I run a variety of operating systems, several on the Win32 platform, several under various versions for Linux and one iBook running Mac OSX.
In the next two sections we'll look at the SuperNode server and some of the reasons for using multiple machines.
SuperNode Server
ChessBrain users will download a program which communicates with the main ChessBrain server to retrieve chess positions. Each users machine will process the chess position in question and return a result to the ChessBrain server. The ChessBrain server (called the SuperNode server hereafter) is the machine that is directly coordinating the game at hand. When it becomes its turn to move, the SuperNode server analysis the current position and dispatches potential moves to users (PeerNodes) for further analysis. This scenario is considerably more involved than described, however the explanation will need to suffice for the time being.
Two years ago I started working on pieces of the SuperNode server under Linux. My choice of Linux was largely due to a desire to learn Linux server programming. At the time my core competency was; programming on the Microsoft Windows platform. However, I really wanted to learn more about Linux.
The SuperNode multithreaded server is written in C++, and compiled using the GCC compiler under RedHat Linux 7.1. Currently the SuperNode server code is a bit more than 13,000 lines of code.
When the SuperNode server is running it accepts network connections (from Server Nodes) using Berkeley Sockets, and accesses a thread pool to dispatch the handling of the connection request to a background thread. This allows the SuperNode server to simultaneously service multiple client connections. In load testing, I've measured 200+ simultaneous connections.
You can access the SuperNode server statistics page to view the current server load.
Currently, the SuperNode server is running a set of game simulations. So it isn't actually playing a real chess game at this time. The simulations are in place so that the server can be tested as it communicates with other software client nodes. There are currently six types of clients available.
Server Nodes (Linux, Win32, Cygwin, MacOSX)
Game viewer (Java, Flash)
3D Game viewer (C++, Win32, DirectX3D)
PHP game viewer (PHP 4)
PHP SOAP proxy
Perl test suite (Perl 5)
PeerNodes are the computer clients which communicate with the SuperNode server, illustrated in the flash animation above. PeerNodes are written in portable C++ and compiled for Linux, Windows and MacOSX.
Users can view the current game in progress by using one of the Java, Flash, Win32 (Microsoft Windows), or PHP based game viewers. Viewers can be accessed on the downloads page and on the viewers page.
I use a small PHP proxy script to enable the use of HTTP Get request to return SOAP responses. We'll examine this further in a later section.
Most of the current SuperNode server testing is done via the use of automated testing scripts written in the Perl programming language. We'll look at Perl and Perl's SOAP::Lite later in this document.
The animation on the left shows how a client machine running any one of the client programs discussed above, goes about formulating an HTTP payload with an XML based SOAP request and transmits it to the SuperNode server.
The SuperNode server receives the HTTP request, extracts the SOAP request and processes the request.
The request is performed, and a new SOAP response is generated and packaged inside of an HTTP response and sent back to the client machine.
The ChessBrain project doesn't run on a single computer. This site, chessbrain.net is one of two computers involved. The next sections explores my reasons for choosing to utilize several computers.
Why two servers?
It is entirely possible to simply use one server to host ChessBrain. However, do to the cost of doing so, I decided to go another route.
Cost
I started by investigating dedicated hosting cost and realized that I would have to spend anywhere from one hundred to several hundred dollars per month in hosting charges. Given that ChessBrain is a non profit project, the expense was a bit difficult to justify. I chose to purchase a one year contract of basic web (non-dedicated) hosting service, for one hundred dollars. This basic hosting plan meant that ChessBrain would run on a machine along with several other web sites, hence the term non-dedicated.
Decentralization
Naturally, choosing low cost hosting had certain major drawbacks. The biggest single drawback was the inability to host my own server application. The ChessBrain project uses a custom server application called the SuperNode server, which communicates with other peer node servers. This wasn't going to happen on a 12 dollar per month service.
Once I accepted the fact that I would have to use non-dedicated hosting, I soon started to look on the bright side of the situation. Decentralization is a good thing, I thought. I decided to have the ChessBrain site communicate with my home computer as needed. If I shutdown the SuperNode server, users on the ChessBrain site would still be able to access the site. Only the ability to view the current game in progress and access SuperNode server statistics would be unavailable. Damage control is one of the key benefits of decentralization!
My home network was connected to the Internet via a cable modem, so bandwidth wasn't a problem. However, my cable service provider didn't take too kindly to my Internet usage and shut my connect down on several occasions.
Fortunately for me, a friend came to the rescue. My friend Walter Howard happen to have a T1 into his home (yes, I have interesting friends) and didn't mind hosting a machine for me. As far as this project is concerned, this was a life saver!
Firewalls
Many corporations, institutions and an increasing number of individuals are choosing to run intrusion prevention hardware / software (firewalls). Firewall software closes off connection ports that would otherwise be available to networking software. Only the most common ports are left open, and more often than not, the only port left open is port 80, the port through which web traffic normally travels through.
Because web servers take over port 80, running other software on the same machine that also requires port 80 isn't possible. This is why many people chose to write server extensions (scripting languages that are added to web servers to enable extensions).
Using more than one computer where each computer uses port 80 to communicate with each other...
(TBC)
Server Administration
The chessbrain.net and distributedchess.net sites are administered remotely using a tool called secure shell (SSH). SSH is similar to telnet, only it's encrypted and hosts a number of nice features. For security reasons, the SSH servers are setup to only accept connections from known IP addresses. This reduces the likelihood of the sites being hacked. The SSH tool suite includes a tool called SCP which simplified the secure copying of files and replaces the need for FTP.
Communication
The ChessBrain project consists of two publicly accessible sites. The first is this site, the chessbrain.net site (CB), and the second is the distributedchess.net (DC) site. Both sites are able to communicate with each other to support users.
The animation on the left shows that two users at opposite edges of the net are able to communicate with both the CB, DC servers.
In addition, the CB and DC servers communicate with one another to support users.
On the CB site users can learn about the project, download project related files, and view the current game in progress. The site runs under an Apache web server on a Linux machine at a site hosting company in Phoenix Arizona. The CB server doesn't actually play chess, however it does know how to communicate with a server that does, the DC server.
DistributedChess.net is the brain behind the CB site. This site is very different from the CB site in that it doesn't actually run a known web server, such as Apache. Instead the DC site runs a custom server called the SuperNode server, which is hosted on a Linux machine in Corona CA.
Currently when a user accesses the stats page, or a page that displays the current game position, the CB server contacts the DC server requesting the information, and then formats and displays the results to the user.
Over the past two decades, computer scientists and researchers have developed many ways of enabling computers to communicate with each other. Today we have many methods from which to choose from. For the ChessBrain project, I needed a way to allow Java, PHP, Perl, C++ based programs running under Linux, Windows and MacOSX to communicate using a common language (protocol).
Two standards were gaining widespread acceptance among software developers building next generation web applications, XMLRPC (extendible Markup Language for Remote Procedure Calls) and SOAP (Simple Object Access Protocol).
In December 2001, I chose to use XMLRPC, which utilizes a small XML grammar to formalize the passing of commands (methods, parameters, etc...) between communicating systems. XMLRPC was simple enough to implement across the platforms I was interested in. My intention was to ultimately migrate over to the use of SOAP once everything was working well under XMLRPC. It was clear to me at the time that SOAP would be the method of choice for web service developers, and that I couldn't possibly avoid migrating to it. The reason for this is simple. SOAP is quickly becoming the method of choice for building highly interoperable systems. Many companies are building tools that simplify the process for the software development community.
Once everything was working well, I realized that it would be better to use the SOAP standard, because it is quickly becoming the methods of choice in the industry.
Today the ChessBrain project uses SOAP as the communication language.
Communication Glue
On the CB site users can learn about the project, download project related files, and view the current game in progress. The site runs under the Apache web server on a Linux machine using the PHP scripting language for dynamic content generation. PHP also facilitates communication between the CB and DC servers. The CB server doesn't actually play chess, but it does however know how to communicate with a server that does, the DC server.
(TBC)
Game Viewers
Java viewer
Win32 3D viewer
PHP viewer
Flash viewer
Last February (2002) I had the opportunity to explore the use of Macromedia FlashMX (Flash 6). FlashMX has support for XML which allows a Flash programmer to handle SOAP. Intrigued with Flash presentation and networking capability, I decided to start building a Flash based chess viewer for use on this site.
I decided early on that a simple 2D looking viewer (similar to the Java viewer available on this site) wouldn't show off Flash's capabilities. So I decided to simulate 3D graphics using Flash. Now, keep in mind that Flash is a 2D vector technology without support for true 3D (multi-layer Z order is not 3D!).
My first obstacle concerned how to take my 3D Studio (.3DS) chess models and convert them into a format that could be used within the Flash environment. I searched the web and found a product called Swift3D that converts
The end result isn't true 3D, but rather simulated 3D using 2D graphic (movies). This is often referred to as 2 1/2 D or isometric.
The next challenge involved using the newly created Flash movies within the Flash environment to position the pieces within each chess board square. The approach I took involved turning each chess piece movie into a SmartMovie component, and to drive instances of the smart movie clips (chess pieces) using Macromedia Flash's built-in programming language, ActionScript.
(TBC)
Web Services
Web servers and browsers have changed the computing landscape by providing efficient access to applications. The ease of deployment and accessibility of services have enabled web applications to continue to emerge as products and services that many of us use via the Internet.
The benefits offered by the network application development paradigm has ushered in a new era in software development. In this next generation of the web, applications are communicating with other web applications to aggregate liked services. Unlike the prior web generation, this new generation is about giving machines the ability to locate, dynamically bind, and communicate with other services on the fly.
This isn't the future it's already underway!
There a considerable amount of conversation generated about a new paradigm in computing called Web Services. While the approach to web services is new, the needs it addresses have existed since the time when at least one computer had to speak to another. Web services promises to simplify how computers communicate with each other to share resources, and this alone is generating much of the interest.
By leveraging open standards, web services will become the fundamental building blocks of distributed computing across networked devices from large-scale sites down to embedded devices.
The emergence of peer-to-peer networked devices is quickly becoming a reality, and there is a strong parallel between what is happening on a macro scale (large scale web applications) and on a micro scale (embedded systems). The new web services model treats networked devices as both consumers and producers of services.
During the past few years we've started to see embedded systems supporting the use of web servers in their products. Internet application devices, such as cable modem routers, and network attached storage devices (NAS).
The Web service paradigm has the potential to enable a level of global collaboration unlike any in seen in the history of our planet. This alone has many of the largest computing companies scrambling to embrace web services.
Agent / Bots
The ChessBrain SuperNode server uses a software component to communicate to the Free Internet Chess Server and its online users. The module called Shannon is a simplistic agent or bot that performs the same commands that a human user might perform while on FICS.
Shannon is an agent for the SuperNode server in the same way that human counter parts (particularly in the entertainment field) use agents to act on their behalf. Technically, Shannon is a C++ module that runs as a thread inside of the SuperNode server.
Software Testing
Testing software is remarkably difficult to do. Each year products are released with problems to unsuspecting customers. Often companies find themselves comparing market pressures against their desires to produce quality software products. More often than not, market pressures win, and software is released with known issues. In my twenty years of experience, I've consistently watched companies underestimate the cost of software development. Take a team of five software developers, add at least one manager, and throw in at least two software testers over six months and you've got a half a million dollar project. I've worked on similar sized teams with budgets ranging from half a million to two million dollars, working on project that no one really knew would sell. Hard to imagine? You know what they say... Reality can be stranger than fiction!
During the early 90s I was hired at the Symantec Peter Norton Group. At that time, Symantec encountered difficulty testing their complex and feature rich software applications. The number of people hired to test software was staggering. This was one of the reasons that motivation Symantec to consider automated software testing software tools. Automated testing tools do not eliminate the human software tester. Rather, the tools enhance the ability of human testers to root out hard to find problems. The end resulted in time savings and thus lower cost.
My experiences with Symantec and the many other companies I've worked with since that time have instilled in me a now ingrained sense of the importance of software testing. When I started working on the SuperNode server testing. My early experience with the use of scripting languages in automated testing products served as a powerful reminder. I chose the Perl programming language. In all fairness, PHP was another viable alternative. Perl offers several outstanding features that make it ideal for software testing. Perl is ideal for a large number of other uses. For many people, Perl is the only language they need (many sysadmins will agree).
The Perl programming language proved ideal.
Perl scripts run on multiple platforms.
Perl has excellent support for networking.
Perl could be extended for web services using SOAP::Lite.
Perl's support for regular expressions simplified network message parsing.
New scripts can be quickly authored.
I use Perl in the following ways:
Load testing. I run Perl scripts on several machines (concurrently) that repeatedly connect with the SuperNode server. The scripts issue the exact commands that viewers and node servers issue. This allows me to test new commands prior to making the functionality publicly available.
Handling Complexity
By far, the largest area of difficulty stems from the nature of testing software that is actively engaged in performing functionality simultaneously. At any one point, the SuperNode server may be accepting a connection, servicing a connection, interacting with other servers etc... The SuperNode server is a multi-threaded server. I use a dual processor computer so actions may indeed occur simultaneously. In order to stress test this sort of situation, I run multiple simulated clients (using Perl scripts) as fast as they can execute across multiple computers within a 100BaseT private network.
Quick Summary
If you've jumped to this section prior to reading the entire document, then congratulations, you're on the fast track! If you got here the old fashion way, then congratulations again, because this section will reinforce what you've already discovered.
The ChessBrain project uses many forms of computer tools and technologies. Each piece of technology serves an important role.
Key concepts
Distributed Computing allows machines to communicate which each other to solve large and complex problems.
XML and SOAP are key technologies that enable computers to provide and exchange services.
No single computing technology can serve all purposes. Effective computing architectures rely on numerous other components to address a wide range of needs.
Other key points
SOAP forms the glue for all network communication in the ChessBrain project. All (SuperNode and Peer Node) servers, and all game viewers used on the project communicate via SOAP.
Scripting languages are valuable tools in automated testing.
Computer Languages
ActionScript. Used to drive the Flash based game viewer.
C/C++: SuperNode server, Peer node servers.
Java: Java based game viewer, and bar graphs on the stats page.
PHP: Server side scripting for dynamic web pages used throughout the site, and the xmlproxy script used to translate URL based request into SOAP request.
Perl: Official software testing language for the ChessBrain site. All server functionality is tested using Perl scripts.
Resources / Links
Additional resources are listed on this site's resource page.
Operating System Platforms
Computer Languages
Media creation
Chess is mostly a bunch of recursive procedures; i.e. if I move here he can move here here or here. So, given that, splitting up the workload wouldn't be too difficult at all -- just tell another node to score this board layout and keep crunching. Excellent application for distributed computing.
My only concern with a distributed chess processing thing is security. What's to stop someone from making their node return random results?
Isn't this a brute force method of playing chess? Just keep throwing more processor cycles at the problem. Wouldn't it be cooler to develop this into a global neural net and have it learn from its mistakes?
I've got a fever and the only prescription is more COBOL.
Chess is for fucking pansies.
... sooner or later something completely amazing and worthwhile will come up that runs across multiple machines... and the client will only end up installed on 2 PC's, one of which is a broken 386 that's turned on twice a week :)
a grrl & her server
The problem is the algorithm in developing concurrently-processed chess calculations. The people on D.net couldn't get up enough interest to do the project, and ultimately it never got off the drawing board. Now most of those people have gone on to OGR.
"Mod, mod, mod...and another troll bites the dust."
I think it would be interesting to see a competition between human and computer teams in which this distributed project is pitted against a group of the world's most talented chess players working together in something like that distributed brain-cycles story that was on Slashdot a few weeks ago (sorry, I can't find the article).
There are probably some people out there who would say this is not really fair because people need time to adjust to a playing style and everyone is different, but I say if the computer can have a thousand different computers crunching numbers for it, then why not a thousand different brains working together?
Hell, I just came up with another idea...why not program the Cyc project to use a small database that deals only with chess? Certainly there are rules that can be conveyed to it and then have the Cyc AI compete against some chess programs to see how it does.
- All of the so-called "logged-in troll" accounts were created and are used by the same fucking person--that douchebag from SC that owns http://www.trollaxor.com.
- For all of the accusations that CmdrTaco, Hemos, Cowboy Neal, &c. are "gay", it's the so-called "logged-in trolls" that continuously spew a stream of phallic ASCII art, links to photos of explicit homosexual acts, and explicit homosexual "confessionals". This guy must spend hour upon hour surfing gay porn sites and reading the "adult" newsgroups on his own before forwarding the "best of" to slashdot. In this day and age most people understand that a person's sexuality is his or her own business. At the same time most people will also rightly condemn hipocrisy when they find it (e.g., a closeted gay vilifying others for their supposed "homosexuality").
- It's fucking TROLLING. At its best its a high form of performance art. Unfortunately douchebag from SC can only muster posts of the quality "I'm better'n you 'cause I LOG in!". You're not even in the same league as the more intelligent anonymous trolls.
To paraphrase Voltaire, "I disapprove of what you post, but I will defend to the death your right to post it anonymously."What is it actually doing? A complete tree-search for all the legal chess moves? That's a pretty big tree! Searching for conclusions to well-known games? Trying to crack into a Norwegian librarian's database?
Be forwarned running these distributed programs can cause damage. Be absolutely sure that your cooling is in tip top shape, running your cpu at 100% utilization 24/7 can cause major heating issues especially with AMD k6's.
There is no "if" in "if they can find a good way to efficiently parallel the analysis".
To play chess well, you recurse into a "deep" tree. You analyse say 10 moves, and then ten moves for the opponent. That explodes pretty quickly. So you end up evaluating millions of chess positions several moves down the road. But there are only a hundred or so "shallow" moves.
It's trivial to do the first 2 moves on the computer "distributing the work", and then to pass out the +/- 100 problems of recursing those resulting moves to 100 computers.
Sure, there is some optimization to be had by breaking off "useless" trees. That optimization will not run as good in parallel than it does on one computer. Then you may waste say half your compute nodes. But the other half is providing you with a 50-fold increase in performance.
Roger
What is this distributed chese program?
[]'s Victor Bogado da Silva Lins
^[:wq
This is really not that exciting, it's just brute forcing the problem. Human chess grandmasters don't run massive simultaneous mega power number crunching sequences to figure out how to win, they use a combination of strategy and intuition.
This is lame. A much more interesting story would be that someone had written a program that could play world class chess without world class CPU horsepower.
A professor at the University of Mississippi is giving a
lecture on the supernatural. To get a feel for his
audience, he asks: "How many people here believe in
ghostses?" About 90 students raise their hands.
"Well, that's a good start. Out of those of you who
believe in ghostses, do any of you think you've ever seen
a ghostse?" About 40 students raise their hands.
"That's really good. Has anyone here ever talked to a
ghostse?" 15 students raise their hands.
"That's great. Has anyone here ever touched a ghostse?" 3
students raise their hands.
"That's fantastic. But let me ask you one question
further... Have any of you ever made love to a ghostse?"
One student way in the back raises his hand.
The professor is astonished and says, "Son, all the
years I've been giving this lecture, no one has ever
claimed to have slept with a ghostse. You've got to come
up here and tell us about your experience."
The redneck student replies with a nod and a grin, and
begins to make his way up to the podium. The professor
says, "Well, tell us what it's like to have sex with
ghostse."
The student replies, "Ghostse?!? From ah-way back there ah
thought yuh said "goatse."
--
Mamma look!
Now, please go log the fuck in.
Proof of the gay-linux conspiracy!
In a story long long ago on Slashdot, this topic came up, and here was one interesting reply. Apologies to RobertFisher for reposting this without permission.
Re:Hardware (Score:2)
by RobertFisher on Thursday January 17, @11:43PM (#2860138)
(User #21116 Info | http://astron.berkeley.edu/~bobf)
While I agree that this is strictly true, the hardware used does not vary dramatically -- most every one is a 1 GHz - 2 GHz machine. Considering that the branching in the tree of game possibilities is a combinatoral explosion, the differences in hardware alone will not allow researchers to explore to a significantly greater depth.
The main problem in computational chess playing is not so much in the brute force with which you can explore the tree, but in how one prunes a branch when the option starts looking unpromising. That is really an algorithmic question, and I would be willing to bet that the best algorithm will in fact win in a competition of this sort. It is a bit analogous to taking two comparable, but unequal hardware machines, and running bubble sort on one, and quick sort on the other. Quick sort will always win, hands down, because it is the far superior algorithm.
What did surprise me was that there were no parallel machines on the list -- not even an SMP. I do think that with enough processors and a reasonably sophisticated algorithm, an amateur team could in fact stand to beat a more sophisticated algorithm. But that isn't the case here.
Bob
I've had enough abrasive sigs. Kittens are cute and fuzzy.
One other consideration is, that while it seems likely (from our experience with master and grand master class players) that white has the advantage and thus whould be the likely winner if there is a winner in the solution, it has not been shown that this is the case, it could well turn out that in the "perfect" game black has the advantage as long as he makes no mistakes. It seems far more likely to turn out that the "perfect" game will be a draw, meaning that if either player makes an error and the other can play perfectly from there, the player to not make the error will win. (and error being any move that takes a branch on the tree that leads to a forced loss for the player who made the move). For example, tic-tac-toe can be easily proven to have this type of solution, and chess might has well.
I'm an American. I love this country and the freedoms that we used to have.
This is NOT repetitive, lameness filter!
A professor at the University of Mississippi is giving a
lecture on the supernatural. To get a feel for his
audience, he asks: "How many people here believe in
ghostses?" About 90 students raise their hands.
lskjflsdfjklsdkjf
"Well, that's a good start. Out of those of you who
believe in ghostses, do any of you think you've ever seen
a ghostse?" About 40 students raise their hands.
"That's really good. Has anyone here ever talked to a
ghostse?" 15 students raise their hands.
!!!!FJKSLR(IEL LKISDLF LKJ SLKJF KLJS
"That's great. Has anyone here ever touched a ghostse?" 3
students raise their hands.
"That's fantastic. But let me ask you one question
further... Have any of you ever made love to a ghostse?"
One student way in the back raises his hand.
LSKDJ LKJF FKJD SOI FKJL
The professor is astonished and says, "Son, all the
years I've been giving this lecture, no one has ever
claimed to have slept with a ghostse. You've got to come
up here and tell us about your experience."
The redneck student replies with a nod and a grin, and
begins to make his way up to the podium. The professor
says, "Well, tell us what it's like to have sex with
ghostse."
The student replies, "Ghostse?!? From ah-way back there ah
thought yuh said "goatse."
--
Mamma look!
It's all fun 'n games, till someone cracks the client.
-Adam
You are neither well formed, nor valid.
of natalie portman's fine ass. distributed sex is the future.
The alpha-beta algorithm, which _everybody_ use, is very hard to make massively parallell (effectively). You can't just brute force this kind of exponential game. You are right about the hash tables, they will also be a problem.
Opinions stated are mine and do not reflect those of the Illuminati
Give it the fuck up!!! You are never going to eff pee, you will die eff peeless. On your grave stone, under your name, birth and death dates will be the inscription: Never Got An Eff Pee On /.. Poor bastard.
* g o a t s e x * g o a t s e x * g o a t s e x *
g g
o / \ \ / \ o
a \ a
t `. : t
s` \ s
e \ / / \\\ -- \\ : e
x \ \/ --~~ ~-- \ x
* \ \-~ ~-\ *
g \ \ .--------.___\ g
o \ \// ((> \ o
a \ . C ) ((> / a
t /\ C )/ \ (> / t
s / /\ C) (> / \ s
e ( C__)\___/ // _/ / \ e
x \ \\// (/ x
* \ \) `---- --' *
g \ \ / / g
o / \ o
a / \ \ a
t / / \ t
s / / \/\/ s
e / e
x x
* g o a t s e x * g o a t s e x * g o a t s e x *
Proof of the gay-linux conspiracy!
Give it the fuck up!!! You are not good. You are never going to get an FP, you will die FP'less. On your grave stone, under your name, birth and death dates will be the inscription: Never Got An FP On /.. Poor bastard.
* g o a t s e x * g o a t s e x * g o a t s e x *
g g
o / \ \ / \ o
a \ a
t `. : t
s` \ s
e \ / / \\\ -- \\ : e
x \ \/ --~~ ~-- \ x
* \ \-~ ~-\ *
g \ \ .--------.___\ g
o \ \// ((> \ o
a \ . C ) ((> / a
t /\ C )/ \ (> / t
s / /\ C) (> / \ s
e ( C__)\___/ // _/ / \ e
x \ \\// (/ x
* \ \) `---- --' *
g \ \ / / g
o / \ o
a / \ \ a
t / / \ t
s / / \/\/ s
e / e
x x
* g o a t s e x * g o a t s e x * g o a t s e x *
Proof of the gay-linux conspiracy!
I do it wrong
Laying here in the shadows of my room, I squint up at my love. My Ms. Portman. I am sore and tired after fucking her for eight solid hours. My chapped and aching dick is soaking in grits to relieve the pain. She gets on her knees and starts lapping the grits up out of the bowl. She places her beautiful hands on my penis and starts to lick the grits off my achy piece.
Massaging my nutsack she....
WAIT, I DO IT WRONG!!!!
Yanking my dick out of her mouth I throw her to the ground and shove it in to her gaping freshly fisted ass. [goatse.cx]
"OH BIG ASS SPORK!! Fuck my ass, fuck my ass good. DEEPER, my stallion, deeper!! Make a Beowulf cluster of sperm on my back!!"
"Imagine a Beowulf cluster of this baby!"
I DO IT WRONG!!!!
I continue to hump her alabaster form. Glistening with beads of sweat, she bites her lip in delight as I tear her ass open with my engorged dick.
"Queen Amidala!!" I shreik as I near climax.
She looks up at me and screams, "You are so alive in me, unlike *BSD or VA Software!!! Fill me with seed!! Yes, Yes, Yess!!!!"
"For me you are calling, hhhmmm?"
"YODA?!? What the fuck, can't you see I am using the force here?"
He savagely kicks my Natalie aside, he pulls out his large green penis and impales me...
I DO IT WRONG!!
All your sporkz are belong to the dead homiez!!
Proof of the gay-linux conspiracy!
This is a shame, because there are many exciting things we could do with a global chess computer. The obvious "let's play it against Kramnik or Kasparov" would actually be a lot of fun. With my computer conspiring against the human, it wouldn't be clear who I'd be rooting for!
However, there are lots of other cool things we could do with this. I assume the code itself is some sort of open source--so maybe, we could set up a team tournament, where Team Slashdot plays Team AnandTech. The various teams could also do tweaks to the code to give themselves an advantage. Or, on a larger scale, we could play a America vs Europe game, where continental patriotism would encourage you to contribute your clock cycles to victory.
Another obvious modification that is not mentioned in the documents is human intervention. This sort of computing power would be great if you want to investigate a certain line of play, but this in combination with the human intuition of Grandmasters should be able to coax the computer to give privilidged analysis to certain lines over others. Otherwise, the computers would crank away on the unpromising lines just as much as the ones that might realistically be played.
It is this, the sort of human-directed chess machine that has the potential to show us some of the greatest chess games ever witnessed. This is some exciting stuff. ...
Well, potentially. However, the intentions of the ChessBrain authors is so far totally mysterious, and I think that's a shame. They seem like nuts-and-bolts people, and these distributed projects need "vision" people to attract a lot of CPUs. I don't have many clock cycles to spare, but I know I'd have a hard time resisting if I could contribute to my continent's victory over our transatlantic enemies. Apart from that, working out a system where this chess super-computer could serve as a tool to augment the play of teams of Grandmasters (or vice versa) would be genuinely interesting from a research point of view, as well as being perhaps the most exciting chess event ever.
Anyway, if ChessBrain doesn't turn into any of these things, I hope another distributed chess project does.
Chess algorithms generally do an optimised version of a minimax tree search. It's easy to distribute different parts of the tree to different clients. The problem is that the number of calculations vs. the number of moves ahead you are searching is exponential. So if you have 10,000 processors, you can only search say 2-5 extra levels deep.
One thing about alot of distributed processing applications is that it doesn't matter how long it takes for node X to process a data unit. So if a 386 can't process a Seti@home data until in 3 months... no big deal, it can be assumed to be a lost unit and sent on to another machine, or it can just wait.
But for chess, I assume moves need to be made in a certain amount of time if you're playing by tournament rules. If you send off a processing unit, and it never comes back, there might not be time to send it again. It seems like this would cause important parts of the processing tree to be missed.
In this algoritm, it seems like there would need to be a priority assigned to units, and those units would be sent to machines assumed to be the fastest on the network to ensure that they would be processed in time. Of course, normal chess programs probably already do this when working under a deadline, but in this case you also have to factor in network connnection speeds, processing speeds, and the fact that certain machines may suddenly become unavailable and drop work units.
why do people always compare the usefullness of the differing distributed computing projects?
lets face it somebody will join a project only if they find it interesting. not everybody is interested in the same things, and while searching for a cure to cancers is a very noble goal, perhaps it doesnt appeal to everyone. Some people consider searching for intelligent life like SETI a waste of time, but perhaps one day communications with other lifeforms could solve cancer quicker than the UD DC project aimed at cancer can, you never know.
Admittedly a chess DC project does not aim to do anything like that, but if it's interesting to some people who are not involved in any other projects and gets em started with the addiction that distibuted computing can become, then i think it's great. Maybe it will end up being the gateway to them someday helping you in your favorite project.
10^120?
How is that? I would think that the absolute maximum (ignoring all chess rules) would be:
there's 2*6 different kind of pieces (black&white)
that makes 2*6+1(empty) different possible values for one square
so that's 13^64~0.2*10^72
probably flawed somewhere, but this figure is much smaller than 10^120???
"We live in our minds, and existance is the attempt to bring that life into physical reality" Ayn Rand
nobody uses alpha-beta anymore, they all use nega-scout or mtd(f) (which btw is easily paralellizable)
If you distribute the tree you can store every possible wining strategy and just store the thing with 128 byte keys. (64 squares & 2 byte piece definition with algorithm to define the next optimal move in black & white.
Chess is an uninsteresting problem when you have a wide enough word length.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Since the idea is to generate a tree of all possible moves, this does seem easily parallelizable with perhaps a little performance loss tradeoff depending on how many messages sent.
Given a tree, generate enough layers/nodes to fill up all the processors then set each one to a separate task.
Given a tree
That is what you have to calculate.
My impression was that mtd(f) is just an interesting novelty and that none of the commercial programs use it.
Can you present some evidence to the contrary?
Opinions stated are mine and do not reflect those of the Illuminati
Will someone solve someday the chessgame? I thougth that possible diferent chess games that can be played are about: 10^10^ 50, and the possible different chess possitions on a board are about 10^44, if there are only 10^18 atoms on universe, could it be really solved? Maybe by quatum computers?"
how can cellular automata be applied to this project?
I hereby take occasion to assert that the highest powers of the human intellect are more decidedly and more tasked by the unostenratious game of Draughts, than by all the elaborate frivolity of Chess. In the latter, where the pieces have different and bizarre motions, with various and variable values, what is only complex is mistaken (a not unusual error) for what is profound."-"Murders of the Rue Morgue."
http://www.acfcheckers.com/poeben.html
Checkers _is_ better than chess.
Another question in my mind is how much the net-computing model applies to other parts of the computation besides the computation of look-ahead trees. For instance, one has to have a way to assign a numerical rating to a particular board position, based on material, control of the center, pawn structure, etc. Maybe there are algorithms that can do this much better, but are 10,000 times slower, so they'd only be practical with this computing model. Another thing is that openings and endgames require specialized treatment. It may be that on a net-wide application, you could make your book of openings 10,000 times bigger, or maybe you could perfectly solve certain endgame situations that traditional software might have a hard time managing.
Find free books.
This is lame. A much more interesting story would be that someone had written a program that could play world class chess without world class CPU horsepower.
I am working on just such a project. It's called Animal.
You know, Kasparov has been beaten by Deep Blue.
Why do you want to create ultimate playing computer?
It's just not interesting!
Better try to create computer that can make interesting mistakes and play as ordinary human with rating 1400-1600. It's harder than you think.
God damned, I really don't need that! :) always even in the lowest level!
I remember when I played chess with my 486, it beated me (sure, still beats me
I really don't need to be more frustrated against a opponent stronger than Deep Blue!!! 8-)
Hmm, I'd guess you are using much less than Ah/64h of your brain, considering you are using decimal. Do you know what hexadecimal is? Geeks hate decimal.
Screw that, Put you used cpu cycles towards something worthwhile, like helping cancer researchers cure cancer, more info here: http://paul.playuh.com
Are you dumb? What's with all the decimal? If you knew anything about computers you would know decimal is for stupid people. Geeks on slashdot only use hexadecimal, so repost. I see 100h's of posts using decimal on slashdot, and they wonder why they get moderated down or ignored?
You casually use 10,000 clearly meaning decimal. Why not just say 10000h processors? Decimal has no place with computers. I'm guessing you know very little about computers by your use of decimal (you probably don't know hexadecimal at all).
Decimal is evil. Are you evil? I think you are, when you use the complex 128 instead of simple 80h.
If you don't prune the tree at all, then certainly I'd buy the hypothesis that it's exponential. But any good algorithm is going to prune.
For the most part, in the mid-game, I would think it would be exponential, because there's usually multiple moves with roughly equivalent scores. Although the whole concept of scores is kind of silly. In reality there are only three scores: you can force a win, you can force a draw, or you can't do either.
I'm also not sure that 2-5 extra levels is anything to sneeze at -- it may be the difference between a program that can play at the master level and one that can beat Kasparov.
Or more interestingly, one that never loses to Kasparov. In any case, I don't think it'll make that huge of a difference. Top computer opponents generally lose because they misinterpret the score at a certain level, not because they miss a trick by a few levels. The mistake doesn't become clear to the computer until many moves down the road.
Maybe there are algorithms that can do this much better, but are 10,000 times slower, so they'd only be practical with this computing model. Another thing is that openings and endgames require specialized treatment.
It pretty much doesn't make sense to know how to increase the accuracy of the scoring algorithm (without going down a level) and not put that into your software.
I'm basing what I say mainly on watching computers play chess (and watching the search trees in action). After a short period of time the scores of the possibilities generally stabilize, and except for a few rarities it doesn't matter if you wait for the computer to complete 2-5 more levels of depth. Either the scoring algorithm worked, or it didn't.
Could you please reformat your post in hexadecimal? That is, say stuff like 10h^Ah. Or at least say 16^16^16, or so on. I'm really wondering why you are thinking in decimal.
is outlined here. It's difficult to parallelize chess playing algorithm efficiently. Alpha-beta pruning is the best chess-playing algorithm we have. To complement it, you add transposition tables and an opening book, but that's basically it.
The branch factor for checkers is too low. Current computers can defeat the strongest players in the world fairly consistently, and in a couple generations, it won't even be a contest.
In other words, Chinook ownz you.
Wouldn't it be more useful for each and every human on this planet if we would use such computing power on some projects aimed to find a cure for some disease? The way I see it, this is a waste of CPU power.
So if every atom in the universe could do one chess position per say, nanosecond (10^-9 seconds), and had been computing since the Big Bang (15 billion years ago), the computation would still be in its earliest stages.
Well, you could cut down on a little that time by using smart programming (I.E. it's not too bright to move your King to the front line early in the game) and I think a purely mathematical approach ignores things like this. But what about Quantum computing? Assuming we ever get it working to it's full potential we could solve for the perfect game of chess in less than a second.
Remember "Bring 'em on"? *sigh
And how long before Arnold is sent back in time to kill Hemos' mother before Hemos can post this on slashdot?
And will Hemos' mother escape, and will john dogget be sent back to kill Hemos?
We all know Hemos' mom is tough.
Computers are already better at chess than Gary Kasprov, and as we go along in time they will solve problems in medicine, and chemistry that humans could never solve.
Linux has a bright future because the future computing systems will be so robust and functional that it would not be practical or economical for companies to create their own OSs.
Everyone will settle on Linux eventually because it is free and everyone can improve it. Remember a lowely patent clerk reinvented modern physics and if the Physics world operated on the same model as Microsoft we would still be operating on Newton's principles.
After a variety of handheld technological reminders, I just decided to keep a steady girlfriend.
She remembers everything, good and bad.
Torsten
How many moves can a grand master think ahead? 5? 10? 20?
How many moves can a computer think ahead?
People fall into this....trap of thinking that if you can think, or rather, project, farther ahead than a grand master, you can beat them.
This is an incorrect assumption.
The problem lies in *how* positions are analyzed. Every beginer's chess book tells you that a pawn is worth one point, and a queen is worth nine and a rook is work five. But these values change depending on the unique circumstances of any given game, and until a computer is adept enough to discern those little changes, a computer that thinks a three hundred moves ahead is little better off than one that thinks ten.
So, in summation, I guess what I'm trying to say is, throwing more horsepower at the problem doesn't nescessarily help the situation.
Is this an open source project? What is the license for the code? If this is not GPL then I'm not interested.
I'm not sure if a distributed computing solution is going to work against a machine along the lines of Deep Blue and is descendants.
You must remember Deep Blue is computer running several thousand processors in massively-parallel fashion to compute chess moves--and all of it closely-coupled to reduce computing times. You try computing chess moves over a distributed network and by the time you get the solution over the distributed network (even if it's the faster Internet2) a Deep Blue class machine would have computed the equivalent of 2-4 moves already.
Raymond in Mountain View, CA
beowulf eh?
Nice - key aspects:
probabable movements and skill interpretation
stratigizing and counterstrat
intigrate perspectives of traps
logistical performance
blah, blah, blah
If programed well, i'll bet 1/938 of chess masters will not be able to trick the comp
And I mean programed WELL
Here's the link:
http://members.ud.com/projects/cancer/
The research is being conducted by the Department of Chemistry at the University of Oxford in England and the National Foundation for Cancer Research, with the help of United Devices and others.
Donate background CPU time to fight cancer.
I know of another one. IBM's got it.
They don't do much else on their machine either.
You can't just brute force this kind of exponential game.
People too often discount brute force. Computer speed has been increasing exponentially. Internet connectivity has also been increasing exponentialy. Expontenial force can attack an exponential problem.
Yes, I realize how huge the tree becomes. I'm just saying that throwing N times as many computers at the problem is like slashing the tree by f(N). You trade-off *some* of your efficencies for raw power. It is an interesting alternative to explore.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
someone's been reading The New Turing Omnibus :)
the minimax/game tree works by assuming the player is ALWAYS using his BEST possible MOVE, else it's quite inefficient.
i think parallel chess is just a waste of cpu cycles, how many people will be willing to wait for the computer, as it will shitloads of time before all the results are returned, IF all results get returned, else they have to resend,...
i say, lets just keep crunching molecules.
or let it optimize our every day stuff, like computing better cpu-designs,bridges,weather forcasts,nuclear tests,simulation of the butterfly effect,...
Personally I prefer medical/science projects like the Distributed Folding Project.
They have a really nice and stable client and it is available for a lot of platforms. They are working on adding support for even more platforms - among them, support for the PS/2 Linux kit :)
In regards to performance, the Linux ICC client is a bit faster than the Windows client. This is also one of the few projects where the Intel P4 is actually doing pretty well (In the GIMPS project, the P4 is much faster than any Athlons). For most project, the Athlon is the best choice, in this project, the Athlon doesn't have any big advantage.
Would be interesting to see Gary Kasparov play against an off-the-shelf SMP server...
I am almost sure that you do not need a supercomputer to beat human chess players today - something like a p690 or a Fire 15k should have enough cpu power to win most chess games.
I simply want to remind you, that mathematics knows other methods than brute force too, which is just to say "I don't know if it can be solved, but you didn't prove anything either"
Nevertheless thank you for your post, it shows how great/sick chess is.
This sig is a true statement, but I cannot prove it.
... that they are trying to program playing patterns as well as actual openings and direct responses. It seems to me that the best way of storing such information is still the good old pointer tree, much the same way as Huffman encoding trees are built.
Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
How many checkmate positions are there, and are they all reachable with legal moves?
Reality is the ultimate Rorschach.
We already have human beating chess programs, why do we need another one? They can't make a Go playing program that can beat even a beginner, why not try that?
I would not conclude that SETI was a meaningless project.
I will readily admit that to this date we have not heard one peep from other intelligent worlds. However, it is much more likely that we will be in communication with other worlds a very long time before any does any visiting in person.
Maybe some do not care whether we are living on the only planet with intelligent life. And, maybe it will not matter to most people if we discovered we could communicate with others. But, there is absolutely no doubt that such a finding would be the most significant in the history of the human race.
Well SETI be the way to make that discovery? No one knows. But, it makes a lot more sense than sending up astronauts in space ships never to hear from them again. And, then looking for additional volunteers for the next flight. That ain't gona work well.
NexuSys - Linux support by the best
I have a application for potential distribution on a grid of PCs.
It is a game of course. So, if you are not into games, read the next post and save your time.
I have taken a look at the Grid Engine put out by SUN and distributed by SuSe. And, I help out SETI. The use of distributed computers to accomplish a very large computational task is intriging to say the least.
The problem is a difficult one however.
The game relies upon a very large data base of information which is not easy to distribute in the normal sense. The reason is that the game is designed to support many players simultaneously and each of those players may make moves that could affect any collection of that data.
I have done a lot of data base work over the years and I have not come up with a way in which the data base itself could easily be distributed. And, since it is just a game, the idea is to use the client PCs playing the game to provide all the horsepower. That makes it difficult because most of the clustered data base solutions otherwise applied to such a problem would rely upon a series of data base servers. And, in this game, that approach would never work. For one the game runs in real time and 24/7 even if a particular player does not. So, in addition to the normal problem of distributing a data base among many machines, the game must also function when any combination of those machines "go away" for awhile at their own discretion.
Complicating it even further is the fact that the versions of the game to date have placed the entire data base in memory in order to maximize performance. And, that means that transactions that take place are not making SQL calls but rather sharing quick access and quick switching of access to the common data base while the game is underway. And, yes, that kind of action is necessary for the game to be realistic.
If you happen to be interested in a real time, space war game that would rely upon a computer grid of some kind please let me know.
By the way, it will be linux based. Maybe I should say "linux only".
NexuSys - Linux support by the best
Tablebases are the closest thing to a solution. These are pre-solved endgame positions. The "three man" tablebases cover games like king v king/rook. All the tablebases up to five man are about 7GB, and to add the six man is over (not sure by how much) 60GB.
...with everything you said, and just want to add a few points:
The brain has 10 billion parallel processors: neurons. Obviously, the human brain is designed for massively parallel computation, otherwise there would be a central CPU.
Perhaps the barrier between novice players of chess (such as myself) and masters is their ability to utilize their brains fully as a parallel chess computer.
Anyone who thinks that chess grandmasters are just using their experience and knowledge (as opposed to dynamic thoughts), consider this: Typical GMs can look up to 7 moves ahead. Even with very good branch culling, that is a considerable number of new chess situations to consider and rate.
Oh, nothing could be further from the truth! Sure, "leapfrog" chess is a handicap, where two guys alternate moving the white pieces, without any conversations among them. But if they are allowed to share, discuss and think together, the result is greater than either could have done individually, most of the time. It's called Consultation Chess, and it's rare, but not dead.
Andy Soltis (IM or GM, I forget), the writer of the "Chess to Enjoy" column of Chess Life magazine, wrote several columns about it long ago (compiled in "Karl Marx plays Chess", a wonderful book about the coolness of chess, not about how to play better). Including a game where the top ten soviet GMs of the 70s (IIRC) broke off in two teams and played a game, while locked in separate rooms (a gopher carrying the moves back and forth). It's one of the greatest games I've seen.
It's rare, but lots of fun, and produces masterpieces. I have no links, but google should be your friend. I think the book I mentioned is out of print, but PowellsBooks should have it.
I'll go back to lurking now...
... considering that you used the word 'beated', I can't say that I'm surprised.
I hadn't thought of that, thnx for the info
"We live in our minds, and existance is the attempt to bring that life into physical reality" Ayn Rand
...it's at www.qoopy.net.
What about a distributed project for playing Go? Go is much more complex than chess, because there is even more parallelism, see this page.
Don't drink and su! antidisestablishmentariazationally
No, you can calculate the nodes as you go along.
Ken
I'm working on a project to reproduce the complete works of William Shakespeare using a distributed network of monkeys typing. So, if chess isn't your bag, adopt a monkey.
In fact the scientific beauty of chess algorithms is to find the cleanest solution without trying all the others. What is happening here is not very inteligent, not even new. You had Seti@Home showing you could do massive distributed computing, so nothing new here.
The chalenge should be in creating good algorithms to find solutions, like people do. When a human plays a game of chess, he doesn't think of *ALL* possible moves, not by far. He automaticaly focuses on some major moves that seem likely to lead to a victory. This is what makes us different from (most) machines.
The chalenge is here, not in building bigger and bigger machines...
Lay
Weakly typed languages will bring us armageddon
here.