New engine: Ildtiadar 0.8

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

JonasT

New engine: Ildtiadar 0.8

Post by JonasT »

Hi.

Introduction
I spent some time developing a chess engine mainly because I'm curious how it works and want to learn about algorithms to analyze such problems and also because I simply wanted to see whether I could do it. The project is merely 3 weeks old, but now I have just reached a state where that thing actually works - with Chess Engine Communication Protocol Version 2 support including edit mode and move now! feature.

Features
What I implemented so far:
* A brute force search tree
* Cut off by alpha beta pruning
* Another speedup by using nullmove heuristic
* A mix of field array and figure list for fast movement calculation
* A dumb greeting message that is composed of various parts ! (killer feature :-D)

Which gives usable results, but painfully missing is
* Time management

Playing style
Currently, the engine is tweaked to play *very* fast which obviously lowers strengh A LOT but play against it with 1 minute for 25-40 moves (depending on your hardware) and you will probably find it challenging.
I want to monitor the time and adjust calculation depth according to the remaining time, but it's just not done yet.

ToDo List
Writing a chess engine is pretty cool, especially when all those algorithms suddenly come to life. I still have a couple of things to tweak (mainly hashing boards for another speed up and time management), also undo isn't working yet.

Download
Give me some feedback how you find the Ildtiadar Chess Machine (don't forget it's really just an amateur's engine written in 3 weeks with also other things in mind)
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: New engine: Ildtiadar 0.8

Post by Dr.Wael Deeb »

Thanks Jonas and good luck with your future releases :D
I like most the killer feature you implented :wink:
Cheers,
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
User avatar
meschle
Posts: 200
Joined: Tue Apr 01, 2008 11:53 pm

Re: New engine: Ildtiadar 0.8

Post by meschle »

Welcome to CCC and thanks for your engine.

I easily beat it I am afraid but look forward to the next release :)
Regards Mark

Quad Q6600 3.0 Ghz, Vista 64bit, 4gb Ram
metax
Posts: 344
Joined: Wed Sep 23, 2009 5:56 pm
Location: Germany

Re: New engine: Ildtiadar 0.8

Post by metax »

Does it have an evaluation yet? I ask because it seems only to look at material, and sometimes not even that (in the game I played against it, it lost a rook in two moves by discovered check).

I also want to inform you that there probably is a bug with promotions. In the game it wanted to play 'b2b2n', which the GUI did not accept. ;)

Btw, I like the messages shown at the start of a game. :)
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: New engine: Ildtiadar 0.8

Post by Matthias Gemuh »

JonasT wrote: Which gives usable results, but painfully missing is
* Time management
Hi Jonas,

I hope that before tomorrow morning, :wink:
you will at least throw in Time=(TimeLeft/(2+MovesLeft)) and Time=((TimeLeft/25)+Increment).

Thanks,
Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
JonasT

Re: New engine: Ildtiadar 0.8

Post by JonasT »

Does it have an evaluation yet? I ask because it seems only to look at material, and sometimes not even that (in the game I played against it, it lost a rook in two moves by discovered check).
Yea, so far it only has a raw material check. It seemed to work rather ok though (better at deeper depths than the one used now for the fast move calculation), but ofc I need to improve this. Next plan is to reward nicer pawn lines and I also read the discussion about tactical weight of different king positions I found here on talkchess.com with great interest. But frankly, I haven't read enough about non-material valuation yet and simply need to read up more on what other engines actually do here.
I also want to inform you that there probably is a bug with promotions. In the game it wanted to play 'b2b2n', which the GUI did not accept.
Thanks a lot!! Need to test that ASAP
I hope that before tomorrow morning, :wink:
you will at least throw in Time=(TimeLeft/(2+MovesLeft)) and Time=((TimeLeft/25)+Increment).
I'm having huge trouble with otime/time because the protocol specs say time is always related to the engine, but I wonder what happens when force mode is on and the engine is suddenly asked to play the opponent (it really annoys me that the times are attached to engine and opponent and not to black and white :(). To solve this properly and see how it actually works also in those special cases I'll need some time.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: New engine: Ildtiadar 0.8

Post by Matthias Gemuh »

JonasT wrote:
I hope that before tomorrow morning, :wink:
you will at least throw in Time=(TimeLeft/(2+MovesLeft)) and Time=((TimeLeft/25)+Increment).
I'm having huge trouble with otime/time because the protocol specs say time is always related to the engine, but I wonder what happens when force mode is on and the engine is suddenly asked to play the opponent (it really annoys me that the times are attached to engine and opponent and not to black and white :(). To solve this properly and see how it actually works also in those special cases I'll need some time.
Concerning otime/time, if you just use time (and even ignore otime), I don't see why it shouldn't work.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
JonasT

Re: New engine: Ildtiadar 0.8

Post by JonasT »

Hm so xboard/winboard will simply send me the time using time that is relevant to me so I always use that time when scaling my move calculations? Sounds reasonable now. I just found the protocol specification a bit confusing :roll: and wondered whether I need to find out which colour time/otime is referring to now. But I just shouldn't care and take time as my time when calculating...
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: New engine: Ildtiadar 0.8

Post by Matthias Gemuh »

JonasT wrote:Hm so xboard/winboard will simply send me the time using time that is relevant to me so I always use that time when scaling my move calculations? Sounds reasonable now. I just found the protocol specification a bit confusing :roll: and wondered whether I need to find out which colour time/otime is referring to now. But I just shouldn't care and take time as my time when calculating...
Just using time and the 2 Time formulae I suggested already makes your engine 1000 times more interesting for the hungry multitude out there, who want to see an Elo, even if it is 1100 or less.
Many people strongly detest engines that lose on time :wink:

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
JonasT

Re: New engine: Ildtiadar 0.8

Post by JonasT »

I just uploaded an important update!
I was able to tweak moving time again considerably and now it runs in the better, slower mode a lot faster and probably can't do 40 moves in 5 minutes but maybe at least around 20 (depends on hardware obviously). Give it a try, it also should be more challenging now. Haven't checked out the transformation issue yet, so if there is one it might still be unfixed :cry: but those speed improvements justify an update I think. Real time management needs to wait until week-end