|
Post by stephan on Jan 17, 2012 7:16:50 GMT -5
Dear students,
In this thread you can post and discuss ideas for your final project. The project can be done in groups of up to three students. So, you can also use this forum to advertise for group members. You can choose your own topic for the project, as long as it is somehow related to AI. Ideally, there is something that you are interested in want to try out.
Here are some ideas to get you started: * Expert system for a domain * Game player * Puzzle solver * Bot for an action game * Robot navigation (virtual or possibly real) * Chat bot with reasoning * Planning / scheduling system * Pattern recognition (e.g. for vision) * Speech recognition
You don't have to build a complete system from scratch. Depending on the topic you choose, you might not have enough time for this. Often there are existing systems or libraries that you can extend or use to build your system.
Cheers, Stephan
|
|
|
Post by gudmundurs10 on Feb 20, 2012 11:45:17 GMT -5
We had two ideas
First idea was something that had to do with swarm intelligence problem solving, that is to say multiple agent working together towards a common goal that are smarter together than apart. So each agent has some basic intelligence but as they get closer to each other they get smarter by sharing data.
Another idea which is a subset of this is a multiple agent environment where teams work together to destroy the another team, each can have a specific purpose.
We didn't know how complicated those ideas are so we wanted to continue from the vacuum agent but instead have it as a mars rover with a simple graphic environment, however we don't know how to make this more exciting/complex than the vacuum agent.
|
|
|
Post by stephan on Feb 20, 2012 12:29:41 GMT -5
Controlling multiple agents such that they work together is certainly an interesting topic. There are several contests that I know of the do something in this direction. - Last years Multi-Agent Contest (www.multiagentcontest.org/) was to program a team of autonomous agents such that they work together in settling on mars (of course there are other teams trying the same thing at the same time, so you have to fight over resources). The contest from the previous years use other interesting domains like controlling a herd of virtual cows or a team of goal miners.
- The goal of last years AI Challenge (aichallenge.org/problem_description.php) was to program artificial ants, also in a competitive environment.
- The MIT Battlecode contest (www.battlecode.org/) wants you to program an AI for a team of robots that play the game Battlecode (a strategy game involving resources and battles).
- Robocode (robocode.sourceforge.net/) is a environment for programming robot tanks (single or teams) that fight against each other.
Unfortunately, the competitions I mentioned are all passed now and I don't know of any contest that is on right now or in the near future. However, the websites provide nice frameworks and starter code for download. So if you think it would be fun to program a team of agents or do something with swarm intelligence (especially the artificial ants), I would recommend using one of the existing frameworks. This way you already have a domain and you also have a simulator for the domain that you can use to test your agents.
|
|
|
Post by birgirb10 on Feb 20, 2012 14:47:59 GMT -5
I have two ideas for the final project.
1. AI for the game Starcraft: Brood War using BWAPI. There exist several competitions based on making bots for the game and making them compete against each other. It could be fun, but perhaps too difficult. Haven't really looked into it much.
2. Some kind of a bot that plays a Flash game using image recognition. Probably a 2D game which isn't too fast, otherwise it could get too complicated.
|
|
|
Post by stephan on Feb 20, 2012 15:39:20 GMT -5
1. The API for Starcraft seems nice enough to program your own bots. Creating a bot from scratch still seems to be a lot of work though. However, you can find the source code for some bots online (e.g., for the bots from the AIIDE 2011 competition). Maybe you can pick some parts of the strategy you are interested in and "borrow" the code for the remaining parts from someone else. You could start by figuring out what is necessary for a complete bot (e.g., path planning for single units, avoiding conflicts when several units move at the same time, deciding on tasks for units, ...). 2. Writing a bot for playing a flash game is mainly interesting for the image recognition part. Before starting make sure that there is an easy way to simulate key presses and mouse clicks, otherwise you can't do anything. You can of course do the same thing with any other game (that is, a standalone executable instead of a flash game). Maybe you start by looking at a few games for which you find a fairly easy way to solve them using AI and that do not contain too many difficult graphics. For example, tile-based games (basically everything that operates on a grid and does not have confusing/moving background) should work quite well or a stick man game (e.g., www.newgrounds.com/portal/view/262871).
|
|
ou
New Member
Posts: 7
|
Post by ou on Feb 20, 2012 17:19:06 GMT -5
I have two ideas. Implement a new(and hopefully better) AI for the TripleA game engine. triplea.sourceforge.net/mywikiThis engine is intented to play turn based games like Axis & Allies. I tried it and the current AI does work, but they don't help out their allies in the game. The other idea is a tank vs soldiers game. The tank is controlled by AI and it has the mission to destroy all soldiers. The soldiers are controlled by humans. The enviroment is contigious and in realtime. I don't know how much work either of these projects would be
|
|
|
Post by svanurk12 on Feb 20, 2012 18:02:23 GMT -5
Regarding the 'Chat bot with reasoning': how much reasoning? and is the chat limited to a specific domain? AI and Facebook? Any ideas here? Finally, just saw 'Rise of the planet of the apes' the other day were, at the begining, an ape solves the 'Lucas Tower' game (ie en.wikipedia.org/wiki/Tower_of_Hanoi) ...but maybe that's not suitable as a final project idea?
|
|
|
Post by heidar on Feb 21, 2012 16:17:15 GMT -5
We had a few ideas for the final project.
Like others have mentioned, making a bot for a video game - given a good API to work with and maybe some example bots.
Another idea was to implement an agent that analyzes opponents in a game of poker and tries to guess what actions they will take depending on the action the agent takes.
|
|
|
Post by stephan on Feb 22, 2012 7:14:29 GMT -5
Implement a new(and hopefully better) AI for the TripleA game engine. triplea.sourceforge.net/mywikiThis engine is intented to play turn based games like Axis & Allies. I tried it and the current AI does work, but they don't help out their allies in the game. This seems to be a nice idea and may not be too complicated. There is already an AI implemented, so you would just try to change the strategy in some ways. That means the coding effort will probably not be too high. You should check if you understand the code of the AI that is currently implemented, though. The other idea is a tank vs soldiers game. The tank is controlled by AI and it has the mission to destroy all soldiers. The soldiers are controlled by humans. The enviroment is contigious and in realtime. The problem is basically that you would start from scratch here unless you find an environment/game engine that you can use. Programming the game engine alone is a lot of work. I'd suggest to use some existing framework (e.g., the Robocode framework I mentioned) so you can focus on implementing the AI without spending a lot of time on the environment. There are also existing engines that you can use to make your own environment (e.g. the Quake engine for FPS games). I don't know how much effort that is, though.
|
|
|
Post by stephan on Feb 22, 2012 7:21:28 GMT -5
Regarding the 'Chat bot with reasoning': how much reasoning? and is the chat limited to a specific domain? This is just a suggestion. The domain is up to you, if you are interested. I was thinking of somethink like the "Ask Anna" feature of Ikea ( 193.108.42.79/ikea-us/cgi-bin/ikea-us.cgi). "Anna" is a bot. You can ask questions in natural language (preferably related to IKEA) and she'll try to answer them. Finally, just saw 'Rise of the planet of the apes' the other day were, at the begining, an ape solves the 'Lucas Tower' game (ie en.wikipedia.org/wiki/Tower_of_Hanoi) ...but maybe that's not suitable as a final project idea? The Towers of Hanoi is a bit too easy to solve. Maybe a slightly more challenging puzzle?
|
|
|
Post by stephan on Feb 22, 2012 8:44:11 GMT -5
We had a few ideas for the final project. Like others have mentioned, making a bot for a video game - given a good API to work with and maybe some example bots. Another idea was to implement an agent that analyzes opponents in a game of poker and tries to guess what actions they will take depending on the action the agent takes. Both are excellent ideas. Anticipating oppenent moves in poker is an interesting learning problem. Before you start doing it you should try to figure out where you can get the necessary data. You might need the logs of quite a lot of games someone has played to have enough data to learn from.
|
|
|
Post by gudmundurs10 on Mar 13, 2012 8:14:41 GMT -5
I just wanted to point out if people are having trouble with their bots in starcraft with regards to get units in weapon range and get units in radius it could be because BWAPI doesn't work properly (at least not for us) and I would suggest using BWSAL instead. There is some difference in the structure but otherwise the API is the same and this has functioning detection of getting units in range of radius/weapons.
|
|