In need of a multi-agent systems thesis topic.
September 5, 2006 8:18 PM   Subscribe

Help, I need an undergrad computer science thesis topic!

The topic must:
  • have enough depth to allow for a semester of research and 60 pages of explanation
  • be something new or something novel (even if it's ever so slight)
  • be something feasible (I'm a computer scientist---not a rocket scientist)

    Here are some possibilities, in order of my interest:

    - Finance: quantitative analysis and algorithmic trading
    - Multi-agent systems (anything within this umbrella I think might be a good start for me)
    - Economic systems, simulations

    I'm also interested in embedded systems, compilers, and robotics, but I think these areas have much larger barriers to entry. Other topics might also be good, but multi-agent systems is probably my most reasonable starting point.

    Can anyone recommend SPECIFIC topics that I could look into? I.e., I'd more appreciate responses that detail a specific problem than responses that suggest a category of things to look into (though both are helpful).

    If nothing else, links to good references would be great.

    So many thanks in advance.
  • posted by carson to Education (11 answers total)
    what about developing an open-source financial engine that can execute specific trading strategies, and sprinkle it with enough AI to let it 'think' on it's own.
    posted by unexpected at 8:31 PM on September 5, 2006

    I'd suggest finding a professor with interests in these areas and having a small talk with him/her. You may end up with a good relationship that provides both fruitful research and connections as well as future benefits such as grad school recommendations or work referrals.
    posted by kcm at 8:33 PM on September 5, 2006

    Do you have an advisor? If so your advisor's interests may significantly affect your options. If not, you should get one soon. Your advisor may have a specific topic ready to suggest to you, and also may not be willing to advise on something outside of his/her specialty. (apologies if this is too obvious).

    I'm also interested in embedded systems, compilers, and robotics, but I think these areas have much larger barriers to entry. Other topics might also be good, but multi-agent systems is probably my most reasonable starting point.

    I'm not sure this is true. MAS is much more AI-oriented than the topics you suggest, and really current research is very complicated both conceptually and mathematically. The other topics you suggest have the advantage (at least relative to MAS) that much of the work for you would be in moderately straight-ahead programming, not in understanding distributed bayesian networks (or whatever). I don't mean to say this to discourage you, since I personally think MAS is much more interesting than the others.

    Can anyone recommend SPECIFIC topics that I could look into?

    Again, I think that only your advisor would be able to make a really specific suggestion (probably based on his/her current research agenda, and whatever in-house tools his/her lab has developed). Or at least someone currently doing research in the field (which I'm not). But you should take a look at some research groups for each field to get an idea of what they're working on. The multi-agent systems lab that I worked in as an undergrad (for instance) has a really nice site about their research that might give you some ideas. If you have a lab like this around, the best option might be to find a current project and with the help of your advisor delineate some approachable and interesting (to you -- this is very important!) piece of it that needs to be worked on.
    posted by advil at 8:35 PM on September 5, 2006

    Don't go parading around on the Internet looking around for research topics, go parading around your CS department meeting graduate students, professors, and other researchers who are

    - interesting
    - interested in you
    - compatible with your work style

    Then come back to us if you want information about specific topics your advisors have suggested. As this question is worded, you're likely to get a lot of bad advice (aside from the three posts above mine).
    posted by onalark at 8:47 PM on September 5, 2006



    P != NP
    posted by parmanparman at 9:13 PM on September 5, 2006

    Are you interested in security at all? It's 2006, and fuzzing _still_ yields absurd results.

    Also, as we enter the era of multi-core computing, security issues surrounding threading could get much more interesting. Reliable discovery and exploitation of race conditions is an interesting field.

    Feel free to mail me if you're interested in working on either.
    posted by effugas at 9:25 PM on September 5, 2006

    Response by poster: I have talked with my advisors and numerous others. They tell me to look at different areas, to read different journals, and then find something I want to work on. This is where I'm having trouble. Everything seems interesting to me, and I can't unearth SPECIFIC problems that are feasible for me to work on. I just don't have depth in any one field to the point where I can pick out what needs to be done.

    What I really need are concrete examples of problems to tackle. I'm a good programmer and reasonably good at math. I know I can do a lot, I just don't know a lot about what I should do.
    posted by carson at 9:33 PM on September 5, 2006

    First you want to make sure what you want to do hasn't already been done. A lot of my "brilliant" ideas have turned out to be previously published work.

    You could read some research papers that interest you, and then something in the "Future work" section. Beware of items that authors put in Future Work to fend off reviewers but are nearly impossible to actually do.
    posted by tasty at 10:06 PM on September 5, 2006

    I teach finance part time at a University in London, and while students are supposed to come up with their own topic many fail to and need a nudge.

    One path of research that I've suggested to students with a strong programming background is in the area of Genetic Algorithms, specifically using such constructs to create the minimal portfolio from the S&P 500 that outperforms that index; offers a higher return with lower volatility. While this is interesting it's often more insightful to include other assets and in all cases transfer results to out of sample forecasting.

    Another student did a nice disseration on several models to opitimise dividend capture, while merger aribtrage and other event driven strategies always seem to be safe bets. Once again, the goal is to not only arrive at models that maximise the returns of such trading strategies, but also explain how / why they work, insure parsimony (the smallest possible model), and offer minimially acceptable out of sample forecasting.

    Market microstructure is an area of my own research interest, and given fast / cheap computing lots of interesting work is being done driven by the New York Stock Exchange's Tick and Quote Data. This is high frequency data, so if you don't already have a solid background in stats/econometrics (as well as your programming skills), you may not be able to yield productive work from this effort.

    Contrary to comments made upthread, you don't necessarily have to do something original either; remember a large part of research is confirmation of resutls by repeating others work. Sometimes students will repeat a piece of research and, after failing to duplicate results, explain why. Another avenue that I've had success with students in the past it taking research and applying it to a different, but similar problem. Once again, justify and explain your results.

    Best of luck!
    posted by Mutant at 11:21 PM on September 5, 2006 [2 favorites]

    If this sort of thing interests you, the author (an old if lapsed friend of mine) would probably be happy to talk to you. He works at Soundspectrum now and makes G-Force be awesome. You can tell him I said so.
    posted by dmd at 5:50 AM on September 6, 2006

    I think several students have done undergrad and even master's theses working on advanced topics in the Python core. If you know Python, you might consider asking the developers on python-dev.
    posted by grouse at 6:18 AM on September 6, 2006

    « Older What's on Rimbaud's arm?   |   What to do about a now-uneeded airline... Newer »
    This thread is closed to new comments.