[Haskell-cafe] Haskell and AI

Adam Wyner adam at wyner.info
Mon Mar 19 14:17:25 EDT 2007


I agree with Andrew Wagner re:  Haskell and AI.

There are some relevant resources on Haskell, Maths, and Logic:

*The Haskell Road To Logic, Maths And Programming (Paperback) *
by Kees Doets <http://www.amazon.com/exec/obidos/search-handle-url/103-5196905-1677457?%5Fencoding=UTF8&search-type=ss&index=books&field-author=Kees%20Doets> (Author), Jan van Eijck <http://www.amazon.com/exec/obidos/search-handle-url/103-5196905-1677457?%5Fencoding=UTF8&search-type=ss&index=books&field-author=Jan%20van%20Eijck> (Author)

http://www.amazon.com/Haskell-Road-Logic-Maths-Programming/dp/0954300696/ref=sr_1_1/103-5196905-1677457?ie=UTF8&s=books&qid=1174327994&sr=1-1

van Eijck has another book on Computational Semantics.  Elsewhere, there is work on learning algorithms in Haskell.

Broadly, we might start by gathering known resources, projects, and people.  We could consider one of the standard AI books as a guide for chapters, sections, and problems to fill in with Haskell approaches.

I'd be very interested to contribute to this.

Cheers,
Adam Wyner

Message: 7
Date: Mon, 19 Mar 2007 12:51:19 -0400
From: "Andrew Wagner" <wagner.andrew at gmail.com>
Subject: Re: [Haskell-cafe] Haskell Chess
To: haskell-cafe at haskell.org
Message-ID:
	<b8a8636e0703190951y21c7cb01qcb4f5b58089b169d at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070319/9a64e679/attachment.htm


More information about the Haskell-Cafe mailing list