Sie sind auf Seite 1von 5

ITCS 6150/8150 (AI) Fall 2010

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 Robot Path Planning Project


P113, 3.7. Note: for part d, use A∗ to solve the problem. Your program should read
the environment data from a file so that it is general enough to be applied to different
environments. It should also be general enough to allow a user to input different pairs
of starting and goal positions. Your should provide a friendly user interface for your
program. The best will be a graphical interface showing the environment, the start
and goal positions of the (point) robot (which can be changed easily by a user), and
the path found. You need to report results for different tasks (i.e., different starting
and goal positions of the robot) in the same environment and for tasks in at least one
different environment.

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.

3 A Maintenance Scheduling Problem


Power system components are made to operate continuously throughout their life by
means of preventive maintenance. Maintenance of a power unit requires the power
outage of such a unit, which means some loss of the power capacity of the overall
system and thus some loss in security. The security margin is determined by the
system’s net reserve, which is defined as the total installed generating capacity of
the power system minus the power lost due to a scheduled outage and minus the
maximum load forecast during the maintenance period. Maintenance scheduling is
to find the sequence of outages of power units over a given period of time (normally
a year) such that the security margin of the power system is maximized.
Suppose a power system with a total generating capacity of 150 MW has seven
power units to be maintained in four equal intervals. The following table shows each
power unit capacity and the number of intervals required for each unit maintenance
during a year:
Unit Label 1 2 3 4 5 6 7
Capacity (MW) 20 15 35 40 15 15 10
# intervals 2 2 1 1 1 1 1
The following table shows the the maximum loads expected during each interval:
Interval 1 2 3 4
Max. loads (MW) 80 90 65 70
The (hard) constraints for this problem can be specified as follows:

• Maintenance of any unit starts at the beginning of an interval and finishes at


the end of the same or next interval. Maintenance cannot be aborted or finished
earlier than scheduled.

• 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.

5 Constraint Satisfaction Problem


Given a set of variables, their value domains, and a set of equations (or inequalities) as
constraints, solve the constraint satisfaction problem subject to an optmization func-
tion by using a local search method (i.e., either hill-climbing with random restart,
simulated annealing, or some evolutionary algorithm). This is a numerical optimiza-
tion problem. If you know of an optimization problem in an application domain of
your interest, you can propose to formulate and solve the problem as a constraint
satisfaction problem to me. I’ll decide if it is complex enough for you to do it.

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.

7 Traveling Salesperson Problem (TSP)


See P74 of the textbook for a description of the problem. First you need to write a
problem generator for instances of the TSP where cities are represented by random
points in a unit square (i.e., each point has coordinate (x, y) and x ≤ 1, y ≤ 1. Next
do the following:

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.

A graphical interface to display a problem instance/solution is preferred.

8 Search and Memory Bounded Search on TSP


P119, 3.30. Note: you are required to do the project in the TSP domain, in A∗
and in RBFS (P99). Using the minimum spanning tree (MST) heuristic (P119, 3.30).
First you need to write a problem generator for instances of the TSP where cities are
represented by random points in a unit square (i.e., each point has coordinate (x, y)
and x ≤ 1, y ≤ 1. The comparison results that you need to report should be in terms
of the search time and space. You also need to report the instances of the problem
that you used to run your algorithms. A graphical interface to display a problem
instance/solution is preferred.

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.

• Start working as soon as possible.

11 Requirements for the Final Report


On the due day, you should turn in a typed project report which includes:

• a brief introduction of the project consisting of the problem description, the


objective(s) of the project, your model, approach/method, examples for testing,
and the outline of the work performed;

• external documentation of your program;

• program source codes with necessary in-line documentation;

• explanation on how to run your program;

• 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;

• discussion on possible future improvements or extension of your 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.

Das könnte Ihnen auch gefallen