CMSC 722: AI Planning Sample Ideas for Projects Comments
Transcription
CMSC 722: AI Planning Sample Ideas for Projects Comments
CMSC 722: AI Planning Sample Ideas for Projects Dana S. Nau Department of Computer Science University of Maryland College Park, MD 1 Dana Nau, CMSC 722, Feb 2002 Comments l On the next few pages, I give several ideas for different kinds of projects t t The ideas are rather rough; you’ll need to figure out the details Try to develop original ideas of your own, rather than using the ones here Dana Nau, CMSC 722, Feb 2002 2 1 Example Project 1 l Topic: compare algorithm X with algorithm Y l Things you might want to do t t t t E.g., compare UCPOP with STRIPS Check the literature to see if anything similar has been done Theoretical work: ÿ Expressivity: Find planning domains that one algorithm can represent/solve but the other can’t (or can’t as compactly) ÿ Worst-case complexity: figure out the size of the search space ÿ Average-case analysis: probably pretty difficult For an experimental study: ÿ Obtain or write the algorithms, and assemble a test suite ß Randomly generated problems? Problems from AIPS? ÿ Run tests ß measure time, space, number of nodes generated ß statistical analysis? ß confounding factors? 3 Dana Nau, CMSC 722, Feb 2002 Example Project 1 l Topic: compare algorithm X with algorithm Y l Things you might want to do t t t t E.g., compare UCPOP with STRIPS Check the literature to see if anything similar has been done Theoretical work: ÿ Expressivity: Find planning domains that one algorithm can represent/solve but the other can’t (or can’t as compactly) ÿ Worst-case complexity: figure out the size of the search space ÿ Average-case analysis: probably pretty difficult For an experimental study: ÿ Obtain or write the algorithms, and assemble a test suite ß Randomly generated problems? Problems from AIPS? ÿ Run tests ß measure time, space, number of nodes generated ß statistical analysis? ß confounding factors? Dana Nau, CMSC 722, Feb 2002 4 2 Example Project 2 l l Topic: create a new “test domain” or extend an existing one Things you might want to do t t t t Look at existing domains ÿ Formulate an idea for an interesting extension to one of them, or an idea for a new domain that will be different from the old ones in some interesting way Check the literature to see if anything similar has been done Do preliminary investigation (e.g., try out examples with pen and paper) to get an idea whether it will really work) Experimental study: ÿ Obtain or write an implementation of one or more algorithms ÿ Formulate the domain and test suites ÿ Run the algorithms on these test suites 5 Dana Nau, CMSC 722, Feb 2002 Example Project 3 l Topic: can AI planning be useful for X (where X is some “real world” problem)? l Things you might want to do t t t t t t t Wouldn’t want to do this unless someone on the team is an expert at X Check the literature to see if anything similar has been done Analyze real-world requirements Formalize the problem Obtain or create a planning algorithm, and download or implement it ÿ Since the main point of this project is to get something working in the problem domain, the algorithm may be specific to the domain Create a test suite (preferably randomly generated), and run the planning system on them Examine the results ÿ What worked well? What didn’t work well? Why? What didn’t you do that you would have done if there were more time? In retrospect, would some other algorithm have been better? Dana Nau, CMSC 722, Feb 2002 6 3 Example Project 4 l Topic: extend algorithm X to include feature Y t l e.g., extend POP to accomodate function symbols, or numeric computations, or access to databases Things you might want to do t t t t t t Again, check the literature Preliminary investigation (brainstorming, examples, etc.) Write an algorithm; try it out (with pen and paper), improve it What characteristics does your algorithm have? ÿ Is it sound (or complete or efficient)? ÿ If not, then is sound (or complete or efficient) if certain restrictions are met? Try out the algorithm on some problem domains ÿ (perhaps take some existing domains and extend them to accommodate the new feature) ÿ What do your experimental results show? How general is your approach? Could it be made to work for other algorithms as well? 7 Dana Nau, CMSC 722, Feb 2002 Example Project 5 l l Is it feasible (or efficient, or whatever) to express Poplan (or more generally, algorithm X) within first-order logic (or more generally, within formalism Y)? Things you might want to do t t t t t Yet again, check the literature Figure out whether it’s feasible If it is feasible, then do it, implement it, and demonstrate it on some examples ÿ How general is your approach? Could it be done for other algorithms too? If it can’t be done, then prove it can’t be done What does this say about the expressivity of Poplan and logic (or X and Y)? Dana Nau, CMSC 722, Feb 2002 8 4 Example Project 6 l l Are A*-style heuristic functions useful for algorithm X? Things you might want to do t t t t t t t Check the literature to see if anything similar has been done Come up with some problem domains for which you can define sensible heuristic functions Figure out how to modify algorithm X to make use of heuristic values Do preliminary investigation (e.g., try out examples with pen and paper) to get an idea whether it will really work) Prove results on admissibility or epsilon-admissibility, informedness, etc. Implement the algorithm Formulate a suite of problems in your example domains ÿ Randomly generated problems? ÿ Try to avoid bias in generating the suite ÿ Compare performance with and without the heuristic function ÿ Analyze the results ÿ Improve the heuristic? 9 Dana Nau, CMSC 722, Feb 2002 How to Get Ideas l Look through copies of several AI textbooks t Nilsson [1980], Luger and Stubblefield, Nilsson [1998], Russell and Norvig, others l Check the homework assignments in the chapters on planning l Look through the chapters themselves, and see what comes to mind Look at a published paper to see if you can modify an experiment in an interesting way If you have an idea and want to find out what papers might be relevant t l l t t l Sometimes they include ideas for research or programming projects Most of the textbooks have notes about this at the end of each chapter You can ask me for pointers to relevant work Get together with others and have a brainstorming session t t t Be imaginative! Put a bunch of ideas on the board without criticizing any of them Then sort through them to see which ones make sense Dana Nau, CMSC 722, Feb 2002 10 5 Possible Questions about the Project l If you succeed in carrying out your idea, will the result be interesting? t l Think about what would be needed to carry out the idea t l Interesting to you? Interesting to others? Is it too hard to accomplish in the amount of time that you have? Is it too easy to count as a “real” project? Think about how to ensure success regardless of how the result turns out t t t If the only interesting/significant result is “yes it works,” then you will be in trouble if you can’t actually get it to work. You should either (1) think enough about it to be pretty sure you canget it to work, or (2) reformulate it in such that any of the likely outcomes will be interesting as the main result of your project Dana Nau, CMSC 722, Feb 2002 11 Possible Questions about the Team l Do you have the right team for this project? t t t t l Do the team members have the right combination of abilities? Will they all contribute significantly to the project? Will they be able to work well together? Will they get along with each other? How to organize the effort? t t t Who will do what? Will each team member be able to contribute the effort needed to make the project succeed? Who will put it all together, and how? Dana Nau, CMSC 722, Feb 2002 12 6 Forming Teams l Send me an email l If you want some help finding others to team up with, say so t t t l If you already have a team, say so I’ll forward the emails to the others who need teams Things you might want to include in your email: ÿ Your email address and phone number ÿ Your interests and background ÿ What kinds of strengths you might bring to the project ÿ What kinds of people you’d like to team up with ÿ Anything else that you think might be helpful Put the following string in the “subject” line cmsc 722 team info l Use the above string exactly! l My email address is t t Otherwise my mail filters won’t file it properly [email protected] Dana Nau, CMSC 722, Feb 2002 13 7