Settings

Theme

SimpleAI: Artificial Intelligence with Python

simpleai.readthedocs.org

106 points by fisadev 13 years ago · 7 comments

Reader

hcarvalhoalves 13 years ago

Very interesting, but the code example used in the documentation is pretty poor:

    from simpleai.search import SearchProblem, astar

    GOAL = 'HELLO WORLD'

    class HelloProblem(SearchProblem):
        def actions(self, state):
            if len(state) < len(GOAL):
                return list(' ABCDEFGHIJKLMNOPQRSTUVWXYZ')
            else:
                return []

        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
Among other things, why create a class and hardcode the GOAL as a constant?
  • fisadevOP 13 years ago

    It's just illustrative, to understand how you give the information needed to run one of the algorithms.

    May be we can think of a better example, will try :)

  • fisadevOP 13 years ago

    besides, not always you want to find the goal state. Many problems are about findig the path of actions from the initial state to the goal state, both known.

mikle 13 years ago

This is awesome. I really want to play with some AI lib and all of the ones I tried have way too many problems compiling on Windows. pip install them fails too. I don't want to spend time compiling libraries.

This one just worked. This is the Python way.

  • ddorian43 13 years ago

    Have you tried active python? Pypm install has many libraries compiled for windows.

    • mikle 13 years ago

      I totally forgot about it. You are right, I might give some of the more hardcore ones after I'm done playing with this one. Thanks!

alok-g 13 years ago

See also: https://code.google.com/p/aima-java/

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection