Beruflich Dokumente
Kultur Dokumente
Jing Xiao
Class Projects
The following is a list of projects you can choose from. You may also suggest
your own project topic or variation, which should have comparable level of difficulty
as the ones listed here and should be agreed upon by both of us. You have the
option of either doing a project individually or teaming up with another student as a
two-person team. A two-person team can do a project with the label ∗∗ or a project
with equivalent level of difficulty. Students in a two-person team should turn in a
single report and receive the same grade. The work load for each student in a two-
person team should be equivalent to the work load of a student doing an individual
project. In each report of a two-person project, the division of work between the two
teammates should be clearly indicated (i.e., who did what). A project normally has
a maximum of 100 points, but depending on how well a project is done beyond the
successful completion of the basic requirements, there can be up to 20 extra bonus
points.
I expect you to decide a project no later than 10/28/10. You should let me know
your topic by then in a brief written proposal of no more than 3 pages. For a proposal
from a two-person team, the division of work between teammates should be clearly
described. Projects are due on 12/02/10. You are welcome to discuss your project
topic with me if you have any question.
1
2 Robot Navigation Project∗∗
P159, 4.11 or P160 4.13 Note: this is a project simulating on-line robot navigation
using a variation of the hill-climbing algorithm for on-line local search, called Learning
real-time A* (LRTA), to generate the robot motion. Your environment program
should read the obstacle data from a file so that it is general enough to be applied
to different settings of obstacles. You need to design a graphical display to show how
the robot agent moves as the result of on-line search.
Alternatively, you can do a project using the real-time adaptive motion planning
approach for robot navigation (see me to get references), and we can talk about that
if you are interested.
• The net reserve of the power system must be greater than or equal to zero at
any interval.
2
In addition, there is a soft constraint, that is, the net reserve must be at the
maximum during any maintenance period, which can be viewed as an optimization
criterion of this problem. Problems such as this, with both hard and soft constraints,
are called partial constraint satisfaction problems(PCSP). The traveling salesperson
problem can be considered as a PCSP. The map coloring problem, if we add an
optimization criterion to minimize the number of colors used, also becomes a PCSP.
You are to use a local search algorithm (i.e., hill-climbing with random restart, sim-
ulated annealing, or evolutionary algorithm) to solve the above maintenance schedul-
ing problem. You need to make sure that your program is general enough to deal
with M power units and N < M maintenance intervals, with their information (such
as that in the tables) as input to the program. You need to report the result for the
specific example given above. In addition, you need to report how you formulate the
problem, the algorithm you use, and the operator(s) and heuristics you use to make
a move (i.e., to change a state).
You may get bonus points if you successfully apply your program to extended,
more difficult problem instances with M > 7 power units and N < M maintenance
intervals and report results.
4 Map Coloring
P203 Note that you are to apply both forward checking with MRV and Min-Conflicts
local search algorithms to solve the n-region, at most 4 color, map coloring problem.
You need to construct the performance table comparing the two algorithms for the
largest n’s you can manage. Discuss the results.
6 Game Playing∗∗
Implement a general game-playing agent for two-player deterministic games, using
either (1) minimax with alpha-beta pruning, or (2) minimax-cutoff (i.e., with cutoff
test to replace terminal test and with evaluation function to replace utility function)
with alpha-beta pruning. Apply it to the planar 3 × 3 Tic-Tac-Toe game first (see
P197, 5.9) and extend it to the planar n × n (n > 3 and n is odd) Tic-Tac-Toe game.
3
You need to have a friendly graphical user interface to allow a human user to play the
game with your algorithm. Alternatively, you may choose to apply your game-playing
agent to a different two-player game or multi-player game (e.g., P198, 5.11), provided
that we can both agree upon it in advance.
1. Formulate the problem so that you can apply the A∗ algorithm to solve it. Use
the minimum spanning tree (MST) heuristic (P119,3.30).
2. Devise a hill-climbing approach to solve the TSPs. Compare results with the
optimal solutions obtained via the A∗ algorithm in 1.
9 Learning**
Real-time robot navigation based on learning to avoid obstacles and to reach a goal.
You’ll need to read ahead the related learning methods in the textbook. Your envi-
ronment program should read the obstacle data from a file so that it is general enough
to be applied to different settings of obstacles. You need to design a graphical display
to show how the robot agent moves as the result of on-line search. You may receive
extra bonus points.
4
10 General Suggestions
• Pick a project most interesting to you (or design a project yourself – see the
beginning of this document). To start, you should read or review the most
closely related material in the textbook.
• Once you have decided a topic, tell me in writing with an outline about your
approach towards the project and your plan (with time schedule) on how to
finish it.
• a batch file showing the execution of the program with example input and the
corresponding outputs (which could be in snapshots of a graphical display) –
note that some projects have more specific requirements on the examples;
• other results (some maybe in charts or tables) and related discussion as required
by the project;
In addition, you should turn in the executable of your program, which is ready
to run, as well as examples that can be used for testing, by e-mail to the TA and
Jonathan Annas (jdannas@uncc.edu) in a zip file via your UNC-Charlotte e-mail
account.
12 Project Demos
We will have a project demo time for you to demonstrate your finished project to the
class. I hope everyone will enjoy that.