views:

181

answers:

10

I'm taking my first AI course this semester at uni and we were asked to do a project on any AI topic that we find interesting and to impliment the code in "Prolog". One example is Implementing 4 or 5 search algorithms and comparing the effeciency in different selected special cases. I just need a topic in the same level. plz HELP!

ps. A*, Sales Man, Search Akgorithms are done by other students ..

+1  A: 

What about financial market predictor?

Ngu Soon Hui
I don't recommend it. On a day-by-day basis, financial markets act very close to randomly. Testing a financial market predictor takes a lot of statistical knowledge: getting a 51% prediction rate would be stupendous, but not look like much.
Chip Uni
Yeah, I mean measured in the short term, that would be purely speculative.
Mr-sk
A: 

I really enjoyed learning, implementing and tweaking A* and its variants (manhattan distance, etc). I'm using it in a game to do path finding on a node based map, with simple weight calculations.

I'd recommend you pick something that will keep your interest so you can do a stellar job on the project!

Good luck!

Mr-sk
He mentioned that "A* is done by other students..." He might want to do something different.
Chip Uni
A: 

Prolog is really good at finding solutions to problems. Maybe you could write a solver for Sudoku, or for other common logic puzzles?

Chip Uni
+5  A: 

If Prolog is the language, I doubt that search algorithms are the best choice. To really use the powers of Prolog, you should write a knowledge engine - i.e. a program into which you insert data and it makes conclusions from that data.

SICP has a great section about this: 4.4 - Logic Programming. Their style is "lispy" since it's their own Prolog implementation, but you could easily adapt that to standard prolog. Building upon their example and extending it is a great project.

Eli Bendersky
Agreed. I had to build both a Knowledge Engine and an app that utilized A* whilst I was at uni. I chose Prolog for the KE and Java for the A*. If you have to use Prolog, go with the KE. If you have the option to build a simple Expert System then take it as it's very easy and quite a lot of fun seeing it come together. A think I made the rudimentary car-maintenance app. Ahh, Prolog, such fun was had.
stephenmurdoch
+1  A: 

Try doing a simple SHRDLU style parser and world model of some sort.

Brian Campbell
A: 

I think it really depends on what you're interested in otherwise, after a few (inevitable) hurdles, you'll give up and lose any motivation. Is there a particular area of AI that interests you? How about a system which solves games such as Sudoku? Or one that interacts with users (Chess, Checkers etc..)

keyboardP
A: 

How about implementing a Simple Genetic Algorithm (SGA)? It is well described in Goldberg's seminal work. For now, you could just implement a simple Binary Coded GA, and demonstrate its working on some simple search/optimization problems. If you want code reference, you may take a look at the Pascal source in the above book.

Mitchell's work 'Introduction to Genetic Algorithms' is also highly recommended for getting the basic ideas.

Amit
+1  A: 

How about doing something in AI planning or Robotics?

For instance you can do a project to program the Robot Arm to move certain Blocks from one configuration to the other with certian constraints..Also called the Block World Problem.

bakore
A: 

Implementing TicTacToe is a classic AI homework or my choice would be a trading bot according to financial portfolio momentum, stoploss rulebased reasoning and learning from mistakes and successes written in your preferred lagnguage.

LarsOn
A: 

Automated theorem proving would be a good bet. it is a subset of automated reasoning, a very interesting, and very cool part of AI (at least in my opinion). You could start just by proving classical propositional logic statements, this can then be used as a basis for proving higher order logic statements.

Tom