[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Score estimating
Don -
This is somewhat off topic, but are you familar with the Python/C interface libraries? It's trivial to write a C++ class that looks and behaves like a native Python class to the Python interpreter. This means that an interesting programming methodology is to write an entire progam in Python, profile it to see which parts are slow, and then re-write just the most performance critical in C/C++. In many cases, you can re-write a critical 5-10% of your code, and reap huge gains in performance, largely offsetting the penalty for using Python while still using the expressive language for the majority of the code, especially during the most fluid and often changing early stages of development. It isn't clear that Go programs can break down in this manner, necessarily, but in general I find this a very productive way to work.
Sorry for the digression,
Paul Jacobs
----- Original Message -----
From: Don Dailey <drd@xxxxxxxxxxxxxxxxx>
Date: Sunday, August 8, 2004 8:41 am
Subject: Re: [computer-go] Score estimating
>
> Chrilly,
>
> I'm no expert on this but I think speed is always critical in any
> game. Speed and memory are to computers what intelligence is to man.
> It's just that none of us has figured out how to write a scalable
> program (which is also a good program.) From what I've been
> able to
> determine, the best programs either just have 1 level
> setting, or
> contrived settings not really based on being able to utilize computing
> power. Most of them play almost instant moves even though the
> game is
> much harder than chess. It's as if nobody knows what
> computations to
> do that will use the cycles and still play significantly better.
>
> Therefore the emphasis is on the expressiveness of the language
> because it's more important to explore and experiment at this point.
>
> I think what you are seeing with Java is not that it is suited
> to go
> programming, it's just very popular. It's not particularly expressive
> OR fast, but it's a good compromise in both directions. It IS faster
> than most of the goodd expressive languages though it's no match for
> C.
>
> I have been looking at a relatively new computer language that comes
> very close to C in performance, but is actually a very high level
> expressive language. The issue for me, is that I tend to experiment
> with ideas to the extent that it takes too long to be constantly
> reworking the code. The best language for doing this seems
> to be
> Python or Ruby (I believe Ruby is cleaner and slightly more
> expressive.) Unfortunately, these languages really kill performance.
> But the language "Ocaml" seems to be the best compromise in all
> regards, it's extrememly fast and extremely expressive. It's actually
> easy to learn even for us old-timers who are used to the procedure
> oriented languages we learned on.
>
>
> - Don
>
>
>
>
>
> X-Original-To: computer-go@xxxxxxxxxxxxxxxxx
> From: "chrilly" <chrilly@xxxxxxxxxxxxxxxxx>
> Date: Sun, 8 Aug 2004 10:55:16 +0200
> Content-Type: text/plain;
> charset="iso-8859-1"
> X-Priority: 3
> X-MSMail-Priority: Normal
> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
> X-AntiSpam: Checked for restricted content by Gordano's
> AntiSpam Software
> X-BeenThere: computer-go@xxxxxxxxxxxxxxxxx
> X-Mailman-Version: 2.1.4
> Precedence: list
> Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
> List-Id: computer-go <computer-go.computer-go.org>
> List-Unsubscribe:
> <http://hosting.midvalleyhosting.com/mailman/listinfo/computer-go>,
> <computer-go-request@xxxxxxxxxxxxxxxxx?subject=unsubscribe>
> List-Archive: <http://computer-go.org/pipermail/computer-go>
> List-Post: <computer-go@xxxxxxxxxxxxxxxxx>
> List-Help: <computer-go-request@xxxxxxxxxxxxxxxxx?subject=help>
> List-Subscribe:
> <http://hosting.midvalleyhosting.com/mailman/listinfo/computer-go>,
> <computer-go-request@xxxxxxxxxxxxxxxxx?subject=subscribe>
> Sender: computer-go-bounces@xxxxxxxxxxxxxxxxx
>
> >
> >By the way: I am working in java, if anyone wants to know.
> >
> I realized that several Go projects are written in Java. I am
> an hacker from
> the computer-stone-age and have written the time critical parts
> of my
> chessprograms in Assembler. Is Java not considerable slower
> than C/C++? Or
> is this not true anymore? Or does speed not matter in a Go-
> Programm. Is ease
> of programming more important? (Although I see in this respect
> no big
> difference between C(++) and Java).
>
> My question has nothing to do with score-estimation, but I
> wanted to ask
> this already on other contributions who mentioned Java.
> Actually the real
> background of this question is that I have difficulties to
> understand the
> Go-programming paradigm. Speed is everything in chess and it is
> therefore difficult to imagine, that it should not be in Go.
>
> There were some plans to write together with Peter Woitke
> (GoAhead) a new
> Go-program. One of Peters basic requirements was: If time
> and/or processing
> power increases, the strength of the programm increases.
> Especially if time
> goes to infinity, the playing strength does the same.
> I had problems to understand this requirement at all because in
> computer-chess it is obvious. But Go programs seem to have a
> problem to use
> "infinite" time or processing power. One consequence of this
> paradigm is:
> Although there are much more moves than in chess, the time
> setting for a
> computer-Go game is much shorter. If there appear programs who
> could use
> time wisely one would have to discuss this settings.
>
> Best Regards
> Chrilly Donninger
>
>
>
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/