Kiran Sudhakara
 General
    news
    about/contact
    portfolio
 Projects
    artwork
    scarred steel
    fractal terrain
    b-spline terrain
    mgs clone
    raytracer
    intelligent agent
    street wars
 Downloads
    profiler
    memory pool
    neural network
    obj importer
    q3bsp importer
 Links
    umbcgdc.org
    gamasutra.com
    gamedev.net
    blender.org

Intelligent Agent for Search and Rescue- Completed


    This is a project I worked on with two friends for an artificial intelligence class. Each group in the class wrote an intelligent agent to rescue virtual victims from a virtual disaster zone. The front-end and simulation environment was written by our AI instructor, Eric Eaton. At the end of the semester we pitted our agents against eachother in a tournament to see who could rescue the most victims. Four agents came out on top (four-way tie!) and my group's happened to be one of them.

    Our agent has a few neat features. We preprocess the building layout to create "rooms" using our own version of binary space partitioning. While the agent is exploring, it searches paths from the current room to goal rooms using an A* algorithm. Once the agent has found victims, it retrieves the closest one using a breadth -first search. Then the agent drops the victim off to the nearest exit using another A* algorithm. All the while, our agent observes the surrounding areas so it can remember victim and object locations that it can't physically see with its sensors. As soon as the agent is done dropping a victim off to an exit, it will immediately search a path to any victims it remembers seeing. One caveat of this is that victims can move, so the agent has to update it's memory whenever it revisits an area.

    My role in the project was to implement the agent's states, searching algorithms, and memory. I also helped design the room partitioning which really made our agent unique. Development was extremely rapid because we wrote the entire project in Lisp. Our design relied heavily upon manipulating and searching through data structures, so Lisp was perfectly suited to do the job.

The project description can be found at: http://maple.cs.umbc.edu/~ericeaton/teaching/471/project/description.html

Language(s): Common Lisp
Development Time: Two weeks

Download: none