Go back
Fritz 8

Fritz 8

Only Chess

Vote Up
Vote Down

Originally posted by SirLoseALot
I think those GM plays computer matches are fixed.
Well, note that GM's only ever play the commercial programs, not the free ones. 🙂 But I think that OTB, a GM will have serious problems with a tactical monster like Fritz 8 or Shredder 8.

It used to be that computers had the tacticas of an IM with the positional ability of a weak expert. Now they have the tactical ability of a super GM with the positional ability of a master (2200 or so). That makes them a formidable opponent at faster (G/30) time controls.

Vote Up
Vote Down

thank you dkappe for your insights.
what languages do you program chess programs in?
where is a good place to start learning about these things?

in friendship,
prad

Vote Up
Vote Down

Originally posted by pradtf
thank you dkappe for your insights.
what languages do you program chess programs in?
where is a good place to start learning about these things?

in friendship,
prad
Happy to be of service.

C is really the weapon of choice for chess programming. I myself am playing around with Java since I want to but together a weak program in an applet for chess visualization purposes.

The best site out there for my money is Bruce Moreland's chess programming tutorial at http://www.brucemo.com/compchess/programming/index.htm

For two very short programs that play a decent game of chess, see MSCP (2000 lines of code) at http://brick.bitpit.net/~marcelk/mscp/ and TSCP at http://home.comcast.net/~tckerrigan/ .

For some really sweet stuff, guaranteed to make your head hurt, see http://members.home.nl/matador/chess840.htm from the developer of Rebel.

Also, Crafty (http://www.tim-mann.org/crafty.html) is available as source. There you can see how a truly world class chess program is put together. I'd say it's only a notch or two under the pro ones. Many of the other top engines have used this baby as their starting point.

Vote Up
Vote Down

Originally posted by dkappe
Happy to be of service.
those links look exciting and i will be eager to explore them since my son and i are about to delve into C!

i am particularly interested in how one program ends up being better than another, so understanding the simpler ones would be a great place to start and work up to crafty.

this may be the only antidote for even rhp 😀

many thanks!

in friendship,
prad

Vote Up
Vote Down

On the programming I understand IBM's Deep Blue was programmed in C on Unix(AIX) powered by 256 processors.
Bye
Prashant

Vote Up
Vote Down

Originally posted by pradtf

i am particularly interested in how one program ends up being better than another, so understanding the simpler ones would be a great place to start and work up to crafty.
Let me relate a little annecdote from my own chess programming experience.

Chess programming is really divided into two parts: search and evaluation.

The search is basically a alpha-beta minimax with lots of bells and whistles. One of those whistles is search extensions, that is looking a few moves deeper when a position is interesting.

The evaluation is the function that looks at a position and gives it a numerical score (good for white, good for black, etc.). My program is fairly primitive in it's understanding of positional factors, using mostly material and board control to assess the score of a position.

Still, looking 7 ply deep, it was doing OK on FICS, averaging 1850-1900 or so in blitz. Then I added the recapture extension, i.e. look one move deeper on a recapture. My program's rating on FICS shot up 200 points. It was still only searching 7 ply on average, but in tactical lines it might reach 12-14 ply.

The answer in the past on how to make your program stronger was increase the search depth by making it faster. Generally 1 ply more (a move for one side) = 50 rating points. Now that search improvements like null-move pruning, MTD(f) and razoring/futility pruning are in all the top programs, the arms race for speed has really ended. The new focus is on adding positional knowledge into the programs (which hurts speed, but you don't get something for nothing).

All in all a positive development for us. Positionally stronger engines mean we get to learn how to play better as humans.


Vote Up
Vote Down

Originally posted by dkappe
All in all a positive development for us. Positionally stronger engines mean we get to learn how to play better as humans.
again a very interesting post especially the effects on rating points.
i am looking forward to exploring all this in a few weeks.
thank you.

in friendship,
prad

Vote Up
Vote Down

I'm using Perl to write a chess program, just for kicks. Maybe I'll clean up my code, if anyone wants to take a look ...
Later

Vote Up
Vote Down

Originally posted by foil
I'm using Perl to write a chess program, just for kicks. Maybe I'll clean up my code, if anyone wants to take a look ...
Later
most certainly in a few weeks after i am settled a bit.
i wouldn't mind giving it a try in python either - there is some stuff which does move correctness already so that's a good starting point perhaps.

in friendship,
prad

Vote Up
Vote Down

Originally posted by foil
I'm using Perl to write a chess program, just for kicks. Maybe I'll clean up my code, if anyone wants to take a look ...
Later
Having done something similar in the past, I can warn you that you'll soon get the need for speed, i.e. your program only starts getting dangerous when you're 6+ ply deep. 🙂

Still, it is pretty cool to write something that plays chess in perl.

Vote Up
Vote Down

Originally posted by pradtf
most certainly in a few weeks after i am settled a bit.
i wouldn't mind giving it a try in python either - there is some stuff which does move correctness already so that's a good starting point perhaps.

in friendship,
prad
hmmm ... move correctness .. interesting ... not familiar with python ... maybe I'll do a little reading ............

Vote Up
Vote Down

Originally posted by dkappe
Having done something similar in the past, I can warn you that you'll soon get the need for speed, i.e. your program only starts getting dangerous when you're 6+ ply deep. 🙂

Still, it is pretty cool to write something that plays chess in perl.

Sure, perl is slow compared to the Cs , ..... really just doing it to learn more perl, to write different code than I usually do ..
Cheers

Vote Up
Vote Down

dkappe, what other game playing programs did you write? Go? Backgammon?

1 edit
Vote Up
Vote Down

Originally posted by BadBishop
dkappe, what other game playing programs did you write? Go? Backgammon?
Maybe some Majong?

Vote Up
Vote Down

Originally posted by BadBishop
dkappe, what other game playing programs did you write? Go? Backgammon?
Othello, Tic-Tac-Toe 🙂, and a training variant of Go where the first player to capture N (where N = 1 to 5) stones wins.

I also wrote a card playing program (Rummy 500).

The Othello program got to a point where I just couldn't even begin to beat it. Kind of an odd feeling when that happens.

The chess programs (I've written 2, one on 6502 assembly which sucked and one in C which is OK) I could always beat, since I knew where the weak spots were (closed positions, king safety, etc.).

Cookies help us deliver our Services. By using our Services or clicking I agree, you agree to our use of cookies. Learn More.