terry mcintyre wrote:
From: Don Dailey <[EMAIL PROTECTED]>

On Tue, 2008-11-04 at 10:13 -0800, terry mcintyre wrote:
Some language may make it easy to encapsulate information gleaned
during local searches into a kind of "short term memory" and exploit
that to speed up evaluation of many branches of the search tree. Who
knows? We have a long way to go before playing at the pro level on a
19x19 board.
I'm a firm believer that computer "I.Q." is directly correlated with
processing power.   In this case, the ability to win at GO for a
computer is going to be a function of the CPU performance and memory
capacity.
Some languages will facilitate the exploration of ideas exactly as you
say.   But at some level it will come down to an efficient
implementation.    One can always take a good idea, and then
re-implement it in a boring but very fast execution language such as C
or assembly.   It would be a shame to have to do this however if you
already have a language that can really express the idea superbly.

At some level, this is true; it comes down to crafting an efficient implementation; but some languages make it easier to express some ideas than others. For instance, some languages make it very natural to perform operations on every element of an aggregate - a list, set, array, or whatever - without having to express the details of the loop. Haskell, among other languages, makes it easy to embed Domain Specific Languages in one's program; one can imagine a program which expresses Go-specific terms in a very natural way. C/C++ with MPI is not the last word on multiprocessing support; other languages probably do it better. Functional languages permit much lighter-weight concurrency and multiprocessing, avoiding the need for locks and semaphores.
That is excellent in theory but I would advise against anyone trying to *learn* a functional language for experimenting with go programming. I have tried doing exactly that with Clean, a very fast Haskell like language according to debian language shootout . Although very complicated parts of the search became easy to express, very simple things like using a doubly linked list for string membership or getting random numbers for the MC simulations became a nightmare. I'm sure someone experienced in the language could do a much better job than me, but it is not at all easy for a newcomer.


_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to