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.
How about a decision process that uses mapreduce, and gets more efficient at choosing the answer each time?
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.)
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.
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).