views:

369

answers:

7

I require to do a project as a part of my final year of engineering graduation studies.Can you suggest some projects pertaining to distributed systems and artificial intelligence together and which require python,c or c++ for programming? Note:-Please suggest a project that is attainable for a group of 2 students.

+1  A: 

How about a decision process that uses mapreduce, and gets more efficient at choosing the answer each time?

Rob Elliott
+4  A: 

Perhaps improve computer opponents for Go?

http://en.wikipedia.org/wiki/Go_(game)

Degan
This is a good candidate for distributed systems because Go has so many potential moves (19x19 in comparison to Chess 8x8). You could reduce the problem as necessary by playing on smaller boards.
Rob Elliott
Oh, a group of students of our institute tried this using a 400 core cluster and a cluster of custom hardware (FPGA). Result: Disappointing, Go is simply extremely hard. We have PhD students solely focused on Go Computing. My point is: Maybe this is a bit hard as final year Master thesis.
dmeister
Publication of the FPGA project: Marco Platzner, Sven Döhre, Markus Happe, Tobias Kenter, Ulf Lorenz, Tobias Schumacher, Andre Send, and Alexander Warkentin. The GOmputer: Accelerating GO with FPGAs. In Proceedings of the 8th International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), Las Vegas, Nevada, USA, July 2008. CSREA Press.
dmeister
It seems that there might chance a project could be developed to offer some marginal improvement to current techniques, by perhapss using an AI controled massively distributed system?Or building a system to attempt to solve 7 x 7 Go (A group of strong amatures with some help from professionals has provided what appears to be an optimal solution: http://senseis.xmp.net/?7x7BestPlay. To my understanding this has not been proven yet.)
Degan
A: 

If GO seems to complicated, you could also try a five in a row computer opponent. (Wikipedia does this with GO-pieces, but I'm more used to the tic-tac-toe noughts and crosses.)

jacob
+1  A: 

And what about participating in NetFlix competition?

Artem Barger
It's over in a couple of hours...
Triptych
A: 

Orange is an comprehensive data mining and machine learing suite featuring Python scripting and visual programming. Maybe you too distributed it:)

sunqiang
A: 

How about hacking a P2P protocol and implementing something useful? I worked on a proxy cache implementation for P2P traffic. Basically, design and implement a proxy cache for P2P traffic. It will be different from web documents/objects in that:

1- P2P objects are immutable. You might request a web-page more than once, but you really download a P2P object (e.g., movie) once and read it from your desk multiple times.

2- P2P objects are huge compared to web objects (up to few Gigabytes) so you'll need to cache some objects partially, and implement some kind of smart admission/eviction policy.

3- P2P objects have different popularity. Just because something is in the cache does not mean it should stay in the cache forever, because its popularity will degrade (i.e., once a movie is released it is very popular, downloaded a lot, then it drops and everybody forgets about it), so you can't rely on recency or frequency alone as the only replacement policy.

navigator
+1  A: 

I need some kind of tool which observes the behaviour of a automation system (for instance a process control system), and is able to figure out on which inputs which actions follow, and then derives some kind of model from it which would then be usable as a simulation of the real system. It's not exactly distributed, but its engineering :-)

On the other hand, our code is written in java (although you could use jython instead).

If you are interested, drop me a mail (juergen DOT rose AT inavare DOT net).

Mauli