From: uzun@crash.cts.com (Roger Uzun)
Subject: Re: UChess.lha Avail via ftp
Organization: CTS Network Services (crash, ctsnet), El Cajon, CA
Date: 23 Dec 92 09:10:48 GMT

In <57932@dime.cs.umass.edu> barrett@astro.cs.umass.edu (Daniel Barrett) writes:

>In article <harry.03qb@elfuerte.fipnet.fi> harry@elfuerte.fipnet.fi (Harri P Pesonen) writes:
>>Another way of saving memory is only store the best moves in each level.
>>If every level has 25 moves then one level takes only 100 bytes of memory.
>>So thinking 5 moves ahead takes only 2*5*100 bytes or 1000 bytes.

>	But there is no simple way to decide which are the 25 "best" moves.
>Suppose you search 1 level deep and pick the 25 moves that look best.  Maybe
>when you search 2 levels deep, some of these 25 opening moves now look bad.
>Maybe at 3 levels deep, some look good again!

That is the BIG problem, in v1.01 I was trying to prune the movelist
tree on a per move basis, marking certain moves as 'invalid', these
were moves that were legal, but not rational.  Suffice it to say
there is no algorithmic way to do this.  UChess 2.04 with 10M
is nowhere NEAR as strong as I want it to be, but each board
representation takes far more than 1 longword, and the problem
is quickly computational, rather than memory bound.
Things get better if you let the computer think on your time,
and it can predict the best moves reasonably, but in working
with a chess pgm for the past couple of months, I can say this
is one problem that needs a LOT of memory, and a LOT of computer
power, and a LOT of thought.  Basically my A4000 with 12M is way
underpowered for what I would like, and adding more RAM does
not really help much, without getting a faster processor.

UChess 2.04 does search capture and some threat moves to much
deeper plys than the basic search, and it tries to evaluate
the board reasonably, but to come up with an algorithmic way
to assign positional points to each piece given an arbitrary
board config is a BIG problem.

Anyone who says you don't need an A4000 and 10M or more of
FAST RAM to run a 1/2 decent chess pgm is kidding him/herself.
Without devoting ManYears to the project, the above config
is sort of a starting point, I am not the worlds greatest
pgmr, and I do this chess thing in my spare time, but all in
all one would like something about 10X faster with about
10X more memory than the above config, in order to easily
write a chess pgm capable of challenging a Master.

Programs like MChess Pro and The Chessmachine have man years
of effort into them, and even they require quite a bit of
mem and RISC or 486 processors to play near Master levels.
Working in your spare time, in C, it is somewhat doubtful that
you can match these pgms performance on a processor which
is somewhat slower than the ones used by these pgms in tournament
conditions.  (RISC & 486/66's).  All in all I hoped for much
more from UChess than I was able to get, but it did teach
me a lot about chess pgms and how they work, it has excellent
256 color HIRES graphics, and can beat any other Amiga based
program I can find, including Sargon III, Checkmate, and
ChessMaster 2100.  It can also beat ChessMaster 3000 on
a 486/25 with some regularity..so it is not totally lame,
but it is hardly a match for the strongest PC chess pgms
out there.

-Roger
--------------------------------------------------------------
bix: ruzun
NET: uzun@crash.cts.com