simpleai is a Python module based and inspired in aima-python: https://code.google.com/p/aima-python/.
We implement most of the searches in aima-python plus some extra options. Besides, we make some improvements in terms of code readability, installation, testing, and others.
Just get it:
pip install simpleai
Simple AI allows you to define problems and look for the solution with different strategies. Another samples are in the *samples* directory, but here is an easy one.
This problem tries to create the string "HELLO WORLD" using the A* algorithm:
from simpleai.models import Problem
from simpleai.methods import astar_search
GOAL = 'HELLO WORLD'
def actions(self, state):
if len(state) < len(GOAL):
return [c for c in ' ABCDEFGHIJKLMNOPQRSTUVWXYZ']
def result(self, state, action):
return state + action
def is_goal(self, state):
return state == GOAL
def heuristic(self, state):
# how far are we from the goal?
wrong = sum([1 if state[i] != GOAL[i] else 0
for i in range(len(state))])
missing = len(GOAL) - len(state)
return wrong + missing
problem = HelloProblem(initial_state='')
result = astar_search(problem)