Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¡My first Chess program ! Escacs V1.0

109 views
Skip to first unread message

Guillem Barnolas

unread,
Sep 19, 1997, 3:00:00 AM9/19/97
to


?i!, Yes, as the subject says, I've done my first chess program.
Quite bad, for the moment, and to try if the move-list generation
routine and the Make and Unmake routines worked. The search routine
simply generates all the possible legal moves and randomly tries one.
Sometimes does something useful though. Now, it's time to work
hard......Those 600 Pascal lines have to get into something strong
enough.


Jari Huikari

unread,
Sep 21, 1997, 3:00:00 AM9/21/97
to

Good luck! I have started to plan my second program. I hope that
it beats my first one. My program is also Pascal. I chose Pascal because
it's so foolproof language. (Maybe I can later convert program to C.)

What do you other guys think about it?
Is a Pascal chess program too slow?

Jari
--

http://www.math.jyu.fi/~huikari/

The best homepage _I_ have ever made.

Robert Hyatt

unread,
Sep 22, 1997, 3:00:00 AM9/22/97
to

Samuel Slutzky (ta...@expert.cc.purdue.edu) wrote:
: Well, I wrote my first chess program, SSEChess, in Turbo Pascal 7.0 and
: it worked pretty well. It wasn't very fast, but then again, my new one
: isn't too much faster. It must be the programmer. ;) I don't work on
: it anymore, but if you want to look at it for comparison you can get it
: from the bottom of http://www.cs.purdue.edu/homes/slutzksn/chess.html and
: see how much better yours is. ;)

: Sam Slutzky

Main thing now is how good is the Pascal compiler. In the "old days"
the code was nearly interpreted, compiled into "P-code"... with a
huge execution time penalty. Direct compillation solved that pretty
well, so there's no real reason it should be better or worse than any
other decent programming language...

I've taught and used Pascal, but now much prefer C due to the restrictions
in Pascal, and the many non-standard/non-portable extensions the compiler
guys have written to overcome some of them...


Samuel Slutzky

unread,
Sep 22, 1997, 3:00:00 AM9/22/97
to

Well, I wrote my first chess program, SSEChess, in Turbo Pascal 7.0 and
it worked pretty well. It wasn't very fast, but then again, my new one
isn't too much faster. It must be the programmer. ;) I don't work on
it anymore, but if you want to look at it for comparison you can get it
from the bottom of http://www.cs.purdue.edu/homes/slutzksn/chess.html and
see how much better yours is. ;)

Sam Slutzky

Jari Huikari (hui...@math.jyu.fi) wrote:
: Guillem Barnolas wrote:
:
: > Ä„Hi!, Yes, as the subject says, I've done my first chess program.

Ren Wu

unread,
Sep 22, 1997, 3:00:00 AM9/22/97
to

On 22 Sep 1997 04:32:44 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt)
wrote:

>
>Main thing now is how good is the Pascal compiler. In the "old days"
>the code was nearly interpreted, compiled into "P-code"... with a
>huge execution time penalty. Direct compillation solved that pretty
>well, so there's no real reason it should be better or worse than any
>other decent programming language...
>
>I've taught and used Pascal, but now much prefer C due to the restrictions
>in Pascal, and the many non-standard/non-portable extensions the compiler
>guys have written to overcome some of them...

I wrote my first chess program using UCSD Pascal, and it runs on a
good old Appple II, which is about 12 years ago! Can't remember the
nps, but it can actually beat MicroChess everytime. I saw in other
thread someone is searching source code of microchess, I wonder if I
can find mine. :)

Pascal is good for you to get started. It will free you from most the
details and know various aspects of chess programming. However, if you
want to be a real chess programmer, or if you want your porgram runs
as faster as possible, you have to be a very good C programmer first.

Ren.


Ren.

- remove one loop if you reply by email

SMO CFI

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

Ren,

I also used to write a lot of code in UCSD pascal, on the apple and other
machines. I view it as a respectable language, but coming from a machine
code background, C is more natural and interesting.

Will


James Long

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

>
> Good luck! I have started to plan my second program. I hope that
> it beats my first one. My program is also Pascal. I chose Pascal because
> it's so foolproof language. (Maybe I can later convert program to C.)
>
> What do you other guys think about it?
> Is a Pascal chess program too slow?
>

In my opinion, it would depend on *why* you are writing the chess
program. I began one in C just to learn C. Later a friend
on ICC (Pyro) directed me to this newsgroup and the program
became more of a hobby. I already knew Pascal, which is why
I didn't use it. If you're trying to create a competitive
program I'd use something faster. If you're just out to learn
something new, Pascal will work, too. I'm considering doing
a rewrite in C++, even though some people claim it is much
slower, just "because". :-)

James

Guillem Barnolas

unread,
Sep 27, 1997, 3:00:00 AM9/27/97
to

James Long <wzrd...@fia.net> wrote:

>In my opinion, it would depend on *why* you are writing the chess
>program. I began one in C just to learn C. Later a friend
>on ICC (Pyro) directed me to this newsgroup and the program
>became more of a hobby. I already knew Pascal, which is why
>I didn't use it. If you're trying to create a competitive
>program I'd use something faster. If you're just out to learn
>something new, Pascal will work, too. I'm considering doing
>a rewrite in C++, even though some people claim it is much
>slower, just "because". :-)

>James

Well, of course, but I'm mainly writting it to learn and to see if I'm
able to make it work. If I knew how to code in C, the program would be
as competitive as it is in Pascal, that is, null, because some people
have been making computer chess programs for a lot of years.


brucemo

unread,
Sep 27, 1997, 3:00:00 AM9/27/97
to

Guillem Barnolas wrote:

> Well, of course, but I'm mainly writting it to learn and to see if I'm
> able to make it work. If I knew how to code in C, the program would be
> as competitive as it is in Pascal, that is, null, because some people
> have been making computer chess programs for a lot of years.

I assume you are the guy who wrote the original post, which I didn't respond to.

So I will respond now.

Write in whatever language you want, it doesn't matter. More speed is more
strength, eventually, but when you start out, you'll be slow and weak no matter
what.

Once you get something that you can't beat, and which amuses the people around
you, you can rewrite it whatever language you want, if that is what you want to
do.

bruce

Jari Huikari

unread,
Sep 29, 1997, 3:00:00 AM9/29/97
to

Guillem Barnolas wrote:

> James Long <wzrd...@fia.net> wrote:
> > ... If you're trying to create a competitive


> >program I'd use something faster. If you're just out to learn
> >something new, Pascal will work, too.

> Well, of course, but I'm mainly writting it to learn and to see if I'm
> able to make it work. If I knew how to code in C, the program would be
> as competitive as it is in Pascal, that is, null, because some people
> have been making computer chess programs for a lot of years.

In my first program my goal was just to make it play some kind of chess.
I did it without reading any computer chess books or articles. (Except
an old russian book of mathematics, which explained briefly the idea of
min-max-search.)

This time my goal is to make as strong Pascal chess program as i can.
I can at least test if some of my new ideas will work. I'm still not
going to read very much about how the others have made their programs.
Because if I use their solutions, there will be nothing new in my
program. Why should I make a program that someone has already made?

Maybe chess programs don't need so much more speed in their
calculations today? They rather need more wisdom?

Robert Hyatt

unread,
Sep 29, 1997, 3:00:00 AM9/29/97
to

Jari Huikari (hui...@math.jyu.fi) wrote:
: Guillem Barnolas wrote:

: > James Long <wzrd...@fia.net> wrote:
: > > ... If you're trying to create a competitive
: > >program I'd use something faster. If you're just out to learn
: > >something new, Pascal will work, too.
: > Well, of course, but I'm mainly writting it to learn and to see if I'm
: > able to make it work. If I knew how to code in C, the program would be
: > as competitive as it is in Pascal, that is, null, because some people
: > have been making computer chess programs for a lot of years.

: In my first program my goal was just to make it play some kind of chess.
: I did it without reading any computer chess books or articles. (Except
: an old russian book of mathematics, which explained briefly the idea of
: min-max-search.)

: This time my goal is to make as strong Pascal chess program as i can.
: I can at least test if some of my new ideas will work. I'm still not
: going to read very much about how the others have made their programs.
: Because if I use their solutions, there will be nothing new in my
: program. Why should I make a program that someone has already made?

There is an obvious answer, but let's change the "category". You want to
build a personal transportation vehicle. Would you imagine that after
30 years, you have discovered wheels, the internal combustion engine, the
automatic transmission, roller and needle bearings, anti-lock breaks,
electronic engine control computers, overhead camshafts, variable-ratio
valve timing, tuned intake manifolds, tuned exhaust headers, fuel
injection (electronic), etc.???

Get the idea now? You are very likely to waste years re-discovering those
ideas that are already well-known. It doesn't *have* to dampen your
creativity at all. But if you start on a chess program without any idea of
things like transposition tables, move generation ideas, move ordering ideas,
and evaluation ideas, you are going to probably get discouraged, and quit, long
before it becomes competitive. Anyone is bright enough to discover these
ideas on their own. But do you really want to do so? Or would it make more
sense to start with something that is already state-of-the-art, and then apply
your creativity to making it better, rather than burning out trying to simply
make it "competitive"??

That's what the entire field of software engineering is all about: to stop
us from continually re-inventing the wheel, over and over. Rather, we should
try to find new and more useful things to stick that wheel on, instead of spending
years to discover why radial tires are so good...

your choice, of course. but you don't have to let prior footsteps lead you
any further than the present. But they will get you to the (probably) same
present you would eventually find on your own. But it would save a *lot*
of time getting you there...

: Maybe chess programs don't need so much more speed in their

: calculations today? They rather need more wisdom?

They need both. Speed to find tactics, knowledge to help when the
tactics are not there. You can never have enough of either. It is
generally a choice between the two however, as more of one means less
of the other...

brucemo

unread,
Sep 29, 1997, 3:00:00 AM9/29/97
to

Robert Hyatt wrote:

> Jari Huikari (hui...@math.jyu.fi) wrote:

> : This time my goal is to make as strong Pascal chess program as i can.
> : I can at least test if some of my new ideas will work. I'm still not
> : going to read very much about how the others have made their programs.
> : Because if I use their solutions, there will be nothing new in my
> : program. Why should I make a program that someone has already made?

> There is an obvious answer, but let's change the "category". You want to
> build a personal transportation vehicle. Would you imagine that after
> 30 years, you have discovered wheels, the internal combustion engine, the
> automatic transmission, roller and needle bearings, anti-lock breaks,
> electronic engine control computers, overhead camshafts, variable-ratio
> valve timing, tuned intake manifolds, tuned exhaust headers, fuel
> injection (electronic), etc.???

If someone wants to reinvent the wheel, no problem. Perhaps they will make
an improvement. Perhaps the wheel isn't the best way to do it, but we use
it because it solves the problem well enough that we don't consider it
worth fiddling with anymore. Someone who doesn't want to be burdened with
pre-existing solutions may get annoyed enough by the absence in their life
of a wheel-equivalent that they build something that is actually better.

I read in a music magazine some years ago about this fellow who had never
heard anyone else play the guitar before he acquired one himself. He had
to figure out how to make thing work, in a vacuum. He developed a unique
style, and people will pay to hear him play, apparently.

So if someone wants to ignore the literature, great.

bruce

Zachary Brown

unread,
Sep 30, 1997, 3:00:00 AM9/30/97
to

In article <343020...@seanet.com>, brucemo <bru...@seanet.com> wrote:
>Robert Hyatt wrote:
>
>> Jari Huikari (hui...@math.jyu.fi) wrote:
>
>> : This time my goal is to make as strong Pascal chess program as i can.
>> : I can at least test if some of my new ideas will work. I'm still not
>> : going to read very much about how the others have made their programs.
>> : Because if I use their solutions, there will be nothing new in my
>> : program. Why should I make a program that someone has already made?
>
>> There is an obvious answer, but let's change the "category". You want to
>> build a personal transportation vehicle. Would you imagine that after
>> 30 years, you have discovered wheels, the internal combustion engine, the
...

>If someone wants to reinvent the wheel, no problem. Perhaps they will make
>an improvement.

Especially if current wheels are square-shaped. In my opinion, there is a
*LOT* of room for improvement in current programming methods. Not only is
it "okay" not to read the literature, I think we really need more programs
that blaze their own trails, particularly if they will avoid the whole
brute force searching paradigm as their primary move-finding tool.

Go, man, go! I can't wait to see what you come up with!

Zack

>bruce

brucemo

unread,
Sep 30, 1997, 3:00:00 AM9/30/97
to

Zachary Brown wrote:

> Especially if current wheels are square-shaped. In my opinion, there is a
> *LOT* of room for improvement in current programming methods. Not only is
> it "okay" not to read the literature, I think we really need more programs
> that blaze their own trails, particularly if they will avoid the whole
> brute force searching paradigm as their primary move-finding tool.
>
> Go, man, go! I can't wait to see what you come up with!

He will probably come up with something that isn't very strong, but those
are fun, too. I have fond memories of "sillycon", from ICC a couple of
years ago, which didn't actually have a search, because the author hadn't
ever heard about min-max :-)

bruce

Martin Borriss

unread,
Oct 1, 1997, 3:00:00 AM10/1/97
to

In article <34312F...@seanet.com>,

brucemo <bru...@seanet.com> writes:
>He will probably come up with something that isn't very strong, but those
>are fun, too. I have fond memories of "sillycon", from ICC a couple of
>years ago, which didn't actually have a search, because the author hadn't
>ever heard about min-max :-)

One of my favorite games (and one of the first games Gullydeckel ever played):

[Event "ICC 3 12 03/08/95"]
[Site "Internet Chess Club"]
[Date "1995.03.08"]
[White "Sillycon"]
[Black "Gullydeckel"]
[WhiteElo "1053"]
[BlackElo "1354"]
[Result "1/2-1/2"]
[ECO "A00"]
[NIC "VO.13"]
[LongECO "Mieses opening"]

1.d3 b6 2.Bd2 a6 3.Nf3 a5 4.Nc3 a4 5.b3 a3
6.Ne4 d6 7.Rb1 b5 8.Nd4 d5 9.Rg1 dxe4 10.Nxb5 c6
11.Nc3 exd3 12.exd3 Qd6 13.g3 Qe6+ 14.Be3 Qf6 15.d4 e5
16.dxe5 Qxe5 17.Na4 Qf5 18.f3 Qh5 19.h4 Qf5 20.g4 Qe5
21.Qc1 Qe7 22.h5 Qd8 23.Bb6 Qd6 24.Bc5 Qe6+ 25.Be2 Ba6
26.c4 Nd7 27.Qxa3 Qe3 28.Bxe3 Bxa3 29.b4 Bb7 30.Nc3 Ne5
31.c5 Ba6 32.b5 Bxb5 33.Bxb5 Nxf3+ 34.Kd1 cxb5 35.Rg2 Nh4
36.Rh2 Nf3 37.Rf2 Ne5 38.g5 Ng4 39.Rf3 Ne5 40.Rf5 Nc6
41.Rxb5 Nce7 42.Rf4 Nc6 43.h6 gxh6 44.gxh6 Na7 45.Rb6 Nc8
46.Re4+ Nce7 47.Bd4 Rd8 48.Na4 f5 49.Rxe7+ Kxe7 50.Rb7+ Kf8
51.c6 Rxd4+ 52.Ke1 Re4+ 53.Kf1 Rf4+ 54.Kg1 Rg4+ 55.Kh1 Rh4+
56.Kg1 Rxa4 57.c7 Bc5+ 58.Kh1 Rh4+ 59.Kg2 Rg4+ 60.Kh1 Rh4+
61.Kg2 Rg4+ 62.Kh1 Rh4+ 63.Kg2
{Game drawn by repetition} 1/2-1/2


--
Martin....@inf.tu-dresden.de
.

Jari Huikari

unread,
Oct 1, 1997, 3:00:00 AM10/1/97
to

Zachary Brown wrote:

> Especially if current wheels are square-shaped. In my opinion, there is a
> *LOT* of room for improvement ......

> Go, man, go! I can't wait to see what you come up with!

Thanks for an encouraging opinion. Most probably I'll come up with
square-shaped wheels and a steam engine, and you have to wait several
months/years for that ...

But it doesn't matter.

This is just a hobby for me. I'm satisfied if my new program beats
my (third class chess player) friend Sami. (My current program with
a pentium wins most timed games against him.)

Stuart Cracraft

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

There was a fairly long Pascal program by Atkin and Frey published in
BYTE magazine in the late 70's. I have a copy of it but I don't have
an online rendition of the chess program published in the article.

The program, called Chess 0.5, is a mini-port of the Chess 4.x series
into Pascal. Full bitboarding is supported included incremental
updating and downdating of the various attack arrays after moves
and unmoves.

Seems to me this program would be a good program for you to study.
It is not strong, but the pedantic value (for other languages like C,
assembler, etc. that you may be considering) would be considerable.

Does anyone have Chess 0.5 on-line and willing to share it?

--Stuart

On Wed, 01 Oct 1997 16:25:24 +0300, Jari Huikari <hui...@math.jyu.fi>
wrote:

Jari Huikari

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

(This is followup to bruce's message which doesn't exist yet in my
newsserver.)


> In article <34312F...@seanet.com>,
> brucemo <bru...@seanet.com> writes:

> >He will probably come up with something that isn't very strong, but those
> >are fun, too.

And they may be good for some players who are not so talented but
like to play chess. I think that many such players stop playing
because chess programs are all too strong to them. And easy levels
often play stupidly. E.g. _giving_ their queen. In programs
like my Nero player has to find out how to take the queen. (Not very
difficult but gives more pleasure to player than taking a queen
computer has left to be taken.)

Cameron Kaiser

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

crac...@earthlink.net (Stuart Cracraft) writes:

>It is not strong, but the pedantic value (for other languages like C,
>assembler, etc. that you may be considering) would be considerable.

I for one would be very interested -- Pascal is a much more readbale language
than C, so it would be good at least for learning.,

>Does anyone have Chess 0.5 on-line and willing to share it?

Please!

--
Cameron Kaiser
cdkaiser at concentric dot net (it hasn't helped the spam yet though)
*** visit the Spectre Server at www.sserv.com
*** C64 software lives! www.computerworkshops.home.ml.org

Blackstar

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

On 02 Oct 1997 12:43:17 EDT, "Komputer Korner" <kor...@netcom.ca>
wrote:

>Why would anybody stop playing chess just because a computer can beat them?
>What is the difference between a strong human master and a strong computer
>in that regard?
>--
>- -
>Komputer Korner
>

As a Komputer you may not be familiar with human nature <g>
but us humans do *not* like ot lose, and more importantly we do not
like to continue losing. I think one of the discussions on here or
misc concerned someone who had lost to Chessmaster 127 times in a row
or something like that. The average person isn't going to stick it
out that long. what fun is it getting your brains bashed out over and
over? Personally I play against the weaker levels.I can beat "Light"
fairly consistently on CM5K on a P5-133 w/64MB RAM and can win
occasionally against "Moderate," seemingly just enough to keep me
trying :) Those of us who congregate on this group tend to have more
fortitude than the average person when it comes to chess (computer
and/or OTB). Face it, when you start playing chess you are in for
years of getting smoked if you are going to improve to the point of
being a high rated player. That's discouraging to most people. That's
why some people would stop playing chess, because they don't have the
time or initiative to get better and at the same time don't want to
lose all the time.

<--Will-->

Komputer Korner

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

Why would anybody stop playing chess just because a computer can beat them?
What is the difference between a strong human master and a strong computer
in that regard?
--
- -
Komputer Korner

The inkompetent komputer

If you see a 1 in my email address, take it out before replying.
Please do not email both me and the r.g.c.c. at the same time. I read all
the postings on r.g.c.c.

Jari Huikari <hui...@math.jyu.fi> wrote in article
<34339D...@math.jyu.fi>...

Komputer Korner

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

Well, that probably is a good idea. I will have to think about this. For
the moment, Power Chess and Fritz 5 are probably the best at subtly playing
weaker so that the user will think that he is playing an opponent of equal
strength. Rebel 8 and ( 9 which is out in a couple of weeks) also are good
at matching the opponent in strength. With Rebel the user gets to choose
the ELO of the program and with Fritz you can use sparring to disable the
tactical awareness of the program when defending. Also in Fritz 5, a friend
mode enables you to set a handicap in 100's of a pawn.
--
- -
Komputer Korner

The inkompetent komputer

If you see a 1 in my email address, take it out before replying.
Please do not email both me and the r.g.c.c. at the same time. I read all
the postings on r.g.c.c.

Quenton Fyfe <que...@excelsiordirect.com> wrote in article
<875835258.2457.0...@news.demon.co.uk>...
> I'm a very weak player, and I find that the "beginner" levels of CM5000 &
> Genius3 CRUSH me for about half the game - then blunder horribly and hang
> their queen or something ! Sometimes they don't blunder soon enough, and
I
> just get crushed :-( Weak human players like me don't play like IM's and
> then blunder - I play like a patzer, then blunder, so a more realistic
> "beginners" option would be more use to me than a stronger engine !
>
> I've also tried to use the 1 ply & 2 ply levels of these programs to
improve
> my tactics..... trouble is, they seem to calculate right through to the
end
> of a sequence of captures, so they still play stronger than I'd like.
>
> The "sparring" feature of Fritz5 sounds interesting - is this feature any
> different to the beginner levels in other software ?
>
> How about a category in your awards for the program that plays a
convincing
> weak game KK ? Seriously ! It might sound odd... but I can't be the
only
> person interested !
>
>
> Quenton


Komputer Korner

unread,
Oct 2, 1997, 3:00:00 AM10/2/97
to

My point is that you have to find your own level of skill as opponents.
There are programs that let you do this. Rebel 8 and 9,Fritz 4 and 5. Also
the new Power Chess 98 will let you win 1 out of 3 games when playing
against the King.
--
- -
Komputer Korner

The inkompetent komputer

If you see a 1 in my email address, take it out before replying.
Please do not email both me and the r.g.c.c. at the same time. I read all
the postings on r.g.c.c.

> As a Komputer you may not be familiar with human nature <g>

Quenton Fyfe

unread,
Oct 3, 1997, 3:00:00 AM10/3/97
to

I'm a very weak player, and I find that the "beginner" levels of CM5000 &
Genius3 CRUSH me for about half the game - then blunder horribly and hang
their queen or something ! Sometimes they don't blunder soon enough, and I
just get crushed :-( Weak human players like me don't play like IM's and
then blunder - I play like a patzer, then blunder, so a more realistic
"beginners" option would be more use to me than a stronger engine !

I've also tried to use the 1 ply & 2 ply levels of these programs to improve
my tactics..... trouble is, they seem to calculate right through to the end
of a sequence of captures, so they still play stronger than I'd like.

The "sparring" feature of Fritz5 sounds interesting - is this feature any
different to the beginner levels in other software ?

How about a category in your awards for the program that plays a convincing
weak game KK ? Seriously ! It might sound odd... but I can't be the only
person interested !


Quenton


Komputer Korner wrote in message <01bccf50$89e5bfc0$cf5ab5cf@ALAN>...


>Why would anybody stop playing chess just because a computer can beat them?
>What is the difference between a strong human master and a strong computer
>in that regard?

>--
>- -
>Komputer Korner
>
>The inkompetent komputer
>
>If you see a 1 in my email address, take it out before replying.
>Please do not email both me and the r.g.c.c. at the same time. I read all
>the postings on r.g.c.c.
>

Mike Byrne

unread,
Oct 3, 1997, 3:00:00 AM10/3/97
to

On Fri, 3 Oct 1997 00:34:03 +0100, "Quenton Fyfe"
<que...@excelsiordirect.com> wrote:

>I'm a very weak player, and I find that the "beginner" levels of CM5000 &
>Genius3 CRUSH me for about half the game - then blunder horribly and hang
>their queen or something ! Sometimes they don't blunder soon enough, and I
>just get crushed :-( Weak human players like me don't play like IM's and
>then blunder - I play like a patzer, then blunder, so a more realistic
>"beginners" option would be more use to me than a stronger engine !
>
>I've also tried to use the 1 ply & 2 ply levels of these programs to improve
>my tactics..... trouble is, they seem to calculate right through to the end
>of a sequence of captures, so they still play stronger than I'd like.
>


true, after search extensions and the like ...sd=1 is still pretty
strong for many beginners....the last option is to turn "brute-force"
on..keeping sd=1 ...in some programs that actually limits the
extensions ..Genius 3 was one program that was able to do this and my
7 year old son (unrated est rating 800-1000) was able to beat it at
that level ..maybe 20% of the time...Crafty use to have an extension
switch..I believe it is not there anymore.
remove the "nospam." and substitute "com" for "spam" in the domain..
the spamming is out of control and even just the "nospam." is no
longer working

Robert Hyatt

unread,
Oct 3, 1997, 3:00:00 AM10/3/97
to

Ray (NoS...@sprynet.com) wrote:
: On 29 Sep 1997 15:11:06 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt) said:

: ]Get the idea now? You are very likely to waste years re-discovering those


: ]ideas that are already well-known. It doesn't *have* to dampen your
: ]creativity at all. But if you start on a chess program without any idea of
: ]things like transposition tables, move generation ideas, move ordering ideas,
: ]and evaluation ideas, you are going to probably get discouraged, and quit, long
: ]before it becomes competitive. Anyone is bright enough to discover these
: ]ideas on their own. But do you really want to do so? Or would it make more
: ]sense to start with something that is already state-of-the-art, and then apply
: ]your creativity to making it better, rather than burning out trying to simply
: ]make it "competitive"??
: ]
: ]That's what the entire field of software engineering is all about: to stop
: ]us from continually re-inventing the wheel, over and over. Rather, we should
: ]try to find new and more useful things to stick that wheel on, instead of spending
: ]years to discover why radial tires are so good...
: ]
: ]your choice, of course. but you don't have to let prior footsteps lead you
: ]any further than the present. But they will get you to the (probably) same
: ]present you would eventually find on your own. But it would save a *lot*
: ]of time getting you there...

: ]
: /../

: Interesting idea, but there's one major flaw in your point of view: it
: locks you into thinking that the way chess programs are currently written
: is the best way to do it, and hence "you should just continue from there
: to search for improvements". No offense, but with that sort of thinking,
: you'll never make any breakthroughs to brand new ways of attacking the
: problem from scratch.. Just my 2 cents..


I don't believe that is a "guaranteed outcome." A case in point? Crafty.
I'd been working on a traditional chess program from about 1969 to 1994.
I went back to the drawing board and started over on the overall design
of the program. But Alpha/Beta, move ordering, etc. are all standard
fare. Not having those ideas in my arsenal of tricks would have simply
extended the development of Crafty from 1 year to 5 years or more.

Even if you decide to go "totally selective" the program will likely still
be based on some sort of alpha/beta search, and the things learned there will
help significantly. Knowing nothing about what has been done doesn't always
mean you simply don't get blinded by past ideas... it also means you don't
spend years discovering that those ideas are actually quite important...

IE I can't imagine a chemist "starting from scratch"... no school, no
nothing...

: Ray
: rhelie[at]hotmail.com

Jari Huikari

unread,
Oct 3, 1997, 3:00:00 AM10/3/97
to

Robert Hyatt wrote:

:Get the idea now? You are very likely to waste years re-discovering

those
: ]ideas that are already well-known. It doesn't *have* to dampen your
: ]creativity at all. But if you start on a chess program without any
idea of
:things like transposition tables, move generation ideas, move ordering
ideas,
:and evaluation ideas, you are going to probably get discouraged, and
quit, long
:before it becomes competitive. Anyone is bright enough to discover
these
:ideas on their own. But do you really want to do so? Or would it make
more
:sense to start with something that is already state-of-the-art, and then
apply
:your creativity to making it better, rather than burning out trying to
simply
:make it "competitive"??


Good questions. _If_ I decide to learn more about "radial tires", where
should I find them in the Web?

Thanks!

Jari
--
http://www.math.jyu.fi/~huikari/

The best homepage _I_ have ever made.

(Including version 2.8.3 of NERO if someone is interested.)

Ray

unread,
Oct 3, 1997, 3:00:00 AM10/3/97
to

On 29 Sep 1997 15:11:06 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt) said:

]Get the idea now? You are very likely to waste years re-discovering those


]ideas that are already well-known. It doesn't *have* to dampen your
]creativity at all. But if you start on a chess program without any idea of
]things like transposition tables, move generation ideas, move ordering ideas,
]and evaluation ideas, you are going to probably get discouraged, and quit, long
]before it becomes competitive. Anyone is bright enough to discover these
]ideas on their own. But do you really want to do so? Or would it make more
]sense to start with something that is already state-of-the-art, and then apply
]your creativity to making it better, rather than burning out trying to simply
]make it "competitive"??

]


]That's what the entire field of software engineering is all about: to stop
]us from continually re-inventing the wheel, over and over. Rather, we should
]try to find new and more useful things to stick that wheel on, instead of spending
]years to discover why radial tires are so good...
]
]your choice, of course. but you don't have to let prior footsteps lead you
]any further than the present. But they will get you to the (probably) same
]present you would eventually find on your own. But it would save a *lot*
]of time getting you there...
]
/../

Interesting idea, but there's one major flaw in your point of view: it
locks you into thinking that the way chess programs are currently written
is the best way to do it, and hence "you should just continue from there
to search for improvements". No offense, but with that sort of thinking,
you'll never make any breakthroughs to brand new ways of attacking the
problem from scratch.. Just my 2 cents..

Ray
rhelie[at]hotmail.com

pulgao

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

"Quenton Fyfe" <que...@excelsiordirect.com> wrote:

>The "sparring" feature of Fritz5 sounds interesting - is this feature any
>different to the beginner levels in other software ?

It plays much more naturally than other beginner levels I've seen in
other software. However, the "Friend" mode is a better beginner level
than "sparring" mode. It also plays very naturally in "Friend" mode
and adpats itself to your level of play (much like the King in Power
Chess). In "Friend" mode, I've noticed that Fritz tends to waste a
tempo here and there (by shuffling a piece), giving you a chance to
"catch up" by improving your position.

-- Steve Lopez
Read my book "Battle Royale", serialized at:
http://www.chessbaseusa.com/NY1924/ny1924.htm

I don't like work -- no man does -- but I like what is in the work: the
chance to find yourself. -- Joseph Conrad

Ray

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

On 3 Oct 1997 12:43:33 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt) said:

]Ray (NoS...@sprynet.com) wrote:
]: Interesting idea, but there's one major flaw in your point of view: it


]: locks you into thinking that the way chess programs are currently written
]: is the best way to do it, and hence "you should just continue from there
]: to search for improvements". No offense, but with that sort of thinking,
]: you'll never make any breakthroughs to brand new ways of attacking the
]: problem from scratch.. Just my 2 cents..

]
]
]I don't believe that is a "guaranteed outcome."

That's fine that you feel that way. But there's a chance it might be the
outcome (that you wouldn't find a breakthrough starting from scratch if
you only continue from where current research lies). And because of that
chance, I don't think it's correct to insist that everyone continue from
the latest research to search for improvements. Yes, there are
improvements going down that road, but there are also possible
improvements to be made in the making of a great chess program by
considering a completely different path from the start.

]A case in point? Crafty.


]I'd been working on a traditional chess program from about 1969 to 1994.
]I went back to the drawing board and started over on the overall design
]of the program. But Alpha/Beta, move ordering, etc. are all standard
]fare. Not having those ideas in my arsenal of tricks would have simply
]extended the development of Crafty from 1 year to 5 years or more.

That's because you chose to create a chess program that insists on looking
at as many positions as it can as quickly as it can (in as smart a way as
possible), but that's just your experience. I do applaud your efforts.
How can you sit there and say that someone else could
never create a breakthrough program, possibly even better, by taking a
completely different path from the start? And if you're not saying it
could never happen, then fine: you'd then be agreeing that not everyone
should just continue from where current research has left off, right? Then
they wouldn't just be wasting their time, or taking the long road to get
right back to where the top programs are today.

]Even if you decide to go "totally selective" the program will likely still


]be based on some sort of alpha/beta search, and the things learned there will
]help significantly.

And you know this for a fact? Every single "good" chess program will still
be based on alpha/beta of some sort?! I can understand how it may seem
that way. But, do people that play chess use alpha/beta to select a move
they make? No? And what about a program that is written to closely
immitate a person's way of finding a good move -- it wouldn't use
alpha/beta either.
So like I'm saying, even though it's counter to your
experience, I think it's very possible that there are still breakthroughs
to be made by starting from a new point of view, rather than just feeling
like "if you don't continue from current research, you're just wasting
your time".

]Knowing nothing about what has been done doesn't always


]mean you simply don't get blinded by past ideas...

But sometimes it does, which is my point. Don't close your mind to the
possibility of new, unique starting points for such a program (or trying
to solve *any* problem, really).

]it also means you don't


]spend years discovering that those ideas are actually quite important...

True, *if* your new program ends up being similar enough to what has come
before to make use of their ideas. It is possible, however, that a new
approach is developed that doesn't need these ideas. That is the point you
seem to be denying.

]
]IE I can't imagine a chemist "starting from scratch"... no school, no
]nothing...

Yes, I'd find it hard to imagine. And you know, the entire world at one
point couldn't imagine the Earth not being at the center of the universe,
either. Well, it's a good thing some revolutionary pioneers could imagine
the Earth not being the center of the Universe. Had they not done so, or
had they been shot down by others who insisted that "if you don't start
from the idea that the Earth is the center of the universe, you're just
wasting your time", we'd still believe that today. Thank god for the
people who dared to start from scratch at solving a problem, rather than
accepting the most widely accepted beliefs as being the best if not the
only acceptable solution.

Ray
rhelie [at] hotmail.com

Robert Hyatt

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

Ray (NoS...@sprynet.com) wrote:

I didn't say that they could "never create ..." If you look back, I
simply said that it was *highly probable* that they would simply re-
discover the same things that dozens of other people "re-discovered" on
their own. Which would simply extend the length of time it takes them to
find a "breakthrough". It seems highly likely that alpha/beta is the right
way to program chess. At least no other successful program I know of is
based on anything else. Not knowing current ideas simply means they will
be "discovered" over time. And time was my only issue.

In science, it is simply not "usual" to start working on something n
a blind fashion. Knowing what others have tried cuts years off of any
new project...

: ]Even if you decide to go "totally selective" the program will likely still


: ]be based on some sort of alpha/beta search, and the things learned there will
: ]help significantly.

: And you know this for a fact? Every single "good" chess program will still
: be based on alpha/beta of some sort?! I can understand how it may seem
: that way. But, do people that play chess use alpha/beta to select a move
: they make? No? And what about a program that is written to closely
: immitate a person's way of finding a good move -- it wouldn't use
: alpha/beta either.

No, people don't use alpha/beta. But they also don't use a silicon
finite-state automaton either. The real problem is we don't know *how*
a person does what he does. When we do, this might affect how programs
are designed. But for the present, see if you can find any non-alpha/beta
program that plays good chess...

: So like I'm saying, even though it's counter to your


: experience, I think it's very possible that there are still breakthroughs
: to be made by starting from a new point of view, rather than just feeling
: like "if you don't continue from current research, you're just wasting
: your time".

Again, you misinterpret. IE, I do assume you propose that the person use a
traditional programming language, rather than machine language? Why? It is
also probable that there are better (potential) languages for developing
chess programs. But to not use a traditional language costs you what?
Time? Exactly...


: ]Knowing nothing about what has been done doesn't always


: ]mean you simply don't get blinded by past ideas...

: But sometimes it does, which is my point. Don't close your mind to the
: possibility of new, unique starting points for such a program (or trying
: to solve *any* problem, really).

I never do. But I also want to know what has worked and what has failed
in the past. I'd rather not spend years re-discovering those ideas again.

: ]it also means you don't


: ]spend years discovering that those ideas are actually quite important...

: True, *if* your new program ends up being similar enough to what has come
: before to make use of their ideas. It is possible, however, that a new
: approach is developed that doesn't need these ideas. That is the point you
: seem to be denying.

No, I'm not "denying" that. But based on 30 years of chess programming
development, it seems that everyone is slowly converging on the same basic
algorithms. It is *highly* unlikely that a breakthrough idea will come
from someone that has no idea what is already being done. Because they are
destined to follow the same path everyone else has discovered starting from
the same point. A breakthrough is more likely to come from someone who knows
*everything* that has been tried... just as it is in other scientific fields,
not from someone that doesn't have a clue about what has already been tried,
just so he can keep his "mind clear of old prejudices."


: ]
: ]IE I can't imagine a chemist "starting from scratch"... no school, no
: ]nothing...

: Yes, I'd find it hard to imagine. And you know, the entire world at one
: point couldn't imagine the Earth not being at the center of the universe,
: either. Well, it's a good thing some revolutionary pioneers could imagine
: the Earth not being the center of the Universe. Had they not done so, or
: had they been shot down by others who insisted that "if you don't start
: from the idea that the Earth is the center of the universe, you're just
: wasting your time", we'd still believe that today. Thank god for the
: people who dared to start from scratch at solving a problem, rather than
: accepting the most widely accepted beliefs as being the best if not the
: only acceptable solution.

apples and oranges. *everyone* didn't believe the earth was the center of
the universe. The idea that the earth revolves around the sun didn't suddenly
pop into being. There was this field called astronomy, even way back then.
And people working in it slowly came to the conclusion that things were different
than what popular opinion suggested. But it wasn't an overnight "boing! you
know what? this idea is wrong."


: Ray
: rhelie [at] hotmail.com

Ray

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

On 4 Oct 1997 14:01:34 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt) said:

/../
]I didn't say that they could "never create ..." If you look back, I


]simply said that it was *highly probable* that they would simply re-
]discover the same things that dozens of other people "re-discovered" on
]their own. Which would simply extend the length of time it takes them to
]find a "breakthrough".

You are implying that the only breakthroughs that are going to take place,
will be at the tip of current research, are you not? Because you're
stating that anyone who starts from scratch "would simply extend the
length of time it takes them to find a 'breakthrough' [because they would
just end up rediscovering what has already been discovered]". Is that what
you're saying?
What I'm saying is, there is just as great a possibility
of someone finding a breakthrough long before they even need to use the
methods currently in employ in the top programs. But if you insist that
people don't start from scratch because "they would simply extend the
length of time it takes them to find a 'breakthrough'", you're implying no
breakthroughs exits before the point of using everything we know today as
being the best solution possible, and hence you must build from there.
That is where I say you are wrong. We're just as likely (although it may
not look that way to you) to find breakthroughs without using current
ideas. Do you not think so? Do you think the only breakthroughs are to be
made only after you've ended up using all the ideas currently in vogue
today?

]It seems highly likely that alpha/beta is the right


]way to program chess. At least no other successful program I know of is
]based on anything else.

But "highly likely" is not a definite thing, but you seem to be treating
it as such. Fine, there are no other successful programs that you know of
based on anything else. And because of that, you're shooting down the
possibility that no other successful program could ever be made based on
anything else? If you're not shooting that idea down, then why do you
insist that anyone that starts from scratch will just end up "reinventing
what has already been invented"?

]Not knowing current ideas simply means they will


]be "discovered" over time. And time was my only issue.

Why are you assuming that these current ideas will be "discovered" over
time? They won't be discovered if the user is clever enough to stumble on
a completely different method that you never even thought of. Is it so
hard for you to even consider the possibility that someone else might come
up with something damn good that you never thought of? Something that
won't need to "rediscover" what has already been invented because they
will no longer need it?

]In science, it is simply not "usual" to start working on something n


]a blind fashion. Knowing what others have tried cuts years off of any
]new project...


If you're looking for a possible breakthrough, then you are smart to
sometimes ignore all that has gone before in order to attempt finding a
unique solution that no one has ever though of before. If you insist on
only starting from what everyone else knows and build from there, you've
just eliminated your chance of finding any of the possibly good solutions
that would not make use of what everyone else now knows. Is that not so?

/../
]No, people don't use alpha/beta. But they also don't use a silicon


]finite-state automaton either. The real problem is we don't know *how*
]a person does what he does. When we do, this might affect how programs
]are designed. But for the present, see if you can find any non-alpha/beta
]program that plays good chess...

Ahh. I see a glimmer. "When we do, this might affect how programs are
designed". Why wait until "we find out how a person does what he does"
before we attempt to change how "programs are designed"? You seem to
insist that people not deviate from current methods because you believe
that they will just end up rediscovering what has already been discovered.
Hence you think the current methods are without fail the best methods you
will ever find to make a chess program? Is this what you are saying?

I say some people should change how programs are designed now, whether or
not we know how a person does what she does.

]Again, you misinterpret. IE, I do assume you propose that the person use a


]traditional programming language, rather than machine language? Why? It is
]also probable that there are better (potential) languages for developing
]chess programs. But to not use a traditional language costs you what?
]Time? Exactly...

No, you represent me incorrectly. I do think they should use a
non-traditional program language if someone out there has the ability to
do so, thinking they might make some sort of breakthrough that traditional
programming languages might otherwise prohibit them from making. It's by
no means obvious to me that they'd just end up doing the same thing you
and I are doing.
However, if said person doesn't see any possible point to
using a different language, then they should continue to use the same
language. But at the same time, that said person shouldn't turn around and
tell everyone else "you better use this language, because if you don't,
you probably just end up using it anyway and wasting your time. I've used
this language for 30 years, and believe me, if you try using a different
language, you're destined to end up using this one eventually." It's fine
if they have that *opinion*, but obviously they have chosen to close
themselves off from a certain subset of possibilities, possibilities that
someone else might make damn clever use of.
It seems to me you are insisting that your methods of
making a chess program are without doubt the best, and any other attempts
would be a waste of time. Is this what you are saying?

/../
]: But sometimes it does, which is my point. Don't close your mind to the


]: possibility of new, unique starting points for such a program (or trying
]: to solve *any* problem, really).
]
]I never do. But I also want to know what has worked and what has failed
]in the past. I'd rather not spend years re-discovering those ideas again.

What has failed only tells you that certain people have tried something,
and couldn't get it to work well. That doesn't mean someone else couldn't
come along with some fresh ideas and make those techniques that haven't
worked in the past work well now. Am I right?
And what has worked is great, but if there are better
methods out there, you'll never find them if you insist on using only the
latest ideas just because "they have worked". We need at least some bright
people working on ideas that have been dismissed as "oh, that will never
work", or working on ideas that, god forbid, none of you have thought of
over the last 30 years.

/../
]No, I'm not "denying" that. But based on 30 years of chess programming


]development, it seems that everyone is slowly converging on the same basic
]algorithms. It is *highly* unlikely that a breakthrough idea will come
]from someone that has no idea what is already being done.

Highly unlikely does not equate to "so don't waste your time .. you know
you'll just end up rediscovering what we've already done". Even if there's
a small chance that someone could discover something better by thinking of
something none of you have ever thought of in your 30 years of chess
programming, then some people should continue to design chess programs
from scratch. There should be some people who keep an eye towards ignoring
what has gone before (if not intentionally avoiding doing what's being
done now to avoid missing a possibly better idea).

]Because they are


]destined to follow the same path everyone else has discovered starting from
]the same point.

"destined"? How can you say that?! So, let me see if I hear you correctly.
Are you saying, no matter what anyone tries to do, they are destined,
without fail, to end up doing exactly what you have done up until now?
You're saying it's impossible for anyone to come up with something better
if they attempt to stray away from the methods you're using now? If that's
what you're saying, that's an overly bold statement. :( How can you say
that, without a doubt, no one else will ever come up with anything better
unless they at least use most of the ideas you people currently use?!

]A breakthrough is more likely to come from someone who knows


]*everything* that has been tried...

A breakthrough might possibly be made from someone who knows everything
that has been tried, yes. But god forbid someone makes a breakthrough who
insists on ignoring what you people are currently doing. It is possible,
and that's my whole point. I'm sure that would make the people who have
been working on this for 30 years feel a little foolish if someone shows
up, not knowing much about what's been done by all of you, and finds a
better solution to the problem of creating a dominant chess program. Hell,
maybe it was something that one of you might have eventually discovered
when looking at the problem again from scratch. But meanwhile, you would
have really been the ones "wasting your time" then, wouldn't you?
This type of breakthrough, however, will never occur if
you insist everyone just start from where you guys currently are at in
research. That is my point.

/../
]
]apples and oranges.

I'd say so much about your "chemist 'starting from scratch'" example.
Instead, I followed suit with an example of my own.

]*everyone* didn't believe the earth was the center of


]the universe. The idea that the earth revolves around the sun didn't suddenly
]pop into being. There was this field called astronomy, even way back then.

I know everyone didn't believe that the earth was at the center of the
universe. But guess what, not everyone believes that your current methods
of programming chess are necessarily the best methods either. That's my
point.

]And people working in it slowly came to the conclusion that things were different


]than what popular opinion suggested. But it wasn't an overnight "boing! you
]know what? this idea is wrong."

No, but it is an overnight "boing! you know what? this idea *might* be
wrong". Hence, if for no other reason than to find out if they are wrong,
they start looking for brand new solutions to the problem. And you know
where they start looking? From scratch. Again, that is my point, and I
hope I've been clear enough about it this time.
Alternate concepts about how to write a top-level chess
program are being testing (by myself for instance). It won't be an
overnight thing, but we may never reach these alternate concepts unless we
are willing to start from scratch either.

Ray
rhelie [at]
hotmail.com

Robert Hyatt

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

Ray (NoS...@sprynet.com) wrote:

: On 4 Oct 1997 14:01:34 GMT, hy...@crafty.cis.uab.edu (Robert Hyatt) said:

: /../
: ]I didn't say that they could "never create ..." If you look back, I
: ]simply said that it was *highly probable* that they would simply re-
: ]discover the same things that dozens of other people "re-discovered" on
: ]their own. Which would simply extend the length of time it takes them to
: ]find a "breakthrough".

: You are implying that the only breakthroughs that are going to take place,
: will be at the tip of current research, are you not? Because you're
: stating that anyone who starts from scratch "would simply extend the
: length of time it takes them to find a 'breakthrough' [because they would
: just end up rediscovering what has already been discovered]". Is that what
: you're saying?

No. What I'm saying is that *many* of the new breakthrougs will occur on
the end of what is already done. And that I can't imagine someone would
consider themselves prepared to try to extend state-of-the-art on other
fronts without knowing what state-of-the-art is in today's programs. This
is simply basic research common sense...

: What I'm saying is, there is just as great a possibility


: of someone finding a breakthrough long before they even need to use the
: methods currently in employ in the top programs. But if you insist that
: people don't start from scratch because "they would simply extend the
: length of time it takes them to find a 'breakthrough'", you're implying no
: breakthroughs exits before the point of using everything we know today as
: being the best solution possible, and hence you must build from there.
: That is where I say you are wrong. We're just as likely (although it may
: not look that way to you) to find breakthroughs without using current
: ideas. Do you not think so? Do you think the only breakthroughs are to be
: made only after you've ended up using all the ideas currently in vogue
: today?

I think the likelihood of your statement being true is quite high. Why?
because 30+ years of computer chess research have brought us to where we are
today. It is likely that someone starting over will follow the same path
again. IE the automobile has not changed in almost 100 years. More modern,
but still has 4 wheels, a transmission, internal combustion, etc. If you
started in a total vacuum, you might try horses or steam first. And repeat
history.

If your idea were 100% valid, we would not teach history in high-school and
college. The idea is to not repeat mistakes, but do repeat successes. If
you don't know what successes and failures have already happened, you are
going to make many of those mistakes (and successes too, of course) again.


: ]It seems highly likely that alpha/beta is the right


: ]way to program chess. At least no other successful program I know of is
: ]based on anything else.

: But "highly likely" is not a definite thing, but you seem to be treating
: it as such. Fine, there are no other successful programs that you know of
: based on anything else. And because of that, you're shooting down the
: possibility that no other successful program could ever be made based on
: anything else? If you're not shooting that idea down, then why do you
: insist that anyone that starts from scratch will just end up "reinventing
: what has already been invented"?

I don't "insist" that they will. But after watching developments for 35
years, the basic approach is unchanged since Mack Hack played. Because it
works well. And because no better approaches have been found. But to turn
this around, you seem to imply that working in ignorance is more likely to
bring new ideas than if you work knowing what has already been tried and
found successfull or found to be not so good. I don't buy the working in
ignorance idea... it flies in the face of 200 years of higher education in
this country. IE, why go to a university to learn all the old ideas? Why not
operate in an intellectual vacuum to give better ideas a chance to flourish?
I don't believe it will work. Otherwise, in some of the very uncivilized parts
of the world we'd have nuclear fusion working. Rather than them not even
understanding fire.


: ]Not knowing current ideas simply means they will


: ]be "discovered" over time. And time was my only issue.

: Why are you assuming that these current ideas will be "discovered" over
: time? They won't be discovered if the user is clever enough to stumble on
: a completely different method that you never even thought of. Is it so
: hard for you to even consider the possibility that someone else might come
: up with something damn good that you never thought of? Something that
: won't need to "rediscover" what has already been invented because they
: will no longer need it?

See above. If you believe it is better to start a research project by
being completely ignorant of anything done before, then there's not much
I'm going to be able to say to change your mind. But a lot of history is
on my side in this issue from a research point of view. In fact, to make
any sort of research "proposal" and to get it accepted (as in a Ph.D.
dissertation) the very *first* thing you have to do is a comprehensive
"prior work" investigation. There's a good reason for this...


: ]In science, it is simply not "usual" to start working on something n


: ]a blind fashion. Knowing what others have tried cuts years off of any
: ]new project...


: If you're looking for a possible breakthrough, then you are smart to
: sometimes ignore all that has gone before in order to attempt finding a
: unique solution that no one has ever though of before. If you insist on
: only starting from what everyone else knows and build from there, you've
: just eliminated your chance of finding any of the possibly good solutions
: that would not make use of what everyone else now knows. Is that not so?

You just changed your statement in a *significant* way. It is one thing to
"ignore" what you know has already been tried. It is *quite* another thing
to not even know what to ignore. There is a *big* difference. I have no
problem with people "ignoring" old ideas. That *is* the way research goes
forward. But it *never* goes forward if the researcher is totally ignorant
of what has been tried before... that's where we differ...


: /../


: ]No, people don't use alpha/beta. But they also don't use a silicon
: ]finite-state automaton either. The real problem is we don't know *how*
: ]a person does what he does. When we do, this might affect how programs
: ]are designed. But for the present, see if you can find any non-alpha/beta
: ]program that plays good chess...

: Ahh. I see a glimmer. "When we do, this might affect how programs are
: designed". Why wait until "we find out how a person does what he does"
: before we attempt to change how "programs are designed"? You seem to
: insist that people not deviate from current methods because you believe
: that they will just end up rediscovering what has already been discovered.
: Hence you think the current methods are without fail the best methods you
: will ever find to make a chess program? Is this what you are saying?

What I'm saying is this: A *lot* of chess research has gone on. There are
probably some interesting ideas. But they are in a distinct minority when
compared to all the old things that have been tried (some worked and some
failed of course.) And if you start research without having any idea of what
has been tried, chances are much greater for hitting old ideas then new ones.

Of course I know the argument about a room full of monkeys and typewriters.
Given enough monkeys we will see one of them type Lincoln's Gettysburg
Address. But look at all that effort wasted by the other monkeys. We don't
have that many monkeys working in chess. So blind research will very likely
take a long time to find something better than today. Someone that knows what
has already been tried at least knows what to not try, if he is only looking
for "new" ideas...

: I say some people should change how programs are designed now, whether or


: not we know how a person does what she does.

I agree. But you *can not* change what has been done if you have no idea
of what has been done... see the problem?

:
: ]Again, you misinterpret. IE, I do assume you propose that the person use a


: ]traditional programming language, rather than machine language? Why? It is
: ]also probable that there are better (potential) languages for developing
: ]chess programs. But to not use a traditional language costs you what?
: ]Time? Exactly...

: No, you represent me incorrectly. I do think they should use a
: non-traditional program language if someone out there has the ability to
: do so, thinking they might make some sort of breakthrough that traditional
: programming languages might otherwise prohibit them from making. It's by
: no means obvious to me that they'd just end up doing the same thing you
: and I are doing.
: However, if said person doesn't see any possible point to
: using a different language, then they should continue to use the same
: language. But at the same time, that said person shouldn't turn around and
: tell everyone else "you better use this language, because if you don't,
: you probably just end up using it anyway and wasting your time. I've used
: this language for 30 years, and believe me, if you try using a different
: language, you're destined to end up using this one eventually." It's fine
: if they have that *opinion*, but obviously they have chosen to close
: themselves off from a certain subset of possibilities, possibilities that
: someone else might make damn clever use of.
: It seems to me you are insisting that your methods of
: making a chess program are without doubt the best, and any other attempts
: would be a waste of time. Is this what you are saying?

No it is not. But you are saying it is better to start "fresh" without
bothering to see what has been done before. *that* is dead wrong. Ask
*anyone* that is active in any sort of research. It is just wrong.


: /../


: ]: But sometimes it does, which is my point. Don't close your mind to the
: ]: possibility of new, unique starting points for such a program (or trying
: ]: to solve *any* problem, really).
: ]
: ]I never do. But I also want to know what has worked and what has failed
: ]in the past. I'd rather not spend years re-discovering those ideas again.

: What has failed only tells you that certain people have tried something,
: and couldn't get it to work well. That doesn't mean someone else couldn't
: come along with some fresh ideas and make those techniques that haven't
: worked in the past work well now. Am I right?

Yes. But of course if you haven't studied what has been tried, you'd never
know any of this...

: And what has worked is great, but if there are better

I can say that, because it has happened *over and over*. Again, the monkeys
and typewriters problem. You want to wait for a monkey to accomplish something
great?

: ]A breakthrough is more likely to come from someone who knows


: ]*everything* that has been tried...

: A breakthrough might possibly be made from someone who knows everything
: that has been tried, yes. But god forbid someone makes a breakthrough who
: insists on ignoring what you people are currently doing.

Please keep your argument consistent. You can *not* ignore something if
you don't *know* about it. You keep missing that point. And that is *my*
position. You need to know what has gone before, even if you want to chart
your own course. Otherwise your course is very likely to run right over
someone elses...


: It is possible,


: and that's my whole point. I'm sure that would make the people who have
: been working on this for 30 years feel a little foolish if someone shows
: up, not knowing much about what's been done by all of you, and finds a
: better solution to the problem of creating a dominant chess program. Hell,
: maybe it was something that one of you might have eventually discovered
: when looking at the problem again from scratch. But meanwhile, you would
: have really been the ones "wasting your time" then, wouldn't you?

If a frog had pockets, he'd carry a gun and not have to worry about
snakes. But he doesn't, so he does. "if" doesn't carry much weight in
an argument. "did" does...

: This type of breakthrough, however, will never occur if


: you insist everyone just start from where you guys currently are at in
: research. That is my point.

But you continually twist my point. I *never* said anyone has to start
where we are and go forward. But he does have to *know* where we are if
he is going to do something different. IE there have been lots of interesting
approaches to learning programs. If he knows nothing about these, and wants
to learn, he is likely to retread old ground. Why do that?

: /../
: ]
: ]apples and oranges.

: I'd say so much about your "chemist 'starting from scratch'" example.
: Instead, I followed suit with an example of my own.

And I pointed out the flaw in your thinking. You can't be different,
unless you know what everyone else is doing. You can't do viable research
unless you know something about what has already been done. As I pointed
out. Doing something "new" is a good idea. But if you don't know what has
been done, it is rather difficult to know if what you are doing is "new"
or has it been tried and discarded for good reasons..

: ]*everyone* didn't believe the earth was the center of


: ]the universe. The idea that the earth revolves around the sun didn't suddenly
: ]pop into being. There was this field called astronomy, even way back then.

: I know everyone didn't believe that the earth was at the center of the
: universe. But guess what, not everyone believes that your current methods
: of programming chess are necessarily the best methods either. That's my
: point.

: ]And people working in it slowly came to the conclusion that things were different
: ]than what popular opinion suggested. But it wasn't an overnight "boing! you
: ]know what? this idea is wrong."

: No, but it is an overnight "boing! you know what? this idea *might* be
: wrong". Hence, if for no other reason than to find out if they are wrong,
: they start looking for brand new solutions to the problem. And you know
: where they start looking? From scratch. Again, that is my point, and I
: hope I've been clear enough about it this time.

No you weren't. This wasn't an overnight "boing". this was the subject of
study by many people that led to this conclusion. Credit might be given to
one person, but the preliminary work went on for years. As it always does
in research projects...

: Alternate concepts about how to write a top-level chess

Ray

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

Ok, first of all I think I've stated the wrong thing. What I was thinking
was this: suppose someone only knew that today's top programs use the
brute force method, with pruning, transposition tables, etc., but no
details about how they work exactly (how they're implemented). Then
suppose they decided that those ideas are not quite what is needed to get
chess programs to the very top of the pinnacle (it's their opinion, mind
you). I'm thinking they might do just fine to try making a new kind of
chess program, without using or knowing specifics about the things I've
mentioned. What they do know is that they do not want to use those things.
So in that sense, it seems that person does know what came before, rather
than just working in a vacuum or in total ignorance of what has gone
before. Working in total ignorance of history, yes I agree with you that
they are extremely likely to go down the same road. Now I understand your
point. Sorry for the confusion on that one. It looks like I incorrectly
gave the impression that someone would try to write a new chess program
without knowing that they even used anything called "brute force" or
"alpha-beta pruning".
What I really meant was that they knew about such things,
might not know how to implement them necessarily but knew about them, and
intentionally decided that brute force, and anything that goes along with
it, is not the way to go. Again, sorry for the confusion.

So my point is operating from scratch (some of the researchers), with the
idea of trying new things and intentionally avoiding the main ideas (brute
force w/ pruning, extensions, etc.) that are in vogue today. By doing so,
they may in fact stumble upon some breakthroughs that are only to be found
by trying something different from scratch. Do you consider this a
worthwhile idea? Do we agree on that point? I understand that there are
also breakthroughs to be found at the end of modern day research, but I
also believe there are other breakthroughs waiting to be discovered by
intentionally going down a different path on the chess program process.

Hopefully this time around I've at least managed to understand what you
are saying and properly convey what I'm trying to say.

Ray
rhelie[at]
hotmail.com

Dave

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

On Fri, 03 Oct 1997 20:03:58 +0300, Jari Huikari <hui...@math.jyu.fi>
wrote:

>


>Good questions. _If_ I decide to learn more about "radial tires", where
>should I find them in the Web?
>
>Thanks!
>
> Jari

It's hard to say, Jari - THEY JUST KEEP ROLLING ALONG!!<vbg>

Sorry, couldn't resist.

Dave

Jari Huikari

unread,
Oct 4, 1997, 3:00:00 AM10/4/97
to

Dave <co...@sprintmail.com> wrote:

> >Good questions. _If_ I decide to learn more about "radial tires", where
> >should I find them in the Web?

> It's hard to say, Jari - THEY JUST KEEP ROLLING ALONG!!<vbg>

> Sorry, couldn't resist.

:-) :-)

I know where I can find source codes. I'd rather like to have books telling
about the ideas that chess programs use. But books are expensive, so I'd
like to find this information from the web. And maybe some example codes in
Pascal. (Not in C. I hate C. Once I tried to test chess program, which cames
with some C-tools. It took hours. Every time I tried to compile it, there
were at least 30 warnings and 15 errors. There are several programs having
a lot of features, but their programmers know nothing about making them
user friendly.)

Jari


MiltonZuc

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

"Komputer Korner" <kor...@netcom.ca> said on Thu, Oct 2, 1997 23:40 EDT:

<<My point is that you have to find your own level of skill as opponents.
<<There are programs that let you do this. Rebel 8 and 9,Fritz 4 <<and 5. Also
<<the new Power Chess 98 will let you win 1 out of 3 games when <<playing
<<against the King.

I'm probably in the minority here, but setting strong programs to play
weakly so that I have a chance to beat them is very psychologically
unsatisfying to me. If I manage to win a game against a human or computer
that was trying its BEST to beat me, I can tell myself that I outsmarted my
opponent in that particular game and I can feel a sense of accomplishment. If
that same game were played against a computer program that I purposely caused
to play weaker, I always know in the back of my mind that it "knew" better
moves to play against me, but it was just "holding back". That takes a lot of
the fun away from me. ...Milton...

Dr A. N. Walker

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

Ray wrote:
> And you know this for a fact? Every single "good" chess program will still
> be based on alpha/beta of some sort?! I can understand how it may seem
> that way. But, do people that play chess use alpha/beta to select a move
> they make? No? And what about a program that is written to closely
> immitate a person's way of finding a good move -- it wouldn't use
> alpha/beta either.

People *do* use alpha-beta. A/B is just "refutations". Every
time you move an attacked queen "because otherwise it gets taken", you
are using A/B. In a full search, you would look at all moves, not just
taking the queen, in an attempt to see which was best; the pruning
consists merely of seeing that PxQ wins, so not moving the queen loses,
and we don't need to know anything else about that line.

Alpha-beta is pretty important. It costs almost nothing in
the program, and is equivalent to an exponentially growing increase
in the speed of the computer with depth of search.

In my "Game Theory" module, I tell the tale of how Tal once
played a beautiful sacrifice to win his opponent's queen and the game;
afterwards, a spectator showed him how he could have played a different
sacrifice and forced mate. Tal was distraught at missing this; but I
think of it as alpha-beta in action -- he had found one way to win, so
didn't need to look for another. [Does anyone recognise the game from
this description? I've lost the reference.]

Someone earlier in this thread mentioned square wheels.
Serendipitously, I saw an article last week pointing out that square
wheels can roll level on a cycloidal track. I'm sure there are
potential uses for this! Whether there are any morals for computer
chess is less clear.

--
Andy Walker, Maths Dept., Nott'm Univ., UK.
a...@maths.nott.ac.uk

Komputer Korner

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

Does that mean that you only play against weak programs playing at their
strongest level?

--
- -
Komputer Korner

The inkompetent komputer

If you see a 1 in my email address, take it out before replying.
Please do not email both me and the r.g.c.c. at the same time. I read all
the postings on r.g.c.c.

MiltonZuc <milt...@aol.com> wrote in article
<19971006123...@ladder02.news.aol.com>...

Gunnar Andersson

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

MiltonZuc wrote:
>
> "Komputer Korner" <kor...@netcom.ca> said on Thu, Oct 2, 1997 23:40 EDT:
>
> <<My point is that you have to find your own level of skill as opponents.
> <<There are programs that let you do this. Rebel 8 and 9,Fritz 4 <<and 5. Also
> <<the new Power Chess 98 will let you win 1 out of 3 games when <<playing
> <<against the King.
>
> I'm probably in the minority here, but setting strong programs to play
> weakly so that I have a chance to beat them is very psychologically
> unsatisfying to me. If I manage to win a game against a human or computer
> that was trying its BEST to beat me, I can tell myself that I outsmarted my
> opponent in that particular game and I can feel a sense of accomplishment. If
> that same game were played against a computer program that I purposely caused
> to play weaker, I always know in the back of my mind that it "knew" better
> moves to play against me, but it was just "holding back". That takes a lot of
> the fun away from me. ...Milton...

This is probably because many humans feel uncomfortable not being
superior
to the computer program in a mind sport such as chess.
In the game of Othello (which I play and create programs to play) the
attitude
is somewhat different: Most humans have now gotten used to the fact that
the best
computer programs are far stronger than all humans.
(The match between the human world champion, Takeshi Murakami, and one
of the
two best computer programs, Logistello, ended 6-0 for the program. The
difference
is probably 500 rating points or so on the ELO scale.)
So on the Othello servers (yes, there are a few around) humans try on
limited
versions of the strong programs. This is fully accepted, and I think the
same
will happen in chess when even the micro-based chess programs become too
strong
for all chess players below the IM level.

/ Gunnar Andersson

Mike Leahy

unread,
Oct 7, 1997, 3:00:00 AM10/7/97
to

Mike Byrne wrote:
>
> On Fri, 3 Oct 1997 00:34:03 +0100, "Quenton Fyfe"
> <que...@excelsiordirect.com> wrote:
>
> >I'm a very weak player, and I find that the "beginner" levels of CM5000 &
> >Genius3 CRUSH me for about half the game - then blunder horribly and hang
> >their queen or something ! Sometimes they don't blunder soon enough, and I
> >just get crushed :-( Weak human players like me don't play like IM's and
> >then blunder - I play like a patzer, then blunder, so a more realistic
> >"beginners" option would be more use to me than a stronger engine !
> >
> >I've also tried to use the 1 ply & 2 ply levels of these programs to improve
> >my tactics..... trouble is, they seem to calculate right through to the end
> >of a sequence of captures, so they still play stronger than I'd like.
> >
>
> true, after search extensions and the like ...sd=1 is still pretty
> strong for many beginners....the last option is to turn "brute-force"
> on..keeping sd=1 ...in some programs that actually limits the
> extensions ..Genius 3 was one program that was able to do this and my
> 7 year old son (unrated est rating 800-1000) was able to beat it at
> that level ..maybe 20% of the time...Crafty use to have an extension
> switch..I believe it is not there anymore.

Lang made a special version of an old Genius engine for
our Bobby Fischer Teaches Chess CD ROM. It is an awesome
beginner engine and the way he did it, I believe, was to
use the regular algorithm but severely limit the depth
and total nodes allowed. The most natural "weak" play I've
seen yet.

--


Mike Leahy
"The Database Man!" http://www.bookup.com

MiltonZuc

unread,
Oct 8, 1997, 3:00:00 AM10/8/97
to

>From: "Komputer Korner" <kor...@netcom.ca>
>Date: Mon, Oct 6, 1997 23:33 EDT
>Message-id: <01bcd2cf$d49614c0$a25ab5cf@ALAN>

>
>Does that mean that you only play against weak programs playing at their
>strongest level?

No. I play strong programs (and almost always get but butt kicked). But I also
play humans who are about equal in strength to me so I have a chance to win
sometimes.:-) ...Milton...

0 new messages