Sunday, October 26, 2008

October 2008 Research Map


Instead of writing out a text outline of what current problems remain in my dissertation research, I decided to make a hierarchical graph outlining open problems. I made the figure with OmniGraffle (lays out the hierarchy on its own).

I strongly suggest this method to people trying to map out their dissertation. I have found it easier to keep up to date after meetings and more intuitive to lay out. The only problem is that I can't place paragraph-length descriptions without making the graph cluttered. This results in my research map pretty much only useful to me because it only contains key words. Sorry.

Link: October 2008 Research Map

DARPA Grand Challenge Videos



I wanted to show a video to my undergraduate AI class about The DARPA Grand Challenge (a competition to design and build the best unmanned vehicles). After searching around, I quickly found "The Great Robot Race", a NOVA documentary on the 2006 DARPA Grand Challenge, that chronicles the stories of several competing teams. I thought the documentary was entertaining and offered great insight into the teams, how they are ran and the struggles they went through. Unfortunately, the AI that they did talk about was very brief and abstract; typical of a "mainstream" documentary.

In searching for supplemental material, I found a talk that Dr. Sebastian Thrun (Leader of the Stanford team that won the 2006 grand challenge) gave at Google, called "Winning the DARPA Grand Challenge." This talk, although similar in length to the NOVA documentary, gives great detail in the intelligent systems behind Stanley, the Stanford robot. As a result, this video is much more interesting from an artificial intelligence standpoint. After watching this talk, I decided I'll just show this to my class instead. Damn. I already paid $17 for the NOVA documentary on DVD.

On a side note, I don't know why some documentaries have to dumb the "meat" of the research so much. There was content covered in Thrun's talk that could easily be explained to a layman -- and wasn't. I wonder if I am incorrect in my faith for the common documentary viewer or the producers didn't feel like it was interesting. Who knows. I wonder how much interesting information I am missing when I watch documentaries outside of my area (E.g., ant documentaries).


Link: "The Great Robot Race" (NOVA)
Link: "Winning the DARPA Grand Challenge" (Dr. Sebastian Thrun)

New Swarm Videos

I added a few videos to my research site's video section. If you've never checked out my older videos, you should. They are probably more interesting than the ones talked about in this post.

First, there are videos of my Form Circle and Boid Density experiments, which are described in detail in my AAMAS '09 Paper: "Learning Abstract Properties of Swarm Systems" (currently under review). In addition, there is a video of a 3-dimensional boids domain I have been playing with.

I would like to mention that these videos were made by taking still image frames dumped by my simulations, then made into a video with the excellent program called FrameByFrame.

Form Circle
formcircle1.mov (3.6mb quicktime movie)

Boids in this demonstration self-organize into a circle. We varied the avoidance factor and the number of agents and ran several experiments to see what the radius would be. Our final goal was to create a mapping between the low-level parameters and the high-level property of radius.

Boid Density
boiddensity.mov (3.5mb quicktime movie)

Boids in this demonstration flock towards a goal (red dot). We record the average density on the way to the goal. Our final goal was similar to that of the form circle domain: creating a mapping between boid density and the low-level parameters.

3D Boids
boids1.mov (2.2mb quicktime movie)

Boids moving around in a 3 dimensional environment. Bigger boids are closer to the screen than smaller boids. Boids are dynamically color coded based on their flock. This program hasn't been integrated in my research yet.


Link: Don's Swarm Videos

AAMAS '09 Paper: "Learning Abstract Properties of Swarm Systems"


Update: This paper has been rejected :(. Time to address the reviewers' comments and get ready for IJCAI 09.

I just recently submitted a paper to the Eighth International Conference on Autonomous Agents and Multiagent Systems (AAMAS '09). The paper describes work done by myself and my adviser Dr. Marie desJardins and describes our current endeavors in swarm-level interactive control.

To make a long story short, this paper discusses the method of rule abstraction, which is used to define high-level properties of swarms that emerge out of low-level behaviors. We provide an example implementation of rule abstraction and apply it to two domains: agents that self-organize into circles (shown in the image in this post) and boid agents that flock.

Title: Learning Abstract Properties of Swarm Systems

Abstract:
Rule abstraction is an intuitive new tool that we propose for implementing and controlling swarm systems. The methods presented in this paper encourage a new paradigm for designing swarm applications: engineers can interact with a swarm at the abstract (swarm) level instead of the individual (agent) level. This is made possible by modeling and learning how particular abstract properties arise from low-level agent behaviors. In this paper, we present a procedure for building abstract properties and discuss how they can be used. We also provide experimental results showing that abstract rules can be learned through observation.



Link: Learning Abstract Properties of Swarm Systems by Don Miner and Marie desJardins

Python Tutorial

I use the Python programming language for the majority of my coding tasks these days. Note the title of this blog.

In Dr. Tim Finin's Principles of Programming Languages course (CMSC 331), I will be giving a guest lecture tutorial on Python. Most of these students have a semester or two of Java and C experience from introductory computer science classes, so I tried to keep it relatively simple.

Since I have this tutorial written up I will hopefully keep it updated as I come across interesting things. Just a few days ago I learned about the back-ticks around something to convert to a string. E.g., `12345`[2] returns '3'. I saw this in one of my student's code for one of their coding assignments; I should read more code other than my own.

Link: "Brief Introduction to Python"

Introduction

This blog will serve mainly as a documentation tool for my academic endeavors (dissertation research, classwork, teaching, etc.). I often update my personal website with no way of saying what is new and interesting that is going on.

Therefore, this will be my "news" site, and my original website will continually serve as a reference.