Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Anybody else using this hair-brained concept...

Author: Peter Kappler

Date: 09:15:49 07/20/00

Go up one level in this thread


On July 20, 2000 at 05:47:34, Ralf Elvsén wrote:

>On July 19, 2000 at 22:18:53, Peter Kappler wrote:
>
>>On July 19, 2000 at 20:14:20, Ralf Elvsén wrote:
>>
>>>On July 19, 2000 at 18:13:30, Peter Kappler wrote:
>>>
>>>>On July 19, 2000 at 17:56:44, Larry Griffiths wrote:
>>>>
>>>>>Hi,
>>>>>
>>>>>I have been re-programming my chess engine lately and have been implementing a
>>>>>concept that I saw posted here about a year ago.
>>>>>
>>>>>The concept is to look out from the FROM and TO squares when a piece is moved to
>>>>>determine what pieces need to have their moves re-generated.
>>>>>
>>>>>I am having second thoughts about this since it is about equal to
>>>>>generating moves for 2 Queens, 2 Kings, 2 Knights and 2 Pawns looking out
>>>>>from the FROM and TO squares.
>>>>>
>>>>>Is anybody using something like this, or even tried this?
>>>>>
>>>>>Larry
>>>>
>>>>
>>>>A couple of months ago, I seriously considered scrapping my move generator and
>>>>using an incremental scheme, like the one you described.  I spent a couple of
>>>>nights thinking about the design, and then decided it was too much work. :)
>>>>
>>>>The big advantage I see is that you automatically get up-to-date attack
>>>>information, which is extremely valuable in an eval function.
>>>>
>>>>I asked Bob about this a long time ago, and he said he started down this path
>>>>with Crafty before switching to bitboards.  I also think KnightCap does
>>>>incremental move generation, and the source code is available.
>>>>
>>>>--Peter
>>>
>>>For fun I wrote a (almost) full OO-chess program in Java with this
>>>move generation. It worked but was sloooooooooow, but that was only
>>>one of many reasons :)
>>>
>>>Ralf
>>
>>
>>Mine is in Java, too!   :)
>>
>>--Peter
>
>Yes, I know. And you seem to have a pretty strong program
>with competitive speed (whatever that means). I wrote a more
>serious Javaprogram but I never got any speed (or depth rather)
>out of it. It's not Java's fault, you have proved that. But I
>never could figure out where the problem was, in spite of tweaking
>and profiling. Since I was in a position where I could use some
>C-knowledge in other situations, I started porting the program to
>C, to learn the language better (unfinished project).
>
>Lately I have begun to suspect that the try/catch statements
>in my Javacode was partly responsible for the preformance.
>Do you know if this is true? Can you guesstimate other pitfalls
>for an unexperienced Java-chess programmer?
>

I'm not sure about the try/catch overhead.  The only thing I absolutely avoid is
creating any new objects while the search is executing.

Also, what VM/JIT are you using?  IBMs is the fastest.


>I like Javaprogramming though. If they ever add genericity
>and maybe covariance and some other "minor" improvements,
>it will be a joy :)
>
>Ralf

Generic types are being considered for the next version.

Good luck with your program!


--Peter



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.