Angel \”Java\” Lopez on Blog

January 7, 2015

JavaScript And Artificial Intelligence (2)

Filed under: Artificial Intelligence, JavaScript — ajlopez @ 9:42 am

Previous Post
Next Post

Thanks to JSConf Argentina 2014 for giving me the opportunity to give this talk, in this excellent conference. To give a dynamic format, the talks were twenty minutes. I would like in this series of posts complete the presentation I wanted to show, commenting in more detail some points, and presenting other demos and projects that were left out of the conversation.

Today’s topic is recommending THE book that helped me as study guide for an endless theme, a classic computer science (the fourth most cited in this century):

Artificial Intelligence, a Modern Approach
http://aima.cs.berkeley.edu/

by Stuart Russell and Peter Norvig. About the lastest edition cover:

http://aima.cs.berkeley.edu/cover.html

There is an Spanish edition, and I found it at bookstores in Buenos Aires, a few years ago. It has more than a thousand pages, twenty-seven chapters and appendices, from intelligent agents to neural networks, from search algorithms and evaluation of trees to robotics and philosophical themes. I find it interesting that each chapter is accompanied by notes on the history of the topic, which always think that gives us perspective and better understanding of the problems and difficulties in development. Not to keep only “what we know now”, but also to study what was the path followed to reach the current state, which may also serve to understand what the future we can continue.

Code, pseudocode at http://aima.cs.berkeley.edu/algorithms.pdf  Lisp, Python, Java code at http://aima.cs.berkeley.edu/code.html

A big list to research: AI on the web http://aima.cs.berkeley.edu/ai.html

In the edition I have, JavaScript does not appear as a programming language to use. It is a good exercise to adapt the examples in pseudocode implementations to different languages. I try to implement some examples in the project https://github.com/ajlopez/NodeAima. Notably, JavaScript must be the simplest language to implement many of the ideas in the book. Implementations typed and not-dynamic languages such as Java and C #, seem to always have some “convoluted” solutions compared to a direct implementation in JavaScript. See for example https://github.com/ajlopez/SharpAima

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Create a free website or blog at WordPress.com.

%d bloggers like this: