Archive for the ‘cool open source ai projects’ Category
JBotSim Library
JBotSim is a simulation library for prototyping distributed algorithms in dynamic networks. The style of programming in JBotSim is event-driven: your algorithms are defined as subroutines to be executed when some particular events occur (e.g. ring of an alarm clock, appearance/disappearance of a link, arrival of a message, movement of the underlying node, etc.). Movements of the nodes can be either controlled by the algorithm itself (e.g. mobile robots), by an independent algorithm (e.g. mobility model), or by means of mouse-based interactions during the execution. Besides its features, the main asset of JBotSim is its simplicity of use. ( read more The JBotSim Library )
More information:
JBotSim Library at Source Forge
Examples
Pyevolve Open Source Python Genetic Algorithm Code
Pyevolve was developed to be a complete genetic algorithm framework written in pure python, the main objectives of Pyevolve is:
* written in pure python, to maximize the cross-platform issue;
* easy to use API, the API must be easy for end-user;
* see the evolution, the user can and must see and interact with the evolution statistics, graphs and etc;
* extensible, the API must be extensible, the user can create new representations, genetic operators like crossover, mutation and etc;
* fast, the design must be optimized for performance;
* common features, the framework must implement the most common features: selectors like roulette wheel, tournament, ranking, uniform. Scaling schemes like linear scaling, etc;
* default parameters, we must have default operators, settings, etc in all options;
* open-source, the source is for everyone, not for only one.
More information:
Blog for Pyevolve
Documentation and downloads
GA Based Sorting using Pyevolve
MIT OpenCourseWare – Intro to Computer Science with Python
Stanford edu Machine Learning Course
We’ve all been to various .edu sites to the engineering courses only to find a Power Point Presentation with little information.
Stanford Engineering’s Machine Learning Course is an exception.
You have access to video of all the lectures, transcripts of all the lectures and class notes. I started working through it last week, brushing up on old topics and filling in gaps in my knowledge. Of all the online artificial intelligence and machine learning courses online, this is the best I’ve seen so far. The math is very low level, programming minimal, you’ll find it a very easy to work through introduction to machine learning.
Artificial Intelligence | Machine Learning
Instructor: Ng, AndrewThis course provides a broad introduction to machine learning and statistical pattern recognition.
Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive control.
The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.
Students are expected to have the following background:Prerequisites: – Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program.
- Familiarity with the basic probability theory. (Stat 116 is sufficient but not necessary.)
- Familiarity with the basic linear algebra (any one of Math 51, Math 103, Math 113, or CS 205 would be much more than necessary.)
MIT also has a class available for Machine Learning, no lectures, but there are pdf notes.
Evolving 3d virtual creature software and papers
I’ve been catching up reading AI papers on my Sony Reader, it’s very nice to have all these books and papers with you all the time, and I ran across a paper on 3d creatures that evolve and battle. The software is open source and there is extensive information explaining the project.
I evolve virtual creatures. That is, instead of designing the creatures myself, I let Darwinian evolution do the work for me. Starting with a bunch of completely random creatures, I evaluate them, select the “best” (where the definition of “best” depends on what you are trying to obtain: distance covered, outcome of a fight, etc.), allow these “good” creatures to “reproduce” (that is, generate new creatures based on recombination and mutations of these “good” creatures), and start this cycle again with the new population. After a while, increasingly efficient behaviours appear spontaneously.
Both the morphology (body) and behaviour (neural network) of the creatures are fully evolved: I only specify the evaluation function (that is, how to determine the “score” of a creature), and evolution takes care of the design, slowly turning random creatures into highly efficient machines.
This research builds upon the seminal work of Karl Sims; in fact, this was the first successful reimplementation of Karl Sims’ system. I improved the genetic encoding and the developmental system. I also chose to use standard, McCulloch-Pitts neurons instead of the complex functional neurons used by Sims (which makes the problem harder, but more interesting: creatures can’t rely on complex neurons to directly provide useful behaviours, they need come up with their own coordinated neural systems).
I also managed to evolve “fighting” creatures: creatures evolve to smash each other out. I believe this is a first (previous attempts used simplistic forms of “combat”).
Yet another computing language, R the language of statistics
Yet another year, yet another dozen languages. Some times it seems as if all my time gets sapped up learning new languages. R is growing rapidly in popularity making news on Slashdot and the NYT late last year.
R provides a graphics package for visualizing your data, a data editor, data manipulation and has C/C++ interfaces. When R is open it provides a set of windows allowing you to interact with your data. The instruction manuals, tutorials, source code for Linux, OSX and Windows are available for free at the R Project site
R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca partly because data mining has entered a golden age, whether being used to set ad prices, find new drugs more quickly or fine-tune financial models. Companies as diverse as Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group and Shell use it.
But R has also quickly found a following because statisticians, engineers and scientists without computer programming skills find it easy to use.
“R is really important to the point that it’s hard to overvalue it,” said Daryl Pregibon, a research scientist at Google, which uses the software widely. “It allows statisticians to do very intricate and complicated analyses without knowing the blood and guts of computing systems.”
It is also free. R is an open-source program, and its popularity reflects a shift in the type of software used inside corporations. Open-source software is free for anyone to use and modify. I.B.M., Hewlett-Packard and Dell make billions of dollars a year selling servers that run the open-source Linux operating system, which competes with Windows from Microsoft. Most Web sites are displayed using an open-source application called Apache, and companies increasingly rely on the open-source MySQL database to store their critical information. Many people view the end results of all this technology via the Firefox Web browser, also open-source software. R, the software, finds fans in data analysts read more . . .
The R Project for Statistical Computing
Revolutions: How R is disrupting a billion dollar market
