简体   繁体   中英

Suggestions for an AI project?

I'm in a class about AI right now and am required to do a project over the course of the entire semester that applies AI in some way. The professor said that it could be pretty much anything in pretty much any language. For reference, the "default" project is writing something to solve the Wumpus world, but the professor said that that would be a little bit too easy and we should try to come up with our own problem. I really don't know what to do. I'm a big chess player so I was thinking maybe simplifying the game rules a bit or writing something that would play the opening because there are really specific goals in the opening (get space, develop pieces, control the center). Any other suggestions? Thank you.

I tried to do tic-tac-toe once. That was hard enough for me.

Don't try anything having to do with natural language interpretation, OCR, or imaging.

Normally the way these questions go, I always suggest that you explore a passion you have. If one of your passions is chess, then that's an ideal domain for an AI project.

It shouldn't be terribly difficult to come up with a chess program. In fact, you could easily bootstrap things by using an existing chess codebase, and just hollow out their search algorithm and replace it with your own. While there likely be some challenges trying to figure out what the input and output from that top-level function is (based on how the original developers wrote it), it's a small price to pay to get all of the "boring" work out of the way (reading in moves, showing a board, etc.) for "free".

Chess is a great domain because it's a deterministic game with no hidden information. What you'll be learning is how to write a search algorithm for a chess AI. Since you like chess already, you understand the rules, and you can probably come up with some interesting ideas for an evaluation function (ie beyond simple material difference). You can then extend your basic alpha-beta search to include things like a search cache, Zobrist hashing, determining "interesting" lines of play, and so on.

If you want to chess, look up and learn:

  • min max problem

  • alpha and beta pruning

There are other options too of course. Like piggy backing on a well known open-source AI project. For example, learn tabu search (see wikipedia), fork Drools Planner's Traveling Tournament Problem example , run it for 10 minutes (so you get a score) and then work to improve that score of 10 minutes, by - for example - try introducing better moves . Hey, maybe you can even beat a TTP record :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM