Skip to content

Comment on SimpleAI: Artificial Intelligence with Python

Comments

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?

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 :)

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.