[Haskell-cafe] Haskell Chess

Andrew Wagner wagner.andrew at gmail.com
Mon Mar 19 12:51:19 EDT 2007


Here's my take on this: I've thought for a while now that Haskell
needs a general toolkit for AI. After all, functional programming has
long been recognized for being good at AI, yet you rarely hear about
it being done in Haskell. Anyway, my suggestion would be to
concentrate on methods of AI. For example, if we implement alpha-beta
polymorphically enough, it should be trivial to use it for any game
that it makes sense to use it on. This kind of thing is what I was
thinking of when I talked about some "fundamental design" ideas I had.
Things like writing a Board type-class, so that you can implement any
board representation you want to for chess. Or writing alpha-beta in
terms of positions and moves, regardless of what kind of game you're
talking about (I also think you simply must use unfoldTree, as this is
a beautiful instance of it). Things like learning, and other general
strategies, should be developed independently of any particular game,
IMHO.

On 3/19/07, Steffen Mazanek <smazanek at steffen-mazanek.de> wrote:
> I originally used a more general approach (probably similar to the one
> you refer to), but
> kicked generality out in favor of simplicity. In teaching one should
> probably just discuss
> this aspect, but stay with the simple approach (I'll add a note to the
> wiki page :-)). In
> contrast, for the real Haskell world such a library would be great. One
> could even use
> an abstract game specification and compute the corresponding core (if
> existing and
> computation being feasible according to the complexity of the game).
>
> Two-Player-zero-sum games are very library friendly kinds of games.
> However, interesting
> "other" games are probably too diverse to be pressed in a general
> framework, aren't they?
>
> Henning Thielemann schrieb:
> > On Mon, 19 Mar 2007, Andrew Wagner wrote:
> >
> >
> >> Steffen,
> >> I've done some chess AI programming in the past, so I'd be happy to
> >> help with this project. I have some pretty fundamental design
> >> suggestions that I'll write up for the wiki page.
> >>
> >
> > As a spin-off, will there grow some library for general strategies in
> > board games, like those described in "why functional programming matters"?
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list