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
nau@cs.umd.edu
Dana Nau, CMSC 722, Feb 2002
13
7