[Kde-games-devel] Introducing the KDE AI library

Inge Wallin inge at lysator.liu.se
Sat Mar 7 18:57:33 UTC 2015


On Wednesday, February 11, 2015 05:29:02 PM Inge Wallin wrote:

> So I thought the time would be ready to announce the existance of the
> project and let other people take a look at it.
> 
> To use it, you need to provide a few classes:
>  - Position: represents the state of the game
>  - Move: represents the transition between two states of the Position
>  - MoveGenerator: generates moves from a Position
>  - Evaluator: evaluates a Position
> and a few more. This is documented inside the library.
> 
> Ok, that was the good news.  However, I'd also like to say that this is not
> yet ready for prime time. The documentation is not complete yet, and there
> are probably bugs inside it. But it's good enough to take a first look at,
> and it actually does work for the example program.

I have worked on and off on this since the announcement and the library is in 
much better shape now. Many API strangenesses have been resolved, there is 
better documentation and there is an example game implementation that shows 
exactly how to use the library.

And I have managed to optimize the library so much that we now get 2-6 more 
plies on the same time as before for my example game, which is Connect 4.

> The repository is kde:libkdeai or
> http://quickgit.kde.org/?p=scratch%2Fingwa%2Flibkdeai.git if you prefer to
> look at it on the web.
> 
> At this point it implements an iteratively deepening enhanced negamax alpha-
> beta algorithm with some optimizations: scout with zero-window search,
> killer heuristic, null-move heuristic. If this doesn't tell you anything,
> then you're the perfect user of this library because you don't have to
> care. Just plug it in and you have a professional level game searcher in
> your program.

All of this is still true, but now we also have transposition tables, which 
makes a huge difference (this is in addition to the other optimization I was 
talking about above).

> Feedback is very welcome even if you don't use it in your own program!

Feedback is still very welcome, of course, but I am not at a stage where I'd 
like to cooperate with some maintainer to implement the library. Any taker?
 
> 	-Inge
> 
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel


More information about the kde-games-devel mailing list